MIMXRT1176_cm4.h 5.1 MB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155161561615716158161591616016161161621616316164161651616616167161681616916170161711617216173161741617516176161771617816179161801618116182161831618416185161861618716188161891619016191161921619316194161951619616197161981619916200162011620216203162041620516206162071620816209162101621116212162131621416215162161621716218162191622016221162221622316224162251622616227162281622916230162311623216233162341623516236162371623816239162401624116242162431624416245162461624716248162491625016251162521625316254162551625616257162581625916260162611626216263162641626516266162671626816269162701627116272162731627416275162761627716278162791628016281162821628316284162851628616287162881628916290162911629216293162941629516296162971629816299163001630116302163031630416305163061630716308163091631016311163121631316314163151631616317163181631916320163211632216323163241632516326163271632816329163301633116332163331633416335163361633716338163391634016341163421634316344163451634616347163481634916350163511635216353163541635516356163571635816359163601636116362163631636416365163661636716368163691637016371163721637316374163751637616377163781637916380163811638216383163841638516386163871638816389163901639116392163931639416395163961639716398163991640016401164021640316404164051640616407164081640916410164111641216413164141641516416164171641816419164201642116422164231642416425164261642716428164291643016431164321643316434164351643616437164381643916440164411644216443164441644516446164471644816449164501645116452164531645416455164561645716458164591646016461164621646316464164651646616467164681646916470164711647216473164741647516476164771647816479164801648116482164831648416485164861648716488164891649016491164921649316494164951649616497164981649916500165011650216503165041650516506165071650816509165101651116512165131651416515165161651716518165191652016521165221652316524165251652616527165281652916530165311653216533165341653516536165371653816539165401654116542165431654416545165461654716548165491655016551165521655316554165551655616557165581655916560165611656216563165641656516566165671656816569165701657116572165731657416575165761657716578165791658016581165821658316584165851658616587165881658916590165911659216593165941659516596165971659816599166001660116602166031660416605166061660716608166091661016611166121661316614166151661616617166181661916620166211662216623166241662516626166271662816629166301663116632166331663416635166361663716638166391664016641166421664316644166451664616647166481664916650166511665216653166541665516656166571665816659166601666116662166631666416665166661666716668166691667016671166721667316674166751667616677166781667916680166811668216683166841668516686166871668816689166901669116692166931669416695166961669716698166991670016701167021670316704167051670616707167081670916710167111671216713167141671516716167171671816719167201672116722167231672416725167261672716728167291673016731167321673316734167351673616737167381673916740167411674216743167441674516746167471674816749167501675116752167531675416755167561675716758167591676016761167621676316764167651676616767167681676916770167711677216773167741677516776167771677816779167801678116782167831678416785167861678716788167891679016791167921679316794167951679616797167981679916800168011680216803168041680516806168071680816809168101681116812168131681416815168161681716818168191682016821168221682316824168251682616827168281682916830168311683216833168341683516836168371683816839168401684116842168431684416845168461684716848168491685016851168521685316854168551685616857168581685916860168611686216863168641686516866168671686816869168701687116872168731687416875168761687716878168791688016881168821688316884168851688616887168881688916890168911689216893168941689516896168971689816899169001690116902169031690416905169061690716908169091691016911169121691316914169151691616917169181691916920169211692216923169241692516926169271692816929169301693116932169331693416935169361693716938169391694016941169421694316944169451694616947169481694916950169511695216953169541695516956169571695816959169601696116962169631696416965169661696716968169691697016971169721697316974169751697616977169781697916980169811698216983169841698516986169871698816989169901699116992169931699416995169961699716998169991700017001170021700317004170051700617007170081700917010170111701217013170141701517016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817079170801708117082170831708417085170861708717088170891709017091170921709317094170951709617097170981709917100171011710217103171041710517106171071710817109171101711117112171131711417115171161711717118171191712017121171221712317124171251712617127171281712917130171311713217133171341713517136171371713817139171401714117142171431714417145171461714717148171491715017151171521715317154171551715617157171581715917160171611716217163171641716517166171671716817169171701717117172171731717417175171761717717178171791718017181171821718317184171851718617187171881718917190171911719217193171941719517196171971719817199172001720117202172031720417205172061720717208172091721017211172121721317214172151721617217172181721917220172211722217223172241722517226172271722817229172301723117232172331723417235172361723717238172391724017241172421724317244172451724617247172481724917250172511725217253172541725517256172571725817259172601726117262172631726417265172661726717268172691727017271172721727317274172751727617277172781727917280172811728217283172841728517286172871728817289172901729117292172931729417295172961729717298172991730017301173021730317304173051730617307173081730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717328173291733017331173321733317334173351733617337173381733917340173411734217343173441734517346173471734817349173501735117352173531735417355173561735717358173591736017361173621736317364173651736617367173681736917370173711737217373173741737517376173771737817379173801738117382173831738417385173861738717388173891739017391173921739317394173951739617397173981739917400174011740217403174041740517406174071740817409174101741117412174131741417415174161741717418174191742017421174221742317424174251742617427174281742917430174311743217433174341743517436174371743817439174401744117442174431744417445174461744717448174491745017451174521745317454174551745617457174581745917460174611746217463174641746517466174671746817469174701747117472174731747417475174761747717478174791748017481174821748317484174851748617487174881748917490174911749217493174941749517496174971749817499175001750117502175031750417505175061750717508175091751017511175121751317514175151751617517175181751917520175211752217523175241752517526175271752817529175301753117532175331753417535175361753717538175391754017541175421754317544175451754617547175481754917550175511755217553175541755517556175571755817559175601756117562175631756417565175661756717568175691757017571175721757317574175751757617577175781757917580175811758217583175841758517586175871758817589175901759117592175931759417595175961759717598175991760017601176021760317604176051760617607176081760917610176111761217613176141761517616176171761817619176201762117622176231762417625176261762717628176291763017631176321763317634176351763617637176381763917640176411764217643176441764517646176471764817649176501765117652176531765417655176561765717658176591766017661176621766317664176651766617667176681766917670176711767217673176741767517676176771767817679176801768117682176831768417685176861768717688176891769017691176921769317694176951769617697176981769917700177011770217703177041770517706177071770817709177101771117712177131771417715177161771717718177191772017721177221772317724177251772617727177281772917730177311773217733177341773517736177371773817739177401774117742177431774417745177461774717748177491775017751177521775317754177551775617757177581775917760177611776217763177641776517766177671776817769177701777117772177731777417775177761777717778177791778017781177821778317784177851778617787177881778917790177911779217793177941779517796177971779817799178001780117802178031780417805178061780717808178091781017811178121781317814178151781617817178181781917820178211782217823178241782517826178271782817829178301783117832178331783417835178361783717838178391784017841178421784317844178451784617847178481784917850178511785217853178541785517856178571785817859178601786117862178631786417865178661786717868178691787017871178721787317874178751787617877178781787917880178811788217883178841788517886178871788817889178901789117892178931789417895178961789717898178991790017901179021790317904179051790617907179081790917910179111791217913179141791517916179171791817919179201792117922179231792417925179261792717928179291793017931179321793317934179351793617937179381793917940179411794217943179441794517946179471794817949179501795117952179531795417955179561795717958179591796017961179621796317964179651796617967179681796917970179711797217973179741797517976179771797817979179801798117982179831798417985179861798717988179891799017991179921799317994179951799617997179981799918000180011800218003180041800518006180071800818009180101801118012180131801418015180161801718018180191802018021180221802318024180251802618027180281802918030180311803218033180341803518036180371803818039180401804118042180431804418045180461804718048180491805018051180521805318054180551805618057180581805918060180611806218063180641806518066180671806818069180701807118072180731807418075180761807718078180791808018081180821808318084180851808618087180881808918090180911809218093180941809518096180971809818099181001810118102181031810418105181061810718108181091811018111181121811318114181151811618117181181811918120181211812218123181241812518126181271812818129181301813118132181331813418135181361813718138181391814018141181421814318144181451814618147181481814918150181511815218153181541815518156181571815818159181601816118162181631816418165181661816718168181691817018171181721817318174181751817618177181781817918180181811818218183181841818518186181871818818189181901819118192181931819418195181961819718198181991820018201182021820318204182051820618207182081820918210182111821218213182141821518216182171821818219182201822118222182231822418225182261822718228182291823018231182321823318234182351823618237182381823918240182411824218243182441824518246182471824818249182501825118252182531825418255182561825718258182591826018261182621826318264182651826618267182681826918270182711827218273182741827518276182771827818279182801828118282182831828418285182861828718288182891829018291182921829318294182951829618297182981829918300183011830218303183041830518306183071830818309183101831118312183131831418315183161831718318183191832018321183221832318324183251832618327183281832918330183311833218333183341833518336183371833818339183401834118342183431834418345183461834718348183491835018351183521835318354183551835618357183581835918360183611836218363183641836518366183671836818369183701837118372183731837418375183761837718378183791838018381183821838318384183851838618387183881838918390183911839218393183941839518396183971839818399184001840118402184031840418405184061840718408184091841018411184121841318414184151841618417184181841918420184211842218423184241842518426184271842818429184301843118432184331843418435184361843718438184391844018441184421844318444184451844618447184481844918450184511845218453184541845518456184571845818459184601846118462184631846418465184661846718468184691847018471184721847318474184751847618477184781847918480184811848218483184841848518486184871848818489184901849118492184931849418495184961849718498184991850018501185021850318504185051850618507185081850918510185111851218513185141851518516185171851818519185201852118522185231852418525185261852718528185291853018531185321853318534185351853618537185381853918540185411854218543185441854518546185471854818549185501855118552185531855418555185561855718558185591856018561185621856318564185651856618567185681856918570185711857218573185741857518576185771857818579185801858118582185831858418585185861858718588185891859018591185921859318594185951859618597185981859918600186011860218603186041860518606186071860818609186101861118612186131861418615186161861718618186191862018621186221862318624186251862618627186281862918630186311863218633186341863518636186371863818639186401864118642186431864418645186461864718648186491865018651186521865318654186551865618657186581865918660186611866218663186641866518666186671866818669186701867118672186731867418675186761867718678186791868018681186821868318684186851868618687186881868918690186911869218693186941869518696186971869818699187001870118702187031870418705187061870718708187091871018711187121871318714187151871618717187181871918720187211872218723187241872518726187271872818729187301873118732187331873418735187361873718738187391874018741187421874318744187451874618747187481874918750187511875218753187541875518756187571875818759187601876118762187631876418765187661876718768187691877018771187721877318774187751877618777187781877918780187811878218783187841878518786187871878818789187901879118792187931879418795187961879718798187991880018801188021880318804188051880618807188081880918810188111881218813188141881518816188171881818819188201882118822188231882418825188261882718828188291883018831188321883318834188351883618837188381883918840188411884218843188441884518846188471884818849188501885118852188531885418855188561885718858188591886018861188621886318864188651886618867188681886918870188711887218873188741887518876188771887818879188801888118882188831888418885188861888718888188891889018891188921889318894188951889618897188981889918900189011890218903189041890518906189071890818909189101891118912189131891418915189161891718918189191892018921189221892318924189251892618927189281892918930189311893218933189341893518936189371893818939189401894118942189431894418945189461894718948189491895018951189521895318954189551895618957189581895918960189611896218963189641896518966189671896818969189701897118972189731897418975189761897718978189791898018981189821898318984189851898618987189881898918990189911899218993189941899518996189971899818999190001900119002190031900419005190061900719008190091901019011190121901319014190151901619017190181901919020190211902219023190241902519026190271902819029190301903119032190331903419035190361903719038190391904019041190421904319044190451904619047190481904919050190511905219053190541905519056190571905819059190601906119062190631906419065190661906719068190691907019071190721907319074190751907619077190781907919080190811908219083190841908519086190871908819089190901909119092190931909419095190961909719098190991910019101191021910319104191051910619107191081910919110191111911219113191141911519116191171911819119191201912119122191231912419125191261912719128191291913019131191321913319134191351913619137191381913919140191411914219143191441914519146191471914819149191501915119152191531915419155191561915719158191591916019161191621916319164191651916619167191681916919170191711917219173191741917519176191771917819179191801918119182191831918419185191861918719188191891919019191191921919319194191951919619197191981919919200192011920219203192041920519206192071920819209192101921119212192131921419215192161921719218192191922019221192221922319224192251922619227192281922919230192311923219233192341923519236192371923819239192401924119242192431924419245192461924719248192491925019251192521925319254192551925619257192581925919260192611926219263192641926519266192671926819269192701927119272192731927419275192761927719278192791928019281192821928319284192851928619287192881928919290192911929219293192941929519296192971929819299193001930119302193031930419305193061930719308193091931019311193121931319314193151931619317193181931919320193211932219323193241932519326193271932819329193301933119332193331933419335193361933719338193391934019341193421934319344193451934619347193481934919350193511935219353193541935519356193571935819359193601936119362193631936419365193661936719368193691937019371193721937319374193751937619377193781937919380193811938219383193841938519386193871938819389193901939119392193931939419395193961939719398193991940019401194021940319404194051940619407194081940919410194111941219413194141941519416194171941819419194201942119422194231942419425194261942719428194291943019431194321943319434194351943619437194381943919440194411944219443194441944519446194471944819449194501945119452194531945419455194561945719458194591946019461194621946319464194651946619467194681946919470194711947219473194741947519476194771947819479194801948119482194831948419485194861948719488194891949019491194921949319494194951949619497194981949919500195011950219503195041950519506195071950819509195101951119512195131951419515195161951719518195191952019521195221952319524195251952619527195281952919530195311953219533195341953519536195371953819539195401954119542195431954419545195461954719548195491955019551195521955319554195551955619557195581955919560195611956219563195641956519566195671956819569195701957119572195731957419575195761957719578195791958019581195821958319584195851958619587195881958919590195911959219593195941959519596195971959819599196001960119602196031960419605196061960719608196091961019611196121961319614196151961619617196181961919620196211962219623196241962519626196271962819629196301963119632196331963419635196361963719638196391964019641196421964319644196451964619647196481964919650196511965219653196541965519656196571965819659196601966119662196631966419665196661966719668196691967019671196721967319674196751967619677196781967919680196811968219683196841968519686196871968819689196901969119692196931969419695196961969719698196991970019701197021970319704197051970619707197081970919710197111971219713197141971519716197171971819719197201972119722197231972419725197261972719728197291973019731197321973319734197351973619737197381973919740197411974219743197441974519746197471974819749197501975119752197531975419755197561975719758197591976019761197621976319764197651976619767197681976919770197711977219773197741977519776197771977819779197801978119782197831978419785197861978719788197891979019791197921979319794197951979619797197981979919800198011980219803198041980519806198071980819809198101981119812198131981419815198161981719818198191982019821198221982319824198251982619827198281982919830198311983219833198341983519836198371983819839198401984119842198431984419845198461984719848198491985019851198521985319854198551985619857198581985919860198611986219863198641986519866198671986819869198701987119872198731987419875198761987719878198791988019881198821988319884198851988619887198881988919890198911989219893198941989519896198971989819899199001990119902199031990419905199061990719908199091991019911199121991319914199151991619917199181991919920199211992219923199241992519926199271992819929199301993119932199331993419935199361993719938199391994019941199421994319944199451994619947199481994919950199511995219953199541995519956199571995819959199601996119962199631996419965199661996719968199691997019971199721997319974199751997619977199781997919980199811998219983199841998519986199871998819989199901999119992199931999419995199961999719998199992000020001200022000320004200052000620007200082000920010200112001220013200142001520016200172001820019200202002120022200232002420025200262002720028200292003020031200322003320034200352003620037200382003920040200412004220043200442004520046200472004820049200502005120052200532005420055200562005720058200592006020061200622006320064200652006620067200682006920070200712007220073200742007520076200772007820079200802008120082200832008420085200862008720088200892009020091200922009320094200952009620097200982009920100201012010220103201042010520106201072010820109201102011120112201132011420115201162011720118201192012020121201222012320124201252012620127201282012920130201312013220133201342013520136201372013820139201402014120142201432014420145201462014720148201492015020151201522015320154201552015620157201582015920160201612016220163201642016520166201672016820169201702017120172201732017420175201762017720178201792018020181201822018320184201852018620187201882018920190201912019220193201942019520196201972019820199202002020120202202032020420205202062020720208202092021020211202122021320214202152021620217202182021920220202212022220223202242022520226202272022820229202302023120232202332023420235202362023720238202392024020241202422024320244202452024620247202482024920250202512025220253202542025520256202572025820259202602026120262202632026420265202662026720268202692027020271202722027320274202752027620277202782027920280202812028220283202842028520286202872028820289202902029120292202932029420295202962029720298202992030020301203022030320304203052030620307203082030920310203112031220313203142031520316203172031820319203202032120322203232032420325203262032720328203292033020331203322033320334203352033620337203382033920340203412034220343203442034520346203472034820349203502035120352203532035420355203562035720358203592036020361203622036320364203652036620367203682036920370203712037220373203742037520376203772037820379203802038120382203832038420385203862038720388203892039020391203922039320394203952039620397203982039920400204012040220403204042040520406204072040820409204102041120412204132041420415204162041720418204192042020421204222042320424204252042620427204282042920430204312043220433204342043520436204372043820439204402044120442204432044420445204462044720448204492045020451204522045320454204552045620457204582045920460204612046220463204642046520466204672046820469204702047120472204732047420475204762047720478204792048020481204822048320484204852048620487204882048920490204912049220493204942049520496204972049820499205002050120502205032050420505205062050720508205092051020511205122051320514205152051620517205182051920520205212052220523205242052520526205272052820529205302053120532205332053420535205362053720538205392054020541205422054320544205452054620547205482054920550205512055220553205542055520556205572055820559205602056120562205632056420565205662056720568205692057020571205722057320574205752057620577205782057920580205812058220583205842058520586205872058820589205902059120592205932059420595205962059720598205992060020601206022060320604206052060620607206082060920610206112061220613206142061520616206172061820619206202062120622206232062420625206262062720628206292063020631206322063320634206352063620637206382063920640206412064220643206442064520646206472064820649206502065120652206532065420655206562065720658206592066020661206622066320664206652066620667206682066920670206712067220673206742067520676206772067820679206802068120682206832068420685206862068720688206892069020691206922069320694206952069620697206982069920700207012070220703207042070520706207072070820709207102071120712207132071420715207162071720718207192072020721207222072320724207252072620727207282072920730207312073220733207342073520736207372073820739207402074120742207432074420745207462074720748207492075020751207522075320754207552075620757207582075920760207612076220763207642076520766207672076820769207702077120772207732077420775207762077720778207792078020781207822078320784207852078620787207882078920790207912079220793207942079520796207972079820799208002080120802208032080420805208062080720808208092081020811208122081320814208152081620817208182081920820208212082220823208242082520826208272082820829208302083120832208332083420835208362083720838208392084020841208422084320844208452084620847208482084920850208512085220853208542085520856208572085820859208602086120862208632086420865208662086720868208692087020871208722087320874208752087620877208782087920880208812088220883208842088520886208872088820889208902089120892208932089420895208962089720898208992090020901209022090320904209052090620907209082090920910209112091220913209142091520916209172091820919209202092120922209232092420925209262092720928209292093020931209322093320934209352093620937209382093920940209412094220943209442094520946209472094820949209502095120952209532095420955209562095720958209592096020961209622096320964209652096620967209682096920970209712097220973209742097520976209772097820979209802098120982209832098420985209862098720988209892099020991209922099320994209952099620997209982099921000210012100221003210042100521006210072100821009210102101121012210132101421015210162101721018210192102021021210222102321024210252102621027210282102921030210312103221033210342103521036210372103821039210402104121042210432104421045210462104721048210492105021051210522105321054210552105621057210582105921060210612106221063210642106521066210672106821069210702107121072210732107421075210762107721078210792108021081210822108321084210852108621087210882108921090210912109221093210942109521096210972109821099211002110121102211032110421105211062110721108211092111021111211122111321114211152111621117211182111921120211212112221123211242112521126211272112821129211302113121132211332113421135211362113721138211392114021141211422114321144211452114621147211482114921150211512115221153211542115521156211572115821159211602116121162211632116421165211662116721168211692117021171211722117321174211752117621177211782117921180211812118221183211842118521186211872118821189211902119121192211932119421195211962119721198211992120021201212022120321204212052120621207212082120921210212112121221213212142121521216212172121821219212202122121222212232122421225212262122721228212292123021231212322123321234212352123621237212382123921240212412124221243212442124521246212472124821249212502125121252212532125421255212562125721258212592126021261212622126321264212652126621267212682126921270212712127221273212742127521276212772127821279212802128121282212832128421285212862128721288212892129021291212922129321294212952129621297212982129921300213012130221303213042130521306213072130821309213102131121312213132131421315213162131721318213192132021321213222132321324213252132621327213282132921330213312133221333213342133521336213372133821339213402134121342213432134421345213462134721348213492135021351213522135321354213552135621357213582135921360213612136221363213642136521366213672136821369213702137121372213732137421375213762137721378213792138021381213822138321384213852138621387213882138921390213912139221393213942139521396213972139821399214002140121402214032140421405214062140721408214092141021411214122141321414214152141621417214182141921420214212142221423214242142521426214272142821429214302143121432214332143421435214362143721438214392144021441214422144321444214452144621447214482144921450214512145221453214542145521456214572145821459214602146121462214632146421465214662146721468214692147021471214722147321474214752147621477214782147921480214812148221483214842148521486214872148821489214902149121492214932149421495214962149721498214992150021501215022150321504215052150621507215082150921510215112151221513215142151521516215172151821519215202152121522215232152421525215262152721528215292153021531215322153321534215352153621537215382153921540215412154221543215442154521546215472154821549215502155121552215532155421555215562155721558215592156021561215622156321564215652156621567215682156921570215712157221573215742157521576215772157821579215802158121582215832158421585215862158721588215892159021591215922159321594215952159621597215982159921600216012160221603216042160521606216072160821609216102161121612216132161421615216162161721618216192162021621216222162321624216252162621627216282162921630216312163221633216342163521636216372163821639216402164121642216432164421645216462164721648216492165021651216522165321654216552165621657216582165921660216612166221663216642166521666216672166821669216702167121672216732167421675216762167721678216792168021681216822168321684216852168621687216882168921690216912169221693216942169521696216972169821699217002170121702217032170421705217062170721708217092171021711217122171321714217152171621717217182171921720217212172221723217242172521726217272172821729217302173121732217332173421735217362173721738217392174021741217422174321744217452174621747217482174921750217512175221753217542175521756217572175821759217602176121762217632176421765217662176721768217692177021771217722177321774217752177621777217782177921780217812178221783217842178521786217872178821789217902179121792217932179421795217962179721798217992180021801218022180321804218052180621807218082180921810218112181221813218142181521816218172181821819218202182121822218232182421825218262182721828218292183021831218322183321834218352183621837218382183921840218412184221843218442184521846218472184821849218502185121852218532185421855218562185721858218592186021861218622186321864218652186621867218682186921870218712187221873218742187521876218772187821879218802188121882218832188421885218862188721888218892189021891218922189321894218952189621897218982189921900219012190221903219042190521906219072190821909219102191121912219132191421915219162191721918219192192021921219222192321924219252192621927219282192921930219312193221933219342193521936219372193821939219402194121942219432194421945219462194721948219492195021951219522195321954219552195621957219582195921960219612196221963219642196521966219672196821969219702197121972219732197421975219762197721978219792198021981219822198321984219852198621987219882198921990219912199221993219942199521996219972199821999220002200122002220032200422005220062200722008220092201022011220122201322014220152201622017220182201922020220212202222023220242202522026220272202822029220302203122032220332203422035220362203722038220392204022041220422204322044220452204622047220482204922050220512205222053220542205522056220572205822059220602206122062220632206422065220662206722068220692207022071220722207322074220752207622077220782207922080220812208222083220842208522086220872208822089220902209122092220932209422095220962209722098220992210022101221022210322104221052210622107221082210922110221112211222113221142211522116221172211822119221202212122122221232212422125221262212722128221292213022131221322213322134221352213622137221382213922140221412214222143221442214522146221472214822149221502215122152221532215422155221562215722158221592216022161221622216322164221652216622167221682216922170221712217222173221742217522176221772217822179221802218122182221832218422185221862218722188221892219022191221922219322194221952219622197221982219922200222012220222203222042220522206222072220822209222102221122212222132221422215222162221722218222192222022221222222222322224222252222622227222282222922230222312223222233222342223522236222372223822239222402224122242222432224422245222462224722248222492225022251222522225322254222552225622257222582225922260222612226222263222642226522266222672226822269222702227122272222732227422275222762227722278222792228022281222822228322284222852228622287222882228922290222912229222293222942229522296222972229822299223002230122302223032230422305223062230722308223092231022311223122231322314223152231622317223182231922320223212232222323223242232522326223272232822329223302233122332223332233422335223362233722338223392234022341223422234322344223452234622347223482234922350223512235222353223542235522356223572235822359223602236122362223632236422365223662236722368223692237022371223722237322374223752237622377223782237922380223812238222383223842238522386223872238822389223902239122392223932239422395223962239722398223992240022401224022240322404224052240622407224082240922410224112241222413224142241522416224172241822419224202242122422224232242422425224262242722428224292243022431224322243322434224352243622437224382243922440224412244222443224442244522446224472244822449224502245122452224532245422455224562245722458224592246022461224622246322464224652246622467224682246922470224712247222473224742247522476224772247822479224802248122482224832248422485224862248722488224892249022491224922249322494224952249622497224982249922500225012250222503225042250522506225072250822509225102251122512225132251422515225162251722518225192252022521225222252322524225252252622527225282252922530225312253222533225342253522536225372253822539225402254122542225432254422545225462254722548225492255022551225522255322554225552255622557225582255922560225612256222563225642256522566225672256822569225702257122572225732257422575225762257722578225792258022581225822258322584225852258622587225882258922590225912259222593225942259522596225972259822599226002260122602226032260422605226062260722608226092261022611226122261322614226152261622617226182261922620226212262222623226242262522626226272262822629226302263122632226332263422635226362263722638226392264022641226422264322644226452264622647226482264922650226512265222653226542265522656226572265822659226602266122662226632266422665226662266722668226692267022671226722267322674226752267622677226782267922680226812268222683226842268522686226872268822689226902269122692226932269422695226962269722698226992270022701227022270322704227052270622707227082270922710227112271222713227142271522716227172271822719227202272122722227232272422725227262272722728227292273022731227322273322734227352273622737227382273922740227412274222743227442274522746227472274822749227502275122752227532275422755227562275722758227592276022761227622276322764227652276622767227682276922770227712277222773227742277522776227772277822779227802278122782227832278422785227862278722788227892279022791227922279322794227952279622797227982279922800228012280222803228042280522806228072280822809228102281122812228132281422815228162281722818228192282022821228222282322824228252282622827228282282922830228312283222833228342283522836228372283822839228402284122842228432284422845228462284722848228492285022851228522285322854228552285622857228582285922860228612286222863228642286522866228672286822869228702287122872228732287422875228762287722878228792288022881228822288322884228852288622887228882288922890228912289222893228942289522896228972289822899229002290122902229032290422905229062290722908229092291022911229122291322914229152291622917229182291922920229212292222923229242292522926229272292822929229302293122932229332293422935229362293722938229392294022941229422294322944229452294622947229482294922950229512295222953229542295522956229572295822959229602296122962229632296422965229662296722968229692297022971229722297322974229752297622977229782297922980229812298222983229842298522986229872298822989229902299122992229932299422995229962299722998229992300023001230022300323004230052300623007230082300923010230112301223013230142301523016230172301823019230202302123022230232302423025230262302723028230292303023031230322303323034230352303623037230382303923040230412304223043230442304523046230472304823049230502305123052230532305423055230562305723058230592306023061230622306323064230652306623067230682306923070230712307223073230742307523076230772307823079230802308123082230832308423085230862308723088230892309023091230922309323094230952309623097230982309923100231012310223103231042310523106231072310823109231102311123112231132311423115231162311723118231192312023121231222312323124231252312623127231282312923130231312313223133231342313523136231372313823139231402314123142231432314423145231462314723148231492315023151231522315323154231552315623157231582315923160231612316223163231642316523166231672316823169231702317123172231732317423175231762317723178231792318023181231822318323184231852318623187231882318923190231912319223193231942319523196231972319823199232002320123202232032320423205232062320723208232092321023211232122321323214232152321623217232182321923220232212322223223232242322523226232272322823229232302323123232232332323423235232362323723238232392324023241232422324323244232452324623247232482324923250232512325223253232542325523256232572325823259232602326123262232632326423265232662326723268232692327023271232722327323274232752327623277232782327923280232812328223283232842328523286232872328823289232902329123292232932329423295232962329723298232992330023301233022330323304233052330623307233082330923310233112331223313233142331523316233172331823319233202332123322233232332423325233262332723328233292333023331233322333323334233352333623337233382333923340233412334223343233442334523346233472334823349233502335123352233532335423355233562335723358233592336023361233622336323364233652336623367233682336923370233712337223373233742337523376233772337823379233802338123382233832338423385233862338723388233892339023391233922339323394233952339623397233982339923400234012340223403234042340523406234072340823409234102341123412234132341423415234162341723418234192342023421234222342323424234252342623427234282342923430234312343223433234342343523436234372343823439234402344123442234432344423445234462344723448234492345023451234522345323454234552345623457234582345923460234612346223463234642346523466234672346823469234702347123472234732347423475234762347723478234792348023481234822348323484234852348623487234882348923490234912349223493234942349523496234972349823499235002350123502235032350423505235062350723508235092351023511235122351323514235152351623517235182351923520235212352223523235242352523526235272352823529235302353123532235332353423535235362353723538235392354023541235422354323544235452354623547235482354923550235512355223553235542355523556235572355823559235602356123562235632356423565235662356723568235692357023571235722357323574235752357623577235782357923580235812358223583235842358523586235872358823589235902359123592235932359423595235962359723598235992360023601236022360323604236052360623607236082360923610236112361223613236142361523616236172361823619236202362123622236232362423625236262362723628236292363023631236322363323634236352363623637236382363923640236412364223643236442364523646236472364823649236502365123652236532365423655236562365723658236592366023661236622366323664236652366623667236682366923670236712367223673236742367523676236772367823679236802368123682236832368423685236862368723688236892369023691236922369323694236952369623697236982369923700237012370223703237042370523706237072370823709237102371123712237132371423715237162371723718237192372023721237222372323724237252372623727237282372923730237312373223733237342373523736237372373823739237402374123742237432374423745237462374723748237492375023751237522375323754237552375623757237582375923760237612376223763237642376523766237672376823769237702377123772237732377423775237762377723778237792378023781237822378323784237852378623787237882378923790237912379223793237942379523796237972379823799238002380123802238032380423805238062380723808238092381023811238122381323814238152381623817238182381923820238212382223823238242382523826238272382823829238302383123832238332383423835238362383723838238392384023841238422384323844238452384623847238482384923850238512385223853238542385523856238572385823859238602386123862238632386423865238662386723868238692387023871238722387323874238752387623877238782387923880238812388223883238842388523886238872388823889238902389123892238932389423895238962389723898238992390023901239022390323904239052390623907239082390923910239112391223913239142391523916239172391823919239202392123922239232392423925239262392723928239292393023931239322393323934239352393623937239382393923940239412394223943239442394523946239472394823949239502395123952239532395423955239562395723958239592396023961239622396323964239652396623967239682396923970239712397223973239742397523976239772397823979239802398123982239832398423985239862398723988239892399023991239922399323994239952399623997239982399924000240012400224003240042400524006240072400824009240102401124012240132401424015240162401724018240192402024021240222402324024240252402624027240282402924030240312403224033240342403524036240372403824039240402404124042240432404424045240462404724048240492405024051240522405324054240552405624057240582405924060240612406224063240642406524066240672406824069240702407124072240732407424075240762407724078240792408024081240822408324084240852408624087240882408924090240912409224093240942409524096240972409824099241002410124102241032410424105241062410724108241092411024111241122411324114241152411624117241182411924120241212412224123241242412524126241272412824129241302413124132241332413424135241362413724138241392414024141241422414324144241452414624147241482414924150241512415224153241542415524156241572415824159241602416124162241632416424165241662416724168241692417024171241722417324174241752417624177241782417924180241812418224183241842418524186241872418824189241902419124192241932419424195241962419724198241992420024201242022420324204242052420624207242082420924210242112421224213242142421524216242172421824219242202422124222242232422424225242262422724228242292423024231242322423324234242352423624237242382423924240242412424224243242442424524246242472424824249242502425124252242532425424255242562425724258242592426024261242622426324264242652426624267242682426924270242712427224273242742427524276242772427824279242802428124282242832428424285242862428724288242892429024291242922429324294242952429624297242982429924300243012430224303243042430524306243072430824309243102431124312243132431424315243162431724318243192432024321243222432324324243252432624327243282432924330243312433224333243342433524336243372433824339243402434124342243432434424345243462434724348243492435024351243522435324354243552435624357243582435924360243612436224363243642436524366243672436824369243702437124372243732437424375243762437724378243792438024381243822438324384243852438624387243882438924390243912439224393243942439524396243972439824399244002440124402244032440424405244062440724408244092441024411244122441324414244152441624417244182441924420244212442224423244242442524426244272442824429244302443124432244332443424435244362443724438244392444024441244422444324444244452444624447244482444924450244512445224453244542445524456244572445824459244602446124462244632446424465244662446724468244692447024471244722447324474244752447624477244782447924480244812448224483244842448524486244872448824489244902449124492244932449424495244962449724498244992450024501245022450324504245052450624507245082450924510245112451224513245142451524516245172451824519245202452124522245232452424525245262452724528245292453024531245322453324534245352453624537245382453924540245412454224543245442454524546245472454824549245502455124552245532455424555245562455724558245592456024561245622456324564245652456624567245682456924570245712457224573245742457524576245772457824579245802458124582245832458424585245862458724588245892459024591245922459324594245952459624597245982459924600246012460224603246042460524606246072460824609246102461124612246132461424615246162461724618246192462024621246222462324624246252462624627246282462924630246312463224633246342463524636246372463824639246402464124642246432464424645246462464724648246492465024651246522465324654246552465624657246582465924660246612466224663246642466524666246672466824669246702467124672246732467424675246762467724678246792468024681246822468324684246852468624687246882468924690246912469224693246942469524696246972469824699247002470124702247032470424705247062470724708247092471024711247122471324714247152471624717247182471924720247212472224723247242472524726247272472824729247302473124732247332473424735247362473724738247392474024741247422474324744247452474624747247482474924750247512475224753247542475524756247572475824759247602476124762247632476424765247662476724768247692477024771247722477324774247752477624777247782477924780247812478224783247842478524786247872478824789247902479124792247932479424795247962479724798247992480024801248022480324804248052480624807248082480924810248112481224813248142481524816248172481824819248202482124822248232482424825248262482724828248292483024831248322483324834248352483624837248382483924840248412484224843248442484524846248472484824849248502485124852248532485424855248562485724858248592486024861248622486324864248652486624867248682486924870248712487224873248742487524876248772487824879248802488124882248832488424885248862488724888248892489024891248922489324894248952489624897248982489924900249012490224903249042490524906249072490824909249102491124912249132491424915249162491724918249192492024921249222492324924249252492624927249282492924930249312493224933249342493524936249372493824939249402494124942249432494424945249462494724948249492495024951249522495324954249552495624957249582495924960249612496224963249642496524966249672496824969249702497124972249732497424975249762497724978249792498024981249822498324984249852498624987249882498924990249912499224993249942499524996249972499824999250002500125002250032500425005250062500725008250092501025011250122501325014250152501625017250182501925020250212502225023250242502525026250272502825029250302503125032250332503425035250362503725038250392504025041250422504325044250452504625047250482504925050250512505225053250542505525056250572505825059250602506125062250632506425065250662506725068250692507025071250722507325074250752507625077250782507925080250812508225083250842508525086250872508825089250902509125092250932509425095250962509725098250992510025101251022510325104251052510625107251082510925110251112511225113251142511525116251172511825119251202512125122251232512425125251262512725128251292513025131251322513325134251352513625137251382513925140251412514225143251442514525146251472514825149251502515125152251532515425155251562515725158251592516025161251622516325164251652516625167251682516925170251712517225173251742517525176251772517825179251802518125182251832518425185251862518725188251892519025191251922519325194251952519625197251982519925200252012520225203252042520525206252072520825209252102521125212252132521425215252162521725218252192522025221252222522325224252252522625227252282522925230252312523225233252342523525236252372523825239252402524125242252432524425245252462524725248252492525025251252522525325254252552525625257252582525925260252612526225263252642526525266252672526825269252702527125272252732527425275252762527725278252792528025281252822528325284252852528625287252882528925290252912529225293252942529525296252972529825299253002530125302253032530425305253062530725308253092531025311253122531325314253152531625317253182531925320253212532225323253242532525326253272532825329253302533125332253332533425335253362533725338253392534025341253422534325344253452534625347253482534925350253512535225353253542535525356253572535825359253602536125362253632536425365253662536725368253692537025371253722537325374253752537625377253782537925380253812538225383253842538525386253872538825389253902539125392253932539425395253962539725398253992540025401254022540325404254052540625407254082540925410254112541225413254142541525416254172541825419254202542125422254232542425425254262542725428254292543025431254322543325434254352543625437254382543925440254412544225443254442544525446254472544825449254502545125452254532545425455254562545725458254592546025461254622546325464254652546625467254682546925470254712547225473254742547525476254772547825479254802548125482254832548425485254862548725488254892549025491254922549325494254952549625497254982549925500255012550225503255042550525506255072550825509255102551125512255132551425515255162551725518255192552025521255222552325524255252552625527255282552925530255312553225533255342553525536255372553825539255402554125542255432554425545255462554725548255492555025551255522555325554255552555625557255582555925560255612556225563255642556525566255672556825569255702557125572255732557425575255762557725578255792558025581255822558325584255852558625587255882558925590255912559225593255942559525596255972559825599256002560125602256032560425605256062560725608256092561025611256122561325614256152561625617256182561925620256212562225623256242562525626256272562825629256302563125632256332563425635256362563725638256392564025641256422564325644256452564625647256482564925650256512565225653256542565525656256572565825659256602566125662256632566425665256662566725668256692567025671256722567325674256752567625677256782567925680256812568225683256842568525686256872568825689256902569125692256932569425695256962569725698256992570025701257022570325704257052570625707257082570925710257112571225713257142571525716257172571825719257202572125722257232572425725257262572725728257292573025731257322573325734257352573625737257382573925740257412574225743257442574525746257472574825749257502575125752257532575425755257562575725758257592576025761257622576325764257652576625767257682576925770257712577225773257742577525776257772577825779257802578125782257832578425785257862578725788257892579025791257922579325794257952579625797257982579925800258012580225803258042580525806258072580825809258102581125812258132581425815258162581725818258192582025821258222582325824258252582625827258282582925830258312583225833258342583525836258372583825839258402584125842258432584425845258462584725848258492585025851258522585325854258552585625857258582585925860258612586225863258642586525866258672586825869258702587125872258732587425875258762587725878258792588025881258822588325884258852588625887258882588925890258912589225893258942589525896258972589825899259002590125902259032590425905259062590725908259092591025911259122591325914259152591625917259182591925920259212592225923259242592525926259272592825929259302593125932259332593425935259362593725938259392594025941259422594325944259452594625947259482594925950259512595225953259542595525956259572595825959259602596125962259632596425965259662596725968259692597025971259722597325974259752597625977259782597925980259812598225983259842598525986259872598825989259902599125992259932599425995259962599725998259992600026001260022600326004260052600626007260082600926010260112601226013260142601526016260172601826019260202602126022260232602426025260262602726028260292603026031260322603326034260352603626037260382603926040260412604226043260442604526046260472604826049260502605126052260532605426055260562605726058260592606026061260622606326064260652606626067260682606926070260712607226073260742607526076260772607826079260802608126082260832608426085260862608726088260892609026091260922609326094260952609626097260982609926100261012610226103261042610526106261072610826109261102611126112261132611426115261162611726118261192612026121261222612326124261252612626127261282612926130261312613226133261342613526136261372613826139261402614126142261432614426145261462614726148261492615026151261522615326154261552615626157261582615926160261612616226163261642616526166261672616826169261702617126172261732617426175261762617726178261792618026181261822618326184261852618626187261882618926190261912619226193261942619526196261972619826199262002620126202262032620426205262062620726208262092621026211262122621326214262152621626217262182621926220262212622226223262242622526226262272622826229262302623126232262332623426235262362623726238262392624026241262422624326244262452624626247262482624926250262512625226253262542625526256262572625826259262602626126262262632626426265262662626726268262692627026271262722627326274262752627626277262782627926280262812628226283262842628526286262872628826289262902629126292262932629426295262962629726298262992630026301263022630326304263052630626307263082630926310263112631226313263142631526316263172631826319263202632126322263232632426325263262632726328263292633026331263322633326334263352633626337263382633926340263412634226343263442634526346263472634826349263502635126352263532635426355263562635726358263592636026361263622636326364263652636626367263682636926370263712637226373263742637526376263772637826379263802638126382263832638426385263862638726388263892639026391263922639326394263952639626397263982639926400264012640226403264042640526406264072640826409264102641126412264132641426415264162641726418264192642026421264222642326424264252642626427264282642926430264312643226433264342643526436264372643826439264402644126442264432644426445264462644726448264492645026451264522645326454264552645626457264582645926460264612646226463264642646526466264672646826469264702647126472264732647426475264762647726478264792648026481264822648326484264852648626487264882648926490264912649226493264942649526496264972649826499265002650126502265032650426505265062650726508265092651026511265122651326514265152651626517265182651926520265212652226523265242652526526265272652826529265302653126532265332653426535265362653726538265392654026541265422654326544265452654626547265482654926550265512655226553265542655526556265572655826559265602656126562265632656426565265662656726568265692657026571265722657326574265752657626577265782657926580265812658226583265842658526586265872658826589265902659126592265932659426595265962659726598265992660026601266022660326604266052660626607266082660926610266112661226613266142661526616266172661826619266202662126622266232662426625266262662726628266292663026631266322663326634266352663626637266382663926640266412664226643266442664526646266472664826649266502665126652266532665426655266562665726658266592666026661266622666326664266652666626667266682666926670266712667226673266742667526676266772667826679266802668126682266832668426685266862668726688266892669026691266922669326694266952669626697266982669926700267012670226703267042670526706267072670826709267102671126712267132671426715267162671726718267192672026721267222672326724267252672626727267282672926730267312673226733267342673526736267372673826739267402674126742267432674426745267462674726748267492675026751267522675326754267552675626757267582675926760267612676226763267642676526766267672676826769267702677126772267732677426775267762677726778267792678026781267822678326784267852678626787267882678926790267912679226793267942679526796267972679826799268002680126802268032680426805268062680726808268092681026811268122681326814268152681626817268182681926820268212682226823268242682526826268272682826829268302683126832268332683426835268362683726838268392684026841268422684326844268452684626847268482684926850268512685226853268542685526856268572685826859268602686126862268632686426865268662686726868268692687026871268722687326874268752687626877268782687926880268812688226883268842688526886268872688826889268902689126892268932689426895268962689726898268992690026901269022690326904269052690626907269082690926910269112691226913269142691526916269172691826919269202692126922269232692426925269262692726928269292693026931269322693326934269352693626937269382693926940269412694226943269442694526946269472694826949269502695126952269532695426955269562695726958269592696026961269622696326964269652696626967269682696926970269712697226973269742697526976269772697826979269802698126982269832698426985269862698726988269892699026991269922699326994269952699626997269982699927000270012700227003270042700527006270072700827009270102701127012270132701427015270162701727018270192702027021270222702327024270252702627027270282702927030270312703227033270342703527036270372703827039270402704127042270432704427045270462704727048270492705027051270522705327054270552705627057270582705927060270612706227063270642706527066270672706827069270702707127072270732707427075270762707727078270792708027081270822708327084270852708627087270882708927090270912709227093270942709527096270972709827099271002710127102271032710427105271062710727108271092711027111271122711327114271152711627117271182711927120271212712227123271242712527126271272712827129271302713127132271332713427135271362713727138271392714027141271422714327144271452714627147271482714927150271512715227153271542715527156271572715827159271602716127162271632716427165271662716727168271692717027171271722717327174271752717627177271782717927180271812718227183271842718527186271872718827189271902719127192271932719427195271962719727198271992720027201272022720327204272052720627207272082720927210272112721227213272142721527216272172721827219272202722127222272232722427225272262722727228272292723027231272322723327234272352723627237272382723927240272412724227243272442724527246272472724827249272502725127252272532725427255272562725727258272592726027261272622726327264272652726627267272682726927270272712727227273272742727527276272772727827279272802728127282272832728427285272862728727288272892729027291272922729327294272952729627297272982729927300273012730227303273042730527306273072730827309273102731127312273132731427315273162731727318273192732027321273222732327324273252732627327273282732927330273312733227333273342733527336273372733827339273402734127342273432734427345273462734727348273492735027351273522735327354273552735627357273582735927360273612736227363273642736527366273672736827369273702737127372273732737427375273762737727378273792738027381273822738327384273852738627387273882738927390273912739227393273942739527396273972739827399274002740127402274032740427405274062740727408274092741027411274122741327414274152741627417274182741927420274212742227423274242742527426274272742827429274302743127432274332743427435274362743727438274392744027441274422744327444274452744627447274482744927450274512745227453274542745527456274572745827459274602746127462274632746427465274662746727468274692747027471274722747327474274752747627477274782747927480274812748227483274842748527486274872748827489274902749127492274932749427495274962749727498274992750027501275022750327504275052750627507275082750927510275112751227513275142751527516275172751827519275202752127522275232752427525275262752727528275292753027531275322753327534275352753627537275382753927540275412754227543275442754527546275472754827549275502755127552275532755427555275562755727558275592756027561275622756327564275652756627567275682756927570275712757227573275742757527576275772757827579275802758127582275832758427585275862758727588275892759027591275922759327594275952759627597275982759927600276012760227603276042760527606276072760827609276102761127612276132761427615276162761727618276192762027621276222762327624276252762627627276282762927630276312763227633276342763527636276372763827639276402764127642276432764427645276462764727648276492765027651276522765327654276552765627657276582765927660276612766227663276642766527666276672766827669276702767127672276732767427675276762767727678276792768027681276822768327684276852768627687276882768927690276912769227693276942769527696276972769827699277002770127702277032770427705277062770727708277092771027711277122771327714277152771627717277182771927720277212772227723277242772527726277272772827729277302773127732277332773427735277362773727738277392774027741277422774327744277452774627747277482774927750277512775227753277542775527756277572775827759277602776127762277632776427765277662776727768277692777027771277722777327774277752777627777277782777927780277812778227783277842778527786277872778827789277902779127792277932779427795277962779727798277992780027801278022780327804278052780627807278082780927810278112781227813278142781527816278172781827819278202782127822278232782427825278262782727828278292783027831278322783327834278352783627837278382783927840278412784227843278442784527846278472784827849278502785127852278532785427855278562785727858278592786027861278622786327864278652786627867278682786927870278712787227873278742787527876278772787827879278802788127882278832788427885278862788727888278892789027891278922789327894278952789627897278982789927900279012790227903279042790527906279072790827909279102791127912279132791427915279162791727918279192792027921279222792327924279252792627927279282792927930279312793227933279342793527936279372793827939279402794127942279432794427945279462794727948279492795027951279522795327954279552795627957279582795927960279612796227963279642796527966279672796827969279702797127972279732797427975279762797727978279792798027981279822798327984279852798627987279882798927990279912799227993279942799527996279972799827999280002800128002280032800428005280062800728008280092801028011280122801328014280152801628017280182801928020280212802228023280242802528026280272802828029280302803128032280332803428035280362803728038280392804028041280422804328044280452804628047280482804928050280512805228053280542805528056280572805828059280602806128062280632806428065280662806728068280692807028071280722807328074280752807628077280782807928080280812808228083280842808528086280872808828089280902809128092280932809428095280962809728098280992810028101281022810328104281052810628107281082810928110281112811228113281142811528116281172811828119281202812128122281232812428125281262812728128281292813028131281322813328134281352813628137281382813928140281412814228143281442814528146281472814828149281502815128152281532815428155281562815728158281592816028161281622816328164281652816628167281682816928170281712817228173281742817528176281772817828179281802818128182281832818428185281862818728188281892819028191281922819328194281952819628197281982819928200282012820228203282042820528206282072820828209282102821128212282132821428215282162821728218282192822028221282222822328224282252822628227282282822928230282312823228233282342823528236282372823828239282402824128242282432824428245282462824728248282492825028251282522825328254282552825628257282582825928260282612826228263282642826528266282672826828269282702827128272282732827428275282762827728278282792828028281282822828328284282852828628287282882828928290282912829228293282942829528296282972829828299283002830128302283032830428305283062830728308283092831028311283122831328314283152831628317283182831928320283212832228323283242832528326283272832828329283302833128332283332833428335283362833728338283392834028341283422834328344283452834628347283482834928350283512835228353283542835528356283572835828359283602836128362283632836428365283662836728368283692837028371283722837328374283752837628377283782837928380283812838228383283842838528386283872838828389283902839128392283932839428395283962839728398283992840028401284022840328404284052840628407284082840928410284112841228413284142841528416284172841828419284202842128422284232842428425284262842728428284292843028431284322843328434284352843628437284382843928440284412844228443284442844528446284472844828449284502845128452284532845428455284562845728458284592846028461284622846328464284652846628467284682846928470284712847228473284742847528476284772847828479284802848128482284832848428485284862848728488284892849028491284922849328494284952849628497284982849928500285012850228503285042850528506285072850828509285102851128512285132851428515285162851728518285192852028521285222852328524285252852628527285282852928530285312853228533285342853528536285372853828539285402854128542285432854428545285462854728548285492855028551285522855328554285552855628557285582855928560285612856228563285642856528566285672856828569285702857128572285732857428575285762857728578285792858028581285822858328584285852858628587285882858928590285912859228593285942859528596285972859828599286002860128602286032860428605286062860728608286092861028611286122861328614286152861628617286182861928620286212862228623286242862528626286272862828629286302863128632286332863428635286362863728638286392864028641286422864328644286452864628647286482864928650286512865228653286542865528656286572865828659286602866128662286632866428665286662866728668286692867028671286722867328674286752867628677286782867928680286812868228683286842868528686286872868828689286902869128692286932869428695286962869728698286992870028701287022870328704287052870628707287082870928710287112871228713287142871528716287172871828719287202872128722287232872428725287262872728728287292873028731287322873328734287352873628737287382873928740287412874228743287442874528746287472874828749287502875128752287532875428755287562875728758287592876028761287622876328764287652876628767287682876928770287712877228773287742877528776287772877828779287802878128782287832878428785287862878728788287892879028791287922879328794287952879628797287982879928800288012880228803288042880528806288072880828809288102881128812288132881428815288162881728818288192882028821288222882328824288252882628827288282882928830288312883228833288342883528836288372883828839288402884128842288432884428845288462884728848288492885028851288522885328854288552885628857288582885928860288612886228863288642886528866288672886828869288702887128872288732887428875288762887728878288792888028881288822888328884288852888628887288882888928890288912889228893288942889528896288972889828899289002890128902289032890428905289062890728908289092891028911289122891328914289152891628917289182891928920289212892228923289242892528926289272892828929289302893128932289332893428935289362893728938289392894028941289422894328944289452894628947289482894928950289512895228953289542895528956289572895828959289602896128962289632896428965289662896728968289692897028971289722897328974289752897628977289782897928980289812898228983289842898528986289872898828989289902899128992289932899428995289962899728998289992900029001290022900329004290052900629007290082900929010290112901229013290142901529016290172901829019290202902129022290232902429025290262902729028290292903029031290322903329034290352903629037290382903929040290412904229043290442904529046290472904829049290502905129052290532905429055290562905729058290592906029061290622906329064290652906629067290682906929070290712907229073290742907529076290772907829079290802908129082290832908429085290862908729088290892909029091290922909329094290952909629097290982909929100291012910229103291042910529106291072910829109291102911129112291132911429115291162911729118291192912029121291222912329124291252912629127291282912929130291312913229133291342913529136291372913829139291402914129142291432914429145291462914729148291492915029151291522915329154291552915629157291582915929160291612916229163291642916529166291672916829169291702917129172291732917429175291762917729178291792918029181291822918329184291852918629187291882918929190291912919229193291942919529196291972919829199292002920129202292032920429205292062920729208292092921029211292122921329214292152921629217292182921929220292212922229223292242922529226292272922829229292302923129232292332923429235292362923729238292392924029241292422924329244292452924629247292482924929250292512925229253292542925529256292572925829259292602926129262292632926429265292662926729268292692927029271292722927329274292752927629277292782927929280292812928229283292842928529286292872928829289292902929129292292932929429295292962929729298292992930029301293022930329304293052930629307293082930929310293112931229313293142931529316293172931829319293202932129322293232932429325293262932729328293292933029331293322933329334293352933629337293382933929340293412934229343293442934529346293472934829349293502935129352293532935429355293562935729358293592936029361293622936329364293652936629367293682936929370293712937229373293742937529376293772937829379293802938129382293832938429385293862938729388293892939029391293922939329394293952939629397293982939929400294012940229403294042940529406294072940829409294102941129412294132941429415294162941729418294192942029421294222942329424294252942629427294282942929430294312943229433294342943529436294372943829439294402944129442294432944429445294462944729448294492945029451294522945329454294552945629457294582945929460294612946229463294642946529466294672946829469294702947129472294732947429475294762947729478294792948029481294822948329484294852948629487294882948929490294912949229493294942949529496294972949829499295002950129502295032950429505295062950729508295092951029511295122951329514295152951629517295182951929520295212952229523295242952529526295272952829529295302953129532295332953429535295362953729538295392954029541295422954329544295452954629547295482954929550295512955229553295542955529556295572955829559295602956129562295632956429565295662956729568295692957029571295722957329574295752957629577295782957929580295812958229583295842958529586295872958829589295902959129592295932959429595295962959729598295992960029601296022960329604296052960629607296082960929610296112961229613296142961529616296172961829619296202962129622296232962429625296262962729628296292963029631296322963329634296352963629637296382963929640296412964229643296442964529646296472964829649296502965129652296532965429655296562965729658296592966029661296622966329664296652966629667296682966929670296712967229673296742967529676296772967829679296802968129682296832968429685296862968729688296892969029691296922969329694296952969629697296982969929700297012970229703297042970529706297072970829709297102971129712297132971429715297162971729718297192972029721297222972329724297252972629727297282972929730297312973229733297342973529736297372973829739297402974129742297432974429745297462974729748297492975029751297522975329754297552975629757297582975929760297612976229763297642976529766297672976829769297702977129772297732977429775297762977729778297792978029781297822978329784297852978629787297882978929790297912979229793297942979529796297972979829799298002980129802298032980429805298062980729808298092981029811298122981329814298152981629817298182981929820298212982229823298242982529826298272982829829298302983129832298332983429835298362983729838298392984029841298422984329844298452984629847298482984929850298512985229853298542985529856298572985829859298602986129862298632986429865298662986729868298692987029871298722987329874298752987629877298782987929880298812988229883298842988529886298872988829889298902989129892298932989429895298962989729898298992990029901299022990329904299052990629907299082990929910299112991229913299142991529916299172991829919299202992129922299232992429925299262992729928299292993029931299322993329934299352993629937299382993929940299412994229943299442994529946299472994829949299502995129952299532995429955299562995729958299592996029961299622996329964299652996629967299682996929970299712997229973299742997529976299772997829979299802998129982299832998429985299862998729988299892999029991299922999329994299952999629997299982999930000300013000230003300043000530006300073000830009300103001130012300133001430015300163001730018300193002030021300223002330024300253002630027300283002930030300313003230033300343003530036300373003830039300403004130042300433004430045300463004730048300493005030051300523005330054300553005630057300583005930060300613006230063300643006530066300673006830069300703007130072300733007430075300763007730078300793008030081300823008330084300853008630087300883008930090300913009230093300943009530096300973009830099301003010130102301033010430105301063010730108301093011030111301123011330114301153011630117301183011930120301213012230123301243012530126301273012830129301303013130132301333013430135301363013730138301393014030141301423014330144301453014630147301483014930150301513015230153301543015530156301573015830159301603016130162301633016430165301663016730168301693017030171301723017330174301753017630177301783017930180301813018230183301843018530186301873018830189301903019130192301933019430195301963019730198301993020030201302023020330204302053020630207302083020930210302113021230213302143021530216302173021830219302203022130222302233022430225302263022730228302293023030231302323023330234302353023630237302383023930240302413024230243302443024530246302473024830249302503025130252302533025430255302563025730258302593026030261302623026330264302653026630267302683026930270302713027230273302743027530276302773027830279302803028130282302833028430285302863028730288302893029030291302923029330294302953029630297302983029930300303013030230303303043030530306303073030830309303103031130312303133031430315303163031730318303193032030321303223032330324303253032630327303283032930330303313033230333303343033530336303373033830339303403034130342303433034430345303463034730348303493035030351303523035330354303553035630357303583035930360303613036230363303643036530366303673036830369303703037130372303733037430375303763037730378303793038030381303823038330384303853038630387303883038930390303913039230393303943039530396303973039830399304003040130402304033040430405304063040730408304093041030411304123041330414304153041630417304183041930420304213042230423304243042530426304273042830429304303043130432304333043430435304363043730438304393044030441304423044330444304453044630447304483044930450304513045230453304543045530456304573045830459304603046130462304633046430465304663046730468304693047030471304723047330474304753047630477304783047930480304813048230483304843048530486304873048830489304903049130492304933049430495304963049730498304993050030501305023050330504305053050630507305083050930510305113051230513305143051530516305173051830519305203052130522305233052430525305263052730528305293053030531305323053330534305353053630537305383053930540305413054230543305443054530546305473054830549305503055130552305533055430555305563055730558305593056030561305623056330564305653056630567305683056930570305713057230573305743057530576305773057830579305803058130582305833058430585305863058730588305893059030591305923059330594305953059630597305983059930600306013060230603306043060530606306073060830609306103061130612306133061430615306163061730618306193062030621306223062330624306253062630627306283062930630306313063230633306343063530636306373063830639306403064130642306433064430645306463064730648306493065030651306523065330654306553065630657306583065930660306613066230663306643066530666306673066830669306703067130672306733067430675306763067730678306793068030681306823068330684306853068630687306883068930690306913069230693306943069530696306973069830699307003070130702307033070430705307063070730708307093071030711307123071330714307153071630717307183071930720307213072230723307243072530726307273072830729307303073130732307333073430735307363073730738307393074030741307423074330744307453074630747307483074930750307513075230753307543075530756307573075830759307603076130762307633076430765307663076730768307693077030771307723077330774307753077630777307783077930780307813078230783307843078530786307873078830789307903079130792307933079430795307963079730798307993080030801308023080330804308053080630807308083080930810308113081230813308143081530816308173081830819308203082130822308233082430825308263082730828308293083030831308323083330834308353083630837308383083930840308413084230843308443084530846308473084830849308503085130852308533085430855308563085730858308593086030861308623086330864308653086630867308683086930870308713087230873308743087530876308773087830879308803088130882308833088430885308863088730888308893089030891308923089330894308953089630897308983089930900309013090230903309043090530906309073090830909309103091130912309133091430915309163091730918309193092030921309223092330924309253092630927309283092930930309313093230933309343093530936309373093830939309403094130942309433094430945309463094730948309493095030951309523095330954309553095630957309583095930960309613096230963309643096530966309673096830969309703097130972309733097430975309763097730978309793098030981309823098330984309853098630987309883098930990309913099230993309943099530996309973099830999310003100131002310033100431005310063100731008310093101031011310123101331014310153101631017310183101931020310213102231023310243102531026310273102831029310303103131032310333103431035310363103731038310393104031041310423104331044310453104631047310483104931050310513105231053310543105531056310573105831059310603106131062310633106431065310663106731068310693107031071310723107331074310753107631077310783107931080310813108231083310843108531086310873108831089310903109131092310933109431095310963109731098310993110031101311023110331104311053110631107311083110931110311113111231113311143111531116311173111831119311203112131122311233112431125311263112731128311293113031131311323113331134311353113631137311383113931140311413114231143311443114531146311473114831149311503115131152311533115431155311563115731158311593116031161311623116331164311653116631167311683116931170311713117231173311743117531176311773117831179311803118131182311833118431185311863118731188311893119031191311923119331194311953119631197311983119931200312013120231203312043120531206312073120831209312103121131212312133121431215312163121731218312193122031221312223122331224312253122631227312283122931230312313123231233312343123531236312373123831239312403124131242312433124431245312463124731248312493125031251312523125331254312553125631257312583125931260312613126231263312643126531266312673126831269312703127131272312733127431275312763127731278312793128031281312823128331284312853128631287312883128931290312913129231293312943129531296312973129831299313003130131302313033130431305313063130731308313093131031311313123131331314313153131631317313183131931320313213132231323313243132531326313273132831329313303133131332313333133431335313363133731338313393134031341313423134331344313453134631347313483134931350313513135231353313543135531356313573135831359313603136131362313633136431365313663136731368313693137031371313723137331374313753137631377313783137931380313813138231383313843138531386313873138831389313903139131392313933139431395313963139731398313993140031401314023140331404314053140631407314083140931410314113141231413314143141531416314173141831419314203142131422314233142431425314263142731428314293143031431314323143331434314353143631437314383143931440314413144231443314443144531446314473144831449314503145131452314533145431455314563145731458314593146031461314623146331464314653146631467314683146931470314713147231473314743147531476314773147831479314803148131482314833148431485314863148731488314893149031491314923149331494314953149631497314983149931500315013150231503315043150531506315073150831509315103151131512315133151431515315163151731518315193152031521315223152331524315253152631527315283152931530315313153231533315343153531536315373153831539315403154131542315433154431545315463154731548315493155031551315523155331554315553155631557315583155931560315613156231563315643156531566315673156831569315703157131572315733157431575315763157731578315793158031581315823158331584315853158631587315883158931590315913159231593315943159531596315973159831599316003160131602316033160431605316063160731608316093161031611316123161331614316153161631617316183161931620316213162231623316243162531626316273162831629316303163131632316333163431635316363163731638316393164031641316423164331644316453164631647316483164931650316513165231653316543165531656316573165831659316603166131662316633166431665316663166731668316693167031671316723167331674316753167631677316783167931680316813168231683316843168531686316873168831689316903169131692316933169431695316963169731698316993170031701317023170331704317053170631707317083170931710317113171231713317143171531716317173171831719317203172131722317233172431725317263172731728317293173031731317323173331734317353173631737317383173931740317413174231743317443174531746317473174831749317503175131752317533175431755317563175731758317593176031761317623176331764317653176631767317683176931770317713177231773317743177531776317773177831779317803178131782317833178431785317863178731788317893179031791317923179331794317953179631797317983179931800318013180231803318043180531806318073180831809318103181131812318133181431815318163181731818318193182031821318223182331824318253182631827318283182931830318313183231833318343183531836318373183831839318403184131842318433184431845318463184731848318493185031851318523185331854318553185631857318583185931860318613186231863318643186531866318673186831869318703187131872318733187431875318763187731878318793188031881318823188331884318853188631887318883188931890318913189231893318943189531896318973189831899319003190131902319033190431905319063190731908319093191031911319123191331914319153191631917319183191931920319213192231923319243192531926319273192831929319303193131932319333193431935319363193731938319393194031941319423194331944319453194631947319483194931950319513195231953319543195531956319573195831959319603196131962319633196431965319663196731968319693197031971319723197331974319753197631977319783197931980319813198231983319843198531986319873198831989319903199131992319933199431995319963199731998319993200032001320023200332004320053200632007320083200932010320113201232013320143201532016320173201832019320203202132022320233202432025320263202732028320293203032031320323203332034320353203632037320383203932040320413204232043320443204532046320473204832049320503205132052320533205432055320563205732058320593206032061320623206332064320653206632067320683206932070320713207232073320743207532076320773207832079320803208132082320833208432085320863208732088320893209032091320923209332094320953209632097320983209932100321013210232103321043210532106321073210832109321103211132112321133211432115321163211732118321193212032121321223212332124321253212632127321283212932130321313213232133321343213532136321373213832139321403214132142321433214432145321463214732148321493215032151321523215332154321553215632157321583215932160321613216232163321643216532166321673216832169321703217132172321733217432175321763217732178321793218032181321823218332184321853218632187321883218932190321913219232193321943219532196321973219832199322003220132202322033220432205322063220732208322093221032211322123221332214322153221632217322183221932220322213222232223322243222532226322273222832229322303223132232322333223432235322363223732238322393224032241322423224332244322453224632247322483224932250322513225232253322543225532256322573225832259322603226132262322633226432265322663226732268322693227032271322723227332274322753227632277322783227932280322813228232283322843228532286322873228832289322903229132292322933229432295322963229732298322993230032301323023230332304323053230632307323083230932310323113231232313323143231532316323173231832319323203232132322323233232432325323263232732328323293233032331323323233332334323353233632337323383233932340323413234232343323443234532346323473234832349323503235132352323533235432355323563235732358323593236032361323623236332364323653236632367323683236932370323713237232373323743237532376323773237832379323803238132382323833238432385323863238732388323893239032391323923239332394323953239632397323983239932400324013240232403324043240532406324073240832409324103241132412324133241432415324163241732418324193242032421324223242332424324253242632427324283242932430324313243232433324343243532436324373243832439324403244132442324433244432445324463244732448324493245032451324523245332454324553245632457324583245932460324613246232463324643246532466324673246832469324703247132472324733247432475324763247732478324793248032481324823248332484324853248632487324883248932490324913249232493324943249532496324973249832499325003250132502325033250432505325063250732508325093251032511325123251332514325153251632517325183251932520325213252232523325243252532526325273252832529325303253132532325333253432535325363253732538325393254032541325423254332544325453254632547325483254932550325513255232553325543255532556325573255832559325603256132562325633256432565325663256732568325693257032571325723257332574325753257632577325783257932580325813258232583325843258532586325873258832589325903259132592325933259432595325963259732598325993260032601326023260332604326053260632607326083260932610326113261232613326143261532616326173261832619326203262132622326233262432625326263262732628326293263032631326323263332634326353263632637326383263932640326413264232643326443264532646326473264832649326503265132652326533265432655326563265732658326593266032661326623266332664326653266632667326683266932670326713267232673326743267532676326773267832679326803268132682326833268432685326863268732688326893269032691326923269332694326953269632697326983269932700327013270232703327043270532706327073270832709327103271132712327133271432715327163271732718327193272032721327223272332724327253272632727327283272932730327313273232733327343273532736327373273832739327403274132742327433274432745327463274732748327493275032751327523275332754327553275632757327583275932760327613276232763327643276532766327673276832769327703277132772327733277432775327763277732778327793278032781327823278332784327853278632787327883278932790327913279232793327943279532796327973279832799328003280132802328033280432805328063280732808328093281032811328123281332814328153281632817328183281932820328213282232823328243282532826328273282832829328303283132832328333283432835328363283732838328393284032841328423284332844328453284632847328483284932850328513285232853328543285532856328573285832859328603286132862328633286432865328663286732868328693287032871328723287332874328753287632877328783287932880328813288232883328843288532886328873288832889328903289132892328933289432895328963289732898328993290032901329023290332904329053290632907329083290932910329113291232913329143291532916329173291832919329203292132922329233292432925329263292732928329293293032931329323293332934329353293632937329383293932940329413294232943329443294532946329473294832949329503295132952329533295432955329563295732958329593296032961329623296332964329653296632967329683296932970329713297232973329743297532976329773297832979329803298132982329833298432985329863298732988329893299032991329923299332994329953299632997329983299933000330013300233003330043300533006330073300833009330103301133012330133301433015330163301733018330193302033021330223302333024330253302633027330283302933030330313303233033330343303533036330373303833039330403304133042330433304433045330463304733048330493305033051330523305333054330553305633057330583305933060330613306233063330643306533066330673306833069330703307133072330733307433075330763307733078330793308033081330823308333084330853308633087330883308933090330913309233093330943309533096330973309833099331003310133102331033310433105331063310733108331093311033111331123311333114331153311633117331183311933120331213312233123331243312533126331273312833129331303313133132331333313433135331363313733138331393314033141331423314333144331453314633147331483314933150331513315233153331543315533156331573315833159331603316133162331633316433165331663316733168331693317033171331723317333174331753317633177331783317933180331813318233183331843318533186331873318833189331903319133192331933319433195331963319733198331993320033201332023320333204332053320633207332083320933210332113321233213332143321533216332173321833219332203322133222332233322433225332263322733228332293323033231332323323333234332353323633237332383323933240332413324233243332443324533246332473324833249332503325133252332533325433255332563325733258332593326033261332623326333264332653326633267332683326933270332713327233273332743327533276332773327833279332803328133282332833328433285332863328733288332893329033291332923329333294332953329633297332983329933300333013330233303333043330533306333073330833309333103331133312333133331433315333163331733318333193332033321333223332333324333253332633327333283332933330333313333233333333343333533336333373333833339333403334133342333433334433345333463334733348333493335033351333523335333354333553335633357333583335933360333613336233363333643336533366333673336833369333703337133372333733337433375333763337733378333793338033381333823338333384333853338633387333883338933390333913339233393333943339533396333973339833399334003340133402334033340433405334063340733408334093341033411334123341333414334153341633417334183341933420334213342233423334243342533426334273342833429334303343133432334333343433435334363343733438334393344033441334423344333444334453344633447334483344933450334513345233453334543345533456334573345833459334603346133462334633346433465334663346733468334693347033471334723347333474334753347633477334783347933480334813348233483334843348533486334873348833489334903349133492334933349433495334963349733498334993350033501335023350333504335053350633507335083350933510335113351233513335143351533516335173351833519335203352133522335233352433525335263352733528335293353033531335323353333534335353353633537335383353933540335413354233543335443354533546335473354833549335503355133552335533355433555335563355733558335593356033561335623356333564335653356633567335683356933570335713357233573335743357533576335773357833579335803358133582335833358433585335863358733588335893359033591335923359333594335953359633597335983359933600336013360233603336043360533606336073360833609336103361133612336133361433615336163361733618336193362033621336223362333624336253362633627336283362933630336313363233633336343363533636336373363833639336403364133642336433364433645336463364733648336493365033651336523365333654336553365633657336583365933660336613366233663336643366533666336673366833669336703367133672336733367433675336763367733678336793368033681336823368333684336853368633687336883368933690336913369233693336943369533696336973369833699337003370133702337033370433705337063370733708337093371033711337123371333714337153371633717337183371933720337213372233723337243372533726337273372833729337303373133732337333373433735337363373733738337393374033741337423374333744337453374633747337483374933750337513375233753337543375533756337573375833759337603376133762337633376433765337663376733768337693377033771337723377333774337753377633777337783377933780337813378233783337843378533786337873378833789337903379133792337933379433795337963379733798337993380033801338023380333804338053380633807338083380933810338113381233813338143381533816338173381833819338203382133822338233382433825338263382733828338293383033831338323383333834338353383633837338383383933840338413384233843338443384533846338473384833849338503385133852338533385433855338563385733858338593386033861338623386333864338653386633867338683386933870338713387233873338743387533876338773387833879338803388133882338833388433885338863388733888338893389033891338923389333894338953389633897338983389933900339013390233903339043390533906339073390833909339103391133912339133391433915339163391733918339193392033921339223392333924339253392633927339283392933930339313393233933339343393533936339373393833939339403394133942339433394433945339463394733948339493395033951339523395333954339553395633957339583395933960339613396233963339643396533966339673396833969339703397133972339733397433975339763397733978339793398033981339823398333984339853398633987339883398933990339913399233993339943399533996339973399833999340003400134002340033400434005340063400734008340093401034011340123401334014340153401634017340183401934020340213402234023340243402534026340273402834029340303403134032340333403434035340363403734038340393404034041340423404334044340453404634047340483404934050340513405234053340543405534056340573405834059340603406134062340633406434065340663406734068340693407034071340723407334074340753407634077340783407934080340813408234083340843408534086340873408834089340903409134092340933409434095340963409734098340993410034101341023410334104341053410634107341083410934110341113411234113341143411534116341173411834119341203412134122341233412434125341263412734128341293413034131341323413334134341353413634137341383413934140341413414234143341443414534146341473414834149341503415134152341533415434155341563415734158341593416034161341623416334164341653416634167341683416934170341713417234173341743417534176341773417834179341803418134182341833418434185341863418734188341893419034191341923419334194341953419634197341983419934200342013420234203342043420534206342073420834209342103421134212342133421434215342163421734218342193422034221342223422334224342253422634227342283422934230342313423234233342343423534236342373423834239342403424134242342433424434245342463424734248342493425034251342523425334254342553425634257342583425934260342613426234263342643426534266342673426834269342703427134272342733427434275342763427734278342793428034281342823428334284342853428634287342883428934290342913429234293342943429534296342973429834299343003430134302343033430434305343063430734308343093431034311343123431334314343153431634317343183431934320343213432234323343243432534326343273432834329343303433134332343333433434335343363433734338343393434034341343423434334344343453434634347343483434934350343513435234353343543435534356343573435834359343603436134362343633436434365343663436734368343693437034371343723437334374343753437634377343783437934380343813438234383343843438534386343873438834389343903439134392343933439434395343963439734398343993440034401344023440334404344053440634407344083440934410344113441234413344143441534416344173441834419344203442134422344233442434425344263442734428344293443034431344323443334434344353443634437344383443934440344413444234443344443444534446344473444834449344503445134452344533445434455344563445734458344593446034461344623446334464344653446634467344683446934470344713447234473344743447534476344773447834479344803448134482344833448434485344863448734488344893449034491344923449334494344953449634497344983449934500345013450234503345043450534506345073450834509345103451134512345133451434515345163451734518345193452034521345223452334524345253452634527345283452934530345313453234533345343453534536345373453834539345403454134542345433454434545345463454734548345493455034551345523455334554345553455634557345583455934560345613456234563345643456534566345673456834569345703457134572345733457434575345763457734578345793458034581345823458334584345853458634587345883458934590345913459234593345943459534596345973459834599346003460134602346033460434605346063460734608346093461034611346123461334614346153461634617346183461934620346213462234623346243462534626346273462834629346303463134632346333463434635346363463734638346393464034641346423464334644346453464634647346483464934650346513465234653346543465534656346573465834659346603466134662346633466434665346663466734668346693467034671346723467334674346753467634677346783467934680346813468234683346843468534686346873468834689346903469134692346933469434695346963469734698346993470034701347023470334704347053470634707347083470934710347113471234713347143471534716347173471834719347203472134722347233472434725347263472734728347293473034731347323473334734347353473634737347383473934740347413474234743347443474534746347473474834749347503475134752347533475434755347563475734758347593476034761347623476334764347653476634767347683476934770347713477234773347743477534776347773477834779347803478134782347833478434785347863478734788347893479034791347923479334794347953479634797347983479934800348013480234803348043480534806348073480834809348103481134812348133481434815348163481734818348193482034821348223482334824348253482634827348283482934830348313483234833348343483534836348373483834839348403484134842348433484434845348463484734848348493485034851348523485334854348553485634857348583485934860348613486234863348643486534866348673486834869348703487134872348733487434875348763487734878348793488034881348823488334884348853488634887348883488934890348913489234893348943489534896348973489834899349003490134902349033490434905349063490734908349093491034911349123491334914349153491634917349183491934920349213492234923349243492534926349273492834929349303493134932349333493434935349363493734938349393494034941349423494334944349453494634947349483494934950349513495234953349543495534956349573495834959349603496134962349633496434965349663496734968349693497034971349723497334974349753497634977349783497934980349813498234983349843498534986349873498834989349903499134992349933499434995349963499734998349993500035001350023500335004350053500635007350083500935010350113501235013350143501535016350173501835019350203502135022350233502435025350263502735028350293503035031350323503335034350353503635037350383503935040350413504235043350443504535046350473504835049350503505135052350533505435055350563505735058350593506035061350623506335064350653506635067350683506935070350713507235073350743507535076350773507835079350803508135082350833508435085350863508735088350893509035091350923509335094350953509635097350983509935100351013510235103351043510535106351073510835109351103511135112351133511435115351163511735118351193512035121351223512335124351253512635127351283512935130351313513235133351343513535136351373513835139351403514135142351433514435145351463514735148351493515035151351523515335154351553515635157351583515935160351613516235163351643516535166351673516835169351703517135172351733517435175351763517735178351793518035181351823518335184351853518635187351883518935190351913519235193351943519535196351973519835199352003520135202352033520435205352063520735208352093521035211352123521335214352153521635217352183521935220352213522235223352243522535226352273522835229352303523135232352333523435235352363523735238352393524035241352423524335244352453524635247352483524935250352513525235253352543525535256352573525835259352603526135262352633526435265352663526735268352693527035271352723527335274352753527635277352783527935280352813528235283352843528535286352873528835289352903529135292352933529435295352963529735298352993530035301353023530335304353053530635307353083530935310353113531235313353143531535316353173531835319353203532135322353233532435325353263532735328353293533035331353323533335334353353533635337353383533935340353413534235343353443534535346353473534835349353503535135352353533535435355353563535735358353593536035361353623536335364353653536635367353683536935370353713537235373353743537535376353773537835379353803538135382353833538435385353863538735388353893539035391353923539335394353953539635397353983539935400354013540235403354043540535406354073540835409354103541135412354133541435415354163541735418354193542035421354223542335424354253542635427354283542935430354313543235433354343543535436354373543835439354403544135442354433544435445354463544735448354493545035451354523545335454354553545635457354583545935460354613546235463354643546535466354673546835469354703547135472354733547435475354763547735478354793548035481354823548335484354853548635487354883548935490354913549235493354943549535496354973549835499355003550135502355033550435505355063550735508355093551035511355123551335514355153551635517355183551935520355213552235523355243552535526355273552835529355303553135532355333553435535355363553735538355393554035541355423554335544355453554635547355483554935550355513555235553355543555535556355573555835559355603556135562355633556435565355663556735568355693557035571355723557335574355753557635577355783557935580355813558235583355843558535586355873558835589355903559135592355933559435595355963559735598355993560035601356023560335604356053560635607356083560935610356113561235613356143561535616356173561835619356203562135622356233562435625356263562735628356293563035631356323563335634356353563635637356383563935640356413564235643356443564535646356473564835649356503565135652356533565435655356563565735658356593566035661356623566335664356653566635667356683566935670356713567235673356743567535676356773567835679356803568135682356833568435685356863568735688356893569035691356923569335694356953569635697356983569935700357013570235703357043570535706357073570835709357103571135712357133571435715357163571735718357193572035721357223572335724357253572635727357283572935730357313573235733357343573535736357373573835739357403574135742357433574435745357463574735748357493575035751357523575335754357553575635757357583575935760357613576235763357643576535766357673576835769357703577135772357733577435775357763577735778357793578035781357823578335784357853578635787357883578935790357913579235793357943579535796357973579835799358003580135802358033580435805358063580735808358093581035811358123581335814358153581635817358183581935820358213582235823358243582535826358273582835829358303583135832358333583435835358363583735838358393584035841358423584335844358453584635847358483584935850358513585235853358543585535856358573585835859358603586135862358633586435865358663586735868358693587035871358723587335874358753587635877358783587935880358813588235883358843588535886358873588835889358903589135892358933589435895358963589735898358993590035901359023590335904359053590635907359083590935910359113591235913359143591535916359173591835919359203592135922359233592435925359263592735928359293593035931359323593335934359353593635937359383593935940359413594235943359443594535946359473594835949359503595135952359533595435955359563595735958359593596035961359623596335964359653596635967359683596935970359713597235973359743597535976359773597835979359803598135982359833598435985359863598735988359893599035991359923599335994359953599635997359983599936000360013600236003360043600536006360073600836009360103601136012360133601436015360163601736018360193602036021360223602336024360253602636027360283602936030360313603236033360343603536036360373603836039360403604136042360433604436045360463604736048360493605036051360523605336054360553605636057360583605936060360613606236063360643606536066360673606836069360703607136072360733607436075360763607736078360793608036081360823608336084360853608636087360883608936090360913609236093360943609536096360973609836099361003610136102361033610436105361063610736108361093611036111361123611336114361153611636117361183611936120361213612236123361243612536126361273612836129361303613136132361333613436135361363613736138361393614036141361423614336144361453614636147361483614936150361513615236153361543615536156361573615836159361603616136162361633616436165361663616736168361693617036171361723617336174361753617636177361783617936180361813618236183361843618536186361873618836189361903619136192361933619436195361963619736198361993620036201362023620336204362053620636207362083620936210362113621236213362143621536216362173621836219362203622136222362233622436225362263622736228362293623036231362323623336234362353623636237362383623936240362413624236243362443624536246362473624836249362503625136252362533625436255362563625736258362593626036261362623626336264362653626636267362683626936270362713627236273362743627536276362773627836279362803628136282362833628436285362863628736288362893629036291362923629336294362953629636297362983629936300363013630236303363043630536306363073630836309363103631136312363133631436315363163631736318363193632036321363223632336324363253632636327363283632936330363313633236333363343633536336363373633836339363403634136342363433634436345363463634736348363493635036351363523635336354363553635636357363583635936360363613636236363363643636536366363673636836369363703637136372363733637436375363763637736378363793638036381363823638336384363853638636387363883638936390363913639236393363943639536396363973639836399364003640136402364033640436405364063640736408364093641036411364123641336414364153641636417364183641936420364213642236423364243642536426364273642836429364303643136432364333643436435364363643736438364393644036441364423644336444364453644636447364483644936450364513645236453364543645536456364573645836459364603646136462364633646436465364663646736468364693647036471364723647336474364753647636477364783647936480364813648236483364843648536486364873648836489364903649136492364933649436495364963649736498364993650036501365023650336504365053650636507365083650936510365113651236513365143651536516365173651836519365203652136522365233652436525365263652736528365293653036531365323653336534365353653636537365383653936540365413654236543365443654536546365473654836549365503655136552365533655436555365563655736558365593656036561365623656336564365653656636567365683656936570365713657236573365743657536576365773657836579365803658136582365833658436585365863658736588365893659036591365923659336594365953659636597365983659936600366013660236603366043660536606366073660836609366103661136612366133661436615366163661736618366193662036621366223662336624366253662636627366283662936630366313663236633366343663536636366373663836639366403664136642366433664436645366463664736648366493665036651366523665336654366553665636657366583665936660366613666236663366643666536666366673666836669366703667136672366733667436675366763667736678366793668036681366823668336684366853668636687366883668936690366913669236693366943669536696366973669836699367003670136702367033670436705367063670736708367093671036711367123671336714367153671636717367183671936720367213672236723367243672536726367273672836729367303673136732367333673436735367363673736738367393674036741367423674336744367453674636747367483674936750367513675236753367543675536756367573675836759367603676136762367633676436765367663676736768367693677036771367723677336774367753677636777367783677936780367813678236783367843678536786367873678836789367903679136792367933679436795367963679736798367993680036801368023680336804368053680636807368083680936810368113681236813368143681536816368173681836819368203682136822368233682436825368263682736828368293683036831368323683336834368353683636837368383683936840368413684236843368443684536846368473684836849368503685136852368533685436855368563685736858368593686036861368623686336864368653686636867368683686936870368713687236873368743687536876368773687836879368803688136882368833688436885368863688736888368893689036891368923689336894368953689636897368983689936900369013690236903369043690536906369073690836909369103691136912369133691436915369163691736918369193692036921369223692336924369253692636927369283692936930369313693236933369343693536936369373693836939369403694136942369433694436945369463694736948369493695036951369523695336954369553695636957369583695936960369613696236963369643696536966369673696836969369703697136972369733697436975369763697736978369793698036981369823698336984369853698636987369883698936990369913699236993369943699536996369973699836999370003700137002370033700437005370063700737008370093701037011370123701337014370153701637017370183701937020370213702237023370243702537026370273702837029370303703137032370333703437035370363703737038370393704037041370423704337044370453704637047370483704937050370513705237053370543705537056370573705837059370603706137062370633706437065370663706737068370693707037071370723707337074370753707637077370783707937080370813708237083370843708537086370873708837089370903709137092370933709437095370963709737098370993710037101371023710337104371053710637107371083710937110371113711237113371143711537116371173711837119371203712137122371233712437125371263712737128371293713037131371323713337134371353713637137371383713937140371413714237143371443714537146371473714837149371503715137152371533715437155371563715737158371593716037161371623716337164371653716637167371683716937170371713717237173371743717537176371773717837179371803718137182371833718437185371863718737188371893719037191371923719337194371953719637197371983719937200372013720237203372043720537206372073720837209372103721137212372133721437215372163721737218372193722037221372223722337224372253722637227372283722937230372313723237233372343723537236372373723837239372403724137242372433724437245372463724737248372493725037251372523725337254372553725637257372583725937260372613726237263372643726537266372673726837269372703727137272372733727437275372763727737278372793728037281372823728337284372853728637287372883728937290372913729237293372943729537296372973729837299373003730137302373033730437305373063730737308373093731037311373123731337314373153731637317373183731937320373213732237323373243732537326373273732837329373303733137332373333733437335373363733737338373393734037341373423734337344373453734637347373483734937350373513735237353373543735537356373573735837359373603736137362373633736437365373663736737368373693737037371373723737337374373753737637377373783737937380373813738237383373843738537386373873738837389373903739137392373933739437395373963739737398373993740037401374023740337404374053740637407374083740937410374113741237413374143741537416374173741837419374203742137422374233742437425374263742737428374293743037431374323743337434374353743637437374383743937440374413744237443374443744537446374473744837449374503745137452374533745437455374563745737458374593746037461374623746337464374653746637467374683746937470374713747237473374743747537476374773747837479374803748137482374833748437485374863748737488374893749037491374923749337494374953749637497374983749937500375013750237503375043750537506375073750837509375103751137512375133751437515375163751737518375193752037521375223752337524375253752637527375283752937530375313753237533375343753537536375373753837539375403754137542375433754437545375463754737548375493755037551375523755337554375553755637557375583755937560375613756237563375643756537566375673756837569375703757137572375733757437575375763757737578375793758037581375823758337584375853758637587375883758937590375913759237593375943759537596375973759837599376003760137602376033760437605376063760737608376093761037611376123761337614376153761637617376183761937620376213762237623376243762537626376273762837629376303763137632376333763437635376363763737638376393764037641376423764337644376453764637647376483764937650376513765237653376543765537656376573765837659376603766137662376633766437665376663766737668376693767037671376723767337674376753767637677376783767937680376813768237683376843768537686376873768837689376903769137692376933769437695376963769737698376993770037701377023770337704377053770637707377083770937710377113771237713377143771537716377173771837719377203772137722377233772437725377263772737728377293773037731377323773337734377353773637737377383773937740377413774237743377443774537746377473774837749377503775137752377533775437755377563775737758377593776037761377623776337764377653776637767377683776937770377713777237773377743777537776377773777837779377803778137782377833778437785377863778737788377893779037791377923779337794377953779637797377983779937800378013780237803378043780537806378073780837809378103781137812378133781437815378163781737818378193782037821378223782337824378253782637827378283782937830378313783237833378343783537836378373783837839378403784137842378433784437845378463784737848378493785037851378523785337854378553785637857378583785937860378613786237863378643786537866378673786837869378703787137872378733787437875378763787737878378793788037881378823788337884378853788637887378883788937890378913789237893378943789537896378973789837899379003790137902379033790437905379063790737908379093791037911379123791337914379153791637917379183791937920379213792237923379243792537926379273792837929379303793137932379333793437935379363793737938379393794037941379423794337944379453794637947379483794937950379513795237953379543795537956379573795837959379603796137962379633796437965379663796737968379693797037971379723797337974379753797637977379783797937980379813798237983379843798537986379873798837989379903799137992379933799437995379963799737998379993800038001380023800338004380053800638007380083800938010380113801238013380143801538016380173801838019380203802138022380233802438025380263802738028380293803038031380323803338034380353803638037380383803938040380413804238043380443804538046380473804838049380503805138052380533805438055380563805738058380593806038061380623806338064380653806638067380683806938070380713807238073380743807538076380773807838079380803808138082380833808438085380863808738088380893809038091380923809338094380953809638097380983809938100381013810238103381043810538106381073810838109381103811138112381133811438115381163811738118381193812038121381223812338124381253812638127381283812938130381313813238133381343813538136381373813838139381403814138142381433814438145381463814738148381493815038151381523815338154381553815638157381583815938160381613816238163381643816538166381673816838169381703817138172381733817438175381763817738178381793818038181381823818338184381853818638187381883818938190381913819238193381943819538196381973819838199382003820138202382033820438205382063820738208382093821038211382123821338214382153821638217382183821938220382213822238223382243822538226382273822838229382303823138232382333823438235382363823738238382393824038241382423824338244382453824638247382483824938250382513825238253382543825538256382573825838259382603826138262382633826438265382663826738268382693827038271382723827338274382753827638277382783827938280382813828238283382843828538286382873828838289382903829138292382933829438295382963829738298382993830038301383023830338304383053830638307383083830938310383113831238313383143831538316383173831838319383203832138322383233832438325383263832738328383293833038331383323833338334383353833638337383383833938340383413834238343383443834538346383473834838349383503835138352383533835438355383563835738358383593836038361383623836338364383653836638367383683836938370383713837238373383743837538376383773837838379383803838138382383833838438385383863838738388383893839038391383923839338394383953839638397383983839938400384013840238403384043840538406384073840838409384103841138412384133841438415384163841738418384193842038421384223842338424384253842638427384283842938430384313843238433384343843538436384373843838439384403844138442384433844438445384463844738448384493845038451384523845338454384553845638457384583845938460384613846238463384643846538466384673846838469384703847138472384733847438475384763847738478384793848038481384823848338484384853848638487384883848938490384913849238493384943849538496384973849838499385003850138502385033850438505385063850738508385093851038511385123851338514385153851638517385183851938520385213852238523385243852538526385273852838529385303853138532385333853438535385363853738538385393854038541385423854338544385453854638547385483854938550385513855238553385543855538556385573855838559385603856138562385633856438565385663856738568385693857038571385723857338574385753857638577385783857938580385813858238583385843858538586385873858838589385903859138592385933859438595385963859738598385993860038601386023860338604386053860638607386083860938610386113861238613386143861538616386173861838619386203862138622386233862438625386263862738628386293863038631386323863338634386353863638637386383863938640386413864238643386443864538646386473864838649386503865138652386533865438655386563865738658386593866038661386623866338664386653866638667386683866938670386713867238673386743867538676386773867838679386803868138682386833868438685386863868738688386893869038691386923869338694386953869638697386983869938700387013870238703387043870538706387073870838709387103871138712387133871438715387163871738718387193872038721387223872338724387253872638727387283872938730387313873238733387343873538736387373873838739387403874138742387433874438745387463874738748387493875038751387523875338754387553875638757387583875938760387613876238763387643876538766387673876838769387703877138772387733877438775387763877738778387793878038781387823878338784387853878638787387883878938790387913879238793387943879538796387973879838799388003880138802388033880438805388063880738808388093881038811388123881338814388153881638817388183881938820388213882238823388243882538826388273882838829388303883138832388333883438835388363883738838388393884038841388423884338844388453884638847388483884938850388513885238853388543885538856388573885838859388603886138862388633886438865388663886738868388693887038871388723887338874388753887638877388783887938880388813888238883388843888538886388873888838889388903889138892388933889438895388963889738898388993890038901389023890338904389053890638907389083890938910389113891238913389143891538916389173891838919389203892138922389233892438925389263892738928389293893038931389323893338934389353893638937389383893938940389413894238943389443894538946389473894838949389503895138952389533895438955389563895738958389593896038961389623896338964389653896638967389683896938970389713897238973389743897538976389773897838979389803898138982389833898438985389863898738988389893899038991389923899338994389953899638997389983899939000390013900239003390043900539006390073900839009390103901139012390133901439015390163901739018390193902039021390223902339024390253902639027390283902939030390313903239033390343903539036390373903839039390403904139042390433904439045390463904739048390493905039051390523905339054390553905639057390583905939060390613906239063390643906539066390673906839069390703907139072390733907439075390763907739078390793908039081390823908339084390853908639087390883908939090390913909239093390943909539096390973909839099391003910139102391033910439105391063910739108391093911039111391123911339114391153911639117391183911939120391213912239123391243912539126391273912839129391303913139132391333913439135391363913739138391393914039141391423914339144391453914639147391483914939150391513915239153391543915539156391573915839159391603916139162391633916439165391663916739168391693917039171391723917339174391753917639177391783917939180391813918239183391843918539186391873918839189391903919139192391933919439195391963919739198391993920039201392023920339204392053920639207392083920939210392113921239213392143921539216392173921839219392203922139222392233922439225392263922739228392293923039231392323923339234392353923639237392383923939240392413924239243392443924539246392473924839249392503925139252392533925439255392563925739258392593926039261392623926339264392653926639267392683926939270392713927239273392743927539276392773927839279392803928139282392833928439285392863928739288392893929039291392923929339294392953929639297392983929939300393013930239303393043930539306393073930839309393103931139312393133931439315393163931739318393193932039321393223932339324393253932639327393283932939330393313933239333393343933539336393373933839339393403934139342393433934439345393463934739348393493935039351393523935339354393553935639357393583935939360393613936239363393643936539366393673936839369393703937139372393733937439375393763937739378393793938039381393823938339384393853938639387393883938939390393913939239393393943939539396393973939839399394003940139402394033940439405394063940739408394093941039411394123941339414394153941639417394183941939420394213942239423394243942539426394273942839429394303943139432394333943439435394363943739438394393944039441394423944339444394453944639447394483944939450394513945239453394543945539456394573945839459394603946139462394633946439465394663946739468394693947039471394723947339474394753947639477394783947939480394813948239483394843948539486394873948839489394903949139492394933949439495394963949739498394993950039501395023950339504395053950639507395083950939510395113951239513395143951539516395173951839519395203952139522395233952439525395263952739528395293953039531395323953339534395353953639537395383953939540395413954239543395443954539546395473954839549395503955139552395533955439555395563955739558395593956039561395623956339564395653956639567395683956939570395713957239573395743957539576395773957839579395803958139582395833958439585395863958739588395893959039591395923959339594395953959639597395983959939600396013960239603396043960539606396073960839609396103961139612396133961439615396163961739618396193962039621396223962339624396253962639627396283962939630396313963239633396343963539636396373963839639396403964139642396433964439645396463964739648396493965039651396523965339654396553965639657396583965939660396613966239663396643966539666396673966839669396703967139672396733967439675396763967739678396793968039681396823968339684396853968639687396883968939690396913969239693396943969539696396973969839699397003970139702397033970439705397063970739708397093971039711397123971339714397153971639717397183971939720397213972239723397243972539726397273972839729397303973139732397333973439735397363973739738397393974039741397423974339744397453974639747397483974939750397513975239753397543975539756397573975839759397603976139762397633976439765397663976739768397693977039771397723977339774397753977639777397783977939780397813978239783397843978539786397873978839789397903979139792397933979439795397963979739798397993980039801398023980339804398053980639807398083980939810398113981239813398143981539816398173981839819398203982139822398233982439825398263982739828398293983039831398323983339834398353983639837398383983939840398413984239843398443984539846398473984839849398503985139852398533985439855398563985739858398593986039861398623986339864398653986639867398683986939870398713987239873398743987539876398773987839879398803988139882398833988439885398863988739888398893989039891398923989339894398953989639897398983989939900399013990239903399043990539906399073990839909399103991139912399133991439915399163991739918399193992039921399223992339924399253992639927399283992939930399313993239933399343993539936399373993839939399403994139942399433994439945399463994739948399493995039951399523995339954399553995639957399583995939960399613996239963399643996539966399673996839969399703997139972399733997439975399763997739978399793998039981399823998339984399853998639987399883998939990399913999239993399943999539996399973999839999400004000140002400034000440005400064000740008400094001040011400124001340014400154001640017400184001940020400214002240023400244002540026400274002840029400304003140032400334003440035400364003740038400394004040041400424004340044400454004640047400484004940050400514005240053400544005540056400574005840059400604006140062400634006440065400664006740068400694007040071400724007340074400754007640077400784007940080400814008240083400844008540086400874008840089400904009140092400934009440095400964009740098400994010040101401024010340104401054010640107401084010940110401114011240113401144011540116401174011840119401204012140122401234012440125401264012740128401294013040131401324013340134401354013640137401384013940140401414014240143401444014540146401474014840149401504015140152401534015440155401564015740158401594016040161401624016340164401654016640167401684016940170401714017240173401744017540176401774017840179401804018140182401834018440185401864018740188401894019040191401924019340194401954019640197401984019940200402014020240203402044020540206402074020840209402104021140212402134021440215402164021740218402194022040221402224022340224402254022640227402284022940230402314023240233402344023540236402374023840239402404024140242402434024440245402464024740248402494025040251402524025340254402554025640257402584025940260402614026240263402644026540266402674026840269402704027140272402734027440275402764027740278402794028040281402824028340284402854028640287402884028940290402914029240293402944029540296402974029840299403004030140302403034030440305403064030740308403094031040311403124031340314403154031640317403184031940320403214032240323403244032540326403274032840329403304033140332403334033440335403364033740338403394034040341403424034340344403454034640347403484034940350403514035240353403544035540356403574035840359403604036140362403634036440365403664036740368403694037040371403724037340374403754037640377403784037940380403814038240383403844038540386403874038840389403904039140392403934039440395403964039740398403994040040401404024040340404404054040640407404084040940410404114041240413404144041540416404174041840419404204042140422404234042440425404264042740428404294043040431404324043340434404354043640437404384043940440404414044240443404444044540446404474044840449404504045140452404534045440455404564045740458404594046040461404624046340464404654046640467404684046940470404714047240473404744047540476404774047840479404804048140482404834048440485404864048740488404894049040491404924049340494404954049640497404984049940500405014050240503405044050540506405074050840509405104051140512405134051440515405164051740518405194052040521405224052340524405254052640527405284052940530405314053240533405344053540536405374053840539405404054140542405434054440545405464054740548405494055040551405524055340554405554055640557405584055940560405614056240563405644056540566405674056840569405704057140572405734057440575405764057740578405794058040581405824058340584405854058640587405884058940590405914059240593405944059540596405974059840599406004060140602406034060440605406064060740608406094061040611406124061340614406154061640617406184061940620406214062240623406244062540626406274062840629406304063140632406334063440635406364063740638406394064040641406424064340644406454064640647406484064940650406514065240653406544065540656406574065840659406604066140662406634066440665406664066740668406694067040671406724067340674406754067640677406784067940680406814068240683406844068540686406874068840689406904069140692406934069440695406964069740698406994070040701407024070340704407054070640707407084070940710407114071240713407144071540716407174071840719407204072140722407234072440725407264072740728407294073040731407324073340734407354073640737407384073940740407414074240743407444074540746407474074840749407504075140752407534075440755407564075740758407594076040761407624076340764407654076640767407684076940770407714077240773407744077540776407774077840779407804078140782407834078440785407864078740788407894079040791407924079340794407954079640797407984079940800408014080240803408044080540806408074080840809408104081140812408134081440815408164081740818408194082040821408224082340824408254082640827408284082940830408314083240833408344083540836408374083840839408404084140842408434084440845408464084740848408494085040851408524085340854408554085640857408584085940860408614086240863408644086540866408674086840869408704087140872408734087440875408764087740878408794088040881408824088340884408854088640887408884088940890408914089240893408944089540896408974089840899409004090140902409034090440905409064090740908409094091040911409124091340914409154091640917409184091940920409214092240923409244092540926409274092840929409304093140932409334093440935409364093740938409394094040941409424094340944409454094640947409484094940950409514095240953409544095540956409574095840959409604096140962409634096440965409664096740968409694097040971409724097340974409754097640977409784097940980409814098240983409844098540986409874098840989409904099140992409934099440995409964099740998409994100041001410024100341004410054100641007410084100941010410114101241013410144101541016410174101841019410204102141022410234102441025410264102741028410294103041031410324103341034410354103641037410384103941040410414104241043410444104541046410474104841049410504105141052410534105441055410564105741058410594106041061410624106341064410654106641067410684106941070410714107241073410744107541076410774107841079410804108141082410834108441085410864108741088410894109041091410924109341094410954109641097410984109941100411014110241103411044110541106411074110841109411104111141112411134111441115411164111741118411194112041121411224112341124411254112641127411284112941130411314113241133411344113541136411374113841139411404114141142411434114441145411464114741148411494115041151411524115341154411554115641157411584115941160411614116241163411644116541166411674116841169411704117141172411734117441175411764117741178411794118041181411824118341184411854118641187411884118941190411914119241193411944119541196411974119841199412004120141202412034120441205412064120741208412094121041211412124121341214412154121641217412184121941220412214122241223412244122541226412274122841229412304123141232412334123441235412364123741238412394124041241412424124341244412454124641247412484124941250412514125241253412544125541256412574125841259412604126141262412634126441265412664126741268412694127041271412724127341274412754127641277412784127941280412814128241283412844128541286412874128841289412904129141292412934129441295412964129741298412994130041301413024130341304413054130641307413084130941310413114131241313413144131541316413174131841319413204132141322413234132441325413264132741328413294133041331413324133341334413354133641337413384133941340413414134241343413444134541346413474134841349413504135141352413534135441355413564135741358413594136041361413624136341364413654136641367413684136941370413714137241373413744137541376413774137841379413804138141382413834138441385413864138741388413894139041391413924139341394413954139641397413984139941400414014140241403414044140541406414074140841409414104141141412414134141441415414164141741418414194142041421414224142341424414254142641427414284142941430414314143241433414344143541436414374143841439414404144141442414434144441445414464144741448414494145041451414524145341454414554145641457414584145941460414614146241463414644146541466414674146841469414704147141472414734147441475414764147741478414794148041481414824148341484414854148641487414884148941490414914149241493414944149541496414974149841499415004150141502415034150441505415064150741508415094151041511415124151341514415154151641517415184151941520415214152241523415244152541526415274152841529415304153141532415334153441535415364153741538415394154041541415424154341544415454154641547415484154941550415514155241553415544155541556415574155841559415604156141562415634156441565415664156741568415694157041571415724157341574415754157641577415784157941580415814158241583415844158541586415874158841589415904159141592415934159441595415964159741598415994160041601416024160341604416054160641607416084160941610416114161241613416144161541616416174161841619416204162141622416234162441625416264162741628416294163041631416324163341634416354163641637416384163941640416414164241643416444164541646416474164841649416504165141652416534165441655416564165741658416594166041661416624166341664416654166641667416684166941670416714167241673416744167541676416774167841679416804168141682416834168441685416864168741688416894169041691416924169341694416954169641697416984169941700417014170241703417044170541706417074170841709417104171141712417134171441715417164171741718417194172041721417224172341724417254172641727417284172941730417314173241733417344173541736417374173841739417404174141742417434174441745417464174741748417494175041751417524175341754417554175641757417584175941760417614176241763417644176541766417674176841769417704177141772417734177441775417764177741778417794178041781417824178341784417854178641787417884178941790417914179241793417944179541796417974179841799418004180141802418034180441805418064180741808418094181041811418124181341814418154181641817418184181941820418214182241823418244182541826418274182841829418304183141832418334183441835418364183741838418394184041841418424184341844418454184641847418484184941850418514185241853418544185541856418574185841859418604186141862418634186441865418664186741868418694187041871418724187341874418754187641877418784187941880418814188241883418844188541886418874188841889418904189141892418934189441895418964189741898418994190041901419024190341904419054190641907419084190941910419114191241913419144191541916419174191841919419204192141922419234192441925419264192741928419294193041931419324193341934419354193641937419384193941940419414194241943419444194541946419474194841949419504195141952419534195441955419564195741958419594196041961419624196341964419654196641967419684196941970419714197241973419744197541976419774197841979419804198141982419834198441985419864198741988419894199041991419924199341994419954199641997419984199942000420014200242003420044200542006420074200842009420104201142012420134201442015420164201742018420194202042021420224202342024420254202642027420284202942030420314203242033420344203542036420374203842039420404204142042420434204442045420464204742048420494205042051420524205342054420554205642057420584205942060420614206242063420644206542066420674206842069420704207142072420734207442075420764207742078420794208042081420824208342084420854208642087420884208942090420914209242093420944209542096420974209842099421004210142102421034210442105421064210742108421094211042111421124211342114421154211642117421184211942120421214212242123421244212542126421274212842129421304213142132421334213442135421364213742138421394214042141421424214342144421454214642147421484214942150421514215242153421544215542156421574215842159421604216142162421634216442165421664216742168421694217042171421724217342174421754217642177421784217942180421814218242183421844218542186421874218842189421904219142192421934219442195421964219742198421994220042201422024220342204422054220642207422084220942210422114221242213422144221542216422174221842219422204222142222422234222442225422264222742228422294223042231422324223342234422354223642237422384223942240422414224242243422444224542246422474224842249422504225142252422534225442255422564225742258422594226042261422624226342264422654226642267422684226942270422714227242273422744227542276422774227842279422804228142282422834228442285422864228742288422894229042291422924229342294422954229642297422984229942300423014230242303423044230542306423074230842309423104231142312423134231442315423164231742318423194232042321423224232342324423254232642327423284232942330423314233242333423344233542336423374233842339423404234142342423434234442345423464234742348423494235042351423524235342354423554235642357423584235942360423614236242363423644236542366423674236842369423704237142372423734237442375423764237742378423794238042381423824238342384423854238642387423884238942390423914239242393423944239542396423974239842399424004240142402424034240442405424064240742408424094241042411424124241342414424154241642417424184241942420424214242242423424244242542426424274242842429424304243142432424334243442435424364243742438424394244042441424424244342444424454244642447424484244942450424514245242453424544245542456424574245842459424604246142462424634246442465424664246742468424694247042471424724247342474424754247642477424784247942480424814248242483424844248542486424874248842489424904249142492424934249442495424964249742498424994250042501425024250342504425054250642507425084250942510425114251242513425144251542516425174251842519425204252142522425234252442525425264252742528425294253042531425324253342534425354253642537425384253942540425414254242543425444254542546425474254842549425504255142552425534255442555425564255742558425594256042561425624256342564425654256642567425684256942570425714257242573425744257542576425774257842579425804258142582425834258442585425864258742588425894259042591425924259342594425954259642597425984259942600426014260242603426044260542606426074260842609426104261142612426134261442615426164261742618426194262042621426224262342624426254262642627426284262942630426314263242633426344263542636426374263842639426404264142642426434264442645426464264742648426494265042651426524265342654426554265642657426584265942660426614266242663426644266542666426674266842669426704267142672426734267442675426764267742678426794268042681426824268342684426854268642687426884268942690426914269242693426944269542696426974269842699427004270142702427034270442705427064270742708427094271042711427124271342714427154271642717427184271942720427214272242723427244272542726427274272842729427304273142732427334273442735427364273742738427394274042741427424274342744427454274642747427484274942750427514275242753427544275542756427574275842759427604276142762427634276442765427664276742768427694277042771427724277342774427754277642777427784277942780427814278242783427844278542786427874278842789427904279142792427934279442795427964279742798427994280042801428024280342804428054280642807428084280942810428114281242813428144281542816428174281842819428204282142822428234282442825428264282742828428294283042831428324283342834428354283642837428384283942840428414284242843428444284542846428474284842849428504285142852428534285442855428564285742858428594286042861428624286342864428654286642867428684286942870428714287242873428744287542876428774287842879428804288142882428834288442885428864288742888428894289042891428924289342894428954289642897428984289942900429014290242903429044290542906429074290842909429104291142912429134291442915429164291742918429194292042921429224292342924429254292642927429284292942930429314293242933429344293542936429374293842939429404294142942429434294442945429464294742948429494295042951429524295342954429554295642957429584295942960429614296242963429644296542966429674296842969429704297142972429734297442975429764297742978429794298042981429824298342984429854298642987429884298942990429914299242993429944299542996429974299842999430004300143002430034300443005430064300743008430094301043011430124301343014430154301643017430184301943020430214302243023430244302543026430274302843029430304303143032430334303443035430364303743038430394304043041430424304343044430454304643047430484304943050430514305243053430544305543056430574305843059430604306143062430634306443065430664306743068430694307043071430724307343074430754307643077430784307943080430814308243083430844308543086430874308843089430904309143092430934309443095430964309743098430994310043101431024310343104431054310643107431084310943110431114311243113431144311543116431174311843119431204312143122431234312443125431264312743128431294313043131431324313343134431354313643137431384313943140431414314243143431444314543146431474314843149431504315143152431534315443155431564315743158431594316043161431624316343164431654316643167431684316943170431714317243173431744317543176431774317843179431804318143182431834318443185431864318743188431894319043191431924319343194431954319643197431984319943200432014320243203432044320543206432074320843209432104321143212432134321443215432164321743218432194322043221432224322343224432254322643227432284322943230432314323243233432344323543236432374323843239432404324143242432434324443245432464324743248432494325043251432524325343254432554325643257432584325943260432614326243263432644326543266432674326843269432704327143272432734327443275432764327743278432794328043281432824328343284432854328643287432884328943290432914329243293432944329543296432974329843299433004330143302433034330443305433064330743308433094331043311433124331343314433154331643317433184331943320433214332243323433244332543326433274332843329433304333143332433334333443335433364333743338433394334043341433424334343344433454334643347433484334943350433514335243353433544335543356433574335843359433604336143362433634336443365433664336743368433694337043371433724337343374433754337643377433784337943380433814338243383433844338543386433874338843389433904339143392433934339443395433964339743398433994340043401434024340343404434054340643407434084340943410434114341243413434144341543416434174341843419434204342143422434234342443425434264342743428434294343043431434324343343434434354343643437434384343943440434414344243443434444344543446434474344843449434504345143452434534345443455434564345743458434594346043461434624346343464434654346643467434684346943470434714347243473434744347543476434774347843479434804348143482434834348443485434864348743488434894349043491434924349343494434954349643497434984349943500435014350243503435044350543506435074350843509435104351143512435134351443515435164351743518435194352043521435224352343524435254352643527435284352943530435314353243533435344353543536435374353843539435404354143542435434354443545435464354743548435494355043551435524355343554435554355643557435584355943560435614356243563435644356543566435674356843569435704357143572435734357443575435764357743578435794358043581435824358343584435854358643587435884358943590435914359243593435944359543596435974359843599436004360143602436034360443605436064360743608436094361043611436124361343614436154361643617436184361943620436214362243623436244362543626436274362843629436304363143632436334363443635436364363743638436394364043641436424364343644436454364643647436484364943650436514365243653436544365543656436574365843659436604366143662436634366443665436664366743668436694367043671436724367343674436754367643677436784367943680436814368243683436844368543686436874368843689436904369143692436934369443695436964369743698436994370043701437024370343704437054370643707437084370943710437114371243713437144371543716437174371843719437204372143722437234372443725437264372743728437294373043731437324373343734437354373643737437384373943740437414374243743437444374543746437474374843749437504375143752437534375443755437564375743758437594376043761437624376343764437654376643767437684376943770437714377243773437744377543776437774377843779437804378143782437834378443785437864378743788437894379043791437924379343794437954379643797437984379943800438014380243803438044380543806438074380843809438104381143812438134381443815438164381743818438194382043821438224382343824438254382643827438284382943830438314383243833438344383543836438374383843839438404384143842438434384443845438464384743848438494385043851438524385343854438554385643857438584385943860438614386243863438644386543866438674386843869438704387143872438734387443875438764387743878438794388043881438824388343884438854388643887438884388943890438914389243893438944389543896438974389843899439004390143902439034390443905439064390743908439094391043911439124391343914439154391643917439184391943920439214392243923439244392543926439274392843929439304393143932439334393443935439364393743938439394394043941439424394343944439454394643947439484394943950439514395243953439544395543956439574395843959439604396143962439634396443965439664396743968439694397043971439724397343974439754397643977439784397943980439814398243983439844398543986439874398843989439904399143992439934399443995439964399743998439994400044001440024400344004440054400644007440084400944010440114401244013440144401544016440174401844019440204402144022440234402444025440264402744028440294403044031440324403344034440354403644037440384403944040440414404244043440444404544046440474404844049440504405144052440534405444055440564405744058440594406044061440624406344064440654406644067440684406944070440714407244073440744407544076440774407844079440804408144082440834408444085440864408744088440894409044091440924409344094440954409644097440984409944100441014410244103441044410544106441074410844109441104411144112441134411444115441164411744118441194412044121441224412344124441254412644127441284412944130441314413244133441344413544136441374413844139441404414144142441434414444145441464414744148441494415044151441524415344154441554415644157441584415944160441614416244163441644416544166441674416844169441704417144172441734417444175441764417744178441794418044181441824418344184441854418644187441884418944190441914419244193441944419544196441974419844199442004420144202442034420444205442064420744208442094421044211442124421344214442154421644217442184421944220442214422244223442244422544226442274422844229442304423144232442334423444235442364423744238442394424044241442424424344244442454424644247442484424944250442514425244253442544425544256442574425844259442604426144262442634426444265442664426744268442694427044271442724427344274442754427644277442784427944280442814428244283442844428544286442874428844289442904429144292442934429444295442964429744298442994430044301443024430344304443054430644307443084430944310443114431244313443144431544316443174431844319443204432144322443234432444325443264432744328443294433044331443324433344334443354433644337443384433944340443414434244343443444434544346443474434844349443504435144352443534435444355443564435744358443594436044361443624436344364443654436644367443684436944370443714437244373443744437544376443774437844379443804438144382443834438444385443864438744388443894439044391443924439344394443954439644397443984439944400444014440244403444044440544406444074440844409444104441144412444134441444415444164441744418444194442044421444224442344424444254442644427444284442944430444314443244433444344443544436444374443844439444404444144442444434444444445444464444744448444494445044451444524445344454444554445644457444584445944460444614446244463444644446544466444674446844469444704447144472444734447444475444764447744478444794448044481444824448344484444854448644487444884448944490444914449244493444944449544496444974449844499445004450144502445034450444505445064450744508445094451044511445124451344514445154451644517445184451944520445214452244523445244452544526445274452844529445304453144532445334453444535445364453744538445394454044541445424454344544445454454644547445484454944550445514455244553445544455544556445574455844559445604456144562445634456444565445664456744568445694457044571445724457344574445754457644577445784457944580445814458244583445844458544586445874458844589445904459144592445934459444595445964459744598445994460044601446024460344604446054460644607446084460944610446114461244613446144461544616446174461844619446204462144622446234462444625446264462744628446294463044631446324463344634446354463644637446384463944640446414464244643446444464544646446474464844649446504465144652446534465444655446564465744658446594466044661446624466344664446654466644667446684466944670446714467244673446744467544676446774467844679446804468144682446834468444685446864468744688446894469044691446924469344694446954469644697446984469944700447014470244703447044470544706447074470844709447104471144712447134471444715447164471744718447194472044721447224472344724447254472644727447284472944730447314473244733447344473544736447374473844739447404474144742447434474444745447464474744748447494475044751447524475344754447554475644757447584475944760447614476244763447644476544766447674476844769447704477144772447734477444775447764477744778447794478044781447824478344784447854478644787447884478944790447914479244793447944479544796447974479844799448004480144802448034480444805448064480744808448094481044811448124481344814448154481644817448184481944820448214482244823448244482544826448274482844829448304483144832448334483444835448364483744838448394484044841448424484344844448454484644847448484484944850448514485244853448544485544856448574485844859448604486144862448634486444865448664486744868448694487044871448724487344874448754487644877448784487944880448814488244883448844488544886448874488844889448904489144892448934489444895448964489744898448994490044901449024490344904449054490644907449084490944910449114491244913449144491544916449174491844919449204492144922449234492444925449264492744928449294493044931449324493344934449354493644937449384493944940449414494244943449444494544946449474494844949449504495144952449534495444955449564495744958449594496044961449624496344964449654496644967449684496944970449714497244973449744497544976449774497844979449804498144982449834498444985449864498744988449894499044991449924499344994449954499644997449984499945000450014500245003450044500545006450074500845009450104501145012450134501445015450164501745018450194502045021450224502345024450254502645027450284502945030450314503245033450344503545036450374503845039450404504145042450434504445045450464504745048450494505045051450524505345054450554505645057450584505945060450614506245063450644506545066450674506845069450704507145072450734507445075450764507745078450794508045081450824508345084450854508645087450884508945090450914509245093450944509545096450974509845099451004510145102451034510445105451064510745108451094511045111451124511345114451154511645117451184511945120451214512245123451244512545126451274512845129451304513145132451334513445135451364513745138451394514045141451424514345144451454514645147451484514945150451514515245153451544515545156451574515845159451604516145162451634516445165451664516745168451694517045171451724517345174451754517645177451784517945180451814518245183451844518545186451874518845189451904519145192451934519445195451964519745198451994520045201452024520345204452054520645207452084520945210452114521245213452144521545216452174521845219452204522145222452234522445225452264522745228452294523045231452324523345234452354523645237452384523945240452414524245243452444524545246452474524845249452504525145252452534525445255452564525745258452594526045261452624526345264452654526645267452684526945270452714527245273452744527545276452774527845279452804528145282452834528445285452864528745288452894529045291452924529345294452954529645297452984529945300453014530245303453044530545306453074530845309453104531145312453134531445315453164531745318453194532045321453224532345324453254532645327453284532945330453314533245333453344533545336453374533845339453404534145342453434534445345453464534745348453494535045351453524535345354453554535645357453584535945360453614536245363453644536545366453674536845369453704537145372453734537445375453764537745378453794538045381453824538345384453854538645387453884538945390453914539245393453944539545396453974539845399454004540145402454034540445405454064540745408454094541045411454124541345414454154541645417454184541945420454214542245423454244542545426454274542845429454304543145432454334543445435454364543745438454394544045441454424544345444454454544645447454484544945450454514545245453454544545545456454574545845459454604546145462454634546445465454664546745468454694547045471454724547345474454754547645477454784547945480454814548245483454844548545486454874548845489454904549145492454934549445495454964549745498454994550045501455024550345504455054550645507455084550945510455114551245513455144551545516455174551845519455204552145522455234552445525455264552745528455294553045531455324553345534455354553645537455384553945540455414554245543455444554545546455474554845549455504555145552455534555445555455564555745558455594556045561455624556345564455654556645567455684556945570455714557245573455744557545576455774557845579455804558145582455834558445585455864558745588455894559045591455924559345594455954559645597455984559945600456014560245603456044560545606456074560845609456104561145612456134561445615456164561745618456194562045621456224562345624456254562645627456284562945630456314563245633456344563545636456374563845639456404564145642456434564445645456464564745648456494565045651456524565345654456554565645657456584565945660456614566245663456644566545666456674566845669456704567145672456734567445675456764567745678456794568045681456824568345684456854568645687456884568945690456914569245693456944569545696456974569845699457004570145702457034570445705457064570745708457094571045711457124571345714457154571645717457184571945720457214572245723457244572545726457274572845729457304573145732457334573445735457364573745738457394574045741457424574345744457454574645747457484574945750457514575245753457544575545756457574575845759457604576145762457634576445765457664576745768457694577045771457724577345774457754577645777457784577945780457814578245783457844578545786457874578845789457904579145792457934579445795457964579745798457994580045801458024580345804458054580645807458084580945810458114581245813458144581545816458174581845819458204582145822458234582445825458264582745828458294583045831458324583345834458354583645837458384583945840458414584245843458444584545846458474584845849458504585145852458534585445855458564585745858458594586045861458624586345864458654586645867458684586945870458714587245873458744587545876458774587845879458804588145882458834588445885458864588745888458894589045891458924589345894458954589645897458984589945900459014590245903459044590545906459074590845909459104591145912459134591445915459164591745918459194592045921459224592345924459254592645927459284592945930459314593245933459344593545936459374593845939459404594145942459434594445945459464594745948459494595045951459524595345954459554595645957459584595945960459614596245963459644596545966459674596845969459704597145972459734597445975459764597745978459794598045981459824598345984459854598645987459884598945990459914599245993459944599545996459974599845999460004600146002460034600446005460064600746008460094601046011460124601346014460154601646017460184601946020460214602246023460244602546026460274602846029460304603146032460334603446035460364603746038460394604046041460424604346044460454604646047460484604946050460514605246053460544605546056460574605846059460604606146062460634606446065460664606746068460694607046071460724607346074460754607646077460784607946080460814608246083460844608546086460874608846089460904609146092460934609446095460964609746098460994610046101461024610346104461054610646107461084610946110461114611246113461144611546116461174611846119461204612146122461234612446125461264612746128461294613046131461324613346134461354613646137461384613946140461414614246143461444614546146461474614846149461504615146152461534615446155461564615746158461594616046161461624616346164461654616646167461684616946170461714617246173461744617546176461774617846179461804618146182461834618446185461864618746188461894619046191461924619346194461954619646197461984619946200462014620246203462044620546206462074620846209462104621146212462134621446215462164621746218462194622046221462224622346224462254622646227462284622946230462314623246233462344623546236462374623846239462404624146242462434624446245462464624746248462494625046251462524625346254462554625646257462584625946260462614626246263462644626546266462674626846269462704627146272462734627446275462764627746278462794628046281462824628346284462854628646287462884628946290462914629246293462944629546296462974629846299463004630146302463034630446305463064630746308463094631046311463124631346314463154631646317463184631946320463214632246323463244632546326463274632846329463304633146332463334633446335463364633746338463394634046341463424634346344463454634646347463484634946350463514635246353463544635546356463574635846359463604636146362463634636446365463664636746368463694637046371463724637346374463754637646377463784637946380463814638246383463844638546386463874638846389463904639146392463934639446395463964639746398463994640046401464024640346404464054640646407464084640946410464114641246413464144641546416464174641846419464204642146422464234642446425464264642746428464294643046431464324643346434464354643646437464384643946440464414644246443464444644546446464474644846449464504645146452464534645446455464564645746458464594646046461464624646346464464654646646467464684646946470464714647246473464744647546476464774647846479464804648146482464834648446485464864648746488464894649046491464924649346494464954649646497464984649946500465014650246503465044650546506465074650846509465104651146512465134651446515465164651746518465194652046521465224652346524465254652646527465284652946530465314653246533465344653546536465374653846539465404654146542465434654446545465464654746548465494655046551465524655346554465554655646557465584655946560465614656246563465644656546566465674656846569465704657146572465734657446575465764657746578465794658046581465824658346584465854658646587465884658946590465914659246593465944659546596465974659846599466004660146602466034660446605466064660746608466094661046611466124661346614466154661646617466184661946620466214662246623466244662546626466274662846629466304663146632466334663446635466364663746638466394664046641466424664346644466454664646647466484664946650466514665246653466544665546656466574665846659466604666146662466634666446665466664666746668466694667046671466724667346674466754667646677466784667946680466814668246683466844668546686466874668846689466904669146692466934669446695466964669746698466994670046701467024670346704467054670646707467084670946710467114671246713467144671546716467174671846719467204672146722467234672446725467264672746728467294673046731467324673346734467354673646737467384673946740467414674246743467444674546746467474674846749467504675146752467534675446755467564675746758467594676046761467624676346764467654676646767467684676946770467714677246773467744677546776467774677846779467804678146782467834678446785467864678746788467894679046791467924679346794467954679646797467984679946800468014680246803468044680546806468074680846809468104681146812468134681446815468164681746818468194682046821468224682346824468254682646827468284682946830468314683246833468344683546836468374683846839468404684146842468434684446845468464684746848468494685046851468524685346854468554685646857468584685946860468614686246863468644686546866468674686846869468704687146872468734687446875468764687746878468794688046881468824688346884468854688646887468884688946890468914689246893468944689546896468974689846899469004690146902469034690446905469064690746908469094691046911469124691346914469154691646917469184691946920469214692246923469244692546926469274692846929469304693146932469334693446935469364693746938469394694046941469424694346944469454694646947469484694946950469514695246953469544695546956469574695846959469604696146962469634696446965469664696746968469694697046971469724697346974469754697646977469784697946980469814698246983469844698546986469874698846989469904699146992469934699446995469964699746998469994700047001470024700347004470054700647007470084700947010470114701247013470144701547016470174701847019470204702147022470234702447025470264702747028470294703047031470324703347034470354703647037470384703947040470414704247043470444704547046470474704847049470504705147052470534705447055470564705747058470594706047061470624706347064470654706647067470684706947070470714707247073470744707547076470774707847079470804708147082470834708447085470864708747088470894709047091470924709347094470954709647097470984709947100471014710247103471044710547106471074710847109471104711147112471134711447115471164711747118471194712047121471224712347124471254712647127471284712947130471314713247133471344713547136471374713847139471404714147142471434714447145471464714747148471494715047151471524715347154471554715647157471584715947160471614716247163471644716547166471674716847169471704717147172471734717447175471764717747178471794718047181471824718347184471854718647187471884718947190471914719247193471944719547196471974719847199472004720147202472034720447205472064720747208472094721047211472124721347214472154721647217472184721947220472214722247223472244722547226472274722847229472304723147232472334723447235472364723747238472394724047241472424724347244472454724647247472484724947250472514725247253472544725547256472574725847259472604726147262472634726447265472664726747268472694727047271472724727347274472754727647277472784727947280472814728247283472844728547286472874728847289472904729147292472934729447295472964729747298472994730047301473024730347304473054730647307473084730947310473114731247313473144731547316473174731847319473204732147322473234732447325473264732747328473294733047331473324733347334473354733647337473384733947340473414734247343473444734547346473474734847349473504735147352473534735447355473564735747358473594736047361473624736347364473654736647367473684736947370473714737247373473744737547376473774737847379473804738147382473834738447385473864738747388473894739047391473924739347394473954739647397473984739947400474014740247403474044740547406474074740847409474104741147412474134741447415474164741747418474194742047421474224742347424474254742647427474284742947430474314743247433474344743547436474374743847439474404744147442474434744447445474464744747448474494745047451474524745347454474554745647457474584745947460474614746247463474644746547466474674746847469474704747147472474734747447475474764747747478474794748047481474824748347484474854748647487474884748947490474914749247493474944749547496474974749847499475004750147502475034750447505475064750747508475094751047511475124751347514475154751647517475184751947520475214752247523475244752547526475274752847529475304753147532475334753447535475364753747538475394754047541475424754347544475454754647547475484754947550475514755247553475544755547556475574755847559475604756147562475634756447565475664756747568475694757047571475724757347574475754757647577475784757947580475814758247583475844758547586475874758847589475904759147592475934759447595475964759747598475994760047601476024760347604476054760647607476084760947610476114761247613476144761547616476174761847619476204762147622476234762447625476264762747628476294763047631476324763347634476354763647637476384763947640476414764247643476444764547646476474764847649476504765147652476534765447655476564765747658476594766047661476624766347664476654766647667476684766947670476714767247673476744767547676476774767847679476804768147682476834768447685476864768747688476894769047691476924769347694476954769647697476984769947700477014770247703477044770547706477074770847709477104771147712477134771447715477164771747718477194772047721477224772347724477254772647727477284772947730477314773247733477344773547736477374773847739477404774147742477434774447745477464774747748477494775047751477524775347754477554775647757477584775947760477614776247763477644776547766477674776847769477704777147772477734777447775477764777747778477794778047781477824778347784477854778647787477884778947790477914779247793477944779547796477974779847799478004780147802478034780447805478064780747808478094781047811478124781347814478154781647817478184781947820478214782247823478244782547826478274782847829478304783147832478334783447835478364783747838478394784047841478424784347844478454784647847478484784947850478514785247853478544785547856478574785847859478604786147862478634786447865478664786747868478694787047871478724787347874478754787647877478784787947880478814788247883478844788547886478874788847889478904789147892478934789447895478964789747898478994790047901479024790347904479054790647907479084790947910479114791247913479144791547916479174791847919479204792147922479234792447925479264792747928479294793047931479324793347934479354793647937479384793947940479414794247943479444794547946479474794847949479504795147952479534795447955479564795747958479594796047961479624796347964479654796647967479684796947970479714797247973479744797547976479774797847979479804798147982479834798447985479864798747988479894799047991479924799347994479954799647997479984799948000480014800248003480044800548006480074800848009480104801148012480134801448015480164801748018480194802048021480224802348024480254802648027480284802948030480314803248033480344803548036480374803848039480404804148042480434804448045480464804748048480494805048051480524805348054480554805648057480584805948060480614806248063480644806548066480674806848069480704807148072480734807448075480764807748078480794808048081480824808348084480854808648087480884808948090480914809248093480944809548096480974809848099481004810148102481034810448105481064810748108481094811048111481124811348114481154811648117481184811948120481214812248123481244812548126481274812848129481304813148132481334813448135481364813748138481394814048141481424814348144481454814648147481484814948150481514815248153481544815548156481574815848159481604816148162481634816448165481664816748168481694817048171481724817348174481754817648177481784817948180481814818248183481844818548186481874818848189481904819148192481934819448195481964819748198481994820048201482024820348204482054820648207482084820948210482114821248213482144821548216482174821848219482204822148222482234822448225482264822748228482294823048231482324823348234482354823648237482384823948240482414824248243482444824548246482474824848249482504825148252482534825448255482564825748258482594826048261482624826348264482654826648267482684826948270482714827248273482744827548276482774827848279482804828148282482834828448285482864828748288482894829048291482924829348294482954829648297482984829948300483014830248303483044830548306483074830848309483104831148312483134831448315483164831748318483194832048321483224832348324483254832648327483284832948330483314833248333483344833548336483374833848339483404834148342483434834448345483464834748348483494835048351483524835348354483554835648357483584835948360483614836248363483644836548366483674836848369483704837148372483734837448375483764837748378483794838048381483824838348384483854838648387483884838948390483914839248393483944839548396483974839848399484004840148402484034840448405484064840748408484094841048411484124841348414484154841648417484184841948420484214842248423484244842548426484274842848429484304843148432484334843448435484364843748438484394844048441484424844348444484454844648447484484844948450484514845248453484544845548456484574845848459484604846148462484634846448465484664846748468484694847048471484724847348474484754847648477484784847948480484814848248483484844848548486484874848848489484904849148492484934849448495484964849748498484994850048501485024850348504485054850648507485084850948510485114851248513485144851548516485174851848519485204852148522485234852448525485264852748528485294853048531485324853348534485354853648537485384853948540485414854248543485444854548546485474854848549485504855148552485534855448555485564855748558485594856048561485624856348564485654856648567485684856948570485714857248573485744857548576485774857848579485804858148582485834858448585485864858748588485894859048591485924859348594485954859648597485984859948600486014860248603486044860548606486074860848609486104861148612486134861448615486164861748618486194862048621486224862348624486254862648627486284862948630486314863248633486344863548636486374863848639486404864148642486434864448645486464864748648486494865048651486524865348654486554865648657486584865948660486614866248663486644866548666486674866848669486704867148672486734867448675486764867748678486794868048681486824868348684486854868648687486884868948690486914869248693486944869548696486974869848699487004870148702487034870448705487064870748708487094871048711487124871348714487154871648717487184871948720487214872248723487244872548726487274872848729487304873148732487334873448735487364873748738487394874048741487424874348744487454874648747487484874948750487514875248753487544875548756487574875848759487604876148762487634876448765487664876748768487694877048771487724877348774487754877648777487784877948780487814878248783487844878548786487874878848789487904879148792487934879448795487964879748798487994880048801488024880348804488054880648807488084880948810488114881248813488144881548816488174881848819488204882148822488234882448825488264882748828488294883048831488324883348834488354883648837488384883948840488414884248843488444884548846488474884848849488504885148852488534885448855488564885748858488594886048861488624886348864488654886648867488684886948870488714887248873488744887548876488774887848879488804888148882488834888448885488864888748888488894889048891488924889348894488954889648897488984889948900489014890248903489044890548906489074890848909489104891148912489134891448915489164891748918489194892048921489224892348924489254892648927489284892948930489314893248933489344893548936489374893848939489404894148942489434894448945489464894748948489494895048951489524895348954489554895648957489584895948960489614896248963489644896548966489674896848969489704897148972489734897448975489764897748978489794898048981489824898348984489854898648987489884898948990489914899248993489944899548996489974899848999490004900149002490034900449005490064900749008490094901049011490124901349014490154901649017490184901949020490214902249023490244902549026490274902849029490304903149032490334903449035490364903749038490394904049041490424904349044490454904649047490484904949050490514905249053490544905549056490574905849059490604906149062490634906449065490664906749068490694907049071490724907349074490754907649077490784907949080490814908249083490844908549086490874908849089490904909149092490934909449095490964909749098490994910049101491024910349104491054910649107491084910949110491114911249113491144911549116491174911849119491204912149122491234912449125491264912749128491294913049131491324913349134491354913649137491384913949140491414914249143491444914549146491474914849149491504915149152491534915449155491564915749158491594916049161491624916349164491654916649167491684916949170491714917249173491744917549176491774917849179491804918149182491834918449185491864918749188491894919049191491924919349194491954919649197491984919949200492014920249203492044920549206492074920849209492104921149212492134921449215492164921749218492194922049221492224922349224492254922649227492284922949230492314923249233492344923549236492374923849239492404924149242492434924449245492464924749248492494925049251492524925349254492554925649257492584925949260492614926249263492644926549266492674926849269492704927149272492734927449275492764927749278492794928049281492824928349284492854928649287492884928949290492914929249293492944929549296492974929849299493004930149302493034930449305493064930749308493094931049311493124931349314493154931649317493184931949320493214932249323493244932549326493274932849329493304933149332493334933449335493364933749338493394934049341493424934349344493454934649347493484934949350493514935249353493544935549356493574935849359493604936149362493634936449365493664936749368493694937049371493724937349374493754937649377493784937949380493814938249383493844938549386493874938849389493904939149392493934939449395493964939749398493994940049401494024940349404494054940649407494084940949410494114941249413494144941549416494174941849419494204942149422494234942449425494264942749428494294943049431494324943349434494354943649437494384943949440494414944249443494444944549446494474944849449494504945149452494534945449455494564945749458494594946049461494624946349464494654946649467494684946949470494714947249473494744947549476494774947849479494804948149482494834948449485494864948749488494894949049491494924949349494494954949649497494984949949500495014950249503495044950549506495074950849509495104951149512495134951449515495164951749518495194952049521495224952349524495254952649527495284952949530495314953249533495344953549536495374953849539495404954149542495434954449545495464954749548495494955049551495524955349554495554955649557495584955949560495614956249563495644956549566495674956849569495704957149572495734957449575495764957749578495794958049581495824958349584495854958649587495884958949590495914959249593495944959549596495974959849599496004960149602496034960449605496064960749608496094961049611496124961349614496154961649617496184961949620496214962249623496244962549626496274962849629496304963149632496334963449635496364963749638496394964049641496424964349644496454964649647496484964949650496514965249653496544965549656496574965849659496604966149662496634966449665496664966749668496694967049671496724967349674496754967649677496784967949680496814968249683496844968549686496874968849689496904969149692496934969449695496964969749698496994970049701497024970349704497054970649707497084970949710497114971249713497144971549716497174971849719497204972149722497234972449725497264972749728497294973049731497324973349734497354973649737497384973949740497414974249743497444974549746497474974849749497504975149752497534975449755497564975749758497594976049761497624976349764497654976649767497684976949770497714977249773497744977549776497774977849779497804978149782497834978449785497864978749788497894979049791497924979349794497954979649797497984979949800498014980249803498044980549806498074980849809498104981149812498134981449815498164981749818498194982049821498224982349824498254982649827498284982949830498314983249833498344983549836498374983849839498404984149842498434984449845498464984749848498494985049851498524985349854498554985649857498584985949860498614986249863498644986549866498674986849869498704987149872498734987449875498764987749878498794988049881498824988349884498854988649887498884988949890498914989249893498944989549896498974989849899499004990149902499034990449905499064990749908499094991049911499124991349914499154991649917499184991949920499214992249923499244992549926499274992849929499304993149932499334993449935499364993749938499394994049941499424994349944499454994649947499484994949950499514995249953499544995549956499574995849959499604996149962499634996449965499664996749968499694997049971499724997349974499754997649977499784997949980499814998249983499844998549986499874998849989499904999149992499934999449995499964999749998499995000050001500025000350004500055000650007500085000950010500115001250013500145001550016500175001850019500205002150022500235002450025500265002750028500295003050031500325003350034500355003650037500385003950040500415004250043500445004550046500475004850049500505005150052500535005450055500565005750058500595006050061500625006350064500655006650067500685006950070500715007250073500745007550076500775007850079500805008150082500835008450085500865008750088500895009050091500925009350094500955009650097500985009950100501015010250103501045010550106501075010850109501105011150112501135011450115501165011750118501195012050121501225012350124501255012650127501285012950130501315013250133501345013550136501375013850139501405014150142501435014450145501465014750148501495015050151501525015350154501555015650157501585015950160501615016250163501645016550166501675016850169501705017150172501735017450175501765017750178501795018050181501825018350184501855018650187501885018950190501915019250193501945019550196501975019850199502005020150202502035020450205502065020750208502095021050211502125021350214502155021650217502185021950220502215022250223502245022550226502275022850229502305023150232502335023450235502365023750238502395024050241502425024350244502455024650247502485024950250502515025250253502545025550256502575025850259502605026150262502635026450265502665026750268502695027050271502725027350274502755027650277502785027950280502815028250283502845028550286502875028850289502905029150292502935029450295502965029750298502995030050301503025030350304503055030650307503085030950310503115031250313503145031550316503175031850319503205032150322503235032450325503265032750328503295033050331503325033350334503355033650337503385033950340503415034250343503445034550346503475034850349503505035150352503535035450355503565035750358503595036050361503625036350364503655036650367503685036950370503715037250373503745037550376503775037850379503805038150382503835038450385503865038750388503895039050391503925039350394503955039650397503985039950400504015040250403504045040550406504075040850409504105041150412504135041450415504165041750418504195042050421504225042350424504255042650427504285042950430504315043250433504345043550436504375043850439504405044150442504435044450445504465044750448504495045050451504525045350454504555045650457504585045950460504615046250463504645046550466504675046850469504705047150472504735047450475504765047750478504795048050481504825048350484504855048650487504885048950490504915049250493504945049550496504975049850499505005050150502505035050450505505065050750508505095051050511505125051350514505155051650517505185051950520505215052250523505245052550526505275052850529505305053150532505335053450535505365053750538505395054050541505425054350544505455054650547505485054950550505515055250553505545055550556505575055850559505605056150562505635056450565505665056750568505695057050571505725057350574505755057650577505785057950580505815058250583505845058550586505875058850589505905059150592505935059450595505965059750598505995060050601506025060350604506055060650607506085060950610506115061250613506145061550616506175061850619506205062150622506235062450625506265062750628506295063050631506325063350634506355063650637506385063950640506415064250643506445064550646506475064850649506505065150652506535065450655506565065750658506595066050661506625066350664506655066650667506685066950670506715067250673506745067550676506775067850679506805068150682506835068450685506865068750688506895069050691506925069350694506955069650697506985069950700507015070250703507045070550706507075070850709507105071150712507135071450715507165071750718507195072050721507225072350724507255072650727507285072950730507315073250733507345073550736507375073850739507405074150742507435074450745507465074750748507495075050751507525075350754507555075650757507585075950760507615076250763507645076550766507675076850769507705077150772507735077450775507765077750778507795078050781507825078350784507855078650787507885078950790507915079250793507945079550796507975079850799508005080150802508035080450805508065080750808508095081050811508125081350814508155081650817508185081950820508215082250823508245082550826508275082850829508305083150832508335083450835508365083750838508395084050841508425084350844508455084650847508485084950850508515085250853508545085550856508575085850859508605086150862508635086450865508665086750868508695087050871508725087350874508755087650877508785087950880508815088250883508845088550886508875088850889508905089150892508935089450895508965089750898508995090050901509025090350904509055090650907509085090950910509115091250913509145091550916509175091850919509205092150922509235092450925509265092750928509295093050931509325093350934509355093650937509385093950940509415094250943509445094550946509475094850949509505095150952509535095450955509565095750958509595096050961509625096350964509655096650967509685096950970509715097250973509745097550976509775097850979509805098150982509835098450985509865098750988509895099050991509925099350994509955099650997509985099951000510015100251003510045100551006510075100851009510105101151012510135101451015510165101751018510195102051021510225102351024510255102651027510285102951030510315103251033510345103551036510375103851039510405104151042510435104451045510465104751048510495105051051510525105351054510555105651057510585105951060510615106251063510645106551066510675106851069510705107151072510735107451075510765107751078510795108051081510825108351084510855108651087510885108951090510915109251093510945109551096510975109851099511005110151102511035110451105511065110751108511095111051111511125111351114511155111651117511185111951120511215112251123511245112551126511275112851129511305113151132511335113451135511365113751138511395114051141511425114351144511455114651147511485114951150511515115251153511545115551156511575115851159511605116151162511635116451165511665116751168511695117051171511725117351174511755117651177511785117951180511815118251183511845118551186511875118851189511905119151192511935119451195511965119751198511995120051201512025120351204512055120651207512085120951210512115121251213512145121551216512175121851219512205122151222512235122451225512265122751228512295123051231512325123351234512355123651237512385123951240512415124251243512445124551246512475124851249512505125151252512535125451255512565125751258512595126051261512625126351264512655126651267512685126951270512715127251273512745127551276512775127851279512805128151282512835128451285512865128751288512895129051291512925129351294512955129651297512985129951300513015130251303513045130551306513075130851309513105131151312513135131451315513165131751318513195132051321513225132351324513255132651327513285132951330513315133251333513345133551336513375133851339513405134151342513435134451345513465134751348513495135051351513525135351354513555135651357513585135951360513615136251363513645136551366513675136851369513705137151372513735137451375513765137751378513795138051381513825138351384513855138651387513885138951390513915139251393513945139551396513975139851399514005140151402514035140451405514065140751408514095141051411514125141351414514155141651417514185141951420514215142251423514245142551426514275142851429514305143151432514335143451435514365143751438514395144051441514425144351444514455144651447514485144951450514515145251453514545145551456514575145851459514605146151462514635146451465514665146751468514695147051471514725147351474514755147651477514785147951480514815148251483514845148551486514875148851489514905149151492514935149451495514965149751498514995150051501515025150351504515055150651507515085150951510515115151251513515145151551516515175151851519515205152151522515235152451525515265152751528515295153051531515325153351534515355153651537515385153951540515415154251543515445154551546515475154851549515505155151552515535155451555515565155751558515595156051561515625156351564515655156651567515685156951570515715157251573515745157551576515775157851579515805158151582515835158451585515865158751588515895159051591515925159351594515955159651597515985159951600516015160251603516045160551606516075160851609516105161151612516135161451615516165161751618516195162051621516225162351624516255162651627516285162951630516315163251633516345163551636516375163851639516405164151642516435164451645516465164751648516495165051651516525165351654516555165651657516585165951660516615166251663516645166551666516675166851669516705167151672516735167451675516765167751678516795168051681516825168351684516855168651687516885168951690516915169251693516945169551696516975169851699517005170151702517035170451705517065170751708517095171051711517125171351714517155171651717517185171951720517215172251723517245172551726517275172851729517305173151732517335173451735517365173751738517395174051741517425174351744517455174651747517485174951750517515175251753517545175551756517575175851759517605176151762517635176451765517665176751768517695177051771517725177351774517755177651777517785177951780517815178251783517845178551786517875178851789517905179151792517935179451795517965179751798517995180051801518025180351804518055180651807518085180951810518115181251813518145181551816518175181851819518205182151822518235182451825518265182751828518295183051831518325183351834518355183651837518385183951840518415184251843518445184551846518475184851849518505185151852518535185451855518565185751858518595186051861518625186351864518655186651867518685186951870518715187251873518745187551876518775187851879518805188151882518835188451885518865188751888518895189051891518925189351894518955189651897518985189951900519015190251903519045190551906519075190851909519105191151912519135191451915519165191751918519195192051921519225192351924519255192651927519285192951930519315193251933519345193551936519375193851939519405194151942519435194451945519465194751948519495195051951519525195351954519555195651957519585195951960519615196251963519645196551966519675196851969519705197151972519735197451975519765197751978519795198051981519825198351984519855198651987519885198951990519915199251993519945199551996519975199851999520005200152002520035200452005520065200752008520095201052011520125201352014520155201652017520185201952020520215202252023520245202552026520275202852029520305203152032520335203452035520365203752038520395204052041520425204352044520455204652047520485204952050520515205252053520545205552056520575205852059520605206152062520635206452065520665206752068520695207052071520725207352074520755207652077520785207952080520815208252083520845208552086520875208852089520905209152092520935209452095520965209752098520995210052101521025210352104521055210652107521085210952110521115211252113521145211552116521175211852119521205212152122521235212452125521265212752128521295213052131521325213352134521355213652137521385213952140521415214252143521445214552146521475214852149521505215152152521535215452155521565215752158521595216052161521625216352164521655216652167521685216952170521715217252173521745217552176521775217852179521805218152182521835218452185521865218752188521895219052191521925219352194521955219652197521985219952200522015220252203522045220552206522075220852209522105221152212522135221452215522165221752218522195222052221522225222352224522255222652227522285222952230522315223252233522345223552236522375223852239522405224152242522435224452245522465224752248522495225052251522525225352254522555225652257522585225952260522615226252263522645226552266522675226852269522705227152272522735227452275522765227752278522795228052281522825228352284522855228652287522885228952290522915229252293522945229552296522975229852299523005230152302523035230452305523065230752308523095231052311523125231352314523155231652317523185231952320523215232252323523245232552326523275232852329523305233152332523335233452335523365233752338523395234052341523425234352344523455234652347523485234952350523515235252353523545235552356523575235852359523605236152362523635236452365523665236752368523695237052371523725237352374523755237652377523785237952380523815238252383523845238552386523875238852389523905239152392523935239452395523965239752398523995240052401524025240352404524055240652407524085240952410524115241252413524145241552416524175241852419524205242152422524235242452425524265242752428524295243052431524325243352434524355243652437524385243952440524415244252443524445244552446524475244852449524505245152452524535245452455524565245752458524595246052461524625246352464524655246652467524685246952470524715247252473524745247552476524775247852479524805248152482524835248452485524865248752488524895249052491524925249352494524955249652497524985249952500525015250252503525045250552506525075250852509525105251152512525135251452515525165251752518525195252052521525225252352524525255252652527525285252952530525315253252533525345253552536525375253852539525405254152542525435254452545525465254752548525495255052551525525255352554525555255652557525585255952560525615256252563525645256552566525675256852569525705257152572525735257452575525765257752578525795258052581525825258352584525855258652587525885258952590525915259252593525945259552596525975259852599526005260152602526035260452605526065260752608526095261052611526125261352614526155261652617526185261952620526215262252623526245262552626526275262852629526305263152632526335263452635526365263752638526395264052641526425264352644526455264652647526485264952650526515265252653526545265552656526575265852659526605266152662526635266452665526665266752668526695267052671526725267352674526755267652677526785267952680526815268252683526845268552686526875268852689526905269152692526935269452695526965269752698526995270052701527025270352704527055270652707527085270952710527115271252713527145271552716527175271852719527205272152722527235272452725527265272752728527295273052731527325273352734527355273652737527385273952740527415274252743527445274552746527475274852749527505275152752527535275452755527565275752758527595276052761527625276352764527655276652767527685276952770527715277252773527745277552776527775277852779527805278152782527835278452785527865278752788527895279052791527925279352794527955279652797527985279952800528015280252803528045280552806528075280852809528105281152812528135281452815528165281752818528195282052821528225282352824528255282652827528285282952830528315283252833528345283552836528375283852839528405284152842528435284452845528465284752848528495285052851528525285352854528555285652857528585285952860528615286252863528645286552866528675286852869528705287152872528735287452875528765287752878528795288052881528825288352884528855288652887528885288952890528915289252893528945289552896528975289852899529005290152902529035290452905529065290752908529095291052911529125291352914529155291652917529185291952920529215292252923529245292552926529275292852929529305293152932529335293452935529365293752938529395294052941529425294352944529455294652947529485294952950529515295252953529545295552956529575295852959529605296152962529635296452965529665296752968529695297052971529725297352974529755297652977529785297952980529815298252983529845298552986529875298852989529905299152992529935299452995529965299752998529995300053001530025300353004530055300653007530085300953010530115301253013530145301553016530175301853019530205302153022530235302453025530265302753028530295303053031530325303353034530355303653037530385303953040530415304253043530445304553046530475304853049530505305153052530535305453055530565305753058530595306053061530625306353064530655306653067530685306953070530715307253073530745307553076530775307853079530805308153082530835308453085530865308753088530895309053091530925309353094530955309653097530985309953100531015310253103531045310553106531075310853109531105311153112531135311453115531165311753118531195312053121531225312353124531255312653127531285312953130531315313253133531345313553136531375313853139531405314153142531435314453145531465314753148531495315053151531525315353154531555315653157531585315953160531615316253163531645316553166531675316853169531705317153172531735317453175531765317753178531795318053181531825318353184531855318653187531885318953190531915319253193531945319553196531975319853199532005320153202532035320453205532065320753208532095321053211532125321353214532155321653217532185321953220532215322253223532245322553226532275322853229532305323153232532335323453235532365323753238532395324053241532425324353244532455324653247532485324953250532515325253253532545325553256532575325853259532605326153262532635326453265532665326753268532695327053271532725327353274532755327653277532785327953280532815328253283532845328553286532875328853289532905329153292532935329453295532965329753298532995330053301533025330353304533055330653307533085330953310533115331253313533145331553316533175331853319533205332153322533235332453325533265332753328533295333053331533325333353334533355333653337533385333953340533415334253343533445334553346533475334853349533505335153352533535335453355533565335753358533595336053361533625336353364533655336653367533685336953370533715337253373533745337553376533775337853379533805338153382533835338453385533865338753388533895339053391533925339353394533955339653397533985339953400534015340253403534045340553406534075340853409534105341153412534135341453415534165341753418534195342053421534225342353424534255342653427534285342953430534315343253433534345343553436534375343853439534405344153442534435344453445534465344753448534495345053451534525345353454534555345653457534585345953460534615346253463534645346553466534675346853469534705347153472534735347453475534765347753478534795348053481534825348353484534855348653487534885348953490534915349253493534945349553496534975349853499535005350153502535035350453505535065350753508535095351053511535125351353514535155351653517535185351953520535215352253523535245352553526535275352853529535305353153532535335353453535535365353753538535395354053541535425354353544535455354653547535485354953550535515355253553535545355553556535575355853559535605356153562535635356453565535665356753568535695357053571535725357353574535755357653577535785357953580535815358253583535845358553586535875358853589535905359153592535935359453595535965359753598535995360053601536025360353604536055360653607536085360953610536115361253613536145361553616536175361853619536205362153622536235362453625536265362753628536295363053631536325363353634536355363653637536385363953640536415364253643536445364553646536475364853649536505365153652536535365453655536565365753658536595366053661536625366353664536655366653667536685366953670536715367253673536745367553676536775367853679536805368153682536835368453685536865368753688536895369053691536925369353694536955369653697536985369953700537015370253703537045370553706537075370853709537105371153712537135371453715537165371753718537195372053721537225372353724537255372653727537285372953730537315373253733537345373553736537375373853739537405374153742537435374453745537465374753748537495375053751537525375353754537555375653757537585375953760537615376253763537645376553766537675376853769537705377153772537735377453775537765377753778537795378053781537825378353784537855378653787537885378953790537915379253793537945379553796537975379853799538005380153802538035380453805538065380753808538095381053811538125381353814538155381653817538185381953820538215382253823538245382553826538275382853829538305383153832538335383453835538365383753838538395384053841538425384353844538455384653847538485384953850538515385253853538545385553856538575385853859538605386153862538635386453865538665386753868538695387053871538725387353874538755387653877538785387953880538815388253883538845388553886538875388853889538905389153892538935389453895538965389753898538995390053901539025390353904539055390653907539085390953910539115391253913539145391553916539175391853919539205392153922539235392453925539265392753928539295393053931539325393353934539355393653937539385393953940539415394253943539445394553946539475394853949539505395153952539535395453955539565395753958539595396053961539625396353964539655396653967539685396953970539715397253973539745397553976539775397853979539805398153982539835398453985539865398753988539895399053991539925399353994539955399653997539985399954000540015400254003540045400554006540075400854009540105401154012540135401454015540165401754018540195402054021540225402354024540255402654027540285402954030540315403254033540345403554036540375403854039540405404154042540435404454045540465404754048540495405054051540525405354054540555405654057540585405954060540615406254063540645406554066540675406854069540705407154072540735407454075540765407754078540795408054081540825408354084540855408654087540885408954090540915409254093540945409554096540975409854099541005410154102541035410454105541065410754108541095411054111541125411354114541155411654117541185411954120541215412254123541245412554126541275412854129541305413154132541335413454135541365413754138541395414054141541425414354144541455414654147541485414954150541515415254153541545415554156541575415854159541605416154162541635416454165541665416754168541695417054171541725417354174541755417654177541785417954180541815418254183541845418554186541875418854189541905419154192541935419454195541965419754198541995420054201542025420354204542055420654207542085420954210542115421254213542145421554216542175421854219542205422154222542235422454225542265422754228542295423054231542325423354234542355423654237542385423954240542415424254243542445424554246542475424854249542505425154252542535425454255542565425754258542595426054261542625426354264542655426654267542685426954270542715427254273542745427554276542775427854279542805428154282542835428454285542865428754288542895429054291542925429354294542955429654297542985429954300543015430254303543045430554306543075430854309543105431154312543135431454315543165431754318543195432054321543225432354324543255432654327543285432954330543315433254333543345433554336543375433854339543405434154342543435434454345543465434754348543495435054351543525435354354543555435654357543585435954360543615436254363543645436554366543675436854369543705437154372543735437454375543765437754378543795438054381543825438354384543855438654387543885438954390543915439254393543945439554396543975439854399544005440154402544035440454405544065440754408544095441054411544125441354414544155441654417544185441954420544215442254423544245442554426544275442854429544305443154432544335443454435544365443754438544395444054441544425444354444544455444654447544485444954450544515445254453544545445554456544575445854459544605446154462544635446454465544665446754468544695447054471544725447354474544755447654477544785447954480544815448254483544845448554486544875448854489544905449154492544935449454495544965449754498544995450054501545025450354504545055450654507545085450954510545115451254513545145451554516545175451854519545205452154522545235452454525545265452754528545295453054531545325453354534545355453654537545385453954540545415454254543545445454554546545475454854549545505455154552545535455454555545565455754558545595456054561545625456354564545655456654567545685456954570545715457254573545745457554576545775457854579545805458154582545835458454585545865458754588545895459054591545925459354594545955459654597545985459954600546015460254603546045460554606546075460854609546105461154612546135461454615546165461754618546195462054621546225462354624546255462654627546285462954630546315463254633546345463554636546375463854639546405464154642546435464454645546465464754648546495465054651546525465354654546555465654657546585465954660546615466254663546645466554666546675466854669546705467154672546735467454675546765467754678546795468054681546825468354684546855468654687546885468954690546915469254693546945469554696546975469854699547005470154702547035470454705547065470754708547095471054711547125471354714547155471654717547185471954720547215472254723547245472554726547275472854729547305473154732547335473454735547365473754738547395474054741547425474354744547455474654747547485474954750547515475254753547545475554756547575475854759547605476154762547635476454765547665476754768547695477054771547725477354774547755477654777547785477954780547815478254783547845478554786547875478854789547905479154792547935479454795547965479754798547995480054801548025480354804548055480654807548085480954810548115481254813548145481554816548175481854819548205482154822548235482454825548265482754828548295483054831548325483354834548355483654837548385483954840548415484254843548445484554846548475484854849548505485154852548535485454855548565485754858548595486054861548625486354864548655486654867548685486954870548715487254873548745487554876548775487854879548805488154882548835488454885548865488754888548895489054891548925489354894548955489654897548985489954900549015490254903549045490554906549075490854909549105491154912549135491454915549165491754918549195492054921549225492354924549255492654927549285492954930549315493254933549345493554936549375493854939549405494154942549435494454945549465494754948549495495054951549525495354954549555495654957549585495954960549615496254963549645496554966549675496854969549705497154972549735497454975549765497754978549795498054981549825498354984549855498654987549885498954990549915499254993549945499554996549975499854999550005500155002550035500455005550065500755008550095501055011550125501355014550155501655017550185501955020550215502255023550245502555026550275502855029550305503155032550335503455035550365503755038550395504055041550425504355044550455504655047550485504955050550515505255053550545505555056550575505855059550605506155062550635506455065550665506755068550695507055071550725507355074550755507655077550785507955080550815508255083550845508555086550875508855089550905509155092550935509455095550965509755098550995510055101551025510355104551055510655107551085510955110551115511255113551145511555116551175511855119551205512155122551235512455125551265512755128551295513055131551325513355134551355513655137551385513955140551415514255143551445514555146551475514855149551505515155152551535515455155551565515755158551595516055161551625516355164551655516655167551685516955170551715517255173551745517555176551775517855179551805518155182551835518455185551865518755188551895519055191551925519355194551955519655197551985519955200552015520255203552045520555206552075520855209552105521155212552135521455215552165521755218552195522055221552225522355224552255522655227552285522955230552315523255233552345523555236552375523855239552405524155242552435524455245552465524755248552495525055251552525525355254552555525655257552585525955260552615526255263552645526555266552675526855269552705527155272552735527455275552765527755278552795528055281552825528355284552855528655287552885528955290552915529255293552945529555296552975529855299553005530155302553035530455305553065530755308553095531055311553125531355314553155531655317553185531955320553215532255323553245532555326553275532855329553305533155332553335533455335553365533755338553395534055341553425534355344553455534655347553485534955350553515535255353553545535555356553575535855359553605536155362553635536455365553665536755368553695537055371553725537355374553755537655377553785537955380553815538255383553845538555386553875538855389553905539155392553935539455395553965539755398553995540055401554025540355404554055540655407554085540955410554115541255413554145541555416554175541855419554205542155422554235542455425554265542755428554295543055431554325543355434554355543655437554385543955440554415544255443554445544555446554475544855449554505545155452554535545455455554565545755458554595546055461554625546355464554655546655467554685546955470554715547255473554745547555476554775547855479554805548155482554835548455485554865548755488554895549055491554925549355494554955549655497554985549955500555015550255503555045550555506555075550855509555105551155512555135551455515555165551755518555195552055521555225552355524555255552655527555285552955530555315553255533555345553555536555375553855539555405554155542555435554455545555465554755548555495555055551555525555355554555555555655557555585555955560555615556255563555645556555566555675556855569555705557155572555735557455575555765557755578555795558055581555825558355584555855558655587555885558955590555915559255593555945559555596555975559855599556005560155602556035560455605556065560755608556095561055611556125561355614556155561655617556185561955620556215562255623556245562555626556275562855629556305563155632556335563455635556365563755638556395564055641556425564355644556455564655647556485564955650556515565255653556545565555656556575565855659556605566155662556635566455665556665566755668556695567055671556725567355674556755567655677556785567955680556815568255683556845568555686556875568855689556905569155692556935569455695556965569755698556995570055701557025570355704557055570655707557085570955710557115571255713557145571555716557175571855719557205572155722557235572455725557265572755728557295573055731557325573355734557355573655737557385573955740557415574255743557445574555746557475574855749557505575155752557535575455755557565575755758557595576055761557625576355764557655576655767557685576955770557715577255773557745577555776557775577855779557805578155782557835578455785557865578755788557895579055791557925579355794557955579655797557985579955800558015580255803558045580555806558075580855809558105581155812558135581455815558165581755818558195582055821558225582355824558255582655827558285582955830558315583255833558345583555836558375583855839558405584155842558435584455845558465584755848558495585055851558525585355854558555585655857558585585955860558615586255863558645586555866558675586855869558705587155872558735587455875558765587755878558795588055881558825588355884558855588655887558885588955890558915589255893558945589555896558975589855899559005590155902559035590455905559065590755908559095591055911559125591355914559155591655917559185591955920559215592255923559245592555926559275592855929559305593155932559335593455935559365593755938559395594055941559425594355944559455594655947559485594955950559515595255953559545595555956559575595855959559605596155962559635596455965559665596755968559695597055971559725597355974559755597655977559785597955980559815598255983559845598555986559875598855989559905599155992559935599455995559965599755998559995600056001560025600356004560055600656007560085600956010560115601256013560145601556016560175601856019560205602156022560235602456025560265602756028560295603056031560325603356034560355603656037560385603956040560415604256043560445604556046560475604856049560505605156052560535605456055560565605756058560595606056061560625606356064560655606656067560685606956070560715607256073560745607556076560775607856079560805608156082560835608456085560865608756088560895609056091560925609356094560955609656097560985609956100561015610256103561045610556106561075610856109561105611156112561135611456115561165611756118561195612056121561225612356124561255612656127561285612956130561315613256133561345613556136561375613856139561405614156142561435614456145561465614756148561495615056151561525615356154561555615656157561585615956160561615616256163561645616556166561675616856169561705617156172561735617456175561765617756178561795618056181561825618356184561855618656187561885618956190561915619256193561945619556196561975619856199562005620156202562035620456205562065620756208562095621056211562125621356214562155621656217562185621956220562215622256223562245622556226562275622856229562305623156232562335623456235562365623756238562395624056241562425624356244562455624656247562485624956250562515625256253562545625556256562575625856259562605626156262562635626456265562665626756268562695627056271562725627356274562755627656277562785627956280562815628256283562845628556286562875628856289562905629156292562935629456295562965629756298562995630056301563025630356304563055630656307563085630956310563115631256313563145631556316563175631856319563205632156322563235632456325563265632756328563295633056331563325633356334563355633656337563385633956340563415634256343563445634556346563475634856349563505635156352563535635456355563565635756358563595636056361563625636356364563655636656367563685636956370563715637256373563745637556376563775637856379563805638156382563835638456385563865638756388563895639056391563925639356394563955639656397563985639956400564015640256403564045640556406564075640856409564105641156412564135641456415564165641756418564195642056421564225642356424564255642656427564285642956430564315643256433564345643556436564375643856439564405644156442564435644456445564465644756448564495645056451564525645356454564555645656457564585645956460564615646256463564645646556466564675646856469564705647156472564735647456475564765647756478564795648056481564825648356484564855648656487564885648956490564915649256493564945649556496564975649856499565005650156502565035650456505565065650756508565095651056511565125651356514565155651656517565185651956520565215652256523565245652556526565275652856529565305653156532565335653456535565365653756538565395654056541565425654356544565455654656547565485654956550565515655256553565545655556556565575655856559565605656156562565635656456565565665656756568565695657056571565725657356574565755657656577565785657956580565815658256583565845658556586565875658856589565905659156592565935659456595565965659756598565995660056601566025660356604566055660656607566085660956610566115661256613566145661556616566175661856619566205662156622566235662456625566265662756628566295663056631566325663356634566355663656637566385663956640566415664256643566445664556646566475664856649566505665156652566535665456655566565665756658566595666056661566625666356664566655666656667566685666956670566715667256673566745667556676566775667856679566805668156682566835668456685566865668756688566895669056691566925669356694566955669656697566985669956700567015670256703567045670556706567075670856709567105671156712567135671456715567165671756718567195672056721567225672356724567255672656727567285672956730567315673256733567345673556736567375673856739567405674156742567435674456745567465674756748567495675056751567525675356754567555675656757567585675956760567615676256763567645676556766567675676856769567705677156772567735677456775567765677756778567795678056781567825678356784567855678656787567885678956790567915679256793567945679556796567975679856799568005680156802568035680456805568065680756808568095681056811568125681356814568155681656817568185681956820568215682256823568245682556826568275682856829568305683156832568335683456835568365683756838568395684056841568425684356844568455684656847568485684956850568515685256853568545685556856568575685856859568605686156862568635686456865568665686756868568695687056871568725687356874568755687656877568785687956880568815688256883568845688556886568875688856889568905689156892568935689456895568965689756898568995690056901569025690356904569055690656907569085690956910569115691256913569145691556916569175691856919569205692156922569235692456925569265692756928569295693056931569325693356934569355693656937569385693956940569415694256943569445694556946569475694856949569505695156952569535695456955569565695756958569595696056961569625696356964569655696656967569685696956970569715697256973569745697556976569775697856979569805698156982569835698456985569865698756988569895699056991569925699356994569955699656997569985699957000570015700257003570045700557006570075700857009570105701157012570135701457015570165701757018570195702057021570225702357024570255702657027570285702957030570315703257033570345703557036570375703857039570405704157042570435704457045570465704757048570495705057051570525705357054570555705657057570585705957060570615706257063570645706557066570675706857069570705707157072570735707457075570765707757078570795708057081570825708357084570855708657087570885708957090570915709257093570945709557096570975709857099571005710157102571035710457105571065710757108571095711057111571125711357114571155711657117571185711957120571215712257123571245712557126571275712857129571305713157132571335713457135571365713757138571395714057141571425714357144571455714657147571485714957150571515715257153571545715557156571575715857159571605716157162571635716457165571665716757168571695717057171571725717357174571755717657177571785717957180571815718257183571845718557186571875718857189571905719157192571935719457195571965719757198571995720057201572025720357204572055720657207572085720957210572115721257213572145721557216572175721857219572205722157222572235722457225572265722757228572295723057231572325723357234572355723657237572385723957240572415724257243572445724557246572475724857249572505725157252572535725457255572565725757258572595726057261572625726357264572655726657267572685726957270572715727257273572745727557276572775727857279572805728157282572835728457285572865728757288572895729057291572925729357294572955729657297572985729957300573015730257303573045730557306573075730857309573105731157312573135731457315573165731757318573195732057321573225732357324573255732657327573285732957330573315733257333573345733557336573375733857339573405734157342573435734457345573465734757348573495735057351573525735357354573555735657357573585735957360573615736257363573645736557366573675736857369573705737157372573735737457375573765737757378573795738057381573825738357384573855738657387573885738957390573915739257393573945739557396573975739857399574005740157402574035740457405574065740757408574095741057411574125741357414574155741657417574185741957420574215742257423574245742557426574275742857429574305743157432574335743457435574365743757438574395744057441574425744357444574455744657447574485744957450574515745257453574545745557456574575745857459574605746157462574635746457465574665746757468574695747057471574725747357474574755747657477574785747957480574815748257483574845748557486574875748857489574905749157492574935749457495574965749757498574995750057501575025750357504575055750657507575085750957510575115751257513575145751557516575175751857519575205752157522575235752457525575265752757528575295753057531575325753357534575355753657537575385753957540575415754257543575445754557546575475754857549575505755157552575535755457555575565755757558575595756057561575625756357564575655756657567575685756957570575715757257573575745757557576575775757857579575805758157582575835758457585575865758757588575895759057591575925759357594575955759657597575985759957600576015760257603576045760557606576075760857609576105761157612576135761457615576165761757618576195762057621576225762357624576255762657627576285762957630576315763257633576345763557636576375763857639576405764157642576435764457645576465764757648576495765057651576525765357654576555765657657576585765957660576615766257663576645766557666576675766857669576705767157672576735767457675576765767757678576795768057681576825768357684576855768657687576885768957690576915769257693576945769557696576975769857699577005770157702577035770457705577065770757708577095771057711577125771357714577155771657717577185771957720577215772257723577245772557726577275772857729577305773157732577335773457735577365773757738577395774057741577425774357744577455774657747577485774957750577515775257753577545775557756577575775857759577605776157762577635776457765577665776757768577695777057771577725777357774577755777657777577785777957780577815778257783577845778557786577875778857789577905779157792577935779457795577965779757798577995780057801578025780357804578055780657807578085780957810578115781257813578145781557816578175781857819578205782157822578235782457825578265782757828578295783057831578325783357834578355783657837578385783957840578415784257843578445784557846578475784857849578505785157852578535785457855578565785757858578595786057861578625786357864578655786657867578685786957870578715787257873578745787557876578775787857879578805788157882578835788457885578865788757888578895789057891578925789357894578955789657897578985789957900579015790257903579045790557906579075790857909579105791157912579135791457915579165791757918579195792057921579225792357924579255792657927579285792957930579315793257933579345793557936579375793857939579405794157942579435794457945579465794757948579495795057951579525795357954579555795657957579585795957960579615796257963579645796557966579675796857969579705797157972579735797457975579765797757978579795798057981579825798357984579855798657987579885798957990579915799257993579945799557996579975799857999580005800158002580035800458005580065800758008580095801058011580125801358014580155801658017580185801958020580215802258023580245802558026580275802858029580305803158032580335803458035580365803758038580395804058041580425804358044580455804658047580485804958050580515805258053580545805558056580575805858059580605806158062580635806458065580665806758068580695807058071580725807358074580755807658077580785807958080580815808258083580845808558086580875808858089580905809158092580935809458095580965809758098580995810058101581025810358104581055810658107581085810958110581115811258113581145811558116581175811858119581205812158122581235812458125581265812758128581295813058131581325813358134581355813658137581385813958140581415814258143581445814558146581475814858149581505815158152581535815458155581565815758158581595816058161581625816358164581655816658167581685816958170581715817258173581745817558176581775817858179581805818158182581835818458185581865818758188581895819058191581925819358194581955819658197581985819958200582015820258203582045820558206582075820858209582105821158212582135821458215582165821758218582195822058221582225822358224582255822658227582285822958230582315823258233582345823558236582375823858239582405824158242582435824458245582465824758248582495825058251582525825358254582555825658257582585825958260582615826258263582645826558266582675826858269582705827158272582735827458275582765827758278582795828058281582825828358284582855828658287582885828958290582915829258293582945829558296582975829858299583005830158302583035830458305583065830758308583095831058311583125831358314583155831658317583185831958320583215832258323583245832558326583275832858329583305833158332583335833458335583365833758338583395834058341583425834358344583455834658347583485834958350583515835258353583545835558356583575835858359583605836158362583635836458365583665836758368583695837058371583725837358374583755837658377583785837958380583815838258383583845838558386583875838858389583905839158392583935839458395583965839758398583995840058401584025840358404584055840658407584085840958410584115841258413584145841558416584175841858419584205842158422584235842458425584265842758428584295843058431584325843358434584355843658437584385843958440584415844258443584445844558446584475844858449584505845158452584535845458455584565845758458584595846058461584625846358464584655846658467584685846958470584715847258473584745847558476584775847858479584805848158482584835848458485584865848758488584895849058491584925849358494584955849658497584985849958500585015850258503585045850558506585075850858509585105851158512585135851458515585165851758518585195852058521585225852358524585255852658527585285852958530585315853258533585345853558536585375853858539585405854158542585435854458545585465854758548585495855058551585525855358554585555855658557585585855958560585615856258563585645856558566585675856858569585705857158572585735857458575585765857758578585795858058581585825858358584585855858658587585885858958590585915859258593585945859558596585975859858599586005860158602586035860458605586065860758608586095861058611586125861358614586155861658617586185861958620586215862258623586245862558626586275862858629586305863158632586335863458635586365863758638586395864058641586425864358644586455864658647586485864958650586515865258653586545865558656586575865858659586605866158662586635866458665586665866758668586695867058671586725867358674586755867658677586785867958680586815868258683586845868558686586875868858689586905869158692586935869458695586965869758698586995870058701587025870358704587055870658707587085870958710587115871258713587145871558716587175871858719587205872158722587235872458725587265872758728587295873058731587325873358734587355873658737587385873958740587415874258743587445874558746587475874858749587505875158752587535875458755587565875758758587595876058761587625876358764587655876658767587685876958770587715877258773587745877558776587775877858779587805878158782587835878458785587865878758788587895879058791587925879358794587955879658797587985879958800588015880258803588045880558806588075880858809588105881158812588135881458815588165881758818588195882058821588225882358824588255882658827588285882958830588315883258833588345883558836588375883858839588405884158842588435884458845588465884758848588495885058851588525885358854588555885658857588585885958860588615886258863588645886558866588675886858869588705887158872588735887458875588765887758878588795888058881588825888358884588855888658887588885888958890588915889258893588945889558896588975889858899589005890158902589035890458905589065890758908589095891058911589125891358914589155891658917589185891958920589215892258923589245892558926589275892858929589305893158932589335893458935589365893758938589395894058941589425894358944589455894658947589485894958950589515895258953589545895558956589575895858959589605896158962589635896458965589665896758968589695897058971589725897358974589755897658977589785897958980589815898258983589845898558986589875898858989589905899158992589935899458995589965899758998589995900059001590025900359004590055900659007590085900959010590115901259013590145901559016590175901859019590205902159022590235902459025590265902759028590295903059031590325903359034590355903659037590385903959040590415904259043590445904559046590475904859049590505905159052590535905459055590565905759058590595906059061590625906359064590655906659067590685906959070590715907259073590745907559076590775907859079590805908159082590835908459085590865908759088590895909059091590925909359094590955909659097590985909959100591015910259103591045910559106591075910859109591105911159112591135911459115591165911759118591195912059121591225912359124591255912659127591285912959130591315913259133591345913559136591375913859139591405914159142591435914459145591465914759148591495915059151591525915359154591555915659157591585915959160591615916259163591645916559166591675916859169591705917159172591735917459175591765917759178591795918059181591825918359184591855918659187591885918959190591915919259193591945919559196591975919859199592005920159202592035920459205592065920759208592095921059211592125921359214592155921659217592185921959220592215922259223592245922559226592275922859229592305923159232592335923459235592365923759238592395924059241592425924359244592455924659247592485924959250592515925259253592545925559256592575925859259592605926159262592635926459265592665926759268592695927059271592725927359274592755927659277592785927959280592815928259283592845928559286592875928859289592905929159292592935929459295592965929759298592995930059301593025930359304593055930659307593085930959310593115931259313593145931559316593175931859319593205932159322593235932459325593265932759328593295933059331593325933359334593355933659337593385933959340593415934259343593445934559346593475934859349593505935159352593535935459355593565935759358593595936059361593625936359364593655936659367593685936959370593715937259373593745937559376593775937859379593805938159382593835938459385593865938759388593895939059391593925939359394593955939659397593985939959400594015940259403594045940559406594075940859409594105941159412594135941459415594165941759418594195942059421594225942359424594255942659427594285942959430594315943259433594345943559436594375943859439594405944159442594435944459445594465944759448594495945059451594525945359454594555945659457594585945959460594615946259463594645946559466594675946859469594705947159472594735947459475594765947759478594795948059481594825948359484594855948659487594885948959490594915949259493594945949559496594975949859499595005950159502595035950459505595065950759508595095951059511595125951359514595155951659517595185951959520595215952259523595245952559526595275952859529595305953159532595335953459535595365953759538595395954059541595425954359544595455954659547595485954959550595515955259553595545955559556595575955859559595605956159562595635956459565595665956759568595695957059571595725957359574595755957659577595785957959580595815958259583595845958559586595875958859589595905959159592595935959459595595965959759598595995960059601596025960359604596055960659607596085960959610596115961259613596145961559616596175961859619596205962159622596235962459625596265962759628596295963059631596325963359634596355963659637596385963959640596415964259643596445964559646596475964859649596505965159652596535965459655596565965759658596595966059661596625966359664596655966659667596685966959670596715967259673596745967559676596775967859679596805968159682596835968459685596865968759688596895969059691596925969359694596955969659697596985969959700597015970259703597045970559706597075970859709597105971159712597135971459715597165971759718597195972059721597225972359724597255972659727597285972959730597315973259733597345973559736597375973859739597405974159742597435974459745597465974759748597495975059751597525975359754597555975659757597585975959760597615976259763597645976559766597675976859769597705977159772597735977459775597765977759778597795978059781597825978359784597855978659787597885978959790597915979259793597945979559796597975979859799598005980159802598035980459805598065980759808598095981059811598125981359814598155981659817598185981959820598215982259823598245982559826598275982859829598305983159832598335983459835598365983759838598395984059841598425984359844598455984659847598485984959850598515985259853598545985559856598575985859859598605986159862598635986459865598665986759868598695987059871598725987359874598755987659877598785987959880598815988259883598845988559886598875988859889598905989159892598935989459895598965989759898598995990059901599025990359904599055990659907599085990959910599115991259913599145991559916599175991859919599205992159922599235992459925599265992759928599295993059931599325993359934599355993659937599385993959940599415994259943599445994559946599475994859949599505995159952599535995459955599565995759958599595996059961599625996359964599655996659967599685996959970599715997259973599745997559976599775997859979599805998159982599835998459985599865998759988599895999059991599925999359994599955999659997599985999960000600016000260003600046000560006600076000860009600106001160012600136001460015600166001760018600196002060021600226002360024600256002660027600286002960030600316003260033600346003560036600376003860039600406004160042600436004460045600466004760048600496005060051600526005360054600556005660057600586005960060600616006260063600646006560066600676006860069600706007160072600736007460075600766007760078600796008060081600826008360084600856008660087600886008960090600916009260093600946009560096600976009860099601006010160102601036010460105601066010760108601096011060111601126011360114601156011660117601186011960120601216012260123601246012560126601276012860129601306013160132601336013460135601366013760138601396014060141601426014360144601456014660147601486014960150601516015260153601546015560156601576015860159601606016160162601636016460165601666016760168601696017060171601726017360174601756017660177601786017960180601816018260183601846018560186601876018860189601906019160192601936019460195601966019760198601996020060201602026020360204602056020660207602086020960210602116021260213602146021560216602176021860219602206022160222602236022460225602266022760228602296023060231602326023360234602356023660237602386023960240602416024260243602446024560246602476024860249602506025160252602536025460255602566025760258602596026060261602626026360264602656026660267602686026960270602716027260273602746027560276602776027860279602806028160282602836028460285602866028760288602896029060291602926029360294602956029660297602986029960300603016030260303603046030560306603076030860309603106031160312603136031460315603166031760318603196032060321603226032360324603256032660327603286032960330603316033260333603346033560336603376033860339603406034160342603436034460345603466034760348603496035060351603526035360354603556035660357603586035960360603616036260363603646036560366603676036860369603706037160372603736037460375603766037760378603796038060381603826038360384603856038660387603886038960390603916039260393603946039560396603976039860399604006040160402604036040460405604066040760408604096041060411604126041360414604156041660417604186041960420604216042260423604246042560426604276042860429604306043160432604336043460435604366043760438604396044060441604426044360444604456044660447604486044960450604516045260453604546045560456604576045860459604606046160462604636046460465604666046760468604696047060471604726047360474604756047660477604786047960480604816048260483604846048560486604876048860489604906049160492604936049460495604966049760498604996050060501605026050360504605056050660507605086050960510605116051260513605146051560516605176051860519605206052160522605236052460525605266052760528605296053060531605326053360534605356053660537605386053960540605416054260543605446054560546605476054860549605506055160552605536055460555605566055760558605596056060561605626056360564605656056660567605686056960570605716057260573605746057560576605776057860579605806058160582605836058460585605866058760588605896059060591605926059360594605956059660597605986059960600606016060260603606046060560606606076060860609606106061160612606136061460615606166061760618606196062060621606226062360624606256062660627606286062960630606316063260633606346063560636606376063860639606406064160642606436064460645606466064760648606496065060651606526065360654606556065660657606586065960660606616066260663606646066560666606676066860669606706067160672606736067460675606766067760678606796068060681606826068360684606856068660687606886068960690606916069260693606946069560696606976069860699607006070160702607036070460705607066070760708607096071060711607126071360714607156071660717607186071960720607216072260723607246072560726607276072860729607306073160732607336073460735607366073760738607396074060741607426074360744607456074660747607486074960750607516075260753607546075560756607576075860759607606076160762607636076460765607666076760768607696077060771607726077360774607756077660777607786077960780607816078260783607846078560786607876078860789607906079160792607936079460795607966079760798607996080060801608026080360804608056080660807608086080960810608116081260813608146081560816608176081860819608206082160822608236082460825608266082760828608296083060831608326083360834608356083660837608386083960840608416084260843608446084560846608476084860849608506085160852608536085460855608566085760858608596086060861608626086360864608656086660867608686086960870608716087260873608746087560876608776087860879608806088160882608836088460885608866088760888608896089060891608926089360894608956089660897608986089960900609016090260903609046090560906609076090860909609106091160912609136091460915609166091760918609196092060921609226092360924609256092660927609286092960930609316093260933609346093560936609376093860939609406094160942609436094460945609466094760948609496095060951609526095360954609556095660957609586095960960609616096260963609646096560966609676096860969609706097160972609736097460975609766097760978609796098060981609826098360984609856098660987609886098960990609916099260993609946099560996609976099860999610006100161002610036100461005610066100761008610096101061011610126101361014610156101661017610186101961020610216102261023610246102561026610276102861029610306103161032610336103461035610366103761038610396104061041610426104361044610456104661047610486104961050610516105261053610546105561056610576105861059610606106161062610636106461065610666106761068610696107061071610726107361074610756107661077610786107961080610816108261083610846108561086610876108861089610906109161092610936109461095610966109761098610996110061101611026110361104611056110661107611086110961110611116111261113611146111561116611176111861119611206112161122611236112461125611266112761128611296113061131611326113361134611356113661137611386113961140611416114261143611446114561146611476114861149611506115161152611536115461155611566115761158611596116061161611626116361164611656116661167611686116961170611716117261173611746117561176611776117861179611806118161182611836118461185611866118761188611896119061191611926119361194611956119661197611986119961200612016120261203612046120561206612076120861209612106121161212612136121461215612166121761218612196122061221612226122361224612256122661227612286122961230612316123261233612346123561236612376123861239612406124161242612436124461245612466124761248612496125061251612526125361254612556125661257612586125961260612616126261263612646126561266612676126861269612706127161272612736127461275612766127761278612796128061281612826128361284612856128661287612886128961290612916129261293612946129561296612976129861299613006130161302613036130461305613066130761308613096131061311613126131361314613156131661317613186131961320613216132261323613246132561326613276132861329613306133161332613336133461335613366133761338613396134061341613426134361344613456134661347613486134961350613516135261353613546135561356613576135861359613606136161362613636136461365613666136761368613696137061371613726137361374613756137661377613786137961380613816138261383613846138561386613876138861389613906139161392613936139461395613966139761398613996140061401614026140361404614056140661407614086140961410614116141261413614146141561416614176141861419614206142161422614236142461425614266142761428614296143061431614326143361434614356143661437614386143961440614416144261443614446144561446614476144861449614506145161452614536145461455614566145761458614596146061461614626146361464614656146661467614686146961470614716147261473614746147561476614776147861479614806148161482614836148461485614866148761488614896149061491614926149361494614956149661497614986149961500615016150261503615046150561506615076150861509615106151161512615136151461515615166151761518615196152061521615226152361524615256152661527615286152961530615316153261533615346153561536615376153861539615406154161542615436154461545615466154761548615496155061551615526155361554615556155661557615586155961560615616156261563615646156561566615676156861569615706157161572615736157461575615766157761578615796158061581615826158361584615856158661587615886158961590615916159261593615946159561596615976159861599616006160161602616036160461605616066160761608616096161061611616126161361614616156161661617616186161961620616216162261623616246162561626616276162861629616306163161632616336163461635616366163761638616396164061641616426164361644616456164661647616486164961650616516165261653616546165561656616576165861659616606166161662616636166461665616666166761668616696167061671616726167361674616756167661677616786167961680616816168261683616846168561686616876168861689616906169161692616936169461695616966169761698616996170061701617026170361704617056170661707617086170961710617116171261713617146171561716617176171861719617206172161722617236172461725617266172761728617296173061731617326173361734617356173661737617386173961740617416174261743617446174561746617476174861749617506175161752617536175461755617566175761758617596176061761617626176361764617656176661767617686176961770617716177261773617746177561776617776177861779617806178161782617836178461785617866178761788617896179061791617926179361794617956179661797617986179961800618016180261803618046180561806618076180861809618106181161812618136181461815618166181761818618196182061821618226182361824618256182661827618286182961830618316183261833618346183561836618376183861839618406184161842618436184461845618466184761848618496185061851618526185361854618556185661857618586185961860618616186261863618646186561866618676186861869618706187161872618736187461875618766187761878618796188061881618826188361884618856188661887618886188961890618916189261893618946189561896618976189861899619006190161902619036190461905619066190761908619096191061911619126191361914619156191661917619186191961920619216192261923619246192561926619276192861929619306193161932619336193461935619366193761938619396194061941619426194361944619456194661947619486194961950619516195261953619546195561956619576195861959619606196161962619636196461965619666196761968619696197061971619726197361974619756197661977619786197961980619816198261983619846198561986619876198861989619906199161992619936199461995619966199761998619996200062001620026200362004620056200662007620086200962010620116201262013620146201562016620176201862019620206202162022620236202462025620266202762028620296203062031620326203362034620356203662037620386203962040620416204262043620446204562046620476204862049620506205162052620536205462055620566205762058620596206062061620626206362064620656206662067620686206962070620716207262073620746207562076620776207862079620806208162082620836208462085620866208762088620896209062091620926209362094620956209662097620986209962100621016210262103621046210562106621076210862109621106211162112621136211462115621166211762118621196212062121621226212362124621256212662127621286212962130621316213262133621346213562136621376213862139621406214162142621436214462145621466214762148621496215062151621526215362154621556215662157621586215962160621616216262163621646216562166621676216862169621706217162172621736217462175621766217762178621796218062181621826218362184621856218662187621886218962190621916219262193621946219562196621976219862199622006220162202622036220462205622066220762208622096221062211622126221362214622156221662217622186221962220622216222262223622246222562226622276222862229622306223162232622336223462235622366223762238622396224062241622426224362244622456224662247622486224962250622516225262253622546225562256622576225862259622606226162262622636226462265622666226762268622696227062271622726227362274622756227662277622786227962280622816228262283622846228562286622876228862289622906229162292622936229462295622966229762298622996230062301623026230362304623056230662307623086230962310623116231262313623146231562316623176231862319623206232162322623236232462325623266232762328623296233062331623326233362334623356233662337623386233962340623416234262343623446234562346623476234862349623506235162352623536235462355623566235762358623596236062361623626236362364623656236662367623686236962370623716237262373623746237562376623776237862379623806238162382623836238462385623866238762388623896239062391623926239362394623956239662397623986239962400624016240262403624046240562406624076240862409624106241162412624136241462415624166241762418624196242062421624226242362424624256242662427624286242962430624316243262433624346243562436624376243862439624406244162442624436244462445624466244762448624496245062451624526245362454624556245662457624586245962460624616246262463624646246562466624676246862469624706247162472624736247462475624766247762478624796248062481624826248362484624856248662487624886248962490624916249262493624946249562496624976249862499625006250162502625036250462505625066250762508625096251062511625126251362514625156251662517625186251962520625216252262523625246252562526625276252862529625306253162532625336253462535625366253762538625396254062541625426254362544625456254662547625486254962550625516255262553625546255562556625576255862559625606256162562625636256462565625666256762568625696257062571625726257362574625756257662577625786257962580625816258262583625846258562586625876258862589625906259162592625936259462595625966259762598625996260062601626026260362604626056260662607626086260962610626116261262613626146261562616626176261862619626206262162622626236262462625626266262762628626296263062631626326263362634626356263662637626386263962640626416264262643626446264562646626476264862649626506265162652626536265462655626566265762658626596266062661626626266362664626656266662667626686266962670626716267262673626746267562676626776267862679626806268162682626836268462685626866268762688626896269062691626926269362694626956269662697626986269962700627016270262703627046270562706627076270862709627106271162712627136271462715627166271762718627196272062721627226272362724627256272662727627286272962730627316273262733627346273562736627376273862739627406274162742627436274462745627466274762748627496275062751627526275362754627556275662757627586275962760627616276262763627646276562766627676276862769627706277162772627736277462775627766277762778627796278062781627826278362784627856278662787627886278962790627916279262793627946279562796627976279862799628006280162802628036280462805628066280762808628096281062811628126281362814628156281662817628186281962820628216282262823628246282562826628276282862829628306283162832628336283462835628366283762838628396284062841628426284362844628456284662847628486284962850628516285262853628546285562856628576285862859628606286162862628636286462865628666286762868628696287062871628726287362874628756287662877628786287962880628816288262883628846288562886628876288862889628906289162892628936289462895628966289762898628996290062901629026290362904629056290662907629086290962910629116291262913629146291562916629176291862919629206292162922629236292462925629266292762928629296293062931629326293362934629356293662937629386293962940629416294262943629446294562946629476294862949629506295162952629536295462955629566295762958629596296062961629626296362964629656296662967629686296962970629716297262973629746297562976629776297862979629806298162982629836298462985629866298762988629896299062991629926299362994629956299662997629986299963000630016300263003630046300563006630076300863009630106301163012630136301463015630166301763018630196302063021630226302363024630256302663027630286302963030630316303263033630346303563036630376303863039630406304163042630436304463045630466304763048630496305063051630526305363054630556305663057630586305963060630616306263063630646306563066630676306863069630706307163072630736307463075630766307763078630796308063081630826308363084630856308663087630886308963090630916309263093630946309563096630976309863099631006310163102631036310463105631066310763108631096311063111631126311363114631156311663117631186311963120631216312263123631246312563126631276312863129631306313163132631336313463135631366313763138631396314063141631426314363144631456314663147631486314963150631516315263153631546315563156631576315863159631606316163162631636316463165631666316763168631696317063171631726317363174631756317663177631786317963180631816318263183631846318563186631876318863189631906319163192631936319463195631966319763198631996320063201632026320363204632056320663207632086320963210632116321263213632146321563216632176321863219632206322163222632236322463225632266322763228632296323063231632326323363234632356323663237632386323963240632416324263243632446324563246632476324863249632506325163252632536325463255632566325763258632596326063261632626326363264632656326663267632686326963270632716327263273632746327563276632776327863279632806328163282632836328463285632866328763288632896329063291632926329363294632956329663297632986329963300633016330263303633046330563306633076330863309633106331163312633136331463315633166331763318633196332063321633226332363324633256332663327633286332963330633316333263333633346333563336633376333863339633406334163342633436334463345633466334763348633496335063351633526335363354633556335663357633586335963360633616336263363633646336563366633676336863369633706337163372633736337463375633766337763378633796338063381633826338363384633856338663387633886338963390633916339263393633946339563396633976339863399634006340163402634036340463405634066340763408634096341063411634126341363414634156341663417634186341963420634216342263423634246342563426634276342863429634306343163432634336343463435634366343763438634396344063441634426344363444634456344663447634486344963450634516345263453634546345563456634576345863459634606346163462634636346463465634666346763468634696347063471634726347363474634756347663477634786347963480634816348263483634846348563486634876348863489634906349163492634936349463495634966349763498634996350063501635026350363504635056350663507635086350963510635116351263513635146351563516635176351863519635206352163522635236352463525635266352763528635296353063531635326353363534635356353663537635386353963540635416354263543635446354563546635476354863549635506355163552635536355463555635566355763558635596356063561635626356363564635656356663567635686356963570635716357263573635746357563576635776357863579635806358163582635836358463585635866358763588635896359063591635926359363594635956359663597635986359963600636016360263603636046360563606636076360863609636106361163612636136361463615636166361763618636196362063621636226362363624636256362663627636286362963630636316363263633636346363563636636376363863639636406364163642636436364463645636466364763648636496365063651636526365363654636556365663657636586365963660636616366263663636646366563666636676366863669636706367163672636736367463675636766367763678636796368063681636826368363684636856368663687636886368963690636916369263693636946369563696636976369863699637006370163702637036370463705637066370763708637096371063711637126371363714637156371663717637186371963720637216372263723637246372563726637276372863729637306373163732637336373463735637366373763738637396374063741637426374363744637456374663747637486374963750637516375263753637546375563756637576375863759637606376163762637636376463765637666376763768637696377063771637726377363774637756377663777637786377963780637816378263783637846378563786637876378863789637906379163792637936379463795637966379763798637996380063801638026380363804638056380663807638086380963810638116381263813638146381563816638176381863819638206382163822638236382463825638266382763828638296383063831638326383363834638356383663837638386383963840638416384263843638446384563846638476384863849638506385163852638536385463855638566385763858638596386063861638626386363864638656386663867638686386963870638716387263873638746387563876638776387863879638806388163882638836388463885638866388763888638896389063891638926389363894638956389663897638986389963900639016390263903639046390563906639076390863909639106391163912639136391463915639166391763918639196392063921639226392363924639256392663927639286392963930639316393263933639346393563936639376393863939639406394163942639436394463945639466394763948639496395063951639526395363954639556395663957639586395963960639616396263963639646396563966639676396863969639706397163972639736397463975639766397763978639796398063981639826398363984639856398663987639886398963990639916399263993639946399563996639976399863999640006400164002640036400464005640066400764008640096401064011640126401364014640156401664017640186401964020640216402264023640246402564026640276402864029640306403164032640336403464035640366403764038640396404064041640426404364044640456404664047640486404964050640516405264053640546405564056640576405864059640606406164062640636406464065640666406764068640696407064071640726407364074640756407664077640786407964080640816408264083640846408564086640876408864089640906409164092640936409464095640966409764098640996410064101641026410364104641056410664107641086410964110641116411264113641146411564116641176411864119641206412164122641236412464125641266412764128641296413064131641326413364134641356413664137641386413964140641416414264143641446414564146641476414864149641506415164152641536415464155641566415764158641596416064161641626416364164641656416664167641686416964170641716417264173641746417564176641776417864179641806418164182641836418464185641866418764188641896419064191641926419364194641956419664197641986419964200642016420264203642046420564206642076420864209642106421164212642136421464215642166421764218642196422064221642226422364224642256422664227642286422964230642316423264233642346423564236642376423864239642406424164242642436424464245642466424764248642496425064251642526425364254642556425664257642586425964260642616426264263642646426564266642676426864269642706427164272642736427464275642766427764278642796428064281642826428364284642856428664287642886428964290642916429264293642946429564296642976429864299643006430164302643036430464305643066430764308643096431064311643126431364314643156431664317643186431964320643216432264323643246432564326643276432864329643306433164332643336433464335643366433764338643396434064341643426434364344643456434664347643486434964350643516435264353643546435564356643576435864359643606436164362643636436464365643666436764368643696437064371643726437364374643756437664377643786437964380643816438264383643846438564386643876438864389643906439164392643936439464395643966439764398643996440064401644026440364404644056440664407644086440964410644116441264413644146441564416644176441864419644206442164422644236442464425644266442764428644296443064431644326443364434644356443664437644386443964440644416444264443644446444564446644476444864449644506445164452644536445464455644566445764458644596446064461644626446364464644656446664467644686446964470644716447264473644746447564476644776447864479644806448164482644836448464485644866448764488644896449064491644926449364494644956449664497644986449964500645016450264503645046450564506645076450864509645106451164512645136451464515645166451764518645196452064521645226452364524645256452664527645286452964530645316453264533645346453564536645376453864539645406454164542645436454464545645466454764548645496455064551645526455364554645556455664557645586455964560645616456264563645646456564566645676456864569645706457164572645736457464575645766457764578645796458064581645826458364584645856458664587645886458964590645916459264593645946459564596645976459864599646006460164602646036460464605646066460764608646096461064611646126461364614646156461664617646186461964620646216462264623646246462564626646276462864629646306463164632646336463464635646366463764638646396464064641646426464364644646456464664647646486464964650646516465264653646546465564656646576465864659646606466164662646636466464665646666466764668646696467064671646726467364674646756467664677646786467964680646816468264683646846468564686646876468864689646906469164692646936469464695646966469764698646996470064701647026470364704647056470664707647086470964710647116471264713647146471564716647176471864719647206472164722647236472464725647266472764728647296473064731647326473364734647356473664737647386473964740647416474264743647446474564746647476474864749647506475164752647536475464755647566475764758647596476064761647626476364764647656476664767647686476964770647716477264773647746477564776647776477864779647806478164782647836478464785647866478764788647896479064791647926479364794647956479664797647986479964800648016480264803648046480564806648076480864809648106481164812648136481464815648166481764818648196482064821648226482364824648256482664827648286482964830648316483264833648346483564836648376483864839648406484164842648436484464845648466484764848648496485064851648526485364854648556485664857648586485964860648616486264863648646486564866648676486864869648706487164872648736487464875648766487764878648796488064881648826488364884648856488664887648886488964890648916489264893648946489564896648976489864899649006490164902649036490464905649066490764908649096491064911649126491364914649156491664917649186491964920649216492264923649246492564926649276492864929649306493164932649336493464935649366493764938649396494064941649426494364944649456494664947649486494964950649516495264953649546495564956649576495864959649606496164962649636496464965649666496764968649696497064971649726497364974649756497664977649786497964980649816498264983649846498564986649876498864989649906499164992649936499464995649966499764998649996500065001650026500365004650056500665007650086500965010650116501265013650146501565016650176501865019650206502165022650236502465025650266502765028650296503065031650326503365034650356503665037650386503965040650416504265043650446504565046650476504865049650506505165052650536505465055650566505765058650596506065061650626506365064650656506665067650686506965070650716507265073650746507565076650776507865079650806508165082650836508465085650866508765088650896509065091650926509365094650956509665097650986509965100651016510265103651046510565106651076510865109651106511165112651136511465115651166511765118651196512065121651226512365124651256512665127651286512965130651316513265133651346513565136651376513865139651406514165142651436514465145651466514765148651496515065151651526515365154651556515665157651586515965160651616516265163651646516565166651676516865169651706517165172651736517465175651766517765178651796518065181651826518365184651856518665187651886518965190651916519265193651946519565196651976519865199652006520165202652036520465205652066520765208652096521065211652126521365214652156521665217652186521965220652216522265223652246522565226652276522865229652306523165232652336523465235652366523765238652396524065241652426524365244652456524665247652486524965250652516525265253652546525565256652576525865259652606526165262652636526465265652666526765268652696527065271652726527365274652756527665277652786527965280652816528265283652846528565286652876528865289652906529165292652936529465295652966529765298652996530065301653026530365304653056530665307653086530965310653116531265313653146531565316653176531865319653206532165322653236532465325653266532765328653296533065331653326533365334653356533665337653386533965340653416534265343653446534565346653476534865349653506535165352653536535465355653566535765358653596536065361653626536365364653656536665367653686536965370653716537265373653746537565376653776537865379653806538165382653836538465385653866538765388653896539065391653926539365394653956539665397653986539965400654016540265403654046540565406654076540865409654106541165412654136541465415654166541765418654196542065421654226542365424654256542665427654286542965430654316543265433654346543565436654376543865439654406544165442654436544465445654466544765448654496545065451654526545365454654556545665457654586545965460654616546265463654646546565466654676546865469654706547165472654736547465475654766547765478654796548065481654826548365484654856548665487654886548965490654916549265493654946549565496654976549865499655006550165502655036550465505655066550765508655096551065511655126551365514655156551665517655186551965520655216552265523655246552565526655276552865529655306553165532655336553465535655366553765538655396554065541655426554365544655456554665547655486554965550655516555265553655546555565556655576555865559655606556165562655636556465565655666556765568655696557065571655726557365574655756557665577655786557965580655816558265583655846558565586655876558865589655906559165592655936559465595655966559765598655996560065601656026560365604656056560665607656086560965610656116561265613656146561565616656176561865619656206562165622656236562465625656266562765628656296563065631656326563365634656356563665637656386563965640656416564265643656446564565646656476564865649656506565165652656536565465655656566565765658656596566065661656626566365664656656566665667656686566965670656716567265673656746567565676656776567865679656806568165682656836568465685656866568765688656896569065691656926569365694656956569665697656986569965700657016570265703657046570565706657076570865709657106571165712657136571465715657166571765718657196572065721657226572365724657256572665727657286572965730657316573265733657346573565736657376573865739657406574165742657436574465745657466574765748657496575065751657526575365754657556575665757657586575965760657616576265763657646576565766657676576865769657706577165772657736577465775657766577765778657796578065781657826578365784657856578665787657886578965790657916579265793657946579565796657976579865799658006580165802658036580465805658066580765808658096581065811658126581365814658156581665817658186581965820658216582265823658246582565826658276582865829658306583165832658336583465835658366583765838658396584065841658426584365844658456584665847658486584965850658516585265853658546585565856658576585865859658606586165862658636586465865658666586765868658696587065871658726587365874658756587665877658786587965880658816588265883658846588565886658876588865889658906589165892658936589465895658966589765898658996590065901659026590365904659056590665907659086590965910659116591265913659146591565916659176591865919659206592165922659236592465925659266592765928659296593065931659326593365934659356593665937659386593965940659416594265943659446594565946659476594865949659506595165952659536595465955659566595765958659596596065961659626596365964659656596665967659686596965970659716597265973659746597565976659776597865979659806598165982659836598465985659866598765988659896599065991659926599365994659956599665997659986599966000660016600266003660046600566006660076600866009660106601166012660136601466015660166601766018660196602066021660226602366024660256602666027660286602966030660316603266033660346603566036660376603866039660406604166042660436604466045660466604766048660496605066051660526605366054660556605666057660586605966060660616606266063660646606566066660676606866069660706607166072660736607466075660766607766078660796608066081660826608366084660856608666087660886608966090660916609266093660946609566096660976609866099661006610166102661036610466105661066610766108661096611066111661126611366114661156611666117661186611966120661216612266123661246612566126661276612866129661306613166132661336613466135661366613766138661396614066141661426614366144661456614666147661486614966150661516615266153661546615566156661576615866159661606616166162661636616466165661666616766168661696617066171661726617366174661756617666177661786617966180661816618266183661846618566186661876618866189661906619166192661936619466195661966619766198661996620066201662026620366204662056620666207662086620966210662116621266213662146621566216662176621866219662206622166222662236622466225662266622766228662296623066231662326623366234662356623666237662386623966240662416624266243662446624566246662476624866249662506625166252662536625466255662566625766258662596626066261662626626366264662656626666267662686626966270662716627266273662746627566276662776627866279662806628166282662836628466285662866628766288662896629066291662926629366294662956629666297662986629966300663016630266303663046630566306663076630866309663106631166312663136631466315663166631766318663196632066321663226632366324663256632666327663286632966330663316633266333663346633566336663376633866339663406634166342663436634466345663466634766348663496635066351663526635366354663556635666357663586635966360663616636266363663646636566366663676636866369663706637166372663736637466375663766637766378663796638066381663826638366384663856638666387663886638966390663916639266393663946639566396663976639866399664006640166402664036640466405664066640766408664096641066411664126641366414664156641666417664186641966420664216642266423664246642566426664276642866429664306643166432664336643466435664366643766438664396644066441664426644366444664456644666447664486644966450664516645266453664546645566456664576645866459664606646166462664636646466465664666646766468664696647066471664726647366474664756647666477664786647966480664816648266483664846648566486664876648866489664906649166492664936649466495664966649766498664996650066501665026650366504665056650666507665086650966510665116651266513665146651566516665176651866519665206652166522665236652466525665266652766528665296653066531665326653366534665356653666537665386653966540665416654266543665446654566546665476654866549665506655166552665536655466555665566655766558665596656066561665626656366564665656656666567665686656966570665716657266573665746657566576665776657866579665806658166582665836658466585665866658766588665896659066591665926659366594665956659666597665986659966600666016660266603666046660566606666076660866609666106661166612666136661466615666166661766618666196662066621666226662366624666256662666627666286662966630666316663266633666346663566636666376663866639666406664166642666436664466645666466664766648666496665066651666526665366654666556665666657666586665966660666616666266663666646666566666666676666866669666706667166672666736667466675666766667766678666796668066681666826668366684666856668666687666886668966690666916669266693666946669566696666976669866699667006670166702667036670466705667066670766708667096671066711667126671366714667156671666717667186671966720667216672266723667246672566726667276672866729667306673166732667336673466735667366673766738667396674066741667426674366744667456674666747667486674966750667516675266753667546675566756667576675866759667606676166762667636676466765667666676766768667696677066771667726677366774667756677666777667786677966780667816678266783667846678566786667876678866789667906679166792667936679466795667966679766798667996680066801668026680366804668056680666807668086680966810668116681266813668146681566816668176681866819668206682166822668236682466825668266682766828668296683066831668326683366834668356683666837668386683966840668416684266843668446684566846668476684866849668506685166852668536685466855668566685766858668596686066861668626686366864668656686666867668686686966870668716687266873668746687566876668776687866879668806688166882668836688466885668866688766888668896689066891668926689366894668956689666897668986689966900669016690266903669046690566906669076690866909669106691166912669136691466915669166691766918669196692066921669226692366924669256692666927669286692966930669316693266933669346693566936669376693866939669406694166942669436694466945669466694766948669496695066951669526695366954669556695666957669586695966960669616696266963669646696566966669676696866969669706697166972669736697466975669766697766978669796698066981669826698366984669856698666987669886698966990669916699266993669946699566996669976699866999670006700167002670036700467005670066700767008670096701067011670126701367014670156701667017670186701967020670216702267023670246702567026670276702867029670306703167032670336703467035670366703767038670396704067041670426704367044670456704667047670486704967050670516705267053670546705567056670576705867059670606706167062670636706467065670666706767068670696707067071670726707367074670756707667077670786707967080670816708267083670846708567086670876708867089670906709167092670936709467095670966709767098670996710067101671026710367104671056710667107671086710967110671116711267113671146711567116671176711867119671206712167122671236712467125671266712767128671296713067131671326713367134671356713667137671386713967140671416714267143671446714567146671476714867149671506715167152671536715467155671566715767158671596716067161671626716367164671656716667167671686716967170671716717267173671746717567176671776717867179671806718167182671836718467185671866718767188671896719067191671926719367194671956719667197671986719967200672016720267203672046720567206672076720867209672106721167212672136721467215672166721767218672196722067221672226722367224672256722667227672286722967230672316723267233672346723567236672376723867239672406724167242672436724467245672466724767248672496725067251672526725367254672556725667257672586725967260672616726267263672646726567266672676726867269672706727167272672736727467275672766727767278672796728067281672826728367284672856728667287672886728967290672916729267293672946729567296672976729867299673006730167302673036730467305673066730767308673096731067311673126731367314673156731667317673186731967320673216732267323673246732567326673276732867329673306733167332673336733467335673366733767338673396734067341673426734367344673456734667347673486734967350673516735267353673546735567356673576735867359673606736167362673636736467365673666736767368673696737067371673726737367374673756737667377673786737967380673816738267383673846738567386673876738867389673906739167392673936739467395673966739767398673996740067401674026740367404674056740667407674086740967410674116741267413674146741567416674176741867419674206742167422674236742467425674266742767428674296743067431674326743367434674356743667437674386743967440674416744267443674446744567446674476744867449674506745167452674536745467455674566745767458674596746067461674626746367464674656746667467674686746967470674716747267473674746747567476674776747867479674806748167482674836748467485674866748767488674896749067491674926749367494674956749667497674986749967500675016750267503675046750567506675076750867509675106751167512675136751467515675166751767518675196752067521675226752367524675256752667527675286752967530675316753267533675346753567536675376753867539675406754167542675436754467545675466754767548675496755067551675526755367554675556755667557675586755967560675616756267563675646756567566675676756867569675706757167572675736757467575675766757767578675796758067581675826758367584675856758667587675886758967590675916759267593675946759567596675976759867599676006760167602676036760467605676066760767608676096761067611676126761367614676156761667617676186761967620676216762267623676246762567626676276762867629676306763167632676336763467635676366763767638676396764067641676426764367644676456764667647676486764967650676516765267653676546765567656676576765867659676606766167662676636766467665676666766767668676696767067671676726767367674676756767667677676786767967680676816768267683676846768567686676876768867689676906769167692676936769467695676966769767698676996770067701677026770367704677056770667707677086770967710677116771267713677146771567716677176771867719677206772167722677236772467725677266772767728677296773067731677326773367734677356773667737677386773967740677416774267743677446774567746677476774867749677506775167752677536775467755677566775767758677596776067761677626776367764677656776667767677686776967770677716777267773677746777567776677776777867779677806778167782677836778467785677866778767788677896779067791677926779367794677956779667797677986779967800678016780267803678046780567806678076780867809678106781167812678136781467815678166781767818678196782067821678226782367824678256782667827678286782967830678316783267833678346783567836678376783867839678406784167842678436784467845678466784767848678496785067851678526785367854678556785667857678586785967860678616786267863678646786567866678676786867869678706787167872678736787467875678766787767878678796788067881678826788367884678856788667887678886788967890678916789267893678946789567896678976789867899679006790167902679036790467905679066790767908679096791067911679126791367914679156791667917679186791967920679216792267923679246792567926679276792867929679306793167932679336793467935679366793767938679396794067941679426794367944679456794667947679486794967950679516795267953679546795567956679576795867959679606796167962679636796467965679666796767968679696797067971679726797367974679756797667977679786797967980679816798267983679846798567986679876798867989679906799167992679936799467995679966799767998679996800068001680026800368004680056800668007680086800968010680116801268013680146801568016680176801868019680206802168022680236802468025680266802768028680296803068031680326803368034680356803668037680386803968040680416804268043680446804568046680476804868049680506805168052680536805468055680566805768058680596806068061680626806368064680656806668067680686806968070680716807268073680746807568076680776807868079680806808168082680836808468085680866808768088680896809068091680926809368094680956809668097680986809968100681016810268103681046810568106681076810868109681106811168112681136811468115681166811768118681196812068121681226812368124681256812668127681286812968130681316813268133681346813568136681376813868139681406814168142681436814468145681466814768148681496815068151681526815368154681556815668157681586815968160681616816268163681646816568166681676816868169681706817168172681736817468175681766817768178681796818068181681826818368184681856818668187681886818968190681916819268193681946819568196681976819868199682006820168202682036820468205682066820768208682096821068211682126821368214682156821668217682186821968220682216822268223682246822568226682276822868229682306823168232682336823468235682366823768238682396824068241682426824368244682456824668247682486824968250682516825268253682546825568256682576825868259682606826168262682636826468265682666826768268682696827068271682726827368274682756827668277682786827968280682816828268283682846828568286682876828868289682906829168292682936829468295682966829768298682996830068301683026830368304683056830668307683086830968310683116831268313683146831568316683176831868319683206832168322683236832468325683266832768328683296833068331683326833368334683356833668337683386833968340683416834268343683446834568346683476834868349683506835168352683536835468355683566835768358683596836068361683626836368364683656836668367683686836968370683716837268373683746837568376683776837868379683806838168382683836838468385683866838768388683896839068391683926839368394683956839668397683986839968400684016840268403684046840568406684076840868409684106841168412684136841468415684166841768418684196842068421684226842368424684256842668427684286842968430684316843268433684346843568436684376843868439684406844168442684436844468445684466844768448684496845068451684526845368454684556845668457684586845968460684616846268463684646846568466684676846868469684706847168472684736847468475684766847768478684796848068481684826848368484684856848668487684886848968490684916849268493684946849568496684976849868499685006850168502685036850468505685066850768508685096851068511685126851368514685156851668517685186851968520685216852268523685246852568526685276852868529685306853168532685336853468535685366853768538685396854068541685426854368544685456854668547685486854968550685516855268553685546855568556685576855868559685606856168562685636856468565685666856768568685696857068571685726857368574685756857668577685786857968580685816858268583685846858568586685876858868589685906859168592685936859468595685966859768598685996860068601686026860368604686056860668607686086860968610686116861268613686146861568616686176861868619686206862168622686236862468625686266862768628686296863068631686326863368634686356863668637686386863968640686416864268643686446864568646686476864868649686506865168652686536865468655686566865768658686596866068661686626866368664686656866668667686686866968670686716867268673686746867568676686776867868679686806868168682686836868468685686866868768688686896869068691686926869368694686956869668697686986869968700687016870268703687046870568706687076870868709687106871168712687136871468715687166871768718687196872068721687226872368724687256872668727687286872968730687316873268733687346873568736687376873868739687406874168742687436874468745687466874768748687496875068751687526875368754687556875668757687586875968760687616876268763687646876568766687676876868769687706877168772687736877468775687766877768778687796878068781687826878368784687856878668787687886878968790687916879268793687946879568796687976879868799688006880168802688036880468805688066880768808688096881068811688126881368814688156881668817688186881968820688216882268823688246882568826688276882868829688306883168832688336883468835688366883768838688396884068841688426884368844688456884668847688486884968850688516885268853688546885568856688576885868859688606886168862688636886468865688666886768868688696887068871688726887368874688756887668877688786887968880688816888268883688846888568886688876888868889688906889168892688936889468895688966889768898688996890068901689026890368904689056890668907689086890968910689116891268913689146891568916689176891868919689206892168922689236892468925689266892768928689296893068931689326893368934689356893668937689386893968940689416894268943689446894568946689476894868949689506895168952689536895468955689566895768958689596896068961689626896368964689656896668967689686896968970689716897268973689746897568976689776897868979689806898168982689836898468985689866898768988689896899068991689926899368994689956899668997689986899969000690016900269003690046900569006690076900869009690106901169012690136901469015690166901769018690196902069021690226902369024690256902669027690286902969030690316903269033690346903569036690376903869039690406904169042690436904469045690466904769048690496905069051690526905369054690556905669057690586905969060690616906269063690646906569066690676906869069690706907169072690736907469075690766907769078690796908069081690826908369084690856908669087690886908969090690916909269093690946909569096690976909869099691006910169102691036910469105691066910769108691096911069111691126911369114691156911669117691186911969120691216912269123691246912569126691276912869129691306913169132691336913469135691366913769138691396914069141691426914369144691456914669147691486914969150691516915269153691546915569156691576915869159691606916169162691636916469165691666916769168691696917069171691726917369174691756917669177691786917969180691816918269183691846918569186691876918869189691906919169192691936919469195691966919769198691996920069201692026920369204692056920669207692086920969210692116921269213692146921569216692176921869219692206922169222692236922469225692266922769228692296923069231692326923369234692356923669237692386923969240692416924269243692446924569246692476924869249692506925169252692536925469255692566925769258692596926069261692626926369264692656926669267692686926969270692716927269273692746927569276692776927869279692806928169282692836928469285692866928769288692896929069291692926929369294692956929669297692986929969300693016930269303693046930569306693076930869309693106931169312693136931469315693166931769318693196932069321693226932369324693256932669327693286932969330693316933269333693346933569336693376933869339693406934169342693436934469345693466934769348693496935069351693526935369354693556935669357693586935969360693616936269363693646936569366693676936869369693706937169372693736937469375693766937769378693796938069381693826938369384693856938669387693886938969390693916939269393693946939569396693976939869399694006940169402694036940469405694066940769408694096941069411694126941369414694156941669417694186941969420694216942269423694246942569426694276942869429694306943169432694336943469435694366943769438694396944069441694426944369444694456944669447694486944969450694516945269453694546945569456694576945869459694606946169462694636946469465694666946769468694696947069471694726947369474694756947669477694786947969480694816948269483694846948569486694876948869489694906949169492694936949469495694966949769498694996950069501695026950369504695056950669507695086950969510695116951269513695146951569516695176951869519695206952169522695236952469525695266952769528695296953069531695326953369534695356953669537695386953969540695416954269543695446954569546695476954869549695506955169552695536955469555695566955769558695596956069561695626956369564695656956669567695686956969570695716957269573695746957569576695776957869579695806958169582695836958469585695866958769588695896959069591695926959369594695956959669597695986959969600696016960269603696046960569606696076960869609696106961169612696136961469615696166961769618696196962069621696226962369624696256962669627696286962969630696316963269633696346963569636696376963869639696406964169642696436964469645696466964769648696496965069651696526965369654696556965669657696586965969660696616966269663696646966569666696676966869669696706967169672696736967469675696766967769678696796968069681696826968369684696856968669687696886968969690696916969269693696946969569696696976969869699697006970169702697036970469705697066970769708697096971069711697126971369714697156971669717697186971969720697216972269723697246972569726697276972869729697306973169732697336973469735697366973769738697396974069741697426974369744697456974669747697486974969750697516975269753697546975569756697576975869759697606976169762697636976469765697666976769768697696977069771697726977369774697756977669777697786977969780697816978269783697846978569786697876978869789697906979169792697936979469795697966979769798697996980069801698026980369804698056980669807698086980969810698116981269813698146981569816698176981869819698206982169822698236982469825698266982769828698296983069831698326983369834698356983669837698386983969840698416984269843698446984569846698476984869849698506985169852698536985469855698566985769858698596986069861698626986369864698656986669867698686986969870698716987269873698746987569876698776987869879698806988169882698836988469885698866988769888698896989069891698926989369894698956989669897698986989969900699016990269903699046990569906699076990869909699106991169912699136991469915699166991769918699196992069921699226992369924699256992669927699286992969930699316993269933699346993569936699376993869939699406994169942699436994469945699466994769948699496995069951699526995369954699556995669957699586995969960699616996269963699646996569966699676996869969699706997169972699736997469975699766997769978699796998069981699826998369984699856998669987699886998969990699916999269993699946999569996699976999869999700007000170002700037000470005700067000770008700097001070011700127001370014700157001670017700187001970020700217002270023700247002570026700277002870029700307003170032700337003470035700367003770038700397004070041700427004370044700457004670047700487004970050700517005270053700547005570056700577005870059700607006170062700637006470065700667006770068700697007070071700727007370074700757007670077700787007970080700817008270083700847008570086700877008870089700907009170092700937009470095700967009770098700997010070101701027010370104701057010670107701087010970110701117011270113701147011570116701177011870119701207012170122701237012470125701267012770128701297013070131701327013370134701357013670137701387013970140701417014270143701447014570146701477014870149701507015170152701537015470155701567015770158701597016070161701627016370164701657016670167701687016970170701717017270173701747017570176701777017870179701807018170182701837018470185701867018770188701897019070191701927019370194701957019670197701987019970200702017020270203702047020570206702077020870209702107021170212702137021470215702167021770218702197022070221702227022370224702257022670227702287022970230702317023270233702347023570236702377023870239702407024170242702437024470245702467024770248702497025070251702527025370254702557025670257702587025970260702617026270263702647026570266702677026870269702707027170272702737027470275702767027770278702797028070281702827028370284702857028670287702887028970290702917029270293702947029570296702977029870299703007030170302703037030470305703067030770308703097031070311703127031370314703157031670317703187031970320703217032270323703247032570326703277032870329703307033170332703337033470335703367033770338703397034070341703427034370344703457034670347703487034970350703517035270353703547035570356703577035870359703607036170362703637036470365703667036770368703697037070371703727037370374703757037670377703787037970380703817038270383703847038570386703877038870389703907039170392703937039470395703967039770398703997040070401704027040370404704057040670407704087040970410704117041270413704147041570416704177041870419704207042170422704237042470425704267042770428704297043070431704327043370434704357043670437704387043970440704417044270443704447044570446704477044870449704507045170452704537045470455704567045770458704597046070461704627046370464704657046670467704687046970470704717047270473704747047570476704777047870479704807048170482704837048470485704867048770488704897049070491704927049370494704957049670497704987049970500705017050270503705047050570506705077050870509705107051170512705137051470515705167051770518705197052070521705227052370524705257052670527705287052970530705317053270533705347053570536705377053870539705407054170542705437054470545705467054770548705497055070551705527055370554705557055670557705587055970560705617056270563705647056570566705677056870569705707057170572705737057470575705767057770578705797058070581705827058370584705857058670587705887058970590705917059270593705947059570596705977059870599706007060170602706037060470605706067060770608706097061070611706127061370614706157061670617706187061970620706217062270623706247062570626706277062870629706307063170632706337063470635706367063770638706397064070641706427064370644706457064670647706487064970650706517065270653706547065570656706577065870659706607066170662706637066470665706667066770668706697067070671706727067370674706757067670677706787067970680706817068270683706847068570686706877068870689706907069170692706937069470695706967069770698706997070070701707027070370704707057070670707707087070970710707117071270713707147071570716707177071870719707207072170722707237072470725707267072770728707297073070731707327073370734707357073670737707387073970740707417074270743707447074570746707477074870749707507075170752707537075470755707567075770758707597076070761707627076370764707657076670767707687076970770707717077270773707747077570776707777077870779707807078170782707837078470785707867078770788707897079070791707927079370794707957079670797707987079970800708017080270803708047080570806708077080870809708107081170812708137081470815708167081770818708197082070821708227082370824708257082670827708287082970830708317083270833708347083570836708377083870839708407084170842708437084470845708467084770848708497085070851708527085370854708557085670857708587085970860708617086270863708647086570866708677086870869708707087170872708737087470875708767087770878708797088070881708827088370884708857088670887708887088970890708917089270893708947089570896708977089870899709007090170902709037090470905709067090770908709097091070911709127091370914709157091670917709187091970920709217092270923709247092570926709277092870929709307093170932709337093470935709367093770938709397094070941709427094370944709457094670947709487094970950709517095270953709547095570956709577095870959709607096170962709637096470965709667096770968709697097070971709727097370974709757097670977709787097970980709817098270983709847098570986709877098870989709907099170992709937099470995709967099770998709997100071001710027100371004710057100671007710087100971010710117101271013710147101571016710177101871019710207102171022710237102471025710267102771028710297103071031710327103371034710357103671037710387103971040710417104271043710447104571046710477104871049710507105171052710537105471055710567105771058710597106071061710627106371064710657106671067710687106971070710717107271073710747107571076710777107871079710807108171082710837108471085710867108771088710897109071091710927109371094710957109671097710987109971100711017110271103711047110571106711077110871109711107111171112711137111471115711167111771118711197112071121711227112371124711257112671127711287112971130711317113271133711347113571136711377113871139711407114171142711437114471145711467114771148711497115071151711527115371154711557115671157711587115971160711617116271163711647116571166711677116871169711707117171172711737117471175711767117771178711797118071181711827118371184711857118671187711887118971190711917119271193711947119571196711977119871199712007120171202712037120471205712067120771208712097121071211712127121371214712157121671217712187121971220712217122271223712247122571226712277122871229712307123171232712337123471235712367123771238712397124071241712427124371244712457124671247712487124971250712517125271253712547125571256712577125871259712607126171262712637126471265712667126771268712697127071271712727127371274712757127671277712787127971280712817128271283712847128571286712877128871289712907129171292712937129471295712967129771298712997130071301713027130371304713057130671307713087130971310713117131271313713147131571316713177131871319713207132171322713237132471325713267132771328713297133071331713327133371334713357133671337713387133971340713417134271343713447134571346713477134871349713507135171352713537135471355713567135771358713597136071361713627136371364713657136671367713687136971370713717137271373713747137571376713777137871379713807138171382713837138471385713867138771388713897139071391713927139371394713957139671397713987139971400714017140271403714047140571406714077140871409714107141171412714137141471415714167141771418714197142071421714227142371424714257142671427714287142971430714317143271433714347143571436714377143871439714407144171442714437144471445714467144771448714497145071451714527145371454714557145671457714587145971460714617146271463714647146571466714677146871469714707147171472714737147471475714767147771478714797148071481714827148371484714857148671487714887148971490714917149271493714947149571496714977149871499715007150171502715037150471505715067150771508715097151071511715127151371514715157151671517715187151971520715217152271523715247152571526715277152871529715307153171532715337153471535715367153771538715397154071541715427154371544715457154671547715487154971550715517155271553715547155571556715577155871559715607156171562715637156471565715667156771568715697157071571715727157371574715757157671577715787157971580715817158271583715847158571586715877158871589715907159171592715937159471595715967159771598715997160071601716027160371604716057160671607716087160971610716117161271613716147161571616716177161871619716207162171622716237162471625716267162771628716297163071631716327163371634716357163671637716387163971640716417164271643716447164571646716477164871649716507165171652716537165471655716567165771658716597166071661716627166371664716657166671667716687166971670716717167271673716747167571676716777167871679716807168171682716837168471685716867168771688716897169071691716927169371694716957169671697716987169971700717017170271703717047170571706717077170871709717107171171712717137171471715717167171771718717197172071721717227172371724717257172671727717287172971730717317173271733717347173571736717377173871739717407174171742717437174471745717467174771748717497175071751717527175371754717557175671757717587175971760717617176271763717647176571766717677176871769717707177171772717737177471775717767177771778717797178071781717827178371784717857178671787717887178971790717917179271793717947179571796717977179871799718007180171802718037180471805718067180771808718097181071811718127181371814718157181671817718187181971820718217182271823718247182571826718277182871829718307183171832718337183471835718367183771838718397184071841718427184371844718457184671847718487184971850718517185271853718547185571856718577185871859718607186171862718637186471865718667186771868718697187071871718727187371874718757187671877718787187971880718817188271883718847188571886718877188871889718907189171892718937189471895718967189771898718997190071901719027190371904719057190671907719087190971910719117191271913719147191571916719177191871919719207192171922719237192471925719267192771928719297193071931719327193371934719357193671937719387193971940719417194271943719447194571946719477194871949719507195171952719537195471955719567195771958719597196071961719627196371964719657196671967719687196971970719717197271973719747197571976719777197871979719807198171982719837198471985719867198771988719897199071991719927199371994719957199671997719987199972000720017200272003720047200572006720077200872009720107201172012720137201472015720167201772018720197202072021720227202372024720257202672027720287202972030720317203272033720347203572036720377203872039720407204172042720437204472045720467204772048720497205072051720527205372054720557205672057720587205972060720617206272063720647206572066720677206872069720707207172072720737207472075720767207772078720797208072081720827208372084720857208672087720887208972090720917209272093720947209572096720977209872099721007210172102721037210472105721067210772108721097211072111721127211372114721157211672117721187211972120721217212272123721247212572126721277212872129721307213172132721337213472135721367213772138721397214072141721427214372144721457214672147721487214972150721517215272153721547215572156721577215872159721607216172162721637216472165721667216772168721697217072171721727217372174721757217672177721787217972180721817218272183721847218572186721877218872189721907219172192721937219472195721967219772198721997220072201722027220372204722057220672207722087220972210722117221272213722147221572216722177221872219722207222172222722237222472225722267222772228722297223072231722327223372234722357223672237722387223972240722417224272243722447224572246722477224872249722507225172252722537225472255722567225772258722597226072261722627226372264722657226672267722687226972270722717227272273722747227572276722777227872279722807228172282722837228472285722867228772288722897229072291722927229372294722957229672297722987229972300723017230272303723047230572306723077230872309723107231172312723137231472315723167231772318723197232072321723227232372324723257232672327723287232972330723317233272333723347233572336723377233872339723407234172342723437234472345723467234772348723497235072351723527235372354723557235672357723587235972360723617236272363723647236572366723677236872369723707237172372723737237472375723767237772378723797238072381723827238372384723857238672387723887238972390723917239272393723947239572396723977239872399724007240172402724037240472405724067240772408724097241072411724127241372414724157241672417724187241972420724217242272423724247242572426724277242872429724307243172432724337243472435724367243772438724397244072441724427244372444724457244672447724487244972450724517245272453724547245572456724577245872459724607246172462724637246472465724667246772468724697247072471724727247372474724757247672477724787247972480724817248272483724847248572486724877248872489724907249172492724937249472495724967249772498724997250072501725027250372504725057250672507725087250972510725117251272513725147251572516725177251872519725207252172522725237252472525725267252772528725297253072531725327253372534725357253672537725387253972540725417254272543725447254572546725477254872549725507255172552725537255472555725567255772558725597256072561725627256372564725657256672567725687256972570725717257272573725747257572576725777257872579725807258172582725837258472585725867258772588725897259072591725927259372594725957259672597725987259972600726017260272603726047260572606726077260872609726107261172612726137261472615726167261772618726197262072621726227262372624726257262672627726287262972630726317263272633726347263572636726377263872639726407264172642726437264472645726467264772648726497265072651726527265372654726557265672657726587265972660726617266272663726647266572666726677266872669726707267172672726737267472675726767267772678726797268072681726827268372684726857268672687726887268972690726917269272693726947269572696726977269872699727007270172702727037270472705727067270772708727097271072711727127271372714727157271672717727187271972720727217272272723727247272572726727277272872729727307273172732727337273472735727367273772738727397274072741727427274372744727457274672747727487274972750727517275272753727547275572756727577275872759727607276172762727637276472765727667276772768727697277072771727727277372774727757277672777727787277972780727817278272783727847278572786727877278872789727907279172792727937279472795727967279772798727997280072801728027280372804728057280672807728087280972810728117281272813728147281572816728177281872819728207282172822728237282472825728267282772828728297283072831728327283372834728357283672837728387283972840728417284272843728447284572846728477284872849728507285172852728537285472855728567285772858728597286072861728627286372864728657286672867728687286972870728717287272873728747287572876728777287872879728807288172882728837288472885728867288772888728897289072891728927289372894728957289672897728987289972900729017290272903729047290572906729077290872909729107291172912729137291472915729167291772918729197292072921729227292372924729257292672927729287292972930729317293272933729347293572936729377293872939729407294172942729437294472945729467294772948729497295072951729527295372954729557295672957729587295972960729617296272963729647296572966729677296872969729707297172972729737297472975729767297772978729797298072981729827298372984729857298672987729887298972990729917299272993729947299572996729977299872999730007300173002730037300473005730067300773008730097301073011730127301373014730157301673017730187301973020730217302273023730247302573026730277302873029730307303173032730337303473035730367303773038730397304073041730427304373044730457304673047730487304973050730517305273053730547305573056730577305873059730607306173062730637306473065730667306773068730697307073071730727307373074730757307673077730787307973080730817308273083730847308573086730877308873089730907309173092730937309473095730967309773098730997310073101731027310373104731057310673107731087310973110731117311273113731147311573116731177311873119731207312173122731237312473125731267312773128731297313073131731327313373134731357313673137731387313973140731417314273143731447314573146731477314873149731507315173152731537315473155731567315773158731597316073161731627316373164731657316673167731687316973170731717317273173731747317573176731777317873179731807318173182731837318473185731867318773188731897319073191731927319373194731957319673197731987319973200732017320273203732047320573206732077320873209732107321173212732137321473215732167321773218732197322073221732227322373224732257322673227732287322973230732317323273233732347323573236732377323873239732407324173242732437324473245732467324773248732497325073251732527325373254732557325673257732587325973260732617326273263732647326573266732677326873269732707327173272732737327473275732767327773278732797328073281732827328373284732857328673287732887328973290732917329273293732947329573296732977329873299733007330173302733037330473305733067330773308733097331073311733127331373314733157331673317733187331973320733217332273323733247332573326733277332873329733307333173332733337333473335733367333773338733397334073341733427334373344733457334673347733487334973350733517335273353733547335573356733577335873359733607336173362733637336473365733667336773368733697337073371733727337373374733757337673377733787337973380733817338273383733847338573386733877338873389733907339173392733937339473395733967339773398733997340073401734027340373404734057340673407734087340973410734117341273413734147341573416734177341873419734207342173422734237342473425734267342773428734297343073431734327343373434734357343673437734387343973440734417344273443734447344573446734477344873449734507345173452734537345473455734567345773458734597346073461734627346373464734657346673467734687346973470734717347273473734747347573476734777347873479734807348173482734837348473485734867348773488734897349073491734927349373494734957349673497734987349973500735017350273503735047350573506735077350873509735107351173512735137351473515735167351773518735197352073521735227352373524735257352673527735287352973530735317353273533735347353573536735377353873539735407354173542735437354473545735467354773548735497355073551735527355373554735557355673557735587355973560735617356273563735647356573566735677356873569735707357173572735737357473575735767357773578735797358073581735827358373584735857358673587735887358973590735917359273593735947359573596735977359873599736007360173602736037360473605736067360773608736097361073611736127361373614736157361673617736187361973620736217362273623736247362573626736277362873629736307363173632736337363473635736367363773638736397364073641736427364373644736457364673647736487364973650736517365273653736547365573656736577365873659736607366173662736637366473665736667366773668736697367073671736727367373674736757367673677736787367973680736817368273683736847368573686736877368873689736907369173692736937369473695736967369773698736997370073701737027370373704737057370673707737087370973710737117371273713737147371573716737177371873719737207372173722737237372473725737267372773728737297373073731737327373373734737357373673737737387373973740737417374273743737447374573746737477374873749737507375173752737537375473755737567375773758737597376073761737627376373764737657376673767737687376973770737717377273773737747377573776737777377873779737807378173782737837378473785737867378773788737897379073791737927379373794737957379673797737987379973800738017380273803738047380573806738077380873809738107381173812738137381473815738167381773818738197382073821738227382373824738257382673827738287382973830738317383273833738347383573836738377383873839738407384173842738437384473845738467384773848738497385073851738527385373854738557385673857738587385973860738617386273863738647386573866738677386873869738707387173872738737387473875738767387773878738797388073881738827388373884738857388673887738887388973890738917389273893738947389573896738977389873899739007390173902739037390473905739067390773908739097391073911739127391373914739157391673917739187391973920739217392273923739247392573926739277392873929739307393173932739337393473935739367393773938739397394073941739427394373944739457394673947739487394973950739517395273953739547395573956739577395873959739607396173962739637396473965739667396773968739697397073971739727397373974739757397673977739787397973980739817398273983739847398573986739877398873989739907399173992739937399473995739967399773998739997400074001740027400374004740057400674007740087400974010740117401274013740147401574016740177401874019740207402174022740237402474025740267402774028740297403074031740327403374034740357403674037740387403974040740417404274043740447404574046740477404874049740507405174052740537405474055740567405774058740597406074061740627406374064740657406674067740687406974070740717407274073740747407574076740777407874079740807408174082740837408474085740867408774088740897409074091740927409374094740957409674097740987409974100741017410274103741047410574106741077410874109741107411174112741137411474115741167411774118741197412074121741227412374124741257412674127741287412974130741317413274133741347413574136741377413874139741407414174142741437414474145741467414774148741497415074151741527415374154741557415674157741587415974160741617416274163741647416574166741677416874169741707417174172741737417474175741767417774178741797418074181741827418374184741857418674187741887418974190741917419274193741947419574196741977419874199742007420174202742037420474205742067420774208742097421074211742127421374214742157421674217742187421974220742217422274223742247422574226742277422874229742307423174232742337423474235742367423774238742397424074241742427424374244742457424674247742487424974250742517425274253742547425574256742577425874259742607426174262742637426474265742667426774268742697427074271742727427374274742757427674277742787427974280742817428274283742847428574286742877428874289742907429174292742937429474295742967429774298742997430074301743027430374304743057430674307743087430974310743117431274313743147431574316743177431874319743207432174322743237432474325743267432774328743297433074331743327433374334743357433674337743387433974340743417434274343743447434574346743477434874349743507435174352743537435474355743567435774358743597436074361743627436374364743657436674367743687436974370743717437274373743747437574376743777437874379743807438174382743837438474385743867438774388743897439074391743927439374394743957439674397743987439974400744017440274403744047440574406744077440874409744107441174412744137441474415744167441774418744197442074421744227442374424744257442674427744287442974430744317443274433744347443574436744377443874439744407444174442744437444474445744467444774448744497445074451744527445374454744557445674457744587445974460744617446274463744647446574466744677446874469744707447174472744737447474475744767447774478744797448074481744827448374484744857448674487744887448974490744917449274493744947449574496744977449874499745007450174502745037450474505745067450774508745097451074511745127451374514745157451674517745187451974520745217452274523745247452574526745277452874529745307453174532745337453474535745367453774538745397454074541745427454374544745457454674547745487454974550745517455274553745547455574556745577455874559745607456174562745637456474565745667456774568745697457074571745727457374574745757457674577745787457974580745817458274583745847458574586745877458874589745907459174592745937459474595745967459774598745997460074601746027460374604746057460674607746087460974610746117461274613746147461574616746177461874619746207462174622746237462474625746267462774628746297463074631746327463374634746357463674637746387463974640746417464274643746447464574646746477464874649746507465174652746537465474655746567465774658746597466074661746627466374664746657466674667746687466974670746717467274673746747467574676746777467874679746807468174682746837468474685746867468774688746897469074691746927469374694746957469674697746987469974700747017470274703747047470574706747077470874709747107471174712747137471474715747167471774718747197472074721747227472374724747257472674727747287472974730747317473274733747347473574736747377473874739747407474174742747437474474745747467474774748747497475074751747527475374754747557475674757747587475974760747617476274763747647476574766747677476874769747707477174772747737477474775747767477774778747797478074781747827478374784747857478674787747887478974790747917479274793747947479574796747977479874799748007480174802748037480474805748067480774808748097481074811748127481374814748157481674817748187481974820748217482274823748247482574826748277482874829748307483174832748337483474835748367483774838748397484074841748427484374844748457484674847748487484974850748517485274853748547485574856748577485874859748607486174862748637486474865748667486774868748697487074871748727487374874748757487674877748787487974880748817488274883748847488574886748877488874889748907489174892748937489474895748967489774898748997490074901749027490374904749057490674907749087490974910749117491274913749147491574916749177491874919749207492174922749237492474925749267492774928749297493074931749327493374934749357493674937749387493974940749417494274943749447494574946749477494874949749507495174952749537495474955749567495774958749597496074961749627496374964749657496674967749687496974970749717497274973749747497574976749777497874979749807498174982749837498474985749867498774988749897499074991749927499374994749957499674997749987499975000750017500275003750047500575006750077500875009750107501175012750137501475015750167501775018750197502075021750227502375024750257502675027750287502975030750317503275033750347503575036750377503875039750407504175042750437504475045750467504775048750497505075051750527505375054750557505675057750587505975060750617506275063750647506575066750677506875069750707507175072750737507475075750767507775078750797508075081750827508375084750857508675087750887508975090750917509275093750947509575096750977509875099751007510175102751037510475105751067510775108751097511075111751127511375114751157511675117751187511975120751217512275123751247512575126751277512875129751307513175132751337513475135751367513775138751397514075141751427514375144751457514675147751487514975150751517515275153751547515575156751577515875159751607516175162751637516475165751667516775168751697517075171751727517375174751757517675177751787517975180751817518275183751847518575186751877518875189751907519175192751937519475195751967519775198751997520075201752027520375204752057520675207752087520975210752117521275213752147521575216752177521875219752207522175222752237522475225752267522775228752297523075231752327523375234752357523675237752387523975240752417524275243752447524575246752477524875249752507525175252752537525475255752567525775258752597526075261752627526375264752657526675267752687526975270752717527275273752747527575276752777527875279752807528175282752837528475285752867528775288752897529075291752927529375294752957529675297752987529975300753017530275303753047530575306753077530875309753107531175312753137531475315753167531775318753197532075321753227532375324753257532675327753287532975330753317533275333753347533575336753377533875339753407534175342753437534475345753467534775348753497535075351753527535375354753557535675357753587535975360753617536275363753647536575366753677536875369753707537175372753737537475375753767537775378753797538075381753827538375384753857538675387753887538975390753917539275393753947539575396753977539875399754007540175402754037540475405754067540775408754097541075411754127541375414754157541675417754187541975420754217542275423754247542575426754277542875429754307543175432754337543475435754367543775438754397544075441754427544375444754457544675447754487544975450754517545275453754547545575456754577545875459754607546175462754637546475465754667546775468754697547075471754727547375474754757547675477754787547975480754817548275483754847548575486754877548875489754907549175492754937549475495754967549775498754997550075501755027550375504755057550675507755087550975510755117551275513755147551575516755177551875519755207552175522755237552475525755267552775528755297553075531755327553375534755357553675537755387553975540755417554275543755447554575546755477554875549755507555175552755537555475555755567555775558755597556075561755627556375564755657556675567755687556975570755717557275573755747557575576755777557875579755807558175582755837558475585755867558775588755897559075591755927559375594755957559675597755987559975600756017560275603756047560575606756077560875609756107561175612756137561475615756167561775618756197562075621756227562375624756257562675627756287562975630756317563275633756347563575636756377563875639756407564175642756437564475645756467564775648756497565075651756527565375654756557565675657756587565975660756617566275663756647566575666756677566875669756707567175672756737567475675756767567775678756797568075681756827568375684756857568675687756887568975690756917569275693756947569575696756977569875699757007570175702757037570475705757067570775708757097571075711757127571375714757157571675717757187571975720757217572275723757247572575726757277572875729757307573175732757337573475735757367573775738757397574075741757427574375744757457574675747757487574975750757517575275753757547575575756757577575875759757607576175762757637576475765757667576775768757697577075771757727577375774757757577675777757787577975780757817578275783757847578575786757877578875789757907579175792757937579475795757967579775798757997580075801758027580375804758057580675807758087580975810758117581275813758147581575816758177581875819758207582175822758237582475825758267582775828758297583075831758327583375834758357583675837758387583975840758417584275843758447584575846758477584875849758507585175852758537585475855758567585775858758597586075861758627586375864758657586675867758687586975870758717587275873758747587575876758777587875879758807588175882758837588475885758867588775888758897589075891758927589375894758957589675897758987589975900759017590275903759047590575906759077590875909759107591175912759137591475915759167591775918759197592075921759227592375924759257592675927759287592975930759317593275933759347593575936759377593875939759407594175942759437594475945759467594775948759497595075951759527595375954759557595675957759587595975960759617596275963759647596575966759677596875969759707597175972759737597475975759767597775978759797598075981759827598375984759857598675987759887598975990759917599275993759947599575996759977599875999760007600176002760037600476005760067600776008760097601076011760127601376014760157601676017760187601976020760217602276023760247602576026760277602876029760307603176032760337603476035760367603776038760397604076041760427604376044760457604676047760487604976050760517605276053760547605576056760577605876059760607606176062760637606476065760667606776068760697607076071760727607376074760757607676077760787607976080760817608276083760847608576086760877608876089760907609176092760937609476095760967609776098760997610076101761027610376104761057610676107761087610976110761117611276113761147611576116761177611876119761207612176122761237612476125761267612776128761297613076131761327613376134761357613676137761387613976140761417614276143761447614576146761477614876149761507615176152761537615476155761567615776158761597616076161761627616376164761657616676167761687616976170761717617276173761747617576176761777617876179761807618176182761837618476185761867618776188761897619076191761927619376194761957619676197761987619976200762017620276203762047620576206762077620876209762107621176212762137621476215762167621776218762197622076221762227622376224762257622676227762287622976230762317623276233762347623576236762377623876239762407624176242762437624476245762467624776248762497625076251762527625376254762557625676257762587625976260762617626276263762647626576266762677626876269762707627176272762737627476275762767627776278762797628076281762827628376284762857628676287762887628976290762917629276293762947629576296762977629876299763007630176302763037630476305763067630776308763097631076311763127631376314763157631676317763187631976320763217632276323763247632576326763277632876329763307633176332763337633476335763367633776338763397634076341763427634376344763457634676347763487634976350763517635276353763547635576356763577635876359763607636176362763637636476365763667636776368763697637076371763727637376374763757637676377763787637976380763817638276383763847638576386763877638876389763907639176392763937639476395763967639776398763997640076401764027640376404764057640676407764087640976410764117641276413764147641576416764177641876419764207642176422764237642476425764267642776428764297643076431764327643376434764357643676437764387643976440764417644276443764447644576446764477644876449764507645176452764537645476455764567645776458764597646076461764627646376464764657646676467764687646976470764717647276473764747647576476764777647876479764807648176482764837648476485764867648776488764897649076491764927649376494764957649676497764987649976500765017650276503765047650576506765077650876509765107651176512765137651476515765167651776518765197652076521765227652376524765257652676527765287652976530765317653276533765347653576536765377653876539765407654176542765437654476545765467654776548765497655076551765527655376554765557655676557765587655976560765617656276563765647656576566765677656876569765707657176572765737657476575765767657776578765797658076581765827658376584765857658676587765887658976590765917659276593765947659576596765977659876599766007660176602766037660476605766067660776608766097661076611766127661376614766157661676617766187661976620766217662276623766247662576626766277662876629766307663176632766337663476635766367663776638766397664076641766427664376644766457664676647766487664976650766517665276653766547665576656766577665876659766607666176662766637666476665766667666776668766697667076671766727667376674766757667676677766787667976680766817668276683766847668576686766877668876689766907669176692766937669476695766967669776698766997670076701767027670376704767057670676707767087670976710767117671276713767147671576716767177671876719767207672176722767237672476725767267672776728767297673076731767327673376734767357673676737767387673976740767417674276743767447674576746767477674876749767507675176752767537675476755767567675776758767597676076761767627676376764767657676676767767687676976770767717677276773767747677576776767777677876779767807678176782767837678476785767867678776788767897679076791767927679376794767957679676797767987679976800768017680276803768047680576806768077680876809768107681176812768137681476815768167681776818768197682076821768227682376824768257682676827768287682976830768317683276833768347683576836768377683876839768407684176842768437684476845768467684776848768497685076851768527685376854768557685676857768587685976860768617686276863768647686576866768677686876869768707687176872768737687476875768767687776878768797688076881768827688376884768857688676887768887688976890768917689276893768947689576896768977689876899769007690176902769037690476905769067690776908769097691076911769127691376914769157691676917769187691976920769217692276923769247692576926769277692876929769307693176932769337693476935769367693776938769397694076941769427694376944769457694676947769487694976950769517695276953769547695576956769577695876959769607696176962769637696476965769667696776968769697697076971769727697376974769757697676977769787697976980769817698276983769847698576986769877698876989769907699176992769937699476995769967699776998769997700077001770027700377004770057700677007770087700977010770117701277013770147701577016770177701877019770207702177022770237702477025770267702777028770297703077031770327703377034770357703677037770387703977040770417704277043770447704577046770477704877049770507705177052770537705477055770567705777058770597706077061770627706377064770657706677067770687706977070770717707277073770747707577076770777707877079770807708177082770837708477085770867708777088770897709077091770927709377094770957709677097770987709977100771017710277103771047710577106771077710877109771107711177112771137711477115771167711777118771197712077121771227712377124771257712677127771287712977130771317713277133771347713577136771377713877139771407714177142771437714477145771467714777148771497715077151771527715377154771557715677157771587715977160771617716277163771647716577166771677716877169771707717177172771737717477175771767717777178771797718077181771827718377184771857718677187771887718977190771917719277193771947719577196771977719877199772007720177202772037720477205772067720777208772097721077211772127721377214772157721677217772187721977220772217722277223772247722577226772277722877229772307723177232772337723477235772367723777238772397724077241772427724377244772457724677247772487724977250772517725277253772547725577256772577725877259772607726177262772637726477265772667726777268772697727077271772727727377274772757727677277772787727977280772817728277283772847728577286772877728877289772907729177292772937729477295772967729777298772997730077301773027730377304773057730677307773087730977310773117731277313773147731577316773177731877319773207732177322773237732477325773267732777328773297733077331773327733377334773357733677337773387733977340773417734277343773447734577346773477734877349773507735177352773537735477355773567735777358773597736077361773627736377364773657736677367773687736977370773717737277373773747737577376773777737877379773807738177382773837738477385773867738777388773897739077391773927739377394773957739677397773987739977400774017740277403774047740577406774077740877409774107741177412774137741477415774167741777418774197742077421774227742377424774257742677427774287742977430774317743277433774347743577436774377743877439774407744177442774437744477445774467744777448774497745077451774527745377454774557745677457774587745977460774617746277463774647746577466774677746877469774707747177472774737747477475774767747777478774797748077481774827748377484774857748677487774887748977490774917749277493774947749577496774977749877499775007750177502775037750477505775067750777508775097751077511775127751377514775157751677517775187751977520775217752277523775247752577526775277752877529775307753177532775337753477535775367753777538775397754077541775427754377544775457754677547775487754977550775517755277553775547755577556775577755877559775607756177562775637756477565775667756777568775697757077571775727757377574775757757677577775787757977580775817758277583775847758577586775877758877589775907759177592775937759477595775967759777598775997760077601776027760377604776057760677607776087760977610776117761277613776147761577616776177761877619776207762177622776237762477625776267762777628776297763077631776327763377634776357763677637776387763977640776417764277643776447764577646776477764877649776507765177652776537765477655776567765777658776597766077661776627766377664776657766677667776687766977670776717767277673776747767577676776777767877679776807768177682776837768477685776867768777688776897769077691776927769377694776957769677697776987769977700777017770277703777047770577706777077770877709777107771177712777137771477715777167771777718777197772077721777227772377724777257772677727777287772977730777317773277733777347773577736777377773877739777407774177742777437774477745777467774777748777497775077751777527775377754777557775677757777587775977760777617776277763777647776577766777677776877769777707777177772777737777477775777767777777778777797778077781777827778377784777857778677787777887778977790777917779277793777947779577796777977779877799778007780177802778037780477805778067780777808778097781077811778127781377814778157781677817778187781977820778217782277823778247782577826778277782877829778307783177832778337783477835778367783777838778397784077841778427784377844778457784677847778487784977850778517785277853778547785577856778577785877859778607786177862778637786477865778667786777868778697787077871778727787377874778757787677877778787787977880778817788277883778847788577886778877788877889778907789177892778937789477895778967789777898778997790077901779027790377904779057790677907779087790977910779117791277913779147791577916779177791877919779207792177922779237792477925779267792777928779297793077931779327793377934779357793677937779387793977940779417794277943779447794577946779477794877949779507795177952779537795477955779567795777958779597796077961779627796377964779657796677967779687796977970779717797277973779747797577976779777797877979779807798177982779837798477985779867798777988779897799077991779927799377994779957799677997779987799978000780017800278003780047800578006780077800878009780107801178012780137801478015780167801778018780197802078021780227802378024780257802678027780287802978030780317803278033780347803578036780377803878039780407804178042780437804478045780467804778048780497805078051780527805378054780557805678057780587805978060780617806278063780647806578066780677806878069780707807178072780737807478075780767807778078780797808078081780827808378084780857808678087780887808978090780917809278093780947809578096780977809878099781007810178102781037810478105781067810778108781097811078111781127811378114781157811678117781187811978120781217812278123781247812578126781277812878129781307813178132781337813478135781367813778138781397814078141781427814378144781457814678147781487814978150781517815278153781547815578156781577815878159781607816178162781637816478165781667816778168781697817078171781727817378174781757817678177781787817978180781817818278183781847818578186781877818878189781907819178192781937819478195781967819778198781997820078201782027820378204782057820678207782087820978210782117821278213782147821578216782177821878219782207822178222782237822478225782267822778228782297823078231782327823378234782357823678237782387823978240782417824278243782447824578246782477824878249782507825178252782537825478255782567825778258782597826078261782627826378264782657826678267782687826978270782717827278273782747827578276782777827878279782807828178282782837828478285782867828778288782897829078291782927829378294782957829678297782987829978300783017830278303783047830578306783077830878309783107831178312783137831478315783167831778318783197832078321783227832378324783257832678327783287832978330783317833278333783347833578336783377833878339783407834178342783437834478345783467834778348783497835078351783527835378354783557835678357783587835978360783617836278363783647836578366783677836878369783707837178372783737837478375783767837778378783797838078381783827838378384783857838678387783887838978390783917839278393783947839578396783977839878399784007840178402784037840478405784067840778408784097841078411784127841378414784157841678417784187841978420784217842278423784247842578426784277842878429784307843178432784337843478435784367843778438784397844078441784427844378444784457844678447784487844978450784517845278453784547845578456784577845878459784607846178462784637846478465784667846778468784697847078471784727847378474784757847678477784787847978480784817848278483784847848578486784877848878489784907849178492784937849478495784967849778498784997850078501785027850378504785057850678507785087850978510785117851278513785147851578516785177851878519785207852178522785237852478525785267852778528785297853078531785327853378534785357853678537785387853978540785417854278543785447854578546785477854878549785507855178552785537855478555785567855778558785597856078561785627856378564785657856678567785687856978570785717857278573785747857578576785777857878579785807858178582785837858478585785867858778588785897859078591785927859378594785957859678597785987859978600786017860278603786047860578606786077860878609786107861178612786137861478615786167861778618786197862078621786227862378624786257862678627786287862978630786317863278633786347863578636786377863878639786407864178642786437864478645786467864778648786497865078651786527865378654786557865678657786587865978660786617866278663786647866578666786677866878669786707867178672786737867478675786767867778678786797868078681786827868378684786857868678687786887868978690786917869278693786947869578696786977869878699787007870178702787037870478705787067870778708787097871078711787127871378714787157871678717787187871978720787217872278723787247872578726787277872878729787307873178732787337873478735787367873778738787397874078741787427874378744787457874678747787487874978750787517875278753787547875578756787577875878759787607876178762787637876478765787667876778768787697877078771787727877378774787757877678777787787877978780787817878278783787847878578786787877878878789787907879178792787937879478795787967879778798787997880078801788027880378804788057880678807788087880978810788117881278813788147881578816788177881878819788207882178822788237882478825788267882778828788297883078831788327883378834788357883678837788387883978840788417884278843788447884578846788477884878849788507885178852788537885478855788567885778858788597886078861788627886378864788657886678867788687886978870788717887278873788747887578876788777887878879788807888178882788837888478885788867888778888788897889078891788927889378894788957889678897788987889978900789017890278903789047890578906789077890878909789107891178912789137891478915789167891778918789197892078921789227892378924789257892678927789287892978930789317893278933789347893578936789377893878939789407894178942789437894478945789467894778948789497895078951789527895378954789557895678957789587895978960789617896278963789647896578966789677896878969789707897178972789737897478975789767897778978789797898078981789827898378984789857898678987789887898978990789917899278993789947899578996789977899878999790007900179002790037900479005790067900779008790097901079011790127901379014790157901679017790187901979020790217902279023790247902579026790277902879029790307903179032790337903479035790367903779038790397904079041790427904379044790457904679047790487904979050790517905279053790547905579056790577905879059790607906179062790637906479065790667906779068790697907079071790727907379074790757907679077790787907979080790817908279083790847908579086790877908879089790907909179092790937909479095790967909779098790997910079101791027910379104791057910679107791087910979110791117911279113791147911579116791177911879119791207912179122791237912479125791267912779128791297913079131791327913379134791357913679137791387913979140791417914279143791447914579146791477914879149791507915179152791537915479155791567915779158791597916079161791627916379164791657916679167791687916979170791717917279173791747917579176791777917879179791807918179182791837918479185791867918779188791897919079191791927919379194791957919679197791987919979200792017920279203792047920579206792077920879209792107921179212792137921479215792167921779218792197922079221792227922379224792257922679227792287922979230792317923279233792347923579236792377923879239792407924179242792437924479245792467924779248792497925079251792527925379254792557925679257792587925979260792617926279263792647926579266792677926879269792707927179272792737927479275792767927779278792797928079281792827928379284792857928679287792887928979290792917929279293792947929579296792977929879299793007930179302793037930479305793067930779308793097931079311793127931379314793157931679317793187931979320793217932279323793247932579326793277932879329793307933179332793337933479335793367933779338793397934079341793427934379344793457934679347793487934979350793517935279353793547935579356793577935879359793607936179362793637936479365793667936779368793697937079371793727937379374793757937679377793787937979380793817938279383793847938579386793877938879389793907939179392793937939479395793967939779398793997940079401794027940379404794057940679407794087940979410794117941279413794147941579416794177941879419794207942179422794237942479425794267942779428794297943079431794327943379434794357943679437794387943979440794417944279443794447944579446794477944879449794507945179452794537945479455794567945779458794597946079461794627946379464794657946679467794687946979470794717947279473794747947579476794777947879479794807948179482794837948479485794867948779488794897949079491794927949379494794957949679497794987949979500795017950279503795047950579506795077950879509795107951179512795137951479515795167951779518795197952079521795227952379524795257952679527795287952979530795317953279533795347953579536795377953879539795407954179542795437954479545795467954779548795497955079551795527955379554795557955679557795587955979560795617956279563795647956579566795677956879569795707957179572795737957479575795767957779578795797958079581795827958379584795857958679587795887958979590795917959279593795947959579596795977959879599796007960179602796037960479605796067960779608796097961079611796127961379614796157961679617796187961979620796217962279623796247962579626796277962879629796307963179632796337963479635796367963779638796397964079641796427964379644796457964679647796487964979650796517965279653796547965579656796577965879659796607966179662796637966479665796667966779668796697967079671796727967379674796757967679677796787967979680796817968279683796847968579686796877968879689796907969179692796937969479695796967969779698796997970079701797027970379704797057970679707797087970979710797117971279713797147971579716797177971879719797207972179722797237972479725797267972779728797297973079731797327973379734797357973679737797387973979740797417974279743797447974579746797477974879749797507975179752797537975479755797567975779758797597976079761797627976379764797657976679767797687976979770797717977279773797747977579776797777977879779797807978179782797837978479785797867978779788797897979079791797927979379794797957979679797797987979979800798017980279803798047980579806798077980879809798107981179812798137981479815798167981779818798197982079821798227982379824798257982679827798287982979830798317983279833798347983579836798377983879839798407984179842798437984479845798467984779848798497985079851798527985379854798557985679857798587985979860798617986279863798647986579866798677986879869798707987179872798737987479875798767987779878798797988079881798827988379884798857988679887798887988979890798917989279893798947989579896798977989879899799007990179902799037990479905799067990779908799097991079911799127991379914799157991679917799187991979920799217992279923799247992579926799277992879929799307993179932799337993479935799367993779938799397994079941799427994379944799457994679947799487994979950799517995279953799547995579956799577995879959799607996179962799637996479965799667996779968799697997079971799727997379974799757997679977799787997979980799817998279983799847998579986799877998879989799907999179992799937999479995799967999779998799998000080001800028000380004800058000680007800088000980010800118001280013800148001580016800178001880019800208002180022800238002480025800268002780028800298003080031800328003380034800358003680037800388003980040800418004280043800448004580046800478004880049800508005180052800538005480055800568005780058800598006080061800628006380064800658006680067800688006980070800718007280073800748007580076800778007880079800808008180082800838008480085800868008780088800898009080091800928009380094800958009680097800988009980100801018010280103801048010580106801078010880109801108011180112801138011480115801168011780118801198012080121801228012380124801258012680127801288012980130801318013280133801348013580136801378013880139801408014180142801438014480145801468014780148801498015080151801528015380154801558015680157801588015980160801618016280163801648016580166801678016880169801708017180172801738017480175801768017780178801798018080181801828018380184801858018680187801888018980190801918019280193801948019580196801978019880199802008020180202802038020480205802068020780208802098021080211802128021380214802158021680217802188021980220802218022280223802248022580226802278022880229802308023180232802338023480235802368023780238802398024080241802428024380244802458024680247802488024980250802518025280253802548025580256802578025880259802608026180262802638026480265802668026780268802698027080271802728027380274802758027680277802788027980280802818028280283802848028580286802878028880289802908029180292802938029480295802968029780298802998030080301803028030380304803058030680307803088030980310803118031280313803148031580316803178031880319803208032180322803238032480325803268032780328803298033080331803328033380334803358033680337803388033980340803418034280343803448034580346803478034880349803508035180352803538035480355803568035780358803598036080361803628036380364803658036680367803688036980370803718037280373803748037580376803778037880379803808038180382803838038480385803868038780388803898039080391803928039380394803958039680397803988039980400804018040280403804048040580406804078040880409804108041180412804138041480415804168041780418804198042080421804228042380424804258042680427804288042980430804318043280433804348043580436804378043880439804408044180442804438044480445804468044780448804498045080451804528045380454804558045680457804588045980460804618046280463804648046580466804678046880469804708047180472804738047480475804768047780478804798048080481804828048380484804858048680487804888048980490804918049280493804948049580496804978049880499805008050180502805038050480505805068050780508805098051080511805128051380514805158051680517805188051980520805218052280523805248052580526805278052880529805308053180532805338053480535805368053780538805398054080541805428054380544805458054680547805488054980550805518055280553805548055580556805578055880559805608056180562805638056480565805668056780568805698057080571805728057380574805758057680577805788057980580805818058280583805848058580586805878058880589805908059180592805938059480595805968059780598805998060080601806028060380604806058060680607806088060980610806118061280613806148061580616806178061880619806208062180622806238062480625806268062780628806298063080631806328063380634806358063680637806388063980640806418064280643806448064580646806478064880649806508065180652806538065480655806568065780658806598066080661806628066380664806658066680667806688066980670806718067280673806748067580676806778067880679806808068180682806838068480685806868068780688806898069080691806928069380694806958069680697806988069980700807018070280703807048070580706807078070880709807108071180712807138071480715807168071780718807198072080721807228072380724807258072680727807288072980730807318073280733807348073580736807378073880739807408074180742807438074480745807468074780748807498075080751807528075380754807558075680757807588075980760807618076280763807648076580766807678076880769807708077180772807738077480775807768077780778807798078080781807828078380784807858078680787807888078980790807918079280793807948079580796807978079880799808008080180802808038080480805808068080780808808098081080811808128081380814808158081680817808188081980820808218082280823808248082580826808278082880829808308083180832808338083480835808368083780838808398084080841808428084380844808458084680847808488084980850808518085280853808548085580856808578085880859808608086180862808638086480865808668086780868808698087080871808728087380874808758087680877808788087980880808818088280883808848088580886808878088880889808908089180892808938089480895808968089780898808998090080901809028090380904809058090680907809088090980910809118091280913809148091580916809178091880919809208092180922809238092480925809268092780928809298093080931809328093380934809358093680937809388093980940809418094280943809448094580946809478094880949809508095180952809538095480955809568095780958809598096080961809628096380964809658096680967809688096980970809718097280973809748097580976809778097880979809808098180982809838098480985809868098780988809898099080991809928099380994809958099680997809988099981000810018100281003810048100581006810078100881009810108101181012810138101481015810168101781018810198102081021810228102381024810258102681027810288102981030810318103281033810348103581036810378103881039810408104181042810438104481045810468104781048810498105081051810528105381054810558105681057810588105981060810618106281063810648106581066810678106881069810708107181072810738107481075810768107781078810798108081081810828108381084810858108681087810888108981090810918109281093810948109581096810978109881099811008110181102811038110481105811068110781108811098111081111811128111381114811158111681117811188111981120811218112281123811248112581126811278112881129811308113181132811338113481135811368113781138811398114081141811428114381144811458114681147811488114981150811518115281153811548115581156811578115881159811608116181162811638116481165811668116781168811698117081171811728117381174811758117681177811788117981180811818118281183811848118581186811878118881189811908119181192811938119481195811968119781198811998120081201812028120381204812058120681207812088120981210812118121281213812148121581216812178121881219812208122181222812238122481225812268122781228812298123081231812328123381234812358123681237812388123981240812418124281243812448124581246812478124881249812508125181252812538125481255812568125781258812598126081261812628126381264812658126681267812688126981270812718127281273812748127581276812778127881279812808128181282812838128481285812868128781288812898129081291812928129381294812958129681297812988129981300813018130281303813048130581306813078130881309813108131181312813138131481315813168131781318813198132081321813228132381324813258132681327813288132981330813318133281333813348133581336813378133881339813408134181342813438134481345813468134781348813498135081351813528135381354813558135681357813588135981360813618136281363813648136581366813678136881369813708137181372813738137481375813768137781378813798138081381813828138381384813858138681387813888138981390813918139281393813948139581396813978139881399814008140181402814038140481405814068140781408814098141081411814128141381414814158141681417814188141981420814218142281423814248142581426814278142881429814308143181432814338143481435814368143781438814398144081441814428144381444814458144681447814488144981450814518145281453814548145581456814578145881459814608146181462814638146481465814668146781468814698147081471814728147381474814758147681477814788147981480814818148281483814848148581486814878148881489814908149181492814938149481495814968149781498814998150081501815028150381504815058150681507815088150981510815118151281513815148151581516815178151881519815208152181522815238152481525815268152781528815298153081531815328153381534815358153681537815388153981540815418154281543815448154581546815478154881549815508155181552815538155481555815568155781558815598156081561815628156381564815658156681567815688156981570815718157281573815748157581576815778157881579815808158181582815838158481585815868158781588815898159081591815928159381594815958159681597815988159981600816018160281603816048160581606816078160881609816108161181612816138161481615816168161781618816198162081621816228162381624816258162681627816288162981630816318163281633816348163581636816378163881639816408164181642816438164481645816468164781648816498165081651816528165381654816558165681657816588165981660816618166281663816648166581666816678166881669816708167181672816738167481675816768167781678816798168081681816828168381684816858168681687816888168981690816918169281693816948169581696816978169881699817008170181702817038170481705817068170781708817098171081711817128171381714817158171681717817188171981720817218172281723817248172581726817278172881729817308173181732817338173481735817368173781738817398174081741817428174381744817458174681747817488174981750817518175281753817548175581756817578175881759817608176181762817638176481765817668176781768817698177081771817728177381774817758177681777817788177981780817818178281783817848178581786817878178881789817908179181792817938179481795817968179781798817998180081801818028180381804818058180681807818088180981810818118181281813818148181581816818178181881819818208182181822818238182481825818268182781828818298183081831818328183381834818358183681837818388183981840818418184281843818448184581846818478184881849818508185181852818538185481855818568185781858818598186081861818628186381864818658186681867818688186981870818718187281873818748187581876818778187881879818808188181882818838188481885818868188781888818898189081891818928189381894818958189681897818988189981900819018190281903819048190581906819078190881909819108191181912819138191481915819168191781918819198192081921819228192381924819258192681927819288192981930819318193281933819348193581936819378193881939819408194181942819438194481945819468194781948819498195081951819528195381954819558195681957819588195981960819618196281963819648196581966819678196881969819708197181972819738197481975819768197781978819798198081981819828198381984819858198681987819888198981990819918199281993819948199581996819978199881999820008200182002820038200482005820068200782008820098201082011820128201382014820158201682017820188201982020820218202282023820248202582026820278202882029820308203182032820338203482035820368203782038820398204082041820428204382044820458204682047820488204982050820518205282053820548205582056820578205882059820608206182062820638206482065820668206782068820698207082071820728207382074820758207682077820788207982080820818208282083820848208582086820878208882089820908209182092820938209482095820968209782098820998210082101821028210382104821058210682107821088210982110821118211282113821148211582116821178211882119821208212182122821238212482125821268212782128821298213082131821328213382134821358213682137821388213982140821418214282143821448214582146821478214882149821508215182152821538215482155821568215782158821598216082161821628216382164821658216682167821688216982170821718217282173821748217582176821778217882179821808218182182821838218482185821868218782188821898219082191821928219382194821958219682197821988219982200822018220282203822048220582206822078220882209822108221182212822138221482215822168221782218822198222082221822228222382224822258222682227822288222982230822318223282233822348223582236822378223882239822408224182242822438224482245822468224782248822498225082251822528225382254822558225682257822588225982260822618226282263822648226582266822678226882269822708227182272822738227482275822768227782278822798228082281822828228382284822858228682287822888228982290822918229282293822948229582296822978229882299823008230182302823038230482305823068230782308823098231082311823128231382314823158231682317823188231982320823218232282323823248232582326823278232882329823308233182332823338233482335823368233782338823398234082341823428234382344823458234682347823488234982350823518235282353823548235582356823578235882359823608236182362823638236482365823668236782368823698237082371823728237382374823758237682377823788237982380823818238282383823848238582386823878238882389823908239182392823938239482395823968239782398823998240082401824028240382404824058240682407824088240982410824118241282413824148241582416824178241882419824208242182422824238242482425824268242782428824298243082431824328243382434824358243682437824388243982440824418244282443824448244582446824478244882449824508245182452824538245482455824568245782458824598246082461824628246382464824658246682467824688246982470824718247282473824748247582476824778247882479824808248182482824838248482485824868248782488824898249082491824928249382494824958249682497824988249982500825018250282503825048250582506825078250882509825108251182512825138251482515825168251782518825198252082521825228252382524825258252682527825288252982530825318253282533825348253582536825378253882539825408254182542825438254482545825468254782548825498255082551825528255382554825558255682557825588255982560825618256282563825648256582566825678256882569825708257182572825738257482575825768257782578825798258082581825828258382584825858258682587825888258982590825918259282593825948259582596825978259882599826008260182602826038260482605826068260782608826098261082611826128261382614826158261682617826188261982620826218262282623826248262582626826278262882629826308263182632826338263482635826368263782638826398264082641826428264382644826458264682647826488264982650826518265282653826548265582656826578265882659826608266182662826638266482665826668266782668826698267082671826728267382674826758267682677826788267982680826818268282683826848268582686826878268882689826908269182692826938269482695826968269782698826998270082701827028270382704827058270682707827088270982710827118271282713827148271582716827178271882719827208272182722827238272482725827268272782728827298273082731827328273382734827358273682737827388273982740827418274282743827448274582746827478274882749827508275182752827538275482755827568275782758827598276082761827628276382764827658276682767827688276982770827718277282773827748277582776827778277882779827808278182782827838278482785827868278782788827898279082791827928279382794827958279682797827988279982800828018280282803828048280582806828078280882809828108281182812828138281482815828168281782818828198282082821828228282382824828258282682827828288282982830828318283282833828348283582836828378283882839828408284182842828438284482845828468284782848828498285082851828528285382854828558285682857828588285982860828618286282863828648286582866828678286882869828708287182872828738287482875828768287782878828798288082881828828288382884828858288682887828888288982890828918289282893828948289582896828978289882899829008290182902829038290482905829068290782908829098291082911829128291382914829158291682917829188291982920829218292282923829248292582926829278292882929829308293182932829338293482935829368293782938829398294082941829428294382944829458294682947829488294982950829518295282953829548295582956829578295882959829608296182962829638296482965829668296782968829698297082971829728297382974829758297682977829788297982980829818298282983829848298582986829878298882989829908299182992829938299482995829968299782998829998300083001830028300383004830058300683007830088300983010830118301283013830148301583016830178301883019830208302183022830238302483025830268302783028830298303083031830328303383034830358303683037830388303983040830418304283043830448304583046830478304883049830508305183052830538305483055830568305783058830598306083061830628306383064830658306683067830688306983070830718307283073830748307583076830778307883079830808308183082830838308483085830868308783088830898309083091830928309383094830958309683097830988309983100831018310283103831048310583106831078310883109831108311183112831138311483115831168311783118831198312083121831228312383124831258312683127831288312983130831318313283133831348313583136831378313883139831408314183142831438314483145831468314783148831498315083151831528315383154831558315683157831588315983160831618316283163831648316583166831678316883169831708317183172831738317483175831768317783178831798318083181831828318383184831858318683187831888318983190831918319283193831948319583196831978319883199832008320183202832038320483205832068320783208832098321083211832128321383214832158321683217832188321983220832218322283223832248322583226832278322883229832308323183232832338323483235832368323783238832398324083241832428324383244832458324683247832488324983250832518325283253832548325583256832578325883259832608326183262832638326483265832668326783268832698327083271832728327383274832758327683277832788327983280832818328283283832848328583286832878328883289832908329183292832938329483295832968329783298832998330083301833028330383304833058330683307833088330983310833118331283313833148331583316833178331883319833208332183322833238332483325833268332783328833298333083331833328333383334833358333683337833388333983340833418334283343833448334583346833478334883349833508335183352833538335483355833568335783358833598336083361833628336383364833658336683367833688336983370833718337283373833748337583376833778337883379833808338183382833838338483385833868338783388833898339083391833928339383394833958339683397833988339983400834018340283403834048340583406834078340883409834108341183412834138341483415834168341783418834198342083421834228342383424834258342683427834288342983430834318343283433834348343583436834378343883439834408344183442834438344483445834468344783448834498345083451834528345383454834558345683457834588345983460834618346283463834648346583466834678346883469834708347183472834738347483475834768347783478834798348083481834828348383484834858348683487834888348983490834918349283493834948349583496834978349883499835008350183502835038350483505835068350783508835098351083511835128351383514835158351683517835188351983520835218352283523835248352583526835278352883529835308353183532835338353483535835368353783538835398354083541835428354383544835458354683547835488354983550835518355283553835548355583556835578355883559835608356183562835638356483565835668356783568835698357083571835728357383574835758357683577835788357983580835818358283583835848358583586835878358883589835908359183592835938359483595835968359783598835998360083601836028360383604836058360683607836088360983610836118361283613836148361583616836178361883619836208362183622836238362483625836268362783628836298363083631836328363383634836358363683637836388363983640836418364283643836448364583646836478364883649836508365183652836538365483655836568365783658836598366083661836628366383664836658366683667836688366983670836718367283673836748367583676836778367883679836808368183682836838368483685836868368783688836898369083691836928369383694836958369683697836988369983700837018370283703837048370583706837078370883709837108371183712837138371483715837168371783718837198372083721837228372383724837258372683727837288372983730837318373283733837348373583736837378373883739837408374183742837438374483745837468374783748837498375083751837528375383754837558375683757837588375983760837618376283763837648376583766837678376883769837708377183772837738377483775837768377783778837798378083781837828378383784837858378683787837888378983790837918379283793837948379583796837978379883799838008380183802838038380483805838068380783808838098381083811838128381383814838158381683817838188381983820838218382283823838248382583826838278382883829838308383183832838338383483835838368383783838838398384083841838428384383844838458384683847838488384983850838518385283853838548385583856838578385883859838608386183862838638386483865838668386783868838698387083871838728387383874838758387683877838788387983880838818388283883838848388583886838878388883889838908389183892838938389483895838968389783898838998390083901839028390383904839058390683907839088390983910839118391283913839148391583916839178391883919839208392183922839238392483925839268392783928839298393083931839328393383934839358393683937839388393983940839418394283943839448394583946839478394883949839508395183952839538395483955839568395783958839598396083961839628396383964839658396683967839688396983970839718397283973839748397583976839778397883979839808398183982839838398483985839868398783988839898399083991839928399383994839958399683997839988399984000840018400284003840048400584006840078400884009840108401184012840138401484015840168401784018840198402084021840228402384024840258402684027840288402984030840318403284033840348403584036840378403884039840408404184042840438404484045840468404784048840498405084051840528405384054840558405684057840588405984060840618406284063840648406584066840678406884069840708407184072840738407484075840768407784078840798408084081840828408384084840858408684087840888408984090840918409284093840948409584096840978409884099841008410184102841038410484105841068410784108841098411084111841128411384114841158411684117841188411984120841218412284123841248412584126841278412884129841308413184132841338413484135841368413784138841398414084141841428414384144841458414684147841488414984150841518415284153841548415584156841578415884159841608416184162841638416484165841668416784168841698417084171841728417384174841758417684177841788417984180841818418284183841848418584186841878418884189841908419184192841938419484195841968419784198841998420084201842028420384204842058420684207842088420984210842118421284213842148421584216842178421884219842208422184222842238422484225842268422784228842298423084231842328423384234842358423684237842388423984240842418424284243842448424584246842478424884249842508425184252842538425484255842568425784258842598426084261842628426384264842658426684267842688426984270842718427284273842748427584276842778427884279842808428184282842838428484285842868428784288842898429084291842928429384294842958429684297842988429984300843018430284303843048430584306843078430884309843108431184312843138431484315843168431784318843198432084321843228432384324843258432684327843288432984330843318433284333843348433584336843378433884339843408434184342843438434484345843468434784348843498435084351843528435384354843558435684357843588435984360843618436284363843648436584366843678436884369843708437184372843738437484375843768437784378843798438084381843828438384384843858438684387843888438984390843918439284393843948439584396843978439884399844008440184402844038440484405844068440784408844098441084411844128441384414844158441684417844188441984420844218442284423844248442584426844278442884429844308443184432844338443484435844368443784438844398444084441844428444384444844458444684447844488444984450844518445284453844548445584456844578445884459844608446184462844638446484465844668446784468844698447084471844728447384474844758447684477844788447984480844818448284483844848448584486844878448884489844908449184492844938449484495844968449784498844998450084501845028450384504845058450684507845088450984510845118451284513845148451584516845178451884519845208452184522845238452484525845268452784528845298453084531845328453384534845358453684537845388453984540845418454284543845448454584546845478454884549845508455184552845538455484555845568455784558845598456084561845628456384564845658456684567845688456984570845718457284573845748457584576845778457884579845808458184582845838458484585845868458784588845898459084591845928459384594845958459684597845988459984600846018460284603846048460584606846078460884609846108461184612846138461484615846168461784618846198462084621846228462384624846258462684627846288462984630846318463284633846348463584636846378463884639846408464184642846438464484645846468464784648846498465084651846528465384654846558465684657846588465984660846618466284663846648466584666846678466884669846708467184672846738467484675846768467784678846798468084681846828468384684846858468684687846888468984690846918469284693846948469584696846978469884699847008470184702847038470484705847068470784708847098471084711847128471384714847158471684717847188471984720847218472284723847248472584726847278472884729847308473184732847338473484735847368473784738847398474084741847428474384744847458474684747847488474984750847518475284753847548475584756847578475884759847608476184762847638476484765847668476784768847698477084771847728477384774847758477684777847788477984780847818478284783847848478584786847878478884789847908479184792847938479484795847968479784798847998480084801848028480384804848058480684807848088480984810848118481284813848148481584816848178481884819848208482184822848238482484825848268482784828848298483084831848328483384834848358483684837848388483984840848418484284843848448484584846848478484884849848508485184852848538485484855848568485784858848598486084861848628486384864848658486684867848688486984870848718487284873848748487584876848778487884879848808488184882848838488484885848868488784888848898489084891848928489384894848958489684897848988489984900849018490284903849048490584906849078490884909849108491184912849138491484915849168491784918849198492084921849228492384924849258492684927849288492984930849318493284933849348493584936849378493884939849408494184942849438494484945849468494784948849498495084951849528495384954849558495684957849588495984960849618496284963849648496584966849678496884969849708497184972849738497484975849768497784978849798498084981849828498384984849858498684987849888498984990849918499284993849948499584996849978499884999850008500185002850038500485005850068500785008850098501085011850128501385014850158501685017850188501985020850218502285023850248502585026850278502885029850308503185032850338503485035850368503785038850398504085041850428504385044850458504685047850488504985050850518505285053850548505585056850578505885059850608506185062850638506485065850668506785068850698507085071850728507385074850758507685077850788507985080850818508285083850848508585086850878508885089850908509185092850938509485095850968509785098850998510085101851028510385104851058510685107851088510985110851118511285113851148511585116851178511885119851208512185122851238512485125851268512785128851298513085131851328513385134851358513685137851388513985140851418514285143851448514585146851478514885149851508515185152851538515485155851568515785158851598516085161851628516385164851658516685167851688516985170851718517285173851748517585176851778517885179851808518185182851838518485185851868518785188851898519085191851928519385194851958519685197851988519985200852018520285203852048520585206852078520885209852108521185212852138521485215852168521785218852198522085221852228522385224852258522685227852288522985230852318523285233852348523585236852378523885239852408524185242852438524485245852468524785248852498525085251852528525385254852558525685257852588525985260852618526285263852648526585266852678526885269852708527185272852738527485275852768527785278852798528085281852828528385284852858528685287852888528985290852918529285293852948529585296852978529885299853008530185302853038530485305853068530785308853098531085311853128531385314853158531685317853188531985320853218532285323853248532585326853278532885329853308533185332853338533485335853368533785338853398534085341853428534385344853458534685347853488534985350853518535285353853548535585356853578535885359853608536185362853638536485365853668536785368853698537085371853728537385374853758537685377853788537985380853818538285383853848538585386853878538885389853908539185392853938539485395853968539785398853998540085401854028540385404854058540685407854088540985410854118541285413854148541585416854178541885419854208542185422854238542485425854268542785428854298543085431854328543385434854358543685437854388543985440854418544285443854448544585446854478544885449854508545185452854538545485455854568545785458854598546085461854628546385464854658546685467854688546985470854718547285473854748547585476854778547885479854808548185482854838548485485854868548785488854898549085491854928549385494854958549685497854988549985500855018550285503855048550585506855078550885509855108551185512855138551485515855168551785518855198552085521855228552385524855258552685527855288552985530855318553285533855348553585536855378553885539855408554185542855438554485545855468554785548855498555085551855528555385554855558555685557855588555985560855618556285563855648556585566855678556885569855708557185572855738557485575855768557785578855798558085581855828558385584855858558685587855888558985590855918559285593855948559585596855978559885599856008560185602856038560485605856068560785608856098561085611856128561385614856158561685617856188561985620856218562285623856248562585626856278562885629856308563185632856338563485635856368563785638856398564085641856428564385644856458564685647856488564985650856518565285653856548565585656856578565885659856608566185662856638566485665856668566785668856698567085671856728567385674856758567685677856788567985680856818568285683856848568585686856878568885689856908569185692856938569485695856968569785698856998570085701857028570385704857058570685707857088570985710857118571285713857148571585716857178571885719857208572185722857238572485725857268572785728857298573085731857328573385734857358573685737857388573985740857418574285743857448574585746857478574885749857508575185752857538575485755857568575785758857598576085761857628576385764857658576685767857688576985770857718577285773857748577585776857778577885779857808578185782857838578485785857868578785788857898579085791857928579385794857958579685797857988579985800858018580285803858048580585806858078580885809858108581185812858138581485815858168581785818858198582085821858228582385824858258582685827858288582985830858318583285833858348583585836858378583885839858408584185842858438584485845858468584785848858498585085851858528585385854858558585685857858588585985860858618586285863858648586585866858678586885869858708587185872858738587485875858768587785878858798588085881858828588385884858858588685887858888588985890858918589285893858948589585896858978589885899859008590185902859038590485905859068590785908859098591085911859128591385914859158591685917859188591985920859218592285923859248592585926859278592885929859308593185932859338593485935859368593785938859398594085941859428594385944859458594685947859488594985950859518595285953859548595585956859578595885959859608596185962859638596485965859668596785968859698597085971859728597385974859758597685977859788597985980859818598285983859848598585986859878598885989859908599185992859938599485995859968599785998859998600086001860028600386004860058600686007860088600986010860118601286013860148601586016860178601886019860208602186022860238602486025860268602786028860298603086031860328603386034860358603686037860388603986040860418604286043860448604586046860478604886049860508605186052860538605486055860568605786058860598606086061860628606386064860658606686067860688606986070860718607286073860748607586076860778607886079860808608186082860838608486085860868608786088860898609086091860928609386094860958609686097860988609986100861018610286103861048610586106861078610886109861108611186112861138611486115861168611786118861198612086121861228612386124861258612686127861288612986130861318613286133861348613586136861378613886139861408614186142861438614486145861468614786148861498615086151861528615386154861558615686157861588615986160861618616286163861648616586166861678616886169861708617186172861738617486175861768617786178861798618086181861828618386184861858618686187861888618986190861918619286193861948619586196861978619886199862008620186202862038620486205862068620786208862098621086211862128621386214862158621686217862188621986220862218622286223862248622586226862278622886229862308623186232862338623486235862368623786238862398624086241862428624386244862458624686247862488624986250862518625286253862548625586256862578625886259862608626186262862638626486265862668626786268862698627086271862728627386274862758627686277862788627986280862818628286283862848628586286862878628886289862908629186292862938629486295862968629786298862998630086301863028630386304863058630686307863088630986310863118631286313863148631586316863178631886319863208632186322863238632486325863268632786328863298633086331863328633386334863358633686337863388633986340863418634286343863448634586346863478634886349863508635186352863538635486355863568635786358863598636086361863628636386364863658636686367863688636986370863718637286373863748637586376863778637886379863808638186382863838638486385863868638786388863898639086391863928639386394863958639686397863988639986400864018640286403864048640586406864078640886409864108641186412864138641486415864168641786418864198642086421864228642386424864258642686427864288642986430864318643286433864348643586436864378643886439864408644186442864438644486445864468644786448864498645086451864528645386454864558645686457864588645986460864618646286463864648646586466864678646886469864708647186472864738647486475864768647786478864798648086481864828648386484864858648686487864888648986490864918649286493864948649586496864978649886499865008650186502865038650486505865068650786508865098651086511865128651386514865158651686517865188651986520865218652286523865248652586526865278652886529865308653186532865338653486535865368653786538865398654086541865428654386544865458654686547865488654986550865518655286553865548655586556865578655886559865608656186562865638656486565865668656786568865698657086571865728657386574865758657686577865788657986580865818658286583865848658586586865878658886589865908659186592865938659486595865968659786598865998660086601866028660386604866058660686607866088660986610866118661286613866148661586616866178661886619866208662186622866238662486625866268662786628866298663086631866328663386634866358663686637866388663986640866418664286643866448664586646866478664886649866508665186652866538665486655866568665786658866598666086661866628666386664866658666686667866688666986670866718667286673866748667586676866778667886679866808668186682866838668486685866868668786688866898669086691866928669386694866958669686697866988669986700867018670286703867048670586706867078670886709867108671186712867138671486715867168671786718867198672086721867228672386724867258672686727867288672986730867318673286733867348673586736867378673886739867408674186742867438674486745867468674786748867498675086751867528675386754867558675686757867588675986760867618676286763867648676586766867678676886769867708677186772867738677486775867768677786778867798678086781867828678386784867858678686787867888678986790867918679286793867948679586796867978679886799868008680186802868038680486805868068680786808868098681086811868128681386814868158681686817868188681986820868218682286823868248682586826868278682886829868308683186832868338683486835868368683786838868398684086841868428684386844868458684686847868488684986850868518685286853868548685586856868578685886859868608686186862868638686486865868668686786868868698687086871868728687386874868758687686877868788687986880868818688286883868848688586886868878688886889868908689186892868938689486895868968689786898868998690086901869028690386904869058690686907869088690986910869118691286913869148691586916869178691886919869208692186922869238692486925869268692786928869298693086931869328693386934869358693686937869388693986940869418694286943869448694586946869478694886949869508695186952869538695486955869568695786958869598696086961869628696386964869658696686967869688696986970869718697286973869748697586976869778697886979869808698186982869838698486985869868698786988869898699086991869928699386994869958699686997869988699987000870018700287003870048700587006870078700887009870108701187012870138701487015870168701787018870198702087021870228702387024870258702687027870288702987030870318703287033870348703587036870378703887039870408704187042870438704487045870468704787048870498705087051870528705387054870558705687057870588705987060870618706287063870648706587066870678706887069870708707187072870738707487075870768707787078870798708087081870828708387084870858708687087870888708987090870918709287093870948709587096870978709887099871008710187102871038710487105871068710787108871098711087111871128711387114871158711687117871188711987120871218712287123871248712587126871278712887129871308713187132871338713487135871368713787138871398714087141871428714387144871458714687147871488714987150871518715287153871548715587156871578715887159871608716187162871638716487165871668716787168871698717087171871728717387174871758717687177871788717987180871818718287183871848718587186871878718887189871908719187192871938719487195871968719787198871998720087201872028720387204872058720687207872088720987210872118721287213872148721587216872178721887219872208722187222872238722487225872268722787228872298723087231872328723387234872358723687237872388723987240872418724287243872448724587246872478724887249872508725187252872538725487255872568725787258872598726087261872628726387264872658726687267872688726987270872718727287273872748727587276872778727887279872808728187282872838728487285872868728787288872898729087291872928729387294872958729687297872988729987300873018730287303873048730587306873078730887309873108731187312873138731487315873168731787318873198732087321873228732387324873258732687327873288732987330873318733287333873348733587336873378733887339873408734187342873438734487345873468734787348873498735087351873528735387354873558735687357873588735987360873618736287363873648736587366873678736887369873708737187372873738737487375873768737787378873798738087381873828738387384873858738687387873888738987390873918739287393873948739587396873978739887399874008740187402874038740487405874068740787408874098741087411874128741387414874158741687417874188741987420874218742287423874248742587426874278742887429874308743187432874338743487435874368743787438874398744087441874428744387444874458744687447874488744987450874518745287453874548745587456874578745887459874608746187462874638746487465874668746787468874698747087471874728747387474874758747687477874788747987480874818748287483874848748587486874878748887489874908749187492874938749487495874968749787498874998750087501875028750387504875058750687507875088750987510875118751287513875148751587516875178751887519875208752187522875238752487525875268752787528875298753087531875328753387534875358753687537875388753987540875418754287543875448754587546875478754887549875508755187552875538755487555875568755787558875598756087561875628756387564875658756687567875688756987570875718757287573875748757587576875778757887579875808758187582875838758487585875868758787588875898759087591875928759387594875958759687597875988759987600876018760287603876048760587606876078760887609876108761187612876138761487615876168761787618876198762087621876228762387624876258762687627876288762987630876318763287633876348763587636876378763887639876408764187642876438764487645876468764787648876498765087651876528765387654876558765687657876588765987660876618766287663876648766587666876678766887669876708767187672876738767487675876768767787678876798768087681876828768387684876858768687687876888768987690876918769287693876948769587696876978769887699877008770187702877038770487705877068770787708877098771087711877128771387714877158771687717877188771987720877218772287723877248772587726877278772887729877308773187732877338773487735877368773787738877398774087741877428774387744877458774687747877488774987750877518775287753877548775587756877578775887759877608776187762877638776487765877668776787768877698777087771877728777387774877758777687777877788777987780877818778287783877848778587786877878778887789877908779187792877938779487795877968779787798877998780087801878028780387804878058780687807878088780987810878118781287813878148781587816878178781887819878208782187822878238782487825878268782787828878298783087831878328783387834878358783687837878388783987840878418784287843878448784587846878478784887849878508785187852878538785487855878568785787858878598786087861878628786387864878658786687867878688786987870878718787287873878748787587876878778787887879878808788187882878838788487885878868788787888878898789087891878928789387894878958789687897878988789987900879018790287903879048790587906879078790887909879108791187912879138791487915879168791787918879198792087921879228792387924879258792687927879288792987930879318793287933879348793587936879378793887939879408794187942879438794487945879468794787948879498795087951879528795387954879558795687957879588795987960879618796287963879648796587966879678796887969879708797187972879738797487975879768797787978879798798087981879828798387984879858798687987879888798987990879918799287993879948799587996879978799887999880008800188002880038800488005880068800788008880098801088011880128801388014880158801688017880188801988020880218802288023880248802588026880278802888029880308803188032880338803488035880368803788038880398804088041880428804388044880458804688047880488804988050880518805288053880548805588056880578805888059880608806188062880638806488065880668806788068880698807088071880728807388074880758807688077880788807988080880818808288083880848808588086880878808888089880908809188092880938809488095880968809788098880998810088101881028810388104881058810688107881088810988110881118811288113881148811588116881178811888119881208812188122881238812488125881268812788128881298813088131881328813388134881358813688137881388813988140881418814288143881448814588146881478814888149881508815188152881538815488155881568815788158881598816088161881628816388164881658816688167881688816988170881718817288173881748817588176881778817888179881808818188182881838818488185881868818788188881898819088191881928819388194881958819688197881988819988200882018820288203882048820588206882078820888209882108821188212882138821488215882168821788218882198822088221882228822388224882258822688227882288822988230882318823288233882348823588236882378823888239882408824188242882438824488245882468824788248882498825088251882528825388254882558825688257882588825988260882618826288263882648826588266882678826888269882708827188272882738827488275882768827788278882798828088281882828828388284882858828688287882888828988290882918829288293882948829588296882978829888299883008830188302883038830488305883068830788308883098831088311883128831388314883158831688317883188831988320883218832288323883248832588326883278832888329883308833188332883338833488335883368833788338883398834088341883428834388344883458834688347883488834988350883518835288353883548835588356883578835888359883608836188362883638836488365883668836788368883698837088371883728837388374883758837688377883788837988380883818838288383883848838588386883878838888389883908839188392883938839488395883968839788398883998840088401884028840388404884058840688407884088840988410884118841288413884148841588416884178841888419884208842188422884238842488425884268842788428884298843088431884328843388434884358843688437884388843988440884418844288443884448844588446884478844888449884508845188452884538845488455884568845788458884598846088461884628846388464884658846688467884688846988470884718847288473884748847588476884778847888479884808848188482884838848488485884868848788488884898849088491884928849388494884958849688497884988849988500885018850288503885048850588506885078850888509885108851188512885138851488515885168851788518885198852088521885228852388524885258852688527885288852988530885318853288533885348853588536885378853888539885408854188542885438854488545885468854788548885498855088551885528855388554885558855688557885588855988560885618856288563885648856588566885678856888569885708857188572885738857488575885768857788578885798858088581885828858388584885858858688587885888858988590885918859288593885948859588596885978859888599886008860188602886038860488605886068860788608886098861088611886128861388614886158861688617886188861988620886218862288623886248862588626886278862888629886308863188632886338863488635886368863788638886398864088641886428864388644886458864688647886488864988650886518865288653886548865588656886578865888659886608866188662886638866488665886668866788668886698867088671886728867388674886758867688677886788867988680886818868288683886848868588686886878868888689886908869188692886938869488695886968869788698886998870088701887028870388704887058870688707887088870988710887118871288713887148871588716887178871888719887208872188722887238872488725887268872788728887298873088731887328873388734887358873688737887388873988740887418874288743887448874588746887478874888749887508875188752887538875488755887568875788758887598876088761887628876388764887658876688767887688876988770887718877288773887748877588776887778877888779887808878188782887838878488785887868878788788887898879088791887928879388794887958879688797887988879988800888018880288803888048880588806888078880888809888108881188812888138881488815888168881788818888198882088821888228882388824888258882688827888288882988830888318883288833888348883588836888378883888839888408884188842888438884488845888468884788848888498885088851888528885388854888558885688857888588885988860888618886288863888648886588866888678886888869888708887188872888738887488875888768887788878888798888088881888828888388884888858888688887888888888988890888918889288893888948889588896888978889888899889008890188902889038890488905889068890788908889098891088911889128891388914889158891688917889188891988920889218892288923889248892588926889278892888929889308893188932889338893488935889368893788938889398894088941889428894388944889458894688947889488894988950889518895288953889548895588956889578895888959889608896188962889638896488965889668896788968889698897088971889728897388974889758897688977889788897988980889818898288983889848898588986889878898888989889908899188992889938899488995889968899788998889998900089001890028900389004890058900689007890088900989010890118901289013890148901589016890178901889019890208902189022890238902489025890268902789028890298903089031890328903389034890358903689037890388903989040890418904289043890448904589046890478904889049890508905189052890538905489055890568905789058890598906089061890628906389064890658906689067890688906989070890718907289073890748907589076890778907889079890808908189082890838908489085890868908789088890898909089091890928909389094890958909689097890988909989100891018910289103891048910589106891078910889109891108911189112891138911489115891168911789118891198912089121891228912389124891258912689127891288912989130891318913289133891348913589136891378913889139891408914189142891438914489145891468914789148891498915089151891528915389154891558915689157891588915989160891618916289163891648916589166891678916889169891708917189172891738917489175891768917789178891798918089181891828918389184891858918689187891888918989190891918919289193891948919589196891978919889199892008920189202892038920489205892068920789208892098921089211892128921389214892158921689217892188921989220892218922289223892248922589226892278922889229892308923189232892338923489235892368923789238892398924089241892428924389244892458924689247892488924989250892518925289253892548925589256892578925889259892608926189262892638926489265892668926789268892698927089271892728927389274892758927689277892788927989280892818928289283892848928589286892878928889289892908929189292892938929489295892968929789298892998930089301893028930389304893058930689307893088930989310893118931289313893148931589316893178931889319893208932189322893238932489325893268932789328893298933089331893328933389334893358933689337893388933989340893418934289343893448934589346893478934889349893508935189352893538935489355893568935789358893598936089361893628936389364893658936689367893688936989370893718937289373893748937589376893778937889379893808938189382893838938489385893868938789388893898939089391893928939389394893958939689397893988939989400894018940289403894048940589406894078940889409894108941189412894138941489415894168941789418894198942089421894228942389424894258942689427894288942989430894318943289433894348943589436894378943889439894408944189442894438944489445894468944789448894498945089451894528945389454894558945689457894588945989460894618946289463894648946589466894678946889469894708947189472894738947489475894768947789478894798948089481894828948389484894858948689487894888948989490894918949289493894948949589496894978949889499895008950189502895038950489505895068950789508895098951089511895128951389514895158951689517895188951989520895218952289523895248952589526895278952889529895308953189532895338953489535895368953789538895398954089541895428954389544895458954689547895488954989550895518955289553895548955589556895578955889559895608956189562895638956489565895668956789568895698957089571895728957389574895758957689577895788957989580895818958289583895848958589586895878958889589895908959189592895938959489595895968959789598895998960089601896028960389604896058960689607896088960989610896118961289613896148961589616896178961889619896208962189622896238962489625896268962789628896298963089631896328963389634896358963689637896388963989640896418964289643896448964589646896478964889649896508965189652896538965489655896568965789658896598966089661896628966389664896658966689667896688966989670896718967289673896748967589676896778967889679896808968189682896838968489685896868968789688896898969089691896928969389694896958969689697896988969989700897018970289703897048970589706897078970889709897108971189712897138971489715897168971789718897198972089721897228972389724897258972689727897288972989730897318973289733897348973589736897378973889739897408974189742897438974489745897468974789748897498975089751897528975389754897558975689757897588975989760897618976289763897648976589766897678976889769897708977189772897738977489775897768977789778897798978089781897828978389784897858978689787897888978989790897918979289793897948979589796897978979889799898008980189802898038980489805898068980789808898098981089811898128981389814898158981689817898188981989820898218982289823898248982589826898278982889829898308983189832898338983489835898368983789838898398984089841898428984389844898458984689847898488984989850898518985289853898548985589856898578985889859898608986189862898638986489865898668986789868898698987089871898728987389874898758987689877898788987989880898818988289883898848988589886898878988889889898908989189892898938989489895898968989789898898998990089901899028990389904899058990689907899088990989910899118991289913899148991589916899178991889919899208992189922899238992489925899268992789928899298993089931899328993389934899358993689937899388993989940899418994289943899448994589946899478994889949899508995189952899538995489955899568995789958899598996089961899628996389964899658996689967899688996989970899718997289973899748997589976899778997889979899808998189982899838998489985899868998789988899898999089991899928999389994899958999689997899988999990000900019000290003900049000590006900079000890009900109001190012900139001490015900169001790018900199002090021900229002390024900259002690027900289002990030900319003290033900349003590036900379003890039900409004190042900439004490045900469004790048900499005090051900529005390054900559005690057900589005990060900619006290063900649006590066900679006890069900709007190072900739007490075900769007790078900799008090081900829008390084900859008690087900889008990090900919009290093900949009590096900979009890099901009010190102901039010490105901069010790108901099011090111901129011390114901159011690117901189011990120901219012290123901249012590126901279012890129901309013190132901339013490135901369013790138901399014090141901429014390144901459014690147901489014990150901519015290153901549015590156901579015890159901609016190162901639016490165901669016790168901699017090171901729017390174901759017690177901789017990180901819018290183901849018590186901879018890189901909019190192901939019490195901969019790198901999020090201902029020390204902059020690207902089020990210902119021290213902149021590216902179021890219902209022190222902239022490225902269022790228902299023090231902329023390234902359023690237902389023990240902419024290243902449024590246902479024890249902509025190252902539025490255902569025790258902599026090261902629026390264902659026690267902689026990270902719027290273902749027590276902779027890279902809028190282902839028490285902869028790288902899029090291902929029390294902959029690297902989029990300903019030290303903049030590306903079030890309903109031190312903139031490315903169031790318903199032090321903229032390324903259032690327903289032990330903319033290333903349033590336903379033890339903409034190342903439034490345903469034790348903499035090351903529035390354903559035690357903589035990360903619036290363903649036590366903679036890369903709037190372903739037490375903769037790378903799038090381903829038390384903859038690387903889038990390903919039290393903949039590396903979039890399904009040190402904039040490405904069040790408904099041090411904129041390414904159041690417904189041990420904219042290423904249042590426904279042890429904309043190432904339043490435904369043790438904399044090441904429044390444904459044690447904489044990450904519045290453904549045590456904579045890459904609046190462904639046490465904669046790468904699047090471904729047390474904759047690477904789047990480904819048290483904849048590486904879048890489904909049190492904939049490495904969049790498904999050090501905029050390504905059050690507905089050990510905119051290513905149051590516905179051890519905209052190522905239052490525905269052790528905299053090531905329053390534905359053690537905389053990540905419054290543905449054590546905479054890549905509055190552905539055490555905569055790558905599056090561905629056390564905659056690567905689056990570905719057290573905749057590576905779057890579905809058190582905839058490585905869058790588905899059090591905929059390594905959059690597905989059990600906019060290603906049060590606906079060890609906109061190612906139061490615906169061790618906199062090621906229062390624906259062690627906289062990630906319063290633906349063590636906379063890639906409064190642906439064490645906469064790648906499065090651906529065390654906559065690657906589065990660906619066290663906649066590666906679066890669906709067190672906739067490675906769067790678906799068090681906829068390684906859068690687906889068990690906919069290693906949069590696906979069890699907009070190702907039070490705907069070790708907099071090711907129071390714907159071690717907189071990720907219072290723907249072590726907279072890729907309073190732907339073490735907369073790738907399074090741907429074390744907459074690747907489074990750907519075290753907549075590756907579075890759907609076190762907639076490765907669076790768907699077090771907729077390774907759077690777907789077990780907819078290783907849078590786907879078890789907909079190792907939079490795907969079790798907999080090801908029080390804908059080690807908089080990810908119081290813908149081590816908179081890819908209082190822908239082490825908269082790828908299083090831908329083390834908359083690837908389083990840908419084290843908449084590846908479084890849908509085190852908539085490855908569085790858908599086090861908629086390864908659086690867908689086990870908719087290873908749087590876908779087890879908809088190882908839088490885908869088790888908899089090891908929089390894908959089690897908989089990900909019090290903909049090590906909079090890909909109091190912909139091490915909169091790918909199092090921909229092390924909259092690927909289092990930909319093290933909349093590936909379093890939909409094190942909439094490945909469094790948909499095090951909529095390954909559095690957909589095990960909619096290963909649096590966909679096890969909709097190972909739097490975909769097790978909799098090981909829098390984909859098690987909889098990990909919099290993909949099590996909979099890999910009100191002910039100491005910069100791008910099101091011910129101391014910159101691017910189101991020910219102291023910249102591026910279102891029910309103191032910339103491035910369103791038910399104091041910429104391044910459104691047910489104991050910519105291053910549105591056910579105891059910609106191062910639106491065910669106791068910699107091071910729107391074910759107691077910789107991080910819108291083910849108591086910879108891089910909109191092910939109491095910969109791098910999110091101911029110391104911059110691107911089110991110911119111291113911149111591116911179111891119911209112191122911239112491125911269112791128911299113091131911329113391134911359113691137911389113991140911419114291143911449114591146911479114891149911509115191152911539115491155911569115791158911599116091161911629116391164911659116691167911689116991170911719117291173911749117591176911779117891179911809118191182911839118491185911869118791188911899119091191911929119391194911959119691197911989119991200912019120291203912049120591206912079120891209912109121191212912139121491215912169121791218912199122091221912229122391224912259122691227912289122991230912319123291233912349123591236912379123891239912409124191242912439124491245912469124791248912499125091251912529125391254912559125691257912589125991260912619126291263912649126591266912679126891269912709127191272912739127491275912769127791278912799128091281912829128391284912859128691287912889128991290912919129291293912949129591296912979129891299913009130191302913039130491305913069130791308913099131091311913129131391314913159131691317913189131991320913219132291323913249132591326913279132891329913309133191332913339133491335913369133791338913399134091341913429134391344913459134691347913489134991350913519135291353913549135591356913579135891359913609136191362913639136491365913669136791368913699137091371913729137391374913759137691377913789137991380913819138291383913849138591386913879138891389913909139191392913939139491395913969139791398913999140091401914029140391404914059140691407914089140991410914119141291413914149141591416914179141891419914209142191422914239142491425914269142791428914299143091431914329143391434914359143691437914389143991440914419144291443914449144591446914479144891449914509145191452914539145491455914569145791458914599146091461914629146391464914659146691467914689146991470914719147291473914749147591476914779147891479914809148191482914839148491485914869148791488914899149091491914929149391494914959149691497914989149991500915019150291503915049150591506915079150891509915109151191512915139151491515915169151791518915199152091521915229152391524915259152691527915289152991530915319153291533915349153591536915379153891539915409154191542915439154491545915469154791548915499155091551915529155391554915559155691557915589155991560915619156291563915649156591566915679156891569915709157191572915739157491575915769157791578915799158091581915829158391584915859158691587915889158991590915919159291593915949159591596915979159891599916009160191602916039160491605916069160791608916099161091611916129161391614916159161691617916189161991620916219162291623916249162591626916279162891629916309163191632916339163491635916369163791638916399164091641916429164391644916459164691647916489164991650916519165291653916549165591656916579165891659916609166191662916639166491665916669166791668916699167091671916729167391674916759167691677916789167991680916819168291683916849168591686916879168891689916909169191692916939169491695916969169791698916999170091701917029170391704917059170691707917089170991710917119171291713917149171591716917179171891719917209172191722917239172491725917269172791728917299173091731917329173391734917359173691737917389173991740917419174291743917449174591746917479174891749917509175191752917539175491755917569175791758917599176091761917629176391764917659176691767917689176991770917719177291773917749177591776917779177891779917809178191782917839178491785917869178791788917899179091791917929179391794917959179691797917989179991800918019180291803918049180591806918079180891809918109181191812918139181491815918169181791818918199182091821918229182391824918259182691827918289182991830918319183291833918349183591836918379183891839918409184191842918439184491845918469184791848918499185091851918529185391854918559185691857918589185991860918619186291863918649186591866918679186891869918709187191872918739187491875918769187791878918799188091881918829188391884918859188691887918889188991890918919189291893918949189591896918979189891899919009190191902919039190491905919069190791908919099191091911919129191391914919159191691917919189191991920919219192291923919249192591926919279192891929919309193191932919339193491935919369193791938919399194091941919429194391944919459194691947919489194991950919519195291953919549195591956919579195891959919609196191962919639196491965919669196791968919699197091971919729197391974919759197691977919789197991980919819198291983919849198591986919879198891989919909199191992919939199491995919969199791998919999200092001920029200392004920059200692007920089200992010920119201292013920149201592016920179201892019920209202192022920239202492025920269202792028920299203092031920329203392034920359203692037920389203992040920419204292043920449204592046920479204892049920509205192052920539205492055920569205792058920599206092061920629206392064920659206692067920689206992070920719207292073920749207592076920779207892079920809208192082920839208492085920869208792088920899209092091920929209392094920959209692097920989209992100921019210292103921049210592106921079210892109921109211192112921139211492115921169211792118921199212092121921229212392124921259212692127921289212992130921319213292133921349213592136921379213892139921409214192142921439214492145921469214792148921499215092151921529215392154921559215692157921589215992160921619216292163921649216592166921679216892169921709217192172921739217492175921769217792178921799218092181921829218392184921859218692187921889218992190921919219292193921949219592196921979219892199922009220192202922039220492205922069220792208922099221092211922129221392214922159221692217922189221992220922219222292223922249222592226922279222892229922309223192232922339223492235922369223792238922399224092241922429224392244922459224692247922489224992250922519225292253922549225592256922579225892259922609226192262922639226492265922669226792268922699227092271922729227392274922759227692277922789227992280922819228292283922849228592286922879228892289922909229192292922939229492295922969229792298922999230092301923029230392304923059230692307923089230992310923119231292313923149231592316923179231892319923209232192322923239232492325923269232792328923299233092331923329233392334923359233692337923389233992340923419234292343923449234592346923479234892349923509235192352923539235492355923569235792358923599236092361923629236392364923659236692367923689236992370923719237292373923749237592376923779237892379923809238192382923839238492385923869238792388923899239092391923929239392394923959239692397923989239992400924019240292403924049240592406924079240892409924109241192412924139241492415924169241792418924199242092421924229242392424924259242692427924289242992430924319243292433924349243592436924379243892439924409244192442924439244492445924469244792448924499245092451924529245392454924559245692457924589245992460924619246292463924649246592466924679246892469924709247192472924739247492475924769247792478924799248092481924829248392484924859248692487924889248992490924919249292493924949249592496924979249892499925009250192502925039250492505925069250792508925099251092511925129251392514925159251692517925189251992520925219252292523925249252592526925279252892529925309253192532925339253492535925369253792538925399254092541925429254392544925459254692547925489254992550925519255292553925549255592556925579255892559925609256192562925639256492565925669256792568925699257092571925729257392574925759257692577925789257992580925819258292583925849258592586925879258892589925909259192592925939259492595925969259792598925999260092601926029260392604926059260692607926089260992610926119261292613926149261592616926179261892619926209262192622926239262492625926269262792628926299263092631926329263392634926359263692637926389263992640926419264292643926449264592646926479264892649926509265192652926539265492655926569265792658926599266092661926629266392664926659266692667926689266992670926719267292673926749267592676926779267892679926809268192682926839268492685926869268792688926899269092691926929269392694926959269692697926989269992700927019270292703927049270592706927079270892709927109271192712927139271492715927169271792718927199272092721927229272392724927259272692727927289272992730927319273292733927349273592736927379273892739927409274192742927439274492745927469274792748927499275092751927529275392754927559275692757927589275992760927619276292763927649276592766927679276892769927709277192772927739277492775927769277792778927799278092781927829278392784927859278692787927889278992790927919279292793927949279592796927979279892799928009280192802928039280492805928069280792808928099281092811928129281392814928159281692817928189281992820928219282292823928249282592826928279282892829928309283192832928339283492835928369283792838928399284092841928429284392844928459284692847928489284992850928519285292853928549285592856928579285892859928609286192862928639286492865928669286792868928699287092871928729287392874928759287692877928789287992880928819288292883928849288592886928879288892889928909289192892928939289492895928969289792898928999290092901929029290392904929059290692907929089290992910929119291292913929149291592916929179291892919929209292192922929239292492925929269292792928929299293092931929329293392934929359293692937929389293992940929419294292943929449294592946929479294892949929509295192952929539295492955929569295792958929599296092961929629296392964929659296692967929689296992970929719297292973929749297592976929779297892979929809298192982929839298492985929869298792988929899299092991929929299392994929959299692997929989299993000930019300293003930049300593006930079300893009930109301193012930139301493015930169301793018930199302093021930229302393024930259302693027930289302993030930319303293033930349303593036930379303893039930409304193042930439304493045930469304793048930499305093051930529305393054930559305693057930589305993060930619306293063930649306593066930679306893069930709307193072930739307493075930769307793078930799308093081930829308393084930859308693087930889308993090930919309293093930949309593096930979309893099931009310193102931039310493105931069310793108931099311093111931129311393114931159311693117931189311993120931219312293123931249312593126931279312893129931309313193132931339313493135931369313793138931399314093141931429314393144931459314693147931489314993150931519315293153931549315593156931579315893159931609316193162931639316493165931669316793168931699317093171931729317393174931759317693177931789317993180931819318293183931849318593186931879318893189931909319193192931939319493195931969319793198931999320093201932029320393204932059320693207932089320993210932119321293213932149321593216932179321893219932209322193222932239322493225932269322793228932299323093231932329323393234932359323693237932389323993240932419324293243932449324593246932479324893249932509325193252932539325493255932569325793258932599326093261932629326393264932659326693267932689326993270932719327293273932749327593276932779327893279932809328193282932839328493285932869328793288932899329093291932929329393294932959329693297932989329993300933019330293303933049330593306933079330893309933109331193312933139331493315933169331793318933199332093321933229332393324933259332693327933289332993330933319333293333933349333593336933379333893339933409334193342933439334493345933469334793348933499335093351933529335393354933559335693357933589335993360933619336293363933649336593366933679336893369933709337193372933739337493375933769337793378933799338093381933829338393384933859338693387933889338993390933919339293393933949339593396933979339893399934009340193402934039340493405934069340793408934099341093411934129341393414934159341693417934189341993420934219342293423934249342593426934279342893429934309343193432934339343493435934369343793438934399344093441934429344393444934459344693447934489344993450934519345293453934549345593456934579345893459934609346193462934639346493465934669346793468934699347093471934729347393474934759347693477934789347993480934819348293483934849348593486934879348893489934909349193492934939349493495934969349793498934999350093501935029350393504935059350693507935089350993510935119351293513935149351593516935179351893519935209352193522935239352493525935269352793528935299353093531935329353393534935359353693537935389353993540935419354293543935449354593546935479354893549935509355193552935539355493555935569355793558935599356093561935629356393564935659356693567935689356993570935719357293573935749357593576935779357893579935809358193582935839358493585935869358793588935899359093591935929359393594935959359693597935989359993600936019360293603936049360593606936079360893609936109361193612936139361493615936169361793618936199362093621936229362393624936259362693627936289362993630936319363293633936349363593636936379363893639936409364193642936439364493645936469364793648936499365093651936529365393654936559365693657936589365993660936619366293663936649366593666936679366893669936709367193672936739367493675936769367793678936799368093681936829368393684936859368693687936889368993690936919369293693936949369593696936979369893699937009370193702937039370493705937069370793708937099371093711937129371393714937159371693717937189371993720937219372293723937249372593726937279372893729937309373193732937339373493735937369373793738937399374093741937429374393744937459374693747937489374993750937519375293753937549375593756937579375893759937609376193762937639376493765937669376793768937699377093771937729377393774937759377693777937789377993780937819378293783937849378593786937879378893789937909379193792937939379493795937969379793798937999380093801938029380393804938059380693807938089380993810938119381293813938149381593816938179381893819938209382193822938239382493825938269382793828938299383093831938329383393834938359383693837938389383993840938419384293843938449384593846938479384893849938509385193852938539385493855938569385793858938599386093861938629386393864938659386693867938689386993870938719387293873938749387593876938779387893879938809388193882938839388493885938869388793888938899389093891938929389393894938959389693897938989389993900939019390293903939049390593906939079390893909939109391193912939139391493915939169391793918939199392093921939229392393924939259392693927939289392993930939319393293933939349393593936939379393893939939409394193942939439394493945939469394793948939499395093951939529395393954939559395693957939589395993960939619396293963939649396593966939679396893969939709397193972939739397493975939769397793978939799398093981939829398393984939859398693987939889398993990939919399293993939949399593996939979399893999940009400194002940039400494005940069400794008940099401094011940129401394014940159401694017940189401994020940219402294023940249402594026940279402894029940309403194032940339403494035940369403794038940399404094041940429404394044940459404694047940489404994050940519405294053940549405594056940579405894059940609406194062940639406494065940669406794068940699407094071940729407394074940759407694077940789407994080940819408294083940849408594086940879408894089940909409194092940939409494095940969409794098940999410094101941029410394104941059410694107941089410994110941119411294113941149411594116941179411894119941209412194122941239412494125941269412794128941299413094131941329413394134941359413694137941389413994140941419414294143941449414594146941479414894149941509415194152941539415494155941569415794158941599416094161941629416394164941659416694167941689416994170941719417294173941749417594176941779417894179941809418194182941839418494185941869418794188941899419094191941929419394194941959419694197941989419994200942019420294203942049420594206942079420894209942109421194212942139421494215942169421794218942199422094221942229422394224942259422694227942289422994230942319423294233942349423594236942379423894239942409424194242942439424494245942469424794248942499425094251942529425394254942559425694257942589425994260942619426294263942649426594266942679426894269942709427194272942739427494275942769427794278942799428094281942829428394284942859428694287942889428994290942919429294293942949429594296942979429894299943009430194302943039430494305943069430794308943099431094311943129431394314943159431694317943189431994320943219432294323943249432594326943279432894329943309433194332943339433494335943369433794338943399434094341943429434394344943459434694347943489434994350943519435294353943549435594356943579435894359943609436194362943639436494365943669436794368943699437094371943729437394374943759437694377943789437994380943819438294383943849438594386943879438894389943909439194392943939439494395943969439794398943999440094401944029440394404944059440694407944089440994410944119441294413944149441594416944179441894419944209442194422944239442494425944269442794428944299443094431944329443394434944359443694437944389443994440944419444294443944449444594446944479444894449944509445194452944539445494455944569445794458944599446094461944629446394464944659446694467944689446994470944719447294473944749447594476944779447894479944809448194482944839448494485944869448794488944899449094491944929449394494944959449694497944989449994500945019450294503945049450594506945079450894509945109451194512945139451494515945169451794518945199452094521945229452394524945259452694527945289452994530945319453294533945349453594536945379453894539945409454194542945439454494545945469454794548945499455094551945529455394554945559455694557945589455994560945619456294563945649456594566945679456894569945709457194572945739457494575945769457794578945799458094581945829458394584945859458694587945889458994590945919459294593945949459594596945979459894599946009460194602946039460494605946069460794608946099461094611946129461394614946159461694617946189461994620946219462294623946249462594626946279462894629946309463194632946339463494635946369463794638946399464094641946429464394644946459464694647946489464994650946519465294653946549465594656946579465894659946609466194662946639466494665946669466794668946699467094671946729467394674946759467694677946789467994680946819468294683946849468594686946879468894689946909469194692946939469494695946969469794698946999470094701947029470394704947059470694707947089470994710947119471294713947149471594716947179471894719947209472194722947239472494725947269472794728947299473094731947329473394734947359473694737947389473994740947419474294743947449474594746947479474894749947509475194752947539475494755947569475794758947599476094761947629476394764947659476694767947689476994770947719477294773947749477594776947779477894779947809478194782947839478494785947869478794788947899479094791947929479394794947959479694797947989479994800948019480294803948049480594806948079480894809948109481194812948139481494815948169481794818948199482094821948229482394824948259482694827948289482994830948319483294833948349483594836948379483894839948409484194842948439484494845948469484794848948499485094851948529485394854948559485694857948589485994860948619486294863948649486594866948679486894869948709487194872948739487494875948769487794878948799488094881948829488394884948859488694887948889488994890948919489294893948949489594896948979489894899949009490194902949039490494905949069490794908949099491094911949129491394914949159491694917949189491994920949219492294923949249492594926949279492894929949309493194932949339493494935949369493794938949399494094941949429494394944949459494694947949489494994950949519495294953949549495594956949579495894959949609496194962949639496494965949669496794968949699497094971949729497394974949759497694977949789497994980949819498294983949849498594986949879498894989949909499194992949939499494995949969499794998949999500095001950029500395004950059500695007950089500995010950119501295013950149501595016950179501895019950209502195022950239502495025950269502795028950299503095031950329503395034950359503695037950389503995040950419504295043950449504595046950479504895049950509505195052950539505495055950569505795058950599506095061950629506395064950659506695067950689506995070950719507295073950749507595076950779507895079950809508195082950839508495085950869508795088950899509095091950929509395094950959509695097950989509995100951019510295103951049510595106951079510895109951109511195112951139511495115951169511795118951199512095121951229512395124951259512695127951289512995130951319513295133951349513595136951379513895139951409514195142951439514495145951469514795148951499515095151951529515395154951559515695157951589515995160951619516295163951649516595166951679516895169951709517195172951739517495175951769517795178951799518095181951829518395184951859518695187951889518995190951919519295193951949519595196951979519895199952009520195202952039520495205952069520795208952099521095211952129521395214952159521695217952189521995220952219522295223952249522595226952279522895229952309523195232952339523495235952369523795238952399524095241952429524395244952459524695247952489524995250952519525295253952549525595256952579525895259952609526195262952639526495265952669526795268952699527095271952729527395274952759527695277952789527995280952819528295283952849528595286952879528895289952909529195292952939529495295952969529795298952999530095301953029530395304953059530695307953089530995310953119531295313953149531595316953179531895319953209532195322953239532495325953269532795328953299533095331953329533395334953359533695337953389533995340953419534295343953449534595346953479534895349953509535195352953539535495355953569535795358953599536095361953629536395364953659536695367953689536995370953719537295373953749537595376953779537895379953809538195382953839538495385953869538795388953899539095391953929539395394953959539695397953989539995400954019540295403954049540595406954079540895409954109541195412954139541495415954169541795418954199542095421954229542395424954259542695427954289542995430954319543295433954349543595436954379543895439954409544195442954439544495445954469544795448954499545095451954529545395454954559545695457954589545995460954619546295463954649546595466954679546895469954709547195472954739547495475954769547795478954799548095481954829548395484954859548695487954889548995490954919549295493954949549595496954979549895499955009550195502955039550495505955069550795508955099551095511955129551395514955159551695517955189551995520955219552295523955249552595526955279552895529955309553195532955339553495535955369553795538955399554095541955429554395544955459554695547955489554995550955519555295553955549555595556955579555895559955609556195562955639556495565955669556795568955699557095571955729557395574955759557695577955789557995580955819558295583955849558595586955879558895589955909559195592955939559495595955969559795598955999560095601956029560395604956059560695607956089560995610956119561295613956149561595616956179561895619956209562195622956239562495625956269562795628956299563095631956329563395634956359563695637956389563995640956419564295643956449564595646956479564895649956509565195652956539565495655956569565795658956599566095661956629566395664956659566695667956689566995670956719567295673956749567595676956779567895679956809568195682956839568495685956869568795688956899569095691956929569395694956959569695697956989569995700957019570295703957049570595706957079570895709957109571195712957139571495715957169571795718957199572095721957229572395724957259572695727957289572995730957319573295733957349573595736957379573895739957409574195742957439574495745957469574795748957499575095751957529575395754957559575695757957589575995760957619576295763957649576595766957679576895769957709577195772957739577495775957769577795778957799578095781957829578395784957859578695787957889578995790957919579295793957949579595796957979579895799958009580195802958039580495805958069580795808958099581095811958129581395814958159581695817958189581995820958219582295823958249582595826958279582895829958309583195832958339583495835958369583795838958399584095841958429584395844958459584695847958489584995850958519585295853958549585595856958579585895859958609586195862958639586495865958669586795868958699587095871958729587395874958759587695877958789587995880958819588295883958849588595886958879588895889958909589195892958939589495895958969589795898958999590095901959029590395904959059590695907959089590995910959119591295913959149591595916959179591895919959209592195922959239592495925959269592795928959299593095931959329593395934959359593695937959389593995940959419594295943959449594595946959479594895949959509595195952959539595495955959569595795958959599596095961959629596395964959659596695967959689596995970959719597295973959749597595976959779597895979959809598195982959839598495985959869598795988959899599095991959929599395994959959599695997959989599996000960019600296003960049600596006960079600896009960109601196012960139601496015960169601796018960199602096021960229602396024960259602696027960289602996030960319603296033960349603596036960379603896039960409604196042960439604496045960469604796048960499605096051960529605396054960559605696057960589605996060960619606296063960649606596066960679606896069960709607196072960739607496075960769607796078960799608096081960829608396084960859608696087960889608996090960919609296093960949609596096960979609896099961009610196102961039610496105961069610796108961099611096111961129611396114961159611696117961189611996120961219612296123961249612596126961279612896129961309613196132961339613496135961369613796138961399614096141961429614396144961459614696147961489614996150961519615296153961549615596156961579615896159961609616196162961639616496165961669616796168961699617096171961729617396174961759617696177961789617996180961819618296183961849618596186961879618896189961909619196192961939619496195961969619796198961999620096201962029620396204962059620696207962089620996210962119621296213962149621596216962179621896219962209622196222962239622496225962269622796228962299623096231962329623396234962359623696237962389623996240962419624296243962449624596246962479624896249962509625196252962539625496255962569625796258962599626096261962629626396264962659626696267962689626996270962719627296273962749627596276962779627896279962809628196282962839628496285962869628796288962899629096291962929629396294962959629696297962989629996300963019630296303963049630596306963079630896309963109631196312963139631496315963169631796318963199632096321963229632396324963259632696327963289632996330963319633296333963349633596336963379633896339963409634196342963439634496345963469634796348963499635096351963529635396354963559635696357963589635996360963619636296363963649636596366963679636896369963709637196372963739637496375963769637796378963799638096381963829638396384963859638696387963889638996390963919639296393963949639596396963979639896399964009640196402964039640496405964069640796408964099641096411964129641396414964159641696417964189641996420964219642296423964249642596426964279642896429964309643196432964339643496435964369643796438964399644096441964429644396444964459644696447964489644996450964519645296453964549645596456964579645896459964609646196462964639646496465964669646796468964699647096471964729647396474964759647696477964789647996480964819648296483964849648596486964879648896489964909649196492964939649496495964969649796498964999650096501965029650396504965059650696507965089650996510965119651296513965149651596516965179651896519965209652196522965239652496525965269652796528965299653096531965329653396534965359653696537965389653996540965419654296543965449654596546965479654896549965509655196552965539655496555965569655796558965599656096561965629656396564965659656696567965689656996570965719657296573965749657596576965779657896579965809658196582965839658496585965869658796588965899659096591965929659396594965959659696597965989659996600966019660296603966049660596606966079660896609966109661196612966139661496615966169661796618966199662096621966229662396624966259662696627966289662996630966319663296633966349663596636966379663896639966409664196642966439664496645966469664796648966499665096651966529665396654966559665696657966589665996660966619666296663966649666596666966679666896669966709667196672966739667496675966769667796678966799668096681966829668396684966859668696687966889668996690966919669296693966949669596696966979669896699967009670196702967039670496705967069670796708967099671096711967129671396714967159671696717967189671996720967219672296723967249672596726967279672896729967309673196732967339673496735967369673796738967399674096741967429674396744967459674696747967489674996750967519675296753967549675596756967579675896759967609676196762967639676496765967669676796768967699677096771967729677396774967759677696777967789677996780967819678296783967849678596786967879678896789967909679196792967939679496795967969679796798967999680096801968029680396804968059680696807968089680996810968119681296813968149681596816968179681896819968209682196822968239682496825968269682796828968299683096831968329683396834968359683696837968389683996840968419684296843968449684596846968479684896849968509685196852968539685496855968569685796858968599686096861968629686396864968659686696867968689686996870968719687296873968749687596876968779687896879968809688196882968839688496885968869688796888968899689096891968929689396894968959689696897968989689996900969019690296903969049690596906969079690896909969109691196912969139691496915969169691796918969199692096921969229692396924969259692696927969289692996930969319693296933969349693596936969379693896939969409694196942969439694496945969469694796948969499695096951969529695396954969559695696957969589695996960969619696296963969649696596966969679696896969969709697196972969739697496975969769697796978969799698096981969829698396984969859698696987969889698996990969919699296993969949699596996969979699896999970009700197002970039700497005970069700797008970099701097011970129701397014970159701697017970189701997020970219702297023970249702597026970279702897029970309703197032970339703497035970369703797038970399704097041970429704397044970459704697047970489704997050970519705297053970549705597056970579705897059970609706197062970639706497065970669706797068970699707097071970729707397074970759707697077970789707997080970819708297083970849708597086970879708897089970909709197092970939709497095970969709797098970999710097101971029710397104971059710697107971089710997110971119711297113971149711597116971179711897119971209712197122971239712497125971269712797128971299713097131971329713397134971359713697137971389713997140971419714297143971449714597146971479714897149971509715197152971539715497155971569715797158971599716097161971629716397164971659716697167971689716997170971719717297173971749717597176971779717897179971809718197182971839718497185971869718797188971899719097191971929719397194971959719697197971989719997200972019720297203972049720597206972079720897209972109721197212972139721497215972169721797218972199722097221972229722397224972259722697227972289722997230972319723297233972349723597236972379723897239972409724197242972439724497245972469724797248972499725097251972529725397254972559725697257972589725997260972619726297263972649726597266972679726897269972709727197272972739727497275972769727797278972799728097281972829728397284972859728697287972889728997290972919729297293972949729597296972979729897299973009730197302973039730497305973069730797308973099731097311973129731397314973159731697317973189731997320973219732297323973249732597326973279732897329973309733197332973339733497335973369733797338973399734097341973429734397344973459734697347973489734997350973519735297353973549735597356973579735897359973609736197362973639736497365973669736797368973699737097371973729737397374973759737697377973789737997380973819738297383973849738597386973879738897389973909739197392973939739497395973969739797398973999740097401974029740397404974059740697407974089740997410974119741297413974149741597416974179741897419974209742197422974239742497425974269742797428974299743097431974329743397434974359743697437974389743997440974419744297443974449744597446974479744897449974509745197452974539745497455974569745797458974599746097461974629746397464974659746697467974689746997470974719747297473974749747597476974779747897479974809748197482974839748497485974869748797488974899749097491974929749397494974959749697497974989749997500975019750297503975049750597506975079750897509975109751197512975139751497515975169751797518975199752097521975229752397524975259752697527975289752997530975319753297533975349753597536975379753897539975409754197542975439754497545975469754797548975499755097551975529755397554975559755697557975589755997560975619756297563975649756597566975679756897569975709757197572975739757497575975769757797578975799758097581975829758397584975859758697587975889758997590975919759297593975949759597596975979759897599976009760197602976039760497605976069760797608976099761097611976129761397614976159761697617976189761997620976219762297623976249762597626976279762897629976309763197632976339763497635976369763797638976399764097641976429764397644976459764697647976489764997650976519765297653976549765597656976579765897659976609766197662976639766497665976669766797668976699767097671976729767397674976759767697677976789767997680976819768297683976849768597686976879768897689976909769197692976939769497695976969769797698976999770097701977029770397704977059770697707977089770997710977119771297713977149771597716977179771897719977209772197722977239772497725977269772797728977299773097731977329773397734977359773697737977389773997740977419774297743977449774597746977479774897749977509775197752977539775497755977569775797758977599776097761977629776397764977659776697767977689776997770977719777297773977749777597776977779777897779977809778197782977839778497785977869778797788977899779097791977929779397794977959779697797977989779997800978019780297803978049780597806978079780897809978109781197812978139781497815978169781797818978199782097821978229782397824978259782697827978289782997830978319783297833978349783597836978379783897839978409784197842978439784497845978469784797848978499785097851978529785397854978559785697857978589785997860978619786297863978649786597866978679786897869978709787197872978739787497875978769787797878978799788097881978829788397884978859788697887978889788997890978919789297893978949789597896978979789897899979009790197902979039790497905979069790797908979099791097911979129791397914979159791697917979189791997920979219792297923979249792597926979279792897929979309793197932979339793497935979369793797938979399794097941979429794397944979459794697947979489794997950979519795297953979549795597956979579795897959979609796197962979639796497965979669796797968979699797097971979729797397974979759797697977979789797997980979819798297983979849798597986979879798897989979909799197992979939799497995979969799797998979999800098001980029800398004980059800698007980089800998010980119801298013980149801598016980179801898019980209802198022980239802498025980269802798028980299803098031980329803398034980359803698037980389803998040980419804298043980449804598046980479804898049980509805198052980539805498055980569805798058980599806098061980629806398064980659806698067980689806998070980719807298073980749807598076980779807898079980809808198082980839808498085980869808798088980899809098091980929809398094980959809698097980989809998100981019810298103981049810598106981079810898109981109811198112981139811498115981169811798118981199812098121981229812398124981259812698127981289812998130981319813298133981349813598136981379813898139981409814198142981439814498145981469814798148981499815098151981529815398154981559815698157981589815998160981619816298163981649816598166981679816898169981709817198172981739817498175981769817798178981799818098181981829818398184981859818698187981889818998190981919819298193981949819598196981979819898199982009820198202982039820498205982069820798208982099821098211982129821398214982159821698217982189821998220982219822298223982249822598226982279822898229982309823198232982339823498235982369823798238982399824098241982429824398244982459824698247982489824998250982519825298253982549825598256982579825898259982609826198262982639826498265982669826798268982699827098271982729827398274982759827698277982789827998280982819828298283982849828598286982879828898289982909829198292982939829498295982969829798298982999830098301983029830398304983059830698307983089830998310983119831298313983149831598316983179831898319983209832198322983239832498325983269832798328983299833098331983329833398334983359833698337983389833998340983419834298343983449834598346983479834898349983509835198352983539835498355983569835798358983599836098361983629836398364983659836698367983689836998370983719837298373983749837598376983779837898379983809838198382983839838498385983869838798388983899839098391983929839398394983959839698397983989839998400984019840298403984049840598406984079840898409984109841198412984139841498415984169841798418984199842098421984229842398424984259842698427984289842998430984319843298433984349843598436984379843898439984409844198442984439844498445984469844798448984499845098451984529845398454984559845698457984589845998460984619846298463984649846598466984679846898469984709847198472984739847498475984769847798478984799848098481984829848398484984859848698487984889848998490984919849298493984949849598496984979849898499985009850198502985039850498505985069850798508985099851098511985129851398514985159851698517985189851998520985219852298523985249852598526985279852898529985309853198532985339853498535985369853798538985399854098541985429854398544985459854698547985489854998550985519855298553985549855598556985579855898559985609856198562985639856498565985669856798568985699857098571985729857398574985759857698577985789857998580985819858298583985849858598586985879858898589985909859198592985939859498595985969859798598985999860098601986029860398604986059860698607986089860998610986119861298613986149861598616986179861898619986209862198622986239862498625986269862798628986299863098631986329863398634986359863698637986389863998640986419864298643986449864598646986479864898649986509865198652986539865498655986569865798658986599866098661986629866398664986659866698667986689866998670986719867298673986749867598676986779867898679986809868198682986839868498685986869868798688986899869098691986929869398694986959869698697986989869998700987019870298703987049870598706987079870898709987109871198712987139871498715987169871798718987199872098721987229872398724987259872698727987289872998730987319873298733987349873598736987379873898739987409874198742987439874498745987469874798748987499875098751987529875398754987559875698757987589875998760987619876298763987649876598766987679876898769987709877198772987739877498775987769877798778987799878098781987829878398784987859878698787987889878998790987919879298793987949879598796987979879898799988009880198802988039880498805988069880798808988099881098811988129881398814988159881698817988189881998820988219882298823988249882598826988279882898829988309883198832988339883498835988369883798838988399884098841988429884398844988459884698847988489884998850988519885298853988549885598856988579885898859988609886198862988639886498865988669886798868988699887098871988729887398874988759887698877988789887998880988819888298883988849888598886988879888898889988909889198892988939889498895988969889798898988999890098901989029890398904989059890698907989089890998910989119891298913989149891598916989179891898919989209892198922989239892498925989269892798928989299893098931989329893398934989359893698937989389893998940989419894298943989449894598946989479894898949989509895198952989539895498955989569895798958989599896098961989629896398964989659896698967989689896998970989719897298973989749897598976989779897898979989809898198982989839898498985989869898798988989899899098991989929899398994989959899698997989989899999000990019900299003990049900599006990079900899009990109901199012990139901499015990169901799018990199902099021990229902399024990259902699027990289902999030990319903299033990349903599036990379903899039990409904199042990439904499045990469904799048990499905099051990529905399054990559905699057990589905999060990619906299063990649906599066990679906899069990709907199072990739907499075990769907799078990799908099081990829908399084990859908699087990889908999090990919909299093990949909599096990979909899099991009910199102991039910499105991069910799108991099911099111991129911399114991159911699117991189911999120991219912299123991249912599126991279912899129991309913199132991339913499135991369913799138991399914099141991429914399144991459914699147991489914999150991519915299153991549915599156991579915899159991609916199162991639916499165991669916799168991699917099171991729917399174991759917699177991789917999180991819918299183991849918599186991879918899189991909919199192991939919499195991969919799198991999920099201992029920399204992059920699207992089920999210992119921299213992149921599216992179921899219992209922199222992239922499225992269922799228992299923099231992329923399234992359923699237992389923999240992419924299243992449924599246992479924899249992509925199252992539925499255992569925799258992599926099261992629926399264992659926699267992689926999270992719927299273992749927599276992779927899279992809928199282992839928499285992869928799288992899929099291992929929399294992959929699297992989929999300993019930299303993049930599306993079930899309993109931199312993139931499315993169931799318993199932099321993229932399324993259932699327993289932999330993319933299333993349933599336993379933899339993409934199342993439934499345993469934799348993499935099351993529935399354993559935699357993589935999360993619936299363993649936599366993679936899369993709937199372993739937499375993769937799378993799938099381993829938399384993859938699387993889938999390993919939299393993949939599396993979939899399994009940199402994039940499405994069940799408994099941099411994129941399414994159941699417994189941999420994219942299423994249942599426994279942899429994309943199432994339943499435994369943799438994399944099441994429944399444994459944699447994489944999450994519945299453994549945599456994579945899459994609946199462994639946499465994669946799468994699947099471994729947399474994759947699477994789947999480994819948299483994849948599486994879948899489994909949199492994939949499495994969949799498994999950099501995029950399504995059950699507995089950999510995119951299513995149951599516995179951899519995209952199522995239952499525995269952799528995299953099531995329953399534995359953699537995389953999540995419954299543995449954599546995479954899549995509955199552995539955499555995569955799558995599956099561995629956399564995659956699567995689956999570995719957299573995749957599576995779957899579995809958199582995839958499585995869958799588995899959099591995929959399594995959959699597995989959999600996019960299603996049960599606996079960899609996109961199612996139961499615996169961799618996199962099621996229962399624996259962699627996289962999630996319963299633996349963599636996379963899639996409964199642996439964499645996469964799648996499965099651996529965399654996559965699657996589965999660996619966299663996649966599666996679966899669996709967199672996739967499675996769967799678996799968099681996829968399684996859968699687996889968999690996919969299693996949969599696996979969899699997009970199702997039970499705997069970799708997099971099711997129971399714997159971699717997189971999720997219972299723997249972599726997279972899729997309973199732997339973499735997369973799738997399974099741997429974399744997459974699747997489974999750997519975299753997549975599756997579975899759997609976199762997639976499765997669976799768997699977099771997729977399774997759977699777997789977999780997819978299783997849978599786997879978899789997909979199792997939979499795997969979799798997999980099801998029980399804998059980699807998089980999810998119981299813998149981599816998179981899819998209982199822998239982499825998269982799828998299983099831998329983399834998359983699837998389983999840998419984299843998449984599846998479984899849998509985199852998539985499855998569985799858998599986099861998629986399864998659986699867998689986999870998719987299873998749987599876998779987899879998809988199882998839988499885998869988799888998899989099891998929989399894998959989699897998989989999900999019990299903999049990599906999079990899909999109991199912999139991499915999169991799918999199992099921999229992399924999259992699927999289992999930999319993299933999349993599936999379993899939999409994199942999439994499945999469994799948999499995099951999529995399954999559995699957999589995999960999619996299963999649996599966999679996899969999709997199972999739997499975999769997799978999799998099981999829998399984999859998699987999889998999990999919999299993999949999599996999979999899999100000100001100002100003100004100005100006100007100008100009100010100011100012100013100014100015100016100017100018100019100020100021100022100023100024100025100026100027100028100029100030100031100032100033100034100035100036100037100038100039100040100041100042100043100044100045100046100047100048100049100050100051100052100053100054100055100056100057100058100059100060100061100062100063100064100065100066100067100068100069100070100071100072100073100074100075100076100077100078100079100080100081100082100083100084100085100086100087100088100089100090100091100092100093100094100095100096100097100098100099100100100101100102100103100104100105100106100107100108100109100110100111100112100113100114100115100116100117100118100119100120100121100122100123100124100125100126100127100128100129100130100131100132100133100134100135100136100137100138100139100140100141100142100143100144100145100146100147100148100149100150100151100152100153100154100155100156100157100158100159100160100161100162100163100164100165100166100167100168100169100170100171100172100173100174100175100176100177100178100179100180100181100182100183100184100185100186100187100188100189100190100191100192100193100194100195100196100197100198100199100200100201100202100203100204100205100206100207100208100209100210100211100212100213100214100215100216100217100218100219100220100221100222100223100224100225100226100227100228100229100230100231100232100233100234100235100236100237100238100239100240100241100242100243100244100245100246100247100248100249100250100251100252100253100254100255100256100257100258100259100260100261100262100263100264100265100266100267100268100269100270100271100272100273100274100275100276100277100278100279100280100281100282100283100284100285100286100287100288100289100290100291100292100293100294100295100296100297100298100299100300100301100302100303100304100305100306100307100308100309100310100311100312100313100314100315100316100317100318100319100320100321100322100323100324100325100326100327100328100329100330100331100332100333100334100335100336100337100338100339100340100341100342100343100344100345100346100347100348100349100350100351100352100353100354100355100356100357100358100359100360100361100362100363100364100365100366100367100368100369100370100371100372100373100374100375100376100377100378100379100380100381100382100383100384100385100386100387100388100389100390100391100392100393100394100395100396100397100398100399100400100401100402100403100404100405100406100407100408100409100410100411100412100413100414100415100416100417100418100419100420100421100422100423100424100425100426100427100428100429100430100431100432100433100434100435100436100437100438100439100440100441100442100443100444100445100446100447100448100449100450100451100452100453100454100455100456100457100458100459100460100461100462100463100464100465100466100467100468100469100470100471100472100473100474100475100476100477100478100479100480100481100482100483100484100485100486100487100488100489100490100491100492100493100494100495100496100497100498100499100500100501100502100503100504100505100506100507100508100509100510100511100512100513100514100515100516100517100518100519100520100521100522100523100524100525100526100527100528100529100530100531100532100533100534100535100536100537100538100539100540100541100542100543100544100545100546100547100548100549100550100551100552100553100554100555100556100557100558100559100560100561100562100563100564100565100566100567100568100569100570100571100572100573100574100575100576100577100578100579100580100581100582100583100584100585100586100587100588100589100590100591100592100593100594100595100596100597100598100599100600100601100602100603100604100605100606100607100608100609100610100611100612100613100614100615100616100617100618100619100620100621100622100623100624100625100626100627100628100629100630100631100632100633100634100635100636100637100638100639100640100641100642100643100644100645100646100647100648100649100650100651100652100653100654100655100656100657100658100659100660100661100662100663100664100665100666100667100668100669100670100671100672100673100674100675100676100677100678100679100680100681100682100683100684100685100686100687100688100689100690100691100692100693100694100695100696100697100698100699100700100701100702100703100704100705100706100707100708100709100710100711100712100713100714100715100716100717100718100719100720100721100722100723100724100725100726100727100728100729100730100731100732100733100734100735100736100737100738100739100740100741100742100743100744100745100746100747100748100749100750100751100752100753100754100755100756100757100758100759100760100761100762100763100764100765100766100767100768100769100770100771100772100773100774100775100776100777100778100779100780100781100782100783100784100785100786100787100788100789100790100791100792100793100794100795100796100797100798100799100800100801100802100803100804100805100806100807100808100809100810100811100812100813100814100815100816100817100818100819100820100821100822100823100824100825100826100827100828100829100830100831100832100833100834100835100836100837100838100839100840100841100842100843100844100845100846100847100848100849100850100851100852100853100854100855100856100857100858100859100860100861100862100863100864100865100866100867100868100869100870100871100872100873100874100875100876100877100878100879100880100881100882100883100884100885100886100887100888100889100890100891100892100893100894100895100896100897100898100899100900100901100902100903100904100905100906100907100908100909100910100911100912100913100914100915100916100917100918100919100920100921100922100923100924100925100926100927100928100929100930100931100932100933100934100935100936100937100938100939100940100941100942100943100944100945100946100947100948100949100950100951100952100953100954100955100956100957100958100959100960100961100962100963100964100965100966100967100968100969100970100971100972100973100974100975100976100977100978100979100980100981100982100983100984100985100986100987100988100989100990100991100992100993100994100995100996100997100998100999101000101001101002101003101004101005101006101007101008101009101010101011101012101013101014101015101016101017101018101019101020101021101022101023101024101025101026101027101028101029101030101031101032101033101034101035101036101037101038101039101040101041101042101043101044101045101046101047101048101049101050101051101052101053101054101055101056101057101058101059101060101061101062101063101064101065101066101067101068101069101070101071101072101073101074101075101076101077101078101079101080101081101082101083101084101085101086101087101088101089101090101091101092101093101094101095101096101097101098101099101100101101101102101103101104101105101106101107101108101109101110101111101112101113101114101115101116101117101118101119101120101121101122101123101124101125101126101127101128101129101130101131101132101133101134101135101136101137101138101139101140101141101142101143101144101145101146101147101148101149101150101151101152101153101154101155101156101157101158101159101160101161101162101163101164101165101166101167101168101169101170101171101172101173101174101175101176101177101178101179101180101181101182101183101184101185101186101187101188101189101190101191101192101193101194101195101196101197101198101199101200101201101202101203101204101205101206101207101208101209101210101211101212101213101214101215101216101217101218101219101220101221101222101223101224101225101226101227101228101229101230101231101232101233101234101235101236101237101238101239101240101241101242101243101244101245101246101247101248101249101250101251101252101253101254101255101256101257101258101259101260101261101262101263101264101265101266101267101268101269101270101271101272101273101274101275101276101277101278101279101280101281101282101283101284101285101286101287101288101289101290101291101292101293101294101295101296101297101298101299101300101301101302101303101304101305101306101307101308101309101310101311101312101313101314101315101316101317101318101319101320101321101322101323101324101325101326101327101328101329101330101331101332101333101334101335101336101337101338101339101340101341101342101343101344101345101346101347101348101349101350101351101352101353101354101355101356101357101358101359101360101361101362101363101364101365101366101367101368101369101370101371101372101373101374101375101376101377101378101379101380101381101382101383101384101385101386101387101388101389101390101391101392101393101394101395101396101397101398101399101400101401101402101403101404101405101406101407101408101409101410101411101412101413101414101415101416101417101418101419101420101421101422101423101424101425101426101427101428101429101430101431101432101433101434101435101436101437101438101439101440101441101442101443101444101445101446101447101448101449101450101451101452101453101454101455101456101457101458101459101460101461101462101463101464101465101466101467101468101469101470101471101472101473101474101475101476101477101478101479101480101481101482101483101484101485101486101487101488101489101490101491101492101493101494101495101496101497101498101499101500101501101502101503101504101505101506101507101508101509101510101511101512101513101514101515101516101517101518101519101520101521101522101523101524101525101526101527101528101529101530101531101532101533101534101535101536101537101538101539101540101541101542101543101544101545101546101547101548101549101550101551101552101553101554101555101556101557101558101559101560101561101562101563101564101565101566101567101568101569101570101571101572101573101574101575101576101577101578101579101580101581101582101583101584101585101586101587101588101589101590101591101592101593101594101595101596101597101598101599101600101601101602101603101604101605101606101607101608101609101610101611101612101613101614101615101616101617101618101619101620101621101622101623101624101625101626101627101628101629101630101631101632101633101634101635101636101637101638101639101640101641101642101643101644101645101646101647101648101649101650101651101652101653101654101655101656101657101658101659101660101661101662101663101664101665101666101667101668101669101670101671101672101673101674101675101676101677101678101679101680101681101682101683101684101685101686101687101688101689101690101691101692101693101694101695101696101697101698101699101700101701101702101703101704101705101706101707101708101709101710101711101712101713101714101715101716101717101718101719101720101721101722101723101724101725101726101727101728101729101730101731101732101733101734101735101736101737101738101739101740101741101742101743101744101745101746101747101748101749101750101751101752101753101754101755101756101757101758101759101760101761101762101763101764101765101766101767101768101769101770101771101772101773101774101775101776101777101778101779101780101781101782101783101784101785101786101787101788101789101790101791101792101793101794101795101796101797101798101799101800101801101802101803101804101805101806101807101808101809101810101811101812101813101814101815101816101817101818101819101820101821101822101823101824101825101826101827101828101829101830101831101832101833101834101835101836101837101838101839101840101841101842101843101844101845101846101847101848101849101850101851101852101853101854101855101856101857101858101859101860101861101862101863101864101865101866101867101868101869101870101871101872101873101874101875101876101877101878101879101880101881101882101883101884101885101886101887101888101889101890101891101892101893101894101895101896101897101898101899101900101901101902101903101904101905101906101907101908101909101910101911101912101913101914101915101916101917101918101919101920101921101922101923101924101925101926101927101928101929101930101931101932101933101934101935101936101937101938101939101940101941101942101943101944101945101946101947101948101949101950101951101952101953101954101955101956101957101958101959101960101961101962101963101964101965101966101967101968101969101970101971101972101973101974101975101976101977101978101979101980101981101982101983101984101985101986101987101988101989101990101991101992101993101994101995101996101997101998101999102000102001102002102003102004102005102006102007102008102009102010102011102012102013102014102015102016102017102018102019102020102021102022102023102024102025102026102027102028102029102030102031102032102033102034102035102036102037102038102039102040102041102042102043102044102045102046102047102048102049102050102051102052102053102054102055102056102057102058102059102060102061102062102063102064102065102066102067102068102069102070102071102072102073102074102075102076102077102078102079102080102081102082102083102084102085102086102087102088102089102090102091102092102093102094102095102096102097102098102099102100102101102102102103102104102105102106102107102108102109102110102111102112102113102114102115102116102117102118102119102120102121102122102123102124102125102126102127102128102129102130102131102132102133102134102135102136102137102138102139102140102141102142102143102144102145102146102147102148102149102150102151102152102153102154102155102156102157102158102159102160102161102162102163102164102165102166102167102168102169102170102171102172102173102174102175102176102177102178102179102180102181102182102183102184102185102186102187102188102189102190102191102192102193102194102195102196102197102198102199102200102201102202102203102204102205102206102207102208102209102210102211102212102213102214102215102216102217102218102219102220102221102222102223102224102225102226102227102228102229102230102231102232102233102234102235102236102237102238102239102240102241102242102243102244102245102246102247102248102249102250102251102252102253102254102255102256102257102258102259102260102261102262102263102264102265102266102267102268102269102270102271102272102273102274102275102276102277102278102279102280102281102282102283102284102285102286102287102288102289102290102291102292102293102294102295102296102297102298102299102300102301102302102303102304102305102306102307102308102309102310102311102312102313102314102315102316102317102318102319102320102321102322102323102324102325102326102327102328102329102330102331102332102333102334102335102336102337102338102339102340102341102342102343102344102345102346102347102348102349102350102351102352102353102354102355102356102357102358102359102360102361102362102363102364102365102366102367102368102369102370102371102372102373102374102375102376102377102378102379102380102381102382102383102384102385102386102387102388102389102390102391102392102393102394102395102396102397102398102399102400102401102402102403102404102405102406102407102408102409102410102411102412102413102414102415102416102417102418102419102420102421102422102423102424102425102426102427102428102429102430102431102432102433102434102435102436102437102438102439102440102441102442102443102444102445102446102447102448102449102450102451102452102453102454102455102456102457102458102459102460102461102462102463102464102465102466102467102468102469102470102471102472102473102474102475102476102477102478102479102480102481102482102483102484102485102486102487102488102489102490102491102492102493102494102495102496102497102498102499102500102501102502102503102504102505102506102507102508102509102510102511102512102513102514102515102516102517102518102519102520102521102522102523102524102525102526102527102528102529102530102531102532102533102534102535102536102537102538102539102540102541102542102543102544102545102546102547102548102549102550102551102552102553102554102555102556102557102558102559102560102561102562102563102564102565102566102567102568102569102570102571102572102573102574102575102576102577102578102579102580102581102582102583102584102585102586102587102588102589102590102591102592102593102594102595102596102597102598102599102600102601102602102603102604102605102606102607102608102609102610102611102612102613102614102615102616102617102618102619102620102621102622102623102624102625102626102627102628102629102630102631102632102633102634102635102636102637102638102639102640102641102642102643102644102645102646102647102648102649102650102651102652102653102654102655102656102657102658102659102660102661102662102663102664102665102666102667102668102669102670102671102672102673102674102675102676102677102678102679102680102681102682102683102684102685102686102687102688102689102690102691102692102693102694102695102696102697102698102699102700102701102702102703102704102705102706102707102708102709102710102711102712102713102714102715102716102717102718102719102720102721102722102723102724102725102726102727102728102729102730102731102732102733102734102735102736102737102738102739102740102741102742102743102744102745102746102747102748102749102750102751102752102753102754102755102756102757102758102759102760102761102762102763102764102765102766102767102768102769102770102771102772102773102774102775102776102777102778102779102780102781102782102783102784102785102786102787102788102789102790102791102792102793102794102795102796102797102798102799102800102801102802102803102804102805102806102807102808102809102810102811102812102813102814102815102816102817102818102819102820102821102822102823102824102825102826102827102828102829102830102831102832102833102834102835102836102837102838102839102840102841102842102843102844102845102846102847102848102849102850102851102852102853102854102855102856102857102858102859102860102861102862102863102864102865102866102867102868102869102870102871102872102873102874102875102876102877102878102879102880102881102882102883102884102885102886102887102888102889102890102891102892102893102894102895102896102897102898102899102900102901102902102903102904102905102906102907102908102909102910102911102912102913102914102915102916102917102918102919102920102921102922102923102924102925102926102927102928102929102930102931102932102933102934102935102936102937102938102939102940102941102942102943102944102945102946102947102948102949102950102951102952102953102954102955102956102957102958102959102960102961102962102963102964102965102966102967102968102969102970102971102972102973102974102975102976102977102978102979102980102981102982102983102984102985102986102987102988102989102990102991102992102993102994102995102996102997102998102999103000103001103002103003103004103005103006103007103008103009103010103011103012103013103014103015103016103017103018103019103020103021103022103023103024103025103026103027103028103029103030103031103032103033103034103035103036103037103038103039103040103041103042103043103044103045103046103047103048103049103050103051103052103053103054103055103056103057103058103059103060103061103062103063103064103065103066103067103068103069103070103071103072103073103074103075103076103077103078103079103080103081103082103083103084103085103086103087103088103089103090103091103092103093103094103095103096103097103098103099103100103101103102103103103104103105103106103107103108103109103110103111103112103113103114103115103116103117103118103119103120103121103122103123103124103125103126103127103128103129103130103131103132103133103134103135103136103137103138103139103140103141103142103143103144103145103146103147103148103149103150103151103152103153103154103155103156103157103158103159103160103161103162103163103164103165103166103167103168103169103170103171103172103173103174103175103176103177103178103179103180103181103182103183103184103185103186103187103188103189103190103191103192103193103194103195103196103197103198103199103200103201103202103203103204103205103206103207103208103209103210103211103212103213103214103215103216103217103218103219103220103221103222103223103224103225103226103227103228103229103230103231103232103233103234103235103236103237103238103239103240103241103242103243103244103245103246103247103248103249103250103251103252103253103254103255103256103257103258103259103260103261103262103263103264103265103266103267103268103269103270103271103272103273103274103275103276103277103278103279103280103281103282103283103284103285103286103287103288103289103290103291103292103293103294103295103296103297103298103299103300103301103302103303103304103305103306103307103308103309103310103311103312103313103314103315103316103317103318103319103320103321103322103323103324103325103326103327103328103329103330103331103332103333103334103335103336103337103338103339103340103341103342103343103344103345103346103347103348103349103350103351103352103353103354103355103356103357103358103359103360103361103362103363103364103365103366103367103368103369103370103371103372103373103374103375103376103377103378103379103380103381103382103383103384103385103386103387103388103389103390103391103392103393103394103395103396103397103398103399103400103401103402103403103404103405103406103407103408103409103410103411103412103413103414103415103416103417103418103419103420103421103422103423103424103425103426103427103428103429103430103431103432103433103434103435103436103437103438103439103440103441103442103443103444103445103446103447103448103449103450103451103452103453103454103455103456103457103458103459103460103461103462103463103464103465103466103467103468103469103470103471103472103473103474103475103476103477103478103479103480103481103482103483103484103485103486103487103488103489103490103491103492103493103494103495103496103497103498103499103500103501103502103503103504103505103506103507103508103509103510103511103512103513103514103515103516103517103518103519103520103521103522103523103524103525103526103527103528103529103530103531103532103533103534103535103536103537103538103539103540103541103542103543103544103545103546103547103548103549103550103551103552103553103554103555103556103557103558103559103560103561103562103563103564103565103566103567103568103569103570103571103572103573103574103575103576103577103578103579103580103581103582103583103584103585103586103587103588103589103590103591103592103593103594103595103596103597103598103599103600103601103602103603103604103605103606103607103608103609103610103611103612103613103614103615103616103617103618103619103620103621103622103623103624103625103626103627103628103629103630103631103632103633103634103635103636103637103638103639103640103641103642103643103644103645103646103647103648103649103650103651103652103653103654103655103656103657103658103659103660103661103662103663103664103665103666103667103668103669103670103671103672103673103674103675103676103677103678103679103680103681103682103683103684103685103686103687103688103689103690103691103692103693103694103695103696103697103698103699103700103701103702103703103704103705103706103707103708103709103710103711103712103713103714103715103716103717103718103719103720103721103722103723103724103725103726103727103728103729103730103731103732103733103734103735103736103737103738103739103740103741103742103743103744103745103746103747103748103749103750103751103752103753103754103755103756103757103758103759103760103761103762103763103764103765103766103767103768103769103770103771103772103773103774103775103776103777103778103779103780103781103782103783103784103785103786103787103788103789103790103791103792103793103794103795103796103797103798103799103800103801103802103803103804103805103806103807103808103809103810103811103812103813103814103815103816103817103818103819103820103821103822103823103824103825103826103827103828103829103830103831103832103833103834103835103836103837103838103839103840103841103842103843103844103845103846103847103848103849103850103851103852103853103854103855103856103857103858103859103860103861103862103863103864103865103866103867103868103869103870103871103872103873103874103875103876103877103878103879103880103881103882103883103884103885103886103887103888103889103890103891103892103893103894103895103896103897103898103899103900103901103902103903103904103905103906103907103908103909103910103911103912103913103914103915103916103917103918103919103920103921103922103923103924103925103926103927103928103929103930103931103932103933103934103935103936103937103938103939103940103941103942103943103944103945103946103947103948103949103950103951103952103953103954103955103956103957103958103959103960103961103962103963103964103965103966103967103968103969103970103971103972103973103974103975103976103977103978103979103980103981103982103983103984103985103986103987103988103989103990103991103992103993103994103995103996103997103998103999104000104001104002104003104004104005104006104007104008104009104010104011104012104013104014104015104016104017104018104019104020104021104022104023104024104025104026104027104028104029104030104031104032104033104034104035104036104037104038104039104040104041104042104043104044104045104046104047104048104049104050104051104052104053104054104055104056104057104058104059104060104061104062104063104064104065104066104067104068104069104070104071104072104073104074104075104076104077104078104079104080104081104082104083104084104085104086104087104088104089104090104091104092104093104094104095104096104097104098104099104100104101104102104103104104104105104106104107104108104109104110104111104112104113104114104115104116104117104118104119104120104121104122104123104124104125104126104127104128104129104130104131104132104133104134104135104136104137104138104139104140104141104142104143104144104145104146104147104148104149104150104151104152104153104154104155104156104157104158104159104160104161104162104163104164104165104166104167104168104169104170104171104172104173104174104175104176104177104178104179104180104181104182104183104184104185104186104187104188104189104190104191104192104193104194104195104196104197104198104199104200104201104202104203104204104205104206104207104208104209104210104211104212104213104214104215104216104217104218104219104220104221104222104223104224104225104226104227104228104229104230104231104232104233104234104235104236104237104238104239104240104241104242104243104244104245104246104247104248104249104250104251104252104253104254104255104256104257104258104259104260104261104262104263104264104265104266104267104268104269104270104271104272104273104274104275104276104277104278104279104280104281104282104283104284104285104286104287104288104289104290104291104292104293104294104295104296104297104298104299104300104301104302104303104304104305104306104307104308104309104310104311104312104313104314104315104316104317104318104319104320104321104322104323104324104325104326104327104328104329104330104331104332104333104334104335104336104337104338104339104340104341104342104343104344104345104346104347104348104349104350104351104352104353104354104355104356104357104358104359104360104361104362104363104364104365104366104367104368104369104370104371104372104373104374104375104376104377104378104379104380104381104382104383104384104385104386104387104388104389104390104391104392104393104394104395104396104397104398104399104400104401104402104403104404104405104406104407104408104409104410104411104412104413104414104415104416104417104418104419104420104421104422104423104424104425104426104427104428104429104430104431104432104433104434104435104436104437104438104439104440104441104442104443104444104445104446104447104448104449104450104451104452104453104454104455104456104457104458104459104460104461104462104463104464104465104466104467104468104469104470104471104472104473104474104475104476104477104478104479104480104481104482104483104484104485104486104487104488104489104490104491104492104493104494104495104496104497104498104499104500104501104502104503104504104505104506104507104508104509104510104511104512104513104514104515104516104517104518104519104520104521104522104523104524104525104526104527104528104529104530104531104532104533104534104535104536104537104538104539104540104541104542104543104544104545104546104547104548104549104550104551104552104553104554104555104556104557104558104559104560104561104562104563104564104565104566104567104568104569104570104571104572104573104574104575104576104577104578104579104580104581104582104583104584104585104586104587104588104589104590
  1. /*
  2. ** ###################################################################
  3. ** Processors: MIMXRT1176AVM8A_cm4
  4. ** MIMXRT1176CVM8A_cm4
  5. ** MIMXRT1176DVMAA_cm4
  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_cm4
  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_cm4.h
  39. * @version 1.0
  40. * @date 2020-12-29
  41. * @brief CMSIS Peripheral Access Layer for MIMXRT1176_cm4
  42. *
  43. * CMSIS Peripheral Access Layer for MIMXRT1176_cm4
  44. */
  45. #ifndef _MIMXRT1176_CM4_H_
  46. #define _MIMXRT1176_CM4_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-M4 SV Hard Fault Interrupt */
  77. MemoryManagement_IRQn = -12, /**< Cortex-M4 Memory Management Interrupt */
  78. BusFault_IRQn = -11, /**< Cortex-M4 Bus Fault Interrupt */
  79. UsageFault_IRQn = -10, /**< Cortex-M4 Usage Fault Interrupt */
  80. SVCall_IRQn = -5, /**< Cortex-M4 SV Call Interrupt */
  81. DebugMonitor_IRQn = -4, /**< Cortex-M4 Debug Monitor Interrupt */
  82. PendSV_IRQn = -2, /**< Cortex-M4 Pend SV Interrupt */
  83. SysTick_IRQn = -1, /**< Cortex-M4 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. Reserved33_IRQn = 17, /**< Reserved interrupt */
  103. Reserved34_IRQn = 18, /**< Reserved interrupt */
  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. Reserved66_IRQn = 50, /**< Reserved interrupt */
  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. GPIO12_Combined_0_15_IRQn = 61, /**< Combined interrupt indication for GPIO12 signal 0 throughout 15 */
  147. GPIO12_Combined_16_31_IRQn = 62, /**< Combined interrupt indication for GPIO13 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. GPIO7_8_9_10_11_IRQn = 99, /**< GPIO7, GPIO8, GPIO9, GPIO10, GPIO11 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. RTWDOG4_IRQn = 113, /**< RTWDOG4 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. MUB_IRQn = 118, /**< MUB 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 M4 Core Configuration
  309. ---------------------------------------------------------------------------- */
  310. /*!
  311. * @addtogroup Cortex_Core_Configuration Cortex M4 Core Configuration
  312. * @{
  313. */
  314. #define __MPU_PRESENT 1 /**< Defines if an MPU is present or not */
  315. #define __NVIC_PRIO_BITS 4 /**< Number of priority bits implemented in the NVIC */
  316. #define __Vendor_SysTickConfig 0 /**< Vendor specific implementation of SysTickConfig is defined */
  317. #define __FPU_PRESENT 1 /**< Defines if an FPU is present or not */
  318. #include "core_cm4.h" /* Core Peripheral Access Layer */
  319. #include "system_MIMXRT1176_cm4.h" /* Device specific configuration file */
  320. /*!
  321. * @}
  322. */ /* end of group Cortex_Core_Configuration */
  323. /* ----------------------------------------------------------------------------
  324. -- Mapping Information
  325. ---------------------------------------------------------------------------- */
  326. /*!
  327. * @addtogroup Mapping_Information Mapping Information
  328. * @{
  329. */
  330. /** Mapping Information */
  331. /*!
  332. * @addtogroup rdc_mapping
  333. * @{
  334. */
  335. /*******************************************************************************
  336. * Definitions
  337. ******************************************************************************/
  338. /*!
  339. * @brief Structure for the RDC mapping
  340. *
  341. * Defines the structure for the RDC resource collections.
  342. */
  343. /*
  344. * Domain of these masters are not assigned by RDC
  345. * CM7, CM7_DMA: Always use domain ID 0.
  346. * CM4, CM4_DMA: Use domain ID 0 in single core case, 1 in dual core case.
  347. * CAAM: Defined in CAAM mst_a[x]icid[10]
  348. * LCDIFv2: Defined in LCDIF2 user bit[0]
  349. * SSARC: Defined in SSARC user bit[0]
  350. */
  351. typedef enum _rdc_master
  352. {
  353. kRDC_Master_ENET_1G_TX = 1U, /**< ENET_1G_TX */
  354. kRDC_Master_ENET_1G_RX = 2U, /**< ENET_1G_RX */
  355. kRDC_Master_ENET = 3U, /**< ENET */
  356. kRDC_Master_ENET_QOS = 4U, /**< ENET_QOS */
  357. kRDC_Master_USDHC1 = 5U, /**< USDHC1 */
  358. kRDC_Master_USDHC2 = 6U, /**< USDHC2 */
  359. kRDC_Master_USB = 7U, /**< USB */
  360. kRDC_Master_GPU = 8U, /**< GPU */
  361. kRDC_Master_PXP = 9U, /**< PXP */
  362. kRDC_Master_LCDIF = 10U, /**< LCDIF */
  363. kRDC_Master_CSI = 11U, /**< CSI */
  364. } rdc_master_t;
  365. typedef enum _rdc_mem
  366. {
  367. kRDC_Mem_MRC0_0 = 0U,
  368. kRDC_Mem_MRC0_1 = 1U,
  369. kRDC_Mem_MRC0_2 = 2U,
  370. kRDC_Mem_MRC0_3 = 3U,
  371. kRDC_Mem_MRC0_4 = 4U,
  372. kRDC_Mem_MRC0_5 = 5U,
  373. kRDC_Mem_MRC0_6 = 6U,
  374. kRDC_Mem_MRC0_7 = 7U,
  375. kRDC_Mem_MRC1_0 = 8U,
  376. kRDC_Mem_MRC1_1 = 9U,
  377. kRDC_Mem_MRC1_2 = 10U,
  378. kRDC_Mem_MRC1_3 = 11U,
  379. kRDC_Mem_MRC1_4 = 12U,
  380. kRDC_Mem_MRC1_5 = 13U,
  381. kRDC_Mem_MRC1_6 = 14U,
  382. kRDC_Mem_MRC1_7 = 15U,
  383. kRDC_Mem_MRC2_0 = 16U,
  384. kRDC_Mem_MRC2_1 = 17U,
  385. kRDC_Mem_MRC2_2 = 18U,
  386. kRDC_Mem_MRC2_3 = 19U,
  387. kRDC_Mem_MRC2_4 = 20U,
  388. kRDC_Mem_MRC2_5 = 21U,
  389. kRDC_Mem_MRC2_6 = 22U,
  390. kRDC_Mem_MRC2_7 = 23U,
  391. kRDC_Mem_MRC3_0 = 24U,
  392. kRDC_Mem_MRC3_1 = 25U,
  393. kRDC_Mem_MRC3_2 = 26U,
  394. kRDC_Mem_MRC3_3 = 27U,
  395. kRDC_Mem_MRC3_4 = 28U,
  396. kRDC_Mem_MRC3_5 = 29U,
  397. kRDC_Mem_MRC3_6 = 30U,
  398. kRDC_Mem_MRC3_7 = 31U,
  399. kRDC_Mem_MRC4_0 = 32U,
  400. kRDC_Mem_MRC4_1 = 33U,
  401. kRDC_Mem_MRC4_2 = 34U,
  402. kRDC_Mem_MRC4_3 = 35U,
  403. kRDC_Mem_MRC4_4 = 36U,
  404. kRDC_Mem_MRC4_5 = 37U,
  405. kRDC_Mem_MRC4_6 = 38U,
  406. kRDC_Mem_MRC4_7 = 39U,
  407. kRDC_Mem_MRC5_0 = 40U,
  408. kRDC_Mem_MRC5_1 = 41U,
  409. kRDC_Mem_MRC5_2 = 42U,
  410. kRDC_Mem_MRC5_3 = 43U,
  411. kRDC_Mem_MRC6_0 = 44U,
  412. kRDC_Mem_MRC6_1 = 45U,
  413. kRDC_Mem_MRC6_2 = 46U,
  414. kRDC_Mem_MRC6_3 = 47U,
  415. kRDC_Mem_MRC7_0 = 48U,
  416. kRDC_Mem_MRC7_1 = 49U,
  417. kRDC_Mem_MRC7_2 = 50U,
  418. kRDC_Mem_MRC7_3 = 51U,
  419. kRDC_Mem_MRC7_4 = 52U,
  420. kRDC_Mem_MRC7_5 = 53U,
  421. kRDC_Mem_MRC7_6 = 54U,
  422. kRDC_Mem_MRC7_7 = 55U,
  423. kRDC_Mem_MRC8_0 = 56U,
  424. kRDC_Mem_MRC8_1 = 57U,
  425. kRDC_Mem_MRC8_2 = 58U,
  426. } rdc_mem_t;
  427. typedef enum _rdc_periph
  428. {
  429. kRDC_Periph_MTR = 0U, /**< MTR */
  430. kRDC_Periph_MECC1 = 1U, /**< MECC1 */
  431. kRDC_Periph_MECC2 = 2U, /**< MECC2 */
  432. kRDC_Periph_FLEXSPI1 = 3U, /**< FlexSPI1 */
  433. kRDC_Periph_FLEXSPI2 = 4U, /**< FlexSPI2 */
  434. kRDC_Periph_SEMC = 5U, /**< SEMC */
  435. kRDC_Periph_CM7_IMXRT = 6U, /**< CM7_IMXRT */
  436. kRDC_Periph_EWM = 7U, /**< EWM */
  437. kRDC_Periph_WDOG1 = 8U, /**< WDOG1 */
  438. kRDC_Periph_WDOG2 = 9U, /**< WDOG2 */
  439. kRDC_Periph_WDOG3 = 10U, /**< WDOG3 */
  440. kRDC_Periph_AOI_XBAR = 11U, /**< AOI_XBAR */
  441. kRDC_Periph_ADC_ETC = 12U, /**< ADC_ETC */
  442. kRDC_Periph_CAAM_1 = 13U, /**< CAAM_1 */
  443. kRDC_Periph_ADC1 = 14U, /**< ADC1 */
  444. kRDC_Periph_ADC2 = 15U, /**< ADC2 */
  445. kRDC_Periph_TSC_DIG = 16U, /**< TSC_DIG */
  446. kRDC_Periph_DAC = 17U, /**< DAC */
  447. kRDC_Periph_IEE = 18U, /**< IEE */
  448. kRDC_Periph_DMAMUX = 19U, /**< DMAMUX */
  449. kRDC_Periph_EDMA = 19U, /**< EDMA */
  450. kRDC_Periph_LPUART1 = 20U, /**< LPUART1 */
  451. kRDC_Periph_LPUART2 = 21U, /**< LPUART2 */
  452. kRDC_Periph_LPUART3 = 22U, /**< LPUART3 */
  453. kRDC_Periph_LPUART4 = 23U, /**< LPUART4 */
  454. kRDC_Periph_LPUART5 = 24U, /**< LPUART5 */
  455. kRDC_Periph_LPUART6 = 25U, /**< LPUART6 */
  456. kRDC_Periph_LPUART7 = 26U, /**< LPUART7 */
  457. kRDC_Periph_LPUART8 = 27U, /**< LPUART8 */
  458. kRDC_Periph_LPUART9 = 28U, /**< LPUART9 */
  459. kRDC_Periph_LPUART10 = 29U, /**< LPUART10 */
  460. kRDC_Periph_FLEXIO1 = 30U, /**< FlexIO1 */
  461. kRDC_Periph_FLEXIO2 = 31U, /**< FlexIO2 */
  462. kRDC_Periph_CAN1 = 32U, /**< CAN1 */
  463. kRDC_Periph_CAN2 = 33U, /**< CAN2 */
  464. kRDC_Periph_PIT1 = 34U, /**< PIT1 */
  465. kRDC_Periph_KPP = 35U, /**< KPP */
  466. kRDC_Periph_IOMUXC_GPR = 36U, /**< IOMUXC_GPR */
  467. kRDC_Periph_IOMUXC = 37U, /**< IOMUXC */
  468. kRDC_Periph_GPT1 = 38U, /**< GPT1 */
  469. kRDC_Periph_GPT2 = 39U, /**< GPT2 */
  470. kRDC_Periph_GPT3 = 40U, /**< GPT3 */
  471. kRDC_Periph_GPT4 = 41U, /**< GPT4 */
  472. kRDC_Periph_GPT5 = 42U, /**< GPT5 */
  473. kRDC_Periph_GPT6 = 43U, /**< GPT6 */
  474. kRDC_Periph_LPI2C1 = 44U, /**< LPI2C1 */
  475. kRDC_Periph_LPI2C2 = 45U, /**< LPI2C2 */
  476. kRDC_Periph_LPI2C3 = 46U, /**< LPI2C3 */
  477. kRDC_Periph_LPI2C4 = 47U, /**< LPI2C4 */
  478. kRDC_Periph_LPSPI1 = 48U, /**< LPSPI1 */
  479. kRDC_Periph_LPSPI2 = 49U, /**< LPSPI2 */
  480. kRDC_Periph_LPSPI3 = 50U, /**< LPSPI3 */
  481. kRDC_Periph_LPSPI4 = 51U, /**< LPSPI4 */
  482. kRDC_Periph_GPIO_1_6 = 52U, /**< GPIO_1_6 */
  483. kRDC_Periph_CCM_OBS = 53U, /**< CCM_OBS */
  484. kRDC_Periph_SIM1 = 54U, /**< SIM1 */
  485. kRDC_Periph_SIM2 = 55U, /**< SIM2 */
  486. kRDC_Periph_QTIMER1 = 56U, /**< QTimer1 */
  487. kRDC_Periph_QTIMER2 = 57U, /**< QTimer2 */
  488. kRDC_Periph_QTIMER3 = 58U, /**< QTimer3 */
  489. kRDC_Periph_QTIMER4 = 59U, /**< QTimer4 */
  490. kRDC_Periph_ENC1 = 60U, /**< ENC1 */
  491. kRDC_Periph_ENC2 = 61U, /**< ENC2 */
  492. kRDC_Periph_ENC3 = 62U, /**< ENC3 */
  493. kRDC_Periph_ENC4 = 63U, /**< ENC4 */
  494. kRDC_Periph_FLEXPWM1 = 64U, /**< FLEXPWM1 */
  495. kRDC_Periph_FLEXPWM2 = 65U, /**< FLEXPWM2 */
  496. kRDC_Periph_FLEXPWM3 = 66U, /**< FLEXPWM3 */
  497. kRDC_Periph_FLEXPWM4 = 67U, /**< FLEXPWM4 */
  498. kRDC_Periph_CAAM_2 = 68U, /**< CAAM_2 */
  499. kRDC_Periph_CAAM_3 = 69U, /**< CAAM_3 */
  500. kRDC_Periph_ACMP1 = 70U, /**< ACMP1 */
  501. kRDC_Periph_ACMP2 = 71U, /**< ACMP2 */
  502. kRDC_Periph_ACMP3 = 72U, /**< ACMP3 */
  503. kRDC_Periph_ACMP4 = 73U, /**< ACMP4 */
  504. kRDC_Periph_CAAM = 74U, /**< CAAM */
  505. kRDC_Periph_SPDIF = 75U, /**< SPDIF */
  506. kRDC_Periph_SAI1 = 76U, /**< SAI1 */
  507. kRDC_Periph_SAI2 = 77U, /**< SAI2 */
  508. kRDC_Periph_SAI3 = 78U, /**< SAI3 */
  509. kRDC_Periph_ASRC = 79U, /**< ASRC */
  510. kRDC_Periph_USDHC1 = 80U, /**< USDHC1 */
  511. kRDC_Periph_USDHC2 = 81U, /**< USDHC2 */
  512. kRDC_Periph_ENET_1G = 82U, /**< ENET_1G */
  513. kRDC_Periph_ENET = 83U, /**< ENET */
  514. kRDC_Periph_USB_PL301 = 84U, /**< USB_PL301 */
  515. kRDC_Periph_USBPHY2 = 85U, /**< USBPHY2 */
  516. kRDC_Periph_USB_OTG2 = 85U, /**< USB_OTG2 */
  517. kRDC_Periph_USBPHY1 = 86U, /**< USBPHY1 */
  518. kRDC_Periph_USB_OTG1 = 86U, /**< USB_OTG1 */
  519. kRDC_Periph_ENET_QOS = 87U, /**< ENET_QOS */
  520. kRDC_Periph_CAAM_5 = 88U, /**< CAAM_5 */
  521. kRDC_Periph_CSI = 89U, /**< CSI */
  522. kRDC_Periph_LCDIF1 = 90U, /**< LCDIF1 */
  523. kRDC_Periph_LCDIF2 = 91U, /**< LCDIF2 */
  524. kRDC_Periph_MIPI_DSI = 92U, /**< MIPI_DSI */
  525. kRDC_Periph_MIPI_CSI = 93U, /**< MIPI_CSI */
  526. kRDC_Periph_PXP = 94U, /**< PXP */
  527. kRDC_Periph_VIDEO_MUX = 95U, /**< VIDEO_MUX */
  528. kRDC_Periph_PGMC_SRC_GPC = 96U, /**< PGMC_SRC_GPC */
  529. kRDC_Periph_IOMUXC_LPSR = 97U, /**< IOMUXC_LPSR */
  530. kRDC_Periph_IOMUXC_LPSR_GPR = 98U, /**< IOMUXC_LPSR_GPR */
  531. kRDC_Periph_WDOG4 = 99U, /**< WDOG4 */
  532. kRDC_Periph_DMAMUX_LPSR = 100U, /**< DMAMUX_LPSR */
  533. kRDC_Periph_EDMA_LPSR = 100U, /**< EDMA_LPSR */
  534. kRDC_Periph_Reserved = 101U, /**< Reserved */
  535. kRDC_Periph_MIC = 102U, /**< MIC */
  536. kRDC_Periph_LPUART11 = 103U, /**< LPUART11 */
  537. kRDC_Periph_LPUART12 = 104U, /**< LPUART12 */
  538. kRDC_Periph_LPSPI5 = 105U, /**< LPSPI5 */
  539. kRDC_Periph_LPSPI6 = 106U, /**< LPSPI6 */
  540. kRDC_Periph_LPI2C5 = 107U, /**< LPI2C5 */
  541. kRDC_Periph_LPI2C6 = 108U, /**< LPI2C6 */
  542. kRDC_Periph_CAN3 = 109U, /**< CAN3 */
  543. kRDC_Periph_SAI4 = 110U, /**< SAI4 */
  544. kRDC_Periph_SEMA1 = 111U, /**< SEMA1 */
  545. kRDC_Periph_GPIO_7_12 = 112U, /**< GPIO_7_12 */
  546. kRDC_Periph_KEY_MANAGER = 113U, /**< KEY_MANAGER */
  547. kRDC_Periph_ANATOP = 114U, /**< ANATOP */
  548. kRDC_Periph_SNVS_HP_WRAPPER = 115U, /**< SNVS_HP_WRAPPER */
  549. kRDC_Periph_IOMUXC_SNVS = 116U, /**< IOMUXC_SNVS */
  550. kRDC_Periph_IOMUXC_SNVS_GPR = 117U, /**< IOMUXC_SNVS_GPR */
  551. kRDC_Periph_SNVS_SRAM = 118U, /**< SNVS_SRAM */
  552. kRDC_Periph_GPIO13 = 119U, /**< GPIO13 */
  553. kRDC_Periph_ROMCP = 120U, /**< ROMCP */
  554. kRDC_Periph_DCDC = 121U, /**< DCDC */
  555. kRDC_Periph_OCOTP_CTRL_WRAPPER = 122U, /**< OCOTP_CTRL_WRAPPER */
  556. kRDC_Periph_PIT2 = 123U, /**< PIT2 */
  557. kRDC_Periph_SSARC = 124U, /**< SSARC */
  558. kRDC_Periph_CCM = 125U, /**< CCM */
  559. kRDC_Periph_CAAM_6 = 126U, /**< CAAM_6 */
  560. kRDC_Periph_CAAM_7 = 127U, /**< CAAM_7 */
  561. } rdc_periph_t;
  562. /* @} */
  563. typedef enum _xbar_input_signal
  564. {
  565. kXBARA1_InputLogicLow = 0|0x100U, /**< LOGIC_LOW output assigned to XBARA1_IN0 input. */
  566. kXBARA1_InputLogicHigh = 1|0x100U, /**< LOGIC_HIGH output assigned to XBARA1_IN1 input. */
  567. kXBARA1_InputRESERVED2 = 2|0x100U, /**< XBARA1_IN2 input is reserved. */
  568. kXBARA1_InputRESERVED3 = 3|0x100U, /**< XBARA1_IN3 input is reserved. */
  569. kXBARA1_InputIomuxXbarInout04 = 4|0x100U, /**< IOMUX_XBAR_INOUT04 output assigned to XBARA1_IN4 input. */
  570. kXBARA1_InputIomuxXbarInout05 = 5|0x100U, /**< IOMUX_XBAR_INOUT05 output assigned to XBARA1_IN5 input. */
  571. kXBARA1_InputIomuxXbarInout06 = 6|0x100U, /**< IOMUX_XBAR_INOUT06 output assigned to XBARA1_IN6 input. */
  572. kXBARA1_InputIomuxXbarInout07 = 7|0x100U, /**< IOMUX_XBAR_INOUT07 output assigned to XBARA1_IN7 input. */
  573. kXBARA1_InputIomuxXbarInout08 = 8|0x100U, /**< IOMUX_XBAR_INOUT08 output assigned to XBARA1_IN8 input. */
  574. kXBARA1_InputIomuxXbarInout09 = 9|0x100U, /**< IOMUX_XBAR_INOUT09 output assigned to XBARA1_IN9 input. */
  575. kXBARA1_InputIomuxXbarInout10 = 10|0x100U, /**< IOMUX_XBAR_INOUT10 output assigned to XBARA1_IN10 input. */
  576. kXBARA1_InputIomuxXbarInout11 = 11|0x100U, /**< IOMUX_XBAR_INOUT11 output assigned to XBARA1_IN11 input. */
  577. kXBARA1_InputIomuxXbarInout12 = 12|0x100U, /**< IOMUX_XBAR_INOUT12 output assigned to XBARA1_IN12 input. */
  578. kXBARA1_InputIomuxXbarInout13 = 13|0x100U, /**< IOMUX_XBAR_INOUT13 output assigned to XBARA1_IN13 input. */
  579. kXBARA1_InputIomuxXbarInout14 = 14|0x100U, /**< IOMUX_XBAR_INOUT14 output assigned to XBARA1_IN14 input. */
  580. kXBARA1_InputIomuxXbarInout15 = 15|0x100U, /**< IOMUX_XBAR_INOUT15 output assigned to XBARA1_IN15 input. */
  581. kXBARA1_InputIomuxXbarInout16 = 16|0x100U, /**< IOMUX_XBAR_INOUT16 output assigned to XBARA1_IN16 input. */
  582. kXBARA1_InputIomuxXbarInout17 = 17|0x100U, /**< IOMUX_XBAR_INOUT17 output assigned to XBARA1_IN17 input. */
  583. kXBARA1_InputIomuxXbarInout18 = 18|0x100U, /**< IOMUX_XBAR_INOUT18 output assigned to XBARA1_IN18 input. */
  584. kXBARA1_InputIomuxXbarInout19 = 19|0x100U, /**< IOMUX_XBAR_INOUT19 output assigned to XBARA1_IN19 input. */
  585. kXBARA1_InputIomuxXbarInout20 = 20|0x100U, /**< IOMUX_XBAR_INOUT20 output assigned to XBARA1_IN20 input. */
  586. kXBARA1_InputIomuxXbarInout21 = 21|0x100U, /**< IOMUX_XBAR_INOUT21 output assigned to XBARA1_IN21 input. */
  587. kXBARA1_InputIomuxXbarInout22 = 22|0x100U, /**< IOMUX_XBAR_INOUT22 output assigned to XBARA1_IN22 input. */
  588. kXBARA1_InputIomuxXbarInout23 = 23|0x100U, /**< IOMUX_XBAR_INOUT23 output assigned to XBARA1_IN23 input. */
  589. kXBARA1_InputIomuxXbarInout24 = 24|0x100U, /**< IOMUX_XBAR_INOUT24 output assigned to XBARA1_IN24 input. */
  590. kXBARA1_InputIomuxXbarInout25 = 25|0x100U, /**< IOMUX_XBAR_INOUT25 output assigned to XBARA1_IN25 input. */
  591. kXBARA1_InputIomuxXbarInout26 = 26|0x100U, /**< IOMUX_XBAR_INOUT26 output assigned to XBARA1_IN26 input. */
  592. kXBARA1_InputIomuxXbarInout27 = 27|0x100U, /**< IOMUX_XBAR_INOUT27 output assigned to XBARA1_IN27 input. */
  593. kXBARA1_InputIomuxXbarInout28 = 28|0x100U, /**< IOMUX_XBAR_INOUT28 output assigned to XBARA1_IN28 input. */
  594. kXBARA1_InputIomuxXbarInout29 = 29|0x100U, /**< IOMUX_XBAR_INOUT29 output assigned to XBARA1_IN29 input. */
  595. kXBARA1_InputIomuxXbarInout30 = 30|0x100U, /**< IOMUX_XBAR_INOUT30 output assigned to XBARA1_IN30 input. */
  596. kXBARA1_InputIomuxXbarInout31 = 31|0x100U, /**< IOMUX_XBAR_INOUT31 output assigned to XBARA1_IN31 input. */
  597. kXBARA1_InputIomuxXbarInout32 = 32|0x100U, /**< IOMUX_XBAR_INOUT32 output assigned to XBARA1_IN32 input. */
  598. kXBARA1_InputIomuxXbarInout33 = 33|0x100U, /**< IOMUX_XBAR_INOUT33 output assigned to XBARA1_IN33 input. */
  599. kXBARA1_InputIomuxXbarInout34 = 34|0x100U, /**< IOMUX_XBAR_INOUT34 output assigned to XBARA1_IN34 input. */
  600. kXBARA1_InputIomuxXbarInout35 = 35|0x100U, /**< IOMUX_XBAR_INOUT35 output assigned to XBARA1_IN35 input. */
  601. kXBARA1_InputIomuxXbarInout36 = 36|0x100U, /**< IOMUX_XBAR_INOUT36 output assigned to XBARA1_IN36 input. */
  602. kXBARA1_InputIomuxXbarInout37 = 37|0x100U, /**< IOMUX_XBAR_INOUT37 output assigned to XBARA1_IN37 input. */
  603. kXBARA1_InputIomuxXbarInout38 = 38|0x100U, /**< IOMUX_XBAR_INOUT38 output assigned to XBARA1_IN38 input. */
  604. kXBARA1_InputIomuxXbarInout39 = 39|0x100U, /**< IOMUX_XBAR_INOUT39 output assigned to XBARA1_IN39 input. */
  605. kXBARA1_InputIomuxXbarInout40 = 40|0x100U, /**< IOMUX_XBAR_INOUT40 output assigned to XBARA1_IN40 input. */
  606. kXBARA1_InputRESERVED41 = 41|0x100U, /**< XBARA1_IN41 input is reserved. */
  607. kXBARA1_InputAcmp1Out = 42|0x100U, /**< ACMP1_OUT output assigned to XBARA1_IN42 input. */
  608. kXBARA1_InputAcmp2Out = 43|0x100U, /**< ACMP2_OUT output assigned to XBARA1_IN43 input. */
  609. kXBARA1_InputAcmp3Out = 44|0x100U, /**< ACMP3_OUT output assigned to XBARA1_IN44 input. */
  610. kXBARA1_InputAcmp4Out = 45|0x100U, /**< ACMP4_OUT output assigned to XBARA1_IN45 input. */
  611. kXBARA1_InputRESERVED46 = 46|0x100U, /**< XBARA1_IN46 input is reserved. */
  612. kXBARA1_InputRESERVED47 = 47|0x100U, /**< XBARA1_IN47 input is reserved. */
  613. kXBARA1_InputRESERVED48 = 48|0x100U, /**< XBARA1_IN48 input is reserved. */
  614. kXBARA1_InputRESERVED49 = 49|0x100U, /**< XBARA1_IN49 input is reserved. */
  615. kXBARA1_InputQtimer1Timer0 = 50|0x100U, /**< QTIMER1_TIMER0 output assigned to XBARA1_IN50 input. */
  616. kXBARA1_InputQtimer1Timer1 = 51|0x100U, /**< QTIMER1_TIMER1 output assigned to XBARA1_IN51 input. */
  617. kXBARA1_InputQtimer1Timer2 = 52|0x100U, /**< QTIMER1_TIMER2 output assigned to XBARA1_IN52 input. */
  618. kXBARA1_InputQtimer1Timer3 = 53|0x100U, /**< QTIMER1_TIMER3 output assigned to XBARA1_IN53 input. */
  619. kXBARA1_InputQtimer2Timer0 = 54|0x100U, /**< QTIMER2_TIMER0 output assigned to XBARA1_IN54 input. */
  620. kXBARA1_InputQtimer2Timer1 = 55|0x100U, /**< QTIMER2_TIMER1 output assigned to XBARA1_IN55 input. */
  621. kXBARA1_InputQtimer2Timer2 = 56|0x100U, /**< QTIMER2_TIMER2 output assigned to XBARA1_IN56 input. */
  622. kXBARA1_InputQtimer2Timer3 = 57|0x100U, /**< QTIMER2_TIMER3 output assigned to XBARA1_IN57 input. */
  623. kXBARA1_InputQtimer3Timer0 = 58|0x100U, /**< QTIMER3_TIMER0 output assigned to XBARA1_IN58 input. */
  624. kXBARA1_InputQtimer3Timer1 = 59|0x100U, /**< QTIMER3_TIMER1 output assigned to XBARA1_IN59 input. */
  625. kXBARA1_InputQtimer3Timer2 = 60|0x100U, /**< QTIMER3_TIMER2 output assigned to XBARA1_IN60 input. */
  626. kXBARA1_InputQtimer3Timer3 = 61|0x100U, /**< QTIMER3_TIMER3 output assigned to XBARA1_IN61 input. */
  627. kXBARA1_InputQtimer4Timer0 = 62|0x100U, /**< QTIMER4_TIMER0 output assigned to XBARA1_IN62 input. */
  628. kXBARA1_InputQtimer4Timer1 = 63|0x100U, /**< QTIMER4_TIMER1 output assigned to XBARA1_IN63 input. */
  629. kXBARA1_InputQtimer4Timer2 = 64|0x100U, /**< QTIMER4_TIMER2 output assigned to XBARA1_IN64 input. */
  630. kXBARA1_InputQtimer4Timer3 = 65|0x100U, /**< QTIMER4_TIMER3 output assigned to XBARA1_IN65 input. */
  631. kXBARA1_InputRESERVED66 = 66|0x100U, /**< XBARA1_IN66 input is reserved. */
  632. kXBARA1_InputRESERVED67 = 67|0x100U, /**< XBARA1_IN67 input is reserved. */
  633. kXBARA1_InputRESERVED68 = 68|0x100U, /**< XBARA1_IN68 input is reserved. */
  634. kXBARA1_InputRESERVED69 = 69|0x100U, /**< XBARA1_IN69 input is reserved. */
  635. kXBARA1_InputRESERVED70 = 70|0x100U, /**< XBARA1_IN70 input is reserved. */
  636. kXBARA1_InputRESERVED71 = 71|0x100U, /**< XBARA1_IN71 input is reserved. */
  637. kXBARA1_InputRESERVED72 = 72|0x100U, /**< XBARA1_IN72 input is reserved. */
  638. kXBARA1_InputRESERVED73 = 73|0x100U, /**< XBARA1_IN73 input is reserved. */
  639. kXBARA1_InputFlexpwm1Pwm0OutTrig0 = 74|0x100U, /**< FLEXPWM1_PWM0_OUT_TRIG0 output assigned to XBARA1_IN74 input. */
  640. kXBARA1_InputFlexpwm1Pwm0OutTrig1 = 75|0x100U, /**< FLEXPWM1_PWM0_OUT_TRIG1 output assigned to XBARA1_IN75 input. */
  641. kXBARA1_InputFlexpwm1Pwm1OutTrig0 = 76|0x100U, /**< FLEXPWM1_PWM1_OUT_TRIG0 output assigned to XBARA1_IN76 input. */
  642. kXBARA1_InputFlexpwm1Pwm1OutTrig1 = 77|0x100U, /**< FLEXPWM1_PWM1_OUT_TRIG1 output assigned to XBARA1_IN77 input. */
  643. kXBARA1_InputFlexpwm1Pwm2OutTrig0 = 78|0x100U, /**< FLEXPWM1_PWM2_OUT_TRIG0 output assigned to XBARA1_IN78 input. */
  644. kXBARA1_InputFlexpwm1Pwm2OutTrig1 = 79|0x100U, /**< FLEXPWM1_PWM2_OUT_TRIG1 output assigned to XBARA1_IN79 input. */
  645. kXBARA1_InputFlexpwm1Pwm3OutTrig0 = 80|0x100U, /**< FLEXPWM1_PWM3_OUT_TRIG0 output assigned to XBARA1_IN80 input. */
  646. kXBARA1_InputFlexpwm1Pwm3OutTrig1 = 81|0x100U, /**< FLEXPWM1_PWM3_OUT_TRIG1 output assigned to XBARA1_IN81 input. */
  647. kXBARA1_InputFlexpwm2Pwm0OutTrig01 = 82|0x100U, /**< FLEXPWM2_PWM0_OUT_TRIG0_1 output assigned to XBARA1_IN82 input. */
  648. kXBARA1_InputFlexpwm2Pwm1OutTrig01 = 83|0x100U, /**< FLEXPWM2_PWM1_OUT_TRIG0_1 output assigned to XBARA1_IN83 input. */
  649. kXBARA1_InputFlexpwm2Pwm2OutTrig01 = 84|0x100U, /**< FLEXPWM2_PWM2_OUT_TRIG0_1 output assigned to XBARA1_IN84 input. */
  650. kXBARA1_InputFlexpwm2Pwm3OutTrig01 = 85|0x100U, /**< FLEXPWM2_PWM3_OUT_TRIG0_1 output assigned to XBARA1_IN85 input. */
  651. kXBARA1_InputFlexpwm3Pwm0OutTrig01 = 86|0x100U, /**< FLEXPWM3_PWM0_OUT_TRIG0_1 output assigned to XBARA1_IN86 input. */
  652. kXBARA1_InputFlexpwm3Pwm1OutTrig01 = 87|0x100U, /**< FLEXPWM3_PWM1_OUT_TRIG0_1 output assigned to XBARA1_IN87 input. */
  653. kXBARA1_InputFlexpwm3Pwm2OutTrig01 = 88|0x100U, /**< FLEXPWM3_PWM2_OUT_TRIG0_1 output assigned to XBARA1_IN88 input. */
  654. kXBARA1_InputFlexpwm3Pwm3OutTrig01 = 89|0x100U, /**< FLEXPWM3_PWM3_OUT_TRIG0_1 output assigned to XBARA1_IN89 input. */
  655. kXBARA1_InputFlexpwm4Pwm0OutTrig01 = 90|0x100U, /**< FLEXPWM4_PWM0_OUT_TRIG0_1 output assigned to XBARA1_IN90 input. */
  656. kXBARA1_InputFlexpwm4Pwm1OutTrig01 = 91|0x100U, /**< FLEXPWM4_PWM1_OUT_TRIG0_1 output assigned to XBARA1_IN91 input. */
  657. kXBARA1_InputFlexpwm4Pwm2OutTrig01 = 92|0x100U, /**< FLEXPWM4_PWM2_OUT_TRIG0_1 output assigned to XBARA1_IN92 input. */
  658. kXBARA1_InputFlexpwm4Pwm3OutTrig01 = 93|0x100U, /**< FLEXPWM4_PWM3_OUT_TRIG0_1 output assigned to XBARA1_IN93 input. */
  659. kXBARA1_InputRESERVED94 = 94|0x100U, /**< XBARA1_IN94 input is reserved. */
  660. kXBARA1_InputRESERVED95 = 95|0x100U, /**< XBARA1_IN95 input is reserved. */
  661. kXBARA1_InputRESERVED96 = 96|0x100U, /**< XBARA1_IN96 input is reserved. */
  662. kXBARA1_InputRESERVED97 = 97|0x100U, /**< XBARA1_IN97 input is reserved. */
  663. kXBARA1_InputRESERVED98 = 98|0x100U, /**< XBARA1_IN98 input is reserved. */
  664. kXBARA1_InputRESERVED99 = 99|0x100U, /**< XBARA1_IN99 input is reserved. */
  665. kXBARA1_InputRESERVED100 = 100|0x100U, /**< XBARA1_IN100 input is reserved. */
  666. kXBARA1_InputRESERVED101 = 101|0x100U, /**< XBARA1_IN101 input is reserved. */
  667. kXBARA1_InputPit1Trigger0 = 102|0x100U, /**< PIT1_TRIGGER0 output assigned to XBARA1_IN102 input. */
  668. kXBARA1_InputPit1Trigger1 = 103|0x100U, /**< PIT1_TRIGGER1 output assigned to XBARA1_IN103 input. */
  669. kXBARA1_InputPit1Trigger2 = 104|0x100U, /**< PIT1_TRIGGER2 output assigned to XBARA1_IN104 input. */
  670. kXBARA1_InputPit1Trigger3 = 105|0x100U, /**< PIT1_TRIGGER3 output assigned to XBARA1_IN105 input. */
  671. kXBARA1_InputDec1PosMatch = 106|0x100U, /**< DEC1_POS_MATCH output assigned to XBARA1_IN106 input. */
  672. kXBARA1_InputDec2PosMatch = 107|0x100U, /**< DEC2_POS_MATCH output assigned to XBARA1_IN107 input. */
  673. kXBARA1_InputDec3PosMatch = 108|0x100U, /**< DEC3_POS_MATCH output assigned to XBARA1_IN108 input. */
  674. kXBARA1_InputDec4PosMatch = 109|0x100U, /**< DEC4_POS_MATCH output assigned to XBARA1_IN109 input. */
  675. kXBARA1_InputRESERVED110 = 110|0x100U, /**< XBARA1_IN110 input is reserved. */
  676. kXBARA1_InputRESERVED111 = 111|0x100U, /**< XBARA1_IN111 input is reserved. */
  677. kXBARA1_InputDmaDone0 = 112|0x100U, /**< DMA_DONE0 output assigned to XBARA1_IN112 input. */
  678. kXBARA1_InputDmaDone1 = 113|0x100U, /**< DMA_DONE1 output assigned to XBARA1_IN113 input. */
  679. kXBARA1_InputDmaDone2 = 114|0x100U, /**< DMA_DONE2 output assigned to XBARA1_IN114 input. */
  680. kXBARA1_InputDmaDone3 = 115|0x100U, /**< DMA_DONE3 output assigned to XBARA1_IN115 input. */
  681. kXBARA1_InputDmaDone4 = 116|0x100U, /**< DMA_DONE4 output assigned to XBARA1_IN116 input. */
  682. kXBARA1_InputDmaDone5 = 117|0x100U, /**< DMA_DONE5 output assigned to XBARA1_IN117 input. */
  683. kXBARA1_InputDmaDone6 = 118|0x100U, /**< DMA_DONE6 output assigned to XBARA1_IN118 input. */
  684. kXBARA1_InputDmaDone7 = 119|0x100U, /**< DMA_DONE7 output assigned to XBARA1_IN119 input. */
  685. kXBARA1_InputDmaLpsrDone0 = 120|0x100U, /**< DMA_LPSR_DONE0 output assigned to XBARA1_IN120 input. */
  686. kXBARA1_InputDmaLpsrDone1 = 121|0x100U, /**< DMA_LPSR_DONE1 output assigned to XBARA1_IN121 input. */
  687. kXBARA1_InputDmaLpsrDone2 = 122|0x100U, /**< DMA_LPSR_DONE2 output assigned to XBARA1_IN122 input. */
  688. kXBARA1_InputDmaLpsrDone3 = 123|0x100U, /**< DMA_LPSR_DONE3 output assigned to XBARA1_IN123 input. */
  689. kXBARA1_InputDmaLpsrDone4 = 124|0x100U, /**< DMA_LPSR_DONE4 output assigned to XBARA1_IN124 input. */
  690. kXBARA1_InputDmaLpsrDone5 = 125|0x100U, /**< DMA_LPSR_DONE5 output assigned to XBARA1_IN125 input. */
  691. kXBARA1_InputDmaLpsrDone6 = 126|0x100U, /**< DMA_LPSR_DONE6 output assigned to XBARA1_IN126 input. */
  692. kXBARA1_InputDmaLpsrDone7 = 127|0x100U, /**< DMA_LPSR_DONE7 output assigned to XBARA1_IN127 input. */
  693. kXBARA1_InputAoi1Out0 = 128|0x100U, /**< AOI1_OUT0 output assigned to XBARA1_IN128 input. */
  694. kXBARA1_InputAoi1Out1 = 129|0x100U, /**< AOI1_OUT1 output assigned to XBARA1_IN129 input. */
  695. kXBARA1_InputAoi1Out2 = 130|0x100U, /**< AOI1_OUT2 output assigned to XBARA1_IN130 input. */
  696. kXBARA1_InputAoi1Out3 = 131|0x100U, /**< AOI1_OUT3 output assigned to XBARA1_IN131 input. */
  697. kXBARA1_InputAoi2Out0 = 132|0x100U, /**< AOI2_OUT0 output assigned to XBARA1_IN132 input. */
  698. kXBARA1_InputAoi2Out1 = 133|0x100U, /**< AOI2_OUT1 output assigned to XBARA1_IN133 input. */
  699. kXBARA1_InputAoi2Out2 = 134|0x100U, /**< AOI2_OUT2 output assigned to XBARA1_IN134 input. */
  700. kXBARA1_InputAoi2Out3 = 135|0x100U, /**< AOI2_OUT3 output assigned to XBARA1_IN135 input. */
  701. kXBARA1_InputAdcEtc0Coco0 = 136|0x100U, /**< ADC_ETC0_COCO0 output assigned to XBARA1_IN136 input. */
  702. kXBARA1_InputAdcEtc0Coco1 = 137|0x100U, /**< ADC_ETC0_COCO1 output assigned to XBARA1_IN137 input. */
  703. kXBARA1_InputAdcEtc0Coco2 = 138|0x100U, /**< ADC_ETC0_COCO2 output assigned to XBARA1_IN138 input. */
  704. kXBARA1_InputAdcEtc0Coco3 = 139|0x100U, /**< ADC_ETC0_COCO3 output assigned to XBARA1_IN139 input. */
  705. kXBARA1_InputAdcEtc1Coco0 = 140|0x100U, /**< ADC_ETC1_COCO0 output assigned to XBARA1_IN140 input. */
  706. kXBARA1_InputAdcEtc1Coco1 = 141|0x100U, /**< ADC_ETC1_COCO1 output assigned to XBARA1_IN141 input. */
  707. kXBARA1_InputAdcEtc1Coco2 = 142|0x100U, /**< ADC_ETC1_COCO2 output assigned to XBARA1_IN142 input. */
  708. kXBARA1_InputAdcEtc1Coco3 = 143|0x100U, /**< ADC_ETC1_COCO3 output assigned to XBARA1_IN143 input. */
  709. kXBARB2_InputLogicLow = 0|0x200U, /**< LOGIC_LOW output assigned to XBARB2_IN0 input. */
  710. kXBARB2_InputLogicHigh = 1|0x200U, /**< LOGIC_HIGH output assigned to XBARB2_IN1 input. */
  711. kXBARB2_InputAcmp1Out = 2|0x200U, /**< ACMP1_OUT output assigned to XBARB2_IN2 input. */
  712. kXBARB2_InputAcmp2Out = 3|0x200U, /**< ACMP2_OUT output assigned to XBARB2_IN3 input. */
  713. kXBARB2_InputAcmp3Out = 4|0x200U, /**< ACMP3_OUT output assigned to XBARB2_IN4 input. */
  714. kXBARB2_InputAcmp4Out = 5|0x200U, /**< ACMP4_OUT output assigned to XBARB2_IN5 input. */
  715. kXBARB2_InputRESERVED6 = 6|0x200U, /**< XBARB2_IN6 input is reserved. */
  716. kXBARB2_InputRESERVED7 = 7|0x200U, /**< XBARB2_IN7 input is reserved. */
  717. kXBARB2_InputRESERVED8 = 8|0x200U, /**< XBARB2_IN8 input is reserved. */
  718. kXBARB2_InputRESERVED9 = 9|0x200U, /**< XBARB2_IN9 input is reserved. */
  719. kXBARB2_InputQtimer1Timer0 = 10|0x200U, /**< QTIMER1_TIMER0 output assigned to XBARB2_IN10 input. */
  720. kXBARB2_InputQtimer1Timer1 = 11|0x200U, /**< QTIMER1_TIMER1 output assigned to XBARB2_IN11 input. */
  721. kXBARB2_InputQtimer1Timer2 = 12|0x200U, /**< QTIMER1_TIMER2 output assigned to XBARB2_IN12 input. */
  722. kXBARB2_InputQtimer1Timer3 = 13|0x200U, /**< QTIMER1_TIMER3 output assigned to XBARB2_IN13 input. */
  723. kXBARB2_InputQtimer2Timer0 = 14|0x200U, /**< QTIMER2_TIMER0 output assigned to XBARB2_IN14 input. */
  724. kXBARB2_InputQtimer2Timer1 = 15|0x200U, /**< QTIMER2_TIMER1 output assigned to XBARB2_IN15 input. */
  725. kXBARB2_InputQtimer2Timer2 = 16|0x200U, /**< QTIMER2_TIMER2 output assigned to XBARB2_IN16 input. */
  726. kXBARB2_InputQtimer2Timer3 = 17|0x200U, /**< QTIMER2_TIMER3 output assigned to XBARB2_IN17 input. */
  727. kXBARB2_InputQtimer3Timer0 = 18|0x200U, /**< QTIMER3_TIMER0 output assigned to XBARB2_IN18 input. */
  728. kXBARB2_InputQtimer3Timer1 = 19|0x200U, /**< QTIMER3_TIMER1 output assigned to XBARB2_IN19 input. */
  729. kXBARB2_InputQtimer3Timer2 = 20|0x200U, /**< QTIMER3_TIMER2 output assigned to XBARB2_IN20 input. */
  730. kXBARB2_InputQtimer3Timer3 = 21|0x200U, /**< QTIMER3_TIMER3 output assigned to XBARB2_IN21 input. */
  731. kXBARB2_InputQtimer4Timer0 = 22|0x200U, /**< QTIMER4_TIMER0 output assigned to XBARB2_IN22 input. */
  732. kXBARB2_InputQtimer4Timer1 = 23|0x200U, /**< QTIMER4_TIMER1 output assigned to XBARB2_IN23 input. */
  733. kXBARB2_InputQtimer4Timer2 = 24|0x200U, /**< QTIMER4_TIMER2 output assigned to XBARB2_IN24 input. */
  734. kXBARB2_InputQtimer4Timer3 = 25|0x200U, /**< QTIMER4_TIMER3 output assigned to XBARB2_IN25 input. */
  735. kXBARB2_InputRESERVED26 = 26|0x200U, /**< XBARB2_IN26 input is reserved. */
  736. kXBARB2_InputRESERVED27 = 27|0x200U, /**< XBARB2_IN27 input is reserved. */
  737. kXBARB2_InputRESERVED28 = 28|0x200U, /**< XBARB2_IN28 input is reserved. */
  738. kXBARB2_InputRESERVED29 = 29|0x200U, /**< XBARB2_IN29 input is reserved. */
  739. kXBARB2_InputRESERVED30 = 30|0x200U, /**< XBARB2_IN30 input is reserved. */
  740. kXBARB2_InputRESERVED31 = 31|0x200U, /**< XBARB2_IN31 input is reserved. */
  741. kXBARB2_InputRESERVED32 = 32|0x200U, /**< XBARB2_IN32 input is reserved. */
  742. kXBARB2_InputRESERVED33 = 33|0x200U, /**< XBARB2_IN33 input is reserved. */
  743. kXBARB2_InputFlexpwm1Pwm0OutTrig01 = 34|0x200U, /**< FLEXPWM1_PWM0_OUT_TRIG0_1 output assigned to XBARB2_IN34 input. */
  744. kXBARB2_InputFlexpwm1Pwm1OutTrig01 = 35|0x200U, /**< FLEXPWM1_PWM1_OUT_TRIG0_1 output assigned to XBARB2_IN35 input. */
  745. kXBARB2_InputFlexpwm1Pwm2OutTrig01 = 36|0x200U, /**< FLEXPWM1_PWM2_OUT_TRIG0_1 output assigned to XBARB2_IN36 input. */
  746. kXBARB2_InputFlexpwm1Pwm3OutTrig01 = 37|0x200U, /**< FLEXPWM1_PWM3_OUT_TRIG0_1 output assigned to XBARB2_IN37 input. */
  747. kXBARB2_InputFlexpwm2Pwm0OutTrig01 = 38|0x200U, /**< FLEXPWM2_PWM0_OUT_TRIG0_1 output assigned to XBARB2_IN38 input. */
  748. kXBARB2_InputFlexpwm2Pwm1OutTrig01 = 39|0x200U, /**< FLEXPWM2_PWM1_OUT_TRIG0_1 output assigned to XBARB2_IN39 input. */
  749. kXBARB2_InputFlexpwm2Pwm2OutTrig01 = 40|0x200U, /**< FLEXPWM2_PWM2_OUT_TRIG0_1 output assigned to XBARB2_IN40 input. */
  750. kXBARB2_InputFlexpwm2Pwm3OutTrig01 = 41|0x200U, /**< FLEXPWM2_PWM3_OUT_TRIG0_1 output assigned to XBARB2_IN41 input. */
  751. kXBARB2_InputFlexpwm3Pwm0OutTrig01 = 42|0x200U, /**< FLEXPWM3_PWM0_OUT_TRIG0_1 output assigned to XBARB2_IN42 input. */
  752. kXBARB2_InputFlexpwm3Pwm1OutTrig01 = 43|0x200U, /**< FLEXPWM3_PWM1_OUT_TRIG0_1 output assigned to XBARB2_IN43 input. */
  753. kXBARB2_InputFlexpwm3Pwm2OutTrig01 = 44|0x200U, /**< FLEXPWM3_PWM2_OUT_TRIG0_1 output assigned to XBARB2_IN44 input. */
  754. kXBARB2_InputFlexpwm3Pwm3OutTrig01 = 45|0x200U, /**< FLEXPWM3_PWM3_OUT_TRIG0_1 output assigned to XBARB2_IN45 input. */
  755. kXBARB2_InputFlexpwm4Pwm0OutTrig01 = 46|0x200U, /**< FLEXPWM4_PWM0_OUT_TRIG0_1 output assigned to XBARB2_IN46 input. */
  756. kXBARB2_InputFlexpwm4Pwm1OutTrig01 = 47|0x200U, /**< FLEXPWM4_PWM1_OUT_TRIG0_1 output assigned to XBARB2_IN47 input. */
  757. kXBARB2_InputFlexpwm4Pwm2OutTrig01 = 48|0x200U, /**< FLEXPWM4_PWM2_OUT_TRIG0_1 output assigned to XBARB2_IN48 input. */
  758. kXBARB2_InputFlexpwm4Pwm3OutTrig01 = 49|0x200U, /**< FLEXPWM4_PWM3_OUT_TRIG0_1 output assigned to XBARB2_IN49 input. */
  759. kXBARB2_InputRESERVED50 = 50|0x200U, /**< XBARB2_IN50 input is reserved. */
  760. kXBARB2_InputRESERVED51 = 51|0x200U, /**< XBARB2_IN51 input is reserved. */
  761. kXBARB2_InputRESERVED52 = 52|0x200U, /**< XBARB2_IN52 input is reserved. */
  762. kXBARB2_InputRESERVED53 = 53|0x200U, /**< XBARB2_IN53 input is reserved. */
  763. kXBARB2_InputRESERVED54 = 54|0x200U, /**< XBARB2_IN54 input is reserved. */
  764. kXBARB2_InputRESERVED55 = 55|0x200U, /**< XBARB2_IN55 input is reserved. */
  765. kXBARB2_InputRESERVED56 = 56|0x200U, /**< XBARB2_IN56 input is reserved. */
  766. kXBARB2_InputRESERVED57 = 57|0x200U, /**< XBARB2_IN57 input is reserved. */
  767. kXBARB2_InputPit1Trigger0 = 58|0x200U, /**< PIT1_TRIGGER0 output assigned to XBARB2_IN58 input. */
  768. kXBARB2_InputPit1Trigger1 = 59|0x200U, /**< PIT1_TRIGGER1 output assigned to XBARB2_IN59 input. */
  769. kXBARB2_InputAdcEtc0Coco0 = 60|0x200U, /**< ADC_ETC0_COCO0 output assigned to XBARB2_IN60 input. */
  770. kXBARB2_InputAdcEtc0Coco1 = 61|0x200U, /**< ADC_ETC0_COCO1 output assigned to XBARB2_IN61 input. */
  771. kXBARB2_InputAdcEtc0Coco2 = 62|0x200U, /**< ADC_ETC0_COCO2 output assigned to XBARB2_IN62 input. */
  772. kXBARB2_InputAdcEtc0Coco3 = 63|0x200U, /**< ADC_ETC0_COCO3 output assigned to XBARB2_IN63 input. */
  773. kXBARB2_InputAdcEtc1Coco0 = 64|0x200U, /**< ADC_ETC1_COCO0 output assigned to XBARB2_IN64 input. */
  774. kXBARB2_InputAdcEtc1Coco1 = 65|0x200U, /**< ADC_ETC1_COCO1 output assigned to XBARB2_IN65 input. */
  775. kXBARB2_InputAdcEtc1Coco2 = 66|0x200U, /**< ADC_ETC1_COCO2 output assigned to XBARB2_IN66 input. */
  776. kXBARB2_InputAdcEtc1Coco3 = 67|0x200U, /**< ADC_ETC1_COCO3 output assigned to XBARB2_IN67 input. */
  777. kXBARB2_InputRESERVED68 = 68|0x200U, /**< XBARB2_IN68 input is reserved. */
  778. kXBARB2_InputRESERVED69 = 69|0x200U, /**< XBARB2_IN69 input is reserved. */
  779. kXBARB2_InputRESERVED70 = 70|0x200U, /**< XBARB2_IN70 input is reserved. */
  780. kXBARB2_InputRESERVED71 = 71|0x200U, /**< XBARB2_IN71 input is reserved. */
  781. kXBARB2_InputRESERVED72 = 72|0x200U, /**< XBARB2_IN72 input is reserved. */
  782. kXBARB2_InputRESERVED73 = 73|0x200U, /**< XBARB2_IN73 input is reserved. */
  783. kXBARB2_InputRESERVED74 = 74|0x200U, /**< XBARB2_IN74 input is reserved. */
  784. kXBARB2_InputRESERVED75 = 75|0x200U, /**< XBARB2_IN75 input is reserved. */
  785. kXBARB2_InputDec1PosMatch = 76|0x200U, /**< DEC1_POS_MATCH output assigned to XBARB2_IN76 input. */
  786. kXBARB2_InputDec2PosMatch = 77|0x200U, /**< DEC2_POS_MATCH output assigned to XBARB2_IN77 input. */
  787. kXBARB2_InputDec3PosMatch = 78|0x200U, /**< DEC3_POS_MATCH output assigned to XBARB2_IN78 input. */
  788. kXBARB2_InputDec4PosMatch = 79|0x200U, /**< DEC4_POS_MATCH output assigned to XBARB2_IN79 input. */
  789. kXBARB2_InputRESERVED80 = 80|0x200U, /**< XBARB2_IN80 input is reserved. */
  790. kXBARB2_InputRESERVED81 = 81|0x200U, /**< XBARB2_IN81 input is reserved. */
  791. kXBARB2_InputDmaDone0 = 82|0x200U, /**< DMA_DONE0 output assigned to XBARB2_IN82 input. */
  792. kXBARB2_InputDmaDone1 = 83|0x200U, /**< DMA_DONE1 output assigned to XBARB2_IN83 input. */
  793. kXBARB2_InputDmaDone2 = 84|0x200U, /**< DMA_DONE2 output assigned to XBARB2_IN84 input. */
  794. kXBARB2_InputDmaDone3 = 85|0x200U, /**< DMA_DONE3 output assigned to XBARB2_IN85 input. */
  795. kXBARB2_InputDmaDone4 = 86|0x200U, /**< DMA_DONE4 output assigned to XBARB2_IN86 input. */
  796. kXBARB2_InputDmaDone5 = 87|0x200U, /**< DMA_DONE5 output assigned to XBARB2_IN87 input. */
  797. kXBARB2_InputDmaDone6 = 88|0x200U, /**< DMA_DONE6 output assigned to XBARB2_IN88 input. */
  798. kXBARB2_InputDmaDone7 = 89|0x200U, /**< DMA_DONE7 output assigned to XBARB2_IN89 input. */
  799. kXBARB2_InputDmaLpsrDone0 = 90|0x200U, /**< DMA_LPSR_DONE0 output assigned to XBARB2_IN90 input. */
  800. kXBARB2_InputDmaLpsrDone1 = 91|0x200U, /**< DMA_LPSR_DONE1 output assigned to XBARB2_IN91 input. */
  801. kXBARB2_InputDmaLpsrDone2 = 92|0x200U, /**< DMA_LPSR_DONE2 output assigned to XBARB2_IN92 input. */
  802. kXBARB2_InputDmaLpsrDone3 = 93|0x200U, /**< DMA_LPSR_DONE3 output assigned to XBARB2_IN93 input. */
  803. kXBARB2_InputDmaLpsrDone4 = 94|0x200U, /**< DMA_LPSR_DONE4 output assigned to XBARB2_IN94 input. */
  804. kXBARB2_InputDmaLpsrDone5 = 95|0x200U, /**< DMA_LPSR_DONE5 output assigned to XBARB2_IN95 input. */
  805. kXBARB2_InputDmaLpsrDone6 = 96|0x200U, /**< DMA_LPSR_DONE6 output assigned to XBARB2_IN96 input. */
  806. kXBARB2_InputDmaLpsrDone7 = 97|0x200U, /**< DMA_LPSR_DONE7 output assigned to XBARB2_IN97 input. */
  807. kXBARB3_InputLogicLow = 0|0x300U, /**< LOGIC_LOW output assigned to XBARB3_IN0 input. */
  808. kXBARB3_InputLogicHigh = 1|0x300U, /**< LOGIC_HIGH output assigned to XBARB3_IN1 input. */
  809. kXBARB3_InputAcmp1Out = 2|0x300U, /**< ACMP1_OUT output assigned to XBARB3_IN2 input. */
  810. kXBARB3_InputAcmp2Out = 3|0x300U, /**< ACMP2_OUT output assigned to XBARB3_IN3 input. */
  811. kXBARB3_InputAcmp3Out = 4|0x300U, /**< ACMP3_OUT output assigned to XBARB3_IN4 input. */
  812. kXBARB3_InputAcmp4Out = 5|0x300U, /**< ACMP4_OUT output assigned to XBARB3_IN5 input. */
  813. kXBARB3_InputRESERVED6 = 6|0x300U, /**< XBARB3_IN6 input is reserved. */
  814. kXBARB3_InputRESERVED7 = 7|0x300U, /**< XBARB3_IN7 input is reserved. */
  815. kXBARB3_InputRESERVED8 = 8|0x300U, /**< XBARB3_IN8 input is reserved. */
  816. kXBARB3_InputRESERVED9 = 9|0x300U, /**< XBARB3_IN9 input is reserved. */
  817. kXBARB3_InputQtimer1Timer0 = 10|0x300U, /**< QTIMER1_TIMER0 output assigned to XBARB3_IN10 input. */
  818. kXBARB3_InputQtimer1Timer1 = 11|0x300U, /**< QTIMER1_TIMER1 output assigned to XBARB3_IN11 input. */
  819. kXBARB3_InputQtimer1Timer2 = 12|0x300U, /**< QTIMER1_TIMER2 output assigned to XBARB3_IN12 input. */
  820. kXBARB3_InputQtimer1Timer3 = 13|0x300U, /**< QTIMER1_TIMER3 output assigned to XBARB3_IN13 input. */
  821. kXBARB3_InputQtimer2Timer0 = 14|0x300U, /**< QTIMER2_TIMER0 output assigned to XBARB3_IN14 input. */
  822. kXBARB3_InputQtimer2Timer1 = 15|0x300U, /**< QTIMER2_TIMER1 output assigned to XBARB3_IN15 input. */
  823. kXBARB3_InputQtimer2Timer2 = 16|0x300U, /**< QTIMER2_TIMER2 output assigned to XBARB3_IN16 input. */
  824. kXBARB3_InputQtimer2Timer3 = 17|0x300U, /**< QTIMER2_TIMER3 output assigned to XBARB3_IN17 input. */
  825. kXBARB3_InputQtimer3Timer0 = 18|0x300U, /**< QTIMER3_TIMER0 output assigned to XBARB3_IN18 input. */
  826. kXBARB3_InputQtimer3Timer1 = 19|0x300U, /**< QTIMER3_TIMER1 output assigned to XBARB3_IN19 input. */
  827. kXBARB3_InputQtimer3Timer2 = 20|0x300U, /**< QTIMER3_TIMER2 output assigned to XBARB3_IN20 input. */
  828. kXBARB3_InputQtimer3Timer3 = 21|0x300U, /**< QTIMER3_TIMER3 output assigned to XBARB3_IN21 input. */
  829. kXBARB3_InputQtimer4Timer0 = 22|0x300U, /**< QTIMER4_TIMER0 output assigned to XBARB3_IN22 input. */
  830. kXBARB3_InputQtimer4Timer1 = 23|0x300U, /**< QTIMER4_TIMER1 output assigned to XBARB3_IN23 input. */
  831. kXBARB3_InputQtimer4Timer2 = 24|0x300U, /**< QTIMER4_TIMER2 output assigned to XBARB3_IN24 input. */
  832. kXBARB3_InputQtimer4Timer3 = 25|0x300U, /**< QTIMER4_TIMER3 output assigned to XBARB3_IN25 input. */
  833. kXBARB3_InputRESERVED26 = 26|0x300U, /**< XBARB3_IN26 input is reserved. */
  834. kXBARB3_InputRESERVED27 = 27|0x300U, /**< XBARB3_IN27 input is reserved. */
  835. kXBARB3_InputRESERVED28 = 28|0x300U, /**< XBARB3_IN28 input is reserved. */
  836. kXBARB3_InputRESERVED29 = 29|0x300U, /**< XBARB3_IN29 input is reserved. */
  837. kXBARB3_InputRESERVED30 = 30|0x300U, /**< XBARB3_IN30 input is reserved. */
  838. kXBARB3_InputRESERVED31 = 31|0x300U, /**< XBARB3_IN31 input is reserved. */
  839. kXBARB3_InputRESERVED32 = 32|0x300U, /**< XBARB3_IN32 input is reserved. */
  840. kXBARB3_InputRESERVED33 = 33|0x300U, /**< XBARB3_IN33 input is reserved. */
  841. kXBARB3_InputFlexpwm1Pwm0OutTrig01 = 34|0x300U, /**< FLEXPWM1_PWM0_OUT_TRIG0_1 output assigned to XBARB3_IN34 input. */
  842. kXBARB3_InputFlexpwm1Pwm1OutTrig01 = 35|0x300U, /**< FLEXPWM1_PWM1_OUT_TRIG0_1 output assigned to XBARB3_IN35 input. */
  843. kXBARB3_InputFlexpwm1Pwm2OutTrig01 = 36|0x300U, /**< FLEXPWM1_PWM2_OUT_TRIG0_1 output assigned to XBARB3_IN36 input. */
  844. kXBARB3_InputFlexpwm1Pwm3OutTrig01 = 37|0x300U, /**< FLEXPWM1_PWM3_OUT_TRIG0_1 output assigned to XBARB3_IN37 input. */
  845. kXBARB3_InputFlexpwm2Pwm0OutTrig01 = 38|0x300U, /**< FLEXPWM2_PWM0_OUT_TRIG0_1 output assigned to XBARB3_IN38 input. */
  846. kXBARB3_InputFlexpwm2Pwm1OutTrig01 = 39|0x300U, /**< FLEXPWM2_PWM1_OUT_TRIG0_1 output assigned to XBARB3_IN39 input. */
  847. kXBARB3_InputFlexpwm2Pwm2OutTrig01 = 40|0x300U, /**< FLEXPWM2_PWM2_OUT_TRIG0_1 output assigned to XBARB3_IN40 input. */
  848. kXBARB3_InputFlexpwm2Pwm3OutTrig01 = 41|0x300U, /**< FLEXPWM2_PWM3_OUT_TRIG0_1 output assigned to XBARB3_IN41 input. */
  849. kXBARB3_InputFlexpwm3Pwm0OutTrig01 = 42|0x300U, /**< FLEXPWM3_PWM0_OUT_TRIG0_1 output assigned to XBARB3_IN42 input. */
  850. kXBARB3_InputFlexpwm3Pwm1OutTrig01 = 43|0x300U, /**< FLEXPWM3_PWM1_OUT_TRIG0_1 output assigned to XBARB3_IN43 input. */
  851. kXBARB3_InputFlexpwm3Pwm2OutTrig01 = 44|0x300U, /**< FLEXPWM3_PWM2_OUT_TRIG0_1 output assigned to XBARB3_IN44 input. */
  852. kXBARB3_InputFlexpwm3Pwm3OutTrig01 = 45|0x300U, /**< FLEXPWM3_PWM3_OUT_TRIG0_1 output assigned to XBARB3_IN45 input. */
  853. kXBARB3_InputFlexpwm4Pwm0OutTrig01 = 46|0x300U, /**< FLEXPWM4_PWM0_OUT_TRIG0_1 output assigned to XBARB3_IN46 input. */
  854. kXBARB3_InputFlexpwm4Pwm1OutTrig01 = 47|0x300U, /**< FLEXPWM4_PWM1_OUT_TRIG0_1 output assigned to XBARB3_IN47 input. */
  855. kXBARB3_InputFlexpwm4Pwm2OutTrig01 = 48|0x300U, /**< FLEXPWM4_PWM2_OUT_TRIG0_1 output assigned to XBARB3_IN48 input. */
  856. kXBARB3_InputFlexpwm4Pwm3OutTrig01 = 49|0x300U, /**< FLEXPWM4_PWM3_OUT_TRIG0_1 output assigned to XBARB3_IN49 input. */
  857. kXBARB3_InputRESERVED50 = 50|0x300U, /**< XBARB3_IN50 input is reserved. */
  858. kXBARB3_InputRESERVED51 = 51|0x300U, /**< XBARB3_IN51 input is reserved. */
  859. kXBARB3_InputRESERVED52 = 52|0x300U, /**< XBARB3_IN52 input is reserved. */
  860. kXBARB3_InputRESERVED53 = 53|0x300U, /**< XBARB3_IN53 input is reserved. */
  861. kXBARB3_InputRESERVED54 = 54|0x300U, /**< XBARB3_IN54 input is reserved. */
  862. kXBARB3_InputRESERVED55 = 55|0x300U, /**< XBARB3_IN55 input is reserved. */
  863. kXBARB3_InputRESERVED56 = 56|0x300U, /**< XBARB3_IN56 input is reserved. */
  864. kXBARB3_InputRESERVED57 = 57|0x300U, /**< XBARB3_IN57 input is reserved. */
  865. kXBARB3_InputPit1Trigger0 = 58|0x300U, /**< PIT1_TRIGGER0 output assigned to XBARB3_IN58 input. */
  866. kXBARB3_InputPit1Trigger1 = 59|0x300U, /**< PIT1_TRIGGER1 output assigned to XBARB3_IN59 input. */
  867. kXBARB3_InputAdcEtc0Coco0 = 60|0x300U, /**< ADC_ETC0_COCO0 output assigned to XBARB3_IN60 input. */
  868. kXBARB3_InputAdcEtc0Coco1 = 61|0x300U, /**< ADC_ETC0_COCO1 output assigned to XBARB3_IN61 input. */
  869. kXBARB3_InputAdcEtc0Coco2 = 62|0x300U, /**< ADC_ETC0_COCO2 output assigned to XBARB3_IN62 input. */
  870. kXBARB3_InputAdcEtc0Coco3 = 63|0x300U, /**< ADC_ETC0_COCO3 output assigned to XBARB3_IN63 input. */
  871. kXBARB3_InputAdcEtc1Coco0 = 64|0x300U, /**< ADC_ETC1_COCO0 output assigned to XBARB3_IN64 input. */
  872. kXBARB3_InputAdcEtc1Coco1 = 65|0x300U, /**< ADC_ETC1_COCO1 output assigned to XBARB3_IN65 input. */
  873. kXBARB3_InputAdcEtc1Coco2 = 66|0x300U, /**< ADC_ETC1_COCO2 output assigned to XBARB3_IN66 input. */
  874. kXBARB3_InputAdcEtc1Coco3 = 67|0x300U, /**< ADC_ETC1_COCO3 output assigned to XBARB3_IN67 input. */
  875. kXBARB3_InputRESERVED68 = 68|0x300U, /**< XBARB3_IN68 input is reserved. */
  876. kXBARB3_InputRESERVED69 = 69|0x300U, /**< XBARB3_IN69 input is reserved. */
  877. kXBARB3_InputRESERVED70 = 70|0x300U, /**< XBARB3_IN70 input is reserved. */
  878. kXBARB3_InputRESERVED71 = 71|0x300U, /**< XBARB3_IN71 input is reserved. */
  879. kXBARB3_InputRESERVED72 = 72|0x300U, /**< XBARB3_IN72 input is reserved. */
  880. kXBARB3_InputRESERVED73 = 73|0x300U, /**< XBARB3_IN73 input is reserved. */
  881. kXBARB3_InputRESERVED74 = 74|0x300U, /**< XBARB3_IN74 input is reserved. */
  882. kXBARB3_InputRESERVED75 = 75|0x300U, /**< XBARB3_IN75 input is reserved. */
  883. kXBARB3_InputDec1PosMatch = 76|0x300U, /**< DEC1_POS_MATCH output assigned to XBARB3_IN76 input. */
  884. kXBARB3_InputDec2PosMatch = 77|0x300U, /**< DEC2_POS_MATCH output assigned to XBARB3_IN77 input. */
  885. kXBARB3_InputDec3PosMatch = 78|0x300U, /**< DEC3_POS_MATCH output assigned to XBARB3_IN78 input. */
  886. kXBARB3_InputDec4PosMatch = 79|0x300U, /**< DEC4_POS_MATCH output assigned to XBARB3_IN79 input. */
  887. kXBARB3_InputRESERVED80 = 80|0x300U, /**< XBARB3_IN80 input is reserved. */
  888. kXBARB3_InputRESERVED81 = 81|0x300U, /**< XBARB3_IN81 input is reserved. */
  889. kXBARB3_InputDmaDone0 = 82|0x300U, /**< DMA_DONE0 output assigned to XBARB3_IN82 input. */
  890. kXBARB3_InputDmaDone1 = 83|0x300U, /**< DMA_DONE1 output assigned to XBARB3_IN83 input. */
  891. kXBARB3_InputDmaDone2 = 84|0x300U, /**< DMA_DONE2 output assigned to XBARB3_IN84 input. */
  892. kXBARB3_InputDmaDone3 = 85|0x300U, /**< DMA_DONE3 output assigned to XBARB3_IN85 input. */
  893. kXBARB3_InputDmaDone4 = 86|0x300U, /**< DMA_DONE4 output assigned to XBARB3_IN86 input. */
  894. kXBARB3_InputDmaDone5 = 87|0x300U, /**< DMA_DONE5 output assigned to XBARB3_IN87 input. */
  895. kXBARB3_InputDmaDone6 = 88|0x300U, /**< DMA_DONE6 output assigned to XBARB3_IN88 input. */
  896. kXBARB3_InputDmaDone7 = 89|0x300U, /**< DMA_DONE7 output assigned to XBARB3_IN89 input. */
  897. kXBARB3_InputDmaLpsrDone0 = 90|0x300U, /**< DMA_LPSR_DONE0 output assigned to XBARB3_IN90 input. */
  898. kXBARB3_InputDmaLpsrDone1 = 91|0x300U, /**< DMA_LPSR_DONE1 output assigned to XBARB3_IN91 input. */
  899. kXBARB3_InputDmaLpsrDone2 = 92|0x300U, /**< DMA_LPSR_DONE2 output assigned to XBARB3_IN92 input. */
  900. kXBARB3_InputDmaLpsrDone3 = 93|0x300U, /**< DMA_LPSR_DONE3 output assigned to XBARB3_IN93 input. */
  901. kXBARB3_InputDmaLpsrDone4 = 94|0x300U, /**< DMA_LPSR_DONE4 output assigned to XBARB3_IN94 input. */
  902. kXBARB3_InputDmaLpsrDone5 = 95|0x300U, /**< DMA_LPSR_DONE5 output assigned to XBARB3_IN95 input. */
  903. kXBARB3_InputDmaLpsrDone6 = 96|0x300U, /**< DMA_LPSR_DONE6 output assigned to XBARB3_IN96 input. */
  904. kXBARB3_InputDmaLpsrDone7 = 97|0x300U, /**< DMA_LPSR_DONE7 output assigned to XBARB3_IN97 input. */
  905. } xbar_input_signal_t;
  906. typedef enum _xbar_output_signal
  907. {
  908. kXBARA1_OutputDmaChMuxReq81 = 0|0x100U, /**< XBARA1_OUT0 output assigned to DMA_CH_MUX_REQ81 */
  909. kXBARA1_OutputDmaChMuxReq82 = 1|0x100U, /**< XBARA1_OUT1 output assigned to DMA_CH_MUX_REQ82 */
  910. kXBARA1_OutputDmaChMuxReq83 = 2|0x100U, /**< XBARA1_OUT2 output assigned to DMA_CH_MUX_REQ83 */
  911. kXBARA1_OutputDmaChMuxReq84 = 3|0x100U, /**< XBARA1_OUT3 output assigned to DMA_CH_MUX_REQ84 */
  912. kXBARA1_OutputIomuxXbarInout04 = 4|0x100U, /**< XBARA1_OUT4 output assigned to IOMUX_XBAR_INOUT04 */
  913. kXBARA1_OutputIomuxXbarInout05 = 5|0x100U, /**< XBARA1_OUT5 output assigned to IOMUX_XBAR_INOUT05 */
  914. kXBARA1_OutputIomuxXbarInout06 = 6|0x100U, /**< XBARA1_OUT6 output assigned to IOMUX_XBAR_INOUT06 */
  915. kXBARA1_OutputIomuxXbarInout07 = 7|0x100U, /**< XBARA1_OUT7 output assigned to IOMUX_XBAR_INOUT07 */
  916. kXBARA1_OutputIomuxXbarInout08 = 8|0x100U, /**< XBARA1_OUT8 output assigned to IOMUX_XBAR_INOUT08 */
  917. kXBARA1_OutputIomuxXbarInout09 = 9|0x100U, /**< XBARA1_OUT9 output assigned to IOMUX_XBAR_INOUT09 */
  918. kXBARA1_OutputIomuxXbarInout10 = 10|0x100U, /**< XBARA1_OUT10 output assigned to IOMUX_XBAR_INOUT10 */
  919. kXBARA1_OutputIomuxXbarInout11 = 11|0x100U, /**< XBARA1_OUT11 output assigned to IOMUX_XBAR_INOUT11 */
  920. kXBARA1_OutputIomuxXbarInout12 = 12|0x100U, /**< XBARA1_OUT12 output assigned to IOMUX_XBAR_INOUT12 */
  921. kXBARA1_OutputIomuxXbarInout13 = 13|0x100U, /**< XBARA1_OUT13 output assigned to IOMUX_XBAR_INOUT13 */
  922. kXBARA1_OutputIomuxXbarInout14 = 14|0x100U, /**< XBARA1_OUT14 output assigned to IOMUX_XBAR_INOUT14 */
  923. kXBARA1_OutputIomuxXbarInout15 = 15|0x100U, /**< XBARA1_OUT15 output assigned to IOMUX_XBAR_INOUT15 */
  924. kXBARA1_OutputIomuxXbarInout16 = 16|0x100U, /**< XBARA1_OUT16 output assigned to IOMUX_XBAR_INOUT16 */
  925. kXBARA1_OutputIomuxXbarInout17 = 17|0x100U, /**< XBARA1_OUT17 output assigned to IOMUX_XBAR_INOUT17 */
  926. kXBARA1_OutputIomuxXbarInout18 = 18|0x100U, /**< XBARA1_OUT18 output assigned to IOMUX_XBAR_INOUT18 */
  927. kXBARA1_OutputIomuxXbarInout19 = 19|0x100U, /**< XBARA1_OUT19 output assigned to IOMUX_XBAR_INOUT19 */
  928. kXBARA1_OutputIomuxXbarInout20 = 20|0x100U, /**< XBARA1_OUT20 output assigned to IOMUX_XBAR_INOUT20 */
  929. kXBARA1_OutputIomuxXbarInout21 = 21|0x100U, /**< XBARA1_OUT21 output assigned to IOMUX_XBAR_INOUT21 */
  930. kXBARA1_OutputIomuxXbarInout22 = 22|0x100U, /**< XBARA1_OUT22 output assigned to IOMUX_XBAR_INOUT22 */
  931. kXBARA1_OutputIomuxXbarInout23 = 23|0x100U, /**< XBARA1_OUT23 output assigned to IOMUX_XBAR_INOUT23 */
  932. kXBARA1_OutputIomuxXbarInout24 = 24|0x100U, /**< XBARA1_OUT24 output assigned to IOMUX_XBAR_INOUT24 */
  933. kXBARA1_OutputIomuxXbarInout25 = 25|0x100U, /**< XBARA1_OUT25 output assigned to IOMUX_XBAR_INOUT25 */
  934. kXBARA1_OutputIomuxXbarInout26 = 26|0x100U, /**< XBARA1_OUT26 output assigned to IOMUX_XBAR_INOUT26 */
  935. kXBARA1_OutputIomuxXbarInout27 = 27|0x100U, /**< XBARA1_OUT27 output assigned to IOMUX_XBAR_INOUT27 */
  936. kXBARA1_OutputIomuxXbarInout28 = 28|0x100U, /**< XBARA1_OUT28 output assigned to IOMUX_XBAR_INOUT28 */
  937. kXBARA1_OutputIomuxXbarInout29 = 29|0x100U, /**< XBARA1_OUT29 output assigned to IOMUX_XBAR_INOUT29 */
  938. kXBARA1_OutputIomuxXbarInout30 = 30|0x100U, /**< XBARA1_OUT30 output assigned to IOMUX_XBAR_INOUT30 */
  939. kXBARA1_OutputIomuxXbarInout31 = 31|0x100U, /**< XBARA1_OUT31 output assigned to IOMUX_XBAR_INOUT31 */
  940. kXBARA1_OutputIomuxXbarInout32 = 32|0x100U, /**< XBARA1_OUT32 output assigned to IOMUX_XBAR_INOUT32 */
  941. kXBARA1_OutputIomuxXbarInout33 = 33|0x100U, /**< XBARA1_OUT33 output assigned to IOMUX_XBAR_INOUT33 */
  942. kXBARA1_OutputIomuxXbarInout34 = 34|0x100U, /**< XBARA1_OUT34 output assigned to IOMUX_XBAR_INOUT34 */
  943. kXBARA1_OutputIomuxXbarInout35 = 35|0x100U, /**< XBARA1_OUT35 output assigned to IOMUX_XBAR_INOUT35 */
  944. kXBARA1_OutputIomuxXbarInout36 = 36|0x100U, /**< XBARA1_OUT36 output assigned to IOMUX_XBAR_INOUT36 */
  945. kXBARA1_OutputIomuxXbarInout37 = 37|0x100U, /**< XBARA1_OUT37 output assigned to IOMUX_XBAR_INOUT37 */
  946. kXBARA1_OutputIomuxXbarInout38 = 38|0x100U, /**< XBARA1_OUT38 output assigned to IOMUX_XBAR_INOUT38 */
  947. kXBARA1_OutputIomuxXbarInout39 = 39|0x100U, /**< XBARA1_OUT39 output assigned to IOMUX_XBAR_INOUT39 */
  948. kXBARA1_OutputIomuxXbarInout40 = 40|0x100U, /**< XBARA1_OUT40 output assigned to IOMUX_XBAR_INOUT40 */
  949. kXBARA1_OutputAcmp1Sample = 41|0x100U, /**< XBARA1_OUT41 output assigned to ACMP1_SAMPLE */
  950. kXBARA1_OutputAcmp2Sample = 42|0x100U, /**< XBARA1_OUT42 output assigned to ACMP2_SAMPLE */
  951. kXBARA1_OutputAcmp3Sample = 43|0x100U, /**< XBARA1_OUT43 output assigned to ACMP3_SAMPLE */
  952. kXBARA1_OutputAcmp4Sample = 44|0x100U, /**< XBARA1_OUT44 output assigned to ACMP4_SAMPLE */
  953. kXBARA1_OutputRESERVED45 = 45|0x100U, /**< XBARA1_OUT45 output is reserved. */
  954. kXBARA1_OutputRESERVED46 = 46|0x100U, /**< XBARA1_OUT46 output is reserved. */
  955. kXBARA1_OutputRESERVED47 = 47|0x100U, /**< XBARA1_OUT47 output is reserved. */
  956. kXBARA1_OutputRESERVED48 = 48|0x100U, /**< XBARA1_OUT48 output is reserved. */
  957. kXBARA1_OutputFlexpwm1Pwm0Exta = 49|0x100U, /**< XBARA1_OUT49 output assigned to FLEXPWM1_PWM0_EXTA */
  958. kXBARA1_OutputFlexpwm1Pwm1Exta = 50|0x100U, /**< XBARA1_OUT50 output assigned to FLEXPWM1_PWM1_EXTA */
  959. kXBARA1_OutputFlexpwm1Pwm2Exta = 51|0x100U, /**< XBARA1_OUT51 output assigned to FLEXPWM1_PWM2_EXTA */
  960. kXBARA1_OutputFlexpwm1Pwm3Exta = 52|0x100U, /**< XBARA1_OUT52 output assigned to FLEXPWM1_PWM3_EXTA */
  961. kXBARA1_OutputFlexpwm1Pwm0ExtSync = 53|0x100U, /**< XBARA1_OUT53 output assigned to FLEXPWM1_PWM0_EXT_SYNC */
  962. kXBARA1_OutputFlexpwm1Pwm1ExtSync = 54|0x100U, /**< XBARA1_OUT54 output assigned to FLEXPWM1_PWM1_EXT_SYNC */
  963. kXBARA1_OutputFlexpwm1Pwm2ExtSync = 55|0x100U, /**< XBARA1_OUT55 output assigned to FLEXPWM1_PWM2_EXT_SYNC */
  964. kXBARA1_OutputFlexpwm1Pwm3ExtSync = 56|0x100U, /**< XBARA1_OUT56 output assigned to FLEXPWM1_PWM3_EXT_SYNC */
  965. kXBARA1_OutputFlexpwm1ExtClk = 57|0x100U, /**< XBARA1_OUT57 output assigned to FLEXPWM1_EXT_CLK */
  966. kXBARA1_OutputFlexpwm1Fault0 = 58|0x100U, /**< XBARA1_OUT58 output assigned to FLEXPWM1_FAULT0 */
  967. kXBARA1_OutputFlexpwm1Fault1 = 59|0x100U, /**< XBARA1_OUT59 output assigned to FLEXPWM1_FAULT1 */
  968. kXBARA1_OutputFlexpwm1234Fault2 = 60|0x100U, /**< XBARA1_OUT60 output assigned to FLEXPWM1_2_3_4_FAULT2 */
  969. kXBARA1_OutputFlexpwm1234Fault3 = 61|0x100U, /**< XBARA1_OUT61 output assigned to FLEXPWM1_2_3_4_FAULT3 */
  970. kXBARA1_OutputFlexpwm1ExtForce = 62|0x100U, /**< XBARA1_OUT62 output assigned to FLEXPWM1_EXT_FORCE */
  971. kXBARA1_OutputFlexpwm2Pwm0Exta = 63|0x100U, /**< XBARA1_OUT63 output assigned to FLEXPWM2_PWM0_EXTA */
  972. kXBARA1_OutputFlexpwm2Pwm1Exta = 64|0x100U, /**< XBARA1_OUT64 output assigned to FLEXPWM2_PWM1_EXTA */
  973. kXBARA1_OutputFlexpwm2Pwm2Exta = 65|0x100U, /**< XBARA1_OUT65 output assigned to FLEXPWM2_PWM2_EXTA */
  974. kXBARA1_OutputFlexpwm2Pwm3Exta = 66|0x100U, /**< XBARA1_OUT66 output assigned to FLEXPWM2_PWM3_EXTA */
  975. kXBARA1_OutputFlexpwm2Pwm0ExtSync = 67|0x100U, /**< XBARA1_OUT67 output assigned to FLEXPWM2_PWM0_EXT_SYNC */
  976. kXBARA1_OutputFlexpwm2Pwm1ExtSync = 68|0x100U, /**< XBARA1_OUT68 output assigned to FLEXPWM2_PWM1_EXT_SYNC */
  977. kXBARA1_OutputFlexpwm2Pwm2ExtSync = 69|0x100U, /**< XBARA1_OUT69 output assigned to FLEXPWM2_PWM2_EXT_SYNC */
  978. kXBARA1_OutputFlexpwm2Pwm3ExtSync = 70|0x100U, /**< XBARA1_OUT70 output assigned to FLEXPWM2_PWM3_EXT_SYNC */
  979. kXBARA1_OutputFlexpwm2ExtClk = 71|0x100U, /**< XBARA1_OUT71 output assigned to FLEXPWM2_EXT_CLK */
  980. kXBARA1_OutputFlexpwm2Fault0 = 72|0x100U, /**< XBARA1_OUT72 output assigned to FLEXPWM2_FAULT0 */
  981. kXBARA1_OutputFlexpwm2Fault1 = 73|0x100U, /**< XBARA1_OUT73 output assigned to FLEXPWM2_FAULT1 */
  982. kXBARA1_OutputFlexpwm2ExtForce = 74|0x100U, /**< XBARA1_OUT74 output assigned to FLEXPWM2_EXT_FORCE */
  983. kXBARA1_OutputFlexpwm34Pwm0Exta = 75|0x100U, /**< XBARA1_OUT75 output assigned to FLEXPWM3_4_PWM0_EXTA */
  984. kXBARA1_OutputFlexpwm34Pwm1Exta = 76|0x100U, /**< XBARA1_OUT76 output assigned to FLEXPWM3_4_PWM1_EXTA */
  985. kXBARA1_OutputFlexpwm34Pwm2Exta = 77|0x100U, /**< XBARA1_OUT77 output assigned to FLEXPWM3_4_PWM2_EXTA */
  986. kXBARA1_OutputFlexpwm34Pwm3Exta = 78|0x100U, /**< XBARA1_OUT78 output assigned to FLEXPWM3_4_PWM3_EXTA */
  987. kXBARA1_OutputFlexpwm34ExtClk = 79|0x100U, /**< XBARA1_OUT79 output assigned to FLEXPWM3_4_EXT_CLK */
  988. kXBARA1_OutputFlexpwm3Pwm0ExtSync = 80|0x100U, /**< XBARA1_OUT80 output assigned to FLEXPWM3_PWM0_EXT_SYNC */
  989. kXBARA1_OutputFlexpwm3Pwm1ExtSync = 81|0x100U, /**< XBARA1_OUT81 output assigned to FLEXPWM3_PWM1_EXT_SYNC */
  990. kXBARA1_OutputFlexpwm3Pwm2ExtSync = 82|0x100U, /**< XBARA1_OUT82 output assigned to FLEXPWM3_PWM2_EXT_SYNC */
  991. kXBARA1_OutputFlexpwm3Pwm3ExtSync = 83|0x100U, /**< XBARA1_OUT83 output assigned to FLEXPWM3_PWM3_EXT_SYNC */
  992. kXBARA1_OutputFlexpwm3Fault0 = 84|0x100U, /**< XBARA1_OUT84 output assigned to FLEXPWM3_FAULT0 */
  993. kXBARA1_OutputFlexpwm3Fault1 = 85|0x100U, /**< XBARA1_OUT85 output assigned to FLEXPWM3_FAULT1 */
  994. kXBARA1_OutputFlexpwm3ExtForce = 86|0x100U, /**< XBARA1_OUT86 output assigned to FLEXPWM3_EXT_FORCE */
  995. kXBARA1_OutputFlexpwm4Pwm0ExtSync = 87|0x100U, /**< XBARA1_OUT87 output assigned to FLEXPWM4_PWM0_EXT_SYNC */
  996. kXBARA1_OutputFlexpwm4Pwm1ExtSync = 88|0x100U, /**< XBARA1_OUT88 output assigned to FLEXPWM4_PWM1_EXT_SYNC */
  997. kXBARA1_OutputFlexpwm4Pwm2ExtSync = 89|0x100U, /**< XBARA1_OUT89 output assigned to FLEXPWM4_PWM2_EXT_SYNC */
  998. kXBARA1_OutputFlexpwm4Pwm3ExtSync = 90|0x100U, /**< XBARA1_OUT90 output assigned to FLEXPWM4_PWM3_EXT_SYNC */
  999. kXBARA1_OutputFlexpwm4Fault0 = 91|0x100U, /**< XBARA1_OUT91 output assigned to FLEXPWM4_FAULT0 */
  1000. kXBARA1_OutputFlexpwm4Fault1 = 92|0x100U, /**< XBARA1_OUT92 output assigned to FLEXPWM4_FAULT1 */
  1001. kXBARA1_OutputFlexpwm4ExtForce = 93|0x100U, /**< XBARA1_OUT93 output assigned to FLEXPWM4_EXT_FORCE */
  1002. kXBARA1_OutputRESERVED94 = 94|0x100U, /**< XBARA1_OUT94 output is reserved. */
  1003. kXBARA1_OutputRESERVED95 = 95|0x100U, /**< XBARA1_OUT95 output is reserved. */
  1004. kXBARA1_OutputRESERVED96 = 96|0x100U, /**< XBARA1_OUT96 output is reserved. */
  1005. kXBARA1_OutputRESERVED97 = 97|0x100U, /**< XBARA1_OUT97 output is reserved. */
  1006. kXBARA1_OutputRESERVED98 = 98|0x100U, /**< XBARA1_OUT98 output is reserved. */
  1007. kXBARA1_OutputRESERVED99 = 99|0x100U, /**< XBARA1_OUT99 output is reserved. */
  1008. kXBARA1_OutputRESERVED100 = 100|0x100U, /**< XBARA1_OUT100 output is reserved. */
  1009. kXBARA1_OutputRESERVED101 = 101|0x100U, /**< XBARA1_OUT101 output is reserved. */
  1010. kXBARA1_OutputRESERVED102 = 102|0x100U, /**< XBARA1_OUT102 output is reserved. */
  1011. kXBARA1_OutputRESERVED103 = 103|0x100U, /**< XBARA1_OUT103 output is reserved. */
  1012. kXBARA1_OutputRESERVED104 = 104|0x100U, /**< XBARA1_OUT104 output is reserved. */
  1013. kXBARA1_OutputRESERVED105 = 105|0x100U, /**< XBARA1_OUT105 output is reserved. */
  1014. kXBARA1_OutputRESERVED106 = 106|0x100U, /**< XBARA1_OUT106 output is reserved. */
  1015. kXBARA1_OutputRESERVED107 = 107|0x100U, /**< XBARA1_OUT107 output is reserved. */
  1016. kXBARA1_OutputDec1Phasea = 108|0x100U, /**< XBARA1_OUT108 output assigned to DEC1_PHASEA */
  1017. kXBARA1_OutputDec1Phaseb = 109|0x100U, /**< XBARA1_OUT109 output assigned to DEC1_PHASEB */
  1018. kXBARA1_OutputDec1Index = 110|0x100U, /**< XBARA1_OUT110 output assigned to DEC1_INDEX */
  1019. kXBARA1_OutputDec1Home = 111|0x100U, /**< XBARA1_OUT111 output assigned to DEC1_HOME */
  1020. kXBARA1_OutputDec1Trigger = 112|0x100U, /**< XBARA1_OUT112 output assigned to DEC1_TRIGGER */
  1021. kXBARA1_OutputDec2Phasea = 113|0x100U, /**< XBARA1_OUT113 output assigned to DEC2_PHASEA */
  1022. kXBARA1_OutputDec2Phaseb = 114|0x100U, /**< XBARA1_OUT114 output assigned to DEC2_PHASEB */
  1023. kXBARA1_OutputDec2Index = 115|0x100U, /**< XBARA1_OUT115 output assigned to DEC2_INDEX */
  1024. kXBARA1_OutputDec2Home = 116|0x100U, /**< XBARA1_OUT116 output assigned to DEC2_HOME */
  1025. kXBARA1_OutputDec2Trigger = 117|0x100U, /**< XBARA1_OUT117 output assigned to DEC2_TRIGGER */
  1026. kXBARA1_OutputDec3Phasea = 118|0x100U, /**< XBARA1_OUT118 output assigned to DEC3_PHASEA */
  1027. kXBARA1_OutputDec3Phaseb = 119|0x100U, /**< XBARA1_OUT119 output assigned to DEC3_PHASEB */
  1028. kXBARA1_OutputDec3Index = 120|0x100U, /**< XBARA1_OUT120 output assigned to DEC3_INDEX */
  1029. kXBARA1_OutputDec3Home = 121|0x100U, /**< XBARA1_OUT121 output assigned to DEC3_HOME */
  1030. kXBARA1_OutputDec3Trigger = 122|0x100U, /**< XBARA1_OUT122 output assigned to DEC3_TRIGGER */
  1031. kXBARA1_OutputDec4Phasea = 123|0x100U, /**< XBARA1_OUT123 output assigned to DEC4_PHASEA */
  1032. kXBARA1_OutputDec4Phaseb = 124|0x100U, /**< XBARA1_OUT124 output assigned to DEC4_PHASEB */
  1033. kXBARA1_OutputDec4Index = 125|0x100U, /**< XBARA1_OUT125 output assigned to DEC4_INDEX */
  1034. kXBARA1_OutputDec4Home = 126|0x100U, /**< XBARA1_OUT126 output assigned to DEC4_HOME */
  1035. kXBARA1_OutputDec4Trigger = 127|0x100U, /**< XBARA1_OUT127 output assigned to DEC4_TRIGGER */
  1036. kXBARA1_OutputRESERVED128 = 128|0x100U, /**< XBARA1_OUT128 output is reserved. */
  1037. kXBARA1_OutputRESERVED129 = 129|0x100U, /**< XBARA1_OUT129 output is reserved. */
  1038. kXBARA1_OutputRESERVED130 = 130|0x100U, /**< XBARA1_OUT130 output is reserved. */
  1039. kXBARA1_OutputRESERVED131 = 131|0x100U, /**< XBARA1_OUT131 output is reserved. */
  1040. kXBARA1_OutputCan1 = 132|0x100U, /**< XBARA1_OUT132 output assigned to CAN1 */
  1041. kXBARA1_OutputCan2 = 133|0x100U, /**< XBARA1_OUT133 output assigned to CAN2 */
  1042. kXBARA1_OutputRESERVED134 = 134|0x100U, /**< XBARA1_OUT134 output is reserved. */
  1043. kXBARA1_OutputRESERVED135 = 135|0x100U, /**< XBARA1_OUT135 output is reserved. */
  1044. kXBARA1_OutputRESERVED136 = 136|0x100U, /**< XBARA1_OUT136 output is reserved. */
  1045. kXBARA1_OutputRESERVED137 = 137|0x100U, /**< XBARA1_OUT137 output is reserved. */
  1046. kXBARA1_OutputQtimer1Timer0 = 138|0x100U, /**< XBARA1_OUT138 output assigned to QTIMER1_TIMER0 */
  1047. kXBARA1_OutputQtimer1Timer1 = 139|0x100U, /**< XBARA1_OUT139 output assigned to QTIMER1_TIMER1 */
  1048. kXBARA1_OutputQtimer1Timer2 = 140|0x100U, /**< XBARA1_OUT140 output assigned to QTIMER1_TIMER2 */
  1049. kXBARA1_OutputQtimer1Timer3 = 141|0x100U, /**< XBARA1_OUT141 output assigned to QTIMER1_TIMER3 */
  1050. kXBARA1_OutputQtimer2Timer0 = 142|0x100U, /**< XBARA1_OUT142 output assigned to QTIMER2_TIMER0 */
  1051. kXBARA1_OutputQtimer2Timer1 = 143|0x100U, /**< XBARA1_OUT143 output assigned to QTIMER2_TIMER1 */
  1052. kXBARA1_OutputQtimer2Timer2 = 144|0x100U, /**< XBARA1_OUT144 output assigned to QTIMER2_TIMER2 */
  1053. kXBARA1_OutputQtimer2Timer3 = 145|0x100U, /**< XBARA1_OUT145 output assigned to QTIMER2_TIMER3 */
  1054. kXBARA1_OutputQtimer3Timer0 = 146|0x100U, /**< XBARA1_OUT146 output assigned to QTIMER3_TIMER0 */
  1055. kXBARA1_OutputQtimer3Timer1 = 147|0x100U, /**< XBARA1_OUT147 output assigned to QTIMER3_TIMER1 */
  1056. kXBARA1_OutputQtimer3Timer2 = 148|0x100U, /**< XBARA1_OUT148 output assigned to QTIMER3_TIMER2 */
  1057. kXBARA1_OutputQtimer3Timer3 = 149|0x100U, /**< XBARA1_OUT149 output assigned to QTIMER3_TIMER3 */
  1058. kXBARA1_OutputQtimer4Timer0 = 150|0x100U, /**< XBARA1_OUT150 output assigned to QTIMER4_TIMER0 */
  1059. kXBARA1_OutputQtimer4Timer1 = 151|0x100U, /**< XBARA1_OUT151 output assigned to QTIMER4_TIMER1 */
  1060. kXBARA1_OutputQtimer4Timer2 = 152|0x100U, /**< XBARA1_OUT152 output assigned to QTIMER4_TIMER2 */
  1061. kXBARA1_OutputQtimer4Timer3 = 153|0x100U, /**< XBARA1_OUT153 output assigned to QTIMER4_TIMER3 */
  1062. kXBARA1_OutputEwmEwmIn = 154|0x100U, /**< XBARA1_OUT154 output assigned to EWM_EWM_IN */
  1063. kXBARA1_OutputAdcEtc0Coco0 = 155|0x100U, /**< XBARA1_OUT155 output assigned to ADC_ETC0_COCO0 */
  1064. kXBARA1_OutputAdcEtc0Coco1 = 156|0x100U, /**< XBARA1_OUT156 output assigned to ADC_ETC0_COCO1 */
  1065. kXBARA1_OutputAdcEtc0Coco2 = 157|0x100U, /**< XBARA1_OUT157 output assigned to ADC_ETC0_COCO2 */
  1066. kXBARA1_OutputAdcEtc0Coco3 = 158|0x100U, /**< XBARA1_OUT158 output assigned to ADC_ETC0_COCO3 */
  1067. kXBARA1_OutputAdcEtc1Coco0 = 159|0x100U, /**< XBARA1_OUT159 output assigned to ADC_ETC1_COCO0 */
  1068. kXBARA1_OutputAdcEtc1Coco1 = 160|0x100U, /**< XBARA1_OUT160 output assigned to ADC_ETC1_COCO1 */
  1069. kXBARA1_OutputAdcEtc1Coco2 = 161|0x100U, /**< XBARA1_OUT161 output assigned to ADC_ETC1_COCO2 */
  1070. kXBARA1_OutputAdcEtc1Coco3 = 162|0x100U, /**< XBARA1_OUT162 output assigned to ADC_ETC1_COCO3 */
  1071. kXBARA1_OutputRESERVED163 = 163|0x100U, /**< XBARA1_OUT163 output is reserved. */
  1072. kXBARA1_OutputRESERVED164 = 164|0x100U, /**< XBARA1_OUT164 output is reserved. */
  1073. kXBARA1_OutputRESERVED165 = 165|0x100U, /**< XBARA1_OUT165 output is reserved. */
  1074. kXBARA1_OutputRESERVED166 = 166|0x100U, /**< XBARA1_OUT166 output is reserved. */
  1075. kXBARA1_OutputRESERVED167 = 167|0x100U, /**< XBARA1_OUT167 output is reserved. */
  1076. kXBARA1_OutputRESERVED168 = 168|0x100U, /**< XBARA1_OUT168 output is reserved. */
  1077. kXBARA1_OutputRESERVED169 = 169|0x100U, /**< XBARA1_OUT169 output is reserved. */
  1078. kXBARA1_OutputRESERVED170 = 170|0x100U, /**< XBARA1_OUT170 output is reserved. */
  1079. kXBARA1_OutputFlexio1TrigIn0 = 171|0x100U, /**< XBARA1_OUT171 output assigned to FLEXIO1_TRIG_IN0 */
  1080. kXBARA1_OutputFlexio1TrigIn1 = 172|0x100U, /**< XBARA1_OUT172 output assigned to FLEXIO1_TRIG_IN1 */
  1081. kXBARA1_OutputFlexio2TrigIn0 = 173|0x100U, /**< XBARA1_OUT173 output assigned to FLEXIO2_TRIG_IN0 */
  1082. kXBARA1_OutputFlexio2TrigIn1 = 174|0x100U, /**< XBARA1_OUT174 output assigned to FLEXIO2_TRIG_IN1 */
  1083. kXBARB2_OutputAoi1In00 = 0|0x200U, /**< XBARB2_OUT0 output assigned to AOI1_IN00 */
  1084. kXBARB2_OutputAoi1In01 = 1|0x200U, /**< XBARB2_OUT1 output assigned to AOI1_IN01 */
  1085. kXBARB2_OutputAoi1In02 = 2|0x200U, /**< XBARB2_OUT2 output assigned to AOI1_IN02 */
  1086. kXBARB2_OutputAoi1In03 = 3|0x200U, /**< XBARB2_OUT3 output assigned to AOI1_IN03 */
  1087. kXBARB2_OutputAoi1In04 = 4|0x200U, /**< XBARB2_OUT4 output assigned to AOI1_IN04 */
  1088. kXBARB2_OutputAoi1In05 = 5|0x200U, /**< XBARB2_OUT5 output assigned to AOI1_IN05 */
  1089. kXBARB2_OutputAoi1In06 = 6|0x200U, /**< XBARB2_OUT6 output assigned to AOI1_IN06 */
  1090. kXBARB2_OutputAoi1In07 = 7|0x200U, /**< XBARB2_OUT7 output assigned to AOI1_IN07 */
  1091. kXBARB2_OutputAoi1In08 = 8|0x200U, /**< XBARB2_OUT8 output assigned to AOI1_IN08 */
  1092. kXBARB2_OutputAoi1In09 = 9|0x200U, /**< XBARB2_OUT9 output assigned to AOI1_IN09 */
  1093. kXBARB2_OutputAoi1In10 = 10|0x200U, /**< XBARB2_OUT10 output assigned to AOI1_IN10 */
  1094. kXBARB2_OutputAoi1In11 = 11|0x200U, /**< XBARB2_OUT11 output assigned to AOI1_IN11 */
  1095. kXBARB2_OutputAoi1In12 = 12|0x200U, /**< XBARB2_OUT12 output assigned to AOI1_IN12 */
  1096. kXBARB2_OutputAoi1In13 = 13|0x200U, /**< XBARB2_OUT13 output assigned to AOI1_IN13 */
  1097. kXBARB2_OutputAoi1In14 = 14|0x200U, /**< XBARB2_OUT14 output assigned to AOI1_IN14 */
  1098. kXBARB2_OutputAoi1In15 = 15|0x200U, /**< XBARB2_OUT15 output assigned to AOI1_IN15 */
  1099. kXBARB3_OutputAoi2In00 = 0|0x300U, /**< XBARB3_OUT0 output assigned to AOI2_IN00 */
  1100. kXBARB3_OutputAoi2In01 = 1|0x300U, /**< XBARB3_OUT1 output assigned to AOI2_IN01 */
  1101. kXBARB3_OutputAoi2In02 = 2|0x300U, /**< XBARB3_OUT2 output assigned to AOI2_IN02 */
  1102. kXBARB3_OutputAoi2In03 = 3|0x300U, /**< XBARB3_OUT3 output assigned to AOI2_IN03 */
  1103. kXBARB3_OutputAoi2In04 = 4|0x300U, /**< XBARB3_OUT4 output assigned to AOI2_IN04 */
  1104. kXBARB3_OutputAoi2In05 = 5|0x300U, /**< XBARB3_OUT5 output assigned to AOI2_IN05 */
  1105. kXBARB3_OutputAoi2In06 = 6|0x300U, /**< XBARB3_OUT6 output assigned to AOI2_IN06 */
  1106. kXBARB3_OutputAoi2In07 = 7|0x300U, /**< XBARB3_OUT7 output assigned to AOI2_IN07 */
  1107. kXBARB3_OutputAoi2In08 = 8|0x300U, /**< XBARB3_OUT8 output assigned to AOI2_IN08 */
  1108. kXBARB3_OutputAoi2In09 = 9|0x300U, /**< XBARB3_OUT9 output assigned to AOI2_IN09 */
  1109. kXBARB3_OutputAoi2In10 = 10|0x300U, /**< XBARB3_OUT10 output assigned to AOI2_IN10 */
  1110. kXBARB3_OutputAoi2In11 = 11|0x300U, /**< XBARB3_OUT11 output assigned to AOI2_IN11 */
  1111. kXBARB3_OutputAoi2In12 = 12|0x300U, /**< XBARB3_OUT12 output assigned to AOI2_IN12 */
  1112. kXBARB3_OutputAoi2In13 = 13|0x300U, /**< XBARB3_OUT13 output assigned to AOI2_IN13 */
  1113. kXBARB3_OutputAoi2In14 = 14|0x300U, /**< XBARB3_OUT14 output assigned to AOI2_IN14 */
  1114. kXBARB3_OutputAoi2In15 = 15|0x300U, /**< XBARB3_OUT15 output assigned to AOI2_IN15 */
  1115. } xbar_output_signal_t;
  1116. /*!
  1117. * @addtogroup edma_request
  1118. * @{
  1119. */
  1120. /*******************************************************************************
  1121. * Definitions
  1122. ******************************************************************************/
  1123. /*!
  1124. * @brief Structure for the DMA hardware request
  1125. *
  1126. * Defines the structure for the DMA hardware request collections. The user can configure the
  1127. * hardware request into DMAMUX to trigger the DMA transfer accordingly. The index
  1128. * of the hardware request varies according to the to SoC.
  1129. */
  1130. typedef enum _dma_request_source
  1131. {
  1132. kDmaRequestMuxFlexIO1Request2Request3 = 1|0x100U, /**< FlexIO1 Request2 and Request3 */
  1133. kDmaRequestMuxFlexIO1Request4Request5 = 2|0x100U, /**< FlexIO1 Request4 and Request5 */
  1134. kDmaRequestMuxFlexIO1Request6Request7 = 3|0x100U, /**< FlexIO1 Request6 and Request7 */
  1135. kDmaRequestMuxFlexIO2Request0Request1 = 4|0x100U, /**< FlexIO2 Request0 and Request1 */
  1136. kDmaRequestMuxFlexIO2Request2Request3 = 5|0x100U, /**< FlexIO2 Request2 and Request3 */
  1137. kDmaRequestMuxFlexIO2Request4Request5 = 6|0x100U, /**< FlexIO2 Request4 and Request5 */
  1138. kDmaRequestMuxFlexIO2Request6Request7 = 7|0x100U, /**< FlexIO2 Request6 and Request7 */
  1139. kDmaRequestMuxLPUART1Tx = 8|0x100U, /**< LPUART1 Transmit */
  1140. kDmaRequestMuxLPUART1Rx = 9|0x100U, /**< LPUART1 Receive */
  1141. kDmaRequestMuxLPUART2Tx = 10|0x100U, /**< LPUART2 Transmit */
  1142. kDmaRequestMuxLPUART2Rx = 11|0x100U, /**< LPUART2 Receive */
  1143. kDmaRequestMuxLPUART3Tx = 12|0x100U, /**< LPUART3 Transmit */
  1144. kDmaRequestMuxLPUART3Rx = 13|0x100U, /**< LPUART3 Receive */
  1145. kDmaRequestMuxLPUART4Tx = 14|0x100U, /**< LPUART4 Transmit */
  1146. kDmaRequestMuxLPUART4Rx = 15|0x100U, /**< LPUART4 Receive */
  1147. kDmaRequestMuxLPUART5Tx = 16|0x100U, /**< LPUART5 Transmit */
  1148. kDmaRequestMuxLPUART5Rx = 17|0x100U, /**< LPUART5 Receive */
  1149. kDmaRequestMuxLPUART6Tx = 18|0x100U, /**< LPUART6 Transmit */
  1150. kDmaRequestMuxLPUART6Rx = 19|0x100U, /**< LPUART6 Receive */
  1151. kDmaRequestMuxLPUART7Tx = 20|0x100U, /**< LPUART7 Transmit */
  1152. kDmaRequestMuxLPUART7Rx = 21|0x100U, /**< LPUART7 Receive */
  1153. kDmaRequestMuxLPUART8Tx = 22|0x100U, /**< LPUART8 Transmit */
  1154. kDmaRequestMuxLPUART8Rx = 23|0x100U, /**< LPUART8 Receive */
  1155. kDmaRequestMuxLPUART9Tx = 24|0x100U, /**< LPUART9 Transmit */
  1156. kDmaRequestMuxLPUART9Rx = 25|0x100U, /**< LPUART9 Receive */
  1157. kDmaRequestMuxLPUART10Tx = 26|0x100U, /**< LPUART10 Transmit */
  1158. kDmaRequestMuxLPUART10Rx = 27|0x100U, /**< LPUART10 Receive */
  1159. kDmaRequestMuxLPUART11Tx = 28|0x100U, /**< LPUART11 Transmit */
  1160. kDmaRequestMuxLPUART11Rx = 29|0x100U, /**< LPUART11 Receive */
  1161. kDmaRequestMuxLPUART12Tx = 30|0x100U, /**< LPUART12 Transmit */
  1162. kDmaRequestMuxLPUART12Rx = 31|0x100U, /**< LPUART12 Receive */
  1163. kDmaRequestMuxCSI = 32|0x100U, /**< CSI */
  1164. kDmaRequestMuxPxp = 33|0x100U, /**< PXP */
  1165. kDmaRequestMuxeLCDIF = 34|0x100U, /**< eLCDIF */
  1166. kDmaRequestMuxLCDIFv2 = 35|0x100U, /**< LCDIFv2 */
  1167. kDmaRequestMuxLPSPI1Rx = 36|0x100U, /**< LPSPI1 Receive */
  1168. kDmaRequestMuxLPSPI1Tx = 37|0x100U, /**< LPSPI1 Transmit */
  1169. kDmaRequestMuxLPSPI2Rx = 38|0x100U, /**< LPSPI2 Receive */
  1170. kDmaRequestMuxLPSPI2Tx = 39|0x100U, /**< LPSPI2 Transmit */
  1171. kDmaRequestMuxLPSPI3Rx = 40|0x100U, /**< LPSPI3 Receive */
  1172. kDmaRequestMuxLPSPI3Tx = 41|0x100U, /**< LPSPI3 Transmit */
  1173. kDmaRequestMuxLPSPI4Rx = 42|0x100U, /**< LPSPI4 Receive */
  1174. kDmaRequestMuxLPSPI4Tx = 43|0x100U, /**< LPSPI4 Transmit */
  1175. kDmaRequestMuxLPSPI5Rx = 44|0x100U, /**< LPSPI5 Receive */
  1176. kDmaRequestMuxLPSPI5Tx = 45|0x100U, /**< LPSPI5 Transmit */
  1177. kDmaRequestMuxLPSPI6Rx = 46|0x100U, /**< LPSPI6 Receive */
  1178. kDmaRequestMuxLPSPI6Tx = 47|0x100U, /**< LPSPI6 Transmit */
  1179. kDmaRequestMuxLPI2C1 = 48|0x100U, /**< LPI2C1 */
  1180. kDmaRequestMuxLPI2C2 = 49|0x100U, /**< LPI2C2 */
  1181. kDmaRequestMuxLPI2C3 = 50|0x100U, /**< LPI2C3 */
  1182. kDmaRequestMuxLPI2C4 = 51|0x100U, /**< LPI2C4 */
  1183. kDmaRequestMuxLPI2C5 = 52|0x100U, /**< LPI2C5 */
  1184. kDmaRequestMuxLPI2C6 = 53|0x100U, /**< LPI2C6 */
  1185. kDmaRequestMuxSai1Rx = 54|0x100U, /**< SAI1 Receive */
  1186. kDmaRequestMuxSai1Tx = 55|0x100U, /**< SAI1 Transmit */
  1187. kDmaRequestMuxSai2Rx = 56|0x100U, /**< SAI2 Receive */
  1188. kDmaRequestMuxSai2Tx = 57|0x100U, /**< SAI2 Transmit */
  1189. kDmaRequestMuxSai3Rx = 58|0x100U, /**< SAI3 Receive */
  1190. kDmaRequestMuxSai3Tx = 59|0x100U, /**< SAI3 Transmit */
  1191. kDmaRequestMuxSai4Rx = 60|0x100U, /**< SAI4 Receive */
  1192. kDmaRequestMuxSai4Tx = 61|0x100U, /**< SAI4 Transmit */
  1193. kDmaRequestMuxSpdifRx = 62|0x100U, /**< SPDIF Receive */
  1194. kDmaRequestMuxSpdifTx = 63|0x100U, /**< SPDIF Transmit */
  1195. kDmaRequestMuxADC_ETC = 64|0x100U, /**< ADC_ETC */
  1196. kDmaRequestMuxFlexIO1Request0Request1 = 65|0x100U, /**< FlexIO1 Request0 and Request1 */
  1197. kDmaRequestMuxADC1 = 66|0x100U, /**< ADC1 */
  1198. kDmaRequestMuxADC2 = 67|0x100U, /**< ADC2 */
  1199. kDmaRequestMuxACMP1 = 69|0x100U, /**< ACMP1 */
  1200. kDmaRequestMuxACMP2 = 70|0x100U, /**< ACMP2 */
  1201. kDmaRequestMuxACMP3 = 71|0x100U, /**< ACMP3 */
  1202. kDmaRequestMuxACMP4 = 72|0x100U, /**< ACMP4 */
  1203. kDmaRequestMuxFlexSPI1Rx = 77|0x100U, /**< FlexSPI1 Receive */
  1204. kDmaRequestMuxFlexSPI1Tx = 78|0x100U, /**< FlexSPI1 Transmit */
  1205. kDmaRequestMuxFlexSPI2Rx = 79|0x100U, /**< FlexSPI2 Receive */
  1206. kDmaRequestMuxFlexSPI2Tx = 80|0x100U, /**< FlexSPI2 Transmit */
  1207. kDmaRequestMuxXBAR1Request0 = 81|0x100U, /**< XBAR1 Request 0 */
  1208. kDmaRequestMuxXBAR1Request1 = 82|0x100U, /**< XBAR1 Request 1 */
  1209. kDmaRequestMuxXBAR1Request2 = 83|0x100U, /**< XBAR1 Request 2 */
  1210. kDmaRequestMuxXBAR1Request3 = 84|0x100U, /**< XBAR1 Request 3 */
  1211. kDmaRequestMuxFlexPWM1CaptureSub0 = 85|0x100U, /**< FlexPWM1 Capture sub-module0 */
  1212. kDmaRequestMuxFlexPWM1CaptureSub1 = 86|0x100U, /**< FlexPWM1 Capture sub-module1 */
  1213. kDmaRequestMuxFlexPWM1CaptureSub2 = 87|0x100U, /**< FlexPWM1 Capture sub-module2 */
  1214. kDmaRequestMuxFlexPWM1CaptureSub3 = 88|0x100U, /**< FlexPWM1 Capture sub-module3 */
  1215. kDmaRequestMuxFlexPWM1ValueSub0 = 89|0x100U, /**< FlexPWM1 Value sub-module 0 */
  1216. kDmaRequestMuxFlexPWM1ValueSub1 = 90|0x100U, /**< FlexPWM1 Value sub-module 1 */
  1217. kDmaRequestMuxFlexPWM1ValueSub2 = 91|0x100U, /**< FlexPWM1 Value sub-module 2 */
  1218. kDmaRequestMuxFlexPWM1ValueSub3 = 92|0x100U, /**< FlexPWM1 Value sub-module 3 */
  1219. kDmaRequestMuxFlexPWM2CaptureSub0 = 93|0x100U, /**< FlexPWM2 Capture sub-module0 */
  1220. kDmaRequestMuxFlexPWM2CaptureSub1 = 94|0x100U, /**< FlexPWM2 Capture sub-module1 */
  1221. kDmaRequestMuxFlexPWM2CaptureSub2 = 95|0x100U, /**< FlexPWM2 Capture sub-module2 */
  1222. kDmaRequestMuxFlexPWM2CaptureSub3 = 96|0x100U, /**< FlexPWM2 Capture sub-module3 */
  1223. kDmaRequestMuxFlexPWM2ValueSub0 = 97|0x100U, /**< FlexPWM2 Value sub-module 0 */
  1224. kDmaRequestMuxFlexPWM2ValueSub1 = 98|0x100U, /**< FlexPWM2 Value sub-module 1 */
  1225. kDmaRequestMuxFlexPWM2ValueSub2 = 99|0x100U, /**< FlexPWM2 Value sub-module 2 */
  1226. kDmaRequestMuxFlexPWM2ValueSub3 = 100|0x100U, /**< FlexPWM2 Value sub-module 3 */
  1227. kDmaRequestMuxFlexPWM3CaptureSub0 = 101|0x100U, /**< FlexPWM3 Capture sub-module0 */
  1228. kDmaRequestMuxFlexPWM3CaptureSub1 = 102|0x100U, /**< FlexPWM3 Capture sub-module1 */
  1229. kDmaRequestMuxFlexPWM3CaptureSub2 = 103|0x100U, /**< FlexPWM3 Capture sub-module2 */
  1230. kDmaRequestMuxFlexPWM3CaptureSub3 = 104|0x100U, /**< FlexPWM3 Capture sub-module3 */
  1231. kDmaRequestMuxFlexPWM3ValueSub0 = 105|0x100U, /**< FlexPWM3 Value sub-module 0 */
  1232. kDmaRequestMuxFlexPWM3ValueSub1 = 106|0x100U, /**< FlexPWM3 Value sub-module 1 */
  1233. kDmaRequestMuxFlexPWM3ValueSub2 = 107|0x100U, /**< FlexPWM3 Value sub-module 2 */
  1234. kDmaRequestMuxFlexPWM3ValueSub3 = 108|0x100U, /**< FlexPWM3 Value sub-module 3 */
  1235. kDmaRequestMuxFlexPWM4CaptureSub0 = 109|0x100U, /**< FlexPWM4 Capture sub-module0 */
  1236. kDmaRequestMuxFlexPWM4CaptureSub1 = 110|0x100U, /**< FlexPWM4 Capture sub-module1 */
  1237. kDmaRequestMuxFlexPWM4CaptureSub2 = 111|0x100U, /**< FlexPWM4 Capture sub-module2 */
  1238. kDmaRequestMuxFlexPWM4CaptureSub3 = 112|0x100U, /**< FlexPWM4 Capture sub-module3 */
  1239. kDmaRequestMuxFlexPWM4ValueSub0 = 113|0x100U, /**< FlexPWM4 Value sub-module 0 */
  1240. kDmaRequestMuxFlexPWM4ValueSub1 = 114|0x100U, /**< FlexPWM4 Value sub-module 1 */
  1241. kDmaRequestMuxFlexPWM4ValueSub2 = 115|0x100U, /**< FlexPWM4 Value sub-module 2 */
  1242. kDmaRequestMuxFlexPWM4ValueSub3 = 116|0x100U, /**< FlexPWM4 Value sub-module 3 */
  1243. kDmaRequestMuxQTIMER1CaptTimer0 = 133|0x100U, /**< TMR1 Capture timer 0 */
  1244. kDmaRequestMuxQTIMER1CaptTimer1 = 134|0x100U, /**< TMR1 Capture timer 1 */
  1245. kDmaRequestMuxQTIMER1CaptTimer2 = 135|0x100U, /**< TMR1 Capture timer 2 */
  1246. kDmaRequestMuxQTIMER1CaptTimer3 = 136|0x100U, /**< TMR1 Capture timer 3 */
  1247. kDmaRequestMuxQTIMER1Cmpld1Timer0Cmpld2Timer1 = 137|0x100U, /**< TMR1 cmpld1 in timer 0 or cmpld2 in timer 1 */
  1248. kDmaRequestMuxQTIMER1Cmpld1Timer1Cmpld2Timer0 = 138|0x100U, /**< TMR1 cmpld1 in timer 1 or cmpld2 in timer 0 */
  1249. kDmaRequestMuxQTIMER1Cmpld1Timer2Cmpld2Timer3 = 139|0x100U, /**< TMR1 cmpld1 in timer 2 or cmpld2 in timer 3 */
  1250. kDmaRequestMuxQTIMER1Cmpld1Timer3Cmpld2Timer2 = 140|0x100U, /**< TMR1 cmpld1 in timer 3 or cmpld2 in timer 2 */
  1251. kDmaRequestMuxQTIMER2CaptTimer0 = 141|0x100U, /**< TMR2 Capture timer 0 */
  1252. kDmaRequestMuxQTIMER2CaptTimer1 = 142|0x100U, /**< TMR2 Capture timer 1 */
  1253. kDmaRequestMuxQTIMER2CaptTimer2 = 143|0x100U, /**< TMR2 Capture timer 2 */
  1254. kDmaRequestMuxQTIMER2CaptTimer3 = 144|0x100U, /**< TMR2 Capture timer 3 */
  1255. kDmaRequestMuxQTIMER2Cmpld1Timer0Cmpld2Timer1 = 145|0x100U, /**< TMR2 cmpld1 in timer 0 or cmpld2 in timer 1 */
  1256. kDmaRequestMuxQTIMER2Cmpld1Timer1Cmpld2Timer0 = 146|0x100U, /**< TMR2 cmpld1 in timer 1 or cmpld2 in timer 0 */
  1257. kDmaRequestMuxQTIMER2Cmpld1Timer2Cmpld2Timer3 = 147|0x100U, /**< TMR2 cmpld1 in timer 2 or cmpld2 in timer 3 */
  1258. kDmaRequestMuxQTIMER2Cmpld1Timer3Cmpld2Timer2 = 148|0x100U, /**< TMR2 cmpld1 in timer 3 or cmpld2 in timer 2 */
  1259. kDmaRequestMuxQTIMER3CaptTimer0 = 149|0x100U, /**< TMR3 Capture timer 0 */
  1260. kDmaRequestMuxQTIMER3CaptTimer1 = 150|0x100U, /**< TMR3 Capture timer 1 */
  1261. kDmaRequestMuxQTIMER3CaptTimer2 = 151|0x100U, /**< TMR3 Capture timer 2 */
  1262. kDmaRequestMuxQTIMER3CaptTimer3 = 152|0x100U, /**< TMR3 Capture timer 3 */
  1263. kDmaRequestMuxQTIMER3Cmpld1Timer0Cmpld2Timer1 = 153|0x100U, /**< TMR3 cmpld1 in timer 0 or cmpld2 in timer 1 */
  1264. kDmaRequestMuxQTIMER3Cmpld1Timer1Cmpld2Timer0 = 154|0x100U, /**< TMR3 cmpld1 in timer 1 or cmpld2 in timer 0 */
  1265. kDmaRequestMuxQTIMER3Cmpld1Timer2Cmpld2Timer3 = 155|0x100U, /**< TMR3 cmpld1 in timer 2 or cmpld2 in timer 3 */
  1266. kDmaRequestMuxQTIMER3Cmpld1Timer3Cmpld2Timer2 = 156|0x100U, /**< TMR3 cmpld1 in timer 3 or cmpld2 in timer 2 */
  1267. kDmaRequestMuxQTIMER4CaptTimer0 = 157|0x100U, /**< TMR4 Capture timer 0 */
  1268. kDmaRequestMuxQTIMER4CaptTimer1 = 158|0x100U, /**< TMR4 Capture timer 1 */
  1269. kDmaRequestMuxQTIMER4CaptTimer2 = 159|0x100U, /**< TMR4 Capture timer 2 */
  1270. kDmaRequestMuxQTIMER4CaptTimer3 = 160|0x100U, /**< TMR4 Capture timer 3 */
  1271. kDmaRequestMuxQTIMER4Cmpld1Timer0Cmpld2Timer1 = 161|0x100U, /**< TMR4 cmpld1 in timer 0 or cmpld2 in timer 1 */
  1272. kDmaRequestMuxQTIMER4Cmpld1Timer1Cmpld2Timer0 = 162|0x100U, /**< TMR4 cmpld1 in timer 1 or cmpld2 in timer 0 */
  1273. kDmaRequestMuxQTIMER4Cmpld1Timer2Cmpld2Timer3 = 163|0x100U, /**< TMR4 cmpld1 in timer 2 or cmpld2 in timer 3 */
  1274. kDmaRequestMuxQTIMER4Cmpld1Timer3Cmpld2Timer2 = 164|0x100U, /**< TMR4 cmpld1 in timer 3 or cmpld2 in timer 2 */
  1275. kDmaRequestMuxPdm = 181|0x100U, /**< PDM */
  1276. kDmaRequestMuxEnetTimer0 = 182|0x100U, /**< ENET Timer0 */
  1277. kDmaRequestMuxEnetTimer1 = 183|0x100U, /**< ENET Timer1 */
  1278. kDmaRequestMuxEnet1GTimer0 = 184|0x100U, /**< ENET 1G Timer0 */
  1279. kDmaRequestMuxEnet1GTimer1 = 185|0x100U, /**< ENET 1G Timer1 */
  1280. kDmaRequestMuxCAN1 = 186|0x100U, /**< CAN1 */
  1281. kDmaRequestMuxCAN2 = 187|0x100U, /**< CAN2 */
  1282. kDmaRequestMuxCAN3 = 188|0x100U, /**< CAN3 */
  1283. kDmaRequestMuxDAC = 189|0x100U, /**< DAC */
  1284. kDmaRequestMuxASRCRequest1 = 191|0x100U, /**< ASRC request 1 pair A input request */
  1285. kDmaRequestMuxASRCRequest2 = 192|0x100U, /**< ASRC request 2 pair B input request */
  1286. kDmaRequestMuxASRCRequest3 = 193|0x100U, /**< ASRC request 3 pair C input request */
  1287. kDmaRequestMuxASRCRequest4 = 194|0x100U, /**< ASRC request 4 pair A output request */
  1288. kDmaRequestMuxASRCRequest5 = 195|0x100U, /**< ASRC request 5 pair B output request */
  1289. kDmaRequestMuxASRCRequest6 = 196|0x100U, /**< ASRC request 6 pair C output request */
  1290. kDmaRequestMuxEmvsim1Tx = 197|0x100U, /**< Emvsim1 Transmit */
  1291. kDmaRequestMuxEmvsim1Rx = 198|0x100U, /**< Emvsim1 Receive */
  1292. kDmaRequestMuxEmvsim2Tx = 199|0x100U, /**< Emvsim2 Transmit */
  1293. kDmaRequestMuxEmvsim2Rx = 200|0x100U, /**< Emvsim2 Receive */
  1294. kDmaRequestMuxEnetQosTimer0 = 201|0x100U, /**< ENET_QOS Timer0 */
  1295. kDmaRequestMuxEnetQosTimer1 = 202|0x100U, /**< ENET_QOS Timer1 */
  1296. } dma_request_source_t;
  1297. /* @} */
  1298. /*!
  1299. * @addtogroup iomuxc_lpsr_pads
  1300. * @{ */
  1301. /*******************************************************************************
  1302. * Definitions
  1303. *******************************************************************************/
  1304. /*!
  1305. * @brief Enumeration for the IOMUXC_LPSR SW_MUX_CTL_PAD
  1306. *
  1307. * Defines the enumeration for the IOMUXC_LPSR SW_MUX_CTL_PAD collections.
  1308. */
  1309. typedef enum _iomuxc_lpsr_sw_mux_ctl_pad
  1310. {
  1311. kIOMUXC_LPSR_SW_MUX_CTL_PAD_GPIO_LPSR_00 = 0U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1312. kIOMUXC_LPSR_SW_MUX_CTL_PAD_GPIO_LPSR_01 = 1U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1313. kIOMUXC_LPSR_SW_MUX_CTL_PAD_GPIO_LPSR_02 = 2U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1314. kIOMUXC_LPSR_SW_MUX_CTL_PAD_GPIO_LPSR_03 = 3U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1315. kIOMUXC_LPSR_SW_MUX_CTL_PAD_GPIO_LPSR_04 = 4U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1316. kIOMUXC_LPSR_SW_MUX_CTL_PAD_GPIO_LPSR_05 = 5U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1317. kIOMUXC_LPSR_SW_MUX_CTL_PAD_GPIO_LPSR_06 = 6U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1318. kIOMUXC_LPSR_SW_MUX_CTL_PAD_GPIO_LPSR_07 = 7U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1319. kIOMUXC_LPSR_SW_MUX_CTL_PAD_GPIO_LPSR_08 = 8U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1320. kIOMUXC_LPSR_SW_MUX_CTL_PAD_GPIO_LPSR_09 = 9U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1321. kIOMUXC_LPSR_SW_MUX_CTL_PAD_GPIO_LPSR_10 = 10U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1322. kIOMUXC_LPSR_SW_MUX_CTL_PAD_GPIO_LPSR_11 = 11U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1323. kIOMUXC_LPSR_SW_MUX_CTL_PAD_GPIO_LPSR_12 = 12U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1324. kIOMUXC_LPSR_SW_MUX_CTL_PAD_GPIO_LPSR_13 = 13U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1325. kIOMUXC_LPSR_SW_MUX_CTL_PAD_GPIO_LPSR_14 = 14U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1326. kIOMUXC_LPSR_SW_MUX_CTL_PAD_GPIO_LPSR_15 = 15U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1327. } iomuxc_lpsr_sw_mux_ctl_pad_t;
  1328. /* @} */
  1329. /*!
  1330. * @addtogroup iomuxc_lpsr_pads
  1331. * @{ */
  1332. /*******************************************************************************
  1333. * Definitions
  1334. *******************************************************************************/
  1335. /*!
  1336. * @brief Enumeration for the IOMUXC_LPSR SW_PAD_CTL_PAD
  1337. *
  1338. * Defines the enumeration for the IOMUXC_LPSR SW_PAD_CTL_PAD collections.
  1339. */
  1340. typedef enum _iomuxc_lpsr_sw_pad_ctl_pad
  1341. {
  1342. kIOMUXC_LPSR_SW_PAD_CTL_PAD_GPIO_LPSR_00 = 0U, /**< IOMUXC SW_PAD_CTL_PAD index */
  1343. kIOMUXC_LPSR_SW_PAD_CTL_PAD_GPIO_LPSR_01 = 1U, /**< IOMUXC SW_PAD_CTL_PAD index */
  1344. kIOMUXC_LPSR_SW_PAD_CTL_PAD_GPIO_LPSR_02 = 2U, /**< IOMUXC SW_PAD_CTL_PAD index */
  1345. kIOMUXC_LPSR_SW_PAD_CTL_PAD_GPIO_LPSR_03 = 3U, /**< IOMUXC SW_PAD_CTL_PAD index */
  1346. kIOMUXC_LPSR_SW_PAD_CTL_PAD_GPIO_LPSR_04 = 4U, /**< IOMUXC SW_PAD_CTL_PAD index */
  1347. kIOMUXC_LPSR_SW_PAD_CTL_PAD_GPIO_LPSR_05 = 5U, /**< IOMUXC SW_PAD_CTL_PAD index */
  1348. kIOMUXC_LPSR_SW_PAD_CTL_PAD_GPIO_LPSR_06 = 6U, /**< IOMUXC SW_PAD_CTL_PAD index */
  1349. kIOMUXC_LPSR_SW_PAD_CTL_PAD_GPIO_LPSR_07 = 7U, /**< IOMUXC SW_PAD_CTL_PAD index */
  1350. kIOMUXC_LPSR_SW_PAD_CTL_PAD_GPIO_LPSR_08 = 8U, /**< IOMUXC SW_PAD_CTL_PAD index */
  1351. kIOMUXC_LPSR_SW_PAD_CTL_PAD_GPIO_LPSR_09 = 9U, /**< IOMUXC SW_PAD_CTL_PAD index */
  1352. kIOMUXC_LPSR_SW_PAD_CTL_PAD_GPIO_LPSR_10 = 10U, /**< IOMUXC SW_PAD_CTL_PAD index */
  1353. kIOMUXC_LPSR_SW_PAD_CTL_PAD_GPIO_LPSR_11 = 11U, /**< IOMUXC SW_PAD_CTL_PAD index */
  1354. kIOMUXC_LPSR_SW_PAD_CTL_PAD_GPIO_LPSR_12 = 12U, /**< IOMUXC SW_PAD_CTL_PAD index */
  1355. kIOMUXC_LPSR_SW_PAD_CTL_PAD_GPIO_LPSR_13 = 13U, /**< IOMUXC SW_PAD_CTL_PAD index */
  1356. kIOMUXC_LPSR_SW_PAD_CTL_PAD_GPIO_LPSR_14 = 14U, /**< IOMUXC SW_PAD_CTL_PAD index */
  1357. kIOMUXC_LPSR_SW_PAD_CTL_PAD_GPIO_LPSR_15 = 15U, /**< IOMUXC SW_PAD_CTL_PAD index */
  1358. } iomuxc_lpsr_sw_pad_ctl_pad_t;
  1359. /* @} */
  1360. /*!
  1361. * @brief Enumeration for the IOMUXC_LPSR select input
  1362. *
  1363. * Defines the enumeration for the IOMUXC_LPSR select input collections.
  1364. */
  1365. typedef enum _iomuxc_lpsr_select_input
  1366. {
  1367. kIOMUXC_LPSR_CAN3_IPP_IND_CANRX_SELECT_INPUT = 0U, /**< IOMUXC select input index */
  1368. kIOMUXC_LPSR_LPI2C5_IPP_IND_LPI2C_SCL_SELECT_INPUT = 1U, /**< IOMUXC select input index */
  1369. kIOMUXC_LPSR_LPI2C5_IPP_IND_LPI2C_SDA_SELECT_INPUT = 2U, /**< IOMUXC select input index */
  1370. kIOMUXC_LPSR_LPI2C6_IPP_IND_LPI2C_SCL_SELECT_INPUT = 3U, /**< IOMUXC select input index */
  1371. kIOMUXC_LPSR_LPI2C6_IPP_IND_LPI2C_SDA_SELECT_INPUT = 4U, /**< IOMUXC select input index */
  1372. kIOMUXC_LPSR_LPSPI5_IPP_IND_LPSPI_PCS_SELECT_INPUT_0 = 5U, /**< IOMUXC select input index */
  1373. kIOMUXC_LPSR_LPSPI5_IPP_IND_LPSPI_SCK_SELECT_INPUT = 6U, /**< IOMUXC select input index */
  1374. kIOMUXC_LPSR_LPSPI5_IPP_IND_LPSPI_SDI_SELECT_INPUT = 7U, /**< IOMUXC select input index */
  1375. kIOMUXC_LPSR_LPSPI5_IPP_IND_LPSPI_SDO_SELECT_INPUT = 8U, /**< IOMUXC select input index */
  1376. kIOMUXC_LPSR_LPUART11_IPP_IND_LPUART_RXD_SELECT_INPUT = 9U, /**< IOMUXC select input index */
  1377. kIOMUXC_LPSR_LPUART11_IPP_IND_LPUART_TXD_SELECT_INPUT = 10U, /**< IOMUXC select input index */
  1378. kIOMUXC_LPSR_LPUART12_IPP_IND_LPUART_RXD_SELECT_INPUT = 11U, /**< IOMUXC select input index */
  1379. kIOMUXC_LPSR_LPUART12_IPP_IND_LPUART_TXD_SELECT_INPUT = 12U, /**< IOMUXC select input index */
  1380. kIOMUXC_LPSR_MIC_IPP_IND_MIC_PDM_BITSTREAM_SELECT_INPUT_0 = 13U, /**< IOMUXC select input index */
  1381. kIOMUXC_LPSR_MIC_IPP_IND_MIC_PDM_BITSTREAM_SELECT_INPUT_1 = 14U, /**< IOMUXC select input index */
  1382. kIOMUXC_LPSR_MIC_IPP_IND_MIC_PDM_BITSTREAM_SELECT_INPUT_2 = 15U, /**< IOMUXC select input index */
  1383. kIOMUXC_LPSR_MIC_IPP_IND_MIC_PDM_BITSTREAM_SELECT_INPUT_3 = 16U, /**< IOMUXC select input index */
  1384. kIOMUXC_LPSR_NMI_GLUE_IPP_IND_NMI_SELECT_INPUT = 17U, /**< IOMUXC select input index */
  1385. kIOMUXC_LPSR_SAI4_IPG_CLK_SAI_MCLK_SELECT_INPUT = 18U, /**< IOMUXC select input index */
  1386. kIOMUXC_LPSR_SAI4_IPP_IND_SAI_RXBCLK_SELECT_INPUT = 19U, /**< IOMUXC select input index */
  1387. kIOMUXC_LPSR_SAI4_IPP_IND_SAI_RXDATA_SELECT_INPUT_0 = 20U, /**< IOMUXC select input index */
  1388. kIOMUXC_LPSR_SAI4_IPP_IND_SAI_RXSYNC_SELECT_INPUT = 21U, /**< IOMUXC select input index */
  1389. kIOMUXC_LPSR_SAI4_IPP_IND_SAI_TXBCLK_SELECT_INPUT = 22U, /**< IOMUXC select input index */
  1390. kIOMUXC_LPSR_SAI4_IPP_IND_SAI_TXSYNC_SELECT_INPUT = 23U, /**< IOMUXC select input index */
  1391. } iomuxc_lpsr_select_input_t;
  1392. /*!
  1393. * @addtogroup ssarc_mapping
  1394. * @{
  1395. */
  1396. /*******************************************************************************
  1397. * Definitions
  1398. ******************************************************************************/
  1399. /*!
  1400. * @brief Structure for the SSARC mapping
  1401. *
  1402. * The name of power domain.
  1403. */
  1404. typedef enum _ssarc_power_domain_name
  1405. {
  1406. kSSARC_MEGAMIXPowerDomain = 0U, /**< MEGAMIX Power Domain, request from BPC0. */
  1407. kSSARC_DISPLAYMIXPowerDomain = 1U, /**< DISPLAYMIX Power Domain, request from BPC1. */
  1408. kSSARC_WAKEUPMIXPowerDomain = 2U, /**< WAKEUPMIX Power Domain, request from BPC2. */
  1409. kSSARC_LPSRMIXPowerDomain = 3U, /**< LPSRMIX Power Domain, request from BPC3. */
  1410. kSSARC_PowerDomain4 = 4U, /**< MIPI PHY Power Domain, request from BPC4. */
  1411. kSSARC_PowerDomain5 = 5U, /**< Virtual power domain, request from BPC5. */
  1412. kSSARC_PowerDomain6 = 6U, /**< Virtual power domain, request from BPC6. */
  1413. kSSARC_PowerDomain7 = 7U, /**< Virtual power domain, request from BPC7. */
  1414. } ssarc_power_domain_name_t;
  1415. /*
  1416. * @brief The name of cpu domain.
  1417. */
  1418. typedef enum _ssarc_cpu_domain_name
  1419. {
  1420. kSSARC_CM7Core = 0U, /**< CM7 Core domain. */
  1421. kSSARC_CM4Core = 1U, /**< CM4 Core domain. */
  1422. } ssarc_cpu_domain_name_t;
  1423. /* @} */
  1424. /*!
  1425. * @addtogroup xrdc2_mapping
  1426. * @{
  1427. */
  1428. /*******************************************************************************
  1429. * Definitions
  1430. ******************************************************************************/
  1431. /*!
  1432. * @brief Structure for the XRDC2 mapping
  1433. *
  1434. * Defines the structure for the XRDC2 resource collections.
  1435. */
  1436. typedef enum _xrdc2_master
  1437. {
  1438. kXRDC2_Master_M7_AHB = 0U, /**< M7 AHB */
  1439. kXRDC2_Master_M4_AHBC = 0U, /**< M4 AHBC */
  1440. kXRDC2_Master_M7_AXI = 1U, /**< M7 AXI */
  1441. kXRDC2_Master_M4_AHBS = 1U, /**< M4 AHBS */
  1442. kXRDC2_Master_CAAM = 2U, /**< CAAM */
  1443. kXRDC2_Master_CSI = 3U, /**< CSI */
  1444. kXRDC2_Master_M7_EDMA = 4U, /**< M7 EDMA */
  1445. kXRDC2_Master_M4_EDMA = 4U, /**< M4 EDMA */
  1446. kXRDC2_Master_ENET = 5U, /**< ENET */
  1447. kXRDC2_Master_ENET_1G_RX = 6U, /**< ENET_1G_RX */
  1448. kXRDC2_Master_ENET_1G_TX = 7U, /**< ENET_1G_TX */
  1449. kXRDC2_Master_ENET_QOS = 8U, /**< ENET_QOS */
  1450. kXRDC2_Master_GPU = 9U, /**< GPU */
  1451. kXRDC2_Master_LCDIF = 10U, /**< LCDIF */
  1452. kXRDC2_Master_LCDIFV2 = 11U, /**< LCDIFV2 */
  1453. kXRDC2_Master_PXP = 12U, /**< PXP */
  1454. kXRDC2_Master_SSARC = 14U, /**< SSARC */
  1455. kXRDC2_Master_USB = 15U, /**< USB */
  1456. kXRDC2_Master_USDHC1 = 16U, /**< USDHC1 */
  1457. kXRDC2_Master_USDHC2 = 17U, /**< USDHC2 */
  1458. } xrdc2_master_t;
  1459. typedef enum _xrdc2_mem
  1460. {
  1461. kXRDC2_Mem_CAAM_Region0 = XRDC2_MAKE_MEM(0, 0), /**< MRC0 Memory 0 */
  1462. kXRDC2_Mem_CAAM_Region1 = XRDC2_MAKE_MEM(0, 1), /**< MRC0 Memory 1 */
  1463. kXRDC2_Mem_CAAM_Region2 = XRDC2_MAKE_MEM(0, 2), /**< MRC0 Memory 2 */
  1464. kXRDC2_Mem_CAAM_Region3 = XRDC2_MAKE_MEM(0, 3), /**< MRC0 Memory 3 */
  1465. kXRDC2_Mem_CAAM_Region4 = XRDC2_MAKE_MEM(0, 4), /**< MRC0 Memory 4 */
  1466. kXRDC2_Mem_CAAM_Region5 = XRDC2_MAKE_MEM(0, 5), /**< MRC0 Memory 5 */
  1467. kXRDC2_Mem_CAAM_Region6 = XRDC2_MAKE_MEM(0, 6), /**< MRC0 Memory 6 */
  1468. kXRDC2_Mem_CAAM_Region7 = XRDC2_MAKE_MEM(0, 7), /**< MRC0 Memory 7 */
  1469. kXRDC2_Mem_CAAM_Region8 = XRDC2_MAKE_MEM(0, 8), /**< MRC0 Memory 8 */
  1470. kXRDC2_Mem_CAAM_Region9 = XRDC2_MAKE_MEM(0, 9), /**< MRC0 Memory 9 */
  1471. kXRDC2_Mem_CAAM_Region10 = XRDC2_MAKE_MEM(0, 10), /**< MRC0 Memory 10 */
  1472. kXRDC2_Mem_CAAM_Region11 = XRDC2_MAKE_MEM(0, 11), /**< MRC0 Memory 11 */
  1473. kXRDC2_Mem_CAAM_Region12 = XRDC2_MAKE_MEM(0, 12), /**< MRC0 Memory 12 */
  1474. kXRDC2_Mem_CAAM_Region13 = XRDC2_MAKE_MEM(0, 13), /**< MRC0 Memory 13 */
  1475. kXRDC2_Mem_CAAM_Region14 = XRDC2_MAKE_MEM(0, 14), /**< MRC0 Memory 14 */
  1476. kXRDC2_Mem_CAAM_Region15 = XRDC2_MAKE_MEM(0, 15), /**< MRC0 Memory 15 */
  1477. kXRDC2_Mem_FLEXSPI1_Region0 = XRDC2_MAKE_MEM(1, 0), /**< MRC1 Memory 0 */
  1478. kXRDC2_Mem_FLEXSPI1_Region1 = XRDC2_MAKE_MEM(1, 1), /**< MRC1 Memory 1 */
  1479. kXRDC2_Mem_FLEXSPI1_Region2 = XRDC2_MAKE_MEM(1, 2), /**< MRC1 Memory 2 */
  1480. kXRDC2_Mem_FLEXSPI1_Region3 = XRDC2_MAKE_MEM(1, 3), /**< MRC1 Memory 3 */
  1481. kXRDC2_Mem_FLEXSPI1_Region4 = XRDC2_MAKE_MEM(1, 4), /**< MRC1 Memory 4 */
  1482. kXRDC2_Mem_FLEXSPI1_Region5 = XRDC2_MAKE_MEM(1, 5), /**< MRC1 Memory 5 */
  1483. kXRDC2_Mem_FLEXSPI1_Region6 = XRDC2_MAKE_MEM(1, 6), /**< MRC1 Memory 6 */
  1484. kXRDC2_Mem_FLEXSPI1_Region7 = XRDC2_MAKE_MEM(1, 7), /**< MRC1 Memory 7 */
  1485. kXRDC2_Mem_FLEXSPI1_Region8 = XRDC2_MAKE_MEM(1, 8), /**< MRC1 Memory 8 */
  1486. kXRDC2_Mem_FLEXSPI1_Region9 = XRDC2_MAKE_MEM(1, 9), /**< MRC1 Memory 9 */
  1487. kXRDC2_Mem_FLEXSPI1_Region10 = XRDC2_MAKE_MEM(1, 10), /**< MRC1 Memory 10 */
  1488. kXRDC2_Mem_FLEXSPI1_Region11 = XRDC2_MAKE_MEM(1, 11), /**< MRC1 Memory 11 */
  1489. kXRDC2_Mem_FLEXSPI1_Region12 = XRDC2_MAKE_MEM(1, 12), /**< MRC1 Memory 12 */
  1490. kXRDC2_Mem_FLEXSPI1_Region13 = XRDC2_MAKE_MEM(1, 13), /**< MRC1 Memory 13 */
  1491. kXRDC2_Mem_FLEXSPI1_Region14 = XRDC2_MAKE_MEM(1, 14), /**< MRC1 Memory 14 */
  1492. kXRDC2_Mem_FLEXSPI1_Region15 = XRDC2_MAKE_MEM(1, 15), /**< MRC1 Memory 15 */
  1493. kXRDC2_Mem_FLEXSPI2_Region0 = XRDC2_MAKE_MEM(2, 0), /**< MRC2 Memory 0 */
  1494. kXRDC2_Mem_FLEXSPI2_Region1 = XRDC2_MAKE_MEM(2, 1), /**< MRC2 Memory 1 */
  1495. kXRDC2_Mem_FLEXSPI2_Region2 = XRDC2_MAKE_MEM(2, 2), /**< MRC2 Memory 2 */
  1496. kXRDC2_Mem_FLEXSPI2_Region3 = XRDC2_MAKE_MEM(2, 3), /**< MRC2 Memory 3 */
  1497. kXRDC2_Mem_FLEXSPI2_Region4 = XRDC2_MAKE_MEM(2, 4), /**< MRC2 Memory 4 */
  1498. kXRDC2_Mem_FLEXSPI2_Region5 = XRDC2_MAKE_MEM(2, 5), /**< MRC2 Memory 5 */
  1499. kXRDC2_Mem_FLEXSPI2_Region6 = XRDC2_MAKE_MEM(2, 6), /**< MRC2 Memory 6 */
  1500. kXRDC2_Mem_FLEXSPI2_Region7 = XRDC2_MAKE_MEM(2, 7), /**< MRC2 Memory 7 */
  1501. kXRDC2_Mem_FLEXSPI2_Region8 = XRDC2_MAKE_MEM(2, 8), /**< MRC2 Memory 8 */
  1502. kXRDC2_Mem_FLEXSPI2_Region9 = XRDC2_MAKE_MEM(2, 9), /**< MRC2 Memory 9 */
  1503. kXRDC2_Mem_FLEXSPI2_Region10 = XRDC2_MAKE_MEM(2, 10), /**< MRC2 Memory 10 */
  1504. kXRDC2_Mem_FLEXSPI2_Region11 = XRDC2_MAKE_MEM(2, 11), /**< MRC2 Memory 11 */
  1505. kXRDC2_Mem_FLEXSPI2_Region12 = XRDC2_MAKE_MEM(2, 12), /**< MRC2 Memory 12 */
  1506. kXRDC2_Mem_FLEXSPI2_Region13 = XRDC2_MAKE_MEM(2, 13), /**< MRC2 Memory 13 */
  1507. kXRDC2_Mem_FLEXSPI2_Region14 = XRDC2_MAKE_MEM(2, 14), /**< MRC2 Memory 14 */
  1508. kXRDC2_Mem_FLEXSPI2_Region15 = XRDC2_MAKE_MEM(2, 15), /**< MRC2 Memory 15 */
  1509. kXRDC2_Mem_M4LMEM_Region0 = XRDC2_MAKE_MEM(3, 0), /**< MRC3 Memory 0 */
  1510. kXRDC2_Mem_M4LMEM_Region1 = XRDC2_MAKE_MEM(3, 1), /**< MRC3 Memory 1 */
  1511. kXRDC2_Mem_M4LMEM_Region2 = XRDC2_MAKE_MEM(3, 2), /**< MRC3 Memory 2 */
  1512. kXRDC2_Mem_M4LMEM_Region3 = XRDC2_MAKE_MEM(3, 3), /**< MRC3 Memory 3 */
  1513. kXRDC2_Mem_M4LMEM_Region4 = XRDC2_MAKE_MEM(3, 4), /**< MRC3 Memory 4 */
  1514. kXRDC2_Mem_M4LMEM_Region5 = XRDC2_MAKE_MEM(3, 5), /**< MRC3 Memory 5 */
  1515. kXRDC2_Mem_M4LMEM_Region6 = XRDC2_MAKE_MEM(3, 6), /**< MRC3 Memory 6 */
  1516. kXRDC2_Mem_M4LMEM_Region7 = XRDC2_MAKE_MEM(3, 7), /**< MRC3 Memory 7 */
  1517. kXRDC2_Mem_M4LMEM_Region8 = XRDC2_MAKE_MEM(3, 8), /**< MRC3 Memory 8 */
  1518. kXRDC2_Mem_M4LMEM_Region9 = XRDC2_MAKE_MEM(3, 9), /**< MRC3 Memory 9 */
  1519. kXRDC2_Mem_M4LMEM_Region10 = XRDC2_MAKE_MEM(3, 10), /**< MRC3 Memory 10 */
  1520. kXRDC2_Mem_M4LMEM_Region11 = XRDC2_MAKE_MEM(3, 11), /**< MRC3 Memory 11 */
  1521. kXRDC2_Mem_M4LMEM_Region12 = XRDC2_MAKE_MEM(3, 12), /**< MRC3 Memory 12 */
  1522. kXRDC2_Mem_M4LMEM_Region13 = XRDC2_MAKE_MEM(3, 13), /**< MRC3 Memory 13 */
  1523. kXRDC2_Mem_M4LMEM_Region14 = XRDC2_MAKE_MEM(3, 14), /**< MRC3 Memory 14 */
  1524. kXRDC2_Mem_M4LMEM_Region15 = XRDC2_MAKE_MEM(3, 15), /**< MRC3 Memory 15 */
  1525. kXRDC2_Mem_M7OC_Region0 = XRDC2_MAKE_MEM(4, 0), /**< MRC4 Memory 0 */
  1526. kXRDC2_Mem_M7OC_Region1 = XRDC2_MAKE_MEM(4, 1), /**< MRC4 Memory 1 */
  1527. kXRDC2_Mem_M7OC_Region2 = XRDC2_MAKE_MEM(4, 2), /**< MRC4 Memory 2 */
  1528. kXRDC2_Mem_M7OC_Region3 = XRDC2_MAKE_MEM(4, 3), /**< MRC4 Memory 3 */
  1529. kXRDC2_Mem_M7OC_Region4 = XRDC2_MAKE_MEM(4, 4), /**< MRC4 Memory 4 */
  1530. kXRDC2_Mem_M7OC_Region5 = XRDC2_MAKE_MEM(4, 5), /**< MRC4 Memory 5 */
  1531. kXRDC2_Mem_M7OC_Region6 = XRDC2_MAKE_MEM(4, 6), /**< MRC4 Memory 6 */
  1532. kXRDC2_Mem_M7OC_Region7 = XRDC2_MAKE_MEM(4, 7), /**< MRC4 Memory 7 */
  1533. kXRDC2_Mem_M7OC_Region8 = XRDC2_MAKE_MEM(4, 8), /**< MRC4 Memory 8 */
  1534. kXRDC2_Mem_M7OC_Region9 = XRDC2_MAKE_MEM(4, 9), /**< MRC4 Memory 9 */
  1535. kXRDC2_Mem_M7OC_Region10 = XRDC2_MAKE_MEM(4, 10), /**< MRC4 Memory 10 */
  1536. kXRDC2_Mem_M7OC_Region11 = XRDC2_MAKE_MEM(4, 11), /**< MRC4 Memory 11 */
  1537. kXRDC2_Mem_M7OC_Region12 = XRDC2_MAKE_MEM(4, 12), /**< MRC4 Memory 12 */
  1538. kXRDC2_Mem_M7OC_Region13 = XRDC2_MAKE_MEM(4, 13), /**< MRC4 Memory 13 */
  1539. kXRDC2_Mem_M7OC_Region14 = XRDC2_MAKE_MEM(4, 14), /**< MRC4 Memory 14 */
  1540. kXRDC2_Mem_M7OC_Region15 = XRDC2_MAKE_MEM(4, 15), /**< MRC4 Memory 15 */
  1541. kXRDC2_Mem_MECC1_Region0 = XRDC2_MAKE_MEM(5, 0), /**< MRC5 Memory 0 */
  1542. kXRDC2_Mem_MECC1_Region1 = XRDC2_MAKE_MEM(5, 1), /**< MRC5 Memory 1 */
  1543. kXRDC2_Mem_MECC1_Region2 = XRDC2_MAKE_MEM(5, 2), /**< MRC5 Memory 2 */
  1544. kXRDC2_Mem_MECC1_Region3 = XRDC2_MAKE_MEM(5, 3), /**< MRC5 Memory 3 */
  1545. kXRDC2_Mem_MECC1_Region4 = XRDC2_MAKE_MEM(5, 4), /**< MRC5 Memory 4 */
  1546. kXRDC2_Mem_MECC1_Region5 = XRDC2_MAKE_MEM(5, 5), /**< MRC5 Memory 5 */
  1547. kXRDC2_Mem_MECC1_Region6 = XRDC2_MAKE_MEM(5, 6), /**< MRC5 Memory 6 */
  1548. kXRDC2_Mem_MECC1_Region7 = XRDC2_MAKE_MEM(5, 7), /**< MRC5 Memory 7 */
  1549. kXRDC2_Mem_MECC1_Region8 = XRDC2_MAKE_MEM(5, 8), /**< MRC5 Memory 8 */
  1550. kXRDC2_Mem_MECC1_Region9 = XRDC2_MAKE_MEM(5, 9), /**< MRC5 Memory 9 */
  1551. kXRDC2_Mem_MECC1_Region10 = XRDC2_MAKE_MEM(5, 10), /**< MRC5 Memory 10 */
  1552. kXRDC2_Mem_MECC1_Region11 = XRDC2_MAKE_MEM(5, 11), /**< MRC5 Memory 11 */
  1553. kXRDC2_Mem_MECC1_Region12 = XRDC2_MAKE_MEM(5, 12), /**< MRC5 Memory 12 */
  1554. kXRDC2_Mem_MECC1_Region13 = XRDC2_MAKE_MEM(5, 13), /**< MRC5 Memory 13 */
  1555. kXRDC2_Mem_MECC1_Region14 = XRDC2_MAKE_MEM(5, 14), /**< MRC5 Memory 14 */
  1556. kXRDC2_Mem_MECC1_Region15 = XRDC2_MAKE_MEM(5, 15), /**< MRC5 Memory 15 */
  1557. kXRDC2_Mem_MECC2_Region0 = XRDC2_MAKE_MEM(6, 0), /**< MRC6 Memory 0 */
  1558. kXRDC2_Mem_MECC2_Region1 = XRDC2_MAKE_MEM(6, 1), /**< MRC6 Memory 1 */
  1559. kXRDC2_Mem_MECC2_Region2 = XRDC2_MAKE_MEM(6, 2), /**< MRC6 Memory 2 */
  1560. kXRDC2_Mem_MECC2_Region3 = XRDC2_MAKE_MEM(6, 3), /**< MRC6 Memory 3 */
  1561. kXRDC2_Mem_MECC2_Region4 = XRDC2_MAKE_MEM(6, 4), /**< MRC6 Memory 4 */
  1562. kXRDC2_Mem_MECC2_Region5 = XRDC2_MAKE_MEM(6, 5), /**< MRC6 Memory 5 */
  1563. kXRDC2_Mem_MECC2_Region6 = XRDC2_MAKE_MEM(6, 6), /**< MRC6 Memory 6 */
  1564. kXRDC2_Mem_MECC2_Region7 = XRDC2_MAKE_MEM(6, 7), /**< MRC6 Memory 7 */
  1565. kXRDC2_Mem_MECC2_Region8 = XRDC2_MAKE_MEM(6, 8), /**< MRC6 Memory 8 */
  1566. kXRDC2_Mem_MECC2_Region9 = XRDC2_MAKE_MEM(6, 9), /**< MRC6 Memory 9 */
  1567. kXRDC2_Mem_MECC2_Region10 = XRDC2_MAKE_MEM(6, 10), /**< MRC6 Memory 10 */
  1568. kXRDC2_Mem_MECC2_Region11 = XRDC2_MAKE_MEM(6, 11), /**< MRC6 Memory 11 */
  1569. kXRDC2_Mem_MECC2_Region12 = XRDC2_MAKE_MEM(6, 12), /**< MRC6 Memory 12 */
  1570. kXRDC2_Mem_MECC2_Region13 = XRDC2_MAKE_MEM(6, 13), /**< MRC6 Memory 13 */
  1571. kXRDC2_Mem_MECC2_Region14 = XRDC2_MAKE_MEM(6, 14), /**< MRC6 Memory 14 */
  1572. kXRDC2_Mem_MECC2_Region15 = XRDC2_MAKE_MEM(6, 15), /**< MRC6 Memory 15 */
  1573. kXRDC2_Mem_SEMC_Region0 = XRDC2_MAKE_MEM(7, 0), /**< MRC7 Memory 0 */
  1574. kXRDC2_Mem_SEMC_Region1 = XRDC2_MAKE_MEM(7, 1), /**< MRC7 Memory 1 */
  1575. kXRDC2_Mem_SEMC_Region2 = XRDC2_MAKE_MEM(7, 2), /**< MRC7 Memory 2 */
  1576. kXRDC2_Mem_SEMC_Region3 = XRDC2_MAKE_MEM(7, 3), /**< MRC7 Memory 3 */
  1577. kXRDC2_Mem_SEMC_Region4 = XRDC2_MAKE_MEM(7, 4), /**< MRC7 Memory 4 */
  1578. kXRDC2_Mem_SEMC_Region5 = XRDC2_MAKE_MEM(7, 5), /**< MRC7 Memory 5 */
  1579. kXRDC2_Mem_SEMC_Region6 = XRDC2_MAKE_MEM(7, 6), /**< MRC7 Memory 6 */
  1580. kXRDC2_Mem_SEMC_Region7 = XRDC2_MAKE_MEM(7, 7), /**< MRC7 Memory 7 */
  1581. kXRDC2_Mem_SEMC_Region8 = XRDC2_MAKE_MEM(7, 8), /**< MRC7 Memory 8 */
  1582. kXRDC2_Mem_SEMC_Region9 = XRDC2_MAKE_MEM(7, 9), /**< MRC7 Memory 9 */
  1583. kXRDC2_Mem_SEMC_Region10 = XRDC2_MAKE_MEM(7, 10), /**< MRC7 Memory 10 */
  1584. kXRDC2_Mem_SEMC_Region11 = XRDC2_MAKE_MEM(7, 11), /**< MRC7 Memory 11 */
  1585. kXRDC2_Mem_SEMC_Region12 = XRDC2_MAKE_MEM(7, 12), /**< MRC7 Memory 12 */
  1586. kXRDC2_Mem_SEMC_Region13 = XRDC2_MAKE_MEM(7, 13), /**< MRC7 Memory 13 */
  1587. kXRDC2_Mem_SEMC_Region14 = XRDC2_MAKE_MEM(7, 14), /**< MRC7 Memory 14 */
  1588. kXRDC2_Mem_SEMC_Region15 = XRDC2_MAKE_MEM(7, 15), /**< MRC7 Memory 15 */
  1589. } xrdc2_mem_t;
  1590. typedef enum _xrdc2_mem_slot
  1591. {
  1592. kXRDC2_MemSlot_GPV0 = 0U, /**< GPV0 */
  1593. kXRDC2_MemSlot_GPV1 = 1U, /**< GPV1 */
  1594. kXRDC2_MemSlot_GPV2 = 2U, /**< GPV2 */
  1595. kXRDC2_MemSlot_ROMCP = 3U, /**< ROMCP */
  1596. } xrdc2_mem_slot_t;
  1597. typedef enum _xrdc2_periph
  1598. {
  1599. kXRDC2_Periph_ACMP4 = XRDC2_MAKE_PERIPH(0, 108), /**< ACMP4 */
  1600. kXRDC2_Periph_ACMP3 = XRDC2_MAKE_PERIPH(0, 107), /**< ACMP3 */
  1601. kXRDC2_Periph_ACMP2 = XRDC2_MAKE_PERIPH(0, 106), /**< ACMP2 */
  1602. kXRDC2_Periph_ACMP1 = XRDC2_MAKE_PERIPH(0, 105), /**< ACMP1 */
  1603. kXRDC2_Periph_FLEXPWM4 = XRDC2_MAKE_PERIPH(0, 102), /**< FLEXPWM4 */
  1604. kXRDC2_Periph_FLEXPWM3 = XRDC2_MAKE_PERIPH(0, 101), /**< FLEXPWM3 */
  1605. kXRDC2_Periph_FLEXPWM2 = XRDC2_MAKE_PERIPH(0, 100), /**< FLEXPWM2 */
  1606. kXRDC2_Periph_FLEXPWM1 = XRDC2_MAKE_PERIPH(0, 99 ), /**< FLEXPWM1 */
  1607. kXRDC2_Periph_ENC4 = XRDC2_MAKE_PERIPH(0, 96 ), /**< ENC4 */
  1608. kXRDC2_Periph_ENC3 = XRDC2_MAKE_PERIPH(0, 95 ), /**< ENC3 */
  1609. kXRDC2_Periph_ENC2 = XRDC2_MAKE_PERIPH(0, 94 ), /**< ENC2 */
  1610. kXRDC2_Periph_ENC1 = XRDC2_MAKE_PERIPH(0, 93 ), /**< ENC1 */
  1611. kXRDC2_Periph_QTIMER4 = XRDC2_MAKE_PERIPH(0, 90 ), /**< QTIMER4 */
  1612. kXRDC2_Periph_QTIMER3 = XRDC2_MAKE_PERIPH(0, 89 ), /**< QTIMER3 */
  1613. kXRDC2_Periph_QTIMER2 = XRDC2_MAKE_PERIPH(0, 88 ), /**< QTIMER2 */
  1614. kXRDC2_Periph_QTIMER1 = XRDC2_MAKE_PERIPH(0, 87 ), /**< QTIMER1 */
  1615. kXRDC2_Periph_SIM2 = XRDC2_MAKE_PERIPH(0, 86 ), /**< SIM2 */
  1616. kXRDC2_Periph_SIM1 = XRDC2_MAKE_PERIPH(0, 85 ), /**< SIM1 */
  1617. kXRDC2_Periph_CCM_OBS = XRDC2_MAKE_PERIPH(0, 84 ), /**< CCM_OBS */
  1618. kXRDC2_Periph_GPIO6 = XRDC2_MAKE_PERIPH(0, 80 ), /**< GPIO6 */
  1619. kXRDC2_Periph_GPIO5 = XRDC2_MAKE_PERIPH(0, 79 ), /**< GPIO5 */
  1620. kXRDC2_Periph_GPIO4 = XRDC2_MAKE_PERIPH(0, 78 ), /**< GPIO4 */
  1621. kXRDC2_Periph_GPIO3 = XRDC2_MAKE_PERIPH(0, 77 ), /**< GPIO3 */
  1622. kXRDC2_Periph_GPIO2 = XRDC2_MAKE_PERIPH(0, 76 ), /**< GPIO2 */
  1623. kXRDC2_Periph_GPIO1 = XRDC2_MAKE_PERIPH(0, 75 ), /**< GPIO1 */
  1624. kXRDC2_Periph_LPSPI4 = XRDC2_MAKE_PERIPH(0, 72 ), /**< LPSPI4 */
  1625. kXRDC2_Periph_LPSPI3 = XRDC2_MAKE_PERIPH(0, 71 ), /**< LPSPI3 */
  1626. kXRDC2_Periph_LPSPI2 = XRDC2_MAKE_PERIPH(0, 70 ), /**< LPSPI2 */
  1627. kXRDC2_Periph_LPSPI1 = XRDC2_MAKE_PERIPH(0, 69 ), /**< LPSPI1 */
  1628. kXRDC2_Periph_LPI2C4 = XRDC2_MAKE_PERIPH(0, 68 ), /**< LPI2C4 */
  1629. kXRDC2_Periph_LPI2C3 = XRDC2_MAKE_PERIPH(0, 67 ), /**< LPI2C3 */
  1630. kXRDC2_Periph_LPI2C2 = XRDC2_MAKE_PERIPH(0, 66 ), /**< LPI2C2 */
  1631. kXRDC2_Periph_LPI2C1 = XRDC2_MAKE_PERIPH(0, 65 ), /**< LPI2C1 */
  1632. kXRDC2_Periph_GPT6 = XRDC2_MAKE_PERIPH(0, 64 ), /**< GPT6 */
  1633. kXRDC2_Periph_GPT5 = XRDC2_MAKE_PERIPH(0, 63 ), /**< GPT5 */
  1634. kXRDC2_Periph_GPT4 = XRDC2_MAKE_PERIPH(0, 62 ), /**< GPT4 */
  1635. kXRDC2_Periph_GPT3 = XRDC2_MAKE_PERIPH(0, 61 ), /**< GPT3 */
  1636. kXRDC2_Periph_GPT2 = XRDC2_MAKE_PERIPH(0, 60 ), /**< GPT2 */
  1637. kXRDC2_Periph_GPT1 = XRDC2_MAKE_PERIPH(0, 59 ), /**< GPT1 */
  1638. kXRDC2_Periph_IOMUXC = XRDC2_MAKE_PERIPH(0, 58 ), /**< IOMUXC */
  1639. kXRDC2_Periph_IOMUXC_GPR = XRDC2_MAKE_PERIPH(0, 57 ), /**< IOMUXC_GPR */
  1640. kXRDC2_Periph_KPP = XRDC2_MAKE_PERIPH(0, 56 ), /**< KPP */
  1641. kXRDC2_Periph_PIT1 = XRDC2_MAKE_PERIPH(0, 54 ), /**< PIT1 */
  1642. kXRDC2_Periph_SEMC = XRDC2_MAKE_PERIPH(0, 53 ), /**< SEMC */
  1643. kXRDC2_Periph_FLEXSPI2 = XRDC2_MAKE_PERIPH(0, 52 ), /**< FLEXSPI2 */
  1644. kXRDC2_Periph_FLEXSPI1 = XRDC2_MAKE_PERIPH(0, 51 ), /**< FLEXSPI1 */
  1645. kXRDC2_Periph_CAN2 = XRDC2_MAKE_PERIPH(0, 50 ), /**< CAN2 */
  1646. kXRDC2_Periph_CAN1 = XRDC2_MAKE_PERIPH(0, 49 ), /**< CAN1 */
  1647. kXRDC2_Periph_AOI2 = XRDC2_MAKE_PERIPH(0, 47 ), /**< AOI2 */
  1648. kXRDC2_Periph_AOI1 = XRDC2_MAKE_PERIPH(0, 46 ), /**< AOI1 */
  1649. kXRDC2_Periph_FLEXIO2 = XRDC2_MAKE_PERIPH(0, 44 ), /**< FLEXIO2 */
  1650. kXRDC2_Periph_FLEXIO1 = XRDC2_MAKE_PERIPH(0, 43 ), /**< FLEXIO1 */
  1651. kXRDC2_Periph_LPUART10 = XRDC2_MAKE_PERIPH(0, 40 ), /**< LPUART10 */
  1652. kXRDC2_Periph_LPUART9 = XRDC2_MAKE_PERIPH(0, 39 ), /**< LPUART9 */
  1653. kXRDC2_Periph_LPUART8 = XRDC2_MAKE_PERIPH(0, 38 ), /**< LPUART8 */
  1654. kXRDC2_Periph_LPUART7 = XRDC2_MAKE_PERIPH(0, 37 ), /**< LPUART7 */
  1655. kXRDC2_Periph_LPUART6 = XRDC2_MAKE_PERIPH(0, 36 ), /**< LPUART6 */
  1656. kXRDC2_Periph_LPUART5 = XRDC2_MAKE_PERIPH(0, 35 ), /**< LPUART5 */
  1657. kXRDC2_Periph_LPUART4 = XRDC2_MAKE_PERIPH(0, 34 ), /**< LPUART4 */
  1658. kXRDC2_Periph_LPUART3 = XRDC2_MAKE_PERIPH(0, 33 ), /**< LPUART3 */
  1659. kXRDC2_Periph_LPUART2 = XRDC2_MAKE_PERIPH(0, 32 ), /**< LPUART2 */
  1660. kXRDC2_Periph_LPUART1 = XRDC2_MAKE_PERIPH(0, 31 ), /**< LPUART1 */
  1661. kXRDC2_Periph_DMA_CH_MUX = XRDC2_MAKE_PERIPH(0, 29 ), /**< DMA_CH_MUX */
  1662. kXRDC2_Periph_EDMA = XRDC2_MAKE_PERIPH(0, 28 ), /**< EDMA */
  1663. kXRDC2_Periph_IEE = XRDC2_MAKE_PERIPH(0, 27 ), /**< IEE */
  1664. kXRDC2_Periph_DAC = XRDC2_MAKE_PERIPH(0, 25 ), /**< DAC */
  1665. kXRDC2_Periph_TSC_DIG = XRDC2_MAKE_PERIPH(0, 23 ), /**< TSC_DIG */
  1666. kXRDC2_Periph_ADC2 = XRDC2_MAKE_PERIPH(0, 21 ), /**< ADC2 */
  1667. kXRDC2_Periph_ADC1 = XRDC2_MAKE_PERIPH(0, 20 ), /**< ADC1 */
  1668. kXRDC2_Periph_ADC_ETC = XRDC2_MAKE_PERIPH(0, 18 ), /**< ADC_ETC */
  1669. kXRDC2_Periph_XBAR3 = XRDC2_MAKE_PERIPH(0, 17 ), /**< XBAR3 */
  1670. kXRDC2_Periph_XBAR2 = XRDC2_MAKE_PERIPH(0, 16 ), /**< XBAR2 */
  1671. kXRDC2_Periph_XBAR1 = XRDC2_MAKE_PERIPH(0, 15 ), /**< XBAR1 */
  1672. kXRDC2_Periph_WDOG3 = XRDC2_MAKE_PERIPH(0, 14 ), /**< WDOG3 */
  1673. kXRDC2_Periph_WDOG2 = XRDC2_MAKE_PERIPH(0, 13 ), /**< WDOG2 */
  1674. kXRDC2_Periph_WDOG1 = XRDC2_MAKE_PERIPH(0, 12 ), /**< WDOG1 */
  1675. kXRDC2_Periph_EWM = XRDC2_MAKE_PERIPH(0, 11 ), /**< EWM */
  1676. kXRDC2_Periph_FLEXRAM = XRDC2_MAKE_PERIPH(0, 10 ), /**< FLEXRAM */
  1677. kXRDC2_Periph_XECC_SEMC = XRDC2_MAKE_PERIPH(0, 9 ), /**< XECC_SEMC */
  1678. kXRDC2_Periph_XECC_FLEXSPI2 = XRDC2_MAKE_PERIPH(0, 8 ), /**< XECC_FLEXSPI2 */
  1679. kXRDC2_Periph_XECC_FLEXSPI1 = XRDC2_MAKE_PERIPH(0, 7 ), /**< XECC_FLEXSPI1 */
  1680. kXRDC2_Periph_MECC2 = XRDC2_MAKE_PERIPH(0, 6 ), /**< MECC2 */
  1681. kXRDC2_Periph_MECC1 = XRDC2_MAKE_PERIPH(0, 5 ), /**< MECC1 */
  1682. kXRDC2_Periph_MTR = XRDC2_MAKE_PERIPH(0, 4 ), /**< MTR */
  1683. kXRDC2_Periph_SFA = XRDC2_MAKE_PERIPH(0, 3 ), /**< SFA */
  1684. kXRDC2_Periph_CAAM_DEBUG_3 = XRDC2_MAKE_PERIPH(1, 51 ), /**< CAAM_DEBUG_3 */
  1685. kXRDC2_Periph_CAAM_DEBUG_2 = XRDC2_MAKE_PERIPH(1, 50 ), /**< CAAM_DEBUG_2 */
  1686. kXRDC2_Periph_CAAM_DEBUG_1 = XRDC2_MAKE_PERIPH(1, 49 ), /**< CAAM_DEBUG_1 */
  1687. kXRDC2_Periph_CAAM_DEBUG_0 = XRDC2_MAKE_PERIPH(1, 48 ), /**< CAAM_DEBUG_0 */
  1688. kXRDC2_Periph_CAAM_RTIC_3 = XRDC2_MAKE_PERIPH(1, 43 ), /**< CAAM_RTIC_3 */
  1689. kXRDC2_Periph_CAAM_RTIC_2 = XRDC2_MAKE_PERIPH(1, 42 ), /**< CAAM_RTIC_2 */
  1690. kXRDC2_Periph_CAAM_RTIC_1 = XRDC2_MAKE_PERIPH(1, 41 ), /**< CAAM_RTIC_1 */
  1691. kXRDC2_Periph_CAAM_RTIC_0 = XRDC2_MAKE_PERIPH(1, 40 ), /**< CAAM_RTIC_0 */
  1692. kXRDC2_Periph_CAAM_JR3_3 = XRDC2_MAKE_PERIPH(1, 35 ), /**< CAAM_JR3_3 */
  1693. kXRDC2_Periph_CAAM_JR3_2 = XRDC2_MAKE_PERIPH(1, 34 ), /**< CAAM_JR3_2 */
  1694. kXRDC2_Periph_CAAM_JR3_1 = XRDC2_MAKE_PERIPH(1, 33 ), /**< CAAM_JR3_1 */
  1695. kXRDC2_Periph_CAAM_JR3_0 = XRDC2_MAKE_PERIPH(1, 32 ), /**< CAAM_JR3_0 */
  1696. kXRDC2_Periph_CAAM_JR2_3 = XRDC2_MAKE_PERIPH(1, 31 ), /**< CAAM_JR2_3 */
  1697. kXRDC2_Periph_CAAM_JR2_2 = XRDC2_MAKE_PERIPH(1, 30 ), /**< CAAM_JR2_2 */
  1698. kXRDC2_Periph_CAAM_JR2_1 = XRDC2_MAKE_PERIPH(1, 29 ), /**< CAAM_JR2_1 */
  1699. kXRDC2_Periph_CAAM_JR2_0 = XRDC2_MAKE_PERIPH(1, 28 ), /**< CAAM_JR2_0 */
  1700. kXRDC2_Periph_CAAM_JR1_3 = XRDC2_MAKE_PERIPH(1, 27 ), /**< CAAM_JR1_3 */
  1701. kXRDC2_Periph_CAAM_JR1_2 = XRDC2_MAKE_PERIPH(1, 26 ), /**< CAAM_JR1_2 */
  1702. kXRDC2_Periph_CAAM_JR1_1 = XRDC2_MAKE_PERIPH(1, 25 ), /**< CAAM_JR1_1 */
  1703. kXRDC2_Periph_CAAM_JR1_0 = XRDC2_MAKE_PERIPH(1, 24 ), /**< CAAM_JR1_0 */
  1704. kXRDC2_Periph_CAAM_JR0_3 = XRDC2_MAKE_PERIPH(1, 23 ), /**< CAAM_JR0_3 */
  1705. kXRDC2_Periph_CAAM_JR0_2 = XRDC2_MAKE_PERIPH(1, 22 ), /**< CAAM_JR0_2 */
  1706. kXRDC2_Periph_CAAM_JR0_1 = XRDC2_MAKE_PERIPH(1, 21 ), /**< CAAM_JR0_1 */
  1707. kXRDC2_Periph_CAAM_JR0_0 = XRDC2_MAKE_PERIPH(1, 20 ), /**< CAAM_JR0_0 */
  1708. kXRDC2_Periph_CAAM_GENERAL_3 = XRDC2_MAKE_PERIPH(1, 19 ), /**< CAAM_GENERAL_3 */
  1709. kXRDC2_Periph_CAAM_GENERAL_2 = XRDC2_MAKE_PERIPH(1, 18 ), /**< CAAM_GENERAL_2 */
  1710. kXRDC2_Periph_CAAM_GENERAL_1 = XRDC2_MAKE_PERIPH(1, 17 ), /**< CAAM_GENERAL_1 */
  1711. kXRDC2_Periph_CAAM_GENERAL_0 = XRDC2_MAKE_PERIPH(1, 16 ), /**< CAAM_GENERAL_0 */
  1712. kXRDC2_Periph_ENET_QOS = XRDC2_MAKE_PERIPH(1, 15 ), /**< ENET_QOS */
  1713. kXRDC2_Periph_USBPHY2 = XRDC2_MAKE_PERIPH(1, 14 ), /**< USBPHY2 */
  1714. kXRDC2_Periph_USBPHY1 = XRDC2_MAKE_PERIPH(1, 13 ), /**< USBPHY1 */
  1715. kXRDC2_Periph_USB_OTG = XRDC2_MAKE_PERIPH(1, 12 ), /**< USB_OTG */
  1716. kXRDC2_Periph_USB_OTG2 = XRDC2_MAKE_PERIPH(1, 11 ), /**< USB_OTG2 */
  1717. kXRDC2_Periph_USB_PL301 = XRDC2_MAKE_PERIPH(1, 10 ), /**< USB_PL301 */
  1718. kXRDC2_Periph_ENET = XRDC2_MAKE_PERIPH(1, 9 ), /**< ENET */
  1719. kXRDC2_Periph_ENET_1G = XRDC2_MAKE_PERIPH(1, 8 ), /**< ENET_1G */
  1720. kXRDC2_Periph_USDHC2 = XRDC2_MAKE_PERIPH(1, 7 ), /**< USDHC2 */
  1721. kXRDC2_Periph_USDHC1 = XRDC2_MAKE_PERIPH(1, 6 ), /**< USDHC1 */
  1722. kXRDC2_Periph_ASRC = XRDC2_MAKE_PERIPH(1, 5 ), /**< ASRC */
  1723. kXRDC2_Periph_SAI3 = XRDC2_MAKE_PERIPH(1, 3 ), /**< SAI3 */
  1724. kXRDC2_Periph_SAI2 = XRDC2_MAKE_PERIPH(1, 2 ), /**< SAI2 */
  1725. kXRDC2_Periph_SAI1 = XRDC2_MAKE_PERIPH(1, 1 ), /**< SAI1 */
  1726. kXRDC2_Periph_SPDIF = XRDC2_MAKE_PERIPH(1, 0 ), /**< SPDIF */
  1727. kXRDC2_Periph_VIDEO_MUX = XRDC2_MAKE_PERIPH(2, 6 ), /**< VIDEO_MUX */
  1728. kXRDC2_Periph_PXP = XRDC2_MAKE_PERIPH(2, 5 ), /**< PXP */
  1729. kXRDC2_Periph_MIPI_CSI = XRDC2_MAKE_PERIPH(2, 4 ), /**< MIPI_CSI */
  1730. kXRDC2_Periph_MIPI_DSI = XRDC2_MAKE_PERIPH(2, 3 ), /**< MIPI_DSI */
  1731. kXRDC2_Periph_LCDIFV2 = XRDC2_MAKE_PERIPH(2, 2 ), /**< LCDIFV2 */
  1732. kXRDC2_Periph_LCDIF = XRDC2_MAKE_PERIPH(2, 1 ), /**< LCDIF */
  1733. kXRDC2_Periph_CSI = XRDC2_MAKE_PERIPH(2, 0 ), /**< CSI */
  1734. kXRDC2_Periph_XRDC2_MGR_M7_3 = XRDC2_MAKE_PERIPH(3, 59 ), /**< XRDC2_MGR_M7_3 */
  1735. kXRDC2_Periph_XRDC2_MGR_M7_2 = XRDC2_MAKE_PERIPH(3, 58 ), /**< XRDC2_MGR_M7_2 */
  1736. kXRDC2_Periph_XRDC2_MGR_M7_1 = XRDC2_MAKE_PERIPH(3, 57 ), /**< XRDC2_MGR_M7_1 */
  1737. kXRDC2_Periph_XRDC2_MGR_M7_0 = XRDC2_MAKE_PERIPH(3, 56 ), /**< XRDC2_MGR_M7_0 */
  1738. kXRDC2_Periph_XRDC2_MGR_M4_3 = XRDC2_MAKE_PERIPH(3, 55 ), /**< XRDC2_MGR_M4_3 */
  1739. kXRDC2_Periph_XRDC2_MGR_M4_2 = XRDC2_MAKE_PERIPH(3, 54 ), /**< XRDC2_MGR_M4_2 */
  1740. kXRDC2_Periph_XRDC2_MGR_M4_1 = XRDC2_MAKE_PERIPH(3, 53 ), /**< XRDC2_MGR_M4_1 */
  1741. kXRDC2_Periph_XRDC2_MGR_M4_0 = XRDC2_MAKE_PERIPH(3, 52 ), /**< XRDC2_MGR_M4_0 */
  1742. kXRDC2_Periph_SEMA2 = XRDC2_MAKE_PERIPH(3, 51 ), /**< SEMA2 */
  1743. kXRDC2_Periph_SEMA_HS = XRDC2_MAKE_PERIPH(3, 50 ), /**< SEMA_HS */
  1744. kXRDC2_Periph_CCM_1 = XRDC2_MAKE_PERIPH(3, 49 ), /**< CCM_1 */
  1745. kXRDC2_Periph_CCM_0 = XRDC2_MAKE_PERIPH(3, 48 ), /**< CCM_0 */
  1746. kXRDC2_Periph_SSARC_LP = XRDC2_MAKE_PERIPH(3, 46 ), /**< SSARC_LP */
  1747. kXRDC2_Periph_SSARC_HP = XRDC2_MAKE_PERIPH(3, 45 ), /**< SSARC_HP */
  1748. kXRDC2_Periph_PIT2 = XRDC2_MAKE_PERIPH(3, 44 ), /**< PIT2 */
  1749. kXRDC2_Periph_OCOTP_CTRL_WRAPPER = XRDC2_MAKE_PERIPH(3, 43 ), /**< OCOTP_CTRL_WRAPPER */
  1750. kXRDC2_Periph_DCDC = XRDC2_MAKE_PERIPH(3, 42 ), /**< DCDC */
  1751. kXRDC2_Periph_ROMCP = XRDC2_MAKE_PERIPH(3, 41 ), /**< ROMCP */
  1752. kXRDC2_Periph_GPIO13 = XRDC2_MAKE_PERIPH(3, 40 ), /**< GPIO13 */
  1753. kXRDC2_Periph_SNVS_SRAM = XRDC2_MAKE_PERIPH(3, 39 ), /**< SNVS_SRAM */
  1754. kXRDC2_Periph_IOMUXC_SNVS_GPR = XRDC2_MAKE_PERIPH(3, 38 ), /**< IOMUXC_SNVS_GPR */
  1755. kXRDC2_Periph_IOMUXC_SNVS = XRDC2_MAKE_PERIPH(3, 37 ), /**< IOMUXC_SNVS */
  1756. kXRDC2_Periph_SNVS_HP_WRAPPER = XRDC2_MAKE_PERIPH(3, 36 ), /**< SNVS_HP_WRAPPER */
  1757. kXRDC2_Periph_PGMC = XRDC2_MAKE_PERIPH(3, 34 ), /**< PGMC */
  1758. kXRDC2_Periph_ANATOP = XRDC2_MAKE_PERIPH(3, 33 ), /**< ANATOP */
  1759. kXRDC2_Periph_KEY_MANAGER = XRDC2_MAKE_PERIPH(3, 32 ), /**< KEY_MANAGER */
  1760. kXRDC2_Periph_RDC = XRDC2_MAKE_PERIPH(3, 30 ), /**< RDC */
  1761. kXRDC2_Periph_GPIO12 = XRDC2_MAKE_PERIPH(3, 28 ), /**< GPIO12 */
  1762. kXRDC2_Periph_GPIO11 = XRDC2_MAKE_PERIPH(3, 27 ), /**< GPIO11 */
  1763. kXRDC2_Periph_GPIO10 = XRDC2_MAKE_PERIPH(3, 26 ), /**< GPIO10 */
  1764. kXRDC2_Periph_GPIO9 = XRDC2_MAKE_PERIPH(3, 25 ), /**< GPIO9 */
  1765. kXRDC2_Periph_GPIO8 = XRDC2_MAKE_PERIPH(3, 24 ), /**< GPIO8 */
  1766. kXRDC2_Periph_GPIO7 = XRDC2_MAKE_PERIPH(3, 23 ), /**< GPIO7 */
  1767. kXRDC2_Periph_MU_B = XRDC2_MAKE_PERIPH(3, 19 ), /**< MU_B */
  1768. kXRDC2_Periph_MU_A = XRDC2_MAKE_PERIPH(3, 18 ), /**< MU_A */
  1769. kXRDC2_Periph_SEMA1 = XRDC2_MAKE_PERIPH(3, 17 ), /**< SEMA1 */
  1770. kXRDC2_Periph_SAI4 = XRDC2_MAKE_PERIPH(3, 16 ), /**< SAI4 */
  1771. kXRDC2_Periph_CAN3 = XRDC2_MAKE_PERIPH(3, 15 ), /**< CAN3 */
  1772. kXRDC2_Periph_LPI2C6 = XRDC2_MAKE_PERIPH(3, 14 ), /**< LPI2C6 */
  1773. kXRDC2_Periph_LPI2C5 = XRDC2_MAKE_PERIPH(3, 13 ), /**< LPI2C5 */
  1774. kXRDC2_Periph_LPSPI6 = XRDC2_MAKE_PERIPH(3, 12 ), /**< LPSPI6 */
  1775. kXRDC2_Periph_LPSPI5 = XRDC2_MAKE_PERIPH(3, 11 ), /**< LPSPI5 */
  1776. kXRDC2_Periph_LPUART12 = XRDC2_MAKE_PERIPH(3, 10 ), /**< LPUART12 */
  1777. kXRDC2_Periph_LPUART11 = XRDC2_MAKE_PERIPH(3, 9 ), /**< LPUART11 */
  1778. kXRDC2_Periph_MIC = XRDC2_MAKE_PERIPH(3, 8 ), /**< MIC */
  1779. kXRDC2_Periph_DMA_CH_MUX_LPSR = XRDC2_MAKE_PERIPH(3, 6 ), /**< DMA_CH_MUX_LPSR */
  1780. kXRDC2_Periph_EDMA_LPSR = XRDC2_MAKE_PERIPH(3, 5 ), /**< EDMA_LPSR */
  1781. kXRDC2_Periph_WDOG4 = XRDC2_MAKE_PERIPH(3, 4 ), /**< WDOG4 */
  1782. kXRDC2_Periph_IOMUXC_LPSR_GPR = XRDC2_MAKE_PERIPH(3, 3 ), /**< IOMUXC_LPSR_GPR */
  1783. kXRDC2_Periph_IOMUXC_LPSR = XRDC2_MAKE_PERIPH(3, 2 ), /**< IOMUXC_LPSR */
  1784. kXRDC2_Periph_SRC = XRDC2_MAKE_PERIPH(3, 1 ), /**< SRC */
  1785. kXRDC2_Periph_GPC = XRDC2_MAKE_PERIPH(3, 0 ), /**< GPC */
  1786. kXRDC2_Periph_GPU = XRDC2_MAKE_PERIPH(4, 0 ), /**< GPU */
  1787. } xrdc2_periph_t;
  1788. /* @} */
  1789. /*!
  1790. * @addtogroup asrc_clock_source
  1791. * @{
  1792. */
  1793. /*******************************************************************************
  1794. * Definitions
  1795. ******************************************************************************/
  1796. /*!
  1797. * @brief The ASRC clock source
  1798. */
  1799. typedef enum _asrc_clock_source
  1800. {
  1801. kASRC_ClockSourceNotAvalible = -1U, /**< not avalible */
  1802. kASRC_ClockSourceBitClock0_SAI1_TX = 0U, /**< SAI1 TX */
  1803. kASRC_ClockSourceBitClock1_SAI1_RX = 1U, /**< SAI1 RX */
  1804. kASRC_ClockSourceBitClock2_SAI2_TX = 2U, /**< SAI2 TX */
  1805. kASRC_ClockSourceBitClock3_SAI2_RX = 3U, /**< SAI2 RX */
  1806. kASRC_ClockSourceBitClock4_SAI3_TX = 4U, /**< SAI3 TX */
  1807. kASRC_ClockSourceBitClock5_SAI3_RX = 5U, /**< SAI3 RX */
  1808. kASRC_ClockSourceBitClock6_SAI4_TX = 6U, /**< SAI4 TX */
  1809. kASRC_ClockSourceBitClock7_SAI4_RX = 7U, /**< SAI4 RX */
  1810. kASRC_ClockSourceBitClock8_SPDIF_TX = 8U, /**< SPDIF TX */
  1811. kASRC_ClockSourceBitClock9_SPDIF_RX = 9U, /**< SPDIF RX */
  1812. kASRC_ClockSourceBitClocka_SAI2_CLOCK_ROOT = 10U, /**< SAI2 CLOCK ROOT */
  1813. kASRC_ClockSourceBitClockb_SAI3_CLOCK_ROOT = 11U, /**< SAI3 CLOCK ROOT */
  1814. kASRC_ClockSourceBitClockc_SAI4_CLOCK_ROOT = 12U, /**< SAI4 CLOCK ROOT */
  1815. kASRC_ClockSourceBitClockd_MIC_CLOCK_ROOT = 13U, /**< MIC CLOCK ROOT */
  1816. kASRC_ClockSourceBitClocke_MQS_CLOCK_ROOT = 14U, /**< MQS CLOCK ROOT */
  1817. } asrc_clock_source_t;
  1818. /*!
  1819. * @addtogroup iomuxc_pads
  1820. * @{ */
  1821. /*******************************************************************************
  1822. * Definitions
  1823. *******************************************************************************/
  1824. /*!
  1825. * @brief Enumeration for the IOMUXC SW_MUX_CTL_PAD
  1826. *
  1827. * Defines the enumeration for the IOMUXC SW_MUX_CTL_PAD collections.
  1828. */
  1829. typedef enum _iomuxc_sw_mux_ctl_pad
  1830. {
  1831. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_00 = 0U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1832. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_01 = 1U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1833. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_02 = 2U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1834. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_03 = 3U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1835. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_04 = 4U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1836. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_05 = 5U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1837. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_06 = 6U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1838. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_07 = 7U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1839. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_08 = 8U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1840. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_09 = 9U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1841. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_10 = 10U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1842. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_11 = 11U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1843. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_12 = 12U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1844. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_13 = 13U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1845. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_14 = 14U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1846. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_15 = 15U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1847. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_16 = 16U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1848. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_17 = 17U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1849. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_18 = 18U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1850. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_19 = 19U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1851. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_20 = 20U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1852. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_21 = 21U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1853. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_22 = 22U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1854. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_23 = 23U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1855. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_24 = 24U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1856. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_25 = 25U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1857. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_26 = 26U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1858. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_27 = 27U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1859. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_28 = 28U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1860. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_29 = 29U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1861. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_30 = 30U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1862. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_31 = 31U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1863. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_32 = 32U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1864. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_33 = 33U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1865. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_34 = 34U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1866. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_35 = 35U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1867. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_36 = 36U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1868. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_37 = 37U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1869. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_38 = 38U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1870. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_39 = 39U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1871. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_40 = 40U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1872. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_41 = 41U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1873. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B2_00 = 42U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1874. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B2_01 = 43U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1875. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B2_02 = 44U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1876. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B2_03 = 45U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1877. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B2_04 = 46U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1878. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B2_05 = 47U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1879. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B2_06 = 48U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1880. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B2_07 = 49U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1881. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B2_08 = 50U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1882. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B2_09 = 51U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1883. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B2_10 = 52U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1884. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B2_11 = 53U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1885. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B2_12 = 54U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1886. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B2_13 = 55U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1887. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B2_14 = 56U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1888. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B2_15 = 57U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1889. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B2_16 = 58U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1890. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B2_17 = 59U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1891. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B2_18 = 60U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1892. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B2_19 = 61U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1893. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B2_20 = 62U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1894. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_00 = 63U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1895. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_01 = 64U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1896. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_02 = 65U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1897. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_03 = 66U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1898. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_04 = 67U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1899. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_05 = 68U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1900. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_06 = 69U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1901. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_07 = 70U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1902. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_08 = 71U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1903. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_09 = 72U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1904. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_10 = 73U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1905. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_11 = 74U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1906. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_12 = 75U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1907. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_13 = 76U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1908. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_14 = 77U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1909. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_15 = 78U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1910. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_16 = 79U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1911. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_17 = 80U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1912. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_18 = 81U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1913. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_19 = 82U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1914. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_20 = 83U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1915. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_21 = 84U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1916. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_22 = 85U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1917. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_23 = 86U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1918. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_24 = 87U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1919. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_25 = 88U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1920. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_26 = 89U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1921. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_27 = 90U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1922. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_28 = 91U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1923. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_29 = 92U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1924. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_30 = 93U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1925. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_31 = 94U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1926. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_32 = 95U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1927. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_33 = 96U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1928. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_34 = 97U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1929. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_35 = 98U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1930. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B1_00 = 99U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1931. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B1_01 = 100U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1932. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B1_02 = 101U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1933. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B1_03 = 102U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1934. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B1_04 = 103U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1935. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B1_05 = 104U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1936. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B2_00 = 105U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1937. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B2_01 = 106U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1938. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B2_02 = 107U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1939. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B2_03 = 108U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1940. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B2_04 = 109U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1941. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B2_05 = 110U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1942. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B2_06 = 111U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1943. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B2_07 = 112U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1944. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B2_08 = 113U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1945. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B2_09 = 114U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1946. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B2_10 = 115U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1947. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B2_11 = 116U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1948. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B1_00 = 117U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1949. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B1_01 = 118U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1950. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B1_02 = 119U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1951. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B1_03 = 120U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1952. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B1_04 = 121U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1953. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B1_05 = 122U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1954. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B1_06 = 123U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1955. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B1_07 = 124U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1956. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B1_08 = 125U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1957. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B1_09 = 126U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1958. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B1_10 = 127U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1959. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B1_11 = 128U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1960. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B2_00 = 129U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1961. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B2_01 = 130U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1962. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B2_02 = 131U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1963. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B2_03 = 132U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1964. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B2_04 = 133U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1965. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B2_05 = 134U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1966. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B2_06 = 135U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1967. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B2_07 = 136U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1968. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B2_08 = 137U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1969. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B2_09 = 138U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1970. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B2_10 = 139U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1971. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B2_11 = 140U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1972. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B2_12 = 141U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1973. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B2_13 = 142U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1974. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B2_14 = 143U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1975. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B2_15 = 144U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1976. } iomuxc_sw_mux_ctl_pad_t;
  1977. /* @} */
  1978. /*!
  1979. * @addtogroup iomuxc_pads
  1980. * @{ */
  1981. /*******************************************************************************
  1982. * Definitions
  1983. *******************************************************************************/
  1984. /*!
  1985. * @brief Enumeration for the IOMUXC SW_PAD_CTL_PAD
  1986. *
  1987. * Defines the enumeration for the IOMUXC SW_PAD_CTL_PAD collections.
  1988. */
  1989. typedef enum _iomuxc_sw_pad_ctl_pad
  1990. {
  1991. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_00 = 0U, /**< IOMUXC SW_PAD_CTL_PAD index */
  1992. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_01 = 1U, /**< IOMUXC SW_PAD_CTL_PAD index */
  1993. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_02 = 2U, /**< IOMUXC SW_PAD_CTL_PAD index */
  1994. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_03 = 3U, /**< IOMUXC SW_PAD_CTL_PAD index */
  1995. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_04 = 4U, /**< IOMUXC SW_PAD_CTL_PAD index */
  1996. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_05 = 5U, /**< IOMUXC SW_PAD_CTL_PAD index */
  1997. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_06 = 6U, /**< IOMUXC SW_PAD_CTL_PAD index */
  1998. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_07 = 7U, /**< IOMUXC SW_PAD_CTL_PAD index */
  1999. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_08 = 8U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2000. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_09 = 9U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2001. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_10 = 10U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2002. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_11 = 11U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2003. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_12 = 12U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2004. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_13 = 13U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2005. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_14 = 14U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2006. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_15 = 15U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2007. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_16 = 16U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2008. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_17 = 17U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2009. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_18 = 18U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2010. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_19 = 19U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2011. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_20 = 20U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2012. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_21 = 21U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2013. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_22 = 22U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2014. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_23 = 23U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2015. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_24 = 24U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2016. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_25 = 25U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2017. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_26 = 26U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2018. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_27 = 27U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2019. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_28 = 28U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2020. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_29 = 29U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2021. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_30 = 30U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2022. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_31 = 31U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2023. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_32 = 32U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2024. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_33 = 33U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2025. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_34 = 34U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2026. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_35 = 35U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2027. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_36 = 36U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2028. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_37 = 37U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2029. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_38 = 38U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2030. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_39 = 39U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2031. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_40 = 40U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2032. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_41 = 41U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2033. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B2_00 = 42U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2034. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B2_01 = 43U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2035. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B2_02 = 44U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2036. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B2_03 = 45U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2037. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B2_04 = 46U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2038. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B2_05 = 47U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2039. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B2_06 = 48U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2040. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B2_07 = 49U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2041. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B2_08 = 50U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2042. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B2_09 = 51U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2043. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B2_10 = 52U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2044. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B2_11 = 53U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2045. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B2_12 = 54U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2046. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B2_13 = 55U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2047. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B2_14 = 56U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2048. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B2_15 = 57U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2049. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B2_16 = 58U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2050. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B2_17 = 59U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2051. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B2_18 = 60U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2052. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B2_19 = 61U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2053. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B2_20 = 62U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2054. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_00 = 63U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2055. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_01 = 64U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2056. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_02 = 65U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2057. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_03 = 66U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2058. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_04 = 67U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2059. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_05 = 68U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2060. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_06 = 69U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2061. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_07 = 70U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2062. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_08 = 71U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2063. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_09 = 72U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2064. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_10 = 73U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2065. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_11 = 74U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2066. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_12 = 75U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2067. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_13 = 76U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2068. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_14 = 77U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2069. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_15 = 78U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2070. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_16 = 79U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2071. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_17 = 80U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2072. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_18 = 81U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2073. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_19 = 82U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2074. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_20 = 83U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2075. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_21 = 84U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2076. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_22 = 85U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2077. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_23 = 86U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2078. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_24 = 87U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2079. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_25 = 88U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2080. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_26 = 89U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2081. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_27 = 90U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2082. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_28 = 91U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2083. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_29 = 92U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2084. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_30 = 93U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2085. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_31 = 94U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2086. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_32 = 95U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2087. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_33 = 96U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2088. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_34 = 97U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2089. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_35 = 98U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2090. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B1_00 = 99U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2091. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B1_01 = 100U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2092. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B1_02 = 101U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2093. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B1_03 = 102U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2094. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B1_04 = 103U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2095. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B1_05 = 104U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2096. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B2_00 = 105U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2097. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B2_01 = 106U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2098. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B2_02 = 107U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2099. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B2_03 = 108U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2100. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B2_04 = 109U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2101. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B2_05 = 110U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2102. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B2_06 = 111U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2103. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B2_07 = 112U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2104. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B2_08 = 113U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2105. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B2_09 = 114U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2106. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B2_10 = 115U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2107. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B2_11 = 116U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2108. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B1_00 = 117U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2109. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B1_01 = 118U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2110. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B1_02 = 119U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2111. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B1_03 = 120U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2112. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B1_04 = 121U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2113. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B1_05 = 122U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2114. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B1_06 = 123U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2115. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B1_07 = 124U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2116. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B1_08 = 125U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2117. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B1_09 = 126U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2118. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B1_10 = 127U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2119. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B1_11 = 128U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2120. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B2_00 = 129U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2121. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B2_01 = 130U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2122. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B2_02 = 131U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2123. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B2_03 = 132U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2124. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B2_04 = 133U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2125. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B2_05 = 134U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2126. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B2_06 = 135U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2127. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B2_07 = 136U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2128. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B2_08 = 137U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2129. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B2_09 = 138U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2130. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B2_10 = 139U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2131. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B2_11 = 140U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2132. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B2_12 = 141U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2133. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B2_13 = 142U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2134. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B2_14 = 143U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2135. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B2_15 = 144U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2136. } iomuxc_sw_pad_ctl_pad_t;
  2137. /* @} */
  2138. /*!
  2139. * @brief Enumeration for the IOMUXC select input
  2140. *
  2141. * Defines the enumeration for the IOMUXC select input collections.
  2142. */
  2143. typedef enum _iomuxc_select_input
  2144. {
  2145. kIOMUXC_FLEXCAN1_RX_SELECT_INPUT = 0U, /**< IOMUXC select input index */
  2146. kIOMUXC_FLEXCAN2_RX_SELECT_INPUT = 1U, /**< IOMUXC select input index */
  2147. kIOMUXC_CCM_ENET_QOS_REF_CLK_SELECT_INPUT = 2U, /**< IOMUXC select input index */
  2148. kIOMUXC_CCM_ENET_QOS_TX_CLK_SELECT_INPUT = 3U, /**< IOMUXC select input index */
  2149. kIOMUXC_ENET_IPG_CLK_RMII_SELECT_INPUT = 4U, /**< IOMUXC select input index */
  2150. kIOMUXC_ENET_MAC0_MDIO_SELECT_INPUT = 5U, /**< IOMUXC select input index */
  2151. kIOMUXC_ENET_MAC0_RXDATA_SELECT_INPUT_0 = 6U, /**< IOMUXC select input index */
  2152. kIOMUXC_ENET_MAC0_RXDATA_SELECT_INPUT_1 = 7U, /**< IOMUXC select input index */
  2153. kIOMUXC_ENET_MAC0_RXEN_SELECT_INPUT = 8U, /**< IOMUXC select input index */
  2154. kIOMUXC_ENET_MAC0_RXERR_SELECT_INPUT = 9U, /**< IOMUXC select input index */
  2155. kIOMUXC_ENET_MAC0_TXCLK_SELECT_INPUT = 10U, /**< IOMUXC select input index */
  2156. kIOMUXC_ENET_1G_IPG_CLK_RMII_SELECT_INPUT = 11U, /**< IOMUXC select input index */
  2157. kIOMUXC_ENET_1G_MAC0_MDIO_SELECT_INPUT = 12U, /**< IOMUXC select input index */
  2158. kIOMUXC_ENET_1G_MAC0_RXCLK_SELECT_INPUT = 13U, /**< IOMUXC select input index */
  2159. kIOMUXC_ENET_1G_MAC0_RXDATA_0_SELECT_INPUT = 14U, /**< IOMUXC select input index */
  2160. kIOMUXC_ENET_1G_MAC0_RXDATA_1_SELECT_INPUT = 15U, /**< IOMUXC select input index */
  2161. kIOMUXC_ENET_1G_MAC0_RXDATA_2_SELECT_INPUT = 16U, /**< IOMUXC select input index */
  2162. kIOMUXC_ENET_1G_MAC0_RXDATA_3_SELECT_INPUT = 17U, /**< IOMUXC select input index */
  2163. kIOMUXC_ENET_1G_MAC0_RXEN_SELECT_INPUT = 18U, /**< IOMUXC select input index */
  2164. kIOMUXC_ENET_1G_MAC0_RXERR_SELECT_INPUT = 19U, /**< IOMUXC select input index */
  2165. kIOMUXC_ENET_1G_MAC0_TXCLK_SELECT_INPUT = 20U, /**< IOMUXC select input index */
  2166. kIOMUXC_ENET_QOS_GMII_MDI_I_SELECT_INPUT = 21U, /**< IOMUXC select input index */
  2167. kIOMUXC_ENET_QOS_PHY_RXD_I_SELECT_INPUT_0 = 22U, /**< IOMUXC select input index */
  2168. kIOMUXC_ENET_QOS_PHY_RXD_I_SELECT_INPUT_1 = 23U, /**< IOMUXC select input index */
  2169. kIOMUXC_ENET_QOS_PHY_RXDV_I_SELECT_INPUT = 24U, /**< IOMUXC select input index */
  2170. kIOMUXC_ENET_QOS_PHY_RXER_I_SELECT_INPUT = 25U, /**< IOMUXC select input index */
  2171. kIOMUXC_FLEXPWM1_PWMA_SELECT_INPUT_0 = 26U, /**< IOMUXC select input index */
  2172. kIOMUXC_FLEXPWM1_PWMA_SELECT_INPUT_1 = 27U, /**< IOMUXC select input index */
  2173. kIOMUXC_FLEXPWM1_PWMA_SELECT_INPUT_2 = 28U, /**< IOMUXC select input index */
  2174. kIOMUXC_FLEXPWM1_PWMB_SELECT_INPUT_0 = 29U, /**< IOMUXC select input index */
  2175. kIOMUXC_FLEXPWM1_PWMB_SELECT_INPUT_1 = 30U, /**< IOMUXC select input index */
  2176. kIOMUXC_FLEXPWM1_PWMB_SELECT_INPUT_2 = 31U, /**< IOMUXC select input index */
  2177. kIOMUXC_FLEXPWM2_PWMA_SELECT_INPUT_0 = 32U, /**< IOMUXC select input index */
  2178. kIOMUXC_FLEXPWM2_PWMA_SELECT_INPUT_1 = 33U, /**< IOMUXC select input index */
  2179. kIOMUXC_FLEXPWM2_PWMA_SELECT_INPUT_2 = 34U, /**< IOMUXC select input index */
  2180. kIOMUXC_FLEXPWM2_PWMB_SELECT_INPUT_0 = 35U, /**< IOMUXC select input index */
  2181. kIOMUXC_FLEXPWM2_PWMB_SELECT_INPUT_1 = 36U, /**< IOMUXC select input index */
  2182. kIOMUXC_FLEXPWM2_PWMB_SELECT_INPUT_2 = 37U, /**< IOMUXC select input index */
  2183. kIOMUXC_FLEXPWM3_PWMA_SELECT_INPUT_0 = 38U, /**< IOMUXC select input index */
  2184. kIOMUXC_FLEXPWM3_PWMA_SELECT_INPUT_1 = 39U, /**< IOMUXC select input index */
  2185. kIOMUXC_FLEXPWM3_PWMA_SELECT_INPUT_2 = 40U, /**< IOMUXC select input index */
  2186. kIOMUXC_FLEXPWM3_PWMA_SELECT_INPUT_3 = 41U, /**< IOMUXC select input index */
  2187. kIOMUXC_FLEXPWM3_PWMB_SELECT_INPUT_0 = 42U, /**< IOMUXC select input index */
  2188. kIOMUXC_FLEXPWM3_PWMB_SELECT_INPUT_1 = 43U, /**< IOMUXC select input index */
  2189. kIOMUXC_FLEXPWM3_PWMB_SELECT_INPUT_2 = 44U, /**< IOMUXC select input index */
  2190. kIOMUXC_FLEXPWM3_PWMB_SELECT_INPUT_3 = 45U, /**< IOMUXC select input index */
  2191. kIOMUXC_FLEXSPI1_I_DQS_FA_SELECT_INPUT = 46U, /**< IOMUXC select input index */
  2192. kIOMUXC_FLEXSPI1_I_IO_FA_SELECT_INPUT_0 = 47U, /**< IOMUXC select input index */
  2193. kIOMUXC_FLEXSPI1_I_IO_FA_SELECT_INPUT_1 = 48U, /**< IOMUXC select input index */
  2194. kIOMUXC_FLEXSPI1_I_IO_FA_SELECT_INPUT_2 = 49U, /**< IOMUXC select input index */
  2195. kIOMUXC_FLEXSPI1_I_IO_FA_SELECT_INPUT_3 = 50U, /**< IOMUXC select input index */
  2196. kIOMUXC_FLEXSPI1_I_IO_FB_SELECT_INPUT_0 = 51U, /**< IOMUXC select input index */
  2197. kIOMUXC_FLEXSPI1_I_IO_FB_SELECT_INPUT_1 = 52U, /**< IOMUXC select input index */
  2198. kIOMUXC_FLEXSPI1_I_IO_FB_SELECT_INPUT_2 = 53U, /**< IOMUXC select input index */
  2199. kIOMUXC_FLEXSPI1_I_IO_FB_SELECT_INPUT_3 = 54U, /**< IOMUXC select input index */
  2200. kIOMUXC_FLEXSPI1_I_SCK_FA_SELECT_INPUT = 55U, /**< IOMUXC select input index */
  2201. kIOMUXC_FLEXSPI1_I_SCK_FB_SELECT_INPUT = 56U, /**< IOMUXC select input index */
  2202. kIOMUXC_FLEXSPI2_I_IO_FA_SELECT_INPUT_0 = 57U, /**< IOMUXC select input index */
  2203. kIOMUXC_FLEXSPI2_I_IO_FA_SELECT_INPUT_1 = 58U, /**< IOMUXC select input index */
  2204. kIOMUXC_FLEXSPI2_I_IO_FA_SELECT_INPUT_2 = 59U, /**< IOMUXC select input index */
  2205. kIOMUXC_FLEXSPI2_I_IO_FA_SELECT_INPUT_3 = 60U, /**< IOMUXC select input index */
  2206. kIOMUXC_FLEXSPI2_I_SCK_FA_SELECT_INPUT = 61U, /**< IOMUXC select input index */
  2207. kIOMUXC_GPT3_CAPIN1_SELECT_INPUT = 62U, /**< IOMUXC select input index */
  2208. kIOMUXC_GPT3_CAPIN2_SELECT_INPUT = 63U, /**< IOMUXC select input index */
  2209. kIOMUXC_GPT3_CLKIN_SELECT_INPUT = 64U, /**< IOMUXC select input index */
  2210. kIOMUXC_KPP_COL_SELECT_INPUT_6 = 65U, /**< IOMUXC select input index */
  2211. kIOMUXC_KPP_COL_SELECT_INPUT_7 = 66U, /**< IOMUXC select input index */
  2212. kIOMUXC_KPP_ROW_SELECT_INPUT_6 = 67U, /**< IOMUXC select input index */
  2213. kIOMUXC_KPP_ROW_SELECT_INPUT_7 = 68U, /**< IOMUXC select input index */
  2214. kIOMUXC_LPI2C1_LPI2C_SCL_SELECT_INPUT = 69U, /**< IOMUXC select input index */
  2215. kIOMUXC_LPI2C1_LPI2C_SDA_SELECT_INPUT = 70U, /**< IOMUXC select input index */
  2216. kIOMUXC_LPI2C2_LPI2C_SCL_SELECT_INPUT = 71U, /**< IOMUXC select input index */
  2217. kIOMUXC_LPI2C2_LPI2C_SDA_SELECT_INPUT = 72U, /**< IOMUXC select input index */
  2218. kIOMUXC_LPI2C3_LPI2C_SCL_SELECT_INPUT = 73U, /**< IOMUXC select input index */
  2219. kIOMUXC_LPI2C3_LPI2C_SDA_SELECT_INPUT = 74U, /**< IOMUXC select input index */
  2220. kIOMUXC_LPI2C4_LPI2C_SCL_SELECT_INPUT = 75U, /**< IOMUXC select input index */
  2221. kIOMUXC_LPI2C4_LPI2C_SDA_SELECT_INPUT = 76U, /**< IOMUXC select input index */
  2222. kIOMUXC_LPSPI1_LPSPI_PCS_SELECT_INPUT_0 = 77U, /**< IOMUXC select input index */
  2223. kIOMUXC_LPSPI1_LPSPI_SCK_SELECT_INPUT = 78U, /**< IOMUXC select input index */
  2224. kIOMUXC_LPSPI1_LPSPI_SDI_SELECT_INPUT = 79U, /**< IOMUXC select input index */
  2225. kIOMUXC_LPSPI1_LPSPI_SDO_SELECT_INPUT = 80U, /**< IOMUXC select input index */
  2226. kIOMUXC_LPSPI2_LPSPI_PCS_SELECT_INPUT_0 = 81U, /**< IOMUXC select input index */
  2227. kIOMUXC_LPSPI2_LPSPI_PCS_SELECT_INPUT_1 = 82U, /**< IOMUXC select input index */
  2228. kIOMUXC_LPSPI2_LPSPI_SCK_SELECT_INPUT = 83U, /**< IOMUXC select input index */
  2229. kIOMUXC_LPSPI2_LPSPI_SDI_SELECT_INPUT = 84U, /**< IOMUXC select input index */
  2230. kIOMUXC_LPSPI2_LPSPI_SDO_SELECT_INPUT = 85U, /**< IOMUXC select input index */
  2231. kIOMUXC_LPSPI3_LPSPI_PCS_SELECT_INPUT_0 = 86U, /**< IOMUXC select input index */
  2232. kIOMUXC_LPSPI3_LPSPI_PCS_SELECT_INPUT_1 = 87U, /**< IOMUXC select input index */
  2233. kIOMUXC_LPSPI3_LPSPI_PCS_SELECT_INPUT_2 = 88U, /**< IOMUXC select input index */
  2234. kIOMUXC_LPSPI3_LPSPI_PCS_SELECT_INPUT_3 = 89U, /**< IOMUXC select input index */
  2235. kIOMUXC_LPSPI3_LPSPI_SCK_SELECT_INPUT = 90U, /**< IOMUXC select input index */
  2236. kIOMUXC_LPSPI3_LPSPI_SDI_SELECT_INPUT = 91U, /**< IOMUXC select input index */
  2237. kIOMUXC_LPSPI3_LPSPI_SDO_SELECT_INPUT = 92U, /**< IOMUXC select input index */
  2238. kIOMUXC_LPSPI4_LPSPI_PCS_SELECT_INPUT_0 = 93U, /**< IOMUXC select input index */
  2239. kIOMUXC_LPSPI4_LPSPI_SCK_SELECT_INPUT = 94U, /**< IOMUXC select input index */
  2240. kIOMUXC_LPSPI4_LPSPI_SDI_SELECT_INPUT = 95U, /**< IOMUXC select input index */
  2241. kIOMUXC_LPSPI4_LPSPI_SDO_SELECT_INPUT = 96U, /**< IOMUXC select input index */
  2242. kIOMUXC_LPUART1_LPUART_RXD_SELECT_INPUT = 97U, /**< IOMUXC select input index */
  2243. kIOMUXC_LPUART1_LPUART_TXD_SELECT_INPUT = 98U, /**< IOMUXC select input index */
  2244. kIOMUXC_LPUART10_LPUART_RXD_SELECT_INPUT = 99U, /**< IOMUXC select input index */
  2245. kIOMUXC_LPUART10_LPUART_TXD_SELECT_INPUT = 100U, /**< IOMUXC select input index */
  2246. kIOMUXC_LPUART7_LPUART_RXD_SELECT_INPUT = 101U, /**< IOMUXC select input index */
  2247. kIOMUXC_LPUART7_LPUART_TXD_SELECT_INPUT = 102U, /**< IOMUXC select input index */
  2248. kIOMUXC_LPUART8_LPUART_RXD_SELECT_INPUT = 103U, /**< IOMUXC select input index */
  2249. kIOMUXC_LPUART8_LPUART_TXD_SELECT_INPUT = 104U, /**< IOMUXC select input index */
  2250. kIOMUXC_QTIMER1_TMR0_INPUT_SELECT_INPUT = 105U, /**< IOMUXC select input index */
  2251. kIOMUXC_QTIMER1_TMR1_INPUT_SELECT_INPUT = 106U, /**< IOMUXC select input index */
  2252. kIOMUXC_QTIMER1_TMR2_INPUT_SELECT_INPUT = 107U, /**< IOMUXC select input index */
  2253. kIOMUXC_QTIMER2_TMR0_INPUT_SELECT_INPUT = 108U, /**< IOMUXC select input index */
  2254. kIOMUXC_QTIMER2_TMR1_INPUT_SELECT_INPUT = 109U, /**< IOMUXC select input index */
  2255. kIOMUXC_QTIMER2_TMR2_INPUT_SELECT_INPUT = 110U, /**< IOMUXC select input index */
  2256. kIOMUXC_QTIMER3_TMR0_INPUT_SELECT_INPUT = 111U, /**< IOMUXC select input index */
  2257. kIOMUXC_QTIMER3_TMR1_INPUT_SELECT_INPUT = 112U, /**< IOMUXC select input index */
  2258. kIOMUXC_QTIMER3_TMR2_INPUT_SELECT_INPUT = 113U, /**< IOMUXC select input index */
  2259. kIOMUXC_QTIMER4_TMR0_INPUT_SELECT_INPUT = 114U, /**< IOMUXC select input index */
  2260. kIOMUXC_QTIMER4_TMR1_INPUT_SELECT_INPUT = 115U, /**< IOMUXC select input index */
  2261. kIOMUXC_QTIMER4_TMR2_INPUT_SELECT_INPUT = 116U, /**< IOMUXC select input index */
  2262. kIOMUXC_SAI1_IPG_CLK_SAI_MCLK_SELECT_INPUT = 117U, /**< IOMUXC select input index */
  2263. kIOMUXC_SAI1_SAI_RXBCLK_SELECT_INPUT = 118U, /**< IOMUXC select input index */
  2264. kIOMUXC_SAI1_SAI_RXDATA_SELECT_INPUT_0 = 119U, /**< IOMUXC select input index */
  2265. kIOMUXC_SAI1_SAI_RXSYNC_SELECT_INPUT = 120U, /**< IOMUXC select input index */
  2266. kIOMUXC_SAI1_SAI_TXBCLK_SELECT_INPUT = 121U, /**< IOMUXC select input index */
  2267. kIOMUXC_SAI1_SAI_TXSYNC_SELECT_INPUT = 122U, /**< IOMUXC select input index */
  2268. kIOMUXC_EMVSIM1_SIO_SELECT_INPUT = 129U, /**< IOMUXC select input index */
  2269. kIOMUXC_EMVSIM1_IPP_SIMPD_SELECT_INPUT = 130U, /**< IOMUXC select input index */
  2270. kIOMUXC_EMVSIM1_POWER_FAIL_SELECT_INPUT = 131U, /**< IOMUXC select input index */
  2271. kIOMUXC_EMVSIM2_SIO_SELECT_INPUT = 132U, /**< IOMUXC select input index */
  2272. kIOMUXC_EMVSIM2_IPP_SIMPD_SELECT_INPUT = 133U, /**< IOMUXC select input index */
  2273. kIOMUXC_EMVSIM2_POWER_FAIL_SELECT_INPUT = 134U, /**< IOMUXC select input index */
  2274. kIOMUXC_SPDIF_SPDIF_IN1_SELECT_INPUT = 135U, /**< IOMUXC select input index */
  2275. kIOMUXC_USB_OTG2_OC_SELECT_INPUT = 136U, /**< IOMUXC select input index */
  2276. kIOMUXC_USB_OTG_OC_SELECT_INPUT = 137U, /**< IOMUXC select input index */
  2277. kIOMUXC_USBPHY1_USB_ID_SELECT_INPUT = 138U, /**< IOMUXC select input index */
  2278. kIOMUXC_USBPHY2_USB_ID_SELECT_INPUT = 139U, /**< IOMUXC select input index */
  2279. kIOMUXC_USDHC1_IPP_CARD_DET_SELECT_INPUT = 140U, /**< IOMUXC select input index */
  2280. kIOMUXC_USDHC1_IPP_WP_ON_SELECT_INPUT = 141U, /**< IOMUXC select input index */
  2281. kIOMUXC_USDHC2_IPP_CARD_DET_SELECT_INPUT = 142U, /**< IOMUXC select input index */
  2282. kIOMUXC_USDHC2_IPP_WP_ON_SELECT_INPUT = 143U, /**< IOMUXC select input index */
  2283. kIOMUXC_XBAR1_IN_SELECT_INPUT_20 = 144U, /**< IOMUXC select input index */
  2284. kIOMUXC_XBAR1_IN_SELECT_INPUT_21 = 145U, /**< IOMUXC select input index */
  2285. kIOMUXC_XBAR1_IN_SELECT_INPUT_22 = 146U, /**< IOMUXC select input index */
  2286. kIOMUXC_XBAR1_IN_SELECT_INPUT_23 = 147U, /**< IOMUXC select input index */
  2287. kIOMUXC_XBAR1_IN_SELECT_INPUT_24 = 148U, /**< IOMUXC select input index */
  2288. kIOMUXC_XBAR1_IN_SELECT_INPUT_25 = 149U, /**< IOMUXC select input index */
  2289. kIOMUXC_XBAR1_IN_SELECT_INPUT_26 = 150U, /**< IOMUXC select input index */
  2290. kIOMUXC_XBAR1_IN_SELECT_INPUT_27 = 151U, /**< IOMUXC select input index */
  2291. kIOMUXC_XBAR1_IN_SELECT_INPUT_28 = 152U, /**< IOMUXC select input index */
  2292. kIOMUXC_XBAR1_IN_SELECT_INPUT_29 = 153U, /**< IOMUXC select input index */
  2293. kIOMUXC_XBAR1_IN_SELECT_INPUT_30 = 154U, /**< IOMUXC select input index */
  2294. kIOMUXC_XBAR1_IN_SELECT_INPUT_31 = 155U, /**< IOMUXC select input index */
  2295. kIOMUXC_XBAR1_IN_SELECT_INPUT_32 = 156U, /**< IOMUXC select input index */
  2296. kIOMUXC_XBAR1_IN_SELECT_INPUT_33 = 157U, /**< IOMUXC select input index */
  2297. kIOMUXC_XBAR1_IN_SELECT_INPUT_34 = 158U, /**< IOMUXC select input index */
  2298. kIOMUXC_XBAR1_IN_SELECT_INPUT_35 = 159U, /**< IOMUXC select input index */
  2299. } iomuxc_select_input_t;
  2300. /*!
  2301. * @}
  2302. */ /* end of group Mapping_Information */
  2303. /* ----------------------------------------------------------------------------
  2304. -- Device Peripheral Access Layer
  2305. ---------------------------------------------------------------------------- */
  2306. /*!
  2307. * @addtogroup Peripheral_access_layer Device Peripheral Access Layer
  2308. * @{
  2309. */
  2310. /*
  2311. ** Start of section using anonymous unions
  2312. */
  2313. #if defined(__ARMCC_VERSION)
  2314. #if (__ARMCC_VERSION >= 6010050)
  2315. #pragma clang diagnostic push
  2316. #else
  2317. #pragma push
  2318. #pragma anon_unions
  2319. #endif
  2320. #elif defined(__CWCC__)
  2321. #pragma push
  2322. #pragma cpp_extensions on
  2323. #elif defined(__GNUC__)
  2324. /* anonymous unions are enabled by default */
  2325. #elif defined(__IAR_SYSTEMS_ICC__)
  2326. #pragma language=extended
  2327. #else
  2328. #error Not supported compiler type
  2329. #endif
  2330. /* ----------------------------------------------------------------------------
  2331. -- ADC Peripheral Access Layer
  2332. ---------------------------------------------------------------------------- */
  2333. /*!
  2334. * @addtogroup ADC_Peripheral_Access_Layer ADC Peripheral Access Layer
  2335. * @{
  2336. */
  2337. /** ADC - Register Layout Typedef */
  2338. typedef struct {
  2339. __I uint32_t VERID; /**< Version ID Register, offset: 0x0 */
  2340. __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */
  2341. uint8_t RESERVED_0[8];
  2342. __IO uint32_t CTRL; /**< LPADC Control Register, offset: 0x10 */
  2343. __IO uint32_t STAT; /**< LPADC Status Register, offset: 0x14 */
  2344. __IO uint32_t IE; /**< Interrupt Enable Register, offset: 0x18 */
  2345. __IO uint32_t DE; /**< DMA Enable Register, offset: 0x1C */
  2346. __IO uint32_t CFG; /**< LPADC Configuration Register, offset: 0x20 */
  2347. __IO uint32_t PAUSE; /**< LPADC Pause Register, offset: 0x24 */
  2348. uint8_t RESERVED_1[8];
  2349. __IO uint32_t FCTRL; /**< LPADC FIFO Control Register, offset: 0x30 */
  2350. __O uint32_t SWTRIG; /**< Software Trigger Register, offset: 0x34 */
  2351. uint8_t RESERVED_2[136];
  2352. __IO uint32_t TCTRL[8]; /**< Trigger Control Register, array offset: 0xC0, array step: 0x4 */
  2353. uint8_t RESERVED_3[32];
  2354. struct { /* offset: 0x100, array step: 0x8 */
  2355. __IO uint32_t CMDL; /**< LPADC Command Low Buffer Register, array offset: 0x100, array step: 0x8 */
  2356. __IO uint32_t CMDH; /**< LPADC Command High Buffer Register, array offset: 0x104, array step: 0x8 */
  2357. } CMD[15];
  2358. uint8_t RESERVED_4[136];
  2359. __IO uint32_t CV[4]; /**< Compare Value Register, array offset: 0x200, array step: 0x4 */
  2360. uint8_t RESERVED_5[240];
  2361. __I uint32_t RESFIFO; /**< LPADC Data Result FIFO Register, offset: 0x300 */
  2362. } ADC_Type;
  2363. /* ----------------------------------------------------------------------------
  2364. -- ADC Register Masks
  2365. ---------------------------------------------------------------------------- */
  2366. /*!
  2367. * @addtogroup ADC_Register_Masks ADC Register Masks
  2368. * @{
  2369. */
  2370. /*! @name VERID - Version ID Register */
  2371. /*! @{ */
  2372. #define ADC_VERID_RES_MASK (0x1U)
  2373. #define ADC_VERID_RES_SHIFT (0U)
  2374. /*! RES - Resolution
  2375. * 0b0..Up to 13-bit differential/12-bit single ended resolution supported.
  2376. * 0b1..Up to 16-bit differential/15-bit single ended resolution supported.
  2377. */
  2378. #define ADC_VERID_RES(x) (((uint32_t)(((uint32_t)(x)) << ADC_VERID_RES_SHIFT)) & ADC_VERID_RES_MASK)
  2379. #define ADC_VERID_DIFFEN_MASK (0x2U)
  2380. #define ADC_VERID_DIFFEN_SHIFT (1U)
  2381. /*! DIFFEN - Differential Supported
  2382. * 0b0..Differential operation not supported.
  2383. * 0b1..Differential operation supported. CMDLa[DIFF] and CMDLa[ABSEL] control fields implemented.
  2384. */
  2385. #define ADC_VERID_DIFFEN(x) (((uint32_t)(((uint32_t)(x)) << ADC_VERID_DIFFEN_SHIFT)) & ADC_VERID_DIFFEN_MASK)
  2386. #define ADC_VERID_MVI_MASK (0x8U)
  2387. #define ADC_VERID_MVI_SHIFT (3U)
  2388. /*! MVI - Multi Vref Implemented
  2389. * 0b0..Single voltage reference input supported.
  2390. * 0b1..Multiple voltage reference inputs supported.
  2391. */
  2392. #define ADC_VERID_MVI(x) (((uint32_t)(((uint32_t)(x)) << ADC_VERID_MVI_SHIFT)) & ADC_VERID_MVI_MASK)
  2393. #define ADC_VERID_CSW_MASK (0x70U)
  2394. #define ADC_VERID_CSW_SHIFT (4U)
  2395. /*! CSW - Channel Scale Width
  2396. * 0b000..Channel scaling not supported.
  2397. * 0b001..Channel scaling supported. 1-bit CSCALE control field.
  2398. * 0b110..Channel scaling supported. 6-bit CSCALE control field.
  2399. */
  2400. #define ADC_VERID_CSW(x) (((uint32_t)(((uint32_t)(x)) << ADC_VERID_CSW_SHIFT)) & ADC_VERID_CSW_MASK)
  2401. #define ADC_VERID_VR1RNGI_MASK (0x100U)
  2402. #define ADC_VERID_VR1RNGI_SHIFT (8U)
  2403. /*! VR1RNGI - Voltage Reference 1 Range Control Bit Implemented
  2404. * 0b0..Range control not required. CFG[VREF1RNG] is not implemented.
  2405. * 0b1..Range control required. CFG[VREF1RNG] is implemented.
  2406. */
  2407. #define ADC_VERID_VR1RNGI(x) (((uint32_t)(((uint32_t)(x)) << ADC_VERID_VR1RNGI_SHIFT)) & ADC_VERID_VR1RNGI_MASK)
  2408. #define ADC_VERID_IADCKI_MASK (0x200U)
  2409. #define ADC_VERID_IADCKI_SHIFT (9U)
  2410. /*! IADCKI - Internal LPADC Clock implemented
  2411. * 0b0..Internal clock source not implemented.
  2412. * 0b1..Internal clock source (and CFG[ADCKEN]) implemented.
  2413. */
  2414. #define ADC_VERID_IADCKI(x) (((uint32_t)(((uint32_t)(x)) << ADC_VERID_IADCKI_SHIFT)) & ADC_VERID_IADCKI_MASK)
  2415. #define ADC_VERID_CALOFSI_MASK (0x400U)
  2416. #define ADC_VERID_CALOFSI_SHIFT (10U)
  2417. /*! CALOFSI - Calibration Offset Function Implemented
  2418. * 0b0..Offset calibration and offset trimming not implemented.
  2419. * 0b1..Offset calibration and offset trimming implemented.
  2420. */
  2421. #define ADC_VERID_CALOFSI(x) (((uint32_t)(((uint32_t)(x)) << ADC_VERID_CALOFSI_SHIFT)) & ADC_VERID_CALOFSI_MASK)
  2422. #define ADC_VERID_MINOR_MASK (0xFF0000U)
  2423. #define ADC_VERID_MINOR_SHIFT (16U)
  2424. /*! MINOR - Minor Version Number
  2425. */
  2426. #define ADC_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << ADC_VERID_MINOR_SHIFT)) & ADC_VERID_MINOR_MASK)
  2427. #define ADC_VERID_MAJOR_MASK (0xFF000000U)
  2428. #define ADC_VERID_MAJOR_SHIFT (24U)
  2429. /*! MAJOR - Major Version Number
  2430. */
  2431. #define ADC_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << ADC_VERID_MAJOR_SHIFT)) & ADC_VERID_MAJOR_MASK)
  2432. /*! @} */
  2433. /*! @name PARAM - Parameter Register */
  2434. /*! @{ */
  2435. #define ADC_PARAM_TRIG_NUM_MASK (0xFFU)
  2436. #define ADC_PARAM_TRIG_NUM_SHIFT (0U)
  2437. /*! TRIG_NUM - Trigger Number
  2438. * 0b00001000..8 hardware triggers implemented
  2439. */
  2440. #define ADC_PARAM_TRIG_NUM(x) (((uint32_t)(((uint32_t)(x)) << ADC_PARAM_TRIG_NUM_SHIFT)) & ADC_PARAM_TRIG_NUM_MASK)
  2441. #define ADC_PARAM_FIFOSIZE_MASK (0xFF00U)
  2442. #define ADC_PARAM_FIFOSIZE_SHIFT (8U)
  2443. /*! FIFOSIZE - Result FIFO Depth
  2444. * 0b00010000..Result FIFO depth = 16 datawords.
  2445. */
  2446. #define ADC_PARAM_FIFOSIZE(x) (((uint32_t)(((uint32_t)(x)) << ADC_PARAM_FIFOSIZE_SHIFT)) & ADC_PARAM_FIFOSIZE_MASK)
  2447. #define ADC_PARAM_CV_NUM_MASK (0xFF0000U)
  2448. #define ADC_PARAM_CV_NUM_SHIFT (16U)
  2449. /*! CV_NUM - Compare Value Number
  2450. * 0b00000100..4 compare value registers implemented
  2451. */
  2452. #define ADC_PARAM_CV_NUM(x) (((uint32_t)(((uint32_t)(x)) << ADC_PARAM_CV_NUM_SHIFT)) & ADC_PARAM_CV_NUM_MASK)
  2453. #define ADC_PARAM_CMD_NUM_MASK (0xFF000000U)
  2454. #define ADC_PARAM_CMD_NUM_SHIFT (24U)
  2455. /*! CMD_NUM - Command Buffer Number
  2456. * 0b00001111..15 command buffers implemented
  2457. */
  2458. #define ADC_PARAM_CMD_NUM(x) (((uint32_t)(((uint32_t)(x)) << ADC_PARAM_CMD_NUM_SHIFT)) & ADC_PARAM_CMD_NUM_MASK)
  2459. /*! @} */
  2460. /*! @name CTRL - LPADC Control Register */
  2461. /*! @{ */
  2462. #define ADC_CTRL_ADCEN_MASK (0x1U)
  2463. #define ADC_CTRL_ADCEN_SHIFT (0U)
  2464. /*! ADCEN - LPADC Enable
  2465. * 0b0..LPADC is disabled.
  2466. * 0b1..LPADC is enabled.
  2467. */
  2468. #define ADC_CTRL_ADCEN(x) (((uint32_t)(((uint32_t)(x)) << ADC_CTRL_ADCEN_SHIFT)) & ADC_CTRL_ADCEN_MASK)
  2469. #define ADC_CTRL_RST_MASK (0x2U)
  2470. #define ADC_CTRL_RST_SHIFT (1U)
  2471. /*! RST - Software Reset
  2472. * 0b0..LPADC logic is not reset.
  2473. * 0b1..LPADC logic is reset.
  2474. */
  2475. #define ADC_CTRL_RST(x) (((uint32_t)(((uint32_t)(x)) << ADC_CTRL_RST_SHIFT)) & ADC_CTRL_RST_MASK)
  2476. #define ADC_CTRL_DOZEN_MASK (0x4U)
  2477. #define ADC_CTRL_DOZEN_SHIFT (2U)
  2478. /*! DOZEN - Doze Enable
  2479. * 0b0..LPADC is enabled in Doze mode.
  2480. * 0b1..LPADC is disabled in Doze mode.
  2481. */
  2482. #define ADC_CTRL_DOZEN(x) (((uint32_t)(((uint32_t)(x)) << ADC_CTRL_DOZEN_SHIFT)) & ADC_CTRL_DOZEN_MASK)
  2483. #define ADC_CTRL_TRIG_SRC_MASK (0x18U)
  2484. #define ADC_CTRL_TRIG_SRC_SHIFT (3U)
  2485. /*! TRIG_SRC - Hardware trigger source selection
  2486. * 0b00..ADC_ETC hw trigger , and HW trigger are enabled
  2487. * 0b01..ADC_ETC hw trigger is enabled
  2488. * 0b10..HW trigger is enabled
  2489. * 0b11..Reserved
  2490. */
  2491. #define ADC_CTRL_TRIG_SRC(x) (((uint32_t)(((uint32_t)(x)) << ADC_CTRL_TRIG_SRC_SHIFT)) & ADC_CTRL_TRIG_SRC_MASK)
  2492. #define ADC_CTRL_RSTFIFO_MASK (0x100U)
  2493. #define ADC_CTRL_RSTFIFO_SHIFT (8U)
  2494. /*! RSTFIFO - Reset FIFO
  2495. * 0b0..No effect.
  2496. * 0b1..FIFO is reset.
  2497. */
  2498. #define ADC_CTRL_RSTFIFO(x) (((uint32_t)(((uint32_t)(x)) << ADC_CTRL_RSTFIFO_SHIFT)) & ADC_CTRL_RSTFIFO_MASK)
  2499. /*! @} */
  2500. /*! @name STAT - LPADC Status Register */
  2501. /*! @{ */
  2502. #define ADC_STAT_RDY_MASK (0x1U)
  2503. #define ADC_STAT_RDY_SHIFT (0U)
  2504. /*! RDY - Result FIFO Ready Flag
  2505. * 0b0..Result FIFO data level not above watermark level.
  2506. * 0b1..Result FIFO holding data above watermark level.
  2507. */
  2508. #define ADC_STAT_RDY(x) (((uint32_t)(((uint32_t)(x)) << ADC_STAT_RDY_SHIFT)) & ADC_STAT_RDY_MASK)
  2509. #define ADC_STAT_FOF_MASK (0x2U)
  2510. #define ADC_STAT_FOF_SHIFT (1U)
  2511. /*! FOF - Result FIFO Overflow Flag
  2512. * 0b0..No result FIFO overflow has occurred since the last time the flag was cleared.
  2513. * 0b1..At least one result FIFO overflow has occurred since the last time the flag was cleared.
  2514. */
  2515. #define ADC_STAT_FOF(x) (((uint32_t)(((uint32_t)(x)) << ADC_STAT_FOF_SHIFT)) & ADC_STAT_FOF_MASK)
  2516. #define ADC_STAT_ADC_ACTIVE_MASK (0x100U)
  2517. #define ADC_STAT_ADC_ACTIVE_SHIFT (8U)
  2518. /*! ADC_ACTIVE - ADC Active
  2519. * 0b0..The LPADC is IDLE. There are no pending triggers to service and no active commands are being processed.
  2520. * 0b1..The LPADC is processing a conversion, running through the power up delay, or servicing a trigger.
  2521. */
  2522. #define ADC_STAT_ADC_ACTIVE(x) (((uint32_t)(((uint32_t)(x)) << ADC_STAT_ADC_ACTIVE_SHIFT)) & ADC_STAT_ADC_ACTIVE_MASK)
  2523. #define ADC_STAT_TRGACT_MASK (0x70000U)
  2524. #define ADC_STAT_TRGACT_SHIFT (16U)
  2525. /*! TRGACT - Trigger Active
  2526. * 0b000..Command (sequence) associated with Trigger 0 currently being executed.
  2527. * 0b001..Command (sequence) associated with Trigger 1 currently being executed.
  2528. * 0b010..Command (sequence) associated with Trigger 2 currently being executed.
  2529. * 0b011-0b111..Command (sequence) from the associated Trigger number is currently being executed.
  2530. */
  2531. #define ADC_STAT_TRGACT(x) (((uint32_t)(((uint32_t)(x)) << ADC_STAT_TRGACT_SHIFT)) & ADC_STAT_TRGACT_MASK)
  2532. #define ADC_STAT_CMDACT_MASK (0xF000000U)
  2533. #define ADC_STAT_CMDACT_SHIFT (24U)
  2534. /*! CMDACT - Command Active
  2535. * 0b0000..No command is currently in progress.
  2536. * 0b0001..Command 1 currently being executed.
  2537. * 0b0010..Command 2 currently being executed.
  2538. * 0b0011-0b1111..Associated command number is currently being executed.
  2539. */
  2540. #define ADC_STAT_CMDACT(x) (((uint32_t)(((uint32_t)(x)) << ADC_STAT_CMDACT_SHIFT)) & ADC_STAT_CMDACT_MASK)
  2541. /*! @} */
  2542. /*! @name IE - Interrupt Enable Register */
  2543. /*! @{ */
  2544. #define ADC_IE_FWMIE_MASK (0x1U)
  2545. #define ADC_IE_FWMIE_SHIFT (0U)
  2546. /*! FWMIE - FIFO Watermark Interrupt Enable
  2547. * 0b0..FIFO watermark interrupts are not enabled.
  2548. * 0b1..FIFO watermark interrupts are enabled.
  2549. */
  2550. #define ADC_IE_FWMIE(x) (((uint32_t)(((uint32_t)(x)) << ADC_IE_FWMIE_SHIFT)) & ADC_IE_FWMIE_MASK)
  2551. #define ADC_IE_FOFIE_MASK (0x2U)
  2552. #define ADC_IE_FOFIE_SHIFT (1U)
  2553. /*! FOFIE - Result FIFO Overflow Interrupt Enable
  2554. * 0b0..FIFO overflow interrupts are not enabled.
  2555. * 0b1..FIFO overflow interrupts are enabled.
  2556. */
  2557. #define ADC_IE_FOFIE(x) (((uint32_t)(((uint32_t)(x)) << ADC_IE_FOFIE_SHIFT)) & ADC_IE_FOFIE_MASK)
  2558. /*! @} */
  2559. /*! @name DE - DMA Enable Register */
  2560. /*! @{ */
  2561. #define ADC_DE_FWMDE_MASK (0x1U)
  2562. #define ADC_DE_FWMDE_SHIFT (0U)
  2563. /*! FWMDE - FIFO Watermark DMA Enable
  2564. * 0b0..DMA request disabled.
  2565. * 0b1..DMA request enabled.
  2566. */
  2567. #define ADC_DE_FWMDE(x) (((uint32_t)(((uint32_t)(x)) << ADC_DE_FWMDE_SHIFT)) & ADC_DE_FWMDE_MASK)
  2568. /*! @} */
  2569. /*! @name CFG - LPADC Configuration Register */
  2570. /*! @{ */
  2571. #define ADC_CFG_TPRICTRL_MASK (0x1U)
  2572. #define ADC_CFG_TPRICTRL_SHIFT (0U)
  2573. /*! TPRICTRL - LPADC trigger priority control
  2574. * 0b0..If a higher priority trigger is detected during command processing, the current conversion is aborted and
  2575. * the new command specified by the trigger is started.
  2576. * 0b1..If a higher priority trigger is received during command processing, the current conversion is completed
  2577. * (including averaging iterations if enabled) and stored to the RESFIFO before the higher priority
  2578. * trigger/command is initiated. Note that compare until true commands can be interrupted prior to resulting in a true
  2579. * conversion.
  2580. */
  2581. #define ADC_CFG_TPRICTRL(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_TPRICTRL_SHIFT)) & ADC_CFG_TPRICTRL_MASK)
  2582. #define ADC_CFG_PWRSEL_MASK (0x30U)
  2583. #define ADC_CFG_PWRSEL_SHIFT (4U)
  2584. /*! PWRSEL - Power Configuration Select
  2585. * 0b00..Level 1 (Lowest power setting)
  2586. * 0b01..Level 2
  2587. * 0b10..Level 3
  2588. * 0b11..Level 4 (Highest power setting)
  2589. */
  2590. #define ADC_CFG_PWRSEL(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_PWRSEL_SHIFT)) & ADC_CFG_PWRSEL_MASK)
  2591. #define ADC_CFG_REFSEL_MASK (0xC0U)
  2592. #define ADC_CFG_REFSEL_SHIFT (6U)
  2593. /*! REFSEL - Voltage Reference Selection
  2594. * 0b00..(Default) Option 1 setting.
  2595. * 0b01..Option 2 setting.
  2596. * 0b10..Option 3 setting.
  2597. * 0b11..Reserved
  2598. */
  2599. #define ADC_CFG_REFSEL(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_REFSEL_SHIFT)) & ADC_CFG_REFSEL_MASK)
  2600. #define ADC_CFG_PUDLY_MASK (0xFF0000U)
  2601. #define ADC_CFG_PUDLY_SHIFT (16U)
  2602. /*! PUDLY - Power Up Delay
  2603. */
  2604. #define ADC_CFG_PUDLY(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_PUDLY_SHIFT)) & ADC_CFG_PUDLY_MASK)
  2605. #define ADC_CFG_PWREN_MASK (0x10000000U)
  2606. #define ADC_CFG_PWREN_SHIFT (28U)
  2607. /*! PWREN - LPADC Analog Pre-Enable
  2608. * 0b0..LPADC analog circuits are only enabled while conversions are active. Performance is affected due to analog startup delays.
  2609. * 0b1..LPADC analog circuits are pre-enabled and ready to execute conversions without startup delays (at the
  2610. * cost of higher DC current consumption). When PWREN is set, the power up delay is enforced such that any
  2611. * detected trigger does not begin ADC operation until the power up delay time has passed.
  2612. */
  2613. #define ADC_CFG_PWREN(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_PWREN_SHIFT)) & ADC_CFG_PWREN_MASK)
  2614. /*! @} */
  2615. /*! @name PAUSE - LPADC Pause Register */
  2616. /*! @{ */
  2617. #define ADC_PAUSE_PAUSEDLY_MASK (0x1FFU)
  2618. #define ADC_PAUSE_PAUSEDLY_SHIFT (0U)
  2619. /*! PAUSEDLY - Pause Delay
  2620. */
  2621. #define ADC_PAUSE_PAUSEDLY(x) (((uint32_t)(((uint32_t)(x)) << ADC_PAUSE_PAUSEDLY_SHIFT)) & ADC_PAUSE_PAUSEDLY_MASK)
  2622. #define ADC_PAUSE_PAUSEEN_MASK (0x80000000U)
  2623. #define ADC_PAUSE_PAUSEEN_SHIFT (31U)
  2624. /*! PAUSEEN - PAUSE Option Enable
  2625. * 0b0..Pause operation disabled
  2626. * 0b1..Pause operation enabled
  2627. */
  2628. #define ADC_PAUSE_PAUSEEN(x) (((uint32_t)(((uint32_t)(x)) << ADC_PAUSE_PAUSEEN_SHIFT)) & ADC_PAUSE_PAUSEEN_MASK)
  2629. /*! @} */
  2630. /*! @name FCTRL - LPADC FIFO Control Register */
  2631. /*! @{ */
  2632. #define ADC_FCTRL_FCOUNT_MASK (0x1FU)
  2633. #define ADC_FCTRL_FCOUNT_SHIFT (0U)
  2634. /*! FCOUNT - Result FIFO counter
  2635. * 0b00000..No data stored in FIFO
  2636. * 0b00001..1 dataword stored in FIFO
  2637. * 0b00010..2 datawords stored in FIFO
  2638. * 0b00100..4 datawords stored in FIFO
  2639. * 0b01000..8 datawords stored in FIFO
  2640. * 0b10000..16 datawords stored in FIFO
  2641. */
  2642. #define ADC_FCTRL_FCOUNT(x) (((uint32_t)(((uint32_t)(x)) << ADC_FCTRL_FCOUNT_SHIFT)) & ADC_FCTRL_FCOUNT_MASK)
  2643. #define ADC_FCTRL_FWMARK_MASK (0xF0000U)
  2644. #define ADC_FCTRL_FWMARK_SHIFT (16U)
  2645. /*! FWMARK - Watermark level selection
  2646. * 0b0000..Generates STAT[RDY] flag after 1st successful conversion - single conversion
  2647. * 0b0001..Generates STAT[RDY] flag after 2nd successful conversion
  2648. * 0b0010..Generates STAT[RDY] flag after 3rd successful conversion
  2649. * 0b0011..Generates STAT[RDY] flag after 4th successful conversion
  2650. * 0b0100..Generates STAT[RDY] flag after 5th successful conversion
  2651. * 0b0101..Generates STAT[RDY] flag after 6th successful conversion
  2652. * 0b0110..Generates STAT[RDY] flag after 7th successful conversion
  2653. * 0b0111..Generates STAT[RDY] flag after 8th successful conversion
  2654. * 0b1000..Generates STAT[RDY] flag after 9th successful conversion
  2655. * 0b1001..Generates STAT[RDY] flag after 10th successful conversion
  2656. * 0b1010..Generates STAT[RDY] flag after 11th successful conversion
  2657. * 0b1011..Generates STAT[RDY] flag after 12th successful conversion
  2658. * 0b1100..Generates STAT[RDY] flag after 13th successful conversion
  2659. * 0b1101..Generates STAT[RDY] flag after 14th successful conversion
  2660. * 0b1110..Generates STAT[RDY] flag after 15th successful conversion
  2661. * 0b1111..Generates STAT[RDY] flag after 16th successful conversion
  2662. */
  2663. #define ADC_FCTRL_FWMARK(x) (((uint32_t)(((uint32_t)(x)) << ADC_FCTRL_FWMARK_SHIFT)) & ADC_FCTRL_FWMARK_MASK)
  2664. /*! @} */
  2665. /*! @name SWTRIG - Software Trigger Register */
  2666. /*! @{ */
  2667. #define ADC_SWTRIG_SWT0_MASK (0x1U)
  2668. #define ADC_SWTRIG_SWT0_SHIFT (0U)
  2669. /*! SWT0 - Software trigger 0 event
  2670. * 0b0..No trigger 0 event generated.
  2671. * 0b1..Trigger 0 event generated.
  2672. */
  2673. #define ADC_SWTRIG_SWT0(x) (((uint32_t)(((uint32_t)(x)) << ADC_SWTRIG_SWT0_SHIFT)) & ADC_SWTRIG_SWT0_MASK)
  2674. #define ADC_SWTRIG_SWT1_MASK (0x2U)
  2675. #define ADC_SWTRIG_SWT1_SHIFT (1U)
  2676. /*! SWT1 - Software trigger 1 event
  2677. * 0b0..No trigger 1 event generated.
  2678. * 0b1..Trigger 1 event generated.
  2679. */
  2680. #define ADC_SWTRIG_SWT1(x) (((uint32_t)(((uint32_t)(x)) << ADC_SWTRIG_SWT1_SHIFT)) & ADC_SWTRIG_SWT1_MASK)
  2681. #define ADC_SWTRIG_SWT2_MASK (0x4U)
  2682. #define ADC_SWTRIG_SWT2_SHIFT (2U)
  2683. /*! SWT2 - Software trigger 2 event
  2684. * 0b0..No trigger 2 event generated.
  2685. * 0b1..Trigger 2 event generated.
  2686. */
  2687. #define ADC_SWTRIG_SWT2(x) (((uint32_t)(((uint32_t)(x)) << ADC_SWTRIG_SWT2_SHIFT)) & ADC_SWTRIG_SWT2_MASK)
  2688. #define ADC_SWTRIG_SWT3_MASK (0x8U)
  2689. #define ADC_SWTRIG_SWT3_SHIFT (3U)
  2690. /*! SWT3 - Software trigger 3 event
  2691. * 0b0..No trigger 3 event generated.
  2692. * 0b1..Trigger 3 event generated.
  2693. */
  2694. #define ADC_SWTRIG_SWT3(x) (((uint32_t)(((uint32_t)(x)) << ADC_SWTRIG_SWT3_SHIFT)) & ADC_SWTRIG_SWT3_MASK)
  2695. #define ADC_SWTRIG_SWT4_MASK (0x10U)
  2696. #define ADC_SWTRIG_SWT4_SHIFT (4U)
  2697. /*! SWT4 - Software trigger 4 event
  2698. * 0b0..No trigger 4 event generated.
  2699. * 0b1..Trigger 4 event generated.
  2700. */
  2701. #define ADC_SWTRIG_SWT4(x) (((uint32_t)(((uint32_t)(x)) << ADC_SWTRIG_SWT4_SHIFT)) & ADC_SWTRIG_SWT4_MASK)
  2702. #define ADC_SWTRIG_SWT5_MASK (0x20U)
  2703. #define ADC_SWTRIG_SWT5_SHIFT (5U)
  2704. /*! SWT5 - Software trigger 5 event
  2705. * 0b0..No trigger 5 event generated.
  2706. * 0b1..Trigger 5 event generated.
  2707. */
  2708. #define ADC_SWTRIG_SWT5(x) (((uint32_t)(((uint32_t)(x)) << ADC_SWTRIG_SWT5_SHIFT)) & ADC_SWTRIG_SWT5_MASK)
  2709. #define ADC_SWTRIG_SWT6_MASK (0x40U)
  2710. #define ADC_SWTRIG_SWT6_SHIFT (6U)
  2711. /*! SWT6 - Software trigger 6 event
  2712. * 0b0..No trigger 6 event generated.
  2713. * 0b1..Trigger 6 event generated.
  2714. */
  2715. #define ADC_SWTRIG_SWT6(x) (((uint32_t)(((uint32_t)(x)) << ADC_SWTRIG_SWT6_SHIFT)) & ADC_SWTRIG_SWT6_MASK)
  2716. #define ADC_SWTRIG_SWT7_MASK (0x80U)
  2717. #define ADC_SWTRIG_SWT7_SHIFT (7U)
  2718. /*! SWT7 - Software trigger 7 event
  2719. * 0b0..No trigger 7 event generated.
  2720. * 0b1..Trigger 7 event generated.
  2721. */
  2722. #define ADC_SWTRIG_SWT7(x) (((uint32_t)(((uint32_t)(x)) << ADC_SWTRIG_SWT7_SHIFT)) & ADC_SWTRIG_SWT7_MASK)
  2723. /*! @} */
  2724. /*! @name TCTRL - Trigger Control Register */
  2725. /*! @{ */
  2726. #define ADC_TCTRL_HTEN_MASK (0x1U)
  2727. #define ADC_TCTRL_HTEN_SHIFT (0U)
  2728. /*! HTEN - Trigger enable
  2729. * 0b0..Hardware trigger source disabled
  2730. * 0b1..Hardware trigger source enabled
  2731. */
  2732. #define ADC_TCTRL_HTEN(x) (((uint32_t)(((uint32_t)(x)) << ADC_TCTRL_HTEN_SHIFT)) & ADC_TCTRL_HTEN_MASK)
  2733. #define ADC_TCTRL_CMD_SEL_MASK (0x2U)
  2734. #define ADC_TCTRL_CMD_SEL_SHIFT (1U)
  2735. /*! CMD_SEL
  2736. * 0b0..TCTRLa[TCMD] will determine the command
  2737. * 0b1..Software TCDM is bypassed , and hardware TCMD from ADC_ETC module will be used. The trigger command is
  2738. * then defined by ADC hardware trigger command selection field in ADC_ETC->TRIGx_CHAINy_z_n[CSEL].
  2739. */
  2740. #define ADC_TCTRL_CMD_SEL(x) (((uint32_t)(((uint32_t)(x)) << ADC_TCTRL_CMD_SEL_SHIFT)) & ADC_TCTRL_CMD_SEL_MASK)
  2741. #define ADC_TCTRL_TPRI_MASK (0x700U)
  2742. #define ADC_TCTRL_TPRI_SHIFT (8U)
  2743. /*! TPRI - Trigger priority setting
  2744. * 0b000..Set to highest priority, Level 1
  2745. * 0b001-0b110..Set to corresponding priority level
  2746. * 0b111..Set to lowest priority, Level 8
  2747. */
  2748. #define ADC_TCTRL_TPRI(x) (((uint32_t)(((uint32_t)(x)) << ADC_TCTRL_TPRI_SHIFT)) & ADC_TCTRL_TPRI_MASK)
  2749. #define ADC_TCTRL_TDLY_MASK (0xF0000U)
  2750. #define ADC_TCTRL_TDLY_SHIFT (16U)
  2751. /*! TDLY - Trigger delay select
  2752. */
  2753. #define ADC_TCTRL_TDLY(x) (((uint32_t)(((uint32_t)(x)) << ADC_TCTRL_TDLY_SHIFT)) & ADC_TCTRL_TDLY_MASK)
  2754. #define ADC_TCTRL_TCMD_MASK (0xF000000U)
  2755. #define ADC_TCTRL_TCMD_SHIFT (24U)
  2756. /*! TCMD - Trigger command select
  2757. * 0b0000..Not a valid selection from the command buffer. Trigger event is ignored.
  2758. * 0b0001..CMD1 is executed
  2759. * 0b0010-0b1110..Corresponding CMD is executed
  2760. * 0b1111..CMD15 is executed
  2761. */
  2762. #define ADC_TCTRL_TCMD(x) (((uint32_t)(((uint32_t)(x)) << ADC_TCTRL_TCMD_SHIFT)) & ADC_TCTRL_TCMD_MASK)
  2763. /*! @} */
  2764. /* The count of ADC_TCTRL */
  2765. #define ADC_TCTRL_COUNT (8U)
  2766. /*! @name CMDL - LPADC Command Low Buffer Register */
  2767. /*! @{ */
  2768. #define ADC_CMDL_ADCH_MASK (0x1FU)
  2769. #define ADC_CMDL_ADCH_SHIFT (0U)
  2770. /*! ADCH - Input channel select
  2771. * 0b00000..Select CH0A or CH0B or CH0A/CH0B pair.
  2772. * 0b00001..Select CH1A or CH1B or CH1A/CH1B pair.
  2773. * 0b00010..Select CH2A or CH2B or CH2A/CH2B pair.
  2774. * 0b00011..Select CH3A or CH3B or CH3A/CH3B pair.
  2775. * 0b00100-0b11101..Select corresponding channel CHnA or CHnB or CHnA/CHnB pair.
  2776. * 0b11110..Select CH30A or CH30B or CH30A/CH30B pair.
  2777. * 0b11111..Select CH31A or CH31B or CH31A/CH31B pair.
  2778. */
  2779. #define ADC_CMDL_ADCH(x) (((uint32_t)(((uint32_t)(x)) << ADC_CMDL_ADCH_SHIFT)) & ADC_CMDL_ADCH_MASK)
  2780. #define ADC_CMDL_ABSEL_MASK (0x20U)
  2781. #define ADC_CMDL_ABSEL_SHIFT (5U)
  2782. /*! ABSEL - A-side vs. B-side Select
  2783. * 0b0..When DIFF=0b0, the associated A-side channel is converted as single-ended. When DIFF=0b1, the ADC result is (CHnA-CHnB).
  2784. * 0b1..When DIFF=0b0, the associated B-side channel is converted as single-ended. When DIFF=0b1, the ADC result is (CHnB-CHnA).
  2785. */
  2786. #define ADC_CMDL_ABSEL(x) (((uint32_t)(((uint32_t)(x)) << ADC_CMDL_ABSEL_SHIFT)) & ADC_CMDL_ABSEL_MASK)
  2787. #define ADC_CMDL_DIFF_MASK (0x40U)
  2788. #define ADC_CMDL_DIFF_SHIFT (6U)
  2789. /*! DIFF - Differential Mode Enable
  2790. * 0b0..Single-ended mode.
  2791. * 0b1..Differential mode.
  2792. */
  2793. #define ADC_CMDL_DIFF(x) (((uint32_t)(((uint32_t)(x)) << ADC_CMDL_DIFF_SHIFT)) & ADC_CMDL_DIFF_MASK)
  2794. #define ADC_CMDL_CSCALE_MASK (0x2000U)
  2795. #define ADC_CMDL_CSCALE_SHIFT (13U)
  2796. /*! CSCALE - Channel Scale
  2797. * 0b0..Scale selected analog channel (Factor of 30/64)
  2798. * 0b1..(Default) Full scale (Factor of 1)
  2799. */
  2800. #define ADC_CMDL_CSCALE(x) (((uint32_t)(((uint32_t)(x)) << ADC_CMDL_CSCALE_SHIFT)) & ADC_CMDL_CSCALE_MASK)
  2801. /*! @} */
  2802. /* The count of ADC_CMDL */
  2803. #define ADC_CMDL_COUNT (15U)
  2804. /*! @name CMDH - LPADC Command High Buffer Register */
  2805. /*! @{ */
  2806. #define ADC_CMDH_CMPEN_MASK (0x3U)
  2807. #define ADC_CMDH_CMPEN_SHIFT (0U)
  2808. /*! CMPEN - Compare Function Enable
  2809. * 0b00..Compare disabled.
  2810. * 0b01..Reserved
  2811. * 0b10..Compare enabled. Store on true.
  2812. * 0b11..Compare enabled. Repeat channel acquisition (sample/convert/compare) until true.
  2813. */
  2814. #define ADC_CMDH_CMPEN(x) (((uint32_t)(((uint32_t)(x)) << ADC_CMDH_CMPEN_SHIFT)) & ADC_CMDH_CMPEN_MASK)
  2815. #define ADC_CMDH_LWI_MASK (0x80U)
  2816. #define ADC_CMDH_LWI_SHIFT (7U)
  2817. /*! LWI - Loop with Increment
  2818. * 0b0..Auto channel increment disabled
  2819. * 0b1..Auto channel increment enabled
  2820. */
  2821. #define ADC_CMDH_LWI(x) (((uint32_t)(((uint32_t)(x)) << ADC_CMDH_LWI_SHIFT)) & ADC_CMDH_LWI_MASK)
  2822. #define ADC_CMDH_STS_MASK (0x700U)
  2823. #define ADC_CMDH_STS_SHIFT (8U)
  2824. /*! STS - Sample Time Select
  2825. * 0b000..Minimum sample time of 3 ADCK cycles.
  2826. * 0b001..3 + 21 ADCK cycles; 5 ADCK cycles total sample time.
  2827. * 0b010..3 + 22 ADCK cycles; 7 ADCK cycles total sample time.
  2828. * 0b011..3 + 23 ADCK cycles; 11 ADCK cycles total sample time.
  2829. * 0b100..3 + 24 ADCK cycles; 19 ADCK cycles total sample time.
  2830. * 0b101..3 + 25 ADCK cycles; 35 ADCK cycles total sample time.
  2831. * 0b110..3 + 26 ADCK cycles; 67 ADCK cycles total sample time.
  2832. * 0b111..3 + 27 ADCK cycles; 131 ADCK cycles total sample time.
  2833. */
  2834. #define ADC_CMDH_STS(x) (((uint32_t)(((uint32_t)(x)) << ADC_CMDH_STS_SHIFT)) & ADC_CMDH_STS_MASK)
  2835. #define ADC_CMDH_AVGS_MASK (0x7000U)
  2836. #define ADC_CMDH_AVGS_SHIFT (12U)
  2837. /*! AVGS - Hardware Average Select
  2838. * 0b000..Single conversion.
  2839. * 0b001..2 conversions averaged.
  2840. * 0b010..4 conversions averaged.
  2841. * 0b011..8 conversions averaged.
  2842. * 0b100..16 conversions averaged.
  2843. * 0b101..32 conversions averaged.
  2844. * 0b110..64 conversions averaged.
  2845. * 0b111..128 conversions averaged.
  2846. */
  2847. #define ADC_CMDH_AVGS(x) (((uint32_t)(((uint32_t)(x)) << ADC_CMDH_AVGS_SHIFT)) & ADC_CMDH_AVGS_MASK)
  2848. #define ADC_CMDH_LOOP_MASK (0xF0000U)
  2849. #define ADC_CMDH_LOOP_SHIFT (16U)
  2850. /*! LOOP - Loop Count Select
  2851. * 0b0000..Looping not enabled. Command executes 1 time.
  2852. * 0b0001..Loop 1 time. Command executes 2 times.
  2853. * 0b0010..Loop 2 times. Command executes 3 times.
  2854. * 0b0011-0b1110..Loop corresponding number of times. Command executes LOOP+1 times.
  2855. * 0b1111..Loop 15 times. Command executes 16 times.
  2856. */
  2857. #define ADC_CMDH_LOOP(x) (((uint32_t)(((uint32_t)(x)) << ADC_CMDH_LOOP_SHIFT)) & ADC_CMDH_LOOP_MASK)
  2858. #define ADC_CMDH_NEXT_MASK (0xF000000U)
  2859. #define ADC_CMDH_NEXT_SHIFT (24U)
  2860. /*! NEXT - Next Command Select
  2861. * 0b0000..No next command defined. Terminate conversions at completion of current command. If lower priority
  2862. * trigger pending, begin command associated with lower priority trigger.
  2863. * 0b0001..Select CMD1 command buffer register as next command.
  2864. * 0b0010-0b1110..Select corresponding CMD command buffer register as next command
  2865. * 0b1111..Select CMD15 command buffer register as next command.
  2866. */
  2867. #define ADC_CMDH_NEXT(x) (((uint32_t)(((uint32_t)(x)) << ADC_CMDH_NEXT_SHIFT)) & ADC_CMDH_NEXT_MASK)
  2868. /*! @} */
  2869. /* The count of ADC_CMDH */
  2870. #define ADC_CMDH_COUNT (15U)
  2871. /*! @name CV - Compare Value Register */
  2872. /*! @{ */
  2873. #define ADC_CV_CVL_MASK (0xFFFFU)
  2874. #define ADC_CV_CVL_SHIFT (0U)
  2875. /*! CVL - Compare Value Low
  2876. */
  2877. #define ADC_CV_CVL(x) (((uint32_t)(((uint32_t)(x)) << ADC_CV_CVL_SHIFT)) & ADC_CV_CVL_MASK)
  2878. #define ADC_CV_CVH_MASK (0xFFFF0000U)
  2879. #define ADC_CV_CVH_SHIFT (16U)
  2880. /*! CVH - Compare Value High.
  2881. */
  2882. #define ADC_CV_CVH(x) (((uint32_t)(((uint32_t)(x)) << ADC_CV_CVH_SHIFT)) & ADC_CV_CVH_MASK)
  2883. /*! @} */
  2884. /* The count of ADC_CV */
  2885. #define ADC_CV_COUNT (4U)
  2886. /*! @name RESFIFO - LPADC Data Result FIFO Register */
  2887. /*! @{ */
  2888. #define ADC_RESFIFO_D_MASK (0xFFFFU)
  2889. #define ADC_RESFIFO_D_SHIFT (0U)
  2890. /*! D - Data result
  2891. */
  2892. #define ADC_RESFIFO_D(x) (((uint32_t)(((uint32_t)(x)) << ADC_RESFIFO_D_SHIFT)) & ADC_RESFIFO_D_MASK)
  2893. #define ADC_RESFIFO_TSRC_MASK (0x70000U)
  2894. #define ADC_RESFIFO_TSRC_SHIFT (16U)
  2895. /*! TSRC - Trigger Source
  2896. * 0b000..Trigger source 0 initiated this conversion.
  2897. * 0b001..Trigger source 1 initiated this conversion.
  2898. * 0b010-0b110..Corresponding trigger source initiated this conversion.
  2899. * 0b111..Trigger source 7 initiated this conversion.
  2900. */
  2901. #define ADC_RESFIFO_TSRC(x) (((uint32_t)(((uint32_t)(x)) << ADC_RESFIFO_TSRC_SHIFT)) & ADC_RESFIFO_TSRC_MASK)
  2902. #define ADC_RESFIFO_LOOPCNT_MASK (0xF00000U)
  2903. #define ADC_RESFIFO_LOOPCNT_SHIFT (20U)
  2904. /*! LOOPCNT - Loop count value
  2905. * 0b0000..Result is from initial conversion in command.
  2906. * 0b0001..Result is from second conversion in command.
  2907. * 0b0010-0b1110..Result is from LOOPCNT+1 conversion in command.
  2908. * 0b1111..Result is from 16th conversion in command.
  2909. */
  2910. #define ADC_RESFIFO_LOOPCNT(x) (((uint32_t)(((uint32_t)(x)) << ADC_RESFIFO_LOOPCNT_SHIFT)) & ADC_RESFIFO_LOOPCNT_MASK)
  2911. #define ADC_RESFIFO_CMDSRC_MASK (0xF000000U)
  2912. #define ADC_RESFIFO_CMDSRC_SHIFT (24U)
  2913. /*! CMDSRC - Command Buffer Source
  2914. * 0b0000..Not a valid value CMDSRC value for a dataword in RESFIFO. 0x0 is only found in initial FIFO state
  2915. * prior to an ADC conversion result dataword being stored to a RESFIFO buffer.
  2916. * 0b0001..CMD1 buffer used as control settings for this conversion.
  2917. * 0b0010-0b1110..Corresponding command buffer used as control settings for this conversion.
  2918. * 0b1111..CMD15 buffer used as control settings for this conversion.
  2919. */
  2920. #define ADC_RESFIFO_CMDSRC(x) (((uint32_t)(((uint32_t)(x)) << ADC_RESFIFO_CMDSRC_SHIFT)) & ADC_RESFIFO_CMDSRC_MASK)
  2921. #define ADC_RESFIFO_VALID_MASK (0x80000000U)
  2922. #define ADC_RESFIFO_VALID_SHIFT (31U)
  2923. /*! VALID - FIFO entry is valid
  2924. * 0b0..FIFO is empty. Discard any read from RESFIFO.
  2925. * 0b1..FIFO record read from RESFIFO is valid.
  2926. */
  2927. #define ADC_RESFIFO_VALID(x) (((uint32_t)(((uint32_t)(x)) << ADC_RESFIFO_VALID_SHIFT)) & ADC_RESFIFO_VALID_MASK)
  2928. /*! @} */
  2929. /*!
  2930. * @}
  2931. */ /* end of group ADC_Register_Masks */
  2932. /* ADC - Peripheral instance base addresses */
  2933. /** Peripheral LPADC1 base address */
  2934. #define LPADC1_BASE (0x40050000u)
  2935. /** Peripheral LPADC1 base pointer */
  2936. #define LPADC1 ((ADC_Type *)LPADC1_BASE)
  2937. /** Peripheral LPADC2 base address */
  2938. #define LPADC2_BASE (0x40054000u)
  2939. /** Peripheral LPADC2 base pointer */
  2940. #define LPADC2 ((ADC_Type *)LPADC2_BASE)
  2941. /** Array initializer of ADC peripheral base addresses */
  2942. #define ADC_BASE_ADDRS { 0u, LPADC1_BASE, LPADC2_BASE }
  2943. /** Array initializer of ADC peripheral base pointers */
  2944. #define ADC_BASE_PTRS { (ADC_Type *)0u, LPADC1, LPADC2 }
  2945. /** Interrupt vectors for the ADC peripheral type */
  2946. #define ADC_IRQS { NotAvail_IRQn, ADC1_IRQn, ADC2_IRQn }
  2947. /*!
  2948. * @}
  2949. */ /* end of group ADC_Peripheral_Access_Layer */
  2950. /* ----------------------------------------------------------------------------
  2951. -- ADC_ETC Peripheral Access Layer
  2952. ---------------------------------------------------------------------------- */
  2953. /*!
  2954. * @addtogroup ADC_ETC_Peripheral_Access_Layer ADC_ETC Peripheral Access Layer
  2955. * @{
  2956. */
  2957. /** ADC_ETC - Register Layout Typedef */
  2958. typedef struct {
  2959. __IO uint32_t CTRL; /**< ADC_ETC Global Control Register, offset: 0x0 */
  2960. __IO uint32_t DONE0_1_IRQ; /**< ETC DONE0 and DONE1 IRQ State Register, offset: 0x4 */
  2961. __IO uint32_t DONE2_3_ERR_IRQ; /**< ETC DONE_2, DONE_3 and DONE_ERR IRQ State Register, offset: 0x8 */
  2962. __IO uint32_t DMA_CTRL; /**< ETC DMA control Register, offset: 0xC */
  2963. struct { /* offset: 0x10, array step: 0x28 */
  2964. __IO uint32_t TRIGn_CTRL; /**< ETC_TRIG Control Register, array offset: 0x10, array step: 0x28 */
  2965. __IO uint32_t TRIGn_COUNTER; /**< ETC_TRIG Counter Register, array offset: 0x14, array step: 0x28 */
  2966. __IO uint32_t TRIGn_CHAIN_1_0; /**< ETC_TRIG Chain 0/1 Register, array offset: 0x18, array step: 0x28 */
  2967. __IO uint32_t TRIGn_CHAIN_3_2; /**< ETC_TRIG Chain 2/3 Register, array offset: 0x1C, array step: 0x28 */
  2968. __IO uint32_t TRIGn_CHAIN_5_4; /**< ETC_TRIG Chain 4/5 Register, array offset: 0x20, array step: 0x28 */
  2969. __IO uint32_t TRIGn_CHAIN_7_6; /**< ETC_TRIG Chain 6/7 Register, array offset: 0x24, array step: 0x28 */
  2970. __I uint32_t TRIGn_RESULT_1_0; /**< ETC_TRIG Result Data 1/0 Register, array offset: 0x28, array step: 0x28 */
  2971. __I uint32_t TRIGn_RESULT_3_2; /**< ETC_TRIG Result Data 3/2 Register, array offset: 0x2C, array step: 0x28 */
  2972. __I uint32_t TRIGn_RESULT_5_4; /**< ETC_TRIG Result Data 5/4 Register, array offset: 0x30, array step: 0x28 */
  2973. __I uint32_t TRIGn_RESULT_7_6; /**< ETC_TRIG Result Data 7/6 Register, array offset: 0x34, array step: 0x28 */
  2974. } TRIG[8];
  2975. } ADC_ETC_Type;
  2976. /* ----------------------------------------------------------------------------
  2977. -- ADC_ETC Register Masks
  2978. ---------------------------------------------------------------------------- */
  2979. /*!
  2980. * @addtogroup ADC_ETC_Register_Masks ADC_ETC Register Masks
  2981. * @{
  2982. */
  2983. /*! @name CTRL - ADC_ETC Global Control Register */
  2984. /*! @{ */
  2985. #define ADC_ETC_CTRL_TRIG_ENABLE_MASK (0xFFU)
  2986. #define ADC_ETC_CTRL_TRIG_ENABLE_SHIFT (0U)
  2987. /*! TRIG_ENABLE
  2988. * 0b00000000..disable all 8 external XBAR triggers.
  2989. * 0b00000001..enable external XBAR trigger0.
  2990. * 0b00000010..enable external XBAR trigger1.
  2991. * 0b00000011..enable external XBAR trigger0 and trigger1.
  2992. * 0b11111111..enable all 8 external XBAR triggers.
  2993. */
  2994. #define ADC_ETC_CTRL_TRIG_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_CTRL_TRIG_ENABLE_SHIFT)) & ADC_ETC_CTRL_TRIG_ENABLE_MASK)
  2995. #define ADC_ETC_CTRL_PRE_DIVIDER_MASK (0xFF0000U)
  2996. #define ADC_ETC_CTRL_PRE_DIVIDER_SHIFT (16U)
  2997. #define ADC_ETC_CTRL_PRE_DIVIDER(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_CTRL_PRE_DIVIDER_SHIFT)) & ADC_ETC_CTRL_PRE_DIVIDER_MASK)
  2998. #define ADC_ETC_CTRL_DMA_MODE_SEL_MASK (0x20000000U)
  2999. #define ADC_ETC_CTRL_DMA_MODE_SEL_SHIFT (29U)
  3000. /*! DMA_MODE_SEL
  3001. * 0b0..Trig DMA_REQ with latched signal, REQ will be cleared when ACK and source request cleared.
  3002. * 0b1..Trig DMA_REQ with pulsed signal, REQ will be cleared by ACK only.
  3003. */
  3004. #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)
  3005. #define ADC_ETC_CTRL_SOFTRST_MASK (0x80000000U)
  3006. #define ADC_ETC_CTRL_SOFTRST_SHIFT (31U)
  3007. /*! SOFTRST
  3008. * 0b0..ADC_ETC works normally.
  3009. * 0b1..All registers inside ADC_ETC will be reset to the default value.
  3010. */
  3011. #define ADC_ETC_CTRL_SOFTRST(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_CTRL_SOFTRST_SHIFT)) & ADC_ETC_CTRL_SOFTRST_MASK)
  3012. /*! @} */
  3013. /*! @name DONE0_1_IRQ - ETC DONE0 and DONE1 IRQ State Register */
  3014. /*! @{ */
  3015. #define ADC_ETC_DONE0_1_IRQ_TRIG0_DONE0_MASK (0x1U)
  3016. #define ADC_ETC_DONE0_1_IRQ_TRIG0_DONE0_SHIFT (0U)
  3017. /*! TRIG0_DONE0
  3018. * 0b0..No TRIG0_DONE0 interrupt detected
  3019. * 0b1..TRIG0_DONE0 interrupt detected
  3020. */
  3021. #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)
  3022. #define ADC_ETC_DONE0_1_IRQ_TRIG1_DONE0_MASK (0x2U)
  3023. #define ADC_ETC_DONE0_1_IRQ_TRIG1_DONE0_SHIFT (1U)
  3024. /*! TRIG1_DONE0
  3025. * 0b0..No TRIG1_DONE0 interrupt detected
  3026. * 0b1..TRIG1_DONE0 interrupt detected
  3027. */
  3028. #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)
  3029. #define ADC_ETC_DONE0_1_IRQ_TRIG2_DONE0_MASK (0x4U)
  3030. #define ADC_ETC_DONE0_1_IRQ_TRIG2_DONE0_SHIFT (2U)
  3031. /*! TRIG2_DONE0
  3032. * 0b0..No TRIG2_DONE0 interrupt detected
  3033. * 0b1..TRIG2_DONE0 interrupt detected
  3034. */
  3035. #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)
  3036. #define ADC_ETC_DONE0_1_IRQ_TRIG3_DONE0_MASK (0x8U)
  3037. #define ADC_ETC_DONE0_1_IRQ_TRIG3_DONE0_SHIFT (3U)
  3038. /*! TRIG3_DONE0
  3039. * 0b0..No TRIG3_DONE0 interrupt detected
  3040. * 0b1..TRIG3_DONE0 interrupt detected
  3041. */
  3042. #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)
  3043. #define ADC_ETC_DONE0_1_IRQ_TRIG4_DONE0_MASK (0x10U)
  3044. #define ADC_ETC_DONE0_1_IRQ_TRIG4_DONE0_SHIFT (4U)
  3045. /*! TRIG4_DONE0
  3046. * 0b0..No TRIG4_DONE0 interrupt detected
  3047. * 0b1..TRIG4_DONE0 interrupt detected
  3048. */
  3049. #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)
  3050. #define ADC_ETC_DONE0_1_IRQ_TRIG5_DONE0_MASK (0x20U)
  3051. #define ADC_ETC_DONE0_1_IRQ_TRIG5_DONE0_SHIFT (5U)
  3052. /*! TRIG5_DONE0
  3053. * 0b0..No TRIG5_DONE0 interrupt detected
  3054. * 0b1..TRIG5_DONE0 interrupt detected
  3055. */
  3056. #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)
  3057. #define ADC_ETC_DONE0_1_IRQ_TRIG6_DONE0_MASK (0x40U)
  3058. #define ADC_ETC_DONE0_1_IRQ_TRIG6_DONE0_SHIFT (6U)
  3059. /*! TRIG6_DONE0
  3060. * 0b0..No TRIG6_DONE0 interrupt detected
  3061. * 0b1..TRIG6_DONE0 interrupt detected
  3062. */
  3063. #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)
  3064. #define ADC_ETC_DONE0_1_IRQ_TRIG7_DONE0_MASK (0x80U)
  3065. #define ADC_ETC_DONE0_1_IRQ_TRIG7_DONE0_SHIFT (7U)
  3066. /*! TRIG7_DONE0
  3067. * 0b0..No TRIG7_DONE0 interrupt detected
  3068. * 0b1..TRIG7_DONE0 interrupt detected
  3069. */
  3070. #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)
  3071. #define ADC_ETC_DONE0_1_IRQ_TRIG0_DONE1_MASK (0x10000U)
  3072. #define ADC_ETC_DONE0_1_IRQ_TRIG0_DONE1_SHIFT (16U)
  3073. /*! TRIG0_DONE1
  3074. * 0b0..No TRIG0_DONE1 interrupt detected
  3075. * 0b1..TRIG0_DONE1 interrupt detected
  3076. */
  3077. #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)
  3078. #define ADC_ETC_DONE0_1_IRQ_TRIG1_DONE1_MASK (0x20000U)
  3079. #define ADC_ETC_DONE0_1_IRQ_TRIG1_DONE1_SHIFT (17U)
  3080. /*! TRIG1_DONE1
  3081. * 0b0..No TRIG1_DONE1 interrupt detected
  3082. * 0b1..TRIG1_DONE1 interrupt detected
  3083. */
  3084. #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)
  3085. #define ADC_ETC_DONE0_1_IRQ_TRIG2_DONE1_MASK (0x40000U)
  3086. #define ADC_ETC_DONE0_1_IRQ_TRIG2_DONE1_SHIFT (18U)
  3087. /*! TRIG2_DONE1
  3088. * 0b0..No TRIG2_DONE1 interrupt detected
  3089. * 0b1..TRIG2_DONE1 interrupt detected
  3090. */
  3091. #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)
  3092. #define ADC_ETC_DONE0_1_IRQ_TRIG3_DONE1_MASK (0x80000U)
  3093. #define ADC_ETC_DONE0_1_IRQ_TRIG3_DONE1_SHIFT (19U)
  3094. /*! TRIG3_DONE1
  3095. * 0b0..No TRIG3_DONE1 interrupt detected
  3096. * 0b1..TRIG3_DONE1 interrupt detected
  3097. */
  3098. #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)
  3099. #define ADC_ETC_DONE0_1_IRQ_TRIG4_DONE1_MASK (0x100000U)
  3100. #define ADC_ETC_DONE0_1_IRQ_TRIG4_DONE1_SHIFT (20U)
  3101. /*! TRIG4_DONE1
  3102. * 0b0..No TRIG4_DONE1 interrupt detected
  3103. * 0b1..TRIG4_DONE1 interrupt detected
  3104. */
  3105. #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)
  3106. #define ADC_ETC_DONE0_1_IRQ_TRIG5_DONE1_MASK (0x200000U)
  3107. #define ADC_ETC_DONE0_1_IRQ_TRIG5_DONE1_SHIFT (21U)
  3108. /*! TRIG5_DONE1
  3109. * 0b0..No TRIG5_DONE1 interrupt detected
  3110. * 0b1..TRIG5_DONE1 interrupt detected
  3111. */
  3112. #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)
  3113. #define ADC_ETC_DONE0_1_IRQ_TRIG6_DONE1_MASK (0x400000U)
  3114. #define ADC_ETC_DONE0_1_IRQ_TRIG6_DONE1_SHIFT (22U)
  3115. /*! TRIG6_DONE1
  3116. * 0b0..No TRIG6_DONE1 interrupt detected
  3117. * 0b1..TRIG6_DONE1 interrupt detected
  3118. */
  3119. #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)
  3120. #define ADC_ETC_DONE0_1_IRQ_TRIG7_DONE1_MASK (0x800000U)
  3121. #define ADC_ETC_DONE0_1_IRQ_TRIG7_DONE1_SHIFT (23U)
  3122. /*! TRIG7_DONE1
  3123. * 0b0..No TRIG7_DONE1 interrupt detected
  3124. * 0b1..TRIG7_DONE1 interrupt detected
  3125. */
  3126. #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)
  3127. /*! @} */
  3128. /*! @name DONE2_3_ERR_IRQ - ETC DONE_2, DONE_3 and DONE_ERR IRQ State Register */
  3129. /*! @{ */
  3130. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG0_DONE2_MASK (0x1U)
  3131. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG0_DONE2_SHIFT (0U)
  3132. /*! TRIG0_DONE2
  3133. * 0b0..No TRIG0_DONE2 interrupt detected
  3134. * 0b1..TRIG0_DONE2 interrupt detected
  3135. */
  3136. #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)
  3137. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG1_DONE2_MASK (0x2U)
  3138. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG1_DONE2_SHIFT (1U)
  3139. /*! TRIG1_DONE2
  3140. * 0b0..No TRIG1_DONE2 interrupt detected
  3141. * 0b1..TRIG1_DONE2 interrupt detected
  3142. */
  3143. #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)
  3144. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG2_DONE2_MASK (0x4U)
  3145. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG2_DONE2_SHIFT (2U)
  3146. /*! TRIG2_DONE2
  3147. * 0b0..No TRIG2_DONE2 interrupt detected
  3148. * 0b1..TRIG2_DONE2 interrupt detected
  3149. */
  3150. #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)
  3151. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG3_DONE2_MASK (0x8U)
  3152. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG3_DONE2_SHIFT (3U)
  3153. /*! TRIG3_DONE2
  3154. * 0b0..No TRIG3_DONE2 interrupt detected
  3155. * 0b1..TRIG3_DONE2 interrupt detected
  3156. */
  3157. #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)
  3158. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG4_DONE2_MASK (0x10U)
  3159. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG4_DONE2_SHIFT (4U)
  3160. /*! TRIG4_DONE2
  3161. * 0b0..No TRIG4_DONE2 interrupt detected
  3162. * 0b1..TRIG4_DONE2 interrupt detected
  3163. */
  3164. #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)
  3165. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG5_DONE2_MASK (0x20U)
  3166. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG5_DONE2_SHIFT (5U)
  3167. /*! TRIG5_DONE2
  3168. * 0b0..No TRIG5_DONE2 interrupt detected
  3169. * 0b1..TRIG5_DONE2 interrupt detected
  3170. */
  3171. #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)
  3172. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG6_DONE2_MASK (0x40U)
  3173. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG6_DONE2_SHIFT (6U)
  3174. /*! TRIG6_DONE2
  3175. * 0b0..No TRIG6_DONE2 interrupt detected
  3176. * 0b1..TRIG6_DONE2 interrupt detected
  3177. */
  3178. #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)
  3179. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG7_DONE2_MASK (0x80U)
  3180. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG7_DONE2_SHIFT (7U)
  3181. /*! TRIG7_DONE2
  3182. * 0b0..No TRIG7_DONE2 interrupt detected
  3183. * 0b1..TRIG7_DONE2 interrupt detected
  3184. */
  3185. #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)
  3186. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG0_DONE3_MASK (0x100U)
  3187. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG0_DONE3_SHIFT (8U)
  3188. /*! TRIG0_DONE3
  3189. * 0b0..No TRIG0_DONE3 interrupt detected
  3190. * 0b1..TRIG0_DONE3 interrupt detected
  3191. */
  3192. #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)
  3193. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG1_DONE3_MASK (0x200U)
  3194. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG1_DONE3_SHIFT (9U)
  3195. /*! TRIG1_DONE3
  3196. * 0b0..No TRIG1_DONE3 interrupt detected
  3197. * 0b1..TRIG1_DONE3 interrupt detected
  3198. */
  3199. #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)
  3200. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG2_DONE3_MASK (0x400U)
  3201. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG2_DONE3_SHIFT (10U)
  3202. /*! TRIG2_DONE3
  3203. * 0b0..No TRIG2_DONE3 interrupt detected
  3204. * 0b1..TRIG2_DONE3 interrupt detected
  3205. */
  3206. #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)
  3207. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG3_DONE3_MASK (0x800U)
  3208. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG3_DONE3_SHIFT (11U)
  3209. /*! TRIG3_DONE3
  3210. * 0b0..No TRIG3_DONE3 interrupt detected
  3211. * 0b1..TRIG3_DONE3 interrupt detected
  3212. */
  3213. #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)
  3214. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG4_DONE3_MASK (0x1000U)
  3215. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG4_DONE3_SHIFT (12U)
  3216. /*! TRIG4_DONE3
  3217. * 0b0..No TRIG4_DONE3 interrupt detected
  3218. * 0b1..TRIG4_DONE3 interrupt detected
  3219. */
  3220. #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)
  3221. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG5_DONE3_MASK (0x2000U)
  3222. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG5_DONE3_SHIFT (13U)
  3223. /*! TRIG5_DONE3
  3224. * 0b0..No TRIG5_DONE3 interrupt detected
  3225. * 0b1..TRIG5_DONE3 interrupt detected
  3226. */
  3227. #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)
  3228. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG6_DONE3_MASK (0x4000U)
  3229. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG6_DONE3_SHIFT (14U)
  3230. /*! TRIG6_DONE3
  3231. * 0b0..No TRIG6_DONE3 interrupt detected
  3232. * 0b1..TRIG6_DONE3 interrupt detected
  3233. */
  3234. #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)
  3235. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG7_DONE3_MASK (0x8000U)
  3236. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG7_DONE3_SHIFT (15U)
  3237. /*! TRIG7_DONE3
  3238. * 0b0..No TRIG7_DONE3 interrupt detected
  3239. * 0b1..TRIG7_DONE3 interrupt detected
  3240. */
  3241. #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)
  3242. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG0_ERR_MASK (0x10000U)
  3243. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG0_ERR_SHIFT (16U)
  3244. /*! TRIG0_ERR
  3245. * 0b0..No TRIG0_ERR interrupt detected
  3246. * 0b1..TRIG0_ERR interrupt detected
  3247. */
  3248. #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)
  3249. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG1_ERR_MASK (0x20000U)
  3250. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG1_ERR_SHIFT (17U)
  3251. /*! TRIG1_ERR
  3252. * 0b0..No TRIG1_ERR interrupt detected
  3253. * 0b1..TRIG1_ERR interrupt detected
  3254. */
  3255. #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)
  3256. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG2_ERR_MASK (0x40000U)
  3257. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG2_ERR_SHIFT (18U)
  3258. /*! TRIG2_ERR
  3259. * 0b0..No TRIG2_ERR interrupt detected
  3260. * 0b1..TRIG2_ERR interrupt detected
  3261. */
  3262. #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)
  3263. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG3_ERR_MASK (0x80000U)
  3264. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG3_ERR_SHIFT (19U)
  3265. /*! TRIG3_ERR
  3266. * 0b0..No TRIG3_ERR interrupt detected
  3267. * 0b1..TRIG3_ERR interrupt detected
  3268. */
  3269. #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)
  3270. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG4_ERR_MASK (0x100000U)
  3271. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG4_ERR_SHIFT (20U)
  3272. /*! TRIG4_ERR
  3273. * 0b0..No TRIG4_ERR interrupt detected
  3274. * 0b1..TRIG4_ERR interrupt detected
  3275. */
  3276. #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)
  3277. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG5_ERR_MASK (0x200000U)
  3278. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG5_ERR_SHIFT (21U)
  3279. /*! TRIG5_ERR
  3280. * 0b0..No TRIG5_ERR interrupt detected
  3281. * 0b1..TRIG5_ERR interrupt detected
  3282. */
  3283. #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)
  3284. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG6_ERR_MASK (0x400000U)
  3285. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG6_ERR_SHIFT (22U)
  3286. /*! TRIG6_ERR
  3287. * 0b0..No TRIG6_ERR interrupt detected
  3288. * 0b1..TRIG6_ERR interrupt detected
  3289. */
  3290. #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)
  3291. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG7_ERR_MASK (0x800000U)
  3292. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG7_ERR_SHIFT (23U)
  3293. /*! TRIG7_ERR
  3294. * 0b0..No TRIG7_ERR interrupt detected
  3295. * 0b1..TRIG7_ERR interrupt detected
  3296. */
  3297. #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)
  3298. /*! @} */
  3299. /*! @name DMA_CTRL - ETC DMA control Register */
  3300. /*! @{ */
  3301. #define ADC_ETC_DMA_CTRL_TRIG0_ENABLE_MASK (0x1U)
  3302. #define ADC_ETC_DMA_CTRL_TRIG0_ENABLE_SHIFT (0U)
  3303. /*! TRIG0_ENABLE
  3304. * 0b0..TRIG0 DMA request disabled.
  3305. * 0b1..TRIG0 DMA request enabled.
  3306. */
  3307. #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)
  3308. #define ADC_ETC_DMA_CTRL_TRIG1_ENABLE_MASK (0x2U)
  3309. #define ADC_ETC_DMA_CTRL_TRIG1_ENABLE_SHIFT (1U)
  3310. /*! TRIG1_ENABLE
  3311. * 0b0..TRIG1 DMA request disabled.
  3312. * 0b1..TRIG1 DMA request enabled.
  3313. */
  3314. #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)
  3315. #define ADC_ETC_DMA_CTRL_TRIG2_ENABLE_MASK (0x4U)
  3316. #define ADC_ETC_DMA_CTRL_TRIG2_ENABLE_SHIFT (2U)
  3317. /*! TRIG2_ENABLE
  3318. * 0b0..TRIG2 DMA request disabled.
  3319. * 0b1..TRIG2 DMA request enabled.
  3320. */
  3321. #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)
  3322. #define ADC_ETC_DMA_CTRL_TRIG3_ENABLE_MASK (0x8U)
  3323. #define ADC_ETC_DMA_CTRL_TRIG3_ENABLE_SHIFT (3U)
  3324. /*! TRIG3_ENABLE
  3325. * 0b0..TRIG3 DMA request disabled.
  3326. * 0b1..TRIG3 DMA request enabled.
  3327. */
  3328. #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)
  3329. #define ADC_ETC_DMA_CTRL_TRIG4_ENABLE_MASK (0x10U)
  3330. #define ADC_ETC_DMA_CTRL_TRIG4_ENABLE_SHIFT (4U)
  3331. /*! TRIG4_ENABLE
  3332. * 0b0..TRIG4 DMA request disabled.
  3333. * 0b1..TRIG4 DMA request enabled.
  3334. */
  3335. #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)
  3336. #define ADC_ETC_DMA_CTRL_TRIG5_ENABLE_MASK (0x20U)
  3337. #define ADC_ETC_DMA_CTRL_TRIG5_ENABLE_SHIFT (5U)
  3338. /*! TRIG5_ENABLE
  3339. * 0b0..TRIG5 DMA request disabled.
  3340. * 0b1..TRIG5 DMA request enabled.
  3341. */
  3342. #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)
  3343. #define ADC_ETC_DMA_CTRL_TRIG6_ENABLE_MASK (0x40U)
  3344. #define ADC_ETC_DMA_CTRL_TRIG6_ENABLE_SHIFT (6U)
  3345. /*! TRIG6_ENABLE
  3346. * 0b0..TRIG6 DMA request disabled.
  3347. * 0b1..TRIG6 DMA request enabled.
  3348. */
  3349. #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)
  3350. #define ADC_ETC_DMA_CTRL_TRIG7_ENABLE_MASK (0x80U)
  3351. #define ADC_ETC_DMA_CTRL_TRIG7_ENABLE_SHIFT (7U)
  3352. /*! TRIG7_ENABLE
  3353. * 0b0..TRIG7 DMA request disabled.
  3354. * 0b1..TRIG7 DMA request enabled.
  3355. */
  3356. #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)
  3357. #define ADC_ETC_DMA_CTRL_TRIG0_REQ_MASK (0x10000U)
  3358. #define ADC_ETC_DMA_CTRL_TRIG0_REQ_SHIFT (16U)
  3359. /*! TRIG0_REQ
  3360. * 0b0..TRIG0_REQ not detected.
  3361. * 0b1..TRIG0_REQ detected.
  3362. */
  3363. #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)
  3364. #define ADC_ETC_DMA_CTRL_TRIG1_REQ_MASK (0x20000U)
  3365. #define ADC_ETC_DMA_CTRL_TRIG1_REQ_SHIFT (17U)
  3366. /*! TRIG1_REQ
  3367. * 0b0..TRIG1_REQ not detected.
  3368. * 0b1..TRIG1_REQ detected.
  3369. */
  3370. #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)
  3371. #define ADC_ETC_DMA_CTRL_TRIG2_REQ_MASK (0x40000U)
  3372. #define ADC_ETC_DMA_CTRL_TRIG2_REQ_SHIFT (18U)
  3373. /*! TRIG2_REQ
  3374. * 0b0..TRIG2_REQ not detected.
  3375. * 0b1..TRIG2_REQ detected.
  3376. */
  3377. #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)
  3378. #define ADC_ETC_DMA_CTRL_TRIG3_REQ_MASK (0x80000U)
  3379. #define ADC_ETC_DMA_CTRL_TRIG3_REQ_SHIFT (19U)
  3380. /*! TRIG3_REQ
  3381. * 0b0..TRIG3_REQ not detected.
  3382. * 0b1..TRIG3_REQ detected.
  3383. */
  3384. #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)
  3385. #define ADC_ETC_DMA_CTRL_TRIG4_REQ_MASK (0x100000U)
  3386. #define ADC_ETC_DMA_CTRL_TRIG4_REQ_SHIFT (20U)
  3387. /*! TRIG4_REQ
  3388. * 0b0..TRIG4_REQ not detected.
  3389. * 0b1..TRIG4_REQ detected.
  3390. */
  3391. #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)
  3392. #define ADC_ETC_DMA_CTRL_TRIG5_REQ_MASK (0x200000U)
  3393. #define ADC_ETC_DMA_CTRL_TRIG5_REQ_SHIFT (21U)
  3394. /*! TRIG5_REQ
  3395. * 0b0..TRIG5_REQ not detected.
  3396. * 0b1..TRIG5_REQ detected.
  3397. */
  3398. #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)
  3399. #define ADC_ETC_DMA_CTRL_TRIG6_REQ_MASK (0x400000U)
  3400. #define ADC_ETC_DMA_CTRL_TRIG6_REQ_SHIFT (22U)
  3401. /*! TRIG6_REQ
  3402. * 0b0..TRIG6_REQ not detected.
  3403. * 0b1..TRIG6_REQ detected.
  3404. */
  3405. #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)
  3406. #define ADC_ETC_DMA_CTRL_TRIG7_REQ_MASK (0x800000U)
  3407. #define ADC_ETC_DMA_CTRL_TRIG7_REQ_SHIFT (23U)
  3408. /*! TRIG7_REQ
  3409. * 0b0..TRIG7_REQ not detected.
  3410. * 0b1..TRIG7_REQ detected.
  3411. */
  3412. #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)
  3413. /*! @} */
  3414. /*! @name TRIGn_CTRL - ETC_TRIG Control Register */
  3415. /*! @{ */
  3416. #define ADC_ETC_TRIGn_CTRL_SW_TRIG_MASK (0x1U)
  3417. #define ADC_ETC_TRIGn_CTRL_SW_TRIG_SHIFT (0U)
  3418. /*! SW_TRIG
  3419. * 0b0..No software trigger event generated.
  3420. * 0b1..Software trigger event generated.
  3421. */
  3422. #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)
  3423. #define ADC_ETC_TRIGn_CTRL_TRIG_MODE_MASK (0x10U)
  3424. #define ADC_ETC_TRIGn_CTRL_TRIG_MODE_SHIFT (4U)
  3425. /*! TRIG_MODE
  3426. * 0b0..Hardware trigger. The softerware trigger will be ignored.
  3427. * 0b1..Software trigger. The hardware trigger will be ignored.
  3428. */
  3429. #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)
  3430. #define ADC_ETC_TRIGn_CTRL_TRIG_CHAIN_MASK (0x700U)
  3431. #define ADC_ETC_TRIGn_CTRL_TRIG_CHAIN_SHIFT (8U)
  3432. /*! TRIG_CHAIN
  3433. * 0b000..Trigger chain length is 1
  3434. * 0b001..Trigger chain length is 2
  3435. * 0b010..Trigger chain length is 3
  3436. * 0b011..Trigger chain length is 4
  3437. * 0b100..Trigger chain length is 5
  3438. * 0b101..Trigger chain length is 6
  3439. * 0b110..Trigger chain length is 7
  3440. * 0b111..Trigger chain length is 8
  3441. */
  3442. #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)
  3443. #define ADC_ETC_TRIGn_CTRL_TRIG_PRIORITY_MASK (0x7000U)
  3444. #define ADC_ETC_TRIGn_CTRL_TRIG_PRIORITY_SHIFT (12U)
  3445. #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)
  3446. #define ADC_ETC_TRIGn_CTRL_SYNC_MODE_MASK (0x10000U)
  3447. #define ADC_ETC_TRIGn_CTRL_SYNC_MODE_SHIFT (16U)
  3448. /*! SYNC_MODE
  3449. * 0b0..Synchronization mode disabled, TRIGa and TRIG(a+4) are triggered independently.
  3450. * 0b1..Synchronization mode enabled, TRIGa and TRIG(a+4) are triggered by TRIGa source synchronously.
  3451. */
  3452. #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)
  3453. #define ADC_ETC_TRIGn_CTRL_CHAINx_DONE_MASK (0xFF000000U)
  3454. #define ADC_ETC_TRIGn_CTRL_CHAINx_DONE_SHIFT (24U)
  3455. /*! CHAINx_DONE
  3456. * 0b00000000..segment x done not detected.
  3457. * 0b00000001..segment x done detected.
  3458. */
  3459. #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)
  3460. /*! @} */
  3461. /* The count of ADC_ETC_TRIGn_CTRL */
  3462. #define ADC_ETC_TRIGn_CTRL_COUNT (8U)
  3463. /*! @name TRIGn_COUNTER - ETC_TRIG Counter Register */
  3464. /*! @{ */
  3465. #define ADC_ETC_TRIGn_COUNTER_INIT_DELAY_MASK (0xFFFFU)
  3466. #define ADC_ETC_TRIGn_COUNTER_INIT_DELAY_SHIFT (0U)
  3467. #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)
  3468. #define ADC_ETC_TRIGn_COUNTER_SAMPLE_INTERVAL_MASK (0xFFFF0000U)
  3469. #define ADC_ETC_TRIGn_COUNTER_SAMPLE_INTERVAL_SHIFT (16U)
  3470. #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)
  3471. /*! @} */
  3472. /* The count of ADC_ETC_TRIGn_COUNTER */
  3473. #define ADC_ETC_TRIGn_COUNTER_COUNT (8U)
  3474. /*! @name TRIGn_CHAIN_1_0 - ETC_TRIG Chain 0/1 Register */
  3475. /*! @{ */
  3476. #define ADC_ETC_TRIGn_CHAIN_1_0_CSEL0_MASK (0xFU)
  3477. #define ADC_ETC_TRIGn_CHAIN_1_0_CSEL0_SHIFT (0U)
  3478. /*! CSEL0
  3479. * 0b0000..Not a valid selection from the command buffer. Trigger event is ignored.
  3480. * 0b0001..ADC CMD1 selected.
  3481. * 0b0010..ADC CMD2 selected.
  3482. * 0b0011..ADC CMD3 selected.
  3483. * 0b0100..ADC CMD4 selected.
  3484. * 0b0101..ADC CMD5 selected.
  3485. * 0b0110..ADC CMD6 selected.
  3486. * 0b0111..ADC CMD7 selected.
  3487. * 0b1000..ADC CMD8 selected.
  3488. * 0b1001..ADC CMD9 selected.
  3489. * 0b1010..ADC CMD10 selected.
  3490. * 0b1011..ADC CMD11 selected.
  3491. * 0b1100..ADC CMD12 selected.
  3492. * 0b1101..ADC CMD13 selected.
  3493. * 0b1110..ADC CMD14 selected.
  3494. * 0b1111..ADC CMD15 selected.
  3495. */
  3496. #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)
  3497. #define ADC_ETC_TRIGn_CHAIN_1_0_HWTS0_MASK (0xFF0U)
  3498. #define ADC_ETC_TRIGn_CHAIN_1_0_HWTS0_SHIFT (4U)
  3499. /*! HWTS0
  3500. * 0b00000000..no trigger selected
  3501. * 0b00000001..ADC TRIG0 selected
  3502. * 0b00000010..ADC TRIG1 selected
  3503. * 0b00000100..ADC TRIG2 selected
  3504. * 0b00001000..ADC TRIG3 selected
  3505. * 0b00010000..ADC TRIG4 selected
  3506. * 0b00100000..ADC TRIG5 selected
  3507. * 0b01000000..ADC TRIG6 selected
  3508. * 0b10000000..ADC TRIG7 selected
  3509. */
  3510. #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)
  3511. #define ADC_ETC_TRIGn_CHAIN_1_0_B2B0_MASK (0x1000U)
  3512. #define ADC_ETC_TRIGn_CHAIN_1_0_B2B0_SHIFT (12U)
  3513. /*! B2B0
  3514. * 0b0..Disable B2B. Wait until delay value defined by TRIG0_COUNTER[SAMPLE_INTERVAL] is reached
  3515. * 0b1..Enable B2B. When Segment 0 finished (ADC COCO) then automatically trigger next ADC conversion, no need to wait until interval delay reached.
  3516. */
  3517. #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)
  3518. #define ADC_ETC_TRIGn_CHAIN_1_0_IE0_MASK (0x6000U)
  3519. #define ADC_ETC_TRIGn_CHAIN_1_0_IE0_SHIFT (13U)
  3520. /*! IE0
  3521. * 0b00..Generate interrupt on Done0 when segment 0 finish.
  3522. * 0b01..Generate interrupt on Done1 when segment 0 finish.
  3523. * 0b10..Generate interrupt on Done2 when segment 0 finish.
  3524. * 0b11..Generate interrupt on Done3 when segment 0 finish.
  3525. */
  3526. #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)
  3527. #define ADC_ETC_TRIGn_CHAIN_1_0_IE0_EN_MASK (0x8000U)
  3528. #define ADC_ETC_TRIGn_CHAIN_1_0_IE0_EN_SHIFT (15U)
  3529. /*! IE0_EN
  3530. * 0b0..Interrupt DONE disabled.
  3531. * 0b1..Interrupt DONE enabled. When segment 0 finish, an interrupt will be generated on the specific port configured by the IE0.
  3532. */
  3533. #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)
  3534. #define ADC_ETC_TRIGn_CHAIN_1_0_CSEL1_MASK (0xF0000U)
  3535. #define ADC_ETC_TRIGn_CHAIN_1_0_CSEL1_SHIFT (16U)
  3536. /*! CSEL1
  3537. * 0b0000..Not a valid selection from the command buffer. Trigger event is ignored.
  3538. * 0b0001..ADC CMD1 selected.
  3539. * 0b0010..ADC CMD2 selected.
  3540. * 0b0011..ADC CMD3 selected.
  3541. * 0b0100..ADC CMD4 selected.
  3542. * 0b0101..ADC CMD5 selected.
  3543. * 0b0110..ADC CMD6 selected.
  3544. * 0b0111..ADC CMD7 selected.
  3545. * 0b1000..ADC CMD8 selected.
  3546. * 0b1001..ADC CMD9 selected.
  3547. * 0b1010..ADC CMD10 selected.
  3548. * 0b1011..ADC CMD11 selected.
  3549. * 0b1100..ADC CMD12 selected.
  3550. * 0b1101..ADC CMD13 selected.
  3551. * 0b1110..ADC CMD14 selected.
  3552. * 0b1111..ADC CMD15 selected.
  3553. */
  3554. #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)
  3555. #define ADC_ETC_TRIGn_CHAIN_1_0_HWTS1_MASK (0xFF00000U)
  3556. #define ADC_ETC_TRIGn_CHAIN_1_0_HWTS1_SHIFT (20U)
  3557. /*! HWTS1
  3558. * 0b00000000..no trigger selected
  3559. * 0b00000001..ADC TRIG0 selected
  3560. * 0b00000010..ADC TRIG1 selected
  3561. * 0b00000100..ADC TRIG2 selected
  3562. * 0b00001000..ADC TRIG3 selected
  3563. * 0b00010000..ADC TRIG4 selected
  3564. * 0b00100000..ADC TRIG5 selected
  3565. * 0b01000000..ADC TRIG6 selected
  3566. * 0b10000000..ADC TRIG7 selected
  3567. */
  3568. #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)
  3569. #define ADC_ETC_TRIGn_CHAIN_1_0_B2B1_MASK (0x10000000U)
  3570. #define ADC_ETC_TRIGn_CHAIN_1_0_B2B1_SHIFT (28U)
  3571. /*! B2B1
  3572. * 0b0..Disable B2B. Wait until delay value defined by TRIG1_COUNTER[SAMPLE_INTERVAL] is reached
  3573. * 0b1..Enable B2B. When Segment 0 finished (ADC COCO) then automatically trigger next ADC conversion, no need to wait until interval delay reached.
  3574. */
  3575. #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)
  3576. #define ADC_ETC_TRIGn_CHAIN_1_0_IE1_MASK (0x60000000U)
  3577. #define ADC_ETC_TRIGn_CHAIN_1_0_IE1_SHIFT (29U)
  3578. /*! IE1
  3579. * 0b00..Generate interrupt on Done0 when Segment 1 finish.
  3580. * 0b01..Generate interrupt on Done1 when Segment 1 finish.
  3581. * 0b10..Generate interrupt on Done2 when Segment 1 finish.
  3582. * 0b11..Generate interrupt on Done3 when Segment 1 finish.
  3583. */
  3584. #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)
  3585. #define ADC_ETC_TRIGn_CHAIN_1_0_IE1_EN_MASK (0x80000000U)
  3586. #define ADC_ETC_TRIGn_CHAIN_1_0_IE1_EN_SHIFT (31U)
  3587. /*! IE1_EN
  3588. * 0b0..Interrupt DONE disabled.
  3589. * 0b1..Interrupt DONE enabled. When segment 1 finish, an interrupt will be generated on the specific port configured by the IE1.
  3590. */
  3591. #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)
  3592. /*! @} */
  3593. /* The count of ADC_ETC_TRIGn_CHAIN_1_0 */
  3594. #define ADC_ETC_TRIGn_CHAIN_1_0_COUNT (8U)
  3595. /*! @name TRIGn_CHAIN_3_2 - ETC_TRIG Chain 2/3 Register */
  3596. /*! @{ */
  3597. #define ADC_ETC_TRIGn_CHAIN_3_2_CSEL2_MASK (0xFU)
  3598. #define ADC_ETC_TRIGn_CHAIN_3_2_CSEL2_SHIFT (0U)
  3599. /*! CSEL2
  3600. * 0b0000..Not a valid selection from the command buffer. Trigger event is ignored.
  3601. * 0b0001..ADC CMD1 selected.
  3602. * 0b0010..ADC CMD2 selected.
  3603. * 0b0011..ADC CMD3 selected.
  3604. * 0b0100..ADC CMD4 selected.
  3605. * 0b0101..ADC CMD5 selected.
  3606. * 0b0110..ADC CMD6 selected.
  3607. * 0b0111..ADC CMD7 selected.
  3608. * 0b1000..ADC CMD8 selected.
  3609. * 0b1001..ADC CMD9 selected.
  3610. * 0b1010..ADC CMD10 selected.
  3611. * 0b1011..ADC CMD11 selected.
  3612. * 0b1100..ADC CMD12 selected.
  3613. * 0b1101..ADC CMD13 selected.
  3614. * 0b1110..ADC CMD14 selected.
  3615. * 0b1111..ADC CMD15 selected.
  3616. */
  3617. #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)
  3618. #define ADC_ETC_TRIGn_CHAIN_3_2_HWTS2_MASK (0xFF0U)
  3619. #define ADC_ETC_TRIGn_CHAIN_3_2_HWTS2_SHIFT (4U)
  3620. /*! HWTS2
  3621. * 0b00000000..no trigger selected
  3622. * 0b00000001..ADC TRIG0 selected
  3623. * 0b00000010..ADC TRIG1 selected
  3624. * 0b00000100..ADC TRIG2 selected
  3625. * 0b00001000..ADC TRIG3 selected
  3626. * 0b00010000..ADC TRIG4 selected
  3627. * 0b00100000..ADC TRIG5 selected
  3628. * 0b01000000..ADC TRIG6 selected
  3629. * 0b10000000..ADC TRIG7 selected
  3630. */
  3631. #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)
  3632. #define ADC_ETC_TRIGn_CHAIN_3_2_B2B2_MASK (0x1000U)
  3633. #define ADC_ETC_TRIGn_CHAIN_3_2_B2B2_SHIFT (12U)
  3634. /*! B2B2
  3635. * 0b0..Disable B2B. Wait until delay value defined by TRIG2_COUNTER[SAMPLE_INTERVAL] is reached
  3636. * 0b1..Enable B2B. When Segment 0 finished (ADC COCO) then automatically trigger next ADC conversion, no need to wait until interval delay reached.
  3637. */
  3638. #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)
  3639. #define ADC_ETC_TRIGn_CHAIN_3_2_IE2_MASK (0x6000U)
  3640. #define ADC_ETC_TRIGn_CHAIN_3_2_IE2_SHIFT (13U)
  3641. /*! IE2
  3642. * 0b00..Generate interrupt on Done0 when segment 2 finish.
  3643. * 0b01..Generate interrupt on Done1 when segment 2 finish.
  3644. * 0b10..Generate interrupt on Done2 when segment 2 finish.
  3645. * 0b11..Generate interrupt on Done3 when segment 2 finish.
  3646. */
  3647. #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)
  3648. #define ADC_ETC_TRIGn_CHAIN_3_2_IE2_EN_MASK (0x8000U)
  3649. #define ADC_ETC_TRIGn_CHAIN_3_2_IE2_EN_SHIFT (15U)
  3650. /*! IE2_EN
  3651. * 0b0..Interrupt DONE disabled.
  3652. * 0b1..Interrupt DONE enabled. When segment 2 finish, an interrupt will be generated on the specific port configured by the IE2.
  3653. */
  3654. #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)
  3655. #define ADC_ETC_TRIGn_CHAIN_3_2_CSEL3_MASK (0xF0000U)
  3656. #define ADC_ETC_TRIGn_CHAIN_3_2_CSEL3_SHIFT (16U)
  3657. /*! CSEL3
  3658. * 0b0000..Not a valid selection from the command buffer. Trigger event is ignored.
  3659. * 0b0001..ADC CMD1 selected.
  3660. * 0b0010..ADC CMD2 selected.
  3661. * 0b0011..ADC CMD3 selected.
  3662. * 0b0100..ADC CMD4 selected.
  3663. * 0b0101..ADC CMD5 selected.
  3664. * 0b0110..ADC CMD6 selected.
  3665. * 0b0111..ADC CMD7 selected.
  3666. * 0b1000..ADC CMD8 selected.
  3667. * 0b1001..ADC CMD9 selected.
  3668. * 0b1010..ADC CMD10 selected.
  3669. * 0b1011..ADC CMD11 selected.
  3670. * 0b1100..ADC CMD12 selected.
  3671. * 0b1101..ADC CMD13 selected.
  3672. * 0b1110..ADC CMD14 selected.
  3673. * 0b1111..ADC CMD15 selected.
  3674. */
  3675. #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)
  3676. #define ADC_ETC_TRIGn_CHAIN_3_2_HWTS3_MASK (0xFF00000U)
  3677. #define ADC_ETC_TRIGn_CHAIN_3_2_HWTS3_SHIFT (20U)
  3678. /*! HWTS3
  3679. * 0b00000000..no trigger selected
  3680. * 0b00000001..ADC TRIG0 selected
  3681. * 0b00000010..ADC TRIG1 selected
  3682. * 0b00000100..ADC TRIG2 selected
  3683. * 0b00001000..ADC TRIG3 selected
  3684. * 0b00010000..ADC TRIG4 selected
  3685. * 0b00100000..ADC TRIG5 selected
  3686. * 0b01000000..ADC TRIG6 selected
  3687. * 0b10000000..ADC TRIG7 selected
  3688. */
  3689. #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)
  3690. #define ADC_ETC_TRIGn_CHAIN_3_2_B2B3_MASK (0x10000000U)
  3691. #define ADC_ETC_TRIGn_CHAIN_3_2_B2B3_SHIFT (28U)
  3692. /*! B2B3
  3693. * 0b0..Disable B2B. Wait until delay value defined by TRIG3_COUNTER[SAMPLE_INTERVAL] is reached
  3694. * 0b1..Enable B2B. When Segment 0 finished (ADC COCO) then automatically trigger next ADC conversion, no need to wait until interval delay reached.
  3695. */
  3696. #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)
  3697. #define ADC_ETC_TRIGn_CHAIN_3_2_IE3_MASK (0x60000000U)
  3698. #define ADC_ETC_TRIGn_CHAIN_3_2_IE3_SHIFT (29U)
  3699. /*! IE3
  3700. * 0b00..Generate interrupt on Done0 when segment 3 finish.
  3701. * 0b01..Generate interrupt on Done1 when segment 3 finish.
  3702. * 0b10..Generate interrupt on Done2 when segment 3 finish.
  3703. * 0b11..Generate interrupt on Done3 when segment 3 finish.
  3704. */
  3705. #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)
  3706. #define ADC_ETC_TRIGn_CHAIN_3_2_IE3_EN_MASK (0x80000000U)
  3707. #define ADC_ETC_TRIGn_CHAIN_3_2_IE3_EN_SHIFT (31U)
  3708. /*! IE3_EN
  3709. * 0b0..Interrupt DONE disabled.
  3710. * 0b1..Interrupt DONE enabled. When segment 3 finish, an interrupt will be generated on the specific port configured by the IE3.
  3711. */
  3712. #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)
  3713. /*! @} */
  3714. /* The count of ADC_ETC_TRIGn_CHAIN_3_2 */
  3715. #define ADC_ETC_TRIGn_CHAIN_3_2_COUNT (8U)
  3716. /*! @name TRIGn_CHAIN_5_4 - ETC_TRIG Chain 4/5 Register */
  3717. /*! @{ */
  3718. #define ADC_ETC_TRIGn_CHAIN_5_4_CSEL4_MASK (0xFU)
  3719. #define ADC_ETC_TRIGn_CHAIN_5_4_CSEL4_SHIFT (0U)
  3720. /*! CSEL4
  3721. * 0b0000..Not a valid selection from the command buffer. Trigger event is ignored.
  3722. * 0b0001..ADC CMD1 selected.
  3723. * 0b0010..ADC CMD2 selected.
  3724. * 0b0011..ADC CMD3 selected.
  3725. * 0b0100..ADC CMD4 selected.
  3726. * 0b0101..ADC CMD5 selected.
  3727. * 0b0110..ADC CMD6 selected.
  3728. * 0b0111..ADC CMD7 selected.
  3729. * 0b1000..ADC CMD8 selected.
  3730. * 0b1001..ADC CMD9 selected.
  3731. * 0b1010..ADC CMD10 selected.
  3732. * 0b1011..ADC CMD11 selected.
  3733. * 0b1100..ADC CMD12 selected.
  3734. * 0b1101..ADC CMD13 selected.
  3735. * 0b1110..ADC CMD14 selected.
  3736. * 0b1111..ADC CMD15 selected.
  3737. */
  3738. #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)
  3739. #define ADC_ETC_TRIGn_CHAIN_5_4_HWTS4_MASK (0xFF0U)
  3740. #define ADC_ETC_TRIGn_CHAIN_5_4_HWTS4_SHIFT (4U)
  3741. /*! HWTS4
  3742. * 0b00000000..no trigger selected
  3743. * 0b00000001..ADC TRIG0 selected
  3744. * 0b00000010..ADC TRIG1 selected
  3745. * 0b00000100..ADC TRIG2 selected
  3746. * 0b00001000..ADC TRIG3 selected
  3747. * 0b00010000..ADC TRIG4 selected
  3748. * 0b00100000..ADC TRIG5 selected
  3749. * 0b01000000..ADC TRIG6 selected
  3750. * 0b10000000..ADC TRIG7 selected
  3751. */
  3752. #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)
  3753. #define ADC_ETC_TRIGn_CHAIN_5_4_B2B4_MASK (0x1000U)
  3754. #define ADC_ETC_TRIGn_CHAIN_5_4_B2B4_SHIFT (12U)
  3755. /*! B2B4
  3756. * 0b0..Disable B2B. Wait until delay value defined by TRIG4_COUNTER[SAMPLE_INTERVAL] is reached
  3757. * 0b1..Enable B2B. When Segment 0 finished (ADC COCO) then automatically trigger next ADC conversion, no need to wait until interval delay reached.
  3758. */
  3759. #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)
  3760. #define ADC_ETC_TRIGn_CHAIN_5_4_IE4_MASK (0x6000U)
  3761. #define ADC_ETC_TRIGn_CHAIN_5_4_IE4_SHIFT (13U)
  3762. /*! IE4
  3763. * 0b00..Generate interrupt on Done0 when segment 4 finish.
  3764. * 0b01..Generate interrupt on Done1 when segment 4 finish.
  3765. * 0b10..Generate interrupt on Done2 when segment 4 finish.
  3766. * 0b11..Generate interrupt on Done3 when segment 4 finish.
  3767. */
  3768. #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)
  3769. #define ADC_ETC_TRIGn_CHAIN_5_4_IE4_EN_MASK (0x8000U)
  3770. #define ADC_ETC_TRIGn_CHAIN_5_4_IE4_EN_SHIFT (15U)
  3771. /*! IE4_EN
  3772. * 0b0..Interrupt DONE disabled.
  3773. * 0b1..Interrupt DONE enabled. When segment 4 finish, an interrupt will be generated on the specific port configured by the IE4.
  3774. */
  3775. #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)
  3776. #define ADC_ETC_TRIGn_CHAIN_5_4_CSEL5_MASK (0xF0000U)
  3777. #define ADC_ETC_TRIGn_CHAIN_5_4_CSEL5_SHIFT (16U)
  3778. /*! CSEL5
  3779. * 0b0000..Not a valid selection from the command buffer. Trigger event is ignored.
  3780. * 0b0001..ADC CMD1 selected.
  3781. * 0b0010..ADC CMD2 selected.
  3782. * 0b0011..ADC CMD3 selected.
  3783. * 0b0100..ADC CMD4 selected.
  3784. * 0b0101..ADC CMD5 selected.
  3785. * 0b0110..ADC CMD6 selected.
  3786. * 0b0111..ADC CMD7 selected.
  3787. * 0b1000..ADC CMD8 selected.
  3788. * 0b1001..ADC CMD9 selected.
  3789. * 0b1010..ADC CMD10 selected.
  3790. * 0b1011..ADC CMD11 selected.
  3791. * 0b1100..ADC CMD12 selected.
  3792. * 0b1101..ADC CMD13 selected.
  3793. * 0b1110..ADC CMD14 selected.
  3794. * 0b1111..ADC CMD15 selected.
  3795. */
  3796. #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)
  3797. #define ADC_ETC_TRIGn_CHAIN_5_4_HWTS5_MASK (0xFF00000U)
  3798. #define ADC_ETC_TRIGn_CHAIN_5_4_HWTS5_SHIFT (20U)
  3799. /*! HWTS5
  3800. * 0b00000000..no trigger selected
  3801. * 0b00000001..ADC TRIG0 selected
  3802. * 0b00000010..ADC TRIG1 selected
  3803. * 0b00000100..ADC TRIG2 selected
  3804. * 0b00001000..ADC TRIG3 selected
  3805. * 0b00010000..ADC TRIG4 selected
  3806. * 0b00100000..ADC TRIG5 selected
  3807. * 0b01000000..ADC TRIG6 selected
  3808. * 0b10000000..ADC TRIG7 selected
  3809. */
  3810. #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)
  3811. #define ADC_ETC_TRIGn_CHAIN_5_4_B2B5_MASK (0x10000000U)
  3812. #define ADC_ETC_TRIGn_CHAIN_5_4_B2B5_SHIFT (28U)
  3813. /*! B2B5
  3814. * 0b0..Disable B2B. Wait until delay value defined by TRIG5_COUNTER[SAMPLE_INTERVAL] is reached
  3815. * 0b1..Enable B2B. When Segment 0 finished (ADC COCO) then automatically trigger next ADC conversion, no need to wait until interval delay reached.
  3816. */
  3817. #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)
  3818. #define ADC_ETC_TRIGn_CHAIN_5_4_IE5_MASK (0x60000000U)
  3819. #define ADC_ETC_TRIGn_CHAIN_5_4_IE5_SHIFT (29U)
  3820. /*! IE5
  3821. * 0b00..Generate interrupt on Done0 when segment 5 finish.
  3822. * 0b01..Generate interrupt on Done1 when segment 5 finish.
  3823. * 0b10..Generate interrupt on Done2 when segment 5 finish.
  3824. * 0b11..Generate interrupt on Done3 when segment 5 finish.
  3825. */
  3826. #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)
  3827. #define ADC_ETC_TRIGn_CHAIN_5_4_IE5_EN_MASK (0x80000000U)
  3828. #define ADC_ETC_TRIGn_CHAIN_5_4_IE5_EN_SHIFT (31U)
  3829. /*! IE5_EN
  3830. * 0b0..Interrupt DONE disabled.
  3831. * 0b1..Interrupt DONE enabled. When segment 5 finish, an interrupt will be generated on the specific port configured by the IE5.
  3832. */
  3833. #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)
  3834. /*! @} */
  3835. /* The count of ADC_ETC_TRIGn_CHAIN_5_4 */
  3836. #define ADC_ETC_TRIGn_CHAIN_5_4_COUNT (8U)
  3837. /*! @name TRIGn_CHAIN_7_6 - ETC_TRIG Chain 6/7 Register */
  3838. /*! @{ */
  3839. #define ADC_ETC_TRIGn_CHAIN_7_6_CSEL6_MASK (0xFU)
  3840. #define ADC_ETC_TRIGn_CHAIN_7_6_CSEL6_SHIFT (0U)
  3841. /*! CSEL6
  3842. * 0b0000..Not a valid selection from the command buffer. Trigger event is ignored.
  3843. * 0b0001..ADC CMD1 selected.
  3844. * 0b0010..ADC CMD2 selected.
  3845. * 0b0011..ADC CMD3 selected.
  3846. * 0b0100..ADC CMD4 selected.
  3847. * 0b0101..ADC CMD5 selected.
  3848. * 0b0110..ADC CMD6 selected.
  3849. * 0b0111..ADC CMD7 selected.
  3850. * 0b1000..ADC CMD8 selected.
  3851. * 0b1001..ADC CMD9 selected.
  3852. * 0b1010..ADC CMD10 selected.
  3853. * 0b1011..ADC CMD11 selected.
  3854. * 0b1100..ADC CMD12 selected.
  3855. * 0b1101..ADC CMD13 selected.
  3856. * 0b1110..ADC CMD14 selected.
  3857. * 0b1111..ADC CMD15 selected.
  3858. */
  3859. #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)
  3860. #define ADC_ETC_TRIGn_CHAIN_7_6_HWTS6_MASK (0xFF0U)
  3861. #define ADC_ETC_TRIGn_CHAIN_7_6_HWTS6_SHIFT (4U)
  3862. /*! HWTS6
  3863. * 0b00000000..no trigger selected
  3864. * 0b00000001..ADC TRIG0 selected
  3865. * 0b00000010..ADC TRIG1 selected
  3866. * 0b00000100..ADC TRIG2 selected
  3867. * 0b00001000..ADC TRIG3 selected
  3868. * 0b00010000..ADC TRIG4 selected
  3869. * 0b00100000..ADC TRIG5 selected
  3870. * 0b01000000..ADC TRIG6 selected
  3871. * 0b10000000..ADC TRIG7 selected
  3872. */
  3873. #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)
  3874. #define ADC_ETC_TRIGn_CHAIN_7_6_B2B6_MASK (0x1000U)
  3875. #define ADC_ETC_TRIGn_CHAIN_7_6_B2B6_SHIFT (12U)
  3876. /*! B2B6
  3877. * 0b0..Disable B2B. Wait until delay value defined by TRIG6_COUNTER[SAMPLE_INTERVAL] is reached
  3878. * 0b1..Enable B2B. When Segment 0 finished (ADC COCO) then automatically trigger next ADC conversion, no need to wait until interval delay reached.
  3879. */
  3880. #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)
  3881. #define ADC_ETC_TRIGn_CHAIN_7_6_IE6_MASK (0x6000U)
  3882. #define ADC_ETC_TRIGn_CHAIN_7_6_IE6_SHIFT (13U)
  3883. /*! IE6
  3884. * 0b00..Generate interrupt on Done0 when segment 6 finish.
  3885. * 0b01..Generate interrupt on Done1 when segment 6 finish.
  3886. * 0b10..Generate interrupt on Done2 when segment 6 finish.
  3887. * 0b11..Generate interrupt on Done3 when segment 6 finish.
  3888. */
  3889. #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)
  3890. #define ADC_ETC_TRIGn_CHAIN_7_6_IE6_EN_MASK (0x8000U)
  3891. #define ADC_ETC_TRIGn_CHAIN_7_6_IE6_EN_SHIFT (15U)
  3892. /*! IE6_EN
  3893. * 0b0..Interrupt DONE disabled.
  3894. * 0b1..Interrupt DONE enabled. When segment 6 finish, an interrupt will be generated on the specific port configured by the IE6.
  3895. */
  3896. #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)
  3897. #define ADC_ETC_TRIGn_CHAIN_7_6_CSEL7_MASK (0xF0000U)
  3898. #define ADC_ETC_TRIGn_CHAIN_7_6_CSEL7_SHIFT (16U)
  3899. /*! CSEL7
  3900. * 0b0000..Not a valid selection from the command buffer. Trigger event is ignored.
  3901. * 0b0001..ADC CMD1 selected.
  3902. * 0b0010..ADC CMD2 selected.
  3903. * 0b0011..ADC CMD3 selected.
  3904. * 0b0100..ADC CMD4 selected.
  3905. * 0b0101..ADC CMD5 selected.
  3906. * 0b0110..ADC CMD6 selected.
  3907. * 0b0111..ADC CMD7 selected.
  3908. * 0b1000..ADC CMD8 selected.
  3909. * 0b1001..ADC CMD9 selected.
  3910. * 0b1010..ADC CMD10 selected.
  3911. * 0b1011..ADC CMD11 selected.
  3912. * 0b1100..ADC CMD12 selected.
  3913. * 0b1101..ADC CMD13 selected.
  3914. * 0b1110..ADC CMD14 selected.
  3915. * 0b1111..ADC CMD15 selected.
  3916. */
  3917. #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)
  3918. #define ADC_ETC_TRIGn_CHAIN_7_6_HWTS7_MASK (0xFF00000U)
  3919. #define ADC_ETC_TRIGn_CHAIN_7_6_HWTS7_SHIFT (20U)
  3920. /*! HWTS7
  3921. * 0b00000000..no trigger selected
  3922. * 0b00000001..ADC TRIG0 selected
  3923. * 0b00000010..ADC TRIG1 selected
  3924. * 0b00000100..ADC TRIG2 selected
  3925. * 0b00001000..ADC TRIG3 selected
  3926. * 0b00010000..ADC TRIG4 selected
  3927. * 0b00100000..ADC TRIG5 selected
  3928. * 0b01000000..ADC TRIG6 selected
  3929. * 0b10000000..ADC TRIG7 selected
  3930. */
  3931. #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)
  3932. #define ADC_ETC_TRIGn_CHAIN_7_6_B2B7_MASK (0x10000000U)
  3933. #define ADC_ETC_TRIGn_CHAIN_7_6_B2B7_SHIFT (28U)
  3934. /*! B2B7
  3935. * 0b0..Disable B2B. Wait until delay value defined by TRIG7_COUNTER[SAMPLE_INTERVAL] is reached
  3936. * 0b1..Enable B2B. When Segment 0 finished (ADC COCO) then automatically trigger next ADC conversion, no need to wait until interval delay reached.
  3937. */
  3938. #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)
  3939. #define ADC_ETC_TRIGn_CHAIN_7_6_IE7_MASK (0x60000000U)
  3940. #define ADC_ETC_TRIGn_CHAIN_7_6_IE7_SHIFT (29U)
  3941. /*! IE7
  3942. * 0b00..Generate interrupt on Done0 when segment 7 finish.
  3943. * 0b01..Generate interrupt on Done1 when segment 7 finish.
  3944. * 0b10..Generate interrupt on Done2 when segment 7 finish.
  3945. * 0b11..Generate interrupt on Done3 when segment 7 finish.
  3946. */
  3947. #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)
  3948. #define ADC_ETC_TRIGn_CHAIN_7_6_IE7_EN_MASK (0x80000000U)
  3949. #define ADC_ETC_TRIGn_CHAIN_7_6_IE7_EN_SHIFT (31U)
  3950. /*! IE7_EN
  3951. * 0b0..Interrupt DONE disabled.
  3952. * 0b1..Interrupt DONE enabled. When segment 7 finish, an interrupt will be generated on the specific port configured by the IE7.
  3953. */
  3954. #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)
  3955. /*! @} */
  3956. /* The count of ADC_ETC_TRIGn_CHAIN_7_6 */
  3957. #define ADC_ETC_TRIGn_CHAIN_7_6_COUNT (8U)
  3958. /*! @name TRIGn_RESULT_1_0 - ETC_TRIG Result Data 1/0 Register */
  3959. /*! @{ */
  3960. #define ADC_ETC_TRIGn_RESULT_1_0_DATA0_MASK (0xFFFU)
  3961. #define ADC_ETC_TRIGn_RESULT_1_0_DATA0_SHIFT (0U)
  3962. #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)
  3963. #define ADC_ETC_TRIGn_RESULT_1_0_DATA1_MASK (0xFFF0000U)
  3964. #define ADC_ETC_TRIGn_RESULT_1_0_DATA1_SHIFT (16U)
  3965. #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)
  3966. /*! @} */
  3967. /* The count of ADC_ETC_TRIGn_RESULT_1_0 */
  3968. #define ADC_ETC_TRIGn_RESULT_1_0_COUNT (8U)
  3969. /*! @name TRIGn_RESULT_3_2 - ETC_TRIG Result Data 3/2 Register */
  3970. /*! @{ */
  3971. #define ADC_ETC_TRIGn_RESULT_3_2_DATA2_MASK (0xFFFU)
  3972. #define ADC_ETC_TRIGn_RESULT_3_2_DATA2_SHIFT (0U)
  3973. #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)
  3974. #define ADC_ETC_TRIGn_RESULT_3_2_DATA3_MASK (0xFFF0000U)
  3975. #define ADC_ETC_TRIGn_RESULT_3_2_DATA3_SHIFT (16U)
  3976. #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)
  3977. /*! @} */
  3978. /* The count of ADC_ETC_TRIGn_RESULT_3_2 */
  3979. #define ADC_ETC_TRIGn_RESULT_3_2_COUNT (8U)
  3980. /*! @name TRIGn_RESULT_5_4 - ETC_TRIG Result Data 5/4 Register */
  3981. /*! @{ */
  3982. #define ADC_ETC_TRIGn_RESULT_5_4_DATA4_MASK (0xFFFU)
  3983. #define ADC_ETC_TRIGn_RESULT_5_4_DATA4_SHIFT (0U)
  3984. #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)
  3985. #define ADC_ETC_TRIGn_RESULT_5_4_DATA5_MASK (0xFFF0000U)
  3986. #define ADC_ETC_TRIGn_RESULT_5_4_DATA5_SHIFT (16U)
  3987. #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)
  3988. /*! @} */
  3989. /* The count of ADC_ETC_TRIGn_RESULT_5_4 */
  3990. #define ADC_ETC_TRIGn_RESULT_5_4_COUNT (8U)
  3991. /*! @name TRIGn_RESULT_7_6 - ETC_TRIG Result Data 7/6 Register */
  3992. /*! @{ */
  3993. #define ADC_ETC_TRIGn_RESULT_7_6_DATA6_MASK (0xFFFU)
  3994. #define ADC_ETC_TRIGn_RESULT_7_6_DATA6_SHIFT (0U)
  3995. #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)
  3996. #define ADC_ETC_TRIGn_RESULT_7_6_DATA7_MASK (0xFFF0000U)
  3997. #define ADC_ETC_TRIGn_RESULT_7_6_DATA7_SHIFT (16U)
  3998. #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)
  3999. /*! @} */
  4000. /* The count of ADC_ETC_TRIGn_RESULT_7_6 */
  4001. #define ADC_ETC_TRIGn_RESULT_7_6_COUNT (8U)
  4002. /*!
  4003. * @}
  4004. */ /* end of group ADC_ETC_Register_Masks */
  4005. /* ADC_ETC - Peripheral instance base addresses */
  4006. /** Peripheral ADC_ETC base address */
  4007. #define ADC_ETC_BASE (0x40048000u)
  4008. /** Peripheral ADC_ETC base pointer */
  4009. #define ADC_ETC ((ADC_ETC_Type *)ADC_ETC_BASE)
  4010. /** Array initializer of ADC_ETC peripheral base addresses */
  4011. #define ADC_ETC_BASE_ADDRS { ADC_ETC_BASE }
  4012. /** Array initializer of ADC_ETC peripheral base pointers */
  4013. #define ADC_ETC_BASE_PTRS { ADC_ETC }
  4014. /** Interrupt vectors for the ADC_ETC peripheral type */
  4015. #define ADC_ETC_IRQS { { ADC_ETC_IRQ0_IRQn, ADC_ETC_IRQ1_IRQn, ADC_ETC_IRQ2_IRQn, ADC_ETC_IRQ3_IRQn } }
  4016. #define ADC_ETC_FAULT_IRQS { ADC_ETC_ERROR_IRQ_IRQn }
  4017. /*!
  4018. * @}
  4019. */ /* end of group ADC_ETC_Peripheral_Access_Layer */
  4020. /* ----------------------------------------------------------------------------
  4021. -- ANADIG_LDO_SNVS Peripheral Access Layer
  4022. ---------------------------------------------------------------------------- */
  4023. /*!
  4024. * @addtogroup ANADIG_LDO_SNVS_Peripheral_Access_Layer ANADIG_LDO_SNVS Peripheral Access Layer
  4025. * @{
  4026. */
  4027. /** ANADIG_LDO_SNVS - Register Layout Typedef */
  4028. typedef struct {
  4029. uint8_t RESERVED_0[1296];
  4030. __IO uint32_t PMU_LDO_LPSR_ANA; /**< PMU_LDO_LPSR_ANA_REGISTER, offset: 0x510 */
  4031. uint8_t RESERVED_1[12];
  4032. __IO uint32_t PMU_LDO_LPSR_DIG_2; /**< PMU_LDO_LPSR_DIG_2_REGISTER, offset: 0x520 */
  4033. uint8_t RESERVED_2[12];
  4034. __IO uint32_t PMU_LDO_LPSR_DIG; /**< PMU_LDO_LPSR_DIG_REGISTER, offset: 0x530 */
  4035. } ANADIG_LDO_SNVS_Type;
  4036. /* ----------------------------------------------------------------------------
  4037. -- ANADIG_LDO_SNVS Register Masks
  4038. ---------------------------------------------------------------------------- */
  4039. /*!
  4040. * @addtogroup ANADIG_LDO_SNVS_Register_Masks ANADIG_LDO_SNVS Register Masks
  4041. * @{
  4042. */
  4043. /*! @name PMU_LDO_LPSR_ANA - PMU_LDO_LPSR_ANA_REGISTER */
  4044. /*! @{ */
  4045. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_REG_LP_EN_MASK (0x1U)
  4046. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_REG_LP_EN_SHIFT (0U)
  4047. /*! REG_LP_EN - reg_lp_en
  4048. */
  4049. #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)
  4050. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_REG_DISABLE_MASK (0x4U)
  4051. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_REG_DISABLE_SHIFT (2U)
  4052. /*! REG_DISABLE - reg_disable
  4053. */
  4054. #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)
  4055. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_PULL_DOWN_2MA_EN_MASK (0x8U)
  4056. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_PULL_DOWN_2MA_EN_SHIFT (3U)
  4057. /*! PULL_DOWN_2MA_EN - pull_down_2ma_en
  4058. */
  4059. #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)
  4060. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_LPSR_ANA_CONTROL_MODE_MASK (0x10U)
  4061. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_LPSR_ANA_CONTROL_MODE_SHIFT (4U)
  4062. /*! LPSR_ANA_CONTROL_MODE - LPSR_ANA_CONTROL_MODE
  4063. * 0b0..SW Control
  4064. * 0b1..HW Control
  4065. */
  4066. #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)
  4067. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_BYPASS_MODE_EN_MASK (0x20U)
  4068. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_BYPASS_MODE_EN_SHIFT (5U)
  4069. /*! BYPASS_MODE_EN - bypass_mode_en
  4070. */
  4071. #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)
  4072. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_STANDBY_EN_MASK (0x40U)
  4073. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_STANDBY_EN_SHIFT (6U)
  4074. /*! STANDBY_EN - standby_en
  4075. */
  4076. #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)
  4077. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_ALWAYS_4MA_PULLDOWN_EN_MASK (0x100U)
  4078. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_ALWAYS_4MA_PULLDOWN_EN_SHIFT (8U)
  4079. /*! ALWAYS_4MA_PULLDOWN_EN - always_4ma_pulldown_en
  4080. */
  4081. #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)
  4082. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_TRACK_MODE_EN_MASK (0x80000U)
  4083. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_TRACK_MODE_EN_SHIFT (19U)
  4084. /*! TRACK_MODE_EN - Track Mode Enable
  4085. * 0b0..Normal use
  4086. * 0b1..Switch preparation
  4087. */
  4088. #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)
  4089. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_PULL_DOWN_20UA_EN_MASK (0x100000U)
  4090. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_PULL_DOWN_20UA_EN_SHIFT (20U)
  4091. /*! PULL_DOWN_20UA_EN - pull_down_20ua_en
  4092. */
  4093. #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)
  4094. /*! @} */
  4095. /*! @name PMU_LDO_LPSR_DIG_2 - PMU_LDO_LPSR_DIG_2_REGISTER */
  4096. /*! @{ */
  4097. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_2_VOLTAGE_STEP_INC_MASK (0x3U)
  4098. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_2_VOLTAGE_STEP_INC_SHIFT (0U)
  4099. /*! VOLTAGE_STEP_INC - voltage_step_inc
  4100. */
  4101. #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)
  4102. /*! @} */
  4103. /*! @name PMU_LDO_LPSR_DIG - PMU_LDO_LPSR_DIG_REGISTER */
  4104. /*! @{ */
  4105. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_REG_EN_MASK (0x4U)
  4106. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_REG_EN_SHIFT (2U)
  4107. /*! REG_EN - ENABLE_ILIMIT
  4108. */
  4109. #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)
  4110. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_LPSR_DIG_CONTROL_MODE_MASK (0x20U)
  4111. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_LPSR_DIG_CONTROL_MODE_SHIFT (5U)
  4112. /*! LPSR_DIG_CONTROL_MODE - LPSR_DIG_CONTROL_MODE
  4113. * 0b0..SW Control
  4114. * 0b1..HW Control
  4115. */
  4116. #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)
  4117. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_STANDBY_EN_MASK (0x40U)
  4118. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_STANDBY_EN_SHIFT (6U)
  4119. /*! STANDBY_EN - standby_en
  4120. */
  4121. #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)
  4122. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_TRACKING_MODE_MASK (0x20000U)
  4123. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_TRACKING_MODE_SHIFT (17U)
  4124. /*! TRACKING_MODE - tracking_mode
  4125. */
  4126. #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)
  4127. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_BYPASS_MODE_MASK (0x40000U)
  4128. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_BYPASS_MODE_SHIFT (18U)
  4129. /*! BYPASS_MODE - bypass_mode
  4130. */
  4131. #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)
  4132. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_VOLTAGE_SELECT_MASK (0x1F00000U)
  4133. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_VOLTAGE_SELECT_SHIFT (20U)
  4134. /*! VOLTAGE_SELECT - VOLTAGE_SELECT
  4135. * 0b00000..Stable Voltage (range)
  4136. * 0b00001..Stable Voltage (range)
  4137. * 0b00010..Stable Voltage (range)
  4138. * 0b00011..Stable Voltage (range)
  4139. * 0b00100..Stable Voltage (range)
  4140. * 0b00101..Stable Voltage (range)
  4141. * 0b00110..Stable Voltage (range)
  4142. * 0b00111..Stable Voltage (range)
  4143. * 0b01000..Stable Voltage (range)
  4144. * 0b01001..Stable Voltage (range)
  4145. * 0b01010..Stable Voltage (range)
  4146. * 0b01011..Stable Voltage (range)
  4147. * 0b01100..Stable Voltage (range)
  4148. * 0b01101..Stable Voltage (range)
  4149. * 0b01110..Stable Voltage (range)
  4150. * 0b01111..Stable Voltage (range)
  4151. * 0b10000..Stable Voltage (range)
  4152. * 0b10001..Stable Voltage (range)
  4153. * 0b10010..Stable Voltage (range)
  4154. * 0b10011..Stable Voltage (range)
  4155. * 0b10100..Stable Voltage (range)
  4156. * 0b10101..Stable Voltage (range)
  4157. * 0b10110..Stable Voltage (range)
  4158. * 0b10111..Stable Voltage (range)
  4159. * 0b11000..Stable Voltage (range)
  4160. * 0b11001..Stable Voltage (range)
  4161. * 0b11010..Stable Voltage (range)
  4162. * 0b11011..Stable Voltage (range)
  4163. * 0b11100..Stable Voltage (range)
  4164. * 0b11101..Stable Voltage (range)
  4165. * 0b11110..Stable Voltage (range)
  4166. * 0b11111..Stable Voltage (range)
  4167. */
  4168. #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)
  4169. /*! @} */
  4170. /*!
  4171. * @}
  4172. */ /* end of group ANADIG_LDO_SNVS_Register_Masks */
  4173. /* ANADIG_LDO_SNVS - Peripheral instance base addresses */
  4174. /** Peripheral ANADIG_LDO_SNVS base address */
  4175. #define ANADIG_LDO_SNVS_BASE (0x40C84000u)
  4176. /** Peripheral ANADIG_LDO_SNVS base pointer */
  4177. #define ANADIG_LDO_SNVS ((ANADIG_LDO_SNVS_Type *)ANADIG_LDO_SNVS_BASE)
  4178. /** Array initializer of ANADIG_LDO_SNVS peripheral base addresses */
  4179. #define ANADIG_LDO_SNVS_BASE_ADDRS { ANADIG_LDO_SNVS_BASE }
  4180. /** Array initializer of ANADIG_LDO_SNVS peripheral base pointers */
  4181. #define ANADIG_LDO_SNVS_BASE_PTRS { ANADIG_LDO_SNVS }
  4182. /*!
  4183. * @}
  4184. */ /* end of group ANADIG_LDO_SNVS_Peripheral_Access_Layer */
  4185. /* ----------------------------------------------------------------------------
  4186. -- ANADIG_LDO_SNVS_DIG Peripheral Access Layer
  4187. ---------------------------------------------------------------------------- */
  4188. /*!
  4189. * @addtogroup ANADIG_LDO_SNVS_DIG_Peripheral_Access_Layer ANADIG_LDO_SNVS_DIG Peripheral Access Layer
  4190. * @{
  4191. */
  4192. /** ANADIG_LDO_SNVS_DIG - Register Layout Typedef */
  4193. typedef struct {
  4194. uint8_t RESERVED_0[1344];
  4195. __IO uint32_t PMU_LDO_SNVS_DIG; /**< PMU_LDO_SNVS_DIG_REGISTER, offset: 0x540 */
  4196. } ANADIG_LDO_SNVS_DIG_Type;
  4197. /* ----------------------------------------------------------------------------
  4198. -- ANADIG_LDO_SNVS_DIG Register Masks
  4199. ---------------------------------------------------------------------------- */
  4200. /*!
  4201. * @addtogroup ANADIG_LDO_SNVS_DIG_Register_Masks ANADIG_LDO_SNVS_DIG Register Masks
  4202. * @{
  4203. */
  4204. /*! @name PMU_LDO_SNVS_DIG - PMU_LDO_SNVS_DIG_REGISTER */
  4205. /*! @{ */
  4206. #define ANADIG_LDO_SNVS_DIG_PMU_LDO_SNVS_DIG_REG_LP_EN_MASK (0x1U)
  4207. #define ANADIG_LDO_SNVS_DIG_PMU_LDO_SNVS_DIG_REG_LP_EN_SHIFT (0U)
  4208. /*! REG_LP_EN - REG_LP_EN
  4209. */
  4210. #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)
  4211. #define ANADIG_LDO_SNVS_DIG_PMU_LDO_SNVS_DIG_TEST_OVERRIDE_MASK (0x2U)
  4212. #define ANADIG_LDO_SNVS_DIG_PMU_LDO_SNVS_DIG_TEST_OVERRIDE_SHIFT (1U)
  4213. /*! TEST_OVERRIDE - test_override
  4214. */
  4215. #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)
  4216. #define ANADIG_LDO_SNVS_DIG_PMU_LDO_SNVS_DIG_REG_EN_MASK (0x4U)
  4217. #define ANADIG_LDO_SNVS_DIG_PMU_LDO_SNVS_DIG_REG_EN_SHIFT (2U)
  4218. /*! REG_EN - REG_EN
  4219. */
  4220. #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)
  4221. /*! @} */
  4222. /*!
  4223. * @}
  4224. */ /* end of group ANADIG_LDO_SNVS_DIG_Register_Masks */
  4225. /* ANADIG_LDO_SNVS_DIG - Peripheral instance base addresses */
  4226. /** Peripheral ANADIG_LDO_SNVS_DIG base address */
  4227. #define ANADIG_LDO_SNVS_DIG_BASE (0x40C84000u)
  4228. /** Peripheral ANADIG_LDO_SNVS_DIG base pointer */
  4229. #define ANADIG_LDO_SNVS_DIG ((ANADIG_LDO_SNVS_DIG_Type *)ANADIG_LDO_SNVS_DIG_BASE)
  4230. /** Array initializer of ANADIG_LDO_SNVS_DIG peripheral base addresses */
  4231. #define ANADIG_LDO_SNVS_DIG_BASE_ADDRS { ANADIG_LDO_SNVS_DIG_BASE }
  4232. /** Array initializer of ANADIG_LDO_SNVS_DIG peripheral base pointers */
  4233. #define ANADIG_LDO_SNVS_DIG_BASE_PTRS { ANADIG_LDO_SNVS_DIG }
  4234. /*!
  4235. * @}
  4236. */ /* end of group ANADIG_LDO_SNVS_DIG_Peripheral_Access_Layer */
  4237. /* ----------------------------------------------------------------------------
  4238. -- ANADIG_MISC Peripheral Access Layer
  4239. ---------------------------------------------------------------------------- */
  4240. /*!
  4241. * @addtogroup ANADIG_MISC_Peripheral_Access_Layer ANADIG_MISC Peripheral Access Layer
  4242. * @{
  4243. */
  4244. /** ANADIG_MISC - Register Layout Typedef */
  4245. typedef struct {
  4246. uint8_t RESERVED_0[2048];
  4247. __I uint32_t MISC_DIFPROG; /**< Chip Silicon Version Register, offset: 0x800 */
  4248. uint8_t RESERVED_1[28];
  4249. __IO uint32_t VDDSOC_AI_CTRL; /**< VDDSOC_AI_CTRL_REGISTER, offset: 0x820 */
  4250. uint8_t RESERVED_2[12];
  4251. __IO uint32_t VDDSOC_AI_WDATA; /**< VDDSOC_AI_WDATA_REGISTER, offset: 0x830 */
  4252. uint8_t RESERVED_3[12];
  4253. __I uint32_t VDDSOC_AI_RDATA; /**< VDDSOC_AI_RDATA_REGISTER, offset: 0x840 */
  4254. uint8_t RESERVED_4[12];
  4255. __IO uint32_t VDDSOC2PLL_AI_CTRL_1G; /**< VDDSOC2PLL_AI_CTRL_1G_REGISTER, offset: 0x850 */
  4256. uint8_t RESERVED_5[12];
  4257. __IO uint32_t VDDSOC2PLL_AI_WDATA_1G; /**< VDDSOC2PLL_AI_WDATA_1G_REGISTER, offset: 0x860 */
  4258. uint8_t RESERVED_6[12];
  4259. __I uint32_t VDDSOC2PLL_AI_RDATA_1G; /**< VDDSOC2PLL_AI_RDATA_1G_REGISTER, offset: 0x870 */
  4260. uint8_t RESERVED_7[12];
  4261. __IO uint32_t VDDSOC2PLL_AI_CTRL_AUDIO; /**< VDDSOC_AI_CTRL_AUDIO_REGISTER, offset: 0x880 */
  4262. uint8_t RESERVED_8[12];
  4263. __IO uint32_t VDDSOC2PLL_AI_WDATA_AUDIO; /**< VDDSOC_AI_WDATA_AUDIO_REGISTER, offset: 0x890 */
  4264. uint8_t RESERVED_9[12];
  4265. __I uint32_t VDDSOC2PLL_AI_RDATA_AUDIO; /**< VDDSOC2PLL_AI_RDATA_REGISTER, offset: 0x8A0 */
  4266. uint8_t RESERVED_10[12];
  4267. __IO uint32_t VDDSOC2PLL_AI_CTRL_VIDEO; /**< VDDSOC2PLL_AI_CTRL_VIDEO_REGISTER, offset: 0x8B0 */
  4268. uint8_t RESERVED_11[12];
  4269. __IO uint32_t VDDSOC2PLL_AI_WDATA_VIDEO; /**< VDDSOC2PLL_AI_WDATA_VIDEO_REGISTER, offset: 0x8C0 */
  4270. uint8_t RESERVED_12[12];
  4271. __I uint32_t VDDSOC2PLL_AI_RDATA_VIDEO; /**< VDDSOC2PLL_AI_RDATA_VIDEO_REGISTER, offset: 0x8D0 */
  4272. uint8_t RESERVED_13[12];
  4273. __IO uint32_t VDDLPSR_AI_CTRL; /**< VDDSOC_AI_CTRL_REGISTER, offset: 0x8E0 */
  4274. uint8_t RESERVED_14[12];
  4275. __IO uint32_t VDDLPSR_AI_WDATA; /**< VDDLPSR_AI_WDATA_REGISTER, offset: 0x8F0 */
  4276. uint8_t RESERVED_15[12];
  4277. __I uint32_t VDDLPSR_AI_RDATA_REFTOP; /**< VDDLPSR_AI_RDATA_REFTOP_REGISTER, offset: 0x900 */
  4278. uint8_t RESERVED_16[12];
  4279. __I uint32_t VDDLPSR_AI_RDATA_TMPSNS; /**< VDDLPSR_AI_RDATA_TMPSNS_REGISTER, offset: 0x910 */
  4280. uint8_t RESERVED_17[12];
  4281. __IO uint32_t VDDLPSR_AI400M_CTRL; /**< VDDLPSR_AI400M_CTRL_REGISTER, offset: 0x920 */
  4282. uint8_t RESERVED_18[12];
  4283. __IO uint32_t VDDLPSR_AI400M_WDATA; /**< VDDLPSR_AI400M_WDATA_REGISTER, offset: 0x930 */
  4284. uint8_t RESERVED_19[12];
  4285. __I uint32_t VDDLPSR_AI400M_RDATA; /**< VDDLPSR_AI400M_RDATA_REGISTER, offset: 0x940 */
  4286. } ANADIG_MISC_Type;
  4287. /* ----------------------------------------------------------------------------
  4288. -- ANADIG_MISC Register Masks
  4289. ---------------------------------------------------------------------------- */
  4290. /*!
  4291. * @addtogroup ANADIG_MISC_Register_Masks ANADIG_MISC Register Masks
  4292. * @{
  4293. */
  4294. /*! @name MISC_DIFPROG - Chip Silicon Version Register */
  4295. /*! @{ */
  4296. #define ANADIG_MISC_MISC_DIFPROG_CHIPID_MASK (0xFFFFFFFFU)
  4297. #define ANADIG_MISC_MISC_DIFPROG_CHIPID_SHIFT (0U)
  4298. /*! CHIPID - Chip ID
  4299. */
  4300. #define ANADIG_MISC_MISC_DIFPROG_CHIPID(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_MISC_MISC_DIFPROG_CHIPID_SHIFT)) & ANADIG_MISC_MISC_DIFPROG_CHIPID_MASK)
  4301. /*! @} */
  4302. /*! @name VDDSOC_AI_CTRL - VDDSOC_AI_CTRL_REGISTER */
  4303. /*! @{ */
  4304. #define ANADIG_MISC_VDDSOC_AI_CTRL_VDDSOC_AI_ADDR_MASK (0xFFU)
  4305. #define ANADIG_MISC_VDDSOC_AI_CTRL_VDDSOC_AI_ADDR_SHIFT (0U)
  4306. /*! VDDSOC_AI_ADDR - VDDSOC_AI_ADDR
  4307. */
  4308. #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)
  4309. #define ANADIG_MISC_VDDSOC_AI_CTRL_VDDSOC_AIRWB_MASK (0x10000U)
  4310. #define ANADIG_MISC_VDDSOC_AI_CTRL_VDDSOC_AIRWB_SHIFT (16U)
  4311. /*! VDDSOC_AIRWB - VDDSOC_AIRWB
  4312. */
  4313. #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)
  4314. /*! @} */
  4315. /*! @name VDDSOC_AI_WDATA - VDDSOC_AI_WDATA_REGISTER */
  4316. /*! @{ */
  4317. #define ANADIG_MISC_VDDSOC_AI_WDATA_VDDSOC_AI_WDATA_MASK (0xFFFFFFFFU)
  4318. #define ANADIG_MISC_VDDSOC_AI_WDATA_VDDSOC_AI_WDATA_SHIFT (0U)
  4319. /*! VDDSOC_AI_WDATA - VDDSOC_AI_WDATA
  4320. */
  4321. #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)
  4322. /*! @} */
  4323. /*! @name VDDSOC_AI_RDATA - VDDSOC_AI_RDATA_REGISTER */
  4324. /*! @{ */
  4325. #define ANADIG_MISC_VDDSOC_AI_RDATA_VDDSOC_AI_RDATA_MASK (0xFFFFFFFFU)
  4326. #define ANADIG_MISC_VDDSOC_AI_RDATA_VDDSOC_AI_RDATA_SHIFT (0U)
  4327. /*! VDDSOC_AI_RDATA - VDDSOC_AI_RDATA
  4328. */
  4329. #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)
  4330. /*! @} */
  4331. /*! @name VDDSOC2PLL_AI_CTRL_1G - VDDSOC2PLL_AI_CTRL_1G_REGISTER */
  4332. /*! @{ */
  4333. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_1G_VDDSOC2PLL_AIADDR_1G_MASK (0xFFU)
  4334. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_1G_VDDSOC2PLL_AIADDR_1G_SHIFT (0U)
  4335. /*! VDDSOC2PLL_AIADDR_1G - VDDSOC2PLL_AIADDR_1G
  4336. */
  4337. #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)
  4338. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_1G_VDDSOC2PLL_AITOGGLE_1G_MASK (0x100U)
  4339. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_1G_VDDSOC2PLL_AITOGGLE_1G_SHIFT (8U)
  4340. /*! VDDSOC2PLL_AITOGGLE_1G - VDDSOC2PLL_AITOGGLE_1G
  4341. */
  4342. #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)
  4343. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_1G_VDDSOC2PLL_AITOGGLE_DONE_1G_MASK (0x200U)
  4344. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_1G_VDDSOC2PLL_AITOGGLE_DONE_1G_SHIFT (9U)
  4345. /*! VDDSOC2PLL_AITOGGLE_DONE_1G - VDDSOC2PLL_AITOGGLE_DONE_1G
  4346. */
  4347. #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)
  4348. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_1G_VDDSOC2PLL_AIRWB_1G_MASK (0x10000U)
  4349. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_1G_VDDSOC2PLL_AIRWB_1G_SHIFT (16U)
  4350. /*! VDDSOC2PLL_AIRWB_1G - VDDSOC2PLL_AIRWB_1G
  4351. */
  4352. #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)
  4353. /*! @} */
  4354. /*! @name VDDSOC2PLL_AI_WDATA_1G - VDDSOC2PLL_AI_WDATA_1G_REGISTER */
  4355. /*! @{ */
  4356. #define ANADIG_MISC_VDDSOC2PLL_AI_WDATA_1G_VDDSOC2PLL_AI_WDATA_1G_MASK (0xFFFFFFFFU)
  4357. #define ANADIG_MISC_VDDSOC2PLL_AI_WDATA_1G_VDDSOC2PLL_AI_WDATA_1G_SHIFT (0U)
  4358. /*! VDDSOC2PLL_AI_WDATA_1G - VDDSOC2PLL_AI_WDATA_1G
  4359. */
  4360. #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)
  4361. /*! @} */
  4362. /*! @name VDDSOC2PLL_AI_RDATA_1G - VDDSOC2PLL_AI_RDATA_1G_REGISTER */
  4363. /*! @{ */
  4364. #define ANADIG_MISC_VDDSOC2PLL_AI_RDATA_1G_VDDSOC2PLL_AI_RDATA_1G_MASK (0xFFFFFFFFU)
  4365. #define ANADIG_MISC_VDDSOC2PLL_AI_RDATA_1G_VDDSOC2PLL_AI_RDATA_1G_SHIFT (0U)
  4366. /*! VDDSOC2PLL_AI_RDATA_1G - VDDSOC2PLL_AI_RDATA_1G
  4367. */
  4368. #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)
  4369. /*! @} */
  4370. /*! @name VDDSOC2PLL_AI_CTRL_AUDIO - VDDSOC_AI_CTRL_AUDIO_REGISTER */
  4371. /*! @{ */
  4372. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_AUDIO_VDDSOC2PLL_AI_ADDR_AUDIO_MASK (0xFFU)
  4373. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_AUDIO_VDDSOC2PLL_AI_ADDR_AUDIO_SHIFT (0U)
  4374. /*! VDDSOC2PLL_AI_ADDR_AUDIO - VDDSOC2PLL_AI_ADDR_AUDIO
  4375. */
  4376. #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)
  4377. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_AUDIO_VDDSOC2PLL_AITOGGLE_AUDIO_MASK (0x100U)
  4378. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_AUDIO_VDDSOC2PLL_AITOGGLE_AUDIO_SHIFT (8U)
  4379. /*! VDDSOC2PLL_AITOGGLE_AUDIO - VDDSOC2PLL_AITOGGLE_AUDIO
  4380. */
  4381. #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)
  4382. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_AUDIO_VDDSOC2PLL_AITOGGLE_DONE_AUDIO_MASK (0x200U)
  4383. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_AUDIO_VDDSOC2PLL_AITOGGLE_DONE_AUDIO_SHIFT (9U)
  4384. /*! VDDSOC2PLL_AITOGGLE_DONE_AUDIO - VDDSOC2PLL_AITOGGLE_DONE_AUDIO
  4385. */
  4386. #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)
  4387. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_AUDIO_VDDSOC2PLL_AIRWB_AUDIO_MASK (0x10000U)
  4388. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_AUDIO_VDDSOC2PLL_AIRWB_AUDIO_SHIFT (16U)
  4389. /*! VDDSOC2PLL_AIRWB_AUDIO - VDDSOC_AIRWB
  4390. */
  4391. #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)
  4392. /*! @} */
  4393. /*! @name VDDSOC2PLL_AI_WDATA_AUDIO - VDDSOC_AI_WDATA_AUDIO_REGISTER */
  4394. /*! @{ */
  4395. #define ANADIG_MISC_VDDSOC2PLL_AI_WDATA_AUDIO_VDDSOC2PLL_AI_WDATA_AUDIO_MASK (0xFFFFFFFFU)
  4396. #define ANADIG_MISC_VDDSOC2PLL_AI_WDATA_AUDIO_VDDSOC2PLL_AI_WDATA_AUDIO_SHIFT (0U)
  4397. /*! VDDSOC2PLL_AI_WDATA_AUDIO - VDDSOC2PLL_AI_WDATA_AUDIO
  4398. */
  4399. #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)
  4400. /*! @} */
  4401. /*! @name VDDSOC2PLL_AI_RDATA_AUDIO - VDDSOC2PLL_AI_RDATA_REGISTER */
  4402. /*! @{ */
  4403. #define ANADIG_MISC_VDDSOC2PLL_AI_RDATA_AUDIO_VDDSOC2PLL_AI_RDATA_AUDIO_MASK (0xFFFFFFFFU)
  4404. #define ANADIG_MISC_VDDSOC2PLL_AI_RDATA_AUDIO_VDDSOC2PLL_AI_RDATA_AUDIO_SHIFT (0U)
  4405. /*! VDDSOC2PLL_AI_RDATA_AUDIO - VDDSOC2PLL_AI_RDATA_AUDIO
  4406. */
  4407. #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)
  4408. /*! @} */
  4409. /*! @name VDDSOC2PLL_AI_CTRL_VIDEO - VDDSOC2PLL_AI_CTRL_VIDEO_REGISTER */
  4410. /*! @{ */
  4411. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_VIDEO_VDDSOC2PLL_AIADDR_VIDEO_MASK (0xFFU)
  4412. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_VIDEO_VDDSOC2PLL_AIADDR_VIDEO_SHIFT (0U)
  4413. /*! VDDSOC2PLL_AIADDR_VIDEO - VDDSOC2PLL_AIADDR_VIDEO
  4414. */
  4415. #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)
  4416. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_VIDEO_VDDSOC2PLL_AITOGGLE_VIDEO_MASK (0x100U)
  4417. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_VIDEO_VDDSOC2PLL_AITOGGLE_VIDEO_SHIFT (8U)
  4418. /*! VDDSOC2PLL_AITOGGLE_VIDEO - VDDSOC2PLL_AITOGGLE_VIDEO
  4419. */
  4420. #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)
  4421. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_VIDEO_VDDSOC2PLL_AITOGGLE_DONE_VIDEO_MASK (0x200U)
  4422. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_VIDEO_VDDSOC2PLL_AITOGGLE_DONE_VIDEO_SHIFT (9U)
  4423. /*! VDDSOC2PLL_AITOGGLE_DONE_VIDEO - VDDSOC2PLL_AITOGGLE_DONE_VIDEO
  4424. */
  4425. #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)
  4426. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_VIDEO_VDDSOC2PLL_AIRWB_VIDEO_MASK (0x10000U)
  4427. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_VIDEO_VDDSOC2PLL_AIRWB_VIDEO_SHIFT (16U)
  4428. /*! VDDSOC2PLL_AIRWB_VIDEO - VDDSOC2PLL_AIRWB_VIDEO
  4429. */
  4430. #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)
  4431. /*! @} */
  4432. /*! @name VDDSOC2PLL_AI_WDATA_VIDEO - VDDSOC2PLL_AI_WDATA_VIDEO_REGISTER */
  4433. /*! @{ */
  4434. #define ANADIG_MISC_VDDSOC2PLL_AI_WDATA_VIDEO_VDDSOC2PLL_AI_WDATA_VIDEO_MASK (0xFFFFFFFFU)
  4435. #define ANADIG_MISC_VDDSOC2PLL_AI_WDATA_VIDEO_VDDSOC2PLL_AI_WDATA_VIDEO_SHIFT (0U)
  4436. /*! VDDSOC2PLL_AI_WDATA_VIDEO - VDDSOC2PLL_AI_WDATA_VIDEO
  4437. */
  4438. #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)
  4439. /*! @} */
  4440. /*! @name VDDSOC2PLL_AI_RDATA_VIDEO - VDDSOC2PLL_AI_RDATA_VIDEO_REGISTER */
  4441. /*! @{ */
  4442. #define ANADIG_MISC_VDDSOC2PLL_AI_RDATA_VIDEO_VDDSOC2PLL_AI_RDATA_VIDEO_MASK (0xFFFFFFFFU)
  4443. #define ANADIG_MISC_VDDSOC2PLL_AI_RDATA_VIDEO_VDDSOC2PLL_AI_RDATA_VIDEO_SHIFT (0U)
  4444. /*! VDDSOC2PLL_AI_RDATA_VIDEO - VDDSOC2PLL_AI_RDATA_VIDEO
  4445. */
  4446. #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)
  4447. /*! @} */
  4448. /*! @name VDDLPSR_AI_CTRL - VDDSOC_AI_CTRL_REGISTER */
  4449. /*! @{ */
  4450. #define ANADIG_MISC_VDDLPSR_AI_CTRL_VDDLPSR_AI_ADDR_MASK (0xFFU)
  4451. #define ANADIG_MISC_VDDLPSR_AI_CTRL_VDDLPSR_AI_ADDR_SHIFT (0U)
  4452. /*! VDDLPSR_AI_ADDR - VDDLPSR_AI_ADDR
  4453. */
  4454. #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)
  4455. #define ANADIG_MISC_VDDLPSR_AI_CTRL_VDDLPSR_AIRWB_MASK (0x10000U)
  4456. #define ANADIG_MISC_VDDLPSR_AI_CTRL_VDDLPSR_AIRWB_SHIFT (16U)
  4457. /*! VDDLPSR_AIRWB - VDDLPSR_AIRWB
  4458. */
  4459. #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)
  4460. /*! @} */
  4461. /*! @name VDDLPSR_AI_WDATA - VDDLPSR_AI_WDATA_REGISTER */
  4462. /*! @{ */
  4463. #define ANADIG_MISC_VDDLPSR_AI_WDATA_VDDLPSR_AI_WDATA_MASK (0xFFFFFFFFU)
  4464. #define ANADIG_MISC_VDDLPSR_AI_WDATA_VDDLPSR_AI_WDATA_SHIFT (0U)
  4465. /*! VDDLPSR_AI_WDATA - VDD_LPSR_AI_WDATA
  4466. */
  4467. #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)
  4468. /*! @} */
  4469. /*! @name VDDLPSR_AI_RDATA_REFTOP - VDDLPSR_AI_RDATA_REFTOP_REGISTER */
  4470. /*! @{ */
  4471. #define ANADIG_MISC_VDDLPSR_AI_RDATA_REFTOP_VDDLPSR_AI_RDATA_REFTOP_MASK (0xFFFFFFFFU)
  4472. #define ANADIG_MISC_VDDLPSR_AI_RDATA_REFTOP_VDDLPSR_AI_RDATA_REFTOP_SHIFT (0U)
  4473. /*! VDDLPSR_AI_RDATA_REFTOP - VDDLPSR_AI_RDATA_REFTOP
  4474. */
  4475. #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)
  4476. /*! @} */
  4477. /*! @name VDDLPSR_AI_RDATA_TMPSNS - VDDLPSR_AI_RDATA_TMPSNS_REGISTER */
  4478. /*! @{ */
  4479. #define ANADIG_MISC_VDDLPSR_AI_RDATA_TMPSNS_VDDLPSR_AI_RDATA_TMPSNS_MASK (0xFFFFFFFFU)
  4480. #define ANADIG_MISC_VDDLPSR_AI_RDATA_TMPSNS_VDDLPSR_AI_RDATA_TMPSNS_SHIFT (0U)
  4481. /*! VDDLPSR_AI_RDATA_TMPSNS - VDDLPSR_AI_RDATA_TMPSNS
  4482. */
  4483. #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)
  4484. /*! @} */
  4485. /*! @name VDDLPSR_AI400M_CTRL - VDDLPSR_AI400M_CTRL_REGISTER */
  4486. /*! @{ */
  4487. #define ANADIG_MISC_VDDLPSR_AI400M_CTRL_VDDLPSR_AI400M_ADDR_MASK (0xFFU)
  4488. #define ANADIG_MISC_VDDLPSR_AI400M_CTRL_VDDLPSR_AI400M_ADDR_SHIFT (0U)
  4489. /*! VDDLPSR_AI400M_ADDR - VDDLPSR_AI400M_ADDR
  4490. */
  4491. #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)
  4492. #define ANADIG_MISC_VDDLPSR_AI400M_CTRL_VDDLPSR_AITOGGLE_400M_MASK (0x100U)
  4493. #define ANADIG_MISC_VDDLPSR_AI400M_CTRL_VDDLPSR_AITOGGLE_400M_SHIFT (8U)
  4494. /*! VDDLPSR_AITOGGLE_400M - VDDLPSR_AITOGGLE_400M
  4495. */
  4496. #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)
  4497. #define ANADIG_MISC_VDDLPSR_AI400M_CTRL_VDDLPSR_AITOGGLE_DONE_400M_MASK (0x200U)
  4498. #define ANADIG_MISC_VDDLPSR_AI400M_CTRL_VDDLPSR_AITOGGLE_DONE_400M_SHIFT (9U)
  4499. /*! VDDLPSR_AITOGGLE_DONE_400M - VDDLPSR_AITOGGLE_DONE_400M
  4500. */
  4501. #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)
  4502. #define ANADIG_MISC_VDDLPSR_AI400M_CTRL_VDDLPSR_AI400M_RWB_MASK (0x10000U)
  4503. #define ANADIG_MISC_VDDLPSR_AI400M_CTRL_VDDLPSR_AI400M_RWB_SHIFT (16U)
  4504. /*! VDDLPSR_AI400M_RWB - VDDLPSR_AI400M_RWB
  4505. */
  4506. #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)
  4507. /*! @} */
  4508. /*! @name VDDLPSR_AI400M_WDATA - VDDLPSR_AI400M_WDATA_REGISTER */
  4509. /*! @{ */
  4510. #define ANADIG_MISC_VDDLPSR_AI400M_WDATA_VDDLPSR_AI400M_WDATA_MASK (0xFFFFFFFFU)
  4511. #define ANADIG_MISC_VDDLPSR_AI400M_WDATA_VDDLPSR_AI400M_WDATA_SHIFT (0U)
  4512. /*! VDDLPSR_AI400M_WDATA - VDDLPSR_AI400M_WDATA
  4513. */
  4514. #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)
  4515. /*! @} */
  4516. /*! @name VDDLPSR_AI400M_RDATA - VDDLPSR_AI400M_RDATA_REGISTER */
  4517. /*! @{ */
  4518. #define ANADIG_MISC_VDDLPSR_AI400M_RDATA_VDDLPSR_AI400M_RDATA_MASK (0xFFFFFFFFU)
  4519. #define ANADIG_MISC_VDDLPSR_AI400M_RDATA_VDDLPSR_AI400M_RDATA_SHIFT (0U)
  4520. /*! VDDLPSR_AI400M_RDATA - VDDLPSR_AI400M_RDATA
  4521. */
  4522. #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)
  4523. /*! @} */
  4524. /*!
  4525. * @}
  4526. */ /* end of group ANADIG_MISC_Register_Masks */
  4527. /* ANADIG_MISC - Peripheral instance base addresses */
  4528. /** Peripheral ANADIG_MISC base address */
  4529. #define ANADIG_MISC_BASE (0x40C84000u)
  4530. /** Peripheral ANADIG_MISC base pointer */
  4531. #define ANADIG_MISC ((ANADIG_MISC_Type *)ANADIG_MISC_BASE)
  4532. /** Array initializer of ANADIG_MISC peripheral base addresses */
  4533. #define ANADIG_MISC_BASE_ADDRS { ANADIG_MISC_BASE }
  4534. /** Array initializer of ANADIG_MISC peripheral base pointers */
  4535. #define ANADIG_MISC_BASE_PTRS { ANADIG_MISC }
  4536. /*!
  4537. * @}
  4538. */ /* end of group ANADIG_MISC_Peripheral_Access_Layer */
  4539. /* ----------------------------------------------------------------------------
  4540. -- ANADIG_OSC Peripheral Access Layer
  4541. ---------------------------------------------------------------------------- */
  4542. /*!
  4543. * @addtogroup ANADIG_OSC_Peripheral_Access_Layer ANADIG_OSC Peripheral Access Layer
  4544. * @{
  4545. */
  4546. /** ANADIG_OSC - Register Layout Typedef */
  4547. typedef struct {
  4548. uint8_t RESERVED_0[16];
  4549. __IO uint32_t OSC_48M_CTRL; /**< 48MHz RCOSC Control Register, offset: 0x10 */
  4550. uint8_t RESERVED_1[12];
  4551. __IO uint32_t OSC_24M_CTRL; /**< 24MHz OSC Control Register, offset: 0x20 */
  4552. uint8_t RESERVED_2[28];
  4553. __I uint32_t OSC_400M_CTRL0; /**< 400MHz RCOSC Control0 Register, offset: 0x40 */
  4554. uint8_t RESERVED_3[12];
  4555. __IO uint32_t OSC_400M_CTRL1; /**< 400MHz RCOSC Control1 Register, offset: 0x50 */
  4556. uint8_t RESERVED_4[12];
  4557. __IO uint32_t OSC_400M_CTRL2; /**< 400MHz RCOSC Control2 Register, offset: 0x60 */
  4558. uint8_t RESERVED_5[92];
  4559. __IO uint32_t OSC_16M_CTRL; /**< 16MHz RCOSC Control Register, offset: 0xC0 */
  4560. } ANADIG_OSC_Type;
  4561. /* ----------------------------------------------------------------------------
  4562. -- ANADIG_OSC Register Masks
  4563. ---------------------------------------------------------------------------- */
  4564. /*!
  4565. * @addtogroup ANADIG_OSC_Register_Masks ANADIG_OSC Register Masks
  4566. * @{
  4567. */
  4568. /*! @name OSC_48M_CTRL - 48MHz RCOSC Control Register */
  4569. /*! @{ */
  4570. #define ANADIG_OSC_OSC_48M_CTRL_TEN_MASK (0x2U)
  4571. #define ANADIG_OSC_OSC_48M_CTRL_TEN_SHIFT (1U)
  4572. /*! TEN - 48MHz RCOSC Enable
  4573. * 0b0..Power down
  4574. * 0b1..Power up
  4575. */
  4576. #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)
  4577. #define ANADIG_OSC_OSC_48M_CTRL_RC_48M_DIV2_EN_MASK (0x1000000U)
  4578. #define ANADIG_OSC_OSC_48M_CTRL_RC_48M_DIV2_EN_SHIFT (24U)
  4579. /*! RC_48M_DIV2_EN - RCOSC_48M_DIV2 Enable
  4580. * 0b0..Disable
  4581. * 0b1..Enable
  4582. */
  4583. #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)
  4584. #define ANADIG_OSC_OSC_48M_CTRL_RC_48M_DIV2_CONTROL_MODE_MASK (0x40000000U)
  4585. #define ANADIG_OSC_OSC_48M_CTRL_RC_48M_DIV2_CONTROL_MODE_SHIFT (30U)
  4586. /*! RC_48M_DIV2_CONTROL_MODE - RCOSC_48M_DIV2 Control Mode
  4587. * 0b0..Software mode (default)
  4588. * 0b1..GPC mode (Setpoint)
  4589. */
  4590. #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)
  4591. #define ANADIG_OSC_OSC_48M_CTRL_RC_48M_CONTROL_MODE_MASK (0x80000000U)
  4592. #define ANADIG_OSC_OSC_48M_CTRL_RC_48M_CONTROL_MODE_SHIFT (31U)
  4593. /*! RC_48M_CONTROL_MODE - 48MHz RCOSC Control Mode
  4594. * 0b0..Software mode (default)
  4595. * 0b1..GPC mode (Setpoint)
  4596. */
  4597. #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)
  4598. /*! @} */
  4599. /*! @name OSC_24M_CTRL - 24MHz OSC Control Register */
  4600. /*! @{ */
  4601. #define ANADIG_OSC_OSC_24M_CTRL_BYPASS_CLK_MASK (0x1U)
  4602. #define ANADIG_OSC_OSC_24M_CTRL_BYPASS_CLK_SHIFT (0U)
  4603. /*! BYPASS_CLK - 24MHz OSC Bypass Clock
  4604. */
  4605. #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)
  4606. #define ANADIG_OSC_OSC_24M_CTRL_BYPASS_EN_MASK (0x2U)
  4607. #define ANADIG_OSC_OSC_24M_CTRL_BYPASS_EN_SHIFT (1U)
  4608. /*! BYPASS_EN - 24MHz OSC Bypass Enable
  4609. * 0b0..Disable
  4610. * 0b1..Enable
  4611. */
  4612. #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)
  4613. #define ANADIG_OSC_OSC_24M_CTRL_LP_EN_MASK (0x4U)
  4614. #define ANADIG_OSC_OSC_24M_CTRL_LP_EN_SHIFT (2U)
  4615. /*! LP_EN - 24MHz OSC Low-Power Mode Enable
  4616. * 0b0..High Gain mode (HP)
  4617. * 0b1..Low-power mode (LP)
  4618. */
  4619. #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)
  4620. #define ANADIG_OSC_OSC_24M_CTRL_OSC_COMP_MODE_MASK (0x8U)
  4621. #define ANADIG_OSC_OSC_24M_CTRL_OSC_COMP_MODE_SHIFT (3U)
  4622. /*! OSC_COMP_MODE - 24MHz OSC Comparator Mode
  4623. * 0b0..Single-ended mode (default)
  4624. * 0b1..Differential mode (test mode)
  4625. */
  4626. #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)
  4627. #define ANADIG_OSC_OSC_24M_CTRL_OSC_EN_MASK (0x10U)
  4628. #define ANADIG_OSC_OSC_24M_CTRL_OSC_EN_SHIFT (4U)
  4629. /*! OSC_EN - 24MHz OSC Enable
  4630. * 0b0..Disable
  4631. * 0b1..Enable
  4632. */
  4633. #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)
  4634. #define ANADIG_OSC_OSC_24M_CTRL_OSC_24M_GATE_MASK (0x80U)
  4635. #define ANADIG_OSC_OSC_24M_CTRL_OSC_24M_GATE_SHIFT (7U)
  4636. /*! OSC_24M_GATE - 24MHz OSC Gate Control
  4637. * 0b0..Not Gated
  4638. * 0b1..Gated
  4639. */
  4640. #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)
  4641. #define ANADIG_OSC_OSC_24M_CTRL_OSC_24M_STABLE_MASK (0x40000000U)
  4642. #define ANADIG_OSC_OSC_24M_CTRL_OSC_24M_STABLE_SHIFT (30U)
  4643. /*! OSC_24M_STABLE - 24MHz OSC Stable
  4644. * 0b0..Not Stable
  4645. * 0b1..Stable
  4646. */
  4647. #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)
  4648. #define ANADIG_OSC_OSC_24M_CTRL_OSC_24M_CONTROL_MODE_MASK (0x80000000U)
  4649. #define ANADIG_OSC_OSC_24M_CTRL_OSC_24M_CONTROL_MODE_SHIFT (31U)
  4650. /*! OSC_24M_CONTROL_MODE - 24MHz OSC Control Mode
  4651. * 0b0..Software mode (default)
  4652. * 0b1..GPC mode (Setpoint)
  4653. */
  4654. #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)
  4655. /*! @} */
  4656. /*! @name OSC_400M_CTRL0 - 400MHz RCOSC Control0 Register */
  4657. /*! @{ */
  4658. #define ANADIG_OSC_OSC_400M_CTRL0_OSC400M_AI_BUSY_MASK (0x80000000U)
  4659. #define ANADIG_OSC_OSC_400M_CTRL0_OSC400M_AI_BUSY_SHIFT (31U)
  4660. /*! OSC400M_AI_BUSY - 400MHz OSC AI BUSY
  4661. */
  4662. #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)
  4663. /*! @} */
  4664. /*! @name OSC_400M_CTRL1 - 400MHz RCOSC Control1 Register */
  4665. /*! @{ */
  4666. #define ANADIG_OSC_OSC_400M_CTRL1_PWD_MASK (0x1U)
  4667. #define ANADIG_OSC_OSC_400M_CTRL1_PWD_SHIFT (0U)
  4668. /*! PWD - Power down control for 400MHz RCOSC
  4669. * 0b0..No Power down
  4670. * 0b1..Power down
  4671. */
  4672. #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)
  4673. #define ANADIG_OSC_OSC_400M_CTRL1_CLKGATE_400MEG_MASK (0x2U)
  4674. #define ANADIG_OSC_OSC_400M_CTRL1_CLKGATE_400MEG_SHIFT (1U)
  4675. /*! CLKGATE_400MEG - Clock gate control for 400MHz RCOSC
  4676. * 0b0..Not Gated
  4677. * 0b1..Gated
  4678. */
  4679. #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)
  4680. #define ANADIG_OSC_OSC_400M_CTRL1_RC_400M_CONTROL_MODE_MASK (0x80000000U)
  4681. #define ANADIG_OSC_OSC_400M_CTRL1_RC_400M_CONTROL_MODE_SHIFT (31U)
  4682. /*! RC_400M_CONTROL_MODE - 400MHz RCOSC Control mode
  4683. * 0b0..Software mode (default)
  4684. * 0b1..GPC mode (Setpoint)
  4685. */
  4686. #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)
  4687. /*! @} */
  4688. /*! @name OSC_400M_CTRL2 - 400MHz RCOSC Control2 Register */
  4689. /*! @{ */
  4690. #define ANADIG_OSC_OSC_400M_CTRL2_ENABLE_CLK_MASK (0x1U)
  4691. #define ANADIG_OSC_OSC_400M_CTRL2_ENABLE_CLK_SHIFT (0U)
  4692. /*! ENABLE_CLK - Clock enable
  4693. * 0b0..Clock is disabled before entering GPC mode
  4694. * 0b1..Clock is enabled before entering GPC mode
  4695. */
  4696. #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)
  4697. #define ANADIG_OSC_OSC_400M_CTRL2_TUNE_BYP_MASK (0x400U)
  4698. #define ANADIG_OSC_OSC_400M_CTRL2_TUNE_BYP_SHIFT (10U)
  4699. /*! TUNE_BYP - Bypass tuning logic
  4700. * 0b0..Use the output of tuning logic to run the oscillator
  4701. * 0b1..Bypass the tuning logic and use the programmed OSC_TUNE_VAL to run the oscillator
  4702. */
  4703. #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)
  4704. #define ANADIG_OSC_OSC_400M_CTRL2_OSC_TUNE_VAL_MASK (0xFF000000U)
  4705. #define ANADIG_OSC_OSC_400M_CTRL2_OSC_TUNE_VAL_SHIFT (24U)
  4706. /*! OSC_TUNE_VAL - Oscillator Tune Value
  4707. */
  4708. #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)
  4709. /*! @} */
  4710. /*! @name OSC_16M_CTRL - 16MHz RCOSC Control Register */
  4711. /*! @{ */
  4712. #define ANADIG_OSC_OSC_16M_CTRL_EN_IRC4M16M_MASK (0x2U)
  4713. #define ANADIG_OSC_OSC_16M_CTRL_EN_IRC4M16M_SHIFT (1U)
  4714. /*! EN_IRC4M16M - Enable Clock Output
  4715. * 0b0..Disable
  4716. * 0b1..Enable
  4717. */
  4718. #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)
  4719. #define ANADIG_OSC_OSC_16M_CTRL_EN_POWER_SAVE_MASK (0x8U)
  4720. #define ANADIG_OSC_OSC_16M_CTRL_EN_POWER_SAVE_SHIFT (3U)
  4721. /*! EN_POWER_SAVE - Power Save Enable
  4722. * 0b0..Disable
  4723. * 0b1..Enable
  4724. */
  4725. #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)
  4726. #define ANADIG_OSC_OSC_16M_CTRL_SOURCE_SEL_16M_MASK (0x100U)
  4727. #define ANADIG_OSC_OSC_16M_CTRL_SOURCE_SEL_16M_SHIFT (8U)
  4728. /*! SOURCE_SEL_16M - Source select
  4729. * 0b0..16MHz Oscillator
  4730. * 0b1..24MHz Oscillator
  4731. */
  4732. #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)
  4733. #define ANADIG_OSC_OSC_16M_CTRL_RC_16M_CONTROL_MODE_MASK (0x80000000U)
  4734. #define ANADIG_OSC_OSC_16M_CTRL_RC_16M_CONTROL_MODE_SHIFT (31U)
  4735. /*! RC_16M_CONTROL_MODE - Control Mode for 16MHz Oscillator
  4736. * 0b0..Software mode (default)
  4737. * 0b1..GPC mode (Setpoint)
  4738. */
  4739. #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)
  4740. /*! @} */
  4741. /*!
  4742. * @}
  4743. */ /* end of group ANADIG_OSC_Register_Masks */
  4744. /* ANADIG_OSC - Peripheral instance base addresses */
  4745. /** Peripheral ANADIG_OSC base address */
  4746. #define ANADIG_OSC_BASE (0x40C84000u)
  4747. /** Peripheral ANADIG_OSC base pointer */
  4748. #define ANADIG_OSC ((ANADIG_OSC_Type *)ANADIG_OSC_BASE)
  4749. /** Array initializer of ANADIG_OSC peripheral base addresses */
  4750. #define ANADIG_OSC_BASE_ADDRS { ANADIG_OSC_BASE }
  4751. /** Array initializer of ANADIG_OSC peripheral base pointers */
  4752. #define ANADIG_OSC_BASE_PTRS { ANADIG_OSC }
  4753. /*!
  4754. * @}
  4755. */ /* end of group ANADIG_OSC_Peripheral_Access_Layer */
  4756. /* ----------------------------------------------------------------------------
  4757. -- ANADIG_PLL Peripheral Access Layer
  4758. ---------------------------------------------------------------------------- */
  4759. /*!
  4760. * @addtogroup ANADIG_PLL_Peripheral_Access_Layer ANADIG_PLL Peripheral Access Layer
  4761. * @{
  4762. */
  4763. /** ANADIG_PLL - Register Layout Typedef */
  4764. typedef struct {
  4765. uint8_t RESERVED_0[512];
  4766. __IO uint32_t ARM_PLL_CTRL; /**< ARM_PLL_CTRL_REGISTER, offset: 0x200 */
  4767. uint8_t RESERVED_1[12];
  4768. __IO uint32_t SYS_PLL3_CTRL; /**< SYS_PLL3_CTRL_REGISTER, offset: 0x210 */
  4769. uint8_t RESERVED_2[12];
  4770. __IO uint32_t SYS_PLL3_UPDATE; /**< SYS_PLL3_UPDATE_REGISTER, offset: 0x220 */
  4771. uint8_t RESERVED_3[12];
  4772. __IO uint32_t SYS_PLL3_PFD; /**< SYS_PLL3_PFD_REGISTER, offset: 0x230 */
  4773. uint8_t RESERVED_4[12];
  4774. __IO uint32_t SYS_PLL2_CTRL; /**< SYS_PLL2_CTRL_REGISTER, offset: 0x240 */
  4775. uint8_t RESERVED_5[12];
  4776. __IO uint32_t SYS_PLL2_UPDATE; /**< SYS_PLL2_UPDATE_REGISTER, offset: 0x250 */
  4777. uint8_t RESERVED_6[12];
  4778. __IO uint32_t SYS_PLL2_SS; /**< SYS_PLL2_SS_REGISTER, offset: 0x260 */
  4779. uint8_t RESERVED_7[12];
  4780. __IO uint32_t SYS_PLL2_PFD; /**< SYS_PLL2_PFD_REGISTER, offset: 0x270 */
  4781. uint8_t RESERVED_8[44];
  4782. __IO uint32_t SYS_PLL2_MFD; /**< SYS_PLL2_MFD_REGISTER, offset: 0x2A0 */
  4783. uint8_t RESERVED_9[12];
  4784. __IO uint32_t SYS_PLL1_SS; /**< SYS_PLL1_SS_REGISTER, offset: 0x2B0 */
  4785. uint8_t RESERVED_10[12];
  4786. __IO uint32_t SYS_PLL1_CTRL; /**< SYS_PLL1_CTRL_REGISTER, offset: 0x2C0 */
  4787. uint8_t RESERVED_11[12];
  4788. __IO uint32_t SYS_PLL1_DENOMINATOR; /**< SYS_PLL1_DENOMINATOR_REGISTER, offset: 0x2D0 */
  4789. uint8_t RESERVED_12[12];
  4790. __IO uint32_t SYS_PLL1_NUMERATOR; /**< SYS_PLL1_NUMERATOR_REGISTER, offset: 0x2E0 */
  4791. uint8_t RESERVED_13[12];
  4792. __IO uint32_t SYS_PLL1_DIV_SELECT; /**< SYS_PLL1_DIV_SELECT_REGISTER, offset: 0x2F0 */
  4793. uint8_t RESERVED_14[12];
  4794. __IO uint32_t PLL_AUDIO_CTRL; /**< PLL_AUDIO_CTRL_REGISTER, offset: 0x300 */
  4795. uint8_t RESERVED_15[12];
  4796. __IO uint32_t PLL_AUDIO_SS; /**< PLL_AUDIO_SS_REGISTER, offset: 0x310 */
  4797. uint8_t RESERVED_16[12];
  4798. __IO uint32_t PLL_AUDIO_DENOMINATOR; /**< PLL_AUDIO_DENOMINATOR_REGISTER, offset: 0x320 */
  4799. uint8_t RESERVED_17[12];
  4800. __IO uint32_t PLL_AUDIO_NUMERATOR; /**< PLL_AUDIO_NUMERATOR_REGISTER, offset: 0x330 */
  4801. uint8_t RESERVED_18[12];
  4802. __IO uint32_t PLL_AUDIO_DIV_SELECT; /**< PLL_AUDIO_DIV_SELECT_REGISTER, offset: 0x340 */
  4803. uint8_t RESERVED_19[12];
  4804. __IO uint32_t PLL_VIDEO_CTRL; /**< PLL_VIDEO_CTRL_REGISTER, offset: 0x350 */
  4805. uint8_t RESERVED_20[12];
  4806. __IO uint32_t PLL_VIDEO_SS; /**< PLL_VIDEO_SS_REGISTER, offset: 0x360 */
  4807. uint8_t RESERVED_21[12];
  4808. __IO uint32_t PLL_VIDEO_DENOMINATOR; /**< PLL_VIDEO_DENOMINATOR_REGISTER, offset: 0x370 */
  4809. uint8_t RESERVED_22[12];
  4810. __IO uint32_t PLL_VIDEO_NUMERATOR; /**< PLL_VIDEO_NUMERATOR_REGISTER, offset: 0x380 */
  4811. uint8_t RESERVED_23[12];
  4812. __IO uint32_t PLL_VIDEO_DIV_SELECT; /**< PLL_VIDEO_DIV_SELECT_REGISTER, offset: 0x390 */
  4813. } ANADIG_PLL_Type;
  4814. /* ----------------------------------------------------------------------------
  4815. -- ANADIG_PLL Register Masks
  4816. ---------------------------------------------------------------------------- */
  4817. /*!
  4818. * @addtogroup ANADIG_PLL_Register_Masks ANADIG_PLL Register Masks
  4819. * @{
  4820. */
  4821. /*! @name ARM_PLL_CTRL - ARM_PLL_CTRL_REGISTER */
  4822. /*! @{ */
  4823. #define ANADIG_PLL_ARM_PLL_CTRL_DIV_SELECT_MASK (0xFFU)
  4824. #define ANADIG_PLL_ARM_PLL_CTRL_DIV_SELECT_SHIFT (0U)
  4825. /*! DIV_SELECT - DIV_SELECT
  4826. */
  4827. #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)
  4828. #define ANADIG_PLL_ARM_PLL_CTRL_HOLD_RING_OFF_MASK (0x1000U)
  4829. #define ANADIG_PLL_ARM_PLL_CTRL_HOLD_RING_OFF_SHIFT (12U)
  4830. /*! HOLD_RING_OFF - PLL Start up initialization
  4831. * 0b0..Normal operation
  4832. * 0b1..Initialize PLL start up
  4833. */
  4834. #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)
  4835. #define ANADIG_PLL_ARM_PLL_CTRL_POWERUP_MASK (0x2000U)
  4836. #define ANADIG_PLL_ARM_PLL_CTRL_POWERUP_SHIFT (13U)
  4837. /*! POWERUP - Powers up the PLL.
  4838. * 0b1..Power Up the PLL
  4839. * 0b0..Power down the PLL
  4840. */
  4841. #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)
  4842. #define ANADIG_PLL_ARM_PLL_CTRL_ENABLE_CLK_MASK (0x4000U)
  4843. #define ANADIG_PLL_ARM_PLL_CTRL_ENABLE_CLK_SHIFT (14U)
  4844. /*! ENABLE_CLK - Enable the clock output.
  4845. * 0b0..Disable the clock
  4846. * 0b1..Enable the clock
  4847. */
  4848. #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)
  4849. #define ANADIG_PLL_ARM_PLL_CTRL_POST_DIV_SEL_MASK (0x18000U)
  4850. #define ANADIG_PLL_ARM_PLL_CTRL_POST_DIV_SEL_SHIFT (15U)
  4851. /*! POST_DIV_SEL - POST_DIV_SEL
  4852. * 0b00..Divide by 2
  4853. * 0b01..Divide by 4
  4854. * 0b10..Divide by 8
  4855. * 0b11..Divide by 1
  4856. */
  4857. #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)
  4858. #define ANADIG_PLL_ARM_PLL_CTRL_BYPASS_MASK (0x20000U)
  4859. #define ANADIG_PLL_ARM_PLL_CTRL_BYPASS_SHIFT (17U)
  4860. /*! BYPASS - Bypass the pll.
  4861. * 0b1..Bypass Mode
  4862. * 0b0..Function mode
  4863. */
  4864. #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)
  4865. #define ANADIG_PLL_ARM_PLL_CTRL_ARM_PLL_STABLE_MASK (0x20000000U)
  4866. #define ANADIG_PLL_ARM_PLL_CTRL_ARM_PLL_STABLE_SHIFT (29U)
  4867. /*! ARM_PLL_STABLE - ARM_PLL_STABLE
  4868. * 0b1..ARM PLL is stable
  4869. * 0b0..ARM PLL is not stable
  4870. */
  4871. #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)
  4872. #define ANADIG_PLL_ARM_PLL_CTRL_ARM_PLL_GATE_MASK (0x40000000U)
  4873. #define ANADIG_PLL_ARM_PLL_CTRL_ARM_PLL_GATE_SHIFT (30U)
  4874. /*! ARM_PLL_GATE - ARM_PLL_GATE
  4875. * 0b1..Clock is gated
  4876. * 0b0..Clock is not gated
  4877. */
  4878. #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)
  4879. #define ANADIG_PLL_ARM_PLL_CTRL_ARM_PLL_CONTROL_MODE_MASK (0x80000000U)
  4880. #define ANADIG_PLL_ARM_PLL_CTRL_ARM_PLL_CONTROL_MODE_SHIFT (31U)
  4881. /*! ARM_PLL_CONTROL_MODE - pll_arm_control_mode
  4882. * 0b0..Software Mode (Default)
  4883. * 0b1..GPC Mode
  4884. */
  4885. #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)
  4886. /*! @} */
  4887. /*! @name SYS_PLL3_CTRL - SYS_PLL3_CTRL_REGISTER */
  4888. /*! @{ */
  4889. #define ANADIG_PLL_SYS_PLL3_CTRL_SYS_PLL3_DIV2_MASK (0x8U)
  4890. #define ANADIG_PLL_SYS_PLL3_CTRL_SYS_PLL3_DIV2_SHIFT (3U)
  4891. /*! SYS_PLL3_DIV2 - SYS PLL3 DIV2 gate
  4892. */
  4893. #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)
  4894. #define ANADIG_PLL_SYS_PLL3_CTRL_PLL_REG_EN_MASK (0x10U)
  4895. #define ANADIG_PLL_SYS_PLL3_CTRL_PLL_REG_EN_SHIFT (4U)
  4896. /*! PLL_REG_EN - Enable Internal PLL Regulator
  4897. */
  4898. #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)
  4899. #define ANADIG_PLL_SYS_PLL3_CTRL_HOLD_RING_OFF_MASK (0x800U)
  4900. #define ANADIG_PLL_SYS_PLL3_CTRL_HOLD_RING_OFF_SHIFT (11U)
  4901. /*! HOLD_RING_OFF - PLL Start up initialization
  4902. * 0b0..Normal operation
  4903. * 0b1..Initialize PLL start up
  4904. */
  4905. #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)
  4906. #define ANADIG_PLL_SYS_PLL3_CTRL_ENABLE_CLK_MASK (0x2000U)
  4907. #define ANADIG_PLL_SYS_PLL3_CTRL_ENABLE_CLK_SHIFT (13U)
  4908. /*! ENABLE_CLK - Enable the clock output.
  4909. * 0b0..Disable the clock
  4910. * 0b1..Enable the clock
  4911. */
  4912. #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)
  4913. #define ANADIG_PLL_SYS_PLL3_CTRL_BYPASS_MASK (0x10000U)
  4914. #define ANADIG_PLL_SYS_PLL3_CTRL_BYPASS_SHIFT (16U)
  4915. /*! BYPASS - BYPASS
  4916. * 0b1..Bypass Mode
  4917. * 0b0..Function mode
  4918. */
  4919. #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)
  4920. #define ANADIG_PLL_SYS_PLL3_CTRL_POWERUP_MASK (0x200000U)
  4921. #define ANADIG_PLL_SYS_PLL3_CTRL_POWERUP_SHIFT (21U)
  4922. /*! POWERUP - Powers up the PLL.
  4923. * 0b1..Power Up the PLL
  4924. * 0b0..Power down the PLL
  4925. */
  4926. #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)
  4927. #define ANADIG_PLL_SYS_PLL3_CTRL_SYS_PLL3_DIV2_CONTROL_MODE_MASK (0x10000000U)
  4928. #define ANADIG_PLL_SYS_PLL3_CTRL_SYS_PLL3_DIV2_CONTROL_MODE_SHIFT (28U)
  4929. /*! SYS_PLL3_DIV2_CONTROL_MODE - SYS_PLL3_DIV2_CONTROL_MODE
  4930. * 0b0..Software Mode (Default)
  4931. * 0b1..GPC Mode
  4932. */
  4933. #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)
  4934. #define ANADIG_PLL_SYS_PLL3_CTRL_SYS_PLL3_STABLE_MASK (0x20000000U)
  4935. #define ANADIG_PLL_SYS_PLL3_CTRL_SYS_PLL3_STABLE_SHIFT (29U)
  4936. /*! SYS_PLL3_STABLE - SYS_PLL3_STABLE
  4937. */
  4938. #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)
  4939. #define ANADIG_PLL_SYS_PLL3_CTRL_SYS_PLL3_GATE_MASK (0x40000000U)
  4940. #define ANADIG_PLL_SYS_PLL3_CTRL_SYS_PLL3_GATE_SHIFT (30U)
  4941. /*! SYS_PLL3_GATE - SYS_PLL3_GATE
  4942. * 0b1..Clock is gated
  4943. * 0b0..Clock is not gated
  4944. */
  4945. #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)
  4946. #define ANADIG_PLL_SYS_PLL3_CTRL_SYS_PLL3_CONTROL_MODE_MASK (0x80000000U)
  4947. #define ANADIG_PLL_SYS_PLL3_CTRL_SYS_PLL3_CONTROL_MODE_SHIFT (31U)
  4948. /*! SYS_PLL3_CONTROL_MODE - SYS_PLL3_control_mode
  4949. * 0b0..Software Mode (Default)
  4950. * 0b1..GPC Mode
  4951. */
  4952. #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)
  4953. /*! @} */
  4954. /*! @name SYS_PLL3_UPDATE - SYS_PLL3_UPDATE_REGISTER */
  4955. /*! @{ */
  4956. #define ANADIG_PLL_SYS_PLL3_UPDATE_PFD0_UPDATE_MASK (0x2U)
  4957. #define ANADIG_PLL_SYS_PLL3_UPDATE_PFD0_UPDATE_SHIFT (1U)
  4958. /*! PFD0_UPDATE - PFD0_OVERRIDE
  4959. */
  4960. #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)
  4961. #define ANADIG_PLL_SYS_PLL3_UPDATE_PFD1_UPDATE_MASK (0x4U)
  4962. #define ANADIG_PLL_SYS_PLL3_UPDATE_PFD1_UPDATE_SHIFT (2U)
  4963. /*! PFD1_UPDATE - PFD1_OVERRIDE
  4964. */
  4965. #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)
  4966. #define ANADIG_PLL_SYS_PLL3_UPDATE_PFD2_UPDATE_MASK (0x8U)
  4967. #define ANADIG_PLL_SYS_PLL3_UPDATE_PFD2_UPDATE_SHIFT (3U)
  4968. /*! PFD2_UPDATE - PFD2_OVERRIDE
  4969. */
  4970. #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)
  4971. #define ANADIG_PLL_SYS_PLL3_UPDATE_PFD3_UPDATE_MASK (0x10U)
  4972. #define ANADIG_PLL_SYS_PLL3_UPDATE_PFD3_UPDATE_SHIFT (4U)
  4973. /*! PFD3_UPDATE - PFD3_UPDATE
  4974. */
  4975. #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)
  4976. #define ANADIG_PLL_SYS_PLL3_UPDATE_PFD0_CONTROL_MODE_MASK (0x20U)
  4977. #define ANADIG_PLL_SYS_PLL3_UPDATE_PFD0_CONTROL_MODE_SHIFT (5U)
  4978. /*! PFD0_CONTROL_MODE - pfd0_control_mode
  4979. * 0b0..Software Mode (Default)
  4980. * 0b1..GPC Mode
  4981. */
  4982. #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)
  4983. #define ANADIG_PLL_SYS_PLL3_UPDATE_PFD1_CONTROL_MODE_MASK (0x40U)
  4984. #define ANADIG_PLL_SYS_PLL3_UPDATE_PFD1_CONTROL_MODE_SHIFT (6U)
  4985. /*! PFD1_CONTROL_MODE - pfd1_control_mode
  4986. * 0b0..Software Mode (Default)
  4987. * 0b1..GPC Mode
  4988. */
  4989. #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)
  4990. #define ANADIG_PLL_SYS_PLL3_UPDATE_PDF2_CONTROL_MODE_MASK (0x80U)
  4991. #define ANADIG_PLL_SYS_PLL3_UPDATE_PDF2_CONTROL_MODE_SHIFT (7U)
  4992. /*! PDF2_CONTROL_MODE - pdf2_control_mode
  4993. * 0b0..Software Mode (Default)
  4994. * 0b1..GPC Mode
  4995. */
  4996. #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)
  4997. #define ANADIG_PLL_SYS_PLL3_UPDATE_PFD3_CONTROL_MODE_MASK (0x100U)
  4998. #define ANADIG_PLL_SYS_PLL3_UPDATE_PFD3_CONTROL_MODE_SHIFT (8U)
  4999. /*! PFD3_CONTROL_MODE - pfd3_control_mode
  5000. * 0b0..Software Mode (Default)
  5001. * 0b1..GPC Mode
  5002. */
  5003. #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)
  5004. /*! @} */
  5005. /*! @name SYS_PLL3_PFD - SYS_PLL3_PFD_REGISTER */
  5006. /*! @{ */
  5007. #define ANADIG_PLL_SYS_PLL3_PFD_PFD0_FRAC_MASK (0x3FU)
  5008. #define ANADIG_PLL_SYS_PLL3_PFD_PFD0_FRAC_SHIFT (0U)
  5009. /*! PFD0_FRAC - PFD0_FRAC
  5010. */
  5011. #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)
  5012. #define ANADIG_PLL_SYS_PLL3_PFD_PFD0_STABLE_MASK (0x40U)
  5013. #define ANADIG_PLL_SYS_PLL3_PFD_PFD0_STABLE_SHIFT (6U)
  5014. /*! PFD0_STABLE - PFD0_STABLE
  5015. */
  5016. #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)
  5017. #define ANADIG_PLL_SYS_PLL3_PFD_PFD0_DIV1_CLKGATE_MASK (0x80U)
  5018. #define ANADIG_PLL_SYS_PLL3_PFD_PFD0_DIV1_CLKGATE_SHIFT (7U)
  5019. /*! PFD0_DIV1_CLKGATE - PFD0_DIV1_CLKGATE
  5020. * 0b1..Fractional divider clock (reference ref_pfd0) is off (power savings
  5021. * 0b0..ref_pfd0 fractional divider clock is enabled
  5022. */
  5023. #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)
  5024. #define ANADIG_PLL_SYS_PLL3_PFD_PFD1_FRAC_MASK (0x3F00U)
  5025. #define ANADIG_PLL_SYS_PLL3_PFD_PFD1_FRAC_SHIFT (8U)
  5026. /*! PFD1_FRAC - PFD1_FRAC
  5027. */
  5028. #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)
  5029. #define ANADIG_PLL_SYS_PLL3_PFD_PFD1_STABLE_MASK (0x4000U)
  5030. #define ANADIG_PLL_SYS_PLL3_PFD_PFD1_STABLE_SHIFT (14U)
  5031. /*! PFD1_STABLE - PFD1_STABLE
  5032. */
  5033. #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)
  5034. #define ANADIG_PLL_SYS_PLL3_PFD_PFD1_DIV1_CLKGATE_MASK (0x8000U)
  5035. #define ANADIG_PLL_SYS_PLL3_PFD_PFD1_DIV1_CLKGATE_SHIFT (15U)
  5036. /*! PFD1_DIV1_CLKGATE - PFD1_DIV1_CLKGATE
  5037. * 0b1..Fractional divider clock (reference ref_pfd1) is off (power savings)
  5038. * 0b0..ref_pfd1 fractional divider clock is enabled
  5039. */
  5040. #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)
  5041. #define ANADIG_PLL_SYS_PLL3_PFD_PFD2_FRAC_MASK (0x3F0000U)
  5042. #define ANADIG_PLL_SYS_PLL3_PFD_PFD2_FRAC_SHIFT (16U)
  5043. /*! PFD2_FRAC - PFD2_FRAC
  5044. */
  5045. #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)
  5046. #define ANADIG_PLL_SYS_PLL3_PFD_PFD2_STABLE_MASK (0x400000U)
  5047. #define ANADIG_PLL_SYS_PLL3_PFD_PFD2_STABLE_SHIFT (22U)
  5048. /*! PFD2_STABLE - PFD2_STABLE
  5049. */
  5050. #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)
  5051. #define ANADIG_PLL_SYS_PLL3_PFD_PFD2_DIV1_CLKGATE_MASK (0x800000U)
  5052. #define ANADIG_PLL_SYS_PLL3_PFD_PFD2_DIV1_CLKGATE_SHIFT (23U)
  5053. /*! PFD2_DIV1_CLKGATE - PFD2_DIV1_CLKGATE
  5054. * 0b1..Fractional divider clock (reference ref_pfd2) is off (power savings)
  5055. * 0b0..ref_pfd2 fractional divider clock is enabled
  5056. */
  5057. #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)
  5058. #define ANADIG_PLL_SYS_PLL3_PFD_PFD3_FRAC_MASK (0x3F000000U)
  5059. #define ANADIG_PLL_SYS_PLL3_PFD_PFD3_FRAC_SHIFT (24U)
  5060. /*! PFD3_FRAC - PFD3_FRAC
  5061. */
  5062. #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)
  5063. #define ANADIG_PLL_SYS_PLL3_PFD_PFD3_STABLE_MASK (0x40000000U)
  5064. #define ANADIG_PLL_SYS_PLL3_PFD_PFD3_STABLE_SHIFT (30U)
  5065. /*! PFD3_STABLE - PFD3_STABLE
  5066. */
  5067. #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)
  5068. #define ANADIG_PLL_SYS_PLL3_PFD_PFD3_DIV1_CLKGATE_MASK (0x80000000U)
  5069. #define ANADIG_PLL_SYS_PLL3_PFD_PFD3_DIV1_CLKGATE_SHIFT (31U)
  5070. /*! PFD3_DIV1_CLKGATE - PFD3_DIV1_CLKGATE
  5071. * 0b1..Fractional divider clock (reference ref_pfd3) is off (power savings)
  5072. * 0b0..ref_pfd3 fractional divider clock is enabled
  5073. */
  5074. #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)
  5075. /*! @} */
  5076. /*! @name SYS_PLL2_CTRL - SYS_PLL2_CTRL_REGISTER */
  5077. /*! @{ */
  5078. #define ANADIG_PLL_SYS_PLL2_CTRL_PLL_REG_EN_MASK (0x8U)
  5079. #define ANADIG_PLL_SYS_PLL2_CTRL_PLL_REG_EN_SHIFT (3U)
  5080. /*! PLL_REG_EN - Enable Internal PLL Regulator
  5081. */
  5082. #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)
  5083. #define ANADIG_PLL_SYS_PLL2_CTRL_HOLD_RING_OFF_MASK (0x800U)
  5084. #define ANADIG_PLL_SYS_PLL2_CTRL_HOLD_RING_OFF_SHIFT (11U)
  5085. /*! HOLD_RING_OFF - PLL Start up initialization
  5086. * 0b0..Normal operation
  5087. * 0b1..Initialize PLL start up
  5088. */
  5089. #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)
  5090. #define ANADIG_PLL_SYS_PLL2_CTRL_ENABLE_CLK_MASK (0x2000U)
  5091. #define ANADIG_PLL_SYS_PLL2_CTRL_ENABLE_CLK_SHIFT (13U)
  5092. /*! ENABLE_CLK - Enable the clock output.
  5093. * 0b0..Disable the clock
  5094. * 0b1..Enable the clock
  5095. */
  5096. #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)
  5097. #define ANADIG_PLL_SYS_PLL2_CTRL_BYPASS_MASK (0x10000U)
  5098. #define ANADIG_PLL_SYS_PLL2_CTRL_BYPASS_SHIFT (16U)
  5099. /*! BYPASS - Bypass the pll.
  5100. * 0b1..Bypass Mode
  5101. * 0b0..Function mode
  5102. */
  5103. #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)
  5104. #define ANADIG_PLL_SYS_PLL2_CTRL_DITHER_ENABLE_MASK (0x20000U)
  5105. #define ANADIG_PLL_SYS_PLL2_CTRL_DITHER_ENABLE_SHIFT (17U)
  5106. /*! DITHER_ENABLE - DITHER_ENABLE
  5107. * 0b0..Disable Dither
  5108. * 0b1..Enable Dither
  5109. */
  5110. #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)
  5111. #define ANADIG_PLL_SYS_PLL2_CTRL_PFD_OFFSET_EN_MASK (0x40000U)
  5112. #define ANADIG_PLL_SYS_PLL2_CTRL_PFD_OFFSET_EN_SHIFT (18U)
  5113. /*! PFD_OFFSET_EN - PFD_OFFSET_EN
  5114. */
  5115. #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)
  5116. #define ANADIG_PLL_SYS_PLL2_CTRL_PLL_DDR_OVERRIDE_MASK (0x80000U)
  5117. #define ANADIG_PLL_SYS_PLL2_CTRL_PLL_DDR_OVERRIDE_SHIFT (19U)
  5118. /*! PLL_DDR_OVERRIDE - PLL_DDR_OVERRIDE
  5119. */
  5120. #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)
  5121. #define ANADIG_PLL_SYS_PLL2_CTRL_POWERUP_MASK (0x800000U)
  5122. #define ANADIG_PLL_SYS_PLL2_CTRL_POWERUP_SHIFT (23U)
  5123. /*! POWERUP - Powers up the PLL.
  5124. * 0b1..Power Up the PLL
  5125. * 0b0..Power down the PLL
  5126. */
  5127. #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)
  5128. #define ANADIG_PLL_SYS_PLL2_CTRL_SYS_PLL2_STABLE_MASK (0x20000000U)
  5129. #define ANADIG_PLL_SYS_PLL2_CTRL_SYS_PLL2_STABLE_SHIFT (29U)
  5130. /*! SYS_PLL2_STABLE - SYS_PLL2_STABLE
  5131. */
  5132. #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)
  5133. #define ANADIG_PLL_SYS_PLL2_CTRL_SYS_PLL2_GATE_MASK (0x40000000U)
  5134. #define ANADIG_PLL_SYS_PLL2_CTRL_SYS_PLL2_GATE_SHIFT (30U)
  5135. /*! SYS_PLL2_GATE - SYS_PLL2_GATE
  5136. * 0b1..Clock is gated
  5137. * 0b0..Clock is not gated
  5138. */
  5139. #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)
  5140. #define ANADIG_PLL_SYS_PLL2_CTRL_SYS_PLL2_CONTROL_MODE_MASK (0x80000000U)
  5141. #define ANADIG_PLL_SYS_PLL2_CTRL_SYS_PLL2_CONTROL_MODE_SHIFT (31U)
  5142. /*! SYS_PLL2_CONTROL_MODE - SYS_PLL2_control_mode
  5143. * 0b0..Software Mode (Default)
  5144. * 0b1..GPC Mode
  5145. */
  5146. #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)
  5147. /*! @} */
  5148. /*! @name SYS_PLL2_UPDATE - SYS_PLL2_UPDATE_REGISTER */
  5149. /*! @{ */
  5150. #define ANADIG_PLL_SYS_PLL2_UPDATE_PFD0_UPDATE_MASK (0x2U)
  5151. #define ANADIG_PLL_SYS_PLL2_UPDATE_PFD0_UPDATE_SHIFT (1U)
  5152. /*! PFD0_UPDATE - PFD0_UPDATE
  5153. */
  5154. #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)
  5155. #define ANADIG_PLL_SYS_PLL2_UPDATE_PFD1_UPDATE_MASK (0x4U)
  5156. #define ANADIG_PLL_SYS_PLL2_UPDATE_PFD1_UPDATE_SHIFT (2U)
  5157. /*! PFD1_UPDATE - PFD1_UPDATE
  5158. */
  5159. #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)
  5160. #define ANADIG_PLL_SYS_PLL2_UPDATE_PFD2_UPDATE_MASK (0x8U)
  5161. #define ANADIG_PLL_SYS_PLL2_UPDATE_PFD2_UPDATE_SHIFT (3U)
  5162. /*! PFD2_UPDATE - PFD2_UPDATE
  5163. */
  5164. #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)
  5165. #define ANADIG_PLL_SYS_PLL2_UPDATE_PFD3_UPDATE_MASK (0x10U)
  5166. #define ANADIG_PLL_SYS_PLL2_UPDATE_PFD3_UPDATE_SHIFT (4U)
  5167. /*! PFD3_UPDATE - PFD3_UPDATE
  5168. */
  5169. #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)
  5170. #define ANADIG_PLL_SYS_PLL2_UPDATE_PFD0_CONTROL_MODE_MASK (0x20U)
  5171. #define ANADIG_PLL_SYS_PLL2_UPDATE_PFD0_CONTROL_MODE_SHIFT (5U)
  5172. /*! PFD0_CONTROL_MODE - pfd0_control_mode
  5173. * 0b0..Software Mode (Default)
  5174. * 0b1..GPC Mode
  5175. */
  5176. #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)
  5177. #define ANADIG_PLL_SYS_PLL2_UPDATE_PFD1_CONTROL_MODE_MASK (0x40U)
  5178. #define ANADIG_PLL_SYS_PLL2_UPDATE_PFD1_CONTROL_MODE_SHIFT (6U)
  5179. /*! PFD1_CONTROL_MODE - pfd1_control_mode
  5180. * 0b0..Software Mode (Default)
  5181. * 0b1..GPC Mode
  5182. */
  5183. #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)
  5184. #define ANADIG_PLL_SYS_PLL2_UPDATE_PFD2_CONTROL_MODE_MASK (0x80U)
  5185. #define ANADIG_PLL_SYS_PLL2_UPDATE_PFD2_CONTROL_MODE_SHIFT (7U)
  5186. /*! PFD2_CONTROL_MODE - pfd2_control_mode
  5187. * 0b0..Software Mode (Default)
  5188. * 0b1..GPC Mode
  5189. */
  5190. #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)
  5191. #define ANADIG_PLL_SYS_PLL2_UPDATE_PFD3_CONTROL_MODE_MASK (0x100U)
  5192. #define ANADIG_PLL_SYS_PLL2_UPDATE_PFD3_CONTROL_MODE_SHIFT (8U)
  5193. /*! PFD3_CONTROL_MODE - pfd3_control_mode
  5194. * 0b0..Software Mode (Default)
  5195. * 0b1..GPC Mode
  5196. */
  5197. #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)
  5198. /*! @} */
  5199. /*! @name SYS_PLL2_SS - SYS_PLL2_SS_REGISTER */
  5200. /*! @{ */
  5201. #define ANADIG_PLL_SYS_PLL2_SS_STEP_MASK (0x7FFFU)
  5202. #define ANADIG_PLL_SYS_PLL2_SS_STEP_SHIFT (0U)
  5203. /*! STEP - STEP
  5204. */
  5205. #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)
  5206. #define ANADIG_PLL_SYS_PLL2_SS_ENABLE_MASK (0x8000U)
  5207. #define ANADIG_PLL_SYS_PLL2_SS_ENABLE_SHIFT (15U)
  5208. /*! ENABLE - ENABLE
  5209. * 0b1..Enable Spread Spectrum
  5210. * 0b0..Disable Spread Spectrum
  5211. */
  5212. #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)
  5213. #define ANADIG_PLL_SYS_PLL2_SS_STOP_MASK (0xFFFF0000U)
  5214. #define ANADIG_PLL_SYS_PLL2_SS_STOP_SHIFT (16U)
  5215. /*! STOP - STOP
  5216. */
  5217. #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)
  5218. /*! @} */
  5219. /*! @name SYS_PLL2_PFD - SYS_PLL2_PFD_REGISTER */
  5220. /*! @{ */
  5221. #define ANADIG_PLL_SYS_PLL2_PFD_PFD0_FRAC_MASK (0x3FU)
  5222. #define ANADIG_PLL_SYS_PLL2_PFD_PFD0_FRAC_SHIFT (0U)
  5223. /*! PFD0_FRAC - PFD0_FRAC
  5224. */
  5225. #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)
  5226. #define ANADIG_PLL_SYS_PLL2_PFD_PFD0_STABLE_MASK (0x40U)
  5227. #define ANADIG_PLL_SYS_PLL2_PFD_PFD0_STABLE_SHIFT (6U)
  5228. /*! PFD0_STABLE - PFD0_STABLE
  5229. */
  5230. #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)
  5231. #define ANADIG_PLL_SYS_PLL2_PFD_PFD0_DIV1_CLKGATE_MASK (0x80U)
  5232. #define ANADIG_PLL_SYS_PLL2_PFD_PFD0_DIV1_CLKGATE_SHIFT (7U)
  5233. /*! PFD0_DIV1_CLKGATE - PFD0_DIV1_CLKGATE
  5234. */
  5235. #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)
  5236. #define ANADIG_PLL_SYS_PLL2_PFD_PFD1_FRAC_MASK (0x3F00U)
  5237. #define ANADIG_PLL_SYS_PLL2_PFD_PFD1_FRAC_SHIFT (8U)
  5238. /*! PFD1_FRAC - PFD1_FRAC
  5239. */
  5240. #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)
  5241. #define ANADIG_PLL_SYS_PLL2_PFD_PFD1_STABLE_MASK (0x4000U)
  5242. #define ANADIG_PLL_SYS_PLL2_PFD_PFD1_STABLE_SHIFT (14U)
  5243. /*! PFD1_STABLE - PFD1_STABLE
  5244. */
  5245. #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)
  5246. #define ANADIG_PLL_SYS_PLL2_PFD_PFD1_DIV1_CLKGATE_MASK (0x8000U)
  5247. #define ANADIG_PLL_SYS_PLL2_PFD_PFD1_DIV1_CLKGATE_SHIFT (15U)
  5248. /*! PFD1_DIV1_CLKGATE - PFD1_DIV1_CLKGATE
  5249. */
  5250. #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)
  5251. #define ANADIG_PLL_SYS_PLL2_PFD_PFD2_FRAC_MASK (0x3F0000U)
  5252. #define ANADIG_PLL_SYS_PLL2_PFD_PFD2_FRAC_SHIFT (16U)
  5253. /*! PFD2_FRAC - PFD2_FRAC
  5254. */
  5255. #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)
  5256. #define ANADIG_PLL_SYS_PLL2_PFD_PFD2_STABLE_MASK (0x400000U)
  5257. #define ANADIG_PLL_SYS_PLL2_PFD_PFD2_STABLE_SHIFT (22U)
  5258. /*! PFD2_STABLE - PFD2_STABLE
  5259. */
  5260. #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)
  5261. #define ANADIG_PLL_SYS_PLL2_PFD_PFD2_DIV1_CLKGATE_MASK (0x800000U)
  5262. #define ANADIG_PLL_SYS_PLL2_PFD_PFD2_DIV1_CLKGATE_SHIFT (23U)
  5263. /*! PFD2_DIV1_CLKGATE - PFD2_DIV1_CLKGATE
  5264. */
  5265. #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)
  5266. #define ANADIG_PLL_SYS_PLL2_PFD_PFD3_FRAC_MASK (0x3F000000U)
  5267. #define ANADIG_PLL_SYS_PLL2_PFD_PFD3_FRAC_SHIFT (24U)
  5268. /*! PFD3_FRAC - PFD3_FRAC
  5269. */
  5270. #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)
  5271. #define ANADIG_PLL_SYS_PLL2_PFD_PFD3_STABLE_MASK (0x40000000U)
  5272. #define ANADIG_PLL_SYS_PLL2_PFD_PFD3_STABLE_SHIFT (30U)
  5273. /*! PFD3_STABLE - PFD3_STABLE
  5274. */
  5275. #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)
  5276. #define ANADIG_PLL_SYS_PLL2_PFD_PFD3_DIV1_CLKGATE_MASK (0x80000000U)
  5277. #define ANADIG_PLL_SYS_PLL2_PFD_PFD3_DIV1_CLKGATE_SHIFT (31U)
  5278. /*! PFD3_DIV1_CLKGATE - PFD3_DIV1_CLKGATE
  5279. */
  5280. #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)
  5281. /*! @} */
  5282. /*! @name SYS_PLL2_MFD - SYS_PLL2_MFD_REGISTER */
  5283. /*! @{ */
  5284. #define ANADIG_PLL_SYS_PLL2_MFD_MFD_MASK (0x3FFFFFFFU)
  5285. #define ANADIG_PLL_SYS_PLL2_MFD_MFD_SHIFT (0U)
  5286. /*! MFD - Denominator
  5287. */
  5288. #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)
  5289. /*! @} */
  5290. /*! @name SYS_PLL1_SS - SYS_PLL1_SS_REGISTER */
  5291. /*! @{ */
  5292. #define ANADIG_PLL_SYS_PLL1_SS_STEP_MASK (0x7FFFU)
  5293. #define ANADIG_PLL_SYS_PLL1_SS_STEP_SHIFT (0U)
  5294. /*! STEP - STEP
  5295. */
  5296. #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)
  5297. #define ANADIG_PLL_SYS_PLL1_SS_ENABLE_MASK (0x8000U)
  5298. #define ANADIG_PLL_SYS_PLL1_SS_ENABLE_SHIFT (15U)
  5299. /*! ENABLE - ENABLE
  5300. * 0b1..Enable Spread Spectrum
  5301. * 0b0..Disable Spread Spectrum
  5302. */
  5303. #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)
  5304. #define ANADIG_PLL_SYS_PLL1_SS_STOP_MASK (0xFFFF0000U)
  5305. #define ANADIG_PLL_SYS_PLL1_SS_STOP_SHIFT (16U)
  5306. /*! STOP - STOP
  5307. */
  5308. #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)
  5309. /*! @} */
  5310. /*! @name SYS_PLL1_CTRL - SYS_PLL1_CTRL_REGISTER */
  5311. /*! @{ */
  5312. #define ANADIG_PLL_SYS_PLL1_CTRL_ENABLE_CLK_MASK (0x2000U)
  5313. #define ANADIG_PLL_SYS_PLL1_CTRL_ENABLE_CLK_SHIFT (13U)
  5314. /*! ENABLE_CLK - ENABLE_CLK
  5315. */
  5316. #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)
  5317. #define ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_GATE_MASK (0x4000U)
  5318. #define ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_GATE_SHIFT (14U)
  5319. /*! SYS_PLL1_GATE - SYS_PLL1_GATE
  5320. * 0b1..Gate the output
  5321. * 0b0..No gate
  5322. */
  5323. #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)
  5324. #define ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_DIV2_MASK (0x2000000U)
  5325. #define ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_DIV2_SHIFT (25U)
  5326. /*! SYS_PLL1_DIV2 - SYS_PLL1_DIV2
  5327. */
  5328. #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)
  5329. #define ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_DIV5_MASK (0x4000000U)
  5330. #define ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_DIV5_SHIFT (26U)
  5331. /*! SYS_PLL1_DIV5 - SYS_PLL1_DIV5
  5332. */
  5333. #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)
  5334. #define ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_DIV5_CONTROL_MODE_MASK (0x8000000U)
  5335. #define ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_DIV5_CONTROL_MODE_SHIFT (27U)
  5336. /*! SYS_PLL1_DIV5_CONTROL_MODE - SYS_PLL1_DIV5_CONTROL_MODE
  5337. * 0b0..Software Mode (Default)
  5338. * 0b1..GPC Mode
  5339. */
  5340. #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)
  5341. #define ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_DIV2_CONTROL_MODE_MASK (0x10000000U)
  5342. #define ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_DIV2_CONTROL_MODE_SHIFT (28U)
  5343. /*! SYS_PLL1_DIV2_CONTROL_MODE - SYS_PLL1_DIV2_CONTROL_MODE
  5344. * 0b0..Software Mode (Default)
  5345. * 0b1..GPC Mode
  5346. */
  5347. #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)
  5348. #define ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_STABLE_MASK (0x20000000U)
  5349. #define ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_STABLE_SHIFT (29U)
  5350. /*! SYS_PLL1_STABLE - SYS_PLL1_STABLE
  5351. */
  5352. #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)
  5353. #define ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_AI_BUSY_MASK (0x40000000U)
  5354. #define ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_AI_BUSY_SHIFT (30U)
  5355. /*! SYS_PLL1_AI_BUSY - SYS_PLL1_AI_BUSY
  5356. */
  5357. #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)
  5358. #define ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_CONTROL_MODE_MASK (0x80000000U)
  5359. #define ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_CONTROL_MODE_SHIFT (31U)
  5360. /*! SYS_PLL1_CONTROL_MODE - SYS_PLL1_CONTROL_MODE
  5361. * 0b0..Software Mode (Default)
  5362. * 0b1..GPC Mode
  5363. */
  5364. #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)
  5365. /*! @} */
  5366. /*! @name SYS_PLL1_DENOMINATOR - SYS_PLL1_DENOMINATOR_REGISTER */
  5367. /*! @{ */
  5368. #define ANADIG_PLL_SYS_PLL1_DENOMINATOR_DENOM_MASK (0x3FFFFFFFU)
  5369. #define ANADIG_PLL_SYS_PLL1_DENOMINATOR_DENOM_SHIFT (0U)
  5370. /*! DENOM - DENOM
  5371. */
  5372. #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)
  5373. /*! @} */
  5374. /*! @name SYS_PLL1_NUMERATOR - SYS_PLL1_NUMERATOR_REGISTER */
  5375. /*! @{ */
  5376. #define ANADIG_PLL_SYS_PLL1_NUMERATOR_NUM_MASK (0x3FFFFFFFU)
  5377. #define ANADIG_PLL_SYS_PLL1_NUMERATOR_NUM_SHIFT (0U)
  5378. /*! NUM - NUM
  5379. */
  5380. #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)
  5381. /*! @} */
  5382. /*! @name SYS_PLL1_DIV_SELECT - SYS_PLL1_DIV_SELECT_REGISTER */
  5383. /*! @{ */
  5384. #define ANADIG_PLL_SYS_PLL1_DIV_SELECT_DIV_SELECT_MASK (0x7FU)
  5385. #define ANADIG_PLL_SYS_PLL1_DIV_SELECT_DIV_SELECT_SHIFT (0U)
  5386. /*! DIV_SELECT - DIV_SELECT
  5387. */
  5388. #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)
  5389. /*! @} */
  5390. /*! @name PLL_AUDIO_CTRL - PLL_AUDIO_CTRL_REGISTER */
  5391. /*! @{ */
  5392. #define ANADIG_PLL_PLL_AUDIO_CTRL_ENABLE_CLK_MASK (0x2000U)
  5393. #define ANADIG_PLL_PLL_AUDIO_CTRL_ENABLE_CLK_SHIFT (13U)
  5394. /*! ENABLE_CLK - ENABLE_CLK
  5395. */
  5396. #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)
  5397. #define ANADIG_PLL_PLL_AUDIO_CTRL_PLL_AUDIO_GATE_MASK (0x4000U)
  5398. #define ANADIG_PLL_PLL_AUDIO_CTRL_PLL_AUDIO_GATE_SHIFT (14U)
  5399. /*! PLL_AUDIO_GATE - PLL_AUDIO_GATE
  5400. * 0b1..Gate the output
  5401. * 0b0..No gate
  5402. */
  5403. #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)
  5404. #define ANADIG_PLL_PLL_AUDIO_CTRL_PLL_AUDIO_STABLE_MASK (0x20000000U)
  5405. #define ANADIG_PLL_PLL_AUDIO_CTRL_PLL_AUDIO_STABLE_SHIFT (29U)
  5406. /*! PLL_AUDIO_STABLE - PLL_AUDIO_STABLE
  5407. */
  5408. #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)
  5409. #define ANADIG_PLL_PLL_AUDIO_CTRL_PLL_AUDIO_AI_BUSY_MASK (0x40000000U)
  5410. #define ANADIG_PLL_PLL_AUDIO_CTRL_PLL_AUDIO_AI_BUSY_SHIFT (30U)
  5411. /*! PLL_AUDIO_AI_BUSY - pll_audio_ai_busy
  5412. */
  5413. #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)
  5414. #define ANADIG_PLL_PLL_AUDIO_CTRL_PLL_AUDIO_CONTROL_MODE_MASK (0x80000000U)
  5415. #define ANADIG_PLL_PLL_AUDIO_CTRL_PLL_AUDIO_CONTROL_MODE_SHIFT (31U)
  5416. /*! PLL_AUDIO_CONTROL_MODE - pll_audio_control_mode
  5417. * 0b0..Software Mode (Default)
  5418. * 0b1..GPC Mode
  5419. */
  5420. #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)
  5421. /*! @} */
  5422. /*! @name PLL_AUDIO_SS - PLL_AUDIO_SS_REGISTER */
  5423. /*! @{ */
  5424. #define ANADIG_PLL_PLL_AUDIO_SS_STEP_MASK (0x7FFFU)
  5425. #define ANADIG_PLL_PLL_AUDIO_SS_STEP_SHIFT (0U)
  5426. /*! STEP - STEP
  5427. */
  5428. #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)
  5429. #define ANADIG_PLL_PLL_AUDIO_SS_ENABLE_MASK (0x8000U)
  5430. #define ANADIG_PLL_PLL_AUDIO_SS_ENABLE_SHIFT (15U)
  5431. /*! ENABLE - ENABLE
  5432. * 0b1..Enable Spread Spectrum
  5433. * 0b0..Disable Spread Spectrum
  5434. */
  5435. #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)
  5436. #define ANADIG_PLL_PLL_AUDIO_SS_STOP_MASK (0xFFFF0000U)
  5437. #define ANADIG_PLL_PLL_AUDIO_SS_STOP_SHIFT (16U)
  5438. /*! STOP - STOP
  5439. */
  5440. #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)
  5441. /*! @} */
  5442. /*! @name PLL_AUDIO_DENOMINATOR - PLL_AUDIO_DENOMINATOR_REGISTER */
  5443. /*! @{ */
  5444. #define ANADIG_PLL_PLL_AUDIO_DENOMINATOR_DENOM_MASK (0x3FFFFFFFU)
  5445. #define ANADIG_PLL_PLL_AUDIO_DENOMINATOR_DENOM_SHIFT (0U)
  5446. /*! DENOM - DENOM
  5447. */
  5448. #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)
  5449. /*! @} */
  5450. /*! @name PLL_AUDIO_NUMERATOR - PLL_AUDIO_NUMERATOR_REGISTER */
  5451. /*! @{ */
  5452. #define ANADIG_PLL_PLL_AUDIO_NUMERATOR_NUM_MASK (0x3FFFFFFFU)
  5453. #define ANADIG_PLL_PLL_AUDIO_NUMERATOR_NUM_SHIFT (0U)
  5454. /*! NUM - NUM
  5455. */
  5456. #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)
  5457. /*! @} */
  5458. /*! @name PLL_AUDIO_DIV_SELECT - PLL_AUDIO_DIV_SELECT_REGISTER */
  5459. /*! @{ */
  5460. #define ANADIG_PLL_PLL_AUDIO_DIV_SELECT_PLL_AUDIO_DIV_SELECT_MASK (0x7FU)
  5461. #define ANADIG_PLL_PLL_AUDIO_DIV_SELECT_PLL_AUDIO_DIV_SELECT_SHIFT (0U)
  5462. /*! PLL_AUDIO_DIV_SELECT - PLL_AUDIO_DIV_SELECT
  5463. */
  5464. #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)
  5465. /*! @} */
  5466. /*! @name PLL_VIDEO_CTRL - PLL_VIDEO_CTRL_REGISTER */
  5467. /*! @{ */
  5468. #define ANADIG_PLL_PLL_VIDEO_CTRL_ENABLE_CLK_MASK (0x2000U)
  5469. #define ANADIG_PLL_PLL_VIDEO_CTRL_ENABLE_CLK_SHIFT (13U)
  5470. /*! ENABLE_CLK - ENABLE_CLK
  5471. */
  5472. #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)
  5473. #define ANADIG_PLL_PLL_VIDEO_CTRL_PLL_VIDEO_GATE_MASK (0x4000U)
  5474. #define ANADIG_PLL_PLL_VIDEO_CTRL_PLL_VIDEO_GATE_SHIFT (14U)
  5475. /*! PLL_VIDEO_GATE - PLL_VIDEO_GATE
  5476. * 0b1..Gate the output
  5477. * 0b0..No gate
  5478. */
  5479. #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)
  5480. #define ANADIG_PLL_PLL_VIDEO_CTRL_PLL_VIDEO_COUNTER_CLR_MASK (0x1000000U)
  5481. #define ANADIG_PLL_PLL_VIDEO_CTRL_PLL_VIDEO_COUNTER_CLR_SHIFT (24U)
  5482. /*! PLL_VIDEO_COUNTER_CLR - pll_video_counter_clr
  5483. */
  5484. #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)
  5485. #define ANADIG_PLL_PLL_VIDEO_CTRL_PLL_VIDEO_STABLE_MASK (0x20000000U)
  5486. #define ANADIG_PLL_PLL_VIDEO_CTRL_PLL_VIDEO_STABLE_SHIFT (29U)
  5487. /*! PLL_VIDEO_STABLE - PLL_VIDEO_STABLE
  5488. */
  5489. #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)
  5490. #define ANADIG_PLL_PLL_VIDEO_CTRL_PLL_VIDEO_AI_BUSY_MASK (0x40000000U)
  5491. #define ANADIG_PLL_PLL_VIDEO_CTRL_PLL_VIDEO_AI_BUSY_SHIFT (30U)
  5492. /*! PLL_VIDEO_AI_BUSY - pll_video_ai_busy
  5493. */
  5494. #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)
  5495. #define ANADIG_PLL_PLL_VIDEO_CTRL_PLL_VIDEO_CONTROL_MODE_MASK (0x80000000U)
  5496. #define ANADIG_PLL_PLL_VIDEO_CTRL_PLL_VIDEO_CONTROL_MODE_SHIFT (31U)
  5497. /*! PLL_VIDEO_CONTROL_MODE - pll_video_control_mode
  5498. * 0b0..Software Mode (Default)
  5499. * 0b1..GPC Mode
  5500. */
  5501. #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)
  5502. /*! @} */
  5503. /*! @name PLL_VIDEO_SS - PLL_VIDEO_SS_REGISTER */
  5504. /*! @{ */
  5505. #define ANADIG_PLL_PLL_VIDEO_SS_STEP_MASK (0x7FFFU)
  5506. #define ANADIG_PLL_PLL_VIDEO_SS_STEP_SHIFT (0U)
  5507. /*! STEP - STEP
  5508. */
  5509. #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)
  5510. #define ANADIG_PLL_PLL_VIDEO_SS_ENABLE_MASK (0x8000U)
  5511. #define ANADIG_PLL_PLL_VIDEO_SS_ENABLE_SHIFT (15U)
  5512. /*! ENABLE - ENABLE
  5513. * 0b1..Enable Spread Spectrum
  5514. * 0b0..Disable Spread Spectrum
  5515. */
  5516. #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)
  5517. #define ANADIG_PLL_PLL_VIDEO_SS_STOP_MASK (0xFFFF0000U)
  5518. #define ANADIG_PLL_PLL_VIDEO_SS_STOP_SHIFT (16U)
  5519. /*! STOP - STOP
  5520. */
  5521. #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)
  5522. /*! @} */
  5523. /*! @name PLL_VIDEO_DENOMINATOR - PLL_VIDEO_DENOMINATOR_REGISTER */
  5524. /*! @{ */
  5525. #define ANADIG_PLL_PLL_VIDEO_DENOMINATOR_DENOM_MASK (0x3FFFFFFFU)
  5526. #define ANADIG_PLL_PLL_VIDEO_DENOMINATOR_DENOM_SHIFT (0U)
  5527. /*! DENOM - DENOM
  5528. */
  5529. #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)
  5530. /*! @} */
  5531. /*! @name PLL_VIDEO_NUMERATOR - PLL_VIDEO_NUMERATOR_REGISTER */
  5532. /*! @{ */
  5533. #define ANADIG_PLL_PLL_VIDEO_NUMERATOR_NUM_MASK (0x3FFFFFFFU)
  5534. #define ANADIG_PLL_PLL_VIDEO_NUMERATOR_NUM_SHIFT (0U)
  5535. /*! NUM - NUM
  5536. */
  5537. #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)
  5538. /*! @} */
  5539. /*! @name PLL_VIDEO_DIV_SELECT - PLL_VIDEO_DIV_SELECT_REGISTER */
  5540. /*! @{ */
  5541. #define ANADIG_PLL_PLL_VIDEO_DIV_SELECT_DIV_SELECT_MASK (0x7FU)
  5542. #define ANADIG_PLL_PLL_VIDEO_DIV_SELECT_DIV_SELECT_SHIFT (0U)
  5543. /*! DIV_SELECT - DIV_SELECT
  5544. */
  5545. #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)
  5546. /*! @} */
  5547. /*!
  5548. * @}
  5549. */ /* end of group ANADIG_PLL_Register_Masks */
  5550. /* ANADIG_PLL - Peripheral instance base addresses */
  5551. /** Peripheral ANADIG_PLL base address */
  5552. #define ANADIG_PLL_BASE (0x40C84000u)
  5553. /** Peripheral ANADIG_PLL base pointer */
  5554. #define ANADIG_PLL ((ANADIG_PLL_Type *)ANADIG_PLL_BASE)
  5555. /** Array initializer of ANADIG_PLL peripheral base addresses */
  5556. #define ANADIG_PLL_BASE_ADDRS { ANADIG_PLL_BASE }
  5557. /** Array initializer of ANADIG_PLL peripheral base pointers */
  5558. #define ANADIG_PLL_BASE_PTRS { ANADIG_PLL }
  5559. /*!
  5560. * @}
  5561. */ /* end of group ANADIG_PLL_Peripheral_Access_Layer */
  5562. /* ----------------------------------------------------------------------------
  5563. -- ANADIG_PMU Peripheral Access Layer
  5564. ---------------------------------------------------------------------------- */
  5565. /*!
  5566. * @addtogroup ANADIG_PMU_Peripheral_Access_Layer ANADIG_PMU Peripheral Access Layer
  5567. * @{
  5568. */
  5569. /** ANADIG_PMU - Register Layout Typedef */
  5570. typedef struct {
  5571. uint8_t RESERVED_0[1280];
  5572. __IO uint32_t PMU_LDO_PLL; /**< PMU_LDO_PLL_REGISTER, offset: 0x500 */
  5573. uint8_t RESERVED_1[76];
  5574. __IO uint32_t PMU_BIAS_CTRL; /**< PMU_BIAS_CTRL_REGISTER, offset: 0x550 */
  5575. uint8_t RESERVED_2[12];
  5576. __IO uint32_t PMU_BIAS_CTRL2; /**< PMU_BIAS_CTRL2_REGISTER, offset: 0x560 */
  5577. uint8_t RESERVED_3[12];
  5578. __IO uint32_t PMU_REF_CTRL; /**< PMU_REF_CTRL_REGISTER, offset: 0x570 */
  5579. uint8_t RESERVED_4[12];
  5580. __IO uint32_t PMU_POWER_DETECT_CTRL; /**< PMU_POWER_DETECT_CTRL_REGISTER, offset: 0x580 */
  5581. uint8_t RESERVED_5[124];
  5582. __IO uint32_t LDO_PLL_ENABLE_SP; /**< LDO_PLL_ENABLE_SP_REGISTER, offset: 0x600 */
  5583. uint8_t RESERVED_6[12];
  5584. __IO uint32_t LDO_LPSR_ANA_ENABLE_SP; /**< LDO_LPSR_ANA_ENABLE_SP_REGISTER, offset: 0x610 */
  5585. uint8_t RESERVED_7[12];
  5586. __IO uint32_t LDO_LPSR_ANA_LP_MODE_SP; /**< LDO_LPSR_ANA_LP_MODE_SP_REGISTER, offset: 0x620 */
  5587. uint8_t RESERVED_8[12];
  5588. __IO uint32_t LDO_LPSR_ANA_TRACKING_EN_SP; /**< LDO_LPSR_ANA_TRACKING_EN_SP_REGISTER, offset: 0x630 */
  5589. uint8_t RESERVED_9[12];
  5590. __IO uint32_t LDO_LPSR_ANA_BYPASS_EN_SP; /**< LDO_LPSR_ANA_BYPASS_EN_SP_REGISTER, offset: 0x640 */
  5591. uint8_t RESERVED_10[12];
  5592. __IO uint32_t LDO_LPSR_ANA_STBY_EN_SP; /**< LDO_LPSR_ANA_STBY_EN_SP_REGISTER, offset: 0x650 */
  5593. uint8_t RESERVED_11[12];
  5594. __IO uint32_t LDO_LPSR_DIG_ENABLE_SP; /**< LDO_LPSR_DIG_ENABLE_SP_REGISTER, offset: 0x660 */
  5595. uint8_t RESERVED_12[12];
  5596. __IO uint32_t LDO_LPSR_DIG_TRG_SP0; /**< LDO_LPSR_DIG_TRG_SP0_REGISTER, offset: 0x670 */
  5597. uint8_t RESERVED_13[12];
  5598. __IO uint32_t LDO_LPSR_DIG_TRG_SP1; /**< LDO_LPSR_DIG_TRG_SP1_REGISTER, offset: 0x680 */
  5599. uint8_t RESERVED_14[12];
  5600. __IO uint32_t LDO_LPSR_DIG_TRG_SP2; /**< LDO_LPSR_DIG_TRG_SP2_REGISTER, offset: 0x690 */
  5601. uint8_t RESERVED_15[12];
  5602. __IO uint32_t LDO_LPSR_DIG_TRG_SP3; /**< LDO_LPSR_DIG_TRG_SP3_REGISTER, offset: 0x6A0 */
  5603. uint8_t RESERVED_16[12];
  5604. __IO uint32_t LDO_LPSR_DIG_LP_MODE_SP; /**< LDO_LPSR_DIG_LP_MODE_SP_REGISTER, offset: 0x6B0 */
  5605. uint8_t RESERVED_17[12];
  5606. __IO uint32_t LDO_LPSR_DIG_TRACKING_EN_SP; /**< LDO_LPSR_DIG_TRACKING_EN_SP_REGISTER, offset: 0x6C0 */
  5607. uint8_t RESERVED_18[12];
  5608. __IO uint32_t LDO_LPSR_DIG_BYPASS_EN_SP; /**< LDO_LPSR_DIG_BYPASS_EN_SP_REGISTER, offset: 0x6D0 */
  5609. uint8_t RESERVED_19[12];
  5610. __IO uint32_t LDO_LPSR_DIG_STBY_EN_SP; /**< LDO_LPSR_DIG_STBY_EN_SP_REGISTER, offset: 0x6E0 */
  5611. uint8_t RESERVED_20[12];
  5612. __IO uint32_t BANDGAP_ENABLE_SP; /**< BANDGAP_ENABLE_SP_REGISTER, offset: 0x6F0 */
  5613. uint8_t RESERVED_21[12];
  5614. __IO uint32_t FBB_M7_ENABLE_SP; /**< FBB_M7_ENABLE_SP_REGISTER, offset: 0x700 */
  5615. uint8_t RESERVED_22[12];
  5616. __IO uint32_t RBB_SOC_ENABLE_SP; /**< RBB_SOC_ENABLE_SP_REGISTER, offset: 0x710 */
  5617. uint8_t RESERVED_23[12];
  5618. __IO uint32_t RBB_LPSR_ENABLE_SP; /**< RBB_LPSR_ENABLE_SP_REGISTER, offset: 0x720 */
  5619. uint8_t RESERVED_24[12];
  5620. __IO uint32_t BANDGAP_STBY_EN_SP; /**< BANDGAP_STBY_EN_SP_REGISTER, offset: 0x730 */
  5621. uint8_t RESERVED_25[12];
  5622. __IO uint32_t PLL_LDO_STBY_EN_SP; /**< PLL_LDO_STBY_EN_SP_REGISTER, offset: 0x740 */
  5623. uint8_t RESERVED_26[12];
  5624. __IO uint32_t FBB_M7_STBY_EN_SP; /**< FBB_M7_STBY_EN_SP_REGISTER, offset: 0x750 */
  5625. uint8_t RESERVED_27[12];
  5626. __IO uint32_t RBB_SOC_STBY_EN_SP; /**< RBB_SOC_STBY_EN_SP_REGISTER, offset: 0x760 */
  5627. uint8_t RESERVED_28[12];
  5628. __IO uint32_t RBB_LPSR_STBY_EN_SP; /**< RBB_LPSR_STBY_EN_SP_REGISTER, offset: 0x770 */
  5629. uint8_t RESERVED_29[12];
  5630. __IO uint32_t FBB_M7_CONFIGURE; /**< FBB_M7_CONFIGURE_REGISTER, offset: 0x780 */
  5631. uint8_t RESERVED_30[12];
  5632. __IO uint32_t RBB_LPSR_CONFIGURE; /**< RBB_LPSR_CONFIGURE_REGISTER, offset: 0x790 */
  5633. uint8_t RESERVED_31[12];
  5634. __IO uint32_t RBB_SOC_CONFIGURE; /**< RBB_SOC_CONFIGURE_REGISTER, offset: 0x7A0 */
  5635. uint8_t RESERVED_32[12];
  5636. __I uint32_t REFTOP_OTP_TRIM_VALUE; /**< REFTOP_OTP_TRIM_VALUE_REGISTER, offset: 0x7B0 */
  5637. uint8_t RESERVED_33[28];
  5638. __I uint32_t LPSR_1P8_LDO_OTP_TRIM_VALUE; /**< LPSR_1P8_LDO_OTP_TRIM_VALUE_REGISTER, offset: 0x7D0 */
  5639. } ANADIG_PMU_Type;
  5640. /* ----------------------------------------------------------------------------
  5641. -- ANADIG_PMU Register Masks
  5642. ---------------------------------------------------------------------------- */
  5643. /*!
  5644. * @addtogroup ANADIG_PMU_Register_Masks ANADIG_PMU Register Masks
  5645. * @{
  5646. */
  5647. /*! @name PMU_LDO_PLL - PMU_LDO_PLL_REGISTER */
  5648. /*! @{ */
  5649. #define ANADIG_PMU_PMU_LDO_PLL_LDO_PLL_ENABLE_MASK (0x1U)
  5650. #define ANADIG_PMU_PMU_LDO_PLL_LDO_PLL_ENABLE_SHIFT (0U)
  5651. /*! LDO_PLL_ENABLE - LDO_PLL_ENABLE
  5652. */
  5653. #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)
  5654. #define ANADIG_PMU_PMU_LDO_PLL_LDO_PLL_CONTROL_MODE_MASK (0x2U)
  5655. #define ANADIG_PMU_PMU_LDO_PLL_LDO_PLL_CONTROL_MODE_SHIFT (1U)
  5656. /*! LDO_PLL_CONTROL_MODE - LDO_PLL_CONTROL_MODE
  5657. * 0b0..SW Control
  5658. * 0b1..HW Control
  5659. */
  5660. #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)
  5661. #define ANADIG_PMU_PMU_LDO_PLL_LDO_PLL_AI_TOGGLE_MASK (0x10000U)
  5662. #define ANADIG_PMU_PMU_LDO_PLL_LDO_PLL_AI_TOGGLE_SHIFT (16U)
  5663. /*! LDO_PLL_AI_TOGGLE - ldo_pll_ai_toggle
  5664. */
  5665. #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)
  5666. #define ANADIG_PMU_PMU_LDO_PLL_LDO_PLL_AI_BUSY_MASK (0x40000000U)
  5667. #define ANADIG_PMU_PMU_LDO_PLL_LDO_PLL_AI_BUSY_SHIFT (30U)
  5668. /*! LDO_PLL_AI_BUSY - ldo_pll_busy
  5669. */
  5670. #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)
  5671. /*! @} */
  5672. /*! @name PMU_BIAS_CTRL - PMU_BIAS_CTRL_REGISTER */
  5673. /*! @{ */
  5674. #define ANADIG_PMU_PMU_BIAS_CTRL_WB_CFG_1P8_MASK (0x1FFFU)
  5675. #define ANADIG_PMU_PMU_BIAS_CTRL_WB_CFG_1P8_SHIFT (0U)
  5676. /*! WB_CFG_1P8 - wb_cfg_1p8
  5677. */
  5678. #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)
  5679. #define ANADIG_PMU_PMU_BIAS_CTRL_WB_VDD_SEL_1P8_MASK (0x4000U)
  5680. #define ANADIG_PMU_PMU_BIAS_CTRL_WB_VDD_SEL_1P8_SHIFT (14U)
  5681. /*! WB_VDD_SEL_1P8 - wb_vdd_sel_1p8
  5682. * 0b0..VDD_LV1
  5683. * 0b1..VDD_LV2
  5684. */
  5685. #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)
  5686. /*! @} */
  5687. /*! @name PMU_BIAS_CTRL2 - PMU_BIAS_CTRL2_REGISTER */
  5688. /*! @{ */
  5689. #define ANADIG_PMU_PMU_BIAS_CTRL2_WB_TST_MD_MASK (0x3FEU)
  5690. #define ANADIG_PMU_PMU_BIAS_CTRL2_WB_TST_MD_SHIFT (1U)
  5691. /*! WB_TST_MD - TMOD_wb_tst_md_1p8
  5692. */
  5693. #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)
  5694. #define ANADIG_PMU_PMU_BIAS_CTRL2_WB_PWR_SW_EN_1P8_MASK (0x1C00U)
  5695. #define ANADIG_PMU_PMU_BIAS_CTRL2_WB_PWR_SW_EN_1P8_SHIFT (10U)
  5696. /*! WB_PWR_SW_EN_1P8 - MODSEL_wb_tst_md_1p8
  5697. * 0b001..No BB
  5698. * 0b010..BB
  5699. * 0b100..BB
  5700. */
  5701. #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)
  5702. #define ANADIG_PMU_PMU_BIAS_CTRL2_WB_ADJ_1P8_MASK (0x1FE000U)
  5703. #define ANADIG_PMU_PMU_BIAS_CTRL2_WB_ADJ_1P8_SHIFT (13U)
  5704. /*! WB_ADJ_1P8 - wb_adj_1p8
  5705. * 0b00000000..Cref= 0fF Cspl= 0fF DeltaC= 0fF
  5706. * 0b00000001..Cref= 0fF Cspl= 30fF DeltaC= -30fF
  5707. * 0b00000010..Cref= 0fF Cspl= 43fF DeltaC= -43fF
  5708. * 0b00000011..Cref= 0fF Cspl= 62fF DeltaC=-62fF
  5709. * 0b00000100..Cref= 0fF Cspl=105fF DeltaC=-105fF
  5710. * 0b00000101..Cref= 30fF Cspl= 0fF DeltaC= 30fF
  5711. * 0b00000110..Cref= 30fF Cspl= 43fF DeltaC= -12fF
  5712. * 0b00000111..Cref= 30fF Cspl=105fF DeltaC= -75fF
  5713. * 0b00001000..Cref= 43fF Cspl= 0fF DeltaC= 43fF
  5714. * 0b00001001..Cref= 43fF Cspl= 30fF DeltaC= 13fF
  5715. * 0b00001010..Cref= 43fF Cspl= 62fF DeltaC= -19fF
  5716. * 0b00001011..Cref= 62fF Cspl= 0fF DeltaC= 62fF
  5717. * 0b00001100..Cref= 62fF Cspl= 43fF DeltaC= 19fF
  5718. * 0b00001101..Cref=105fF Cspl= 0fF DeltaC= 105fF
  5719. * 0b00001110..Cref=105fF Cspl=30fF DeltaC= 75fF
  5720. * 0b00001111..Cref=0fF Cspl=0fF DeltaC= 0fF
  5721. */
  5722. #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)
  5723. #define ANADIG_PMU_PMU_BIAS_CTRL2_FBB_M7_CONTROL_MODE_MASK (0x200000U)
  5724. #define ANADIG_PMU_PMU_BIAS_CTRL2_FBB_M7_CONTROL_MODE_SHIFT (21U)
  5725. /*! FBB_M7_CONTROL_MODE - FBB_M7_CONTROL_MODE
  5726. * 0b0..SW Control
  5727. * 0b1..HW Control
  5728. */
  5729. #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)
  5730. #define ANADIG_PMU_PMU_BIAS_CTRL2_RBB_SOC_CONTROL_MODE_MASK (0x400000U)
  5731. #define ANADIG_PMU_PMU_BIAS_CTRL2_RBB_SOC_CONTROL_MODE_SHIFT (22U)
  5732. /*! RBB_SOC_CONTROL_MODE - RBB_SOC_CONTROL_MODE
  5733. * 0b0..SW Control
  5734. * 0b1..HW Control
  5735. */
  5736. #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)
  5737. #define ANADIG_PMU_PMU_BIAS_CTRL2_RBB_LPSR_CONTROL_MODE_MASK (0x800000U)
  5738. #define ANADIG_PMU_PMU_BIAS_CTRL2_RBB_LPSR_CONTROL_MODE_SHIFT (23U)
  5739. /*! RBB_LPSR_CONTROL_MODE - RBB_LPSR_CONTROL_MODE
  5740. * 0b0..SW Control
  5741. * 0b1..HW Control
  5742. */
  5743. #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)
  5744. #define ANADIG_PMU_PMU_BIAS_CTRL2_WB_EN_MASK (0x1000000U)
  5745. #define ANADIG_PMU_PMU_BIAS_CTRL2_WB_EN_SHIFT (24U)
  5746. /*! WB_EN - wb_en
  5747. */
  5748. #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)
  5749. #define ANADIG_PMU_PMU_BIAS_CTRL2_WB_TST_DIG_OUT_MASK (0x2000000U)
  5750. #define ANADIG_PMU_PMU_BIAS_CTRL2_WB_TST_DIG_OUT_SHIFT (25U)
  5751. /*! WB_TST_DIG_OUT - Digital output
  5752. */
  5753. #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)
  5754. #define ANADIG_PMU_PMU_BIAS_CTRL2_WB_OK_MASK (0x4000000U)
  5755. #define ANADIG_PMU_PMU_BIAS_CTRL2_WB_OK_SHIFT (26U)
  5756. /*! WB_OK - Digital Output pin.
  5757. */
  5758. #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)
  5759. /*! @} */
  5760. /*! @name PMU_REF_CTRL - PMU_REF_CTRL_REGISTER */
  5761. /*! @{ */
  5762. #define ANADIG_PMU_PMU_REF_CTRL_REF_AI_TOGGLE_MASK (0x1U)
  5763. #define ANADIG_PMU_PMU_REF_CTRL_REF_AI_TOGGLE_SHIFT (0U)
  5764. /*! REF_AI_TOGGLE - ref_ai_toggle
  5765. */
  5766. #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)
  5767. #define ANADIG_PMU_PMU_REF_CTRL_REF_AI_BUSY_MASK (0x2U)
  5768. #define ANADIG_PMU_PMU_REF_CTRL_REF_AI_BUSY_SHIFT (1U)
  5769. /*! REF_AI_BUSY - ref_ai_busy
  5770. */
  5771. #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)
  5772. #define ANADIG_PMU_PMU_REF_CTRL_REF_ENABLE_MASK (0x4U)
  5773. #define ANADIG_PMU_PMU_REF_CTRL_REF_ENABLE_SHIFT (2U)
  5774. /*! REF_ENABLE - REF_ENABLE
  5775. */
  5776. #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)
  5777. #define ANADIG_PMU_PMU_REF_CTRL_REF_CONTROL_MODE_MASK (0x8U)
  5778. #define ANADIG_PMU_PMU_REF_CTRL_REF_CONTROL_MODE_SHIFT (3U)
  5779. /*! REF_CONTROL_MODE - REF_CONTROL_MODE
  5780. * 0b0..SW Control
  5781. * 0b1..HW Control
  5782. */
  5783. #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)
  5784. #define ANADIG_PMU_PMU_REF_CTRL_EN_PLL_VOL_REF_BUFFER_MASK (0x10U)
  5785. #define ANADIG_PMU_PMU_REF_CTRL_EN_PLL_VOL_REF_BUFFER_SHIFT (4U)
  5786. /*! EN_PLL_VOL_REF_BUFFER - en_pll_vol_ref_buffer
  5787. */
  5788. #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)
  5789. /*! @} */
  5790. /*! @name PMU_POWER_DETECT_CTRL - PMU_POWER_DETECT_CTRL_REGISTER */
  5791. /*! @{ */
  5792. #define ANADIG_PMU_PMU_POWER_DETECT_CTRL_CKGB_LPSR1P0_MASK (0x100U)
  5793. #define ANADIG_PMU_PMU_POWER_DETECT_CTRL_CKGB_LPSR1P0_SHIFT (8U)
  5794. /*! CKGB_LPSR1P0 - ckgb_lpsr1p0
  5795. */
  5796. #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)
  5797. /*! @} */
  5798. /*! @name LDO_PLL_ENABLE_SP - LDO_PLL_ENABLE_SP_REGISTER */
  5799. /*! @{ */
  5800. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT0_MASK (0x1U)
  5801. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT0_SHIFT (0U)
  5802. /*! ON_OFF_SETPOINT0 - ON_OFF_SETPOINT0
  5803. * 0b0..ON
  5804. * 0b1..OFF
  5805. */
  5806. #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)
  5807. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT1_MASK (0x2U)
  5808. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT1_SHIFT (1U)
  5809. /*! ON_OFF_SETPOINT1 - ON_OFF_SETPOINT1
  5810. * 0b0..ON
  5811. * 0b1..OFF
  5812. */
  5813. #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)
  5814. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT2_MASK (0x4U)
  5815. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT2_SHIFT (2U)
  5816. /*! ON_OFF_SETPOINT2 - ON_OFF_SETPOINT2
  5817. * 0b0..ON
  5818. * 0b1..OFF
  5819. */
  5820. #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)
  5821. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT3_MASK (0x8U)
  5822. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT3_SHIFT (3U)
  5823. /*! ON_OFF_SETPOINT3 - ON_OFF_SETPOINT3
  5824. * 0b0..ON
  5825. * 0b1..OFF
  5826. */
  5827. #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)
  5828. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT4_MASK (0x10U)
  5829. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT4_SHIFT (4U)
  5830. /*! ON_OFF_SETPOINT4 - ON_OFF_SETPOINT4
  5831. * 0b0..ON
  5832. * 0b1..OFF
  5833. */
  5834. #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)
  5835. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT5_MASK (0x20U)
  5836. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT5_SHIFT (5U)
  5837. /*! ON_OFF_SETPOINT5 - ON_OFF_SETPOINT5
  5838. * 0b0..ON
  5839. * 0b1..OFF
  5840. */
  5841. #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)
  5842. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT6_MASK (0x40U)
  5843. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT6_SHIFT (6U)
  5844. /*! ON_OFF_SETPOINT6 - ON_OFF_SETPOINT6
  5845. * 0b0..ON
  5846. * 0b1..OFF
  5847. */
  5848. #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)
  5849. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT7_MASK (0x80U)
  5850. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT7_SHIFT (7U)
  5851. /*! ON_OFF_SETPOINT7 - ON_OFF_SETPOINT7
  5852. * 0b0..ON
  5853. * 0b1..OFF
  5854. */
  5855. #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)
  5856. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT8_MASK (0x100U)
  5857. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT8_SHIFT (8U)
  5858. /*! ON_OFF_SETPOINT8 - ON_OFF_SETPOINT8
  5859. * 0b0..ON
  5860. * 0b1..OFF
  5861. */
  5862. #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)
  5863. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT9_MASK (0x200U)
  5864. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT9_SHIFT (9U)
  5865. /*! ON_OFF_SETPOINT9 - ON_OFF_SETPOINT9
  5866. * 0b0..ON
  5867. * 0b1..OFF
  5868. */
  5869. #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)
  5870. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT10_MASK (0x400U)
  5871. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT10_SHIFT (10U)
  5872. /*! ON_OFF_SETPOINT10 - ON_OFF_SETPOINT10
  5873. * 0b0..ON
  5874. * 0b1..OFF
  5875. */
  5876. #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)
  5877. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT11_MASK (0x800U)
  5878. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT11_SHIFT (11U)
  5879. /*! ON_OFF_SETPOINT11 - ON_OFF_SETPOINT11
  5880. * 0b0..ON
  5881. * 0b1..OFF
  5882. */
  5883. #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)
  5884. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT12_MASK (0x1000U)
  5885. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT12_SHIFT (12U)
  5886. /*! ON_OFF_SETPOINT12 - ON_OFF_SETPOINT12
  5887. * 0b0..ON
  5888. * 0b1..OFF
  5889. */
  5890. #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)
  5891. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT13_MASK (0x2000U)
  5892. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT13_SHIFT (13U)
  5893. /*! ON_OFF_SETPOINT13 - ON_OFF_SETPOINT13
  5894. * 0b0..ON
  5895. * 0b1..OFF
  5896. */
  5897. #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)
  5898. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT14_MASK (0x4000U)
  5899. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT14_SHIFT (14U)
  5900. /*! ON_OFF_SETPOINT14 - ON_OFF_SETPOINT14
  5901. * 0b0..ON
  5902. * 0b1..OFF
  5903. */
  5904. #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)
  5905. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT15_MASK (0x8000U)
  5906. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT15_SHIFT (15U)
  5907. /*! ON_OFF_SETPOINT15 - ON_OFF_SETPOINT15
  5908. * 0b0..ON
  5909. * 0b1..OFF
  5910. */
  5911. #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)
  5912. /*! @} */
  5913. /*! @name LDO_LPSR_ANA_ENABLE_SP - LDO_LPSR_ANA_ENABLE_SP_REGISTER */
  5914. /*! @{ */
  5915. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT0_MASK (0x1U)
  5916. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT0_SHIFT (0U)
  5917. /*! ON_OFF_SETPOINT0 - ON_OFF_SETPOINT0
  5918. * 0b0..ON
  5919. * 0b1..OFF
  5920. */
  5921. #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)
  5922. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT1_MASK (0x2U)
  5923. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT1_SHIFT (1U)
  5924. /*! ON_OFF_SETPOINT1 - ON_OFF_SETPOINT1
  5925. * 0b0..ON
  5926. * 0b1..OFF
  5927. */
  5928. #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)
  5929. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT2_MASK (0x4U)
  5930. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT2_SHIFT (2U)
  5931. /*! ON_OFF_SETPOINT2 - ON_OFF_SETPOINT2
  5932. * 0b0..ON
  5933. * 0b1..OFF
  5934. */
  5935. #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)
  5936. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT3_MASK (0x8U)
  5937. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT3_SHIFT (3U)
  5938. /*! ON_OFF_SETPOINT3 - ON_OFF_SETPOINT3
  5939. * 0b0..ON
  5940. * 0b1..OFF
  5941. */
  5942. #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)
  5943. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT4_MASK (0x10U)
  5944. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT4_SHIFT (4U)
  5945. /*! ON_OFF_SETPOINT4 - ON_OFF_SETPOINT4
  5946. * 0b0..ON
  5947. * 0b1..OFF
  5948. */
  5949. #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)
  5950. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT5_MASK (0x20U)
  5951. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT5_SHIFT (5U)
  5952. /*! ON_OFF_SETPOINT5 - ON_OFF_SETPOINT5
  5953. * 0b0..ON
  5954. * 0b1..OFF
  5955. */
  5956. #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)
  5957. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT6_MASK (0x40U)
  5958. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT6_SHIFT (6U)
  5959. /*! ON_OFF_SETPOINT6 - ON_OFF_SETPOINT6
  5960. * 0b0..ON
  5961. * 0b1..OFF
  5962. */
  5963. #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)
  5964. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT7_MASK (0x80U)
  5965. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT7_SHIFT (7U)
  5966. /*! ON_OFF_SETPOINT7 - ON_OFF_SETPOINT7
  5967. * 0b0..ON
  5968. * 0b1..OFF
  5969. */
  5970. #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)
  5971. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT8_MASK (0x100U)
  5972. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT8_SHIFT (8U)
  5973. /*! ON_OFF_SETPOINT8 - ON_OFF_SETPOINT8
  5974. * 0b0..ON
  5975. * 0b1..OFF
  5976. */
  5977. #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)
  5978. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT9_MASK (0x200U)
  5979. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT9_SHIFT (9U)
  5980. /*! ON_OFF_SETPOINT9 - ON_OFF_SETPOINT9
  5981. * 0b0..ON
  5982. * 0b1..OFF
  5983. */
  5984. #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)
  5985. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT10_MASK (0x400U)
  5986. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT10_SHIFT (10U)
  5987. /*! ON_OFF_SETPOINT10 - ON_OFF_SETPOINT10
  5988. * 0b0..ON
  5989. * 0b1..OFF
  5990. */
  5991. #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)
  5992. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT11_MASK (0x800U)
  5993. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT11_SHIFT (11U)
  5994. /*! ON_OFF_SETPOINT11 - ON_OFF_SETPOINT11
  5995. * 0b0..ON
  5996. * 0b1..OFF
  5997. */
  5998. #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)
  5999. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT12_MASK (0x1000U)
  6000. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT12_SHIFT (12U)
  6001. /*! ON_OFF_SETPOINT12 - ON_OFF_SETPOINT12
  6002. * 0b0..ON
  6003. * 0b1..OFF
  6004. */
  6005. #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)
  6006. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT13_MASK (0x2000U)
  6007. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT13_SHIFT (13U)
  6008. /*! ON_OFF_SETPOINT13 - ON_OFF_SETPOINT13
  6009. * 0b0..ON
  6010. * 0b1..OFF
  6011. */
  6012. #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)
  6013. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT14_MASK (0x4000U)
  6014. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT14_SHIFT (14U)
  6015. /*! ON_OFF_SETPOINT14 - ON_OFF_SETPOINT14
  6016. * 0b0..ON
  6017. * 0b1..OFF
  6018. */
  6019. #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)
  6020. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT15_MASK (0x8000U)
  6021. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT15_SHIFT (15U)
  6022. /*! ON_OFF_SETPOINT15 - ON_OFF_SETPOINT15
  6023. * 0b0..ON
  6024. * 0b1..OFF
  6025. */
  6026. #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)
  6027. /*! @} */
  6028. /*! @name LDO_LPSR_ANA_LP_MODE_SP - LDO_LPSR_ANA_LP_MODE_SP_REGISTER */
  6029. /*! @{ */
  6030. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPOINT0_MASK (0x1U)
  6031. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPOINT0_SHIFT (0U)
  6032. /*! LP_MODE_SETPOINT0 - LP_MODE_SETPOINT0
  6033. * 0b0..LP
  6034. * 0b1..HP
  6035. */
  6036. #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)
  6037. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPOINT1_MASK (0x2U)
  6038. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPOINT1_SHIFT (1U)
  6039. /*! LP_MODE_SETPOINT1 - LP_MODE_SETPOINT1
  6040. * 0b0..LP
  6041. * 0b1..HP
  6042. */
  6043. #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)
  6044. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT2_MASK (0x4U)
  6045. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT2_SHIFT (2U)
  6046. /*! LP_MODE_SETPONIT2 - LP_MODE_SETPOINT2
  6047. * 0b0..LP
  6048. * 0b1..HP
  6049. */
  6050. #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)
  6051. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT3_MASK (0x8U)
  6052. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT3_SHIFT (3U)
  6053. /*! LP_MODE_SETPONIT3 - LP_MODE_SETPOINT3
  6054. * 0b0..LP
  6055. * 0b1..HP
  6056. */
  6057. #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)
  6058. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT4_MASK (0x10U)
  6059. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT4_SHIFT (4U)
  6060. /*! LP_MODE_SETPONIT4 - LP_MODE_SETPOINT4
  6061. * 0b0..LP
  6062. * 0b1..HP
  6063. */
  6064. #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)
  6065. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT5_MASK (0x20U)
  6066. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT5_SHIFT (5U)
  6067. /*! LP_MODE_SETPONIT5 - LP_MODE_SETPOINT5
  6068. * 0b0..LP
  6069. * 0b1..HP
  6070. */
  6071. #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)
  6072. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT6_MASK (0x40U)
  6073. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT6_SHIFT (6U)
  6074. /*! LP_MODE_SETPONIT6 - LP_MODE_SETPOINT6
  6075. * 0b0..LP
  6076. * 0b1..HP
  6077. */
  6078. #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)
  6079. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT7_MASK (0x80U)
  6080. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT7_SHIFT (7U)
  6081. /*! LP_MODE_SETPONIT7 - LP_MODE_SETPOINT7
  6082. * 0b0..LP
  6083. * 0b1..HP
  6084. */
  6085. #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)
  6086. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT8_MASK (0x100U)
  6087. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT8_SHIFT (8U)
  6088. /*! LP_MODE_SETPONIT8 - LP_MODE_SETPOINT8
  6089. * 0b0..LP
  6090. * 0b1..HP
  6091. */
  6092. #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)
  6093. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT9_MASK (0x200U)
  6094. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT9_SHIFT (9U)
  6095. /*! LP_MODE_SETPONIT9 - LP_MODE_SETPOINT9
  6096. * 0b0..LP
  6097. * 0b1..HP
  6098. */
  6099. #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)
  6100. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT10_MASK (0x400U)
  6101. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT10_SHIFT (10U)
  6102. /*! LP_MODE_SETPONIT10 - LP_MODE_SETPOINT10
  6103. * 0b0..LP
  6104. * 0b1..HP
  6105. */
  6106. #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)
  6107. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT11_MASK (0x800U)
  6108. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT11_SHIFT (11U)
  6109. /*! LP_MODE_SETPONIT11 - LP_MODE_SETPOINT11
  6110. * 0b0..LP
  6111. * 0b1..HP
  6112. */
  6113. #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)
  6114. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT12_MASK (0x1000U)
  6115. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT12_SHIFT (12U)
  6116. /*! LP_MODE_SETPONIT12 - LP_MODE_SETPOINT12
  6117. * 0b0..LP
  6118. * 0b1..HP
  6119. */
  6120. #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)
  6121. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT13_MASK (0x2000U)
  6122. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT13_SHIFT (13U)
  6123. /*! LP_MODE_SETPONIT13 - LP_MODE_SETPOINT13
  6124. * 0b0..LP
  6125. * 0b1..HP
  6126. */
  6127. #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)
  6128. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT14_MASK (0x4000U)
  6129. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT14_SHIFT (14U)
  6130. /*! LP_MODE_SETPONIT14 - LP_MODE_SETPOINT14
  6131. * 0b0..LP
  6132. * 0b1..HP
  6133. */
  6134. #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)
  6135. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT15_MASK (0x8000U)
  6136. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT15_SHIFT (15U)
  6137. /*! LP_MODE_SETPONIT15 - LP_MODE_SETPOINT15
  6138. * 0b0..LP
  6139. * 0b1..HP
  6140. */
  6141. #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)
  6142. /*! @} */
  6143. /*! @name LDO_LPSR_ANA_TRACKING_EN_SP - LDO_LPSR_ANA_TRACKING_EN_SP_REGISTER */
  6144. /*! @{ */
  6145. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT0_MASK (0x1U)
  6146. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT0_SHIFT (0U)
  6147. /*! TRACKING_EN_SETPOINT0 - TRACKING_EN_SETPOINT0
  6148. * 0b0..Disabled
  6149. * 0b1..Enabled
  6150. */
  6151. #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)
  6152. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT1_MASK (0x2U)
  6153. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT1_SHIFT (1U)
  6154. /*! TRACKING_EN_SETPOINT1 - TRACKING_EN_SETPOINT1
  6155. * 0b0..Disabled
  6156. * 0b1..Enabled
  6157. */
  6158. #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)
  6159. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT2_MASK (0x4U)
  6160. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT2_SHIFT (2U)
  6161. /*! TRACKING_EN_SETPOINT2 - TRACKING_EN_SETPOINT2
  6162. * 0b0..Disabled
  6163. * 0b1..Enabled
  6164. */
  6165. #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)
  6166. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT3_MASK (0x8U)
  6167. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT3_SHIFT (3U)
  6168. /*! TRACKING_EN_SETPOINT3 - TRACKING_EN_SETPOINT3
  6169. * 0b0..Disabled
  6170. * 0b1..Enabled
  6171. */
  6172. #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)
  6173. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT4_MASK (0x10U)
  6174. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT4_SHIFT (4U)
  6175. /*! TRACKING_EN_SETPOINT4 - TRACKING_EN_SETPOINT4
  6176. * 0b0..Disabled
  6177. * 0b1..Enabled
  6178. */
  6179. #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)
  6180. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT5_MASK (0x20U)
  6181. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT5_SHIFT (5U)
  6182. /*! TRACKING_EN_SETPOINT5 - TRACKING_EN_SETPOINT5
  6183. * 0b0..Disabled
  6184. * 0b1..Enabled
  6185. */
  6186. #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)
  6187. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT6_MASK (0x40U)
  6188. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT6_SHIFT (6U)
  6189. /*! TRACKING_EN_SETPOINT6 - TRACKING_EN_SETPOINT6
  6190. * 0b0..Disabled
  6191. * 0b1..Enabled
  6192. */
  6193. #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)
  6194. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT7_MASK (0x80U)
  6195. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT7_SHIFT (7U)
  6196. /*! TRACKING_EN_SETPOINT7 - TRACKING_EN_SETPOINT7
  6197. * 0b0..Disabled
  6198. * 0b1..Enabled
  6199. */
  6200. #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)
  6201. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT8_MASK (0x100U)
  6202. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT8_SHIFT (8U)
  6203. /*! TRACKING_EN_SETPOINT8 - TRACKING_EN_SETPOINT8
  6204. * 0b0..Disabled
  6205. * 0b1..Enabled
  6206. */
  6207. #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)
  6208. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT9_MASK (0x200U)
  6209. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT9_SHIFT (9U)
  6210. /*! TRACKING_EN_SETPOINT9 - TRACKING_EN_SETPOINT9
  6211. * 0b0..Disabled
  6212. * 0b1..Enabled
  6213. */
  6214. #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)
  6215. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT10_MASK (0x400U)
  6216. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT10_SHIFT (10U)
  6217. /*! TRACKING_EN_SETPOINT10 - TRACKING_EN_SETPOINT10
  6218. * 0b0..Disabled
  6219. * 0b1..Enabled
  6220. */
  6221. #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)
  6222. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT11_MASK (0x800U)
  6223. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT11_SHIFT (11U)
  6224. /*! TRACKING_EN_SETPOINT11 - TRACKING_EN_SETPOINT11
  6225. * 0b0..Disabled
  6226. * 0b1..Enabled
  6227. */
  6228. #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)
  6229. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT12_MASK (0x1000U)
  6230. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT12_SHIFT (12U)
  6231. /*! TRACKING_EN_SETPOINT12 - TRACKING_EN_SETPOINT12
  6232. * 0b0..Disabled
  6233. * 0b1..Enabled
  6234. */
  6235. #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)
  6236. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT13_MASK (0x2000U)
  6237. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT13_SHIFT (13U)
  6238. /*! TRACKING_EN_SETPOINT13 - TRACKING_EN_SETPOINT13
  6239. * 0b0..Disabled
  6240. * 0b1..Enabled
  6241. */
  6242. #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)
  6243. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT14_MASK (0x4000U)
  6244. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT14_SHIFT (14U)
  6245. /*! TRACKING_EN_SETPOINT14 - TRACKING_EN_SETPOINT14
  6246. * 0b0..Disabled
  6247. * 0b1..Enabled
  6248. */
  6249. #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)
  6250. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT15_MASK (0x8000U)
  6251. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT15_SHIFT (15U)
  6252. /*! TRACKING_EN_SETPOINT15 - TRACKING_EN_SETPOINT15
  6253. * 0b0..Disabled
  6254. * 0b1..Enabled
  6255. */
  6256. #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)
  6257. /*! @} */
  6258. /*! @name LDO_LPSR_ANA_BYPASS_EN_SP - LDO_LPSR_ANA_BYPASS_EN_SP_REGISTER */
  6259. /*! @{ */
  6260. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT0_MASK (0x1U)
  6261. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT0_SHIFT (0U)
  6262. /*! BYPASS_EN_SETPOINT0 - BYPASS_EN_SETPOINT0
  6263. * 0b0..Disabled
  6264. * 0b1..Enabled
  6265. */
  6266. #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)
  6267. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT1_MASK (0x2U)
  6268. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT1_SHIFT (1U)
  6269. /*! BYPASS_EN_SETPOINT1 - BYPASS_EN_SETPOINT1
  6270. * 0b0..Disabled
  6271. * 0b1..Enabled
  6272. */
  6273. #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)
  6274. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT2_MASK (0x4U)
  6275. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT2_SHIFT (2U)
  6276. /*! BYPASS_EN_SETPOINT2 - BYPASS_EN_SETPOINT2
  6277. * 0b0..Disabled
  6278. * 0b1..Enabled
  6279. */
  6280. #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)
  6281. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT3_MASK (0x8U)
  6282. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT3_SHIFT (3U)
  6283. /*! BYPASS_EN_SETPOINT3 - BYPASS_EN_SETPOINT3
  6284. * 0b0..Disabled
  6285. * 0b1..Enabled
  6286. */
  6287. #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)
  6288. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT4_MASK (0x10U)
  6289. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT4_SHIFT (4U)
  6290. /*! BYPASS_EN_SETPOINT4 - BYPASS_EN_SETPOINT4
  6291. * 0b0..Disabled
  6292. * 0b1..Enabled
  6293. */
  6294. #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)
  6295. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT5_MASK (0x20U)
  6296. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT5_SHIFT (5U)
  6297. /*! BYPASS_EN_SETPOINT5 - BYPASS_EN_SETPOINT5
  6298. * 0b0..Disabled
  6299. * 0b1..Enabled
  6300. */
  6301. #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)
  6302. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT6_MASK (0x40U)
  6303. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT6_SHIFT (6U)
  6304. /*! BYPASS_EN_SETPOINT6 - BYPASS_EN_SETPOINT6
  6305. * 0b0..Disabled
  6306. * 0b1..Enabled
  6307. */
  6308. #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)
  6309. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT7_MASK (0x80U)
  6310. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT7_SHIFT (7U)
  6311. /*! BYPASS_EN_SETPOINT7 - BYPASS_EN_SETPOINT7
  6312. * 0b0..Disabled
  6313. * 0b1..Enabled
  6314. */
  6315. #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)
  6316. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT8_MASK (0x100U)
  6317. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT8_SHIFT (8U)
  6318. /*! BYPASS_EN_SETPOINT8 - BYPASS_EN_SETPOINT
  6319. * 0b0..Disabled
  6320. * 0b1..Enabled
  6321. */
  6322. #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)
  6323. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT9_MASK (0x200U)
  6324. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT9_SHIFT (9U)
  6325. /*! BYPASS_EN_SETPOINT9 - BYPASS_EN_SETPOINT9
  6326. * 0b0..Disabled
  6327. * 0b1..Enabled
  6328. */
  6329. #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)
  6330. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT10_MASK (0x400U)
  6331. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT10_SHIFT (10U)
  6332. /*! BYPASS_EN_SETPOINT10 - BYPASS_EN_SETPOINT10
  6333. * 0b0..Disabled
  6334. * 0b1..Enabled
  6335. */
  6336. #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)
  6337. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT11_MASK (0x800U)
  6338. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT11_SHIFT (11U)
  6339. /*! BYPASS_EN_SETPOINT11 - BYPASS_EN_SETPOINT11
  6340. * 0b0..Disabled
  6341. * 0b1..Enabled
  6342. */
  6343. #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)
  6344. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT12_MASK (0x1000U)
  6345. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT12_SHIFT (12U)
  6346. /*! BYPASS_EN_SETPOINT12 - BYPASS_EN_SETPOINT12
  6347. * 0b0..Disabled
  6348. * 0b1..Enabled
  6349. */
  6350. #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)
  6351. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT13_MASK (0x2000U)
  6352. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT13_SHIFT (13U)
  6353. /*! BYPASS_EN_SETPOINT13 - BYPASS_EN_SETPOINT13
  6354. * 0b0..Disabled
  6355. * 0b1..Enabled
  6356. */
  6357. #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)
  6358. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT14_MASK (0x4000U)
  6359. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT14_SHIFT (14U)
  6360. /*! BYPASS_EN_SETPOINT14 - BYPASS_EN_SETPOINT14
  6361. * 0b0..Disabled
  6362. * 0b1..Enabled
  6363. */
  6364. #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)
  6365. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT15_MASK (0x8000U)
  6366. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT15_SHIFT (15U)
  6367. /*! BYPASS_EN_SETPOINT15 - BYPASS_EN_SETPOINT15
  6368. * 0b0..Disabled
  6369. * 0b1..Enabled
  6370. */
  6371. #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)
  6372. /*! @} */
  6373. /*! @name LDO_LPSR_ANA_STBY_EN_SP - LDO_LPSR_ANA_STBY_EN_SP_REGISTER */
  6374. /*! @{ */
  6375. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT0_MASK (0x1U)
  6376. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT0_SHIFT (0U)
  6377. /*! STBY_EN_SETPOINT0 - STBY_EN_SETPOINT0
  6378. * 0b0..Disabled
  6379. * 0b1..Enabled
  6380. */
  6381. #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)
  6382. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT1_MASK (0x2U)
  6383. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT1_SHIFT (1U)
  6384. /*! STBY_EN_SETPOINT1 - STBY_EN_SETPOINT1
  6385. * 0b0..Disabled
  6386. * 0b1..Enabled
  6387. */
  6388. #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)
  6389. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT2_MASK (0x4U)
  6390. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT2_SHIFT (2U)
  6391. /*! STBY_EN_SETPOINT2 - STBY_EN_SETPOINT2
  6392. * 0b0..Disabled
  6393. * 0b1..Enabled
  6394. */
  6395. #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)
  6396. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT3_MASK (0x8U)
  6397. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT3_SHIFT (3U)
  6398. /*! STBY_EN_SETPOINT3 - STBY_EN_SETPOINT3
  6399. * 0b0..Disabled
  6400. * 0b1..Enabled
  6401. */
  6402. #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)
  6403. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT4_MASK (0x10U)
  6404. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT4_SHIFT (4U)
  6405. /*! STBY_EN_SETPOINT4 - STBY_EN_SETPOINT4
  6406. * 0b0..Disabled
  6407. * 0b1..Enabled
  6408. */
  6409. #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)
  6410. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT5_MASK (0x20U)
  6411. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT5_SHIFT (5U)
  6412. /*! STBY_EN_SETPOINT5 - STBY_EN_SETPOINT5
  6413. * 0b0..Disabled
  6414. * 0b1..Enabled
  6415. */
  6416. #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)
  6417. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT6_MASK (0x40U)
  6418. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT6_SHIFT (6U)
  6419. /*! STBY_EN_SETPOINT6 - STBY_EN_SETPOINT6
  6420. * 0b0..Disabled
  6421. * 0b1..Enabled
  6422. */
  6423. #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)
  6424. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT7_MASK (0x80U)
  6425. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT7_SHIFT (7U)
  6426. /*! STBY_EN_SETPOINT7 - STBY_EN_SETPOINT7
  6427. * 0b0..Disabled
  6428. * 0b1..Enabled
  6429. */
  6430. #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)
  6431. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT8_MASK (0x100U)
  6432. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT8_SHIFT (8U)
  6433. /*! STBY_EN_SETPOINT8 - STBY_EN_SETPOINT8
  6434. * 0b0..Disabled
  6435. * 0b1..Enabled
  6436. */
  6437. #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)
  6438. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT9_MASK (0x200U)
  6439. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT9_SHIFT (9U)
  6440. /*! STBY_EN_SETPOINT9 - STBY_EN_SETPOINT9
  6441. * 0b0..Disabled
  6442. * 0b1..Enabled
  6443. */
  6444. #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)
  6445. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT10_MASK (0x400U)
  6446. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT10_SHIFT (10U)
  6447. /*! STBY_EN_SETPOINT10 - STBY_EN_SETPOINT10
  6448. * 0b0..Disabled
  6449. * 0b1..Enabled
  6450. */
  6451. #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)
  6452. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT11_MASK (0x800U)
  6453. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT11_SHIFT (11U)
  6454. /*! STBY_EN_SETPOINT11 - STBY_EN_SETPOINT11
  6455. * 0b0..Disabled
  6456. * 0b1..Enabled
  6457. */
  6458. #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)
  6459. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT12_MASK (0x1000U)
  6460. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT12_SHIFT (12U)
  6461. /*! STBY_EN_SETPOINT12 - STBY_EN_SETPOINT12
  6462. * 0b0..Disabled
  6463. * 0b1..Enabled
  6464. */
  6465. #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)
  6466. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT13_MASK (0x2000U)
  6467. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT13_SHIFT (13U)
  6468. /*! STBY_EN_SETPOINT13 - STBY_EN_SETPOINT13
  6469. * 0b0..Disabled
  6470. * 0b1..Enabled
  6471. */
  6472. #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)
  6473. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT14_MASK (0x4000U)
  6474. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT14_SHIFT (14U)
  6475. /*! STBY_EN_SETPOINT14 - STBY_EN_SETPOINT14
  6476. * 0b0..Disabled
  6477. * 0b1..Enabled
  6478. */
  6479. #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)
  6480. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT15_MASK (0x8000U)
  6481. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT15_SHIFT (15U)
  6482. /*! STBY_EN_SETPOINT15 - STBY_EN_SETPOINT15
  6483. * 0b0..Disabled
  6484. * 0b1..Enabled
  6485. */
  6486. #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)
  6487. /*! @} */
  6488. /*! @name LDO_LPSR_DIG_ENABLE_SP - LDO_LPSR_DIG_ENABLE_SP_REGISTER */
  6489. /*! @{ */
  6490. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT0_MASK (0x1U)
  6491. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT0_SHIFT (0U)
  6492. /*! ON_OFF_SETPOINT0 - ON_OFF_SETPOINT0
  6493. * 0b0..ON
  6494. * 0b1..OFF
  6495. */
  6496. #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)
  6497. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT1_MASK (0x2U)
  6498. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT1_SHIFT (1U)
  6499. /*! ON_OFF_SETPOINT1 - ON_OFF_SETPOINT1
  6500. * 0b0..ON
  6501. * 0b1..OFF
  6502. */
  6503. #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)
  6504. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT2_MASK (0x4U)
  6505. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT2_SHIFT (2U)
  6506. /*! ON_OFF_SETPOINT2 - ON_OFF_SETPOINT2
  6507. * 0b0..ON
  6508. * 0b1..OFF
  6509. */
  6510. #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)
  6511. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT3_MASK (0x8U)
  6512. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT3_SHIFT (3U)
  6513. /*! ON_OFF_SETPOINT3 - ON_OFF_SETPOINT3
  6514. * 0b0..ON
  6515. * 0b1..OFF
  6516. */
  6517. #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)
  6518. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT4_MASK (0x10U)
  6519. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT4_SHIFT (4U)
  6520. /*! ON_OFF_SETPOINT4 - ON_OFF_SETPOINT4
  6521. * 0b0..ON
  6522. * 0b1..OFF
  6523. */
  6524. #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)
  6525. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT5_MASK (0x20U)
  6526. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT5_SHIFT (5U)
  6527. /*! ON_OFF_SETPOINT5 - ON_OFF_SETPOINT5
  6528. * 0b0..ON
  6529. * 0b1..OFF
  6530. */
  6531. #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)
  6532. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT6_MASK (0x40U)
  6533. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT6_SHIFT (6U)
  6534. /*! ON_OFF_SETPOINT6 - ON_OFF_SETPOINT6
  6535. * 0b0..ON
  6536. * 0b1..OFF
  6537. */
  6538. #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)
  6539. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT7_MASK (0x80U)
  6540. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT7_SHIFT (7U)
  6541. /*! ON_OFF_SETPOINT7 - ON_OFF_SETPOINT7
  6542. * 0b0..ON
  6543. * 0b1..OFF
  6544. */
  6545. #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)
  6546. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT8_MASK (0x100U)
  6547. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT8_SHIFT (8U)
  6548. /*! ON_OFF_SETPOINT8 - ON_OFF_SETPOINT8
  6549. * 0b0..ON
  6550. * 0b1..OFF
  6551. */
  6552. #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)
  6553. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT9_MASK (0x200U)
  6554. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT9_SHIFT (9U)
  6555. /*! ON_OFF_SETPOINT9 - ON_OFF_SETPOINT9
  6556. * 0b0..ON
  6557. * 0b1..OFF
  6558. */
  6559. #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)
  6560. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT10_MASK (0x400U)
  6561. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT10_SHIFT (10U)
  6562. /*! ON_OFF_SETPOINT10 - ON_OFF_SETPOINT10
  6563. * 0b0..ON
  6564. * 0b1..OFF
  6565. */
  6566. #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)
  6567. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT11_MASK (0x800U)
  6568. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT11_SHIFT (11U)
  6569. /*! ON_OFF_SETPOINT11 - ON_OFF_SETPOINT11
  6570. * 0b0..ON
  6571. * 0b1..OFF
  6572. */
  6573. #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)
  6574. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT12_MASK (0x1000U)
  6575. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT12_SHIFT (12U)
  6576. /*! ON_OFF_SETPOINT12 - ON_OFF_SETPOINT12
  6577. * 0b0..ON
  6578. * 0b1..OFF
  6579. */
  6580. #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)
  6581. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT13_MASK (0x2000U)
  6582. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT13_SHIFT (13U)
  6583. /*! ON_OFF_SETPOINT13 - ON_OFF_SETPOINT13
  6584. * 0b0..ON
  6585. * 0b1..OFF
  6586. */
  6587. #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)
  6588. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT14_MASK (0x4000U)
  6589. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT14_SHIFT (14U)
  6590. /*! ON_OFF_SETPOINT14 - ON_OFF_SETPOINT14
  6591. * 0b0..ON
  6592. * 0b1..OFF
  6593. */
  6594. #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)
  6595. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT15_MASK (0x8000U)
  6596. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT15_SHIFT (15U)
  6597. /*! ON_OFF_SETPOINT15 - ON_OFF_SETPOINT15
  6598. * 0b0..ON
  6599. * 0b1..OFF
  6600. */
  6601. #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)
  6602. /*! @} */
  6603. /*! @name LDO_LPSR_DIG_TRG_SP0 - LDO_LPSR_DIG_TRG_SP0_REGISTER */
  6604. /*! @{ */
  6605. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP0_VOLTAGE_SETPOINT0_MASK (0xFFU)
  6606. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP0_VOLTAGE_SETPOINT0_SHIFT (0U)
  6607. /*! VOLTAGE_SETPOINT0 - VOLTAGE_SETPOINT0
  6608. */
  6609. #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)
  6610. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP0_VOLTAGE_SETPOINT1_MASK (0xFF00U)
  6611. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP0_VOLTAGE_SETPOINT1_SHIFT (8U)
  6612. /*! VOLTAGE_SETPOINT1 - VOLTAGE_SETPOINT1
  6613. */
  6614. #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)
  6615. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP0_VOLTAGE_SETPOINT2_MASK (0xFF0000U)
  6616. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP0_VOLTAGE_SETPOINT2_SHIFT (16U)
  6617. /*! VOLTAGE_SETPOINT2 - VOLTAGE_SETPOINT2
  6618. */
  6619. #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)
  6620. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP0_VOLTAGE_SETPOINT3_MASK (0xFF000000U)
  6621. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP0_VOLTAGE_SETPOINT3_SHIFT (24U)
  6622. /*! VOLTAGE_SETPOINT3 - VOLTAGE_SETPOINT3
  6623. */
  6624. #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)
  6625. /*! @} */
  6626. /*! @name LDO_LPSR_DIG_TRG_SP1 - LDO_LPSR_DIG_TRG_SP1_REGISTER */
  6627. /*! @{ */
  6628. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP1_VOLTAGE_SETPOINT4_MASK (0xFFU)
  6629. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP1_VOLTAGE_SETPOINT4_SHIFT (0U)
  6630. /*! VOLTAGE_SETPOINT4 - VOLTAGE_SETPOINT4
  6631. */
  6632. #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)
  6633. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP1_VOLTAGE_SETPOINT5_MASK (0xFF00U)
  6634. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP1_VOLTAGE_SETPOINT5_SHIFT (8U)
  6635. /*! VOLTAGE_SETPOINT5 - VOLTAGE_SETPOINT5
  6636. */
  6637. #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)
  6638. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP1_VOLTAGE_SETPOINT6_MASK (0xFF0000U)
  6639. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP1_VOLTAGE_SETPOINT6_SHIFT (16U)
  6640. /*! VOLTAGE_SETPOINT6 - VOLTAGE_SETPOINT6
  6641. */
  6642. #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)
  6643. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP1_VOLTAGE_SETPOINT7_MASK (0xFF000000U)
  6644. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP1_VOLTAGE_SETPOINT7_SHIFT (24U)
  6645. /*! VOLTAGE_SETPOINT7 - VOLTAGE_SETPOINT7
  6646. */
  6647. #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)
  6648. /*! @} */
  6649. /*! @name LDO_LPSR_DIG_TRG_SP2 - LDO_LPSR_DIG_TRG_SP2_REGISTER */
  6650. /*! @{ */
  6651. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP2_VOLTAGE_SETPOINT8_MASK (0xFFU)
  6652. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP2_VOLTAGE_SETPOINT8_SHIFT (0U)
  6653. /*! VOLTAGE_SETPOINT8 - VOLTAGE_SETPOINT8
  6654. */
  6655. #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)
  6656. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP2_VOLTAGE_SETPOINT9_MASK (0xFF00U)
  6657. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP2_VOLTAGE_SETPOINT9_SHIFT (8U)
  6658. /*! VOLTAGE_SETPOINT9 - VOLTAGE_SETPOINT9
  6659. */
  6660. #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)
  6661. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP2_VOLTAGE_SETPOINT10_MASK (0xFF0000U)
  6662. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP2_VOLTAGE_SETPOINT10_SHIFT (16U)
  6663. /*! VOLTAGE_SETPOINT10 - VOLTAGE_SETPOINT10
  6664. */
  6665. #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)
  6666. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP2_VOLTAGE_SETPOINT11_MASK (0xFF000000U)
  6667. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP2_VOLTAGE_SETPOINT11_SHIFT (24U)
  6668. /*! VOLTAGE_SETPOINT11 - VOLTAGE_SETPOINT11
  6669. */
  6670. #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)
  6671. /*! @} */
  6672. /*! @name LDO_LPSR_DIG_TRG_SP3 - LDO_LPSR_DIG_TRG_SP3_REGISTER */
  6673. /*! @{ */
  6674. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP3_VOLTAGE_SETPOINT12_MASK (0xFFU)
  6675. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP3_VOLTAGE_SETPOINT12_SHIFT (0U)
  6676. /*! VOLTAGE_SETPOINT12 - VOLTAGE_SETPOINT12
  6677. */
  6678. #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)
  6679. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP3_VOLTAGE_SETPOINT13_MASK (0xFF00U)
  6680. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP3_VOLTAGE_SETPOINT13_SHIFT (8U)
  6681. /*! VOLTAGE_SETPOINT13 - VOLTAGE_SETPOINT13
  6682. */
  6683. #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)
  6684. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP3_VOLTAGE_SETPOINT14_MASK (0xFF0000U)
  6685. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP3_VOLTAGE_SETPOINT14_SHIFT (16U)
  6686. /*! VOLTAGE_SETPOINT14 - VOLTAGE_SETPOINT14
  6687. */
  6688. #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)
  6689. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP3_VOLTAGE_SETPOINT15_MASK (0xFF000000U)
  6690. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP3_VOLTAGE_SETPOINT15_SHIFT (24U)
  6691. /*! VOLTAGE_SETPOINT15 - VOLTAGE_SETPOINT15
  6692. */
  6693. #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)
  6694. /*! @} */
  6695. /*! @name LDO_LPSR_DIG_LP_MODE_SP - LDO_LPSR_DIG_LP_MODE_SP_REGISTER */
  6696. /*! @{ */
  6697. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT0_MASK (0x1U)
  6698. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT0_SHIFT (0U)
  6699. /*! LP_MODE_SETPOINT0 - LP_MODE_SETPOINT0
  6700. * 0b0..LP
  6701. * 0b1..HP
  6702. */
  6703. #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)
  6704. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT1_MASK (0x2U)
  6705. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT1_SHIFT (1U)
  6706. /*! LP_MODE_SETPOINT1 - LP_MODE_SETPOINT1
  6707. * 0b0..LP
  6708. * 0b1..HP
  6709. */
  6710. #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)
  6711. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT2_MASK (0x4U)
  6712. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT2_SHIFT (2U)
  6713. /*! LP_MODE_SETPOINT2 - LP_MODE_SETPOINT2
  6714. * 0b0..LP
  6715. * 0b1..HP
  6716. */
  6717. #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)
  6718. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT3_MASK (0x8U)
  6719. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT3_SHIFT (3U)
  6720. /*! LP_MODE_SETPOINT3 - LP_MODE_SETPOINT3
  6721. * 0b0..LP
  6722. * 0b1..HP
  6723. */
  6724. #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)
  6725. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT4_MASK (0x10U)
  6726. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT4_SHIFT (4U)
  6727. /*! LP_MODE_SETPOINT4 - LP_MODE_SETPOINT4
  6728. * 0b0..LP
  6729. * 0b1..HP
  6730. */
  6731. #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)
  6732. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT5_MASK (0x20U)
  6733. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT5_SHIFT (5U)
  6734. /*! LP_MODE_SETPOINT5 - LP_MODE_SETPOINT5
  6735. * 0b0..LP
  6736. * 0b1..HP
  6737. */
  6738. #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)
  6739. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT6_MASK (0x40U)
  6740. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT6_SHIFT (6U)
  6741. /*! LP_MODE_SETPOINT6 - LP_MODE_SETPOINT6
  6742. * 0b0..LP
  6743. * 0b1..HP
  6744. */
  6745. #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)
  6746. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT7_MASK (0x80U)
  6747. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT7_SHIFT (7U)
  6748. /*! LP_MODE_SETPOINT7 - LP_MODE_SETPOINT7
  6749. * 0b0..LP
  6750. * 0b1..HP
  6751. */
  6752. #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)
  6753. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT8_MASK (0x100U)
  6754. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT8_SHIFT (8U)
  6755. /*! LP_MODE_SETPOINT8 - LP_MODE_SETPOINT8
  6756. * 0b0..LP
  6757. * 0b1..HP
  6758. */
  6759. #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)
  6760. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT9_MASK (0x200U)
  6761. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT9_SHIFT (9U)
  6762. /*! LP_MODE_SETPOINT9 - LP_MODE_SETPOINT9
  6763. * 0b0..LP
  6764. * 0b1..HP
  6765. */
  6766. #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)
  6767. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT10_MASK (0x400U)
  6768. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT10_SHIFT (10U)
  6769. /*! LP_MODE_SETPOINT10 - LP_MODE_SETPOINT10
  6770. * 0b0..LP
  6771. * 0b1..HP
  6772. */
  6773. #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)
  6774. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT11_MASK (0x800U)
  6775. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT11_SHIFT (11U)
  6776. /*! LP_MODE_SETPOINT11 - LP_MODE_SETPOINT11
  6777. * 0b0..LP
  6778. * 0b1..HP
  6779. */
  6780. #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)
  6781. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT12_MASK (0x1000U)
  6782. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT12_SHIFT (12U)
  6783. /*! LP_MODE_SETPOINT12 - LP_MODE_SETPOINT12
  6784. * 0b0..LP
  6785. * 0b1..HP
  6786. */
  6787. #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)
  6788. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT13_MASK (0x2000U)
  6789. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT13_SHIFT (13U)
  6790. /*! LP_MODE_SETPOINT13 - LP_MODE_SETPOINT13
  6791. * 0b0..LP
  6792. * 0b1..HP
  6793. */
  6794. #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)
  6795. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT14_MASK (0x4000U)
  6796. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT14_SHIFT (14U)
  6797. /*! LP_MODE_SETPOINT14 - LP_MODE_SETPOINT14
  6798. * 0b0..LP
  6799. * 0b1..HP
  6800. */
  6801. #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)
  6802. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT15_MASK (0x8000U)
  6803. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT15_SHIFT (15U)
  6804. /*! LP_MODE_SETPOINT15 - LP_MODE_SETPOINT15
  6805. * 0b0..LP
  6806. * 0b1..HP
  6807. */
  6808. #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)
  6809. /*! @} */
  6810. /*! @name LDO_LPSR_DIG_TRACKING_EN_SP - LDO_LPSR_DIG_TRACKING_EN_SP_REGISTER */
  6811. /*! @{ */
  6812. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT0_MASK (0x1U)
  6813. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT0_SHIFT (0U)
  6814. /*! TRACKING_EN_SETPOINT0 - TRACKING_EN_SETPOINT0
  6815. * 0b0..Disabled
  6816. * 0b1..Enabled
  6817. */
  6818. #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)
  6819. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT1_MASK (0x2U)
  6820. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT1_SHIFT (1U)
  6821. /*! TRACKING_EN_SETPOINT1 - TRACKING_EN_SETPOINT1
  6822. * 0b0..Disabled
  6823. * 0b1..Enabled
  6824. */
  6825. #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)
  6826. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT2_MASK (0x4U)
  6827. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT2_SHIFT (2U)
  6828. /*! TRACKING_EN_SETPOINT2 - TRACKING_EN_SETPOINT2
  6829. * 0b0..Disabled
  6830. * 0b1..Enabled
  6831. */
  6832. #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)
  6833. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT3_MASK (0x8U)
  6834. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT3_SHIFT (3U)
  6835. /*! TRACKING_EN_SETPOINT3 - TRACKING_EN_SETPOINT3
  6836. * 0b0..Disabled
  6837. * 0b1..Enabled
  6838. */
  6839. #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)
  6840. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT4_MASK (0x10U)
  6841. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT4_SHIFT (4U)
  6842. /*! TRACKING_EN_SETPOINT4 - TRACKING_EN_SETPOINT4
  6843. * 0b0..Disabled
  6844. * 0b1..Enabled
  6845. */
  6846. #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)
  6847. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT5_MASK (0x20U)
  6848. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT5_SHIFT (5U)
  6849. /*! TRACKING_EN_SETPOINT5 - TRACKING_EN_SETPOINT5
  6850. * 0b0..Disabled
  6851. * 0b1..Enabled
  6852. */
  6853. #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)
  6854. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT6_MASK (0x40U)
  6855. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT6_SHIFT (6U)
  6856. /*! TRACKING_EN_SETPOINT6 - TRACKING_EN_SETPOINT6
  6857. * 0b0..Disabled
  6858. * 0b1..Enabled
  6859. */
  6860. #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)
  6861. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT7_MASK (0x80U)
  6862. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT7_SHIFT (7U)
  6863. /*! TRACKING_EN_SETPOINT7 - TRACKING_EN_SETPOINT7
  6864. * 0b0..Disabled
  6865. * 0b1..Enabled
  6866. */
  6867. #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)
  6868. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT8_MASK (0x100U)
  6869. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT8_SHIFT (8U)
  6870. /*! TRACKING_EN_SETPOINT8 - TRACKING_EN_SETPOINT8
  6871. * 0b0..Disabled
  6872. * 0b1..Enabled
  6873. */
  6874. #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)
  6875. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT9_MASK (0x200U)
  6876. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT9_SHIFT (9U)
  6877. /*! TRACKING_EN_SETPOINT9 - TRACKING_EN_SETPOINT9
  6878. * 0b0..Disabled
  6879. * 0b1..Enabled
  6880. */
  6881. #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)
  6882. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT10_MASK (0x400U)
  6883. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT10_SHIFT (10U)
  6884. /*! TRACKING_EN_SETPOINT10 - TRACKING_EN_SETPOINT10
  6885. * 0b0..Disabled
  6886. * 0b1..Enabled
  6887. */
  6888. #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)
  6889. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT11_MASK (0x800U)
  6890. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT11_SHIFT (11U)
  6891. /*! TRACKING_EN_SETPOINT11 - TRACKING_EN_SETPOINT11
  6892. * 0b0..Disabled
  6893. * 0b1..Enabled
  6894. */
  6895. #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)
  6896. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT12_MASK (0x1000U)
  6897. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT12_SHIFT (12U)
  6898. /*! TRACKING_EN_SETPOINT12 - TRACKING_EN_SETPOINT12
  6899. * 0b0..Disabled
  6900. * 0b1..Enabled
  6901. */
  6902. #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)
  6903. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT13_MASK (0x2000U)
  6904. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT13_SHIFT (13U)
  6905. /*! TRACKING_EN_SETPOINT13 - TRACKING_EN_SETPOINT13
  6906. * 0b0..Disabled
  6907. * 0b1..Enabled
  6908. */
  6909. #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)
  6910. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT14_MASK (0x4000U)
  6911. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT14_SHIFT (14U)
  6912. /*! TRACKING_EN_SETPOINT14 - TRACKING_EN_SETPOINT14
  6913. * 0b0..Disabled
  6914. * 0b1..Enabled
  6915. */
  6916. #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)
  6917. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT15_MASK (0x8000U)
  6918. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT15_SHIFT (15U)
  6919. /*! TRACKING_EN_SETPOINT15 - TRACKING_EN_SETPOINT15
  6920. * 0b0..Disabled
  6921. * 0b1..Enabled
  6922. */
  6923. #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)
  6924. /*! @} */
  6925. /*! @name LDO_LPSR_DIG_BYPASS_EN_SP - LDO_LPSR_DIG_BYPASS_EN_SP_REGISTER */
  6926. /*! @{ */
  6927. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT0_MASK (0x1U)
  6928. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT0_SHIFT (0U)
  6929. /*! BYPASS_EN_SETPOINT0 - BYPASS_EN_SETPOINT0
  6930. * 0b0..Disabled
  6931. * 0b1..Enabled
  6932. */
  6933. #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)
  6934. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT1_MASK (0x2U)
  6935. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT1_SHIFT (1U)
  6936. /*! BYPASS_EN_SETPOINT1 - BYPASS_EN_SETPOINT1
  6937. * 0b0..Disabled
  6938. * 0b1..Enabled
  6939. */
  6940. #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)
  6941. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT2_MASK (0x4U)
  6942. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT2_SHIFT (2U)
  6943. /*! BYPASS_EN_SETPOINT2 - BYPASS_EN_SETPOINT2
  6944. * 0b0..Disabled
  6945. * 0b1..Enabled
  6946. */
  6947. #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)
  6948. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT3_MASK (0x8U)
  6949. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT3_SHIFT (3U)
  6950. /*! BYPASS_EN_SETPOINT3 - BYPASS_EN_SETPOINT3
  6951. * 0b0..Disabled
  6952. * 0b1..Enabled
  6953. */
  6954. #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)
  6955. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT4_MASK (0x10U)
  6956. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT4_SHIFT (4U)
  6957. /*! BYPASS_EN_SETPOINT4 - BYPASS_EN_SETPOINT4
  6958. * 0b0..Disabled
  6959. * 0b1..Enabled
  6960. */
  6961. #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)
  6962. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT5_MASK (0x20U)
  6963. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT5_SHIFT (5U)
  6964. /*! BYPASS_EN_SETPOINT5 - BYPASS_EN_SETPOINT5
  6965. * 0b0..Disabled
  6966. * 0b1..Enabled
  6967. */
  6968. #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)
  6969. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT6_MASK (0x40U)
  6970. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT6_SHIFT (6U)
  6971. /*! BYPASS_EN_SETPOINT6 - BYPASS_EN_SETPOINT6
  6972. * 0b0..Disabled
  6973. * 0b1..Enabled
  6974. */
  6975. #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)
  6976. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT7_MASK (0x80U)
  6977. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT7_SHIFT (7U)
  6978. /*! BYPASS_EN_SETPOINT7 - BYPASS_EN_SETPOINT7
  6979. * 0b0..Disabled
  6980. * 0b1..Enabled
  6981. */
  6982. #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)
  6983. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT8_MASK (0x100U)
  6984. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT8_SHIFT (8U)
  6985. /*! BYPASS_EN_SETPOINT8 - BYPASS_EN_SETPOINT8
  6986. * 0b0..Disabled
  6987. * 0b1..Enabled
  6988. */
  6989. #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)
  6990. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT9_MASK (0x200U)
  6991. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT9_SHIFT (9U)
  6992. /*! BYPASS_EN_SETPOINT9 - BYPASS_EN_SETPOINT9
  6993. * 0b0..Disabled
  6994. * 0b1..Enabled
  6995. */
  6996. #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)
  6997. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT10_MASK (0x400U)
  6998. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT10_SHIFT (10U)
  6999. /*! BYPASS_EN_SETPOINT10 - BYPASS_EN_SETPOINT10
  7000. * 0b0..Disabled
  7001. * 0b1..Enabled
  7002. */
  7003. #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)
  7004. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT11_MASK (0x800U)
  7005. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT11_SHIFT (11U)
  7006. /*! BYPASS_EN_SETPOINT11 - BYPASS_EN_SETPOINT11
  7007. * 0b0..Disabled
  7008. * 0b1..Enabled
  7009. */
  7010. #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)
  7011. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT12_MASK (0x1000U)
  7012. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT12_SHIFT (12U)
  7013. /*! BYPASS_EN_SETPOINT12 - BYPASS_EN_SETPOINT12
  7014. * 0b0..Disabled
  7015. * 0b1..Enabled
  7016. */
  7017. #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)
  7018. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT13_MASK (0x2000U)
  7019. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT13_SHIFT (13U)
  7020. /*! BYPASS_EN_SETPOINT13 - BYPASS_EN_SETPOINT13
  7021. * 0b0..Disabled
  7022. * 0b1..Enabled
  7023. */
  7024. #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)
  7025. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT14_MASK (0x4000U)
  7026. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT14_SHIFT (14U)
  7027. /*! BYPASS_EN_SETPOINT14 - BYPASS_EN_SETPOINT14
  7028. * 0b0..Disabled
  7029. * 0b1..Enabled
  7030. */
  7031. #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)
  7032. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT15_MASK (0x8000U)
  7033. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT15_SHIFT (15U)
  7034. /*! BYPASS_EN_SETPOINT15 - BYPASS_EN_SETPOINT15
  7035. * 0b0..Disabled
  7036. * 0b1..Enabled
  7037. */
  7038. #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)
  7039. /*! @} */
  7040. /*! @name LDO_LPSR_DIG_STBY_EN_SP - LDO_LPSR_DIG_STBY_EN_SP_REGISTER */
  7041. /*! @{ */
  7042. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT0_MASK (0x1U)
  7043. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT0_SHIFT (0U)
  7044. /*! STBY_EN_SETPOINT0 - STBY_EN_SETPOINT0
  7045. * 0b0..Disabled
  7046. * 0b1..Enabled
  7047. */
  7048. #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)
  7049. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT1_MASK (0x2U)
  7050. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT1_SHIFT (1U)
  7051. /*! STBY_EN_SETPOINT1 - STBY_EN_SETPOINT1
  7052. * 0b0..Disabled
  7053. * 0b1..Enabled
  7054. */
  7055. #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)
  7056. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT2_MASK (0x4U)
  7057. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT2_SHIFT (2U)
  7058. /*! STBY_EN_SETPOINT2 - STBY_EN_SETPOINT2
  7059. * 0b0..Disabled
  7060. * 0b1..Enabled
  7061. */
  7062. #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)
  7063. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT3_MASK (0x8U)
  7064. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT3_SHIFT (3U)
  7065. /*! STBY_EN_SETPOINT3 - STBY_EN_SETPOINT3
  7066. * 0b0..Disabled
  7067. * 0b1..Enabled
  7068. */
  7069. #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)
  7070. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT4_MASK (0x10U)
  7071. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT4_SHIFT (4U)
  7072. /*! STBY_EN_SETPOINT4 - STBY_EN_SETPOINT4
  7073. * 0b0..Disabled
  7074. * 0b1..Enabled
  7075. */
  7076. #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)
  7077. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT5_MASK (0x20U)
  7078. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT5_SHIFT (5U)
  7079. /*! STBY_EN_SETPOINT5 - STBY_EN_SETPOINT5
  7080. * 0b0..Disabled
  7081. * 0b1..Enabled
  7082. */
  7083. #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)
  7084. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT6_MASK (0x40U)
  7085. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT6_SHIFT (6U)
  7086. /*! STBY_EN_SETPOINT6 - STBY_EN_SETPOINT6
  7087. * 0b0..Disabled
  7088. * 0b1..Enabled
  7089. */
  7090. #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)
  7091. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT7_MASK (0x80U)
  7092. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT7_SHIFT (7U)
  7093. /*! STBY_EN_SETPOINT7 - STBY_EN_SETPOINT7
  7094. * 0b0..Disabled
  7095. * 0b1..Enabled
  7096. */
  7097. #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)
  7098. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT8_MASK (0x100U)
  7099. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT8_SHIFT (8U)
  7100. /*! STBY_EN_SETPOINT8 - STBY_EN_SETPOINT8
  7101. * 0b0..Disabled
  7102. * 0b1..Enabled
  7103. */
  7104. #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)
  7105. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT9_MASK (0x200U)
  7106. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT9_SHIFT (9U)
  7107. /*! STBY_EN_SETPOINT9 - STBY_EN_SETPOINT9
  7108. * 0b0..Disabled
  7109. * 0b1..Enabled
  7110. */
  7111. #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)
  7112. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT10_MASK (0x400U)
  7113. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT10_SHIFT (10U)
  7114. /*! STBY_EN_SETPOINT10 - STBY_EN_SETPOINT10
  7115. * 0b0..Disabled
  7116. * 0b1..Enabled
  7117. */
  7118. #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)
  7119. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT11_MASK (0x800U)
  7120. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT11_SHIFT (11U)
  7121. /*! STBY_EN_SETPOINT11 - STBY_EN_SETPOINT11
  7122. * 0b0..Disabled
  7123. * 0b1..Enabled
  7124. */
  7125. #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)
  7126. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT12_MASK (0x1000U)
  7127. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT12_SHIFT (12U)
  7128. /*! STBY_EN_SETPOINT12 - STBY_EN_SETPOINT12
  7129. * 0b0..Disabled
  7130. * 0b1..Enabled
  7131. */
  7132. #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)
  7133. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT13_MASK (0x2000U)
  7134. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT13_SHIFT (13U)
  7135. /*! STBY_EN_SETPOINT13 - STBY_EN_SETPOINT13
  7136. * 0b0..Disabled
  7137. * 0b1..Enabled
  7138. */
  7139. #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)
  7140. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT14_MASK (0x4000U)
  7141. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT14_SHIFT (14U)
  7142. /*! STBY_EN_SETPOINT14 - STBY_EN_SETPOINT14
  7143. * 0b0..Disabled
  7144. * 0b1..Enabled
  7145. */
  7146. #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)
  7147. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT15_MASK (0x8000U)
  7148. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT15_SHIFT (15U)
  7149. /*! STBY_EN_SETPOINT15 - STBY_EN_SETPOINT15
  7150. * 0b0..Disabled
  7151. * 0b1..Enabled
  7152. */
  7153. #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)
  7154. /*! @} */
  7155. /*! @name BANDGAP_ENABLE_SP - BANDGAP_ENABLE_SP_REGISTER */
  7156. /*! @{ */
  7157. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT0_MASK (0x1U)
  7158. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT0_SHIFT (0U)
  7159. /*! ON_OFF_SETPOINT0 - ON_OFF_SETPOINT0
  7160. * 0b0..ON
  7161. * 0b1..OFF
  7162. */
  7163. #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)
  7164. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT1_MASK (0x2U)
  7165. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT1_SHIFT (1U)
  7166. /*! ON_OFF_SETPOINT1 - ON_OFF_SETPOINT1
  7167. * 0b0..ON
  7168. * 0b1..OFF
  7169. */
  7170. #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)
  7171. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT2_MASK (0x4U)
  7172. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT2_SHIFT (2U)
  7173. /*! ON_OFF_SETPOINT2 - ON_OFF_SETPOINT2
  7174. * 0b0..ON
  7175. * 0b1..OFF
  7176. */
  7177. #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)
  7178. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT3_MASK (0x8U)
  7179. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT3_SHIFT (3U)
  7180. /*! ON_OFF_SETPOINT3 - ON_OFF_SETPOINT3
  7181. * 0b0..ON
  7182. * 0b1..OFF
  7183. */
  7184. #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)
  7185. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT4_MASK (0x10U)
  7186. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT4_SHIFT (4U)
  7187. /*! ON_OFF_SETPOINT4 - ON_OFF_SETPOINT4
  7188. * 0b0..ON
  7189. * 0b1..OFF
  7190. */
  7191. #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)
  7192. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT5_MASK (0x20U)
  7193. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT5_SHIFT (5U)
  7194. /*! ON_OFF_SETPOINT5 - ON_OFF_SETPOINT5
  7195. * 0b0..ON
  7196. * 0b1..OFF
  7197. */
  7198. #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)
  7199. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT6_MASK (0x40U)
  7200. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT6_SHIFT (6U)
  7201. /*! ON_OFF_SETPOINT6 - ON_OFF_SETPOINT5
  7202. * 0b0..ON
  7203. * 0b1..OFF
  7204. */
  7205. #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)
  7206. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT7_MASK (0x80U)
  7207. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT7_SHIFT (7U)
  7208. /*! ON_OFF_SETPOINT7 - ON_OFF_SETPOINT7
  7209. * 0b0..ON
  7210. * 0b1..OFF
  7211. */
  7212. #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)
  7213. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT8_MASK (0x100U)
  7214. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT8_SHIFT (8U)
  7215. /*! ON_OFF_SETPOINT8 - ON_OFF_SETPOINT8
  7216. * 0b0..ON
  7217. * 0b1..OFF
  7218. */
  7219. #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)
  7220. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT9_MASK (0x200U)
  7221. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT9_SHIFT (9U)
  7222. /*! ON_OFF_SETPOINT9 - ON_OFF_SETPOINT9
  7223. * 0b0..ON
  7224. * 0b1..OFF
  7225. */
  7226. #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)
  7227. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT10_MASK (0x400U)
  7228. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT10_SHIFT (10U)
  7229. /*! ON_OFF_SETPOINT10 - ON_OFF_SETPOINT10
  7230. * 0b0..ON
  7231. * 0b1..OFF
  7232. */
  7233. #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)
  7234. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT11_MASK (0x800U)
  7235. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT11_SHIFT (11U)
  7236. /*! ON_OFF_SETPOINT11 - ON_OFF_SETPOINT11
  7237. * 0b0..ON
  7238. * 0b1..OFF
  7239. */
  7240. #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)
  7241. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT12_MASK (0x1000U)
  7242. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT12_SHIFT (12U)
  7243. /*! ON_OFF_SETPOINT12 - ON_OFF_SETPOINT12
  7244. * 0b0..ON
  7245. * 0b1..OFF
  7246. */
  7247. #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)
  7248. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT13_MASK (0x2000U)
  7249. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT13_SHIFT (13U)
  7250. /*! ON_OFF_SETPOINT13 - ON_OFF_SETPOINT13
  7251. * 0b0..ON
  7252. * 0b1..OFF
  7253. */
  7254. #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)
  7255. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT14_MASK (0x4000U)
  7256. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT14_SHIFT (14U)
  7257. /*! ON_OFF_SETPOINT14 - ON_OFF_SETPOINT14
  7258. * 0b0..ON
  7259. * 0b1..OFF
  7260. */
  7261. #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)
  7262. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT15_MASK (0x8000U)
  7263. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT15_SHIFT (15U)
  7264. /*! ON_OFF_SETPOINT15 - ON_OFF_SETPOINT15
  7265. * 0b0..ON
  7266. * 0b1..OFF
  7267. */
  7268. #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)
  7269. /*! @} */
  7270. /*! @name FBB_M7_ENABLE_SP - FBB_M7_ENABLE_SP_REGISTER */
  7271. /*! @{ */
  7272. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT0_MASK (0x1U)
  7273. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT0_SHIFT (0U)
  7274. /*! ON_OFF_SETPOINT0 - ON_OFF_SETPOINT0
  7275. * 0b0..ON
  7276. * 0b1..OFF
  7277. */
  7278. #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)
  7279. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT1_MASK (0x2U)
  7280. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT1_SHIFT (1U)
  7281. /*! ON_OFF_SETPOINT1 - ON_OFF_SETPOINT1
  7282. * 0b0..ON
  7283. * 0b1..OFF
  7284. */
  7285. #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)
  7286. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT2_MASK (0x4U)
  7287. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT2_SHIFT (2U)
  7288. /*! ON_OFF_SETPOINT2 - ON_OFF_SETPOINT2
  7289. * 0b0..ON
  7290. * 0b1..OFF
  7291. */
  7292. #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)
  7293. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT3_MASK (0x8U)
  7294. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT3_SHIFT (3U)
  7295. /*! ON_OFF_SETPOINT3 - ON_OFF_SETPOINT3
  7296. * 0b0..ON
  7297. * 0b1..OFF
  7298. */
  7299. #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)
  7300. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT4_MASK (0x10U)
  7301. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT4_SHIFT (4U)
  7302. /*! ON_OFF_SETPOINT4 - ON_OFF_SETPOINT4
  7303. * 0b0..ON
  7304. * 0b1..OFF
  7305. */
  7306. #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)
  7307. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT5_MASK (0x20U)
  7308. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT5_SHIFT (5U)
  7309. /*! ON_OFF_SETPOINT5 - ON_OFF_SETPOINT5
  7310. * 0b0..ON
  7311. * 0b1..OFF
  7312. */
  7313. #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)
  7314. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT6_MASK (0x40U)
  7315. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT6_SHIFT (6U)
  7316. /*! ON_OFF_SETPOINT6 - ON_OFF_SETPOINT6
  7317. * 0b0..ON
  7318. * 0b1..OFF
  7319. */
  7320. #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)
  7321. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT7_MASK (0x80U)
  7322. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT7_SHIFT (7U)
  7323. /*! ON_OFF_SETPOINT7 - ON_OFF_SETPOINT7
  7324. * 0b0..ON
  7325. * 0b1..OFF
  7326. */
  7327. #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)
  7328. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT8_MASK (0x100U)
  7329. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT8_SHIFT (8U)
  7330. /*! ON_OFF_SETPOINT8 - ON_OFF_SETPOINT8
  7331. * 0b0..ON
  7332. * 0b1..OFF
  7333. */
  7334. #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)
  7335. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT9_MASK (0x200U)
  7336. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT9_SHIFT (9U)
  7337. /*! ON_OFF_SETPOINT9 - ON_OFF_SETPOINT9
  7338. * 0b0..ON
  7339. * 0b1..OFF
  7340. */
  7341. #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)
  7342. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT10_MASK (0x400U)
  7343. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT10_SHIFT (10U)
  7344. /*! ON_OFF_SETPOINT10 - ON_OFF_SETPOINT10
  7345. * 0b0..ON
  7346. * 0b1..OFF
  7347. */
  7348. #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)
  7349. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT11_MASK (0x800U)
  7350. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT11_SHIFT (11U)
  7351. /*! ON_OFF_SETPOINT11 - ON_OFF_SETPOINT11
  7352. * 0b0..ON
  7353. * 0b1..OFF
  7354. */
  7355. #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)
  7356. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT12_MASK (0x1000U)
  7357. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT12_SHIFT (12U)
  7358. /*! ON_OFF_SETPOINT12 - ON_OFF_SETPOINT12
  7359. * 0b0..ON
  7360. * 0b1..OFF
  7361. */
  7362. #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)
  7363. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT13_MASK (0x2000U)
  7364. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT13_SHIFT (13U)
  7365. /*! ON_OFF_SETPOINT13 - ON_OFF_SETPOINT13
  7366. * 0b0..ON
  7367. * 0b1..OFF
  7368. */
  7369. #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)
  7370. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT14_MASK (0x4000U)
  7371. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT14_SHIFT (14U)
  7372. /*! ON_OFF_SETPOINT14 - ON_OFF_SETPOINT14
  7373. * 0b0..ON
  7374. * 0b1..OFF
  7375. */
  7376. #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)
  7377. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT15_MASK (0x8000U)
  7378. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT15_SHIFT (15U)
  7379. /*! ON_OFF_SETPOINT15 - ON_OFF_SETPOINT15
  7380. * 0b0..ON
  7381. * 0b1..OFF
  7382. */
  7383. #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)
  7384. /*! @} */
  7385. /*! @name RBB_SOC_ENABLE_SP - RBB_SOC_ENABLE_SP_REGISTER */
  7386. /*! @{ */
  7387. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT0_MASK (0x1U)
  7388. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT0_SHIFT (0U)
  7389. /*! ON_OFF_SETPOINT0 - ON_OFF_SETPOINT0
  7390. * 0b0..ON
  7391. * 0b1..OFF
  7392. */
  7393. #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)
  7394. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT1_MASK (0x2U)
  7395. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT1_SHIFT (1U)
  7396. /*! ON_OFF_SETPOINT1 - ON_OFF_SETPOINT1
  7397. * 0b0..ON
  7398. * 0b1..OFF
  7399. */
  7400. #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)
  7401. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT2_MASK (0x4U)
  7402. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT2_SHIFT (2U)
  7403. /*! ON_OFF_SETPOINT2 - ON_OFF_SETPOINT2
  7404. * 0b0..ON
  7405. * 0b1..OFF
  7406. */
  7407. #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)
  7408. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT3_MASK (0x8U)
  7409. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT3_SHIFT (3U)
  7410. /*! ON_OFF_SETPOINT3 - ON_OFF_SETPOINT3
  7411. * 0b0..ON
  7412. * 0b1..OFF
  7413. */
  7414. #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)
  7415. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT4_MASK (0x10U)
  7416. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT4_SHIFT (4U)
  7417. /*! ON_OFF_SETPOINT4 - ON_OFF_SETPOINT4
  7418. * 0b0..ON
  7419. * 0b1..OFF
  7420. */
  7421. #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)
  7422. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT5_MASK (0x20U)
  7423. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT5_SHIFT (5U)
  7424. /*! ON_OFF_SETPOINT5 - ON_OFF_SETPOINT5
  7425. * 0b0..ON
  7426. * 0b1..OFF
  7427. */
  7428. #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)
  7429. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT6_MASK (0x40U)
  7430. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT6_SHIFT (6U)
  7431. /*! ON_OFF_SETPOINT6 - ON_OFF_SETPOINT6
  7432. * 0b0..ON
  7433. * 0b1..OFF
  7434. */
  7435. #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)
  7436. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT7_MASK (0x80U)
  7437. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT7_SHIFT (7U)
  7438. /*! ON_OFF_SETPOINT7 - ON_OFF_SETPOINT7
  7439. * 0b0..ON
  7440. * 0b1..OFF
  7441. */
  7442. #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)
  7443. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT8_MASK (0x100U)
  7444. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT8_SHIFT (8U)
  7445. /*! ON_OFF_SETPOINT8 - ON_OFF_SETPOINT8
  7446. * 0b0..ON
  7447. * 0b1..OFF
  7448. */
  7449. #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)
  7450. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT9_MASK (0x200U)
  7451. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT9_SHIFT (9U)
  7452. /*! ON_OFF_SETPOINT9 - ON_OFF_SETPOINT9
  7453. * 0b0..ON
  7454. * 0b1..OFF
  7455. */
  7456. #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)
  7457. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT10_MASK (0x400U)
  7458. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT10_SHIFT (10U)
  7459. /*! ON_OFF_SETPOINT10 - ON_OFF_SETPOINT10
  7460. * 0b0..ON
  7461. * 0b1..OFF
  7462. */
  7463. #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)
  7464. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT11_MASK (0x800U)
  7465. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT11_SHIFT (11U)
  7466. /*! ON_OFF_SETPOINT11 - ON_OFF_SETPOINT11
  7467. * 0b0..ON
  7468. * 0b1..OFF
  7469. */
  7470. #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)
  7471. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT12_MASK (0x1000U)
  7472. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT12_SHIFT (12U)
  7473. /*! ON_OFF_SETPOINT12 - ON_OFF_SETPOINT12
  7474. * 0b0..ON
  7475. * 0b1..OFF
  7476. */
  7477. #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)
  7478. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT13_MASK (0x2000U)
  7479. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT13_SHIFT (13U)
  7480. /*! ON_OFF_SETPOINT13 - ON_OFF_SETPOINT13
  7481. * 0b0..ON
  7482. * 0b1..OFF
  7483. */
  7484. #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)
  7485. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT14_MASK (0x4000U)
  7486. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT14_SHIFT (14U)
  7487. /*! ON_OFF_SETPOINT14 - ON_OFF_SETPOINT14
  7488. * 0b0..ON
  7489. * 0b1..OFF
  7490. */
  7491. #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)
  7492. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT15_MASK (0x8000U)
  7493. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT15_SHIFT (15U)
  7494. /*! ON_OFF_SETPOINT15 - ON_OFF_SETPOINT15
  7495. * 0b0..ON
  7496. * 0b1..OFF
  7497. */
  7498. #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)
  7499. /*! @} */
  7500. /*! @name RBB_LPSR_ENABLE_SP - RBB_LPSR_ENABLE_SP_REGISTER */
  7501. /*! @{ */
  7502. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT0_MASK (0x1U)
  7503. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT0_SHIFT (0U)
  7504. /*! ON_OFF_SETPOINT0 - ON_OFF_SETPOINT0
  7505. * 0b0..ON
  7506. * 0b1..OFF
  7507. */
  7508. #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)
  7509. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT1_MASK (0x2U)
  7510. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT1_SHIFT (1U)
  7511. /*! ON_OFF_SETPOINT1 - ON_OFF_SETPOINT1
  7512. * 0b0..ON
  7513. * 0b1..OFF
  7514. */
  7515. #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)
  7516. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT2_MASK (0x4U)
  7517. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT2_SHIFT (2U)
  7518. /*! ON_OFF_SETPOINT2 - ON_OFF_SETPOINT2
  7519. * 0b0..ON
  7520. * 0b1..OFF
  7521. */
  7522. #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)
  7523. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT3_MASK (0x8U)
  7524. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT3_SHIFT (3U)
  7525. /*! ON_OFF_SETPOINT3 - ON_OFF_SETPOINT3
  7526. * 0b0..ON
  7527. * 0b1..OFF
  7528. */
  7529. #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)
  7530. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT4_MASK (0x10U)
  7531. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT4_SHIFT (4U)
  7532. /*! ON_OFF_SETPOINT4 - ON_OFF_SETPOINT4
  7533. * 0b0..ON
  7534. * 0b1..OFF
  7535. */
  7536. #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)
  7537. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT5_MASK (0x20U)
  7538. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT5_SHIFT (5U)
  7539. /*! ON_OFF_SETPOINT5 - ON_OFF_SETPOINT5
  7540. * 0b0..ON
  7541. * 0b1..OFF
  7542. */
  7543. #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)
  7544. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT6_MASK (0x40U)
  7545. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT6_SHIFT (6U)
  7546. /*! ON_OFF_SETPOINT6 - ON_OFF_SETPOINT6
  7547. * 0b0..ON
  7548. * 0b1..OFF
  7549. */
  7550. #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)
  7551. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT7_MASK (0x80U)
  7552. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT7_SHIFT (7U)
  7553. /*! ON_OFF_SETPOINT7 - ON_OFF_SETPOINT7
  7554. * 0b0..ON
  7555. * 0b1..OFF
  7556. */
  7557. #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)
  7558. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT8_MASK (0x100U)
  7559. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT8_SHIFT (8U)
  7560. /*! ON_OFF_SETPOINT8 - ON_OFF_SETPOINT8
  7561. * 0b0..ON
  7562. * 0b1..OFF
  7563. */
  7564. #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)
  7565. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT9_MASK (0x200U)
  7566. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT9_SHIFT (9U)
  7567. /*! ON_OFF_SETPOINT9 - ON_OFF_SETPOINT9
  7568. * 0b0..ON
  7569. * 0b1..OFF
  7570. */
  7571. #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)
  7572. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT10_MASK (0x400U)
  7573. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT10_SHIFT (10U)
  7574. /*! ON_OFF_SETPOINT10 - ON_OFF_SETPOINT10
  7575. * 0b0..ON
  7576. * 0b1..OFF
  7577. */
  7578. #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)
  7579. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT11_MASK (0x800U)
  7580. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT11_SHIFT (11U)
  7581. /*! ON_OFF_SETPOINT11 - ON_OFF_SETPOINT11
  7582. * 0b0..ON
  7583. * 0b1..OFF
  7584. */
  7585. #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)
  7586. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT12_MASK (0x1000U)
  7587. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT12_SHIFT (12U)
  7588. /*! ON_OFF_SETPOINT12 - ON_OFF_SETPOINT12
  7589. * 0b0..ON
  7590. * 0b1..OFF
  7591. */
  7592. #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)
  7593. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT13_MASK (0x2000U)
  7594. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT13_SHIFT (13U)
  7595. /*! ON_OFF_SETPOINT13 - ON_OFF_SETPOINT13
  7596. * 0b0..ON
  7597. * 0b1..OFF
  7598. */
  7599. #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)
  7600. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT14_MASK (0x4000U)
  7601. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT14_SHIFT (14U)
  7602. /*! ON_OFF_SETPOINT14 - ON_OFF_SETPOINT14
  7603. * 0b0..ON
  7604. * 0b1..OFF
  7605. */
  7606. #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)
  7607. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT15_MASK (0x8000U)
  7608. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT15_SHIFT (15U)
  7609. /*! ON_OFF_SETPOINT15 - ON_OFF_SETPOINT15
  7610. * 0b0..ON
  7611. * 0b1..OFF
  7612. */
  7613. #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)
  7614. /*! @} */
  7615. /*! @name BANDGAP_STBY_EN_SP - BANDGAP_STBY_EN_SP_REGISTER */
  7616. /*! @{ */
  7617. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT0_MASK (0x1U)
  7618. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT0_SHIFT (0U)
  7619. /*! STBY_EN_SETPOINT0 - STBY_EN_SETPOINT
  7620. * 0b0..Disabled
  7621. * 0b1..Enabled
  7622. */
  7623. #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)
  7624. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT1_MASK (0x2U)
  7625. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT1_SHIFT (1U)
  7626. /*! STBY_EN_SETPOINT1 - STBY_EN_SETPOINT
  7627. * 0b0..Disabled
  7628. * 0b1..Enabled
  7629. */
  7630. #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)
  7631. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT2_MASK (0x4U)
  7632. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT2_SHIFT (2U)
  7633. /*! STBY_EN_SETPOINT2 - STBY_EN_SETPOINT
  7634. * 0b0..Disabled
  7635. * 0b1..Enabled
  7636. */
  7637. #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)
  7638. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT3_MASK (0x8U)
  7639. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT3_SHIFT (3U)
  7640. /*! STBY_EN_SETPOINT3 - STBY_EN_SETPOINT
  7641. * 0b0..Disabled
  7642. * 0b1..Enabled
  7643. */
  7644. #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)
  7645. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT4_MASK (0x10U)
  7646. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT4_SHIFT (4U)
  7647. /*! STBY_EN_SETPOINT4 - STBY_EN_SETPOINT
  7648. * 0b0..Disabled
  7649. * 0b1..Enabled
  7650. */
  7651. #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)
  7652. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT5_MASK (0x20U)
  7653. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT5_SHIFT (5U)
  7654. /*! STBY_EN_SETPOINT5 - STBY_EN_SETPOINT
  7655. * 0b0..Disabled
  7656. * 0b1..Enabled
  7657. */
  7658. #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)
  7659. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT6_MASK (0x40U)
  7660. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT6_SHIFT (6U)
  7661. /*! STBY_EN_SETPOINT6 - STBY_EN_SETPOINT
  7662. * 0b0..Disabled
  7663. * 0b1..Enabled
  7664. */
  7665. #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)
  7666. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT7_MASK (0x80U)
  7667. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT7_SHIFT (7U)
  7668. /*! STBY_EN_SETPOINT7 - STBY_EN_SETPOINT
  7669. * 0b0..Disabled
  7670. * 0b1..Enabled
  7671. */
  7672. #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)
  7673. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT8_MASK (0x100U)
  7674. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT8_SHIFT (8U)
  7675. /*! STBY_EN_SETPOINT8 - STBY_EN_SETPOINT
  7676. * 0b0..Disabled
  7677. * 0b1..Enabled
  7678. */
  7679. #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)
  7680. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT9_MASK (0x200U)
  7681. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT9_SHIFT (9U)
  7682. /*! STBY_EN_SETPOINT9 - STBY_EN_SETPOINT
  7683. * 0b0..Disabled
  7684. * 0b1..Enabled
  7685. */
  7686. #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)
  7687. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT10_MASK (0x400U)
  7688. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT10_SHIFT (10U)
  7689. /*! STBY_EN_SETPOINT10 - STBY_EN_SETPOINT
  7690. * 0b0..Disabled
  7691. * 0b1..Enabled
  7692. */
  7693. #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)
  7694. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT11_MASK (0x800U)
  7695. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT11_SHIFT (11U)
  7696. /*! STBY_EN_SETPOINT11 - STBY_EN_SETPOINT
  7697. * 0b0..Disabled
  7698. * 0b1..Enabled
  7699. */
  7700. #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)
  7701. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT12_MASK (0x1000U)
  7702. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT12_SHIFT (12U)
  7703. /*! STBY_EN_SETPOINT12 - STBY_EN_SETPOINT
  7704. * 0b0..Disabled
  7705. * 0b1..Enabled
  7706. */
  7707. #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)
  7708. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT13_MASK (0x2000U)
  7709. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT13_SHIFT (13U)
  7710. /*! STBY_EN_SETPOINT13 - STBY_EN_SETPOINT
  7711. * 0b0..Disabled
  7712. * 0b1..Enabled
  7713. */
  7714. #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)
  7715. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT14_MASK (0x4000U)
  7716. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT14_SHIFT (14U)
  7717. /*! STBY_EN_SETPOINT14 - STBY_EN_SETPOINT
  7718. * 0b0..Disabled
  7719. * 0b1..Enabled
  7720. */
  7721. #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)
  7722. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT15_MASK (0x8000U)
  7723. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT15_SHIFT (15U)
  7724. /*! STBY_EN_SETPOINT15 - STBY_EN_SETPOINT
  7725. * 0b0..Disabled
  7726. * 0b1..Enabled
  7727. */
  7728. #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)
  7729. /*! @} */
  7730. /*! @name PLL_LDO_STBY_EN_SP - PLL_LDO_STBY_EN_SP_REGISTER */
  7731. /*! @{ */
  7732. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT0_MASK (0x1U)
  7733. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT0_SHIFT (0U)
  7734. /*! STBY_EN_SETPOINT0 - Standby mode
  7735. * 0b0..Disabled
  7736. * 0b1..Enabled
  7737. */
  7738. #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)
  7739. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT1_MASK (0x2U)
  7740. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT1_SHIFT (1U)
  7741. /*! STBY_EN_SETPOINT1 - Standby mode
  7742. * 0b0..Disabled
  7743. * 0b1..Enabled
  7744. */
  7745. #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)
  7746. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT2_MASK (0x4U)
  7747. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT2_SHIFT (2U)
  7748. /*! STBY_EN_SETPOINT2 - Standby mode
  7749. * 0b0..Disabled
  7750. * 0b1..Enabled
  7751. */
  7752. #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)
  7753. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT3_MASK (0x8U)
  7754. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT3_SHIFT (3U)
  7755. /*! STBY_EN_SETPOINT3 - Standby mode
  7756. * 0b0..Disabled
  7757. * 0b1..Enabled
  7758. */
  7759. #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)
  7760. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT4_MASK (0x10U)
  7761. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT4_SHIFT (4U)
  7762. /*! STBY_EN_SETPOINT4 - Standby mode
  7763. * 0b0..Disabled
  7764. * 0b1..Enabled
  7765. */
  7766. #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)
  7767. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT5_MASK (0x20U)
  7768. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT5_SHIFT (5U)
  7769. /*! STBY_EN_SETPOINT5 - Standby mode
  7770. * 0b0..Disabled
  7771. * 0b1..Enabled
  7772. */
  7773. #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)
  7774. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT6_MASK (0x40U)
  7775. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT6_SHIFT (6U)
  7776. /*! STBY_EN_SETPOINT6 - Standby mode
  7777. * 0b0..Disabled
  7778. * 0b1..Enabled
  7779. */
  7780. #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)
  7781. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT7_MASK (0x80U)
  7782. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT7_SHIFT (7U)
  7783. /*! STBY_EN_SETPOINT7 - Standby mode
  7784. * 0b0..Disabled
  7785. * 0b1..Enabled
  7786. */
  7787. #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)
  7788. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT8_MASK (0x100U)
  7789. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT8_SHIFT (8U)
  7790. /*! STBY_EN_SETPOINT8 - Standby mode
  7791. * 0b0..Disabled
  7792. * 0b1..Enabled
  7793. */
  7794. #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)
  7795. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT9_MASK (0x200U)
  7796. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT9_SHIFT (9U)
  7797. /*! STBY_EN_SETPOINT9 - Standby mode
  7798. * 0b0..Disabled
  7799. * 0b1..Enabled
  7800. */
  7801. #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)
  7802. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT10_MASK (0x400U)
  7803. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT10_SHIFT (10U)
  7804. /*! STBY_EN_SETPOINT10 - Standby mode
  7805. * 0b0..Disabled
  7806. * 0b1..Enabled
  7807. */
  7808. #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)
  7809. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT11_MASK (0x800U)
  7810. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT11_SHIFT (11U)
  7811. /*! STBY_EN_SETPOINT11 - Standby mode
  7812. * 0b0..Disabled
  7813. * 0b1..Enabled
  7814. */
  7815. #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)
  7816. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT12_MASK (0x1000U)
  7817. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT12_SHIFT (12U)
  7818. /*! STBY_EN_SETPOINT12 - Standby mode
  7819. * 0b0..Disabled
  7820. * 0b1..Enabled
  7821. */
  7822. #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)
  7823. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT13_MASK (0x2000U)
  7824. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT13_SHIFT (13U)
  7825. /*! STBY_EN_SETPOINT13 - Standby mode
  7826. * 0b0..Disabled
  7827. * 0b1..Enabled
  7828. */
  7829. #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)
  7830. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT14_MASK (0x4000U)
  7831. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT14_SHIFT (14U)
  7832. /*! STBY_EN_SETPOINT14 - Standby mode
  7833. * 0b0..Disabled
  7834. * 0b1..Enabled
  7835. */
  7836. #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)
  7837. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT15_MASK (0x8000U)
  7838. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT15_SHIFT (15U)
  7839. /*! STBY_EN_SETPOINT15 - Standby mode
  7840. * 0b0..Disabled
  7841. * 0b1..Enabled
  7842. */
  7843. #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)
  7844. /*! @} */
  7845. /*! @name FBB_M7_STBY_EN_SP - FBB_M7_STBY_EN_SP_REGISTER */
  7846. /*! @{ */
  7847. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT0_MASK (0x1U)
  7848. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT0_SHIFT (0U)
  7849. /*! STBY_EN_SETPOINT0 - Standby mode
  7850. * 0b0..Disabled
  7851. * 0b1..Enabled
  7852. */
  7853. #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)
  7854. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT1_MASK (0x2U)
  7855. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT1_SHIFT (1U)
  7856. /*! STBY_EN_SETPOINT1 - Standby mode
  7857. * 0b0..Disabled
  7858. * 0b1..Enabled
  7859. */
  7860. #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)
  7861. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT2_MASK (0x4U)
  7862. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT2_SHIFT (2U)
  7863. /*! STBY_EN_SETPOINT2 - Standby mode
  7864. * 0b0..Disabled
  7865. * 0b1..Enabled
  7866. */
  7867. #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)
  7868. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT3_MASK (0x8U)
  7869. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT3_SHIFT (3U)
  7870. /*! STBY_EN_SETPOINT3 - Standby mode
  7871. * 0b0..Disabled
  7872. * 0b1..Enabled
  7873. */
  7874. #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)
  7875. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT4_MASK (0x10U)
  7876. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT4_SHIFT (4U)
  7877. /*! STBY_EN_SETPOINT4 - Standby mode
  7878. * 0b0..Disabled
  7879. * 0b1..Enabled
  7880. */
  7881. #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)
  7882. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT5_MASK (0x20U)
  7883. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT5_SHIFT (5U)
  7884. /*! STBY_EN_SETPOINT5 - Standby mode
  7885. * 0b0..Disabled
  7886. * 0b1..Enabled
  7887. */
  7888. #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)
  7889. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT6_MASK (0x40U)
  7890. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT6_SHIFT (6U)
  7891. /*! STBY_EN_SETPOINT6 - Standby mode
  7892. * 0b0..Disabled
  7893. * 0b1..Enabled
  7894. */
  7895. #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)
  7896. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT7_MASK (0x80U)
  7897. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT7_SHIFT (7U)
  7898. /*! STBY_EN_SETPOINT7 - Standby mode
  7899. * 0b0..Disabled
  7900. * 0b1..Enabled
  7901. */
  7902. #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)
  7903. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT8_MASK (0x100U)
  7904. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT8_SHIFT (8U)
  7905. /*! STBY_EN_SETPOINT8 - Standby mode
  7906. * 0b0..Disabled
  7907. * 0b1..Enabled
  7908. */
  7909. #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)
  7910. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT9_MASK (0x200U)
  7911. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT9_SHIFT (9U)
  7912. /*! STBY_EN_SETPOINT9 - Standby mode
  7913. * 0b0..Disabled
  7914. * 0b1..Enabled
  7915. */
  7916. #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)
  7917. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT10_MASK (0x400U)
  7918. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT10_SHIFT (10U)
  7919. /*! STBY_EN_SETPOINT10 - Standby mode
  7920. * 0b0..Disabled
  7921. * 0b1..Enabled
  7922. */
  7923. #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)
  7924. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT11_MASK (0x800U)
  7925. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT11_SHIFT (11U)
  7926. /*! STBY_EN_SETPOINT11 - Standby mode
  7927. * 0b0..Disabled
  7928. * 0b1..Enabled
  7929. */
  7930. #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)
  7931. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT12_MASK (0x1000U)
  7932. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT12_SHIFT (12U)
  7933. /*! STBY_EN_SETPOINT12 - Standby mode
  7934. * 0b0..Disabled
  7935. * 0b1..Enabled
  7936. */
  7937. #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)
  7938. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT13_MASK (0x2000U)
  7939. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT13_SHIFT (13U)
  7940. /*! STBY_EN_SETPOINT13 - Standby mode
  7941. * 0b0..Disabled
  7942. * 0b1..Enabled
  7943. */
  7944. #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)
  7945. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT14_MASK (0x4000U)
  7946. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT14_SHIFT (14U)
  7947. /*! STBY_EN_SETPOINT14 - Standby mode
  7948. * 0b0..Disabled
  7949. * 0b1..Enabled
  7950. */
  7951. #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)
  7952. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT15_MASK (0x8000U)
  7953. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT15_SHIFT (15U)
  7954. /*! STBY_EN_SETPOINT15 - Standby mode
  7955. * 0b0..Disabled
  7956. * 0b1..Enabled
  7957. */
  7958. #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)
  7959. /*! @} */
  7960. /*! @name RBB_SOC_STBY_EN_SP - RBB_SOC_STBY_EN_SP_REGISTER */
  7961. /*! @{ */
  7962. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT0_MASK (0x1U)
  7963. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT0_SHIFT (0U)
  7964. /*! STBY_EN_SETPOINT0 - Standby mode
  7965. * 0b0..Disabled
  7966. * 0b1..Enabled
  7967. */
  7968. #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)
  7969. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT1_MASK (0x2U)
  7970. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT1_SHIFT (1U)
  7971. /*! STBY_EN_SETPOINT1 - Standby mode
  7972. * 0b0..Disabled
  7973. * 0b1..Enabled
  7974. */
  7975. #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)
  7976. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT2_MASK (0x4U)
  7977. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT2_SHIFT (2U)
  7978. /*! STBY_EN_SETPOINT2 - Standby mode
  7979. * 0b0..Disabled
  7980. * 0b1..Enabled
  7981. */
  7982. #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)
  7983. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT3_MASK (0x8U)
  7984. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT3_SHIFT (3U)
  7985. /*! STBY_EN_SETPOINT3 - Standby mode
  7986. * 0b0..Disabled
  7987. * 0b1..Enabled
  7988. */
  7989. #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)
  7990. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT4_MASK (0x10U)
  7991. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT4_SHIFT (4U)
  7992. /*! STBY_EN_SETPOINT4 - Standby mode
  7993. * 0b0..Disabled
  7994. * 0b1..Enabled
  7995. */
  7996. #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)
  7997. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT5_MASK (0x20U)
  7998. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT5_SHIFT (5U)
  7999. /*! STBY_EN_SETPOINT5 - Standby mode
  8000. * 0b0..Disabled
  8001. * 0b1..Enabled
  8002. */
  8003. #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)
  8004. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT6_MASK (0x40U)
  8005. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT6_SHIFT (6U)
  8006. /*! STBY_EN_SETPOINT6 - Standby mode
  8007. * 0b0..Disabled
  8008. * 0b1..Enabled
  8009. */
  8010. #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)
  8011. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT7_MASK (0x80U)
  8012. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT7_SHIFT (7U)
  8013. /*! STBY_EN_SETPOINT7 - Standby mode
  8014. * 0b0..Disabled
  8015. * 0b1..Enabled
  8016. */
  8017. #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)
  8018. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT8_MASK (0x100U)
  8019. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT8_SHIFT (8U)
  8020. /*! STBY_EN_SETPOINT8 - Standby mode
  8021. * 0b0..Disabled
  8022. * 0b1..Enabled
  8023. */
  8024. #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)
  8025. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT9_MASK (0x200U)
  8026. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT9_SHIFT (9U)
  8027. /*! STBY_EN_SETPOINT9 - Standby mode
  8028. * 0b0..Disabled
  8029. * 0b1..Enabled
  8030. */
  8031. #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)
  8032. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT10_MASK (0x400U)
  8033. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT10_SHIFT (10U)
  8034. /*! STBY_EN_SETPOINT10 - Standby mode
  8035. * 0b0..Disabled
  8036. * 0b1..Enabled
  8037. */
  8038. #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)
  8039. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT11_MASK (0x800U)
  8040. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT11_SHIFT (11U)
  8041. /*! STBY_EN_SETPOINT11 - Standby mode
  8042. * 0b0..Disabled
  8043. * 0b1..Enabled
  8044. */
  8045. #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)
  8046. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT12_MASK (0x1000U)
  8047. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT12_SHIFT (12U)
  8048. /*! STBY_EN_SETPOINT12 - Standby mode
  8049. * 0b0..Disabled
  8050. * 0b1..Enabled
  8051. */
  8052. #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)
  8053. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT13_MASK (0x2000U)
  8054. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT13_SHIFT (13U)
  8055. /*! STBY_EN_SETPOINT13 - Standby mode
  8056. * 0b0..Disabled
  8057. * 0b1..Enabled
  8058. */
  8059. #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)
  8060. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT14_MASK (0x4000U)
  8061. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT14_SHIFT (14U)
  8062. /*! STBY_EN_SETPOINT14 - Standby mode
  8063. * 0b0..Disabled
  8064. * 0b1..Enabled
  8065. */
  8066. #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)
  8067. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT15_MASK (0x8000U)
  8068. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT15_SHIFT (15U)
  8069. /*! STBY_EN_SETPOINT15 - Standby mode
  8070. * 0b0..Disabled
  8071. * 0b1..Enabled
  8072. */
  8073. #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)
  8074. /*! @} */
  8075. /*! @name RBB_LPSR_STBY_EN_SP - RBB_LPSR_STBY_EN_SP_REGISTER */
  8076. /*! @{ */
  8077. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT0_MASK (0x1U)
  8078. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT0_SHIFT (0U)
  8079. /*! STBY_EN_SETPOINT0 - Standby mode
  8080. * 0b0..Disabled
  8081. * 0b1..Enabled
  8082. */
  8083. #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)
  8084. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT1_MASK (0x2U)
  8085. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT1_SHIFT (1U)
  8086. /*! STBY_EN_SETPOINT1 - Standby mode
  8087. * 0b0..Disabled
  8088. * 0b1..Enabled
  8089. */
  8090. #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)
  8091. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT2_MASK (0x4U)
  8092. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT2_SHIFT (2U)
  8093. /*! STBY_EN_SETPOINT2 - Standby mode
  8094. * 0b0..Disabled
  8095. * 0b1..Enabled
  8096. */
  8097. #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)
  8098. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT3_MASK (0x8U)
  8099. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT3_SHIFT (3U)
  8100. /*! STBY_EN_SETPOINT3 - Standby mode
  8101. * 0b0..Disabled
  8102. * 0b1..Enabled
  8103. */
  8104. #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)
  8105. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT4_MASK (0x10U)
  8106. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT4_SHIFT (4U)
  8107. /*! STBY_EN_SETPOINT4 - Standby mode
  8108. * 0b0..Disabled
  8109. * 0b1..Enabled
  8110. */
  8111. #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)
  8112. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT5_MASK (0x20U)
  8113. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT5_SHIFT (5U)
  8114. /*! STBY_EN_SETPOINT5 - Standby mode
  8115. * 0b0..Disabled
  8116. * 0b1..Enabled
  8117. */
  8118. #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)
  8119. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT6_MASK (0x40U)
  8120. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT6_SHIFT (6U)
  8121. /*! STBY_EN_SETPOINT6 - Standby mode
  8122. * 0b0..Disabled
  8123. * 0b1..Enabled
  8124. */
  8125. #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)
  8126. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT7_MASK (0x80U)
  8127. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT7_SHIFT (7U)
  8128. /*! STBY_EN_SETPOINT7 - Standby mode
  8129. * 0b0..Disabled
  8130. * 0b1..Enabled
  8131. */
  8132. #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)
  8133. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT8_MASK (0x100U)
  8134. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT8_SHIFT (8U)
  8135. /*! STBY_EN_SETPOINT8 - Standby mode
  8136. * 0b0..Disabled
  8137. * 0b1..Enabled
  8138. */
  8139. #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)
  8140. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT9_MASK (0x200U)
  8141. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT9_SHIFT (9U)
  8142. /*! STBY_EN_SETPOINT9 - Standby mode
  8143. * 0b0..Disabled
  8144. * 0b1..Enabled
  8145. */
  8146. #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)
  8147. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT10_MASK (0x400U)
  8148. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT10_SHIFT (10U)
  8149. /*! STBY_EN_SETPOINT10 - Standby mode
  8150. * 0b0..Disabled
  8151. * 0b1..Enabled
  8152. */
  8153. #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)
  8154. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT11_MASK (0x800U)
  8155. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT11_SHIFT (11U)
  8156. /*! STBY_EN_SETPOINT11 - Standby mode
  8157. * 0b0..Disabled
  8158. * 0b1..Enabled
  8159. */
  8160. #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)
  8161. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT12_MASK (0x1000U)
  8162. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT12_SHIFT (12U)
  8163. /*! STBY_EN_SETPOINT12 - Standby mode
  8164. * 0b0..Disabled
  8165. * 0b1..Enabled
  8166. */
  8167. #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)
  8168. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT13_MASK (0x2000U)
  8169. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT13_SHIFT (13U)
  8170. /*! STBY_EN_SETPOINT13 - Standby mode
  8171. * 0b0..Disabled
  8172. * 0b1..Enabled
  8173. */
  8174. #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)
  8175. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT14_MASK (0x4000U)
  8176. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT14_SHIFT (14U)
  8177. /*! STBY_EN_SETPOINT14 - Standby mode
  8178. * 0b0..Disabled
  8179. * 0b1..Enabled
  8180. */
  8181. #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)
  8182. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT15_MASK (0x8000U)
  8183. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT15_SHIFT (15U)
  8184. /*! STBY_EN_SETPOINT15 - Standby mode
  8185. * 0b0..Disabled
  8186. * 0b1..Enabled
  8187. */
  8188. #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)
  8189. /*! @} */
  8190. /*! @name FBB_M7_CONFIGURE - FBB_M7_CONFIGURE_REGISTER */
  8191. /*! @{ */
  8192. #define ANADIG_PMU_FBB_M7_CONFIGURE_WB_CFG_PW_MASK (0xFU)
  8193. #define ANADIG_PMU_FBB_M7_CONFIGURE_WB_CFG_PW_SHIFT (0U)
  8194. /*! WB_CFG_PW - wb_cfg_pw
  8195. */
  8196. #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)
  8197. #define ANADIG_PMU_FBB_M7_CONFIGURE_WB_CFG_NW_MASK (0xF0U)
  8198. #define ANADIG_PMU_FBB_M7_CONFIGURE_WB_CFG_NW_SHIFT (4U)
  8199. /*! WB_CFG_NW - wb_cfg_nw
  8200. */
  8201. #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)
  8202. #define ANADIG_PMU_FBB_M7_CONFIGURE_OSCILLATOR_BITS_MASK (0x700U)
  8203. #define ANADIG_PMU_FBB_M7_CONFIGURE_OSCILLATOR_BITS_SHIFT (8U)
  8204. /*! OSCILLATOR_BITS - oscillator_bits
  8205. */
  8206. #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)
  8207. #define ANADIG_PMU_FBB_M7_CONFIGURE_REGULATOR_STRENGTH_MASK (0x3800U)
  8208. #define ANADIG_PMU_FBB_M7_CONFIGURE_REGULATOR_STRENGTH_SHIFT (11U)
  8209. /*! REGULATOR_STRENGTH - regulator_strength
  8210. */
  8211. #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)
  8212. /*! @} */
  8213. /*! @name RBB_LPSR_CONFIGURE - RBB_LPSR_CONFIGURE_REGISTER */
  8214. /*! @{ */
  8215. #define ANADIG_PMU_RBB_LPSR_CONFIGURE_WB_CFG_PW_MASK (0xFU)
  8216. #define ANADIG_PMU_RBB_LPSR_CONFIGURE_WB_CFG_PW_SHIFT (0U)
  8217. /*! WB_CFG_PW - wb_cfg_pw
  8218. */
  8219. #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)
  8220. #define ANADIG_PMU_RBB_LPSR_CONFIGURE_WB_CFG_NW_MASK (0xF0U)
  8221. #define ANADIG_PMU_RBB_LPSR_CONFIGURE_WB_CFG_NW_SHIFT (4U)
  8222. /*! WB_CFG_NW - wb_cfg_nw
  8223. */
  8224. #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)
  8225. #define ANADIG_PMU_RBB_LPSR_CONFIGURE_OSCILLATOR_BITS_MASK (0x700U)
  8226. #define ANADIG_PMU_RBB_LPSR_CONFIGURE_OSCILLATOR_BITS_SHIFT (8U)
  8227. /*! OSCILLATOR_BITS - oscillator_bits
  8228. */
  8229. #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)
  8230. #define ANADIG_PMU_RBB_LPSR_CONFIGURE_REGULATOR_STRENGTH_MASK (0x3800U)
  8231. #define ANADIG_PMU_RBB_LPSR_CONFIGURE_REGULATOR_STRENGTH_SHIFT (11U)
  8232. /*! REGULATOR_STRENGTH - regulator_strength
  8233. */
  8234. #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)
  8235. /*! @} */
  8236. /*! @name RBB_SOC_CONFIGURE - RBB_SOC_CONFIGURE_REGISTER */
  8237. /*! @{ */
  8238. #define ANADIG_PMU_RBB_SOC_CONFIGURE_WB_CFG_PW_MASK (0xFU)
  8239. #define ANADIG_PMU_RBB_SOC_CONFIGURE_WB_CFG_PW_SHIFT (0U)
  8240. /*! WB_CFG_PW - wb_cfg_pw
  8241. */
  8242. #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)
  8243. #define ANADIG_PMU_RBB_SOC_CONFIGURE_WB_CFG_NW_MASK (0xF0U)
  8244. #define ANADIG_PMU_RBB_SOC_CONFIGURE_WB_CFG_NW_SHIFT (4U)
  8245. /*! WB_CFG_NW - wb_cfg_nw
  8246. */
  8247. #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)
  8248. #define ANADIG_PMU_RBB_SOC_CONFIGURE_OSCILLATOR_BITS_MASK (0x700U)
  8249. #define ANADIG_PMU_RBB_SOC_CONFIGURE_OSCILLATOR_BITS_SHIFT (8U)
  8250. /*! OSCILLATOR_BITS - oscillator_bits
  8251. */
  8252. #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)
  8253. #define ANADIG_PMU_RBB_SOC_CONFIGURE_REGULATOR_STRENGTH_MASK (0x3800U)
  8254. #define ANADIG_PMU_RBB_SOC_CONFIGURE_REGULATOR_STRENGTH_SHIFT (11U)
  8255. /*! REGULATOR_STRENGTH - regulator_strength
  8256. */
  8257. #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)
  8258. /*! @} */
  8259. /*! @name REFTOP_OTP_TRIM_VALUE - REFTOP_OTP_TRIM_VALUE_REGISTER */
  8260. /*! @{ */
  8261. #define ANADIG_PMU_REFTOP_OTP_TRIM_VALUE_REFTOP_IBZTCADJ_MASK (0x7U)
  8262. #define ANADIG_PMU_REFTOP_OTP_TRIM_VALUE_REFTOP_IBZTCADJ_SHIFT (0U)
  8263. /*! REFTOP_IBZTCADJ - REFTOP_IBZTCADJ
  8264. */
  8265. #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)
  8266. #define ANADIG_PMU_REFTOP_OTP_TRIM_VALUE_REFTOP_VBGADJ_MASK (0x38U)
  8267. #define ANADIG_PMU_REFTOP_OTP_TRIM_VALUE_REFTOP_VBGADJ_SHIFT (3U)
  8268. /*! REFTOP_VBGADJ - REFTOP_VBGADJ
  8269. */
  8270. #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)
  8271. #define ANADIG_PMU_REFTOP_OTP_TRIM_VALUE_REFTOP_TRIM_EN_MASK (0x40U)
  8272. #define ANADIG_PMU_REFTOP_OTP_TRIM_VALUE_REFTOP_TRIM_EN_SHIFT (6U)
  8273. /*! REFTOP_TRIM_EN - REFTOP_TRIM_EN
  8274. */
  8275. #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)
  8276. /*! @} */
  8277. /*! @name LPSR_1P8_LDO_OTP_TRIM_VALUE - LPSR_1P8_LDO_OTP_TRIM_VALUE_REGISTER */
  8278. /*! @{ */
  8279. #define ANADIG_PMU_LPSR_1P8_LDO_OTP_TRIM_VALUE_LPSR_LDO_1P8_TRIM_MASK (0x3U)
  8280. #define ANADIG_PMU_LPSR_1P8_LDO_OTP_TRIM_VALUE_LPSR_LDO_1P8_TRIM_SHIFT (0U)
  8281. /*! LPSR_LDO_1P8_TRIM - LPSR_LDO_1P8_TRIM
  8282. */
  8283. #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)
  8284. #define ANADIG_PMU_LPSR_1P8_LDO_OTP_TRIM_VALUE_LPSR_LDO_1P8_TRIM_EN_MASK (0x4U)
  8285. #define ANADIG_PMU_LPSR_1P8_LDO_OTP_TRIM_VALUE_LPSR_LDO_1P8_TRIM_EN_SHIFT (2U)
  8286. /*! LPSR_LDO_1P8_TRIM_EN - LPSR_LDO_1P8_TRIM_EN
  8287. */
  8288. #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)
  8289. /*! @} */
  8290. /*!
  8291. * @}
  8292. */ /* end of group ANADIG_PMU_Register_Masks */
  8293. /* ANADIG_PMU - Peripheral instance base addresses */
  8294. /** Peripheral ANADIG_PMU base address */
  8295. #define ANADIG_PMU_BASE (0x40C84000u)
  8296. /** Peripheral ANADIG_PMU base pointer */
  8297. #define ANADIG_PMU ((ANADIG_PMU_Type *)ANADIG_PMU_BASE)
  8298. /** Array initializer of ANADIG_PMU peripheral base addresses */
  8299. #define ANADIG_PMU_BASE_ADDRS { ANADIG_PMU_BASE }
  8300. /** Array initializer of ANADIG_PMU peripheral base pointers */
  8301. #define ANADIG_PMU_BASE_PTRS { ANADIG_PMU }
  8302. /*!
  8303. * @}
  8304. */ /* end of group ANADIG_PMU_Peripheral_Access_Layer */
  8305. /* ----------------------------------------------------------------------------
  8306. -- ANADIG_TEMPSENSOR Peripheral Access Layer
  8307. ---------------------------------------------------------------------------- */
  8308. /*!
  8309. * @addtogroup ANADIG_TEMPSENSOR_Peripheral_Access_Layer ANADIG_TEMPSENSOR Peripheral Access Layer
  8310. * @{
  8311. */
  8312. /** ANADIG_TEMPSENSOR - Register Layout Typedef */
  8313. typedef struct {
  8314. uint8_t RESERVED_0[1024];
  8315. __IO uint32_t TEMPSENSOR; /**< Tempsensor Register, offset: 0x400 */
  8316. uint8_t RESERVED_1[44];
  8317. __I uint32_t TEMPSNS_OTP_TRIM_VALUE; /**< TEMPSNS_OTP_TRIM_VALUE_REGISTER, offset: 0x430 */
  8318. } ANADIG_TEMPSENSOR_Type;
  8319. /* ----------------------------------------------------------------------------
  8320. -- ANADIG_TEMPSENSOR Register Masks
  8321. ---------------------------------------------------------------------------- */
  8322. /*!
  8323. * @addtogroup ANADIG_TEMPSENSOR_Register_Masks ANADIG_TEMPSENSOR Register Masks
  8324. * @{
  8325. */
  8326. /*! @name TEMPSENSOR - Tempsensor Register */
  8327. /*! @{ */
  8328. #define ANADIG_TEMPSENSOR_TEMPSENSOR_TEMPSNS_AI_TOGGLE_MASK (0x8000U)
  8329. #define ANADIG_TEMPSENSOR_TEMPSENSOR_TEMPSNS_AI_TOGGLE_SHIFT (15U)
  8330. /*! TEMPSNS_AI_TOGGLE - AI toggle
  8331. */
  8332. #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)
  8333. #define ANADIG_TEMPSENSOR_TEMPSENSOR_TEMPSNS_AI_BUSY_MASK (0x10000U)
  8334. #define ANADIG_TEMPSENSOR_TEMPSENSOR_TEMPSNS_AI_BUSY_SHIFT (16U)
  8335. /*! TEMPSNS_AI_BUSY - AI Busy monitor
  8336. */
  8337. #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)
  8338. /*! @} */
  8339. /*! @name TEMPSNS_OTP_TRIM_VALUE - TEMPSNS_OTP_TRIM_VALUE_REGISTER */
  8340. /*! @{ */
  8341. #define ANADIG_TEMPSENSOR_TEMPSNS_OTP_TRIM_VALUE_TEMPSNS_TEMP_VAL_MASK (0x3FFC00U)
  8342. #define ANADIG_TEMPSENSOR_TEMPSNS_OTP_TRIM_VALUE_TEMPSNS_TEMP_VAL_SHIFT (10U)
  8343. /*! TEMPSNS_TEMP_VAL - Temperature Value at 25C
  8344. */
  8345. #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)
  8346. /*! @} */
  8347. /*!
  8348. * @}
  8349. */ /* end of group ANADIG_TEMPSENSOR_Register_Masks */
  8350. /* ANADIG_TEMPSENSOR - Peripheral instance base addresses */
  8351. /** Peripheral ANADIG_TEMPSENSOR base address */
  8352. #define ANADIG_TEMPSENSOR_BASE (0x40C84000u)
  8353. /** Peripheral ANADIG_TEMPSENSOR base pointer */
  8354. #define ANADIG_TEMPSENSOR ((ANADIG_TEMPSENSOR_Type *)ANADIG_TEMPSENSOR_BASE)
  8355. /** Array initializer of ANADIG_TEMPSENSOR peripheral base addresses */
  8356. #define ANADIG_TEMPSENSOR_BASE_ADDRS { ANADIG_TEMPSENSOR_BASE }
  8357. /** Array initializer of ANADIG_TEMPSENSOR peripheral base pointers */
  8358. #define ANADIG_TEMPSENSOR_BASE_PTRS { ANADIG_TEMPSENSOR }
  8359. /*!
  8360. * @}
  8361. */ /* end of group ANADIG_TEMPSENSOR_Peripheral_Access_Layer */
  8362. /* ----------------------------------------------------------------------------
  8363. -- AOI Peripheral Access Layer
  8364. ---------------------------------------------------------------------------- */
  8365. /*!
  8366. * @addtogroup AOI_Peripheral_Access_Layer AOI Peripheral Access Layer
  8367. * @{
  8368. */
  8369. /** AOI - Register Layout Typedef */
  8370. typedef struct {
  8371. struct { /* offset: 0x0, array step: 0x4 */
  8372. __IO uint16_t BFCRT01; /**< Boolean Function Term 0 and 1 Configuration Register for EVENTn, array offset: 0x0, array step: 0x4 */
  8373. __IO uint16_t BFCRT23; /**< Boolean Function Term 2 and 3 Configuration Register for EVENTn, array offset: 0x2, array step: 0x4 */
  8374. } BFCRT[4];
  8375. } AOI_Type;
  8376. /* ----------------------------------------------------------------------------
  8377. -- AOI Register Masks
  8378. ---------------------------------------------------------------------------- */
  8379. /*!
  8380. * @addtogroup AOI_Register_Masks AOI Register Masks
  8381. * @{
  8382. */
  8383. /*! @name BFCRT01 - Boolean Function Term 0 and 1 Configuration Register for EVENTn */
  8384. /*! @{ */
  8385. #define AOI_BFCRT01_PT1_DC_MASK (0x3U)
  8386. #define AOI_BFCRT01_PT1_DC_SHIFT (0U)
  8387. /*! PT1_DC - Product term 1, D input configuration
  8388. * 0b00..Force the D input in this product term to a logical zero
  8389. * 0b01..Pass the D input in this product term
  8390. * 0b10..Complement the D input in this product term
  8391. * 0b11..Force the D input in this product term to a logical one
  8392. */
  8393. #define AOI_BFCRT01_PT1_DC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT01_PT1_DC_SHIFT)) & AOI_BFCRT01_PT1_DC_MASK)
  8394. #define AOI_BFCRT01_PT1_CC_MASK (0xCU)
  8395. #define AOI_BFCRT01_PT1_CC_SHIFT (2U)
  8396. /*! PT1_CC - Product term 1, C input configuration
  8397. * 0b00..Force the C input in this product term to a logical zero
  8398. * 0b01..Pass the C input in this product term
  8399. * 0b10..Complement the C input in this product term
  8400. * 0b11..Force the C input in this product term to a logical one
  8401. */
  8402. #define AOI_BFCRT01_PT1_CC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT01_PT1_CC_SHIFT)) & AOI_BFCRT01_PT1_CC_MASK)
  8403. #define AOI_BFCRT01_PT1_BC_MASK (0x30U)
  8404. #define AOI_BFCRT01_PT1_BC_SHIFT (4U)
  8405. /*! PT1_BC - Product term 1, B input configuration
  8406. * 0b00..Force the B input in this product term to a logical zero
  8407. * 0b01..Pass the B input in this product term
  8408. * 0b10..Complement the B input in this product term
  8409. * 0b11..Force the B input in this product term to a logical one
  8410. */
  8411. #define AOI_BFCRT01_PT1_BC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT01_PT1_BC_SHIFT)) & AOI_BFCRT01_PT1_BC_MASK)
  8412. #define AOI_BFCRT01_PT1_AC_MASK (0xC0U)
  8413. #define AOI_BFCRT01_PT1_AC_SHIFT (6U)
  8414. /*! PT1_AC - Product term 1, A input configuration
  8415. * 0b00..Force the A input in this product term to a logical zero
  8416. * 0b01..Pass the A input in this product term
  8417. * 0b10..Complement the A input in this product term
  8418. * 0b11..Force the A input in this product term to a logical one
  8419. */
  8420. #define AOI_BFCRT01_PT1_AC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT01_PT1_AC_SHIFT)) & AOI_BFCRT01_PT1_AC_MASK)
  8421. #define AOI_BFCRT01_PT0_DC_MASK (0x300U)
  8422. #define AOI_BFCRT01_PT0_DC_SHIFT (8U)
  8423. /*! PT0_DC - Product term 0, D input configuration
  8424. * 0b00..Force the D input in this product term to a logical zero
  8425. * 0b01..Pass the D input in this product term
  8426. * 0b10..Complement the D input in this product term
  8427. * 0b11..Force the D input in this product term to a logical one
  8428. */
  8429. #define AOI_BFCRT01_PT0_DC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT01_PT0_DC_SHIFT)) & AOI_BFCRT01_PT0_DC_MASK)
  8430. #define AOI_BFCRT01_PT0_CC_MASK (0xC00U)
  8431. #define AOI_BFCRT01_PT0_CC_SHIFT (10U)
  8432. /*! PT0_CC - Product term 0, C input configuration
  8433. * 0b00..Force the C input in this product term to a logical zero
  8434. * 0b01..Pass the C input in this product term
  8435. * 0b10..Complement the C input in this product term
  8436. * 0b11..Force the C input in this product term to a logical one
  8437. */
  8438. #define AOI_BFCRT01_PT0_CC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT01_PT0_CC_SHIFT)) & AOI_BFCRT01_PT0_CC_MASK)
  8439. #define AOI_BFCRT01_PT0_BC_MASK (0x3000U)
  8440. #define AOI_BFCRT01_PT0_BC_SHIFT (12U)
  8441. /*! PT0_BC - Product term 0, B input configuration
  8442. * 0b00..Force the B input in this product term to a logical zero
  8443. * 0b01..Pass the B input in this product term
  8444. * 0b10..Complement the B input in this product term
  8445. * 0b11..Force the B input in this product term to a logical one
  8446. */
  8447. #define AOI_BFCRT01_PT0_BC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT01_PT0_BC_SHIFT)) & AOI_BFCRT01_PT0_BC_MASK)
  8448. #define AOI_BFCRT01_PT0_AC_MASK (0xC000U)
  8449. #define AOI_BFCRT01_PT0_AC_SHIFT (14U)
  8450. /*! PT0_AC - Product term 0, A input configuration
  8451. * 0b00..Force the A input in this product term to a logical zero
  8452. * 0b01..Pass the A input in this product term
  8453. * 0b10..Complement the A input in this product term
  8454. * 0b11..Force the A input in this product term to a logical one
  8455. */
  8456. #define AOI_BFCRT01_PT0_AC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT01_PT0_AC_SHIFT)) & AOI_BFCRT01_PT0_AC_MASK)
  8457. /*! @} */
  8458. /* The count of AOI_BFCRT01 */
  8459. #define AOI_BFCRT01_COUNT (4U)
  8460. /*! @name BFCRT23 - Boolean Function Term 2 and 3 Configuration Register for EVENTn */
  8461. /*! @{ */
  8462. #define AOI_BFCRT23_PT3_DC_MASK (0x3U)
  8463. #define AOI_BFCRT23_PT3_DC_SHIFT (0U)
  8464. /*! PT3_DC - Product term 3, D input configuration
  8465. * 0b00..Force the D input in this product term to a logical zero
  8466. * 0b01..Pass the D input in this product term
  8467. * 0b10..Complement the D input in this product term
  8468. * 0b11..Force the D input in this product term to a logical one
  8469. */
  8470. #define AOI_BFCRT23_PT3_DC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT23_PT3_DC_SHIFT)) & AOI_BFCRT23_PT3_DC_MASK)
  8471. #define AOI_BFCRT23_PT3_CC_MASK (0xCU)
  8472. #define AOI_BFCRT23_PT3_CC_SHIFT (2U)
  8473. /*! PT3_CC - Product term 3, C input configuration
  8474. * 0b00..Force the C input in this product term to a logical zero
  8475. * 0b01..Pass the C input in this product term
  8476. * 0b10..Complement the C input in this product term
  8477. * 0b11..Force the C input in this product term to a logical one
  8478. */
  8479. #define AOI_BFCRT23_PT3_CC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT23_PT3_CC_SHIFT)) & AOI_BFCRT23_PT3_CC_MASK)
  8480. #define AOI_BFCRT23_PT3_BC_MASK (0x30U)
  8481. #define AOI_BFCRT23_PT3_BC_SHIFT (4U)
  8482. /*! PT3_BC - Product term 3, B input configuration
  8483. * 0b00..Force the B input in this product term to a logical zero
  8484. * 0b01..Pass the B input in this product term
  8485. * 0b10..Complement the B input in this product term
  8486. * 0b11..Force the B input in this product term to a logical one
  8487. */
  8488. #define AOI_BFCRT23_PT3_BC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT23_PT3_BC_SHIFT)) & AOI_BFCRT23_PT3_BC_MASK)
  8489. #define AOI_BFCRT23_PT3_AC_MASK (0xC0U)
  8490. #define AOI_BFCRT23_PT3_AC_SHIFT (6U)
  8491. /*! PT3_AC - Product term 3, A input configuration
  8492. * 0b00..Force the A input in this product term to a logical zero
  8493. * 0b01..Pass the A input in this product term
  8494. * 0b10..Complement the A input in this product term
  8495. * 0b11..Force the A input in this product term to a logical one
  8496. */
  8497. #define AOI_BFCRT23_PT3_AC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT23_PT3_AC_SHIFT)) & AOI_BFCRT23_PT3_AC_MASK)
  8498. #define AOI_BFCRT23_PT2_DC_MASK (0x300U)
  8499. #define AOI_BFCRT23_PT2_DC_SHIFT (8U)
  8500. /*! PT2_DC - Product term 2, D input configuration
  8501. * 0b00..Force the D input in this product term to a logical zero
  8502. * 0b01..Pass the D input in this product term
  8503. * 0b10..Complement the D input in this product term
  8504. * 0b11..Force the D input in this product term to a logical one
  8505. */
  8506. #define AOI_BFCRT23_PT2_DC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT23_PT2_DC_SHIFT)) & AOI_BFCRT23_PT2_DC_MASK)
  8507. #define AOI_BFCRT23_PT2_CC_MASK (0xC00U)
  8508. #define AOI_BFCRT23_PT2_CC_SHIFT (10U)
  8509. /*! PT2_CC - Product term 2, C input configuration
  8510. * 0b00..Force the C input in this product term to a logical zero
  8511. * 0b01..Pass the C input in this product term
  8512. * 0b10..Complement the C input in this product term
  8513. * 0b11..Force the C input in this product term to a logical one
  8514. */
  8515. #define AOI_BFCRT23_PT2_CC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT23_PT2_CC_SHIFT)) & AOI_BFCRT23_PT2_CC_MASK)
  8516. #define AOI_BFCRT23_PT2_BC_MASK (0x3000U)
  8517. #define AOI_BFCRT23_PT2_BC_SHIFT (12U)
  8518. /*! PT2_BC - Product term 2, B input configuration
  8519. * 0b00..Force the B input in this product term to a logical zero
  8520. * 0b01..Pass the B input in this product term
  8521. * 0b10..Complement the B input in this product term
  8522. * 0b11..Force the B input in this product term to a logical one
  8523. */
  8524. #define AOI_BFCRT23_PT2_BC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT23_PT2_BC_SHIFT)) & AOI_BFCRT23_PT2_BC_MASK)
  8525. #define AOI_BFCRT23_PT2_AC_MASK (0xC000U)
  8526. #define AOI_BFCRT23_PT2_AC_SHIFT (14U)
  8527. /*! PT2_AC - Product term 2, A input configuration
  8528. * 0b00..Force the A input in this product term to a logical zero
  8529. * 0b01..Pass the A input in this product term
  8530. * 0b10..Complement the A input in this product term
  8531. * 0b11..Force the A input in this product term to a logical one
  8532. */
  8533. #define AOI_BFCRT23_PT2_AC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT23_PT2_AC_SHIFT)) & AOI_BFCRT23_PT2_AC_MASK)
  8534. /*! @} */
  8535. /* The count of AOI_BFCRT23 */
  8536. #define AOI_BFCRT23_COUNT (4U)
  8537. /*!
  8538. * @}
  8539. */ /* end of group AOI_Register_Masks */
  8540. /* AOI - Peripheral instance base addresses */
  8541. /** Peripheral AOI1 base address */
  8542. #define AOI1_BASE (0x400B8000u)
  8543. /** Peripheral AOI1 base pointer */
  8544. #define AOI1 ((AOI_Type *)AOI1_BASE)
  8545. /** Peripheral AOI2 base address */
  8546. #define AOI2_BASE (0x400BC000u)
  8547. /** Peripheral AOI2 base pointer */
  8548. #define AOI2 ((AOI_Type *)AOI2_BASE)
  8549. /** Array initializer of AOI peripheral base addresses */
  8550. #define AOI_BASE_ADDRS { 0u, AOI1_BASE, AOI2_BASE }
  8551. /** Array initializer of AOI peripheral base pointers */
  8552. #define AOI_BASE_PTRS { (AOI_Type *)0u, AOI1, AOI2 }
  8553. /*!
  8554. * @}
  8555. */ /* end of group AOI_Peripheral_Access_Layer */
  8556. /* ----------------------------------------------------------------------------
  8557. -- ASRC Peripheral Access Layer
  8558. ---------------------------------------------------------------------------- */
  8559. /*!
  8560. * @addtogroup ASRC_Peripheral_Access_Layer ASRC Peripheral Access Layer
  8561. * @{
  8562. */
  8563. /** ASRC - Register Layout Typedef */
  8564. typedef struct {
  8565. __IO uint32_t ASRCTR; /**< ASRC Control Register, offset: 0x0 */
  8566. __IO uint32_t ASRIER; /**< ASRC Interrupt Enable Register, offset: 0x4 */
  8567. uint8_t RESERVED_0[4];
  8568. __IO uint32_t ASRCNCR; /**< ASRC Channel Number Configuration Register, offset: 0xC */
  8569. __IO uint32_t ASRCFG; /**< ASRC Filter Configuration Status Register, offset: 0x10 */
  8570. __IO uint32_t ASRCSR; /**< ASRC Clock Source Register, offset: 0x14 */
  8571. __IO uint32_t ASRCDR1; /**< ASRC Clock Divider Register 1, offset: 0x18 */
  8572. __IO uint32_t ASRCDR2; /**< ASRC Clock Divider Register 2, offset: 0x1C */
  8573. __I uint32_t ASRSTR; /**< ASRC Status Register, offset: 0x20 */
  8574. uint8_t RESERVED_1[28];
  8575. __IO uint32_t ASRPM[5]; /**< ASRC Parameter Register n, array offset: 0x40, array step: 0x4 */
  8576. __IO uint32_t ASRTFR1; /**< ASRC Task Queue FIFO Register 1, offset: 0x54 */
  8577. uint8_t RESERVED_2[4];
  8578. __IO uint32_t ASRCCR; /**< ASRC Channel Counter Register, offset: 0x5C */
  8579. __O uint32_t ASRDIA; /**< ASRC Data Input Register for Pair x, offset: 0x60 */
  8580. __I uint32_t ASRDOA; /**< ASRC Data Output Register for Pair x, offset: 0x64 */
  8581. __O uint32_t ASRDIB; /**< ASRC Data Input Register for Pair x, offset: 0x68 */
  8582. __I uint32_t ASRDOB; /**< ASRC Data Output Register for Pair x, offset: 0x6C */
  8583. __O uint32_t ASRDIC; /**< ASRC Data Input Register for Pair x, offset: 0x70 */
  8584. __I uint32_t ASRDOC; /**< ASRC Data Output Register for Pair x, offset: 0x74 */
  8585. uint8_t RESERVED_3[8];
  8586. __IO uint32_t ASRIDRHA; /**< ASRC Ideal Ratio for Pair A-High Part, offset: 0x80 */
  8587. __IO uint32_t ASRIDRLA; /**< ASRC Ideal Ratio for Pair A -Low Part, offset: 0x84 */
  8588. __IO uint32_t ASRIDRHB; /**< ASRC Ideal Ratio for Pair B-High Part, offset: 0x88 */
  8589. __IO uint32_t ASRIDRLB; /**< ASRC Ideal Ratio for Pair B-Low Part, offset: 0x8C */
  8590. __IO uint32_t ASRIDRHC; /**< ASRC Ideal Ratio for Pair C-High Part, offset: 0x90 */
  8591. __IO uint32_t ASRIDRLC; /**< ASRC Ideal Ratio for Pair C-Low Part, offset: 0x94 */
  8592. __IO uint32_t ASR76K; /**< ASRC 76 kHz Period in terms of ASRC processing clock, offset: 0x98 */
  8593. __IO uint32_t ASR56K; /**< ASRC 56 kHz Period in terms of ASRC processing clock, offset: 0x9C */
  8594. __IO uint32_t ASRMCRA; /**< ASRC Misc Control Register for Pair A, offset: 0xA0 */
  8595. __I uint32_t ASRFSTA; /**< ASRC FIFO Status Register for Pair A, offset: 0xA4 */
  8596. __IO uint32_t ASRMCRB; /**< ASRC Misc Control Register for Pair B, offset: 0xA8 */
  8597. __I uint32_t ASRFSTB; /**< ASRC FIFO Status Register for Pair B, offset: 0xAC */
  8598. __IO uint32_t ASRMCRC; /**< ASRC Misc Control Register for Pair C, offset: 0xB0 */
  8599. __I uint32_t ASRFSTC; /**< ASRC FIFO Status Register for Pair C, offset: 0xB4 */
  8600. uint8_t RESERVED_4[8];
  8601. __IO uint32_t ASRMCR1[3]; /**< ASRC Misc Control Register 1 for Pair X, array offset: 0xC0, array step: 0x4 */
  8602. } ASRC_Type;
  8603. /* ----------------------------------------------------------------------------
  8604. -- ASRC Register Masks
  8605. ---------------------------------------------------------------------------- */
  8606. /*!
  8607. * @addtogroup ASRC_Register_Masks ASRC Register Masks
  8608. * @{
  8609. */
  8610. /*! @name ASRCTR - ASRC Control Register */
  8611. /*! @{ */
  8612. #define ASRC_ASRCTR_ASRCEN_MASK (0x1U)
  8613. #define ASRC_ASRCTR_ASRCEN_SHIFT (0U)
  8614. /*! ASRCEN - ASRCEN
  8615. * 0b0..operation of ASRC disabled
  8616. * 0b1..operation ASRC is enabled
  8617. */
  8618. #define ASRC_ASRCTR_ASRCEN(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCTR_ASRCEN_SHIFT)) & ASRC_ASRCTR_ASRCEN_MASK)
  8619. #define ASRC_ASRCTR_ASREA_MASK (0x2U)
  8620. #define ASRC_ASRCTR_ASREA_SHIFT (1U)
  8621. /*! ASREA - ASREA
  8622. * 0b0..operation of conversion A is disabled
  8623. * 0b1..operation of conversion A is enabled
  8624. */
  8625. #define ASRC_ASRCTR_ASREA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCTR_ASREA_SHIFT)) & ASRC_ASRCTR_ASREA_MASK)
  8626. #define ASRC_ASRCTR_ASREB_MASK (0x4U)
  8627. #define ASRC_ASRCTR_ASREB_SHIFT (2U)
  8628. /*! ASREB - ASREB
  8629. * 0b0..operation of conversion B is disabled
  8630. * 0b1..operation of conversion B is enabled
  8631. */
  8632. #define ASRC_ASRCTR_ASREB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCTR_ASREB_SHIFT)) & ASRC_ASRCTR_ASREB_MASK)
  8633. #define ASRC_ASRCTR_ASREC_MASK (0x8U)
  8634. #define ASRC_ASRCTR_ASREC_SHIFT (3U)
  8635. /*! ASREC - ASREC
  8636. * 0b0..operation of conversion C is disabled
  8637. * 0b1..operation of conversion C is enabled
  8638. */
  8639. #define ASRC_ASRCTR_ASREC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCTR_ASREC_SHIFT)) & ASRC_ASRCTR_ASREC_MASK)
  8640. #define ASRC_ASRCTR_SRST_MASK (0x10U)
  8641. #define ASRC_ASRCTR_SRST_SHIFT (4U)
  8642. /*! SRST - SRST
  8643. * 0b0..ASRC Software reset cleared
  8644. * 0b1..ASRC Software reset generated. NOTE: This is a self-clear bit
  8645. */
  8646. #define ASRC_ASRCTR_SRST(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCTR_SRST_SHIFT)) & ASRC_ASRCTR_SRST_MASK)
  8647. #define ASRC_ASRCTR_IDRA_MASK (0x2000U)
  8648. #define ASRC_ASRCTR_IDRA_SHIFT (13U)
  8649. /*! IDRA - IDRA
  8650. * 0b0..ASRC internal measured ratio is used
  8651. * 0b1..Ideal ratio from the interface register ASRIDRHA, ASRIDRLA is used
  8652. */
  8653. #define ASRC_ASRCTR_IDRA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCTR_IDRA_SHIFT)) & ASRC_ASRCTR_IDRA_MASK)
  8654. #define ASRC_ASRCTR_USRA_MASK (0x4000U)
  8655. #define ASRC_ASRCTR_USRA_SHIFT (14U)
  8656. /*! USRA - USRA
  8657. * 0b1..Use ratio as the input to ASRC for pair A
  8658. * 0b0..Do not use ratio as the input to ASRC for pair A
  8659. */
  8660. #define ASRC_ASRCTR_USRA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCTR_USRA_SHIFT)) & ASRC_ASRCTR_USRA_MASK)
  8661. #define ASRC_ASRCTR_IDRB_MASK (0x8000U)
  8662. #define ASRC_ASRCTR_IDRB_SHIFT (15U)
  8663. /*! IDRB - IDRB
  8664. * 0b0..ASRC internal measured ratio is used
  8665. * 0b1..Ideal ratio from the interface register ASRIDRHB, ASRIDRLB is used
  8666. */
  8667. #define ASRC_ASRCTR_IDRB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCTR_IDRB_SHIFT)) & ASRC_ASRCTR_IDRB_MASK)
  8668. #define ASRC_ASRCTR_USRB_MASK (0x10000U)
  8669. #define ASRC_ASRCTR_USRB_SHIFT (16U)
  8670. /*! USRB - USRB
  8671. * 0b1..Use ratio as the input to ASRC for pair B
  8672. * 0b0..Do not use ratio as the input to ASRC for pair B
  8673. */
  8674. #define ASRC_ASRCTR_USRB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCTR_USRB_SHIFT)) & ASRC_ASRCTR_USRB_MASK)
  8675. #define ASRC_ASRCTR_IDRC_MASK (0x20000U)
  8676. #define ASRC_ASRCTR_IDRC_SHIFT (17U)
  8677. /*! IDRC - IDRC
  8678. * 0b0..ASRC internal measured ratio is used
  8679. * 0b1..Ideal ratio from the interface register ASRIDRHC, ASRIDRLC is used
  8680. */
  8681. #define ASRC_ASRCTR_IDRC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCTR_IDRC_SHIFT)) & ASRC_ASRCTR_IDRC_MASK)
  8682. #define ASRC_ASRCTR_USRC_MASK (0x40000U)
  8683. #define ASRC_ASRCTR_USRC_SHIFT (18U)
  8684. /*! USRC - USRC
  8685. * 0b1..Use ratio as the input to ASRC for pair C
  8686. * 0b0..Do not use ratio as the input to ASRC for pair C
  8687. */
  8688. #define ASRC_ASRCTR_USRC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCTR_USRC_SHIFT)) & ASRC_ASRCTR_USRC_MASK)
  8689. #define ASRC_ASRCTR_ATSA_MASK (0x100000U)
  8690. #define ASRC_ASRCTR_ATSA_SHIFT (20U)
  8691. /*! ATSA - ATSA
  8692. * 0b1..Pair A automatically updates its pre-processing and post-processing options
  8693. * 0b0..Pair A does not automatically update its pre-processing and post-processing options
  8694. */
  8695. #define ASRC_ASRCTR_ATSA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCTR_ATSA_SHIFT)) & ASRC_ASRCTR_ATSA_MASK)
  8696. #define ASRC_ASRCTR_ATSB_MASK (0x200000U)
  8697. #define ASRC_ASRCTR_ATSB_SHIFT (21U)
  8698. /*! ATSB - ATSB
  8699. * 0b1..Pair B automatically updates its pre-processing and post-processing options
  8700. * 0b0..Pair B does not automatically update its pre-processing and post-processing options
  8701. */
  8702. #define ASRC_ASRCTR_ATSB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCTR_ATSB_SHIFT)) & ASRC_ASRCTR_ATSB_MASK)
  8703. #define ASRC_ASRCTR_ATSC_MASK (0x400000U)
  8704. #define ASRC_ASRCTR_ATSC_SHIFT (22U)
  8705. /*! ATSC - ATSC
  8706. * 0b1..Pair C automatically updates its pre-processing and post-processing options
  8707. * 0b0..Pair C does not automatically update its pre-processing and post-processing options
  8708. */
  8709. #define ASRC_ASRCTR_ATSC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCTR_ATSC_SHIFT)) & ASRC_ASRCTR_ATSC_MASK)
  8710. /*! @} */
  8711. /*! @name ASRIER - ASRC Interrupt Enable Register */
  8712. /*! @{ */
  8713. #define ASRC_ASRIER_ADIEA_MASK (0x1U)
  8714. #define ASRC_ASRIER_ADIEA_SHIFT (0U)
  8715. /*! ADIEA - ADIEA
  8716. * 0b1..interrupt enabled
  8717. * 0b0..interrupt disabled
  8718. */
  8719. #define ASRC_ASRIER_ADIEA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRIER_ADIEA_SHIFT)) & ASRC_ASRIER_ADIEA_MASK)
  8720. #define ASRC_ASRIER_ADIEB_MASK (0x2U)
  8721. #define ASRC_ASRIER_ADIEB_SHIFT (1U)
  8722. /*! ADIEB - ADIEB
  8723. * 0b1..interrupt enabled
  8724. * 0b0..interrupt disabled
  8725. */
  8726. #define ASRC_ASRIER_ADIEB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRIER_ADIEB_SHIFT)) & ASRC_ASRIER_ADIEB_MASK)
  8727. #define ASRC_ASRIER_ADIEC_MASK (0x4U)
  8728. #define ASRC_ASRIER_ADIEC_SHIFT (2U)
  8729. /*! ADIEC - ADIEC
  8730. * 0b1..interrupt enabled
  8731. * 0b0..interrupt disabled
  8732. */
  8733. #define ASRC_ASRIER_ADIEC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRIER_ADIEC_SHIFT)) & ASRC_ASRIER_ADIEC_MASK)
  8734. #define ASRC_ASRIER_ADOEA_MASK (0x8U)
  8735. #define ASRC_ASRIER_ADOEA_SHIFT (3U)
  8736. /*! ADOEA - ADOEA
  8737. * 0b1..interrupt enabled
  8738. * 0b0..interrupt disabled
  8739. */
  8740. #define ASRC_ASRIER_ADOEA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRIER_ADOEA_SHIFT)) & ASRC_ASRIER_ADOEA_MASK)
  8741. #define ASRC_ASRIER_ADOEB_MASK (0x10U)
  8742. #define ASRC_ASRIER_ADOEB_SHIFT (4U)
  8743. /*! ADOEB - ADOEB
  8744. * 0b1..interrupt enabled
  8745. * 0b0..interrupt disabled
  8746. */
  8747. #define ASRC_ASRIER_ADOEB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRIER_ADOEB_SHIFT)) & ASRC_ASRIER_ADOEB_MASK)
  8748. #define ASRC_ASRIER_ADOEC_MASK (0x20U)
  8749. #define ASRC_ASRIER_ADOEC_SHIFT (5U)
  8750. /*! ADOEC - ADOEC
  8751. * 0b1..interrupt enabled
  8752. * 0b0..interrupt disabled
  8753. */
  8754. #define ASRC_ASRIER_ADOEC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRIER_ADOEC_SHIFT)) & ASRC_ASRIER_ADOEC_MASK)
  8755. #define ASRC_ASRIER_AOLIE_MASK (0x40U)
  8756. #define ASRC_ASRIER_AOLIE_SHIFT (6U)
  8757. /*! AOLIE - AOLIE
  8758. * 0b1..interrupt enabled
  8759. * 0b0..interrupt disabled
  8760. */
  8761. #define ASRC_ASRIER_AOLIE(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRIER_AOLIE_SHIFT)) & ASRC_ASRIER_AOLIE_MASK)
  8762. #define ASRC_ASRIER_AFPWE_MASK (0x80U)
  8763. #define ASRC_ASRIER_AFPWE_SHIFT (7U)
  8764. /*! AFPWE - AFPWE
  8765. * 0b1..interrupt enabled
  8766. * 0b0..interrupt disabled
  8767. */
  8768. #define ASRC_ASRIER_AFPWE(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRIER_AFPWE_SHIFT)) & ASRC_ASRIER_AFPWE_MASK)
  8769. /*! @} */
  8770. /*! @name ASRCNCR - ASRC Channel Number Configuration Register */
  8771. /*! @{ */
  8772. #define ASRC_ASRCNCR_ANCA_MASK (0xFU)
  8773. #define ASRC_ASRCNCR_ANCA_SHIFT (0U)
  8774. /*! ANCA - ANCA
  8775. * 0b0000..0 channels in A (Pair A is disabled)
  8776. * 0b0001..1 channel in A
  8777. * 0b0010..2 channels in A
  8778. * 0b0011..3 channels in A
  8779. * 0b0100..4 channels in A
  8780. * 0b0101..5 channels in A
  8781. * 0b0110..6 channels in A
  8782. * 0b0111..7 channels in A
  8783. * 0b1000..8 channels in A
  8784. * 0b1001..9 channels in A
  8785. * 0b1010..10 channels in A
  8786. * 0b1011-0b1111..Should not be used.
  8787. */
  8788. #define ASRC_ASRCNCR_ANCA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCNCR_ANCA_SHIFT)) & ASRC_ASRCNCR_ANCA_MASK)
  8789. #define ASRC_ASRCNCR_ANCB_MASK (0xF0U)
  8790. #define ASRC_ASRCNCR_ANCB_SHIFT (4U)
  8791. /*! ANCB - ANCB
  8792. * 0b0000..0 channels in B (Pair B is disabled)
  8793. * 0b0001..1 channel in B
  8794. * 0b0010..2 channels in B
  8795. * 0b0011..3 channels in B
  8796. * 0b0100..4 channels in B
  8797. * 0b0101..5 channels in B
  8798. * 0b0110..6 channels in B
  8799. * 0b0111..7 channels in B
  8800. * 0b1000..8 channels in B
  8801. * 0b1001..9 channels in B
  8802. * 0b1010..10 channels in B
  8803. * 0b1011-0b1111..Should not be used.
  8804. */
  8805. #define ASRC_ASRCNCR_ANCB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCNCR_ANCB_SHIFT)) & ASRC_ASRCNCR_ANCB_MASK)
  8806. #define ASRC_ASRCNCR_ANCC_MASK (0xF00U)
  8807. #define ASRC_ASRCNCR_ANCC_SHIFT (8U)
  8808. /*! ANCC - ANCC
  8809. * 0b0000..0 channels in C (Pair C is disabled)
  8810. * 0b0001..1 channel in C
  8811. * 0b0010..2 channels in C
  8812. * 0b0011..3 channels in C
  8813. * 0b0100..4 channels in C
  8814. * 0b0101..5 channels in C
  8815. * 0b0110..6 channels in C
  8816. * 0b0111..7 channels in C
  8817. * 0b1000..8 channels in C
  8818. * 0b1001..9 channels in C
  8819. * 0b1010..10 channels in C
  8820. * 0b1011-0b1111..Should not be used.
  8821. */
  8822. #define ASRC_ASRCNCR_ANCC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCNCR_ANCC_SHIFT)) & ASRC_ASRCNCR_ANCC_MASK)
  8823. /*! @} */
  8824. /*! @name ASRCFG - ASRC Filter Configuration Status Register */
  8825. /*! @{ */
  8826. #define ASRC_ASRCFG_PREMODA_MASK (0xC0U)
  8827. #define ASRC_ASRCFG_PREMODA_SHIFT (6U)
  8828. /*! PREMODA - PREMODA
  8829. * 0b00..Select Upsampling-by-2
  8830. * 0b01..Select Direct-Connection
  8831. * 0b10..Select Downsampling-by-2
  8832. * 0b11..Select passthrough mode. In this case, POSTMODA[1:0] have no use.
  8833. */
  8834. #define ASRC_ASRCFG_PREMODA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCFG_PREMODA_SHIFT)) & ASRC_ASRCFG_PREMODA_MASK)
  8835. #define ASRC_ASRCFG_POSTMODA_MASK (0x300U)
  8836. #define ASRC_ASRCFG_POSTMODA_SHIFT (8U)
  8837. /*! POSTMODA - POSTMODA
  8838. * 0b00..Select Upsampling-by-2
  8839. * 0b01..Select Direct-Connection
  8840. * 0b10..Select Downsampling-by-2
  8841. * 0b11..Reserved.
  8842. */
  8843. #define ASRC_ASRCFG_POSTMODA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCFG_POSTMODA_SHIFT)) & ASRC_ASRCFG_POSTMODA_MASK)
  8844. #define ASRC_ASRCFG_PREMODB_MASK (0xC00U)
  8845. #define ASRC_ASRCFG_PREMODB_SHIFT (10U)
  8846. /*! PREMODB - PREMODB
  8847. * 0b00..Select Upsampling-by-2
  8848. * 0b01..Select Direct-Connection
  8849. * 0b10..Select Downsampling-by-2
  8850. * 0b11..Select passthrough mode. In this case, POSTMODB[1:0] have no use.
  8851. */
  8852. #define ASRC_ASRCFG_PREMODB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCFG_PREMODB_SHIFT)) & ASRC_ASRCFG_PREMODB_MASK)
  8853. #define ASRC_ASRCFG_POSTMODB_MASK (0x3000U)
  8854. #define ASRC_ASRCFG_POSTMODB_SHIFT (12U)
  8855. /*! POSTMODB - POSTMODB
  8856. * 0b00..Select Upsampling-by-2
  8857. * 0b01..Select Direct-Connection
  8858. * 0b10..Select Downsampling-by-2
  8859. * 0b11..Reserved.
  8860. */
  8861. #define ASRC_ASRCFG_POSTMODB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCFG_POSTMODB_SHIFT)) & ASRC_ASRCFG_POSTMODB_MASK)
  8862. #define ASRC_ASRCFG_PREMODC_MASK (0xC000U)
  8863. #define ASRC_ASRCFG_PREMODC_SHIFT (14U)
  8864. /*! PREMODC - PREMODC
  8865. * 0b00..Select Upsampling-by-2
  8866. * 0b01..Select Direct-Connection
  8867. * 0b10..Select Downsampling-by-2
  8868. * 0b11..Select passthrough mode. In this case, POSTMODC[1:0] have no use.
  8869. */
  8870. #define ASRC_ASRCFG_PREMODC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCFG_PREMODC_SHIFT)) & ASRC_ASRCFG_PREMODC_MASK)
  8871. #define ASRC_ASRCFG_POSTMODC_MASK (0x30000U)
  8872. #define ASRC_ASRCFG_POSTMODC_SHIFT (16U)
  8873. /*! POSTMODC - POSTMODC
  8874. * 0b00..Select Upsampling-by-2 as defined in Signal Processing Flow.
  8875. * 0b01..Select Direct-Connection as defined in Signal Processing Flow.
  8876. * 0b10..Select Downsampling-by-2 as defined in Signal Processing Flow.
  8877. * 0b11..Reserved.
  8878. */
  8879. #define ASRC_ASRCFG_POSTMODC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCFG_POSTMODC_SHIFT)) & ASRC_ASRCFG_POSTMODC_MASK)
  8880. #define ASRC_ASRCFG_NDPRA_MASK (0x40000U)
  8881. #define ASRC_ASRCFG_NDPRA_SHIFT (18U)
  8882. /*! NDPRA - NDPRA
  8883. * 0b0..Use default parameters for RAM-stored parameters. Override any parameters already in RAM.
  8884. * 0b1..Don't use default parameters for RAM-stored parameters. Use the parameters already stored in RAM.
  8885. */
  8886. #define ASRC_ASRCFG_NDPRA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCFG_NDPRA_SHIFT)) & ASRC_ASRCFG_NDPRA_MASK)
  8887. #define ASRC_ASRCFG_NDPRB_MASK (0x80000U)
  8888. #define ASRC_ASRCFG_NDPRB_SHIFT (19U)
  8889. /*! NDPRB - NDPRB
  8890. * 0b0..Use default parameters for RAM-stored parameters. Override any parameters already in RAM.
  8891. * 0b1..Don't use default parameters for RAM-stored parameter. Use the parameters already stored in RAM.
  8892. */
  8893. #define ASRC_ASRCFG_NDPRB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCFG_NDPRB_SHIFT)) & ASRC_ASRCFG_NDPRB_MASK)
  8894. #define ASRC_ASRCFG_NDPRC_MASK (0x100000U)
  8895. #define ASRC_ASRCFG_NDPRC_SHIFT (20U)
  8896. /*! NDPRC - NDPRC
  8897. * 0b0..Use default parameters for RAM-stored parameters. Override any parameters already in RAM.
  8898. * 0b1..Don't use default parameters for RAM-stored parameters. Use the parameters already stored in RAM.
  8899. */
  8900. #define ASRC_ASRCFG_NDPRC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCFG_NDPRC_SHIFT)) & ASRC_ASRCFG_NDPRC_MASK)
  8901. #define ASRC_ASRCFG_INIRQA_MASK (0x200000U)
  8902. #define ASRC_ASRCFG_INIRQA_SHIFT (21U)
  8903. /*! INIRQA - INIRQA
  8904. * 0b0..Initialization for Conversion Pair A not served
  8905. * 0b1..Initialization for Conversion Pair A served
  8906. */
  8907. #define ASRC_ASRCFG_INIRQA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCFG_INIRQA_SHIFT)) & ASRC_ASRCFG_INIRQA_MASK)
  8908. #define ASRC_ASRCFG_INIRQB_MASK (0x400000U)
  8909. #define ASRC_ASRCFG_INIRQB_SHIFT (22U)
  8910. /*! INIRQB - INIRQB
  8911. * 0b0..Initialization for Conversion Pair B not served
  8912. * 0b1..Initialization for Conversion Pair B served
  8913. */
  8914. #define ASRC_ASRCFG_INIRQB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCFG_INIRQB_SHIFT)) & ASRC_ASRCFG_INIRQB_MASK)
  8915. #define ASRC_ASRCFG_INIRQC_MASK (0x800000U)
  8916. #define ASRC_ASRCFG_INIRQC_SHIFT (23U)
  8917. /*! INIRQC - INIRQC
  8918. * 0b0..Initialization for Conversion Pair C not served
  8919. * 0b1..Initialization for Conversion Pair C served
  8920. */
  8921. #define ASRC_ASRCFG_INIRQC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCFG_INIRQC_SHIFT)) & ASRC_ASRCFG_INIRQC_MASK)
  8922. /*! @} */
  8923. /*! @name ASRCSR - ASRC Clock Source Register */
  8924. /*! @{ */
  8925. #define ASRC_ASRCSR_AICSA_MASK (0xFU)
  8926. #define ASRC_ASRCSR_AICSA_SHIFT (0U)
  8927. /*! AICSA - AICSA
  8928. * 0b0000..bit clock 0
  8929. * 0b0001..bit clock 1
  8930. * 0b0010..bit clock 2
  8931. * 0b0011..bit clock 3
  8932. * 0b0100..bit clock 4
  8933. * 0b0101..bit clock 5
  8934. * 0b0110..bit clock 6
  8935. * 0b0111..bit clock 7
  8936. * 0b1000..bit clock 8
  8937. * 0b1001..bit clock 9
  8938. * 0b1010..bit clock A
  8939. * 0b1011..bit clock B
  8940. * 0b1100..bit clock C
  8941. * 0b1101..bit clock D
  8942. * 0b1110..bit clock E
  8943. * 0b1111..clock disabled, connected to zero
  8944. */
  8945. #define ASRC_ASRCSR_AICSA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCSR_AICSA_SHIFT)) & ASRC_ASRCSR_AICSA_MASK)
  8946. #define ASRC_ASRCSR_AICSB_MASK (0xF0U)
  8947. #define ASRC_ASRCSR_AICSB_SHIFT (4U)
  8948. /*! AICSB - AICSB
  8949. * 0b0000..bit clock 0
  8950. * 0b0001..bit clock 1
  8951. * 0b0010..bit clock 2
  8952. * 0b0011..bit clock 3
  8953. * 0b0100..bit clock 4
  8954. * 0b0101..bit clock 5
  8955. * 0b0110..bit clock 6
  8956. * 0b0111..bit clock 7
  8957. * 0b1000..bit clock 8
  8958. * 0b1001..bit clock 9
  8959. * 0b1010..bit clock A
  8960. * 0b1011..bit clock B
  8961. * 0b1100..bit clock C
  8962. * 0b1101..bit clock D
  8963. * 0b1110..bit clock E
  8964. * 0b1111..clock disabled, connected to zero
  8965. */
  8966. #define ASRC_ASRCSR_AICSB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCSR_AICSB_SHIFT)) & ASRC_ASRCSR_AICSB_MASK)
  8967. #define ASRC_ASRCSR_AICSC_MASK (0xF00U)
  8968. #define ASRC_ASRCSR_AICSC_SHIFT (8U)
  8969. /*! AICSC - AICSC
  8970. * 0b0000..bit clock 0
  8971. * 0b0001..bit clock 1
  8972. * 0b0010..bit clock 2
  8973. * 0b0011..bit clock 3
  8974. * 0b0100..bit clock 4
  8975. * 0b0101..bit clock 5
  8976. * 0b0110..bit clock 6
  8977. * 0b0111..bit clock 7
  8978. * 0b1000..bit clock 8
  8979. * 0b1001..bit clock 9
  8980. * 0b1010..bit clock A
  8981. * 0b1011..bit clock B
  8982. * 0b1100..bit clock C
  8983. * 0b1101..bit clock D
  8984. * 0b1110..bit clock E
  8985. * 0b1111..clock disabled, connected to zero
  8986. */
  8987. #define ASRC_ASRCSR_AICSC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCSR_AICSC_SHIFT)) & ASRC_ASRCSR_AICSC_MASK)
  8988. #define ASRC_ASRCSR_AOCSA_MASK (0xF000U)
  8989. #define ASRC_ASRCSR_AOCSA_SHIFT (12U)
  8990. /*! AOCSA - AOCSA
  8991. * 0b0000..bit clock 0
  8992. * 0b0001..bit clock 1
  8993. * 0b0010..bit clock 2
  8994. * 0b0011..bit clock 3
  8995. * 0b0100..bit clock 4
  8996. * 0b0101..bit clock 5
  8997. * 0b0110..bit clock 6
  8998. * 0b0111..bit clock 7
  8999. * 0b1000..bit clock 8
  9000. * 0b1001..bit clock 9
  9001. * 0b1010..bit clock A
  9002. * 0b1011..bit clock B
  9003. * 0b1100..bit clock C
  9004. * 0b1101..bit clock D
  9005. * 0b1110..bit clock E
  9006. * 0b1111..clock disabled, connected to zero
  9007. */
  9008. #define ASRC_ASRCSR_AOCSA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCSR_AOCSA_SHIFT)) & ASRC_ASRCSR_AOCSA_MASK)
  9009. #define ASRC_ASRCSR_AOCSB_MASK (0xF0000U)
  9010. #define ASRC_ASRCSR_AOCSB_SHIFT (16U)
  9011. /*! AOCSB - AOCSB
  9012. * 0b0000..bit clock 0
  9013. * 0b0001..bit clock 1
  9014. * 0b0010..bit clock 2
  9015. * 0b0011..bit clock 3
  9016. * 0b0100..bit clock 4
  9017. * 0b0101..bit clock 5
  9018. * 0b0110..bit clock 6
  9019. * 0b0111..bit clock 7
  9020. * 0b1000..bit clock 8
  9021. * 0b1001..bit clock 9
  9022. * 0b1010..bit clock A
  9023. * 0b1011..bit clock B
  9024. * 0b1100..bit clock C
  9025. * 0b1101..bit clock D
  9026. * 0b1110..bit clock E
  9027. * 0b1111..clock disabled, connected to zero
  9028. */
  9029. #define ASRC_ASRCSR_AOCSB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCSR_AOCSB_SHIFT)) & ASRC_ASRCSR_AOCSB_MASK)
  9030. #define ASRC_ASRCSR_AOCSC_MASK (0xF00000U)
  9031. #define ASRC_ASRCSR_AOCSC_SHIFT (20U)
  9032. /*! AOCSC - AOCSC
  9033. * 0b0000..bit clock 0
  9034. * 0b0001..bit clock 1
  9035. * 0b0010..bit clock 2
  9036. * 0b0011..bit clock 3
  9037. * 0b0100..bit clock 4
  9038. * 0b0101..bit clock 5
  9039. * 0b0110..bit clock 6
  9040. * 0b0111..bit clock 7
  9041. * 0b1000..bit clock 8
  9042. * 0b1001..bit clock 9
  9043. * 0b1010..bit clock A
  9044. * 0b1011..bit clock B
  9045. * 0b1100..bit clock C
  9046. * 0b1101..bit clock D
  9047. * 0b1110..bit clock E
  9048. * 0b1111..clock disabled, connected to zero
  9049. */
  9050. #define ASRC_ASRCSR_AOCSC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCSR_AOCSC_SHIFT)) & ASRC_ASRCSR_AOCSC_MASK)
  9051. /*! @} */
  9052. /*! @name ASRCDR1 - ASRC Clock Divider Register 1 */
  9053. /*! @{ */
  9054. #define ASRC_ASRCDR1_AICPA_MASK (0x7U)
  9055. #define ASRC_ASRCDR1_AICPA_SHIFT (0U)
  9056. /*! AICPA - AICPA
  9057. */
  9058. #define ASRC_ASRCDR1_AICPA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCDR1_AICPA_SHIFT)) & ASRC_ASRCDR1_AICPA_MASK)
  9059. #define ASRC_ASRCDR1_AICDA_MASK (0x38U)
  9060. #define ASRC_ASRCDR1_AICDA_SHIFT (3U)
  9061. /*! AICDA - AICDA
  9062. */
  9063. #define ASRC_ASRCDR1_AICDA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCDR1_AICDA_SHIFT)) & ASRC_ASRCDR1_AICDA_MASK)
  9064. #define ASRC_ASRCDR1_AICPB_MASK (0x1C0U)
  9065. #define ASRC_ASRCDR1_AICPB_SHIFT (6U)
  9066. /*! AICPB - AICPB
  9067. */
  9068. #define ASRC_ASRCDR1_AICPB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCDR1_AICPB_SHIFT)) & ASRC_ASRCDR1_AICPB_MASK)
  9069. #define ASRC_ASRCDR1_AICDB_MASK (0xE00U)
  9070. #define ASRC_ASRCDR1_AICDB_SHIFT (9U)
  9071. /*! AICDB - AICDB
  9072. */
  9073. #define ASRC_ASRCDR1_AICDB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCDR1_AICDB_SHIFT)) & ASRC_ASRCDR1_AICDB_MASK)
  9074. #define ASRC_ASRCDR1_AOCPA_MASK (0x7000U)
  9075. #define ASRC_ASRCDR1_AOCPA_SHIFT (12U)
  9076. /*! AOCPA - AOCPA
  9077. */
  9078. #define ASRC_ASRCDR1_AOCPA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCDR1_AOCPA_SHIFT)) & ASRC_ASRCDR1_AOCPA_MASK)
  9079. #define ASRC_ASRCDR1_AOCDA_MASK (0x38000U)
  9080. #define ASRC_ASRCDR1_AOCDA_SHIFT (15U)
  9081. /*! AOCDA - AOCDA
  9082. */
  9083. #define ASRC_ASRCDR1_AOCDA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCDR1_AOCDA_SHIFT)) & ASRC_ASRCDR1_AOCDA_MASK)
  9084. #define ASRC_ASRCDR1_AOCPB_MASK (0x1C0000U)
  9085. #define ASRC_ASRCDR1_AOCPB_SHIFT (18U)
  9086. /*! AOCPB - AOCPB
  9087. */
  9088. #define ASRC_ASRCDR1_AOCPB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCDR1_AOCPB_SHIFT)) & ASRC_ASRCDR1_AOCPB_MASK)
  9089. #define ASRC_ASRCDR1_AOCDB_MASK (0xE00000U)
  9090. #define ASRC_ASRCDR1_AOCDB_SHIFT (21U)
  9091. /*! AOCDB - AOCDB
  9092. */
  9093. #define ASRC_ASRCDR1_AOCDB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCDR1_AOCDB_SHIFT)) & ASRC_ASRCDR1_AOCDB_MASK)
  9094. /*! @} */
  9095. /*! @name ASRCDR2 - ASRC Clock Divider Register 2 */
  9096. /*! @{ */
  9097. #define ASRC_ASRCDR2_AICPC_MASK (0x7U)
  9098. #define ASRC_ASRCDR2_AICPC_SHIFT (0U)
  9099. /*! AICPC - AICPC
  9100. */
  9101. #define ASRC_ASRCDR2_AICPC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCDR2_AICPC_SHIFT)) & ASRC_ASRCDR2_AICPC_MASK)
  9102. #define ASRC_ASRCDR2_AICDC_MASK (0x38U)
  9103. #define ASRC_ASRCDR2_AICDC_SHIFT (3U)
  9104. /*! AICDC - AICDC
  9105. */
  9106. #define ASRC_ASRCDR2_AICDC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCDR2_AICDC_SHIFT)) & ASRC_ASRCDR2_AICDC_MASK)
  9107. #define ASRC_ASRCDR2_AOCPC_MASK (0x1C0U)
  9108. #define ASRC_ASRCDR2_AOCPC_SHIFT (6U)
  9109. /*! AOCPC - AOCPC
  9110. */
  9111. #define ASRC_ASRCDR2_AOCPC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCDR2_AOCPC_SHIFT)) & ASRC_ASRCDR2_AOCPC_MASK)
  9112. #define ASRC_ASRCDR2_AOCDC_MASK (0xE00U)
  9113. #define ASRC_ASRCDR2_AOCDC_SHIFT (9U)
  9114. /*! AOCDC - AOCDC
  9115. */
  9116. #define ASRC_ASRCDR2_AOCDC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCDR2_AOCDC_SHIFT)) & ASRC_ASRCDR2_AOCDC_MASK)
  9117. /*! @} */
  9118. /*! @name ASRSTR - ASRC Status Register */
  9119. /*! @{ */
  9120. #define ASRC_ASRSTR_AIDEA_MASK (0x1U)
  9121. #define ASRC_ASRSTR_AIDEA_SHIFT (0U)
  9122. /*! AIDEA - AIDEA
  9123. * 0b1..When AIDEA is set, the ASRC generates data input A interrupt request to the processor if ASRIER[AIDEA] = 1
  9124. * 0b0..The threshold has been met and no data input A interrupt is generated
  9125. */
  9126. #define ASRC_ASRSTR_AIDEA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRSTR_AIDEA_SHIFT)) & ASRC_ASRSTR_AIDEA_MASK)
  9127. #define ASRC_ASRSTR_AIDEB_MASK (0x2U)
  9128. #define ASRC_ASRSTR_AIDEB_SHIFT (1U)
  9129. /*! AIDEB - AIDEB
  9130. * 0b1..When AIDEB is set, the ASRC generates data input B interrupt request to the processor if ASRIER[AIDEB] = 1
  9131. * 0b0..The threshold has been met and no data input B interrupt is generated
  9132. */
  9133. #define ASRC_ASRSTR_AIDEB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRSTR_AIDEB_SHIFT)) & ASRC_ASRSTR_AIDEB_MASK)
  9134. #define ASRC_ASRSTR_AIDEC_MASK (0x4U)
  9135. #define ASRC_ASRSTR_AIDEC_SHIFT (2U)
  9136. /*! AIDEC - AIDEC
  9137. * 0b1..When AIDEC is set, the ASRC generates data input C interrupt request to the processor if ASRIER[AIDEC] = 1
  9138. * 0b0..The threshold has been met and no data input C interrupt is generated
  9139. */
  9140. #define ASRC_ASRSTR_AIDEC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRSTR_AIDEC_SHIFT)) & ASRC_ASRSTR_AIDEC_MASK)
  9141. #define ASRC_ASRSTR_AODFA_MASK (0x8U)
  9142. #define ASRC_ASRSTR_AODFA_SHIFT (3U)
  9143. /*! AODFA - AODFA
  9144. * 0b1..When AODFA is set, the ASRC generates data output A interrupt request to the processor if ASRIER[ADOEA] = 1
  9145. * 0b0..The threshold has not yet been met and no data output A interrupt is generated
  9146. */
  9147. #define ASRC_ASRSTR_AODFA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRSTR_AODFA_SHIFT)) & ASRC_ASRSTR_AODFA_MASK)
  9148. #define ASRC_ASRSTR_AODFB_MASK (0x10U)
  9149. #define ASRC_ASRSTR_AODFB_SHIFT (4U)
  9150. /*! AODFB - AODFB
  9151. * 0b1..When AODFB is set, the ASRC generates data output B interrupt request to the processor if ASRIER[ADOEB] = 1
  9152. * 0b0..The threshold has not yet been met and no data output B interrupt is generated
  9153. */
  9154. #define ASRC_ASRSTR_AODFB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRSTR_AODFB_SHIFT)) & ASRC_ASRSTR_AODFB_MASK)
  9155. #define ASRC_ASRSTR_AODFC_MASK (0x20U)
  9156. #define ASRC_ASRSTR_AODFC_SHIFT (5U)
  9157. /*! AODFC - AODFC
  9158. * 0b1..When AODFC is set, the ASRC generates data output C interrupt request to the processor if ASRIER[ADOEC] = 1
  9159. * 0b0..The threshold has not yet been met and no data output C interrupt is generated
  9160. */
  9161. #define ASRC_ASRSTR_AODFC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRSTR_AODFC_SHIFT)) & ASRC_ASRSTR_AODFC_MASK)
  9162. #define ASRC_ASRSTR_AOLE_MASK (0x40U)
  9163. #define ASRC_ASRSTR_AOLE_SHIFT (6U)
  9164. /*! AOLE - AOLE
  9165. * 0b1..Task rate is too high
  9166. * 0b0..No overload
  9167. */
  9168. #define ASRC_ASRSTR_AOLE(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRSTR_AOLE_SHIFT)) & ASRC_ASRSTR_AOLE_MASK)
  9169. #define ASRC_ASRSTR_FPWT_MASK (0x80U)
  9170. #define ASRC_ASRSTR_FPWT_SHIFT (7U)
  9171. /*! FPWT - FPWT
  9172. * 0b0..ASRC is not in wait state
  9173. * 0b1..ASRC is in wait state
  9174. */
  9175. #define ASRC_ASRSTR_FPWT(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRSTR_FPWT_SHIFT)) & ASRC_ASRSTR_FPWT_MASK)
  9176. #define ASRC_ASRSTR_AIDUA_MASK (0x100U)
  9177. #define ASRC_ASRSTR_AIDUA_SHIFT (8U)
  9178. /*! AIDUA - AIDUA
  9179. * 0b0..No Underflow in Input data buffer A
  9180. * 0b1..Underflow in Input data buffer A
  9181. */
  9182. #define ASRC_ASRSTR_AIDUA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRSTR_AIDUA_SHIFT)) & ASRC_ASRSTR_AIDUA_MASK)
  9183. #define ASRC_ASRSTR_AIDUB_MASK (0x200U)
  9184. #define ASRC_ASRSTR_AIDUB_SHIFT (9U)
  9185. /*! AIDUB - AIDUB
  9186. * 0b0..No Underflow in Input data buffer B
  9187. * 0b1..Underflow in Input data buffer B
  9188. */
  9189. #define ASRC_ASRSTR_AIDUB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRSTR_AIDUB_SHIFT)) & ASRC_ASRSTR_AIDUB_MASK)
  9190. #define ASRC_ASRSTR_AIDUC_MASK (0x400U)
  9191. #define ASRC_ASRSTR_AIDUC_SHIFT (10U)
  9192. /*! AIDUC - AIDUC
  9193. * 0b0..No Underflow in Input data buffer C
  9194. * 0b1..Underflow in Input data buffer C
  9195. */
  9196. #define ASRC_ASRSTR_AIDUC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRSTR_AIDUC_SHIFT)) & ASRC_ASRSTR_AIDUC_MASK)
  9197. #define ASRC_ASRSTR_AODOA_MASK (0x800U)
  9198. #define ASRC_ASRSTR_AODOA_SHIFT (11U)
  9199. /*! AODOA - AODOA
  9200. * 0b0..No Overflow in Output data buffer A
  9201. * 0b1..Overflow in Output data buffer A
  9202. */
  9203. #define ASRC_ASRSTR_AODOA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRSTR_AODOA_SHIFT)) & ASRC_ASRSTR_AODOA_MASK)
  9204. #define ASRC_ASRSTR_AODOB_MASK (0x1000U)
  9205. #define ASRC_ASRSTR_AODOB_SHIFT (12U)
  9206. /*! AODOB - AODOB
  9207. * 0b0..No Overflow in Output data buffer B
  9208. * 0b1..Overflow in Output data buffer B
  9209. */
  9210. #define ASRC_ASRSTR_AODOB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRSTR_AODOB_SHIFT)) & ASRC_ASRSTR_AODOB_MASK)
  9211. #define ASRC_ASRSTR_AODOC_MASK (0x2000U)
  9212. #define ASRC_ASRSTR_AODOC_SHIFT (13U)
  9213. /*! AODOC - AODOC
  9214. * 0b0..No Overflow in Output data buffer C
  9215. * 0b1..Overflow in Output data buffer C
  9216. */
  9217. #define ASRC_ASRSTR_AODOC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRSTR_AODOC_SHIFT)) & ASRC_ASRSTR_AODOC_MASK)
  9218. #define ASRC_ASRSTR_AIOLA_MASK (0x4000U)
  9219. #define ASRC_ASRSTR_AIOLA_SHIFT (14U)
  9220. /*! AIOLA - AIOLA
  9221. * 0b0..Pair A input task is not oveloaded
  9222. * 0b1..Pair A input task is oveloaded
  9223. */
  9224. #define ASRC_ASRSTR_AIOLA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRSTR_AIOLA_SHIFT)) & ASRC_ASRSTR_AIOLA_MASK)
  9225. #define ASRC_ASRSTR_AIOLB_MASK (0x8000U)
  9226. #define ASRC_ASRSTR_AIOLB_SHIFT (15U)
  9227. /*! AIOLB - AIOLB
  9228. * 0b0..Pair B input task is not oveloaded
  9229. * 0b1..Pair B input task is oveloaded
  9230. */
  9231. #define ASRC_ASRSTR_AIOLB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRSTR_AIOLB_SHIFT)) & ASRC_ASRSTR_AIOLB_MASK)
  9232. #define ASRC_ASRSTR_AIOLC_MASK (0x10000U)
  9233. #define ASRC_ASRSTR_AIOLC_SHIFT (16U)
  9234. /*! AIOLC - AIOLC
  9235. * 0b0..Pair C input task is not oveloaded
  9236. * 0b1..Pair C input task is oveloaded
  9237. */
  9238. #define ASRC_ASRSTR_AIOLC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRSTR_AIOLC_SHIFT)) & ASRC_ASRSTR_AIOLC_MASK)
  9239. #define ASRC_ASRSTR_AOOLA_MASK (0x20000U)
  9240. #define ASRC_ASRSTR_AOOLA_SHIFT (17U)
  9241. /*! AOOLA - AOOLA
  9242. * 0b0..Pair A output task is not oveloaded
  9243. * 0b1..Pair A output task is oveloaded
  9244. */
  9245. #define ASRC_ASRSTR_AOOLA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRSTR_AOOLA_SHIFT)) & ASRC_ASRSTR_AOOLA_MASK)
  9246. #define ASRC_ASRSTR_AOOLB_MASK (0x40000U)
  9247. #define ASRC_ASRSTR_AOOLB_SHIFT (18U)
  9248. /*! AOOLB - AOOLB
  9249. * 0b0..Pair B output task is not oveloaded
  9250. * 0b1..Pair B output task is oveloaded
  9251. */
  9252. #define ASRC_ASRSTR_AOOLB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRSTR_AOOLB_SHIFT)) & ASRC_ASRSTR_AOOLB_MASK)
  9253. #define ASRC_ASRSTR_AOOLC_MASK (0x80000U)
  9254. #define ASRC_ASRSTR_AOOLC_SHIFT (19U)
  9255. /*! AOOLC - AOOLC
  9256. * 0b0..Pair C output task is not oveloaded
  9257. * 0b1..Pair C output task is oveloaded
  9258. */
  9259. #define ASRC_ASRSTR_AOOLC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRSTR_AOOLC_SHIFT)) & ASRC_ASRSTR_AOOLC_MASK)
  9260. #define ASRC_ASRSTR_ATQOL_MASK (0x100000U)
  9261. #define ASRC_ASRSTR_ATQOL_SHIFT (20U)
  9262. /*! ATQOL - ATQOL
  9263. * 0b0..Task queue FIFO logic is not oveloaded
  9264. * 0b1..Task queue FIFO logic is oveloaded
  9265. */
  9266. #define ASRC_ASRSTR_ATQOL(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRSTR_ATQOL_SHIFT)) & ASRC_ASRSTR_ATQOL_MASK)
  9267. #define ASRC_ASRSTR_DSLCNT_MASK (0x200000U)
  9268. #define ASRC_ASRSTR_DSLCNT_SHIFT (21U)
  9269. /*! DSLCNT - DSLCNT
  9270. * 0b0..New DSL counter information is in the process of storage into the internal ASRC FIFO
  9271. * 0b1..New DSL counter information is stored in the internal ASRC FIFO
  9272. */
  9273. #define ASRC_ASRSTR_DSLCNT(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRSTR_DSLCNT_SHIFT)) & ASRC_ASRSTR_DSLCNT_MASK)
  9274. /*! @} */
  9275. /*! @name ASRPM - ASRC Parameter Register n */
  9276. /*! @{ */
  9277. #define ASRC_ASRPM_PARAMETER_VALUE_MASK (0xFFFFFFU)
  9278. #define ASRC_ASRPM_PARAMETER_VALUE_SHIFT (0U)
  9279. /*! PARAMETER_VALUE - PARAMETER_VALUE
  9280. */
  9281. #define ASRC_ASRPM_PARAMETER_VALUE(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRPM_PARAMETER_VALUE_SHIFT)) & ASRC_ASRPM_PARAMETER_VALUE_MASK)
  9282. /*! @} */
  9283. /* The count of ASRC_ASRPM */
  9284. #define ASRC_ASRPM_COUNT (5U)
  9285. /*! @name ASRTFR1 - ASRC Task Queue FIFO Register 1 */
  9286. /*! @{ */
  9287. #define ASRC_ASRTFR1_TF_BASE_MASK (0x1FC0U)
  9288. #define ASRC_ASRTFR1_TF_BASE_SHIFT (6U)
  9289. /*! TF_BASE - TF_BASE
  9290. */
  9291. #define ASRC_ASRTFR1_TF_BASE(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRTFR1_TF_BASE_SHIFT)) & ASRC_ASRTFR1_TF_BASE_MASK)
  9292. #define ASRC_ASRTFR1_TF_FILL_MASK (0xFE000U)
  9293. #define ASRC_ASRTFR1_TF_FILL_SHIFT (13U)
  9294. /*! TF_FILL - TF_FILL
  9295. */
  9296. #define ASRC_ASRTFR1_TF_FILL(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRTFR1_TF_FILL_SHIFT)) & ASRC_ASRTFR1_TF_FILL_MASK)
  9297. /*! @} */
  9298. /*! @name ASRCCR - ASRC Channel Counter Register */
  9299. /*! @{ */
  9300. #define ASRC_ASRCCR_ACIA_MASK (0xFU)
  9301. #define ASRC_ASRCCR_ACIA_SHIFT (0U)
  9302. /*! ACIA - ACIA
  9303. */
  9304. #define ASRC_ASRCCR_ACIA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCCR_ACIA_SHIFT)) & ASRC_ASRCCR_ACIA_MASK)
  9305. #define ASRC_ASRCCR_ACIB_MASK (0xF0U)
  9306. #define ASRC_ASRCCR_ACIB_SHIFT (4U)
  9307. /*! ACIB - ACIB
  9308. */
  9309. #define ASRC_ASRCCR_ACIB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCCR_ACIB_SHIFT)) & ASRC_ASRCCR_ACIB_MASK)
  9310. #define ASRC_ASRCCR_ACIC_MASK (0xF00U)
  9311. #define ASRC_ASRCCR_ACIC_SHIFT (8U)
  9312. /*! ACIC - ACIC
  9313. */
  9314. #define ASRC_ASRCCR_ACIC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCCR_ACIC_SHIFT)) & ASRC_ASRCCR_ACIC_MASK)
  9315. #define ASRC_ASRCCR_ACOA_MASK (0xF000U)
  9316. #define ASRC_ASRCCR_ACOA_SHIFT (12U)
  9317. /*! ACOA - ACOA
  9318. */
  9319. #define ASRC_ASRCCR_ACOA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCCR_ACOA_SHIFT)) & ASRC_ASRCCR_ACOA_MASK)
  9320. #define ASRC_ASRCCR_ACOB_MASK (0xF0000U)
  9321. #define ASRC_ASRCCR_ACOB_SHIFT (16U)
  9322. /*! ACOB - ACOB
  9323. */
  9324. #define ASRC_ASRCCR_ACOB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCCR_ACOB_SHIFT)) & ASRC_ASRCCR_ACOB_MASK)
  9325. #define ASRC_ASRCCR_ACOC_MASK (0xF00000U)
  9326. #define ASRC_ASRCCR_ACOC_SHIFT (20U)
  9327. /*! ACOC - ACOC
  9328. */
  9329. #define ASRC_ASRCCR_ACOC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCCR_ACOC_SHIFT)) & ASRC_ASRCCR_ACOC_MASK)
  9330. /*! @} */
  9331. /*! @name ASRDIA - ASRC Data Input Register for Pair x */
  9332. /*! @{ */
  9333. #define ASRC_ASRDIA_DATA_MASK (0xFFFFFFU)
  9334. #define ASRC_ASRDIA_DATA_SHIFT (0U)
  9335. /*! DATA - DATA
  9336. */
  9337. #define ASRC_ASRDIA_DATA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRDIA_DATA_SHIFT)) & ASRC_ASRDIA_DATA_MASK)
  9338. /*! @} */
  9339. /*! @name ASRDOA - ASRC Data Output Register for Pair x */
  9340. /*! @{ */
  9341. #define ASRC_ASRDOA_DATA_MASK (0xFFFFFFU)
  9342. #define ASRC_ASRDOA_DATA_SHIFT (0U)
  9343. /*! DATA - DATA
  9344. */
  9345. #define ASRC_ASRDOA_DATA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRDOA_DATA_SHIFT)) & ASRC_ASRDOA_DATA_MASK)
  9346. /*! @} */
  9347. /*! @name ASRDIB - ASRC Data Input Register for Pair x */
  9348. /*! @{ */
  9349. #define ASRC_ASRDIB_DATA_MASK (0xFFFFFFU)
  9350. #define ASRC_ASRDIB_DATA_SHIFT (0U)
  9351. /*! DATA - DATA
  9352. */
  9353. #define ASRC_ASRDIB_DATA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRDIB_DATA_SHIFT)) & ASRC_ASRDIB_DATA_MASK)
  9354. /*! @} */
  9355. /*! @name ASRDOB - ASRC Data Output Register for Pair x */
  9356. /*! @{ */
  9357. #define ASRC_ASRDOB_DATA_MASK (0xFFFFFFU)
  9358. #define ASRC_ASRDOB_DATA_SHIFT (0U)
  9359. /*! DATA - DATA
  9360. */
  9361. #define ASRC_ASRDOB_DATA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRDOB_DATA_SHIFT)) & ASRC_ASRDOB_DATA_MASK)
  9362. /*! @} */
  9363. /*! @name ASRDIC - ASRC Data Input Register for Pair x */
  9364. /*! @{ */
  9365. #define ASRC_ASRDIC_DATA_MASK (0xFFFFFFU)
  9366. #define ASRC_ASRDIC_DATA_SHIFT (0U)
  9367. /*! DATA - DATA
  9368. */
  9369. #define ASRC_ASRDIC_DATA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRDIC_DATA_SHIFT)) & ASRC_ASRDIC_DATA_MASK)
  9370. /*! @} */
  9371. /*! @name ASRDOC - ASRC Data Output Register for Pair x */
  9372. /*! @{ */
  9373. #define ASRC_ASRDOC_DATA_MASK (0xFFFFFFU)
  9374. #define ASRC_ASRDOC_DATA_SHIFT (0U)
  9375. /*! DATA - DATA
  9376. */
  9377. #define ASRC_ASRDOC_DATA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRDOC_DATA_SHIFT)) & ASRC_ASRDOC_DATA_MASK)
  9378. /*! @} */
  9379. /*! @name ASRIDRHA - ASRC Ideal Ratio for Pair A-High Part */
  9380. /*! @{ */
  9381. #define ASRC_ASRIDRHA_IDRATIOA_H_MASK (0xFFU)
  9382. #define ASRC_ASRIDRHA_IDRATIOA_H_SHIFT (0U)
  9383. /*! IDRATIOA_H - IDRATIOA_H
  9384. */
  9385. #define ASRC_ASRIDRHA_IDRATIOA_H(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRIDRHA_IDRATIOA_H_SHIFT)) & ASRC_ASRIDRHA_IDRATIOA_H_MASK)
  9386. /*! @} */
  9387. /*! @name ASRIDRLA - ASRC Ideal Ratio for Pair A -Low Part */
  9388. /*! @{ */
  9389. #define ASRC_ASRIDRLA_IDRATIOA_L_MASK (0xFFFFFFU)
  9390. #define ASRC_ASRIDRLA_IDRATIOA_L_SHIFT (0U)
  9391. /*! IDRATIOA_L - IDRATIOA_L
  9392. */
  9393. #define ASRC_ASRIDRLA_IDRATIOA_L(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRIDRLA_IDRATIOA_L_SHIFT)) & ASRC_ASRIDRLA_IDRATIOA_L_MASK)
  9394. /*! @} */
  9395. /*! @name ASRIDRHB - ASRC Ideal Ratio for Pair B-High Part */
  9396. /*! @{ */
  9397. #define ASRC_ASRIDRHB_IDRATIOB_H_MASK (0xFFU)
  9398. #define ASRC_ASRIDRHB_IDRATIOB_H_SHIFT (0U)
  9399. /*! IDRATIOB_H - IDRATIOB_H
  9400. */
  9401. #define ASRC_ASRIDRHB_IDRATIOB_H(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRIDRHB_IDRATIOB_H_SHIFT)) & ASRC_ASRIDRHB_IDRATIOB_H_MASK)
  9402. /*! @} */
  9403. /*! @name ASRIDRLB - ASRC Ideal Ratio for Pair B-Low Part */
  9404. /*! @{ */
  9405. #define ASRC_ASRIDRLB_IDRATIOB_L_MASK (0xFFFFFFU)
  9406. #define ASRC_ASRIDRLB_IDRATIOB_L_SHIFT (0U)
  9407. /*! IDRATIOB_L - IDRATIOB_L
  9408. */
  9409. #define ASRC_ASRIDRLB_IDRATIOB_L(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRIDRLB_IDRATIOB_L_SHIFT)) & ASRC_ASRIDRLB_IDRATIOB_L_MASK)
  9410. /*! @} */
  9411. /*! @name ASRIDRHC - ASRC Ideal Ratio for Pair C-High Part */
  9412. /*! @{ */
  9413. #define ASRC_ASRIDRHC_IDRATIOC_H_MASK (0xFFU)
  9414. #define ASRC_ASRIDRHC_IDRATIOC_H_SHIFT (0U)
  9415. /*! IDRATIOC_H - IDRATIOC_H
  9416. */
  9417. #define ASRC_ASRIDRHC_IDRATIOC_H(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRIDRHC_IDRATIOC_H_SHIFT)) & ASRC_ASRIDRHC_IDRATIOC_H_MASK)
  9418. /*! @} */
  9419. /*! @name ASRIDRLC - ASRC Ideal Ratio for Pair C-Low Part */
  9420. /*! @{ */
  9421. #define ASRC_ASRIDRLC_IDRATIOC_L_MASK (0xFFFFFFU)
  9422. #define ASRC_ASRIDRLC_IDRATIOC_L_SHIFT (0U)
  9423. /*! IDRATIOC_L - IDRATIOC_L
  9424. */
  9425. #define ASRC_ASRIDRLC_IDRATIOC_L(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRIDRLC_IDRATIOC_L_SHIFT)) & ASRC_ASRIDRLC_IDRATIOC_L_MASK)
  9426. /*! @} */
  9427. /*! @name ASR76K - ASRC 76 kHz Period in terms of ASRC processing clock */
  9428. /*! @{ */
  9429. #define ASRC_ASR76K_ASR76K_MASK (0x1FFFFU)
  9430. #define ASRC_ASR76K_ASR76K_SHIFT (0U)
  9431. /*! ASR76K - ASR76K
  9432. */
  9433. #define ASRC_ASR76K_ASR76K(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASR76K_ASR76K_SHIFT)) & ASRC_ASR76K_ASR76K_MASK)
  9434. /*! @} */
  9435. /*! @name ASR56K - ASRC 56 kHz Period in terms of ASRC processing clock */
  9436. /*! @{ */
  9437. #define ASRC_ASR56K_ASR56K_MASK (0x1FFFFU)
  9438. #define ASRC_ASR56K_ASR56K_SHIFT (0U)
  9439. /*! ASR56K - ASR56K
  9440. */
  9441. #define ASRC_ASR56K_ASR56K(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASR56K_ASR56K_SHIFT)) & ASRC_ASR56K_ASR56K_MASK)
  9442. /*! @} */
  9443. /*! @name ASRMCRA - ASRC Misc Control Register for Pair A */
  9444. /*! @{ */
  9445. #define ASRC_ASRMCRA_INFIFO_THRESHOLDA_MASK (0x3FU)
  9446. #define ASRC_ASRMCRA_INFIFO_THRESHOLDA_SHIFT (0U)
  9447. /*! INFIFO_THRESHOLDA - INFIFO_THRESHOLDA
  9448. */
  9449. #define ASRC_ASRMCRA_INFIFO_THRESHOLDA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCRA_INFIFO_THRESHOLDA_SHIFT)) & ASRC_ASRMCRA_INFIFO_THRESHOLDA_MASK)
  9450. #define ASRC_ASRMCRA_RSYNOFA_MASK (0x400U)
  9451. #define ASRC_ASRMCRA_RSYNOFA_SHIFT (10U)
  9452. /*! RSYNOFA - RSYNOFA
  9453. * 0b1..Force ASRCCR[ACOA]=0
  9454. * 0b0..Do not touch ASRCCR[ACOA]
  9455. */
  9456. #define ASRC_ASRMCRA_RSYNOFA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCRA_RSYNOFA_SHIFT)) & ASRC_ASRMCRA_RSYNOFA_MASK)
  9457. #define ASRC_ASRMCRA_RSYNIFA_MASK (0x800U)
  9458. #define ASRC_ASRMCRA_RSYNIFA_SHIFT (11U)
  9459. /*! RSYNIFA - RSYNIFA
  9460. * 0b1..Force ASRCCR[ACIA]=0
  9461. * 0b0..Do not touch ASRCCR[ACIA]
  9462. */
  9463. #define ASRC_ASRMCRA_RSYNIFA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCRA_RSYNIFA_SHIFT)) & ASRC_ASRMCRA_RSYNIFA_MASK)
  9464. #define ASRC_ASRMCRA_OUTFIFO_THRESHOLDA_MASK (0x3F000U)
  9465. #define ASRC_ASRMCRA_OUTFIFO_THRESHOLDA_SHIFT (12U)
  9466. /*! OUTFIFO_THRESHOLDA - OUTFIFO_THRESHOLDA
  9467. */
  9468. #define ASRC_ASRMCRA_OUTFIFO_THRESHOLDA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCRA_OUTFIFO_THRESHOLDA_SHIFT)) & ASRC_ASRMCRA_OUTFIFO_THRESHOLDA_MASK)
  9469. #define ASRC_ASRMCRA_BYPASSPOLYA_MASK (0x100000U)
  9470. #define ASRC_ASRMCRA_BYPASSPOLYA_SHIFT (20U)
  9471. /*! BYPASSPOLYA - BYPASSPOLYA
  9472. * 0b1..Bypass polyphase filtering.
  9473. * 0b0..Don't bypass polyphase filtering.
  9474. */
  9475. #define ASRC_ASRMCRA_BYPASSPOLYA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCRA_BYPASSPOLYA_SHIFT)) & ASRC_ASRMCRA_BYPASSPOLYA_MASK)
  9476. #define ASRC_ASRMCRA_BUFSTALLA_MASK (0x200000U)
  9477. #define ASRC_ASRMCRA_BUFSTALLA_SHIFT (21U)
  9478. /*! BUFSTALLA - BUFSTALLA
  9479. * 0b1..Stall Pair A conversion in case of near empty/full FIFO conditions.
  9480. * 0b0..Don't stall Pair A conversion even in case of near empty/full FIFO conditions.
  9481. */
  9482. #define ASRC_ASRMCRA_BUFSTALLA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCRA_BUFSTALLA_SHIFT)) & ASRC_ASRMCRA_BUFSTALLA_MASK)
  9483. #define ASRC_ASRMCRA_EXTTHRSHA_MASK (0x400000U)
  9484. #define ASRC_ASRMCRA_EXTTHRSHA_SHIFT (22U)
  9485. /*! EXTTHRSHA - EXTTHRSHA
  9486. * 0b1..Use external defined thresholds.
  9487. * 0b0..Use default thresholds.
  9488. */
  9489. #define ASRC_ASRMCRA_EXTTHRSHA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCRA_EXTTHRSHA_SHIFT)) & ASRC_ASRMCRA_EXTTHRSHA_MASK)
  9490. #define ASRC_ASRMCRA_ZEROBUFA_MASK (0x800000U)
  9491. #define ASRC_ASRMCRA_ZEROBUFA_SHIFT (23U)
  9492. /*! ZEROBUFA - ZEROBUFA
  9493. * 0b1..Don't zeroize the buffer
  9494. * 0b0..Zeroize the buffer
  9495. */
  9496. #define ASRC_ASRMCRA_ZEROBUFA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCRA_ZEROBUFA_SHIFT)) & ASRC_ASRMCRA_ZEROBUFA_MASK)
  9497. /*! @} */
  9498. /*! @name ASRFSTA - ASRC FIFO Status Register for Pair A */
  9499. /*! @{ */
  9500. #define ASRC_ASRFSTA_INFIFO_FILLA_MASK (0x7FU)
  9501. #define ASRC_ASRFSTA_INFIFO_FILLA_SHIFT (0U)
  9502. /*! INFIFO_FILLA - INFIFO_FILLA
  9503. */
  9504. #define ASRC_ASRFSTA_INFIFO_FILLA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRFSTA_INFIFO_FILLA_SHIFT)) & ASRC_ASRFSTA_INFIFO_FILLA_MASK)
  9505. #define ASRC_ASRFSTA_IAEA_MASK (0x800U)
  9506. #define ASRC_ASRFSTA_IAEA_SHIFT (11U)
  9507. /*! IAEA - IAEA
  9508. * 0b1..Input FIFO is near empty for Pair A
  9509. * 0b0..Input FIFO is not near empty for Pair A
  9510. */
  9511. #define ASRC_ASRFSTA_IAEA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRFSTA_IAEA_SHIFT)) & ASRC_ASRFSTA_IAEA_MASK)
  9512. #define ASRC_ASRFSTA_OUTFIFO_FILLA_MASK (0x7F000U)
  9513. #define ASRC_ASRFSTA_OUTFIFO_FILLA_SHIFT (12U)
  9514. /*! OUTFIFO_FILLA - OUTFIFO_FILLA
  9515. */
  9516. #define ASRC_ASRFSTA_OUTFIFO_FILLA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRFSTA_OUTFIFO_FILLA_SHIFT)) & ASRC_ASRFSTA_OUTFIFO_FILLA_MASK)
  9517. #define ASRC_ASRFSTA_OAFA_MASK (0x800000U)
  9518. #define ASRC_ASRFSTA_OAFA_SHIFT (23U)
  9519. /*! OAFA - OAFA
  9520. * 0b1..Output FIFO is near full for Pair A
  9521. * 0b0..Output FIFO is not near full for Pair A
  9522. */
  9523. #define ASRC_ASRFSTA_OAFA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRFSTA_OAFA_SHIFT)) & ASRC_ASRFSTA_OAFA_MASK)
  9524. /*! @} */
  9525. /*! @name ASRMCRB - ASRC Misc Control Register for Pair B */
  9526. /*! @{ */
  9527. #define ASRC_ASRMCRB_INFIFO_THRESHOLDB_MASK (0x3FU)
  9528. #define ASRC_ASRMCRB_INFIFO_THRESHOLDB_SHIFT (0U)
  9529. /*! INFIFO_THRESHOLDB - INFIFO_THRESHOLDB
  9530. */
  9531. #define ASRC_ASRMCRB_INFIFO_THRESHOLDB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCRB_INFIFO_THRESHOLDB_SHIFT)) & ASRC_ASRMCRB_INFIFO_THRESHOLDB_MASK)
  9532. #define ASRC_ASRMCRB_RSYNOFB_MASK (0x400U)
  9533. #define ASRC_ASRMCRB_RSYNOFB_SHIFT (10U)
  9534. /*! RSYNOFB - RSYNOFB
  9535. * 0b1..Force ASRCCR[ACOB]=0
  9536. * 0b0..Do not touch ASRCCR[ACOB]
  9537. */
  9538. #define ASRC_ASRMCRB_RSYNOFB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCRB_RSYNOFB_SHIFT)) & ASRC_ASRMCRB_RSYNOFB_MASK)
  9539. #define ASRC_ASRMCRB_RSYNIFB_MASK (0x800U)
  9540. #define ASRC_ASRMCRB_RSYNIFB_SHIFT (11U)
  9541. /*! RSYNIFB - RSYNIFB
  9542. * 0b1..Force ASRCCR[ACIB]=0
  9543. * 0b0..Do not touch ASRCCR[ACIB]
  9544. */
  9545. #define ASRC_ASRMCRB_RSYNIFB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCRB_RSYNIFB_SHIFT)) & ASRC_ASRMCRB_RSYNIFB_MASK)
  9546. #define ASRC_ASRMCRB_OUTFIFO_THRESHOLDB_MASK (0x3F000U)
  9547. #define ASRC_ASRMCRB_OUTFIFO_THRESHOLDB_SHIFT (12U)
  9548. /*! OUTFIFO_THRESHOLDB - OUTFIFO_THRESHOLDB
  9549. */
  9550. #define ASRC_ASRMCRB_OUTFIFO_THRESHOLDB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCRB_OUTFIFO_THRESHOLDB_SHIFT)) & ASRC_ASRMCRB_OUTFIFO_THRESHOLDB_MASK)
  9551. #define ASRC_ASRMCRB_BYPASSPOLYB_MASK (0x100000U)
  9552. #define ASRC_ASRMCRB_BYPASSPOLYB_SHIFT (20U)
  9553. /*! BYPASSPOLYB - BYPASSPOLYB
  9554. * 0b1..Bypass polyphase filtering.
  9555. * 0b0..Don't bypass polyphase filtering.
  9556. */
  9557. #define ASRC_ASRMCRB_BYPASSPOLYB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCRB_BYPASSPOLYB_SHIFT)) & ASRC_ASRMCRB_BYPASSPOLYB_MASK)
  9558. #define ASRC_ASRMCRB_BUFSTALLB_MASK (0x200000U)
  9559. #define ASRC_ASRMCRB_BUFSTALLB_SHIFT (21U)
  9560. /*! BUFSTALLB - BUFSTALLB
  9561. * 0b1..Stall Pair B conversion in case of near empty/full FIFO conditions.
  9562. * 0b0..Don't stall Pair B conversion even in case of near empty/full FIFO conditions.
  9563. */
  9564. #define ASRC_ASRMCRB_BUFSTALLB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCRB_BUFSTALLB_SHIFT)) & ASRC_ASRMCRB_BUFSTALLB_MASK)
  9565. #define ASRC_ASRMCRB_EXTTHRSHB_MASK (0x400000U)
  9566. #define ASRC_ASRMCRB_EXTTHRSHB_SHIFT (22U)
  9567. /*! EXTTHRSHB - EXTTHRSHB
  9568. * 0b1..Use external defined thresholds.
  9569. * 0b0..Use default thresholds.
  9570. */
  9571. #define ASRC_ASRMCRB_EXTTHRSHB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCRB_EXTTHRSHB_SHIFT)) & ASRC_ASRMCRB_EXTTHRSHB_MASK)
  9572. #define ASRC_ASRMCRB_ZEROBUFB_MASK (0x800000U)
  9573. #define ASRC_ASRMCRB_ZEROBUFB_SHIFT (23U)
  9574. /*! ZEROBUFB - ZEROBUFB
  9575. * 0b1..Don't zeroize the buffer
  9576. * 0b0..Zeroize the buffer
  9577. */
  9578. #define ASRC_ASRMCRB_ZEROBUFB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCRB_ZEROBUFB_SHIFT)) & ASRC_ASRMCRB_ZEROBUFB_MASK)
  9579. /*! @} */
  9580. /*! @name ASRFSTB - ASRC FIFO Status Register for Pair B */
  9581. /*! @{ */
  9582. #define ASRC_ASRFSTB_INFIFO_FILLB_MASK (0x7FU)
  9583. #define ASRC_ASRFSTB_INFIFO_FILLB_SHIFT (0U)
  9584. /*! INFIFO_FILLB - INFIFO_FILLB
  9585. */
  9586. #define ASRC_ASRFSTB_INFIFO_FILLB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRFSTB_INFIFO_FILLB_SHIFT)) & ASRC_ASRFSTB_INFIFO_FILLB_MASK)
  9587. #define ASRC_ASRFSTB_IAEB_MASK (0x800U)
  9588. #define ASRC_ASRFSTB_IAEB_SHIFT (11U)
  9589. /*! IAEB - IAEB
  9590. * 0b1..Input FIFO is near empty for Pair B
  9591. * 0b0..Input FIFO is not near empty for Pair B
  9592. */
  9593. #define ASRC_ASRFSTB_IAEB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRFSTB_IAEB_SHIFT)) & ASRC_ASRFSTB_IAEB_MASK)
  9594. #define ASRC_ASRFSTB_OUTFIFO_FILLB_MASK (0x7F000U)
  9595. #define ASRC_ASRFSTB_OUTFIFO_FILLB_SHIFT (12U)
  9596. /*! OUTFIFO_FILLB - OUTFIFO_FILLB
  9597. */
  9598. #define ASRC_ASRFSTB_OUTFIFO_FILLB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRFSTB_OUTFIFO_FILLB_SHIFT)) & ASRC_ASRFSTB_OUTFIFO_FILLB_MASK)
  9599. #define ASRC_ASRFSTB_OAFB_MASK (0x800000U)
  9600. #define ASRC_ASRFSTB_OAFB_SHIFT (23U)
  9601. /*! OAFB - OAFB
  9602. * 0b1..Output FIFO is near full for Pair B
  9603. * 0b0..Output FIFO is not near full for Pair B
  9604. */
  9605. #define ASRC_ASRFSTB_OAFB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRFSTB_OAFB_SHIFT)) & ASRC_ASRFSTB_OAFB_MASK)
  9606. /*! @} */
  9607. /*! @name ASRMCRC - ASRC Misc Control Register for Pair C */
  9608. /*! @{ */
  9609. #define ASRC_ASRMCRC_INFIFO_THRESHOLDC_MASK (0x3FU)
  9610. #define ASRC_ASRMCRC_INFIFO_THRESHOLDC_SHIFT (0U)
  9611. /*! INFIFO_THRESHOLDC - INFIFO_THRESHOLDC
  9612. */
  9613. #define ASRC_ASRMCRC_INFIFO_THRESHOLDC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCRC_INFIFO_THRESHOLDC_SHIFT)) & ASRC_ASRMCRC_INFIFO_THRESHOLDC_MASK)
  9614. #define ASRC_ASRMCRC_RSYNOFC_MASK (0x400U)
  9615. #define ASRC_ASRMCRC_RSYNOFC_SHIFT (10U)
  9616. /*! RSYNOFC - RSYNOFC
  9617. * 0b1..Force ASRCCR[ACOC]=0
  9618. * 0b0..Do not touch ASRCCR[ACOC]
  9619. */
  9620. #define ASRC_ASRMCRC_RSYNOFC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCRC_RSYNOFC_SHIFT)) & ASRC_ASRMCRC_RSYNOFC_MASK)
  9621. #define ASRC_ASRMCRC_RSYNIFC_MASK (0x800U)
  9622. #define ASRC_ASRMCRC_RSYNIFC_SHIFT (11U)
  9623. /*! RSYNIFC - RSYNIFC
  9624. * 0b1..Force ASRCCR[ACIC]=0
  9625. * 0b0..Do not touch ASRCCR[ACIC]
  9626. */
  9627. #define ASRC_ASRMCRC_RSYNIFC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCRC_RSYNIFC_SHIFT)) & ASRC_ASRMCRC_RSYNIFC_MASK)
  9628. #define ASRC_ASRMCRC_OUTFIFO_THRESHOLDC_MASK (0x3F000U)
  9629. #define ASRC_ASRMCRC_OUTFIFO_THRESHOLDC_SHIFT (12U)
  9630. /*! OUTFIFO_THRESHOLDC - OUTFIFO_THRESHOLDC
  9631. */
  9632. #define ASRC_ASRMCRC_OUTFIFO_THRESHOLDC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCRC_OUTFIFO_THRESHOLDC_SHIFT)) & ASRC_ASRMCRC_OUTFIFO_THRESHOLDC_MASK)
  9633. #define ASRC_ASRMCRC_BYPASSPOLYC_MASK (0x100000U)
  9634. #define ASRC_ASRMCRC_BYPASSPOLYC_SHIFT (20U)
  9635. /*! BYPASSPOLYC - BYPASSPOLYC
  9636. * 0b1..Bypass polyphase filtering.
  9637. * 0b0..Don't bypass polyphase filtering.
  9638. */
  9639. #define ASRC_ASRMCRC_BYPASSPOLYC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCRC_BYPASSPOLYC_SHIFT)) & ASRC_ASRMCRC_BYPASSPOLYC_MASK)
  9640. #define ASRC_ASRMCRC_BUFSTALLC_MASK (0x200000U)
  9641. #define ASRC_ASRMCRC_BUFSTALLC_SHIFT (21U)
  9642. /*! BUFSTALLC - BUFSTALLC
  9643. * 0b1..Stall Pair C conversion in case of near empty/full FIFO conditions.
  9644. * 0b0..Don't stall Pair C conversion even in case of near empty/full FIFO conditions.
  9645. */
  9646. #define ASRC_ASRMCRC_BUFSTALLC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCRC_BUFSTALLC_SHIFT)) & ASRC_ASRMCRC_BUFSTALLC_MASK)
  9647. #define ASRC_ASRMCRC_EXTTHRSHC_MASK (0x400000U)
  9648. #define ASRC_ASRMCRC_EXTTHRSHC_SHIFT (22U)
  9649. /*! EXTTHRSHC - EXTTHRSHC
  9650. * 0b1..Use external defined thresholds.
  9651. * 0b0..Use default thresholds.
  9652. */
  9653. #define ASRC_ASRMCRC_EXTTHRSHC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCRC_EXTTHRSHC_SHIFT)) & ASRC_ASRMCRC_EXTTHRSHC_MASK)
  9654. #define ASRC_ASRMCRC_ZEROBUFC_MASK (0x800000U)
  9655. #define ASRC_ASRMCRC_ZEROBUFC_SHIFT (23U)
  9656. /*! ZEROBUFC - ZEROBUFC
  9657. * 0b1..Don't zeroize the buffer
  9658. * 0b0..Zeroize the buffer
  9659. */
  9660. #define ASRC_ASRMCRC_ZEROBUFC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCRC_ZEROBUFC_SHIFT)) & ASRC_ASRMCRC_ZEROBUFC_MASK)
  9661. /*! @} */
  9662. /*! @name ASRFSTC - ASRC FIFO Status Register for Pair C */
  9663. /*! @{ */
  9664. #define ASRC_ASRFSTC_INFIFO_FILLC_MASK (0x7FU)
  9665. #define ASRC_ASRFSTC_INFIFO_FILLC_SHIFT (0U)
  9666. /*! INFIFO_FILLC - INFIFO_FILLC
  9667. */
  9668. #define ASRC_ASRFSTC_INFIFO_FILLC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRFSTC_INFIFO_FILLC_SHIFT)) & ASRC_ASRFSTC_INFIFO_FILLC_MASK)
  9669. #define ASRC_ASRFSTC_IAEC_MASK (0x800U)
  9670. #define ASRC_ASRFSTC_IAEC_SHIFT (11U)
  9671. /*! IAEC - IAEC
  9672. * 0b1..Input FIFO is near empty for Pair C
  9673. * 0b0..Input FIFO is not near empty for Pair C
  9674. */
  9675. #define ASRC_ASRFSTC_IAEC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRFSTC_IAEC_SHIFT)) & ASRC_ASRFSTC_IAEC_MASK)
  9676. #define ASRC_ASRFSTC_OUTFIFO_FILLC_MASK (0x7F000U)
  9677. #define ASRC_ASRFSTC_OUTFIFO_FILLC_SHIFT (12U)
  9678. /*! OUTFIFO_FILLC - OUTFIFO_FILLC
  9679. */
  9680. #define ASRC_ASRFSTC_OUTFIFO_FILLC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRFSTC_OUTFIFO_FILLC_SHIFT)) & ASRC_ASRFSTC_OUTFIFO_FILLC_MASK)
  9681. #define ASRC_ASRFSTC_OAFC_MASK (0x800000U)
  9682. #define ASRC_ASRFSTC_OAFC_SHIFT (23U)
  9683. /*! OAFC - OAFC
  9684. * 0b1..Output FIFO is near full for Pair C
  9685. * 0b0..Output FIFO is not near full for Pair C
  9686. */
  9687. #define ASRC_ASRFSTC_OAFC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRFSTC_OAFC_SHIFT)) & ASRC_ASRFSTC_OAFC_MASK)
  9688. /*! @} */
  9689. /*! @name ASRMCR1 - ASRC Misc Control Register 1 for Pair X */
  9690. /*! @{ */
  9691. #define ASRC_ASRMCR1_OW16_MASK (0x1U)
  9692. #define ASRC_ASRMCR1_OW16_SHIFT (0U)
  9693. /*! OW16 - OW16
  9694. * 0b1..16-bit output data
  9695. * 0b0..24-bit output data.
  9696. */
  9697. #define ASRC_ASRMCR1_OW16(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCR1_OW16_SHIFT)) & ASRC_ASRMCR1_OW16_MASK)
  9698. #define ASRC_ASRMCR1_OSGN_MASK (0x2U)
  9699. #define ASRC_ASRMCR1_OSGN_SHIFT (1U)
  9700. /*! OSGN - OSGN
  9701. * 0b1..Sign extension.
  9702. * 0b0..No sign extension.
  9703. */
  9704. #define ASRC_ASRMCR1_OSGN(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCR1_OSGN_SHIFT)) & ASRC_ASRMCR1_OSGN_MASK)
  9705. #define ASRC_ASRMCR1_OMSB_MASK (0x4U)
  9706. #define ASRC_ASRMCR1_OMSB_SHIFT (2U)
  9707. /*! OMSB - OMSB
  9708. * 0b1..MSB aligned.
  9709. * 0b0..LSB aligned.
  9710. */
  9711. #define ASRC_ASRMCR1_OMSB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCR1_OMSB_SHIFT)) & ASRC_ASRMCR1_OMSB_MASK)
  9712. #define ASRC_ASRMCR1_IMSB_MASK (0x100U)
  9713. #define ASRC_ASRMCR1_IMSB_SHIFT (8U)
  9714. /*! IMSB - IMSB
  9715. * 0b1..MSB aligned.
  9716. * 0b0..LSB aligned.
  9717. */
  9718. #define ASRC_ASRMCR1_IMSB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCR1_IMSB_SHIFT)) & ASRC_ASRMCR1_IMSB_MASK)
  9719. #define ASRC_ASRMCR1_IWD_MASK (0x600U)
  9720. #define ASRC_ASRMCR1_IWD_SHIFT (9U)
  9721. /*! IWD - IWD
  9722. * 0b00..24-bit audio data.
  9723. * 0b01..16-bit audio data.
  9724. * 0b10..8-bit audio data.
  9725. * 0b11..Reserved.
  9726. */
  9727. #define ASRC_ASRMCR1_IWD(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCR1_IWD_SHIFT)) & ASRC_ASRMCR1_IWD_MASK)
  9728. /*! @} */
  9729. /* The count of ASRC_ASRMCR1 */
  9730. #define ASRC_ASRMCR1_COUNT (3U)
  9731. /*!
  9732. * @}
  9733. */ /* end of group ASRC_Register_Masks */
  9734. /* ASRC - Peripheral instance base addresses */
  9735. /** Peripheral ASRC base address */
  9736. #define ASRC_BASE (0x40414000u)
  9737. /** Peripheral ASRC base pointer */
  9738. #define ASRC ((ASRC_Type *)ASRC_BASE)
  9739. /** Array initializer of ASRC peripheral base addresses */
  9740. #define ASRC_BASE_ADDRS { ASRC_BASE }
  9741. /** Array initializer of ASRC peripheral base pointers */
  9742. #define ASRC_BASE_PTRS { ASRC }
  9743. /** Interrupt vectors for the ASRC peripheral type */
  9744. #define ASRC_IRQS { ASRC_IRQn }
  9745. /*!
  9746. * @}
  9747. */ /* end of group ASRC_Peripheral_Access_Layer */
  9748. /* ----------------------------------------------------------------------------
  9749. -- AUDIO_PLL Peripheral Access Layer
  9750. ---------------------------------------------------------------------------- */
  9751. /*!
  9752. * @addtogroup AUDIO_PLL_Peripheral_Access_Layer AUDIO_PLL Peripheral Access Layer
  9753. * @{
  9754. */
  9755. /** AUDIO_PLL - Register Layout Typedef */
  9756. typedef struct {
  9757. struct { /* offset: 0x0 */
  9758. __IO uint32_t RW; /**< Fractional PLL Control Register, offset: 0x0 */
  9759. __IO uint32_t SET; /**< Fractional PLL Control Register, offset: 0x4 */
  9760. __IO uint32_t CLR; /**< Fractional PLL Control Register, offset: 0x8 */
  9761. __IO uint32_t TOG; /**< Fractional PLL Control Register, offset: 0xC */
  9762. } CTRL0;
  9763. struct { /* offset: 0x10 */
  9764. __IO uint32_t RW; /**< Fractional PLL Spread Spectrum Control Register, offset: 0x10 */
  9765. __IO uint32_t SET; /**< Fractional PLL Spread Spectrum Control Register, offset: 0x14 */
  9766. __IO uint32_t CLR; /**< Fractional PLL Spread Spectrum Control Register, offset: 0x18 */
  9767. __IO uint32_t TOG; /**< Fractional PLL Spread Spectrum Control Register, offset: 0x1C */
  9768. } SPREAD_SPECTRUM;
  9769. struct { /* offset: 0x20 */
  9770. __IO uint32_t RW; /**< Fractional PLL Numerator Control Register, offset: 0x20 */
  9771. __IO uint32_t SET; /**< Fractional PLL Numerator Control Register, offset: 0x24 */
  9772. __IO uint32_t CLR; /**< Fractional PLL Numerator Control Register, offset: 0x28 */
  9773. __IO uint32_t TOG; /**< Fractional PLL Numerator Control Register, offset: 0x2C */
  9774. } NUMERATOR;
  9775. struct { /* offset: 0x30 */
  9776. __IO uint32_t RW; /**< Fractional PLL Denominator Control Register, offset: 0x30 */
  9777. __IO uint32_t SET; /**< Fractional PLL Denominator Control Register, offset: 0x34 */
  9778. __IO uint32_t CLR; /**< Fractional PLL Denominator Control Register, offset: 0x38 */
  9779. __IO uint32_t TOG; /**< Fractional PLL Denominator Control Register, offset: 0x3C */
  9780. } DENOMINATOR;
  9781. } AUDIO_PLL_Type;
  9782. /* ----------------------------------------------------------------------------
  9783. -- AUDIO_PLL Register Masks
  9784. ---------------------------------------------------------------------------- */
  9785. /*!
  9786. * @addtogroup AUDIO_PLL_Register_Masks AUDIO_PLL Register Masks
  9787. * @{
  9788. */
  9789. /*! @name CTRL0 - Fractional PLL Control Register */
  9790. /*! @{ */
  9791. #define AUDIO_PLL_CTRL0_DIV_SELECT_MASK (0x7FU)
  9792. #define AUDIO_PLL_CTRL0_DIV_SELECT_SHIFT (0U)
  9793. /*! DIV_SELECT - DIV_SELECT
  9794. */
  9795. #define AUDIO_PLL_CTRL0_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << AUDIO_PLL_CTRL0_DIV_SELECT_SHIFT)) & AUDIO_PLL_CTRL0_DIV_SELECT_MASK)
  9796. #define AUDIO_PLL_CTRL0_ENABLE_ALT_MASK (0x100U)
  9797. #define AUDIO_PLL_CTRL0_ENABLE_ALT_SHIFT (8U)
  9798. /*! ENABLE_ALT - ENABLE_ALT
  9799. * 0b0..Disable the alternate clock output
  9800. * 0b1..Enable the alternate clock output which is the output of the post_divider, and cannot be bypassed
  9801. */
  9802. #define AUDIO_PLL_CTRL0_ENABLE_ALT(x) (((uint32_t)(((uint32_t)(x)) << AUDIO_PLL_CTRL0_ENABLE_ALT_SHIFT)) & AUDIO_PLL_CTRL0_ENABLE_ALT_MASK)
  9803. #define AUDIO_PLL_CTRL0_HOLD_RING_OFF_MASK (0x2000U)
  9804. #define AUDIO_PLL_CTRL0_HOLD_RING_OFF_SHIFT (13U)
  9805. /*! HOLD_RING_OFF - PLL Start up initialization
  9806. * 0b0..Normal operation
  9807. * 0b1..Initialize PLL start up
  9808. */
  9809. #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)
  9810. #define AUDIO_PLL_CTRL0_POWERUP_MASK (0x4000U)
  9811. #define AUDIO_PLL_CTRL0_POWERUP_SHIFT (14U)
  9812. /*! POWERUP - POWERUP
  9813. * 0b1..Power Up the PLL
  9814. * 0b0..Power down the PLL
  9815. */
  9816. #define AUDIO_PLL_CTRL0_POWERUP(x) (((uint32_t)(((uint32_t)(x)) << AUDIO_PLL_CTRL0_POWERUP_SHIFT)) & AUDIO_PLL_CTRL0_POWERUP_MASK)
  9817. #define AUDIO_PLL_CTRL0_ENABLE_MASK (0x8000U)
  9818. #define AUDIO_PLL_CTRL0_ENABLE_SHIFT (15U)
  9819. /*! ENABLE - ENABLE
  9820. * 0b1..Enable the clock output
  9821. * 0b0..Disable the clock output
  9822. */
  9823. #define AUDIO_PLL_CTRL0_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << AUDIO_PLL_CTRL0_ENABLE_SHIFT)) & AUDIO_PLL_CTRL0_ENABLE_MASK)
  9824. #define AUDIO_PLL_CTRL0_BYPASS_MASK (0x10000U)
  9825. #define AUDIO_PLL_CTRL0_BYPASS_SHIFT (16U)
  9826. /*! BYPASS - BYPASS
  9827. * 0b1..Bypass the PLL
  9828. * 0b0..No Bypass
  9829. */
  9830. #define AUDIO_PLL_CTRL0_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << AUDIO_PLL_CTRL0_BYPASS_SHIFT)) & AUDIO_PLL_CTRL0_BYPASS_MASK)
  9831. #define AUDIO_PLL_CTRL0_DITHER_EN_MASK (0x20000U)
  9832. #define AUDIO_PLL_CTRL0_DITHER_EN_SHIFT (17U)
  9833. /*! DITHER_EN - DITHER_EN
  9834. * 0b0..Disable Dither
  9835. * 0b1..Enable Dither
  9836. */
  9837. #define AUDIO_PLL_CTRL0_DITHER_EN(x) (((uint32_t)(((uint32_t)(x)) << AUDIO_PLL_CTRL0_DITHER_EN_SHIFT)) & AUDIO_PLL_CTRL0_DITHER_EN_MASK)
  9838. #define AUDIO_PLL_CTRL0_BIAS_TRIM_MASK (0x380000U)
  9839. #define AUDIO_PLL_CTRL0_BIAS_TRIM_SHIFT (19U)
  9840. /*! BIAS_TRIM - BIAS_TRIM
  9841. */
  9842. #define AUDIO_PLL_CTRL0_BIAS_TRIM(x) (((uint32_t)(((uint32_t)(x)) << AUDIO_PLL_CTRL0_BIAS_TRIM_SHIFT)) & AUDIO_PLL_CTRL0_BIAS_TRIM_MASK)
  9843. #define AUDIO_PLL_CTRL0_PLL_REG_EN_MASK (0x400000U)
  9844. #define AUDIO_PLL_CTRL0_PLL_REG_EN_SHIFT (22U)
  9845. /*! PLL_REG_EN - PLL_REG_EN
  9846. */
  9847. #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)
  9848. #define AUDIO_PLL_CTRL0_POST_DIV_SEL_MASK (0xE000000U)
  9849. #define AUDIO_PLL_CTRL0_POST_DIV_SEL_SHIFT (25U)
  9850. /*! POST_DIV_SEL - Post Divide Select
  9851. * 0b000..Divide by 1
  9852. * 0b001..Divide by 2
  9853. * 0b010..Divide by 4
  9854. * 0b011..Divide by 8
  9855. * 0b100..Divide by 16
  9856. * 0b101..Divide by 32
  9857. */
  9858. #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)
  9859. #define AUDIO_PLL_CTRL0_BIAS_SELECT_MASK (0x20000000U)
  9860. #define AUDIO_PLL_CTRL0_BIAS_SELECT_SHIFT (29U)
  9861. /*! BIAS_SELECT - BIAS_SELECT
  9862. * 0b0..Used in SoCs with a bias current of 10uA
  9863. * 0b1..Used in SoCs with a bias current of 2uA
  9864. */
  9865. #define AUDIO_PLL_CTRL0_BIAS_SELECT(x) (((uint32_t)(((uint32_t)(x)) << AUDIO_PLL_CTRL0_BIAS_SELECT_SHIFT)) & AUDIO_PLL_CTRL0_BIAS_SELECT_MASK)
  9866. /*! @} */
  9867. /*! @name SPREAD_SPECTRUM - Fractional PLL Spread Spectrum Control Register */
  9868. /*! @{ */
  9869. #define AUDIO_PLL_SPREAD_SPECTRUM_STEP_MASK (0x7FFFU)
  9870. #define AUDIO_PLL_SPREAD_SPECTRUM_STEP_SHIFT (0U)
  9871. /*! STEP - Step
  9872. */
  9873. #define AUDIO_PLL_SPREAD_SPECTRUM_STEP(x) (((uint32_t)(((uint32_t)(x)) << AUDIO_PLL_SPREAD_SPECTRUM_STEP_SHIFT)) & AUDIO_PLL_SPREAD_SPECTRUM_STEP_MASK)
  9874. #define AUDIO_PLL_SPREAD_SPECTRUM_ENABLE_MASK (0x8000U)
  9875. #define AUDIO_PLL_SPREAD_SPECTRUM_ENABLE_SHIFT (15U)
  9876. /*! ENABLE - Enable
  9877. */
  9878. #define AUDIO_PLL_SPREAD_SPECTRUM_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << AUDIO_PLL_SPREAD_SPECTRUM_ENABLE_SHIFT)) & AUDIO_PLL_SPREAD_SPECTRUM_ENABLE_MASK)
  9879. #define AUDIO_PLL_SPREAD_SPECTRUM_STOP_MASK (0xFFFF0000U)
  9880. #define AUDIO_PLL_SPREAD_SPECTRUM_STOP_SHIFT (16U)
  9881. /*! STOP - Stop
  9882. */
  9883. #define AUDIO_PLL_SPREAD_SPECTRUM_STOP(x) (((uint32_t)(((uint32_t)(x)) << AUDIO_PLL_SPREAD_SPECTRUM_STOP_SHIFT)) & AUDIO_PLL_SPREAD_SPECTRUM_STOP_MASK)
  9884. /*! @} */
  9885. /*! @name NUMERATOR - Fractional PLL Numerator Control Register */
  9886. /*! @{ */
  9887. #define AUDIO_PLL_NUMERATOR_NUM_MASK (0x3FFFFFFFU)
  9888. #define AUDIO_PLL_NUMERATOR_NUM_SHIFT (0U)
  9889. /*! NUM - Numerator
  9890. */
  9891. #define AUDIO_PLL_NUMERATOR_NUM(x) (((uint32_t)(((uint32_t)(x)) << AUDIO_PLL_NUMERATOR_NUM_SHIFT)) & AUDIO_PLL_NUMERATOR_NUM_MASK)
  9892. /*! @} */
  9893. /*! @name DENOMINATOR - Fractional PLL Denominator Control Register */
  9894. /*! @{ */
  9895. #define AUDIO_PLL_DENOMINATOR_DENOM_MASK (0x3FFFFFFFU)
  9896. #define AUDIO_PLL_DENOMINATOR_DENOM_SHIFT (0U)
  9897. /*! DENOM - Denominator
  9898. */
  9899. #define AUDIO_PLL_DENOMINATOR_DENOM(x) (((uint32_t)(((uint32_t)(x)) << AUDIO_PLL_DENOMINATOR_DENOM_SHIFT)) & AUDIO_PLL_DENOMINATOR_DENOM_MASK)
  9900. /*! @} */
  9901. /*!
  9902. * @}
  9903. */ /* end of group AUDIO_PLL_Register_Masks */
  9904. /* AUDIO_PLL - Peripheral instance base addresses */
  9905. /** Peripheral AUDIO_PLL base address */
  9906. #define AUDIO_PLL_BASE (0u)
  9907. /** Peripheral AUDIO_PLL base pointer */
  9908. #define AUDIO_PLL ((AUDIO_PLL_Type *)AUDIO_PLL_BASE)
  9909. /** Array initializer of AUDIO_PLL peripheral base addresses */
  9910. #define AUDIO_PLL_BASE_ADDRS { AUDIO_PLL_BASE }
  9911. /** Array initializer of AUDIO_PLL peripheral base pointers */
  9912. #define AUDIO_PLL_BASE_PTRS { AUDIO_PLL }
  9913. /*!
  9914. * @}
  9915. */ /* end of group AUDIO_PLL_Peripheral_Access_Layer */
  9916. /* ----------------------------------------------------------------------------
  9917. -- CAAM Peripheral Access Layer
  9918. ---------------------------------------------------------------------------- */
  9919. /*!
  9920. * @addtogroup CAAM_Peripheral_Access_Layer CAAM Peripheral Access Layer
  9921. * @{
  9922. */
  9923. /** CAAM - Register Layout Typedef */
  9924. typedef struct {
  9925. uint8_t RESERVED_0[4];
  9926. __IO uint32_t MCFGR; /**< Master Configuration Register, offset: 0x4 */
  9927. __IO uint32_t PAGE0_SDID; /**< Page 0 SDID Register, offset: 0x8 */
  9928. __IO uint32_t SCFGR; /**< Security Configuration Register, offset: 0xC */
  9929. struct { /* offset: 0x10, array step: 0x8 */
  9930. __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 */
  9931. __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 */
  9932. } JRADID[4];
  9933. uint8_t RESERVED_1[40];
  9934. __IO uint32_t DEBUGCTL; /**< Debug Control Register, offset: 0x58 */
  9935. __IO uint32_t JRSTARTR; /**< Job Ring Start Register, offset: 0x5C */
  9936. __IO uint32_t RTIC_OWN; /**< RTIC OWN Register, offset: 0x60 */
  9937. struct { /* offset: 0x64, array step: 0x8 */
  9938. __IO uint32_t RTIC_DID; /**< RTIC DID Register for Block A..RTIC DID Register for Block D, array offset: 0x64, array step: 0x8 */
  9939. uint8_t RESERVED_0[4];
  9940. } RTICADID[4];
  9941. uint8_t RESERVED_2[16];
  9942. __IO uint32_t DECORSR; /**< DECO Request Source Register, offset: 0x94 */
  9943. uint8_t RESERVED_3[4];
  9944. __IO uint32_t DECORR; /**< DECO Request Register, offset: 0x9C */
  9945. struct { /* offset: 0xA0, array step: 0x8 */
  9946. __IO uint32_t DECODID_MS; /**< DECO0 DID Register - most significant half, array offset: 0xA0, array step: 0x8 */
  9947. __IO uint32_t DECODID_LS; /**< DECO0 DID Register - least significant half, array offset: 0xA4, array step: 0x8 */
  9948. } DECONDID[1];
  9949. uint8_t RESERVED_4[120];
  9950. __IO uint32_t DAR; /**< DECO Availability Register, offset: 0x120 */
  9951. __O uint32_t DRR; /**< DECO Reset Register, offset: 0x124 */
  9952. uint8_t RESERVED_5[92];
  9953. struct { /* offset: 0x184, array step: 0x8 */
  9954. __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 */
  9955. uint8_t RESERVED_0[4];
  9956. } JRNSMVBAR[4];
  9957. uint8_t RESERVED_6[124];
  9958. __IO uint32_t PBSL; /**< Peak Bandwidth Smoothing Limit Register, offset: 0x220 */
  9959. uint8_t RESERVED_7[28];
  9960. struct { /* offset: 0x240, array step: 0x10 */
  9961. __I uint32_t DMA_AIDL_MAP_MS; /**< DMA0_AIDL_MAP_MS, array offset: 0x240, array step: 0x10 */
  9962. __I uint32_t DMA_AIDL_MAP_LS; /**< DMA0_AIDL_MAP_LS, array offset: 0x244, array step: 0x10 */
  9963. __I uint32_t DMA_AIDM_MAP_MS; /**< DMA0_AIDM_MAP_MS, array offset: 0x248, array step: 0x10 */
  9964. __I uint32_t DMA_AIDM_MAP_LS; /**< DMA0_AIDM_MAP_LS, array offset: 0x24C, array step: 0x10 */
  9965. } AID_CNTS[1];
  9966. __I uint32_t DMA0_AID_ENB; /**< DMA0 AXI ID Enable Register, offset: 0x250 */
  9967. uint8_t RESERVED_8[12];
  9968. __IO uint64_t DMA0_ARD_TC; /**< DMA0 AXI Read Timing Check Register, offset: 0x260 */
  9969. uint8_t RESERVED_9[4];
  9970. __IO uint32_t DMA0_ARD_LAT; /**< DMA0 Read Timing Check Latency Register, offset: 0x26C */
  9971. __IO uint64_t DMA0_AWR_TC; /**< DMA0 AXI Write Timing Check Register, offset: 0x270 */
  9972. uint8_t RESERVED_10[4];
  9973. __IO uint32_t DMA0_AWR_LAT; /**< DMA0 Write Timing Check Latency Register, offset: 0x27C */
  9974. uint8_t RESERVED_11[128];
  9975. __IO uint8_t MPPKR[64]; /**< Manufacturing Protection Private Key Register, array offset: 0x300, array step: 0x1 */
  9976. uint8_t RESERVED_12[64];
  9977. __IO uint8_t MPMR[32]; /**< Manufacturing Protection Message Register, array offset: 0x380, array step: 0x1 */
  9978. uint8_t RESERVED_13[32];
  9979. __I uint8_t MPTESTR[32]; /**< Manufacturing Protection Test Register, array offset: 0x3C0, array step: 0x1 */
  9980. uint8_t RESERVED_14[24];
  9981. __I uint32_t MPECC; /**< Manufacturing Protection ECC Register, offset: 0x3F8 */
  9982. uint8_t RESERVED_15[4];
  9983. __IO uint32_t JDKEKR[8]; /**< Job Descriptor Key Encryption Key Register, array offset: 0x400, array step: 0x4 */
  9984. __IO uint32_t TDKEKR[8]; /**< Trusted Descriptor Key Encryption Key Register, array offset: 0x420, array step: 0x4 */
  9985. __IO uint32_t TDSKR[8]; /**< Trusted Descriptor Signing Key Register, array offset: 0x440, array step: 0x4 */
  9986. uint8_t RESERVED_16[128];
  9987. __IO uint64_t SKNR; /**< Secure Key Nonce Register, offset: 0x4E0 */
  9988. uint8_t RESERVED_17[36];
  9989. __I uint32_t DMA_STA; /**< DMA Status Register, offset: 0x50C */
  9990. __I uint32_t DMA_X_AID_7_4_MAP; /**< DMA_X_AID_7_4_MAP, offset: 0x510 */
  9991. __I uint32_t DMA_X_AID_3_0_MAP; /**< DMA_X_AID_3_0_MAP, offset: 0x514 */
  9992. __I uint32_t DMA_X_AID_15_12_MAP; /**< DMA_X_AID_15_12_MAP, offset: 0x518 */
  9993. __I uint32_t DMA_X_AID_11_8_MAP; /**< DMA_X_AID_11_8_MAP, offset: 0x51C */
  9994. uint8_t RESERVED_18[4];
  9995. __I uint32_t DMA_X_AID_15_0_EN; /**< DMA_X AXI ID Map Enable Register, offset: 0x524 */
  9996. uint8_t RESERVED_19[8];
  9997. __IO uint32_t DMA_X_ARTC_CTL; /**< DMA_X AXI Read Timing Check Control Register, offset: 0x530 */
  9998. __IO uint32_t DMA_X_ARTC_LC; /**< DMA_X AXI Read Timing Check Late Count Register, offset: 0x534 */
  9999. __IO uint32_t DMA_X_ARTC_SC; /**< DMA_X AXI Read Timing Check Sample Count Register, offset: 0x538 */
  10000. __IO uint32_t DMA_X_ARTC_LAT; /**< DMA_X Read Timing Check Latency Register, offset: 0x53C */
  10001. __IO uint32_t DMA_X_AWTC_CTL; /**< DMA_X AXI Write Timing Check Control Register, offset: 0x540 */
  10002. __IO uint32_t DMA_X_AWTC_LC; /**< DMA_X AXI Write Timing Check Late Count Register, offset: 0x544 */
  10003. __IO uint32_t DMA_X_AWTC_SC; /**< DMA_X AXI Write Timing Check Sample Count Register, offset: 0x548 */
  10004. __IO uint32_t DMA_X_AWTC_LAT; /**< DMA_X Write Timing Check Latency Register, offset: 0x54C */
  10005. uint8_t RESERVED_20[176];
  10006. __IO uint32_t RTMCTL; /**< RNG TRNG Miscellaneous Control Register, offset: 0x600 */
  10007. __IO uint32_t RTSCMISC; /**< RNG TRNG Statistical Check Miscellaneous Register, offset: 0x604 */
  10008. __IO uint32_t RTPKRRNG; /**< RNG TRNG Poker Range Register, offset: 0x608 */
  10009. union { /* offset: 0x60C */
  10010. __IO uint32_t RTPKRMAX; /**< RNG TRNG Poker Maximum Limit Register, offset: 0x60C */
  10011. __I uint32_t RTPKRSQ; /**< RNG TRNG Poker Square Calculation Result Register, offset: 0x60C */
  10012. };
  10013. __IO uint32_t RTSDCTL; /**< RNG TRNG Seed Control Register, offset: 0x610 */
  10014. union { /* offset: 0x614 */
  10015. __IO uint32_t RTSBLIM; /**< RNG TRNG Sparse Bit Limit Register, offset: 0x614 */
  10016. __I uint32_t RTTOTSAM; /**< RNG TRNG Total Samples Register, offset: 0x614 */
  10017. };
  10018. __IO uint32_t RTFRQMIN; /**< RNG TRNG Frequency Count Minimum Limit Register, offset: 0x618 */
  10019. union { /* offset: 0x61C */
  10020. struct { /* offset: 0x61C */
  10021. __I uint32_t RTFRQCNT; /**< RNG TRNG Frequency Count Register, offset: 0x61C */
  10022. __I uint32_t RTSCMC; /**< RNG TRNG Statistical Check Monobit Count Register, offset: 0x620 */
  10023. __I uint32_t RTSCR1C; /**< RNG TRNG Statistical Check Run Length 1 Count Register, offset: 0x624 */
  10024. __I uint32_t RTSCR2C; /**< RNG TRNG Statistical Check Run Length 2 Count Register, offset: 0x628 */
  10025. __I uint32_t RTSCR3C; /**< RNG TRNG Statistical Check Run Length 3 Count Register, offset: 0x62C */
  10026. __I uint32_t RTSCR4C; /**< RNG TRNG Statistical Check Run Length 4 Count Register, offset: 0x630 */
  10027. __I uint32_t RTSCR5C; /**< RNG TRNG Statistical Check Run Length 5 Count Register, offset: 0x634 */
  10028. __I uint32_t RTSCR6PC; /**< RNG TRNG Statistical Check Run Length 6+ Count Register, offset: 0x638 */
  10029. } COUNT;
  10030. struct { /* offset: 0x61C */
  10031. __IO uint32_t RTFRQMAX; /**< RNG TRNG Frequency Count Maximum Limit Register, offset: 0x61C */
  10032. __IO uint32_t RTSCML; /**< RNG TRNG Statistical Check Monobit Limit Register, offset: 0x620 */
  10033. __IO uint32_t RTSCR1L; /**< RNG TRNG Statistical Check Run Length 1 Limit Register, offset: 0x624 */
  10034. __IO uint32_t RTSCR2L; /**< RNG TRNG Statistical Check Run Length 2 Limit Register, offset: 0x628 */
  10035. __IO uint32_t RTSCR3L; /**< RNG TRNG Statistical Check Run Length 3 Limit Register, offset: 0x62C */
  10036. __IO uint32_t RTSCR4L; /**< RNG TRNG Statistical Check Run Length 4 Limit Register, offset: 0x630 */
  10037. __IO uint32_t RTSCR5L; /**< RNG TRNG Statistical Check Run Length 5 Limit Register, offset: 0x634 */
  10038. __IO uint32_t RTSCR6PL; /**< RNG TRNG Statistical Check Run Length 6+ Limit Register, offset: 0x638 */
  10039. } LIMIT;
  10040. };
  10041. __I uint32_t RTSTATUS; /**< RNG TRNG Status Register, offset: 0x63C */
  10042. __I uint32_t RTENT[16]; /**< RNG TRNG Entropy Read Register, array offset: 0x640, array step: 0x4 */
  10043. __I uint32_t RTPKRCNT10; /**< RNG TRNG Statistical Check Poker Count 1 and 0 Register, offset: 0x680 */
  10044. __I uint32_t RTPKRCNT32; /**< RNG TRNG Statistical Check Poker Count 3 and 2 Register, offset: 0x684 */
  10045. __I uint32_t RTPKRCNT54; /**< RNG TRNG Statistical Check Poker Count 5 and 4 Register, offset: 0x688 */
  10046. __I uint32_t RTPKRCNT76; /**< RNG TRNG Statistical Check Poker Count 7 and 6 Register, offset: 0x68C */
  10047. __I uint32_t RTPKRCNT98; /**< RNG TRNG Statistical Check Poker Count 9 and 8 Register, offset: 0x690 */
  10048. __I uint32_t RTPKRCNTBA; /**< RNG TRNG Statistical Check Poker Count B and A Register, offset: 0x694 */
  10049. __I uint32_t RTPKRCNTDC; /**< RNG TRNG Statistical Check Poker Count D and C Register, offset: 0x698 */
  10050. __I uint32_t RTPKRCNTFE; /**< RNG TRNG Statistical Check Poker Count F and E Register, offset: 0x69C */
  10051. uint8_t RESERVED_21[32];
  10052. __I uint32_t RDSTA; /**< RNG DRNG Status Register, offset: 0x6C0 */
  10053. uint8_t RESERVED_22[12];
  10054. __I uint32_t RDINT0; /**< RNG DRNG State Handle 0 Reseed Interval Register, offset: 0x6D0 */
  10055. __I uint32_t RDINT1; /**< RNG DRNG State Handle 1 Reseed Interval Register, offset: 0x6D4 */
  10056. uint8_t RESERVED_23[8];
  10057. __IO uint32_t RDHCNTL; /**< RNG DRNG Hash Control Register, offset: 0x6E0 */
  10058. __I uint32_t RDHDIG; /**< RNG DRNG Hash Digest Register, offset: 0x6E4 */
  10059. __O uint32_t RDHBUF; /**< RNG DRNG Hash Buffer Register, offset: 0x6E8 */
  10060. uint8_t RESERVED_24[788];
  10061. struct { /* offset: 0xA00, array step: 0x10 */
  10062. __I uint32_t PX_SDID_PG0; /**< Partition 0 SDID register..Partition 15 SDID register, array offset: 0xA00, array step: 0x10 */
  10063. __IO uint32_t PX_SMAPR_PG0; /**< Secure Memory Access Permissions register, array offset: 0xA04, array step: 0x10 */
  10064. __IO uint32_t PX_SMAG2_PG0; /**< Secure Memory Access Group Registers, array offset: 0xA08, array step: 0x10 */
  10065. __IO uint32_t PX_SMAG1_PG0; /**< Secure Memory Access Group Registers, array offset: 0xA0C, array step: 0x10 */
  10066. } PX_PG0[16];
  10067. __IO uint32_t REIS; /**< Recoverable Error Interrupt Status, offset: 0xB00 */
  10068. __IO uint32_t REIE; /**< Recoverable Error Interrupt Enable, offset: 0xB04 */
  10069. __I uint32_t REIF; /**< Recoverable Error Interrupt Force, offset: 0xB08 */
  10070. __IO uint32_t REIH; /**< Recoverable Error Interrupt Halt, offset: 0xB0C */
  10071. uint8_t RESERVED_25[192];
  10072. __IO uint32_t SMWPJRR[4]; /**< Secure Memory Write Protect Job Ring Register, array offset: 0xBD0, array step: 0x4 */
  10073. uint8_t RESERVED_26[4];
  10074. __O uint32_t SMCR_PG0; /**< Secure Memory Command Register, offset: 0xBE4 */
  10075. uint8_t RESERVED_27[4];
  10076. __I uint32_t SMCSR_PG0; /**< Secure Memory Command Status Register, offset: 0xBEC */
  10077. uint8_t RESERVED_28[8];
  10078. __I uint32_t CAAMVID_MS_TRAD; /**< CAAM Version ID Register, most-significant half, offset: 0xBF8 */
  10079. __I uint32_t CAAMVID_LS_TRAD; /**< CAAM Version ID Register, least-significant half, offset: 0xBFC */
  10080. struct { /* offset: 0xC00, array step: 0x20 */
  10081. __I uint64_t HT_JD_ADDR; /**< Holding Tank 0 Job Descriptor Address, array offset: 0xC00, array step: 0x20 */
  10082. __I uint64_t HT_SD_ADDR; /**< Holding Tank 0 Shared Descriptor Address, array offset: 0xC08, array step: 0x20 */
  10083. __I uint32_t HT_JQ_CTRL_MS; /**< Holding Tank 0 Job Queue Control, most-significant half, array offset: 0xC10, array step: 0x20 */
  10084. __I uint32_t HT_JQ_CTRL_LS; /**< Holding Tank 0 Job Queue Control, least-significant half, array offset: 0xC14, array step: 0x20 */
  10085. uint8_t RESERVED_0[4];
  10086. __I uint32_t HT_STATUS; /**< Holding Tank Status, array offset: 0xC1C, array step: 0x20 */
  10087. } HTA[1];
  10088. uint8_t RESERVED_29[4];
  10089. __IO uint32_t JQ_DEBUG_SEL; /**< Job Queue Debug Select Register, offset: 0xC24 */
  10090. uint8_t RESERVED_30[404];
  10091. __I uint32_t JRJIDU_LS; /**< Job Ring Job IDs in Use Register, least-significant half, offset: 0xDBC */
  10092. __I uint32_t JRJDJIFBC; /**< Job Ring Job-Done Job ID FIFO BC, offset: 0xDC0 */
  10093. __I uint32_t JRJDJIF; /**< Job Ring Job-Done Job ID FIFO, offset: 0xDC4 */
  10094. uint8_t RESERVED_31[28];
  10095. __I uint32_t JRJDS1; /**< Job Ring Job-Done Source 1, offset: 0xDE4 */
  10096. uint8_t RESERVED_32[24];
  10097. __I uint64_t JRJDDA[1]; /**< Job Ring Job-Done Descriptor Address 0 Register, array offset: 0xE00, array step: 0x8 */
  10098. uint8_t RESERVED_33[408];
  10099. __I uint32_t CRNR_MS; /**< CHA Revision Number Register, most-significant half, offset: 0xFA0 */
  10100. __I uint32_t CRNR_LS; /**< CHA Revision Number Register, least-significant half, offset: 0xFA4 */
  10101. __I uint32_t CTPR_MS; /**< Compile Time Parameters Register, most-significant half, offset: 0xFA8 */
  10102. __I uint32_t CTPR_LS; /**< Compile Time Parameters Register, least-significant half, offset: 0xFAC */
  10103. uint8_t RESERVED_34[4];
  10104. __I uint32_t SMSTA; /**< Secure Memory Status Register, offset: 0xFB4 */
  10105. uint8_t RESERVED_35[4];
  10106. __I uint32_t SMPO; /**< Secure Memory Partition Owners Register, offset: 0xFBC */
  10107. __I uint64_t FAR; /**< Fault Address Register, offset: 0xFC0 */
  10108. __I uint32_t FADID; /**< Fault Address DID Register, offset: 0xFC8 */
  10109. __I uint32_t FADR; /**< Fault Address Detail Register, offset: 0xFCC */
  10110. uint8_t RESERVED_36[4];
  10111. __I uint32_t CSTA; /**< CAAM Status Register, offset: 0xFD4 */
  10112. __I uint32_t SMVID_MS; /**< Secure Memory Version ID Register, most-significant half, offset: 0xFD8 */
  10113. __I uint32_t SMVID_LS; /**< Secure Memory Version ID Register, least-significant half, offset: 0xFDC */
  10114. __I uint32_t RVID; /**< RTIC Version ID Register, offset: 0xFE0 */
  10115. __I uint32_t CCBVID; /**< CHA Cluster Block Version ID Register, offset: 0xFE4 */
  10116. __I uint32_t CHAVID_MS; /**< CHA Version ID Register, most-significant half, offset: 0xFE8 */
  10117. __I uint32_t CHAVID_LS; /**< CHA Version ID Register, least-significant half, offset: 0xFEC */
  10118. __I uint32_t CHANUM_MS; /**< CHA Number Register, most-significant half, offset: 0xFF0 */
  10119. __I uint32_t CHANUM_LS; /**< CHA Number Register, least-significant half, offset: 0xFF4 */
  10120. __I uint32_t CAAMVID_MS; /**< CAAM Version ID Register, most-significant half, offset: 0xFF8 */
  10121. __I uint32_t CAAMVID_LS; /**< CAAM Version ID Register, least-significant half, offset: 0xFFC */
  10122. uint8_t RESERVED_37[61440];
  10123. struct { /* offset: 0x10000, array step: 0x10000 */
  10124. __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 */
  10125. uint8_t RESERVED_0[4];
  10126. __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 */
  10127. uint8_t RESERVED_1[4];
  10128. __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 */
  10129. uint8_t RESERVED_2[4];
  10130. __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 */
  10131. __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 */
  10132. uint8_t RESERVED_3[4];
  10133. __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 */
  10134. uint8_t RESERVED_4[4];
  10135. __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 */
  10136. uint8_t RESERVED_5[4];
  10137. __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 */
  10138. uint8_t RESERVED_6[4];
  10139. __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 */
  10140. uint8_t RESERVED_7[4];
  10141. __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 */
  10142. __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 */
  10143. __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 */
  10144. uint8_t RESERVED_8[4];
  10145. __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 */
  10146. uint8_t RESERVED_9[4];
  10147. __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 */
  10148. uint8_t RESERVED_10[4];
  10149. __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 */
  10150. uint8_t RESERVED_11[1684];
  10151. __I uint32_t JRAAV; /**< Job Ring 0 Address-Array Valid Register..Job Ring 3 Address-Array Valid Register, array offset: 0x10704, array step: 0x10000 */
  10152. uint8_t RESERVED_12[248];
  10153. __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 */
  10154. uint8_t RESERVED_13[480];
  10155. struct { /* offset: 0x10A00, array step: index*0x10000, index2*0x10 */
  10156. __I uint32_t PX_SDID_JR; /**< Partition 0 SDID register..Partition 15 SDID register, array offset: 0x10A00, array step: index*0x10000, index2*0x10 */
  10157. __IO uint32_t PX_SMAPR_JR; /**< Secure Memory Access Permissions register, array offset: 0x10A04, array step: index*0x10000, index2*0x10 */
  10158. __IO uint32_t PX_SMAG2_JR; /**< Secure Memory Access Group Registers, array offset: 0x10A08, array step: index*0x10000, index2*0x10 */
  10159. __IO uint32_t PX_SMAG1_JR; /**< Secure Memory Access Group Registers, array offset: 0x10A0C, array step: index*0x10000, index2*0x10 */
  10160. } PX_JR[16];
  10161. uint8_t RESERVED_14[228];
  10162. __O uint32_t SMCR_JR; /**< Secure Memory Command Register, array offset: 0x10BE4, array step: 0x10000 */
  10163. uint8_t RESERVED_15[4];
  10164. __I uint32_t SMCSR_JR; /**< Secure Memory Command Status Register, array offset: 0x10BEC, array step: 0x10000 */
  10165. uint8_t RESERVED_16[528];
  10166. __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 */
  10167. uint8_t RESERVED_17[4];
  10168. __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 */
  10169. __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 */
  10170. __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 */
  10171. uint8_t RESERVED_18[392];
  10172. __I uint32_t CRNR_MS_JR; /**< CHA Revision Number Register, most-significant half, array offset: 0x10FA0, array step: 0x10000 */
  10173. __I uint32_t CRNR_LS_JR; /**< CHA Revision Number Register, least-significant half, array offset: 0x10FA4, array step: 0x10000 */
  10174. __I uint32_t CTPR_MS_JR; /**< Compile Time Parameters Register, most-significant half, array offset: 0x10FA8, array step: 0x10000 */
  10175. __I uint32_t CTPR_LS_JR; /**< Compile Time Parameters Register, least-significant half, array offset: 0x10FAC, array step: 0x10000 */
  10176. uint8_t RESERVED_19[4];
  10177. __I uint32_t SMSTA_JR; /**< Secure Memory Status Register, array offset: 0x10FB4, array step: 0x10000 */
  10178. uint8_t RESERVED_20[4];
  10179. __I uint32_t SMPO_JR; /**< Secure Memory Partition Owners Register, array offset: 0x10FBC, array step: 0x10000 */
  10180. __I uint64_t FAR_JR; /**< Fault Address Register, array offset: 0x10FC0, array step: 0x10000 */
  10181. __I uint32_t FADID_JR; /**< Fault Address DID Register, array offset: 0x10FC8, array step: 0x10000 */
  10182. __I uint32_t FADR_JR; /**< Fault Address Detail Register, array offset: 0x10FCC, array step: 0x10000 */
  10183. uint8_t RESERVED_21[4];
  10184. __I uint32_t CSTA_JR; /**< CAAM Status Register, array offset: 0x10FD4, array step: 0x10000 */
  10185. __I uint32_t SMVID_MS_JR; /**< Secure Memory Version ID Register, most-significant half, array offset: 0x10FD8, array step: 0x10000 */
  10186. __I uint32_t SMVID_LS_JR; /**< Secure Memory Version ID Register, least-significant half, array offset: 0x10FDC, array step: 0x10000 */
  10187. __I uint32_t RVID_JR; /**< RTIC Version ID Register, array offset: 0x10FE0, array step: 0x10000 */
  10188. __I uint32_t CCBVID_JR; /**< CHA Cluster Block Version ID Register, array offset: 0x10FE4, array step: 0x10000 */
  10189. __I uint32_t CHAVID_MS_JR; /**< CHA Version ID Register, most-significant half, array offset: 0x10FE8, array step: 0x10000 */
  10190. __I uint32_t CHAVID_LS_JR; /**< CHA Version ID Register, least-significant half, array offset: 0x10FEC, array step: 0x10000 */
  10191. __I uint32_t CHANUM_MS_JR; /**< CHA Number Register, most-significant half, array offset: 0x10FF0, array step: 0x10000 */
  10192. __I uint32_t CHANUM_LS_JR; /**< CHA Number Register, least-significant half, array offset: 0x10FF4, array step: 0x10000 */
  10193. __I uint32_t CAAMVID_MS_JR; /**< CAAM Version ID Register, most-significant half, array offset: 0x10FF8, array step: 0x10000 */
  10194. __I uint32_t CAAMVID_LS_JR; /**< CAAM Version ID Register, least-significant half, array offset: 0x10FFC, array step: 0x10000 */
  10195. uint8_t RESERVED_22[61440];
  10196. } JOBRING[4];
  10197. uint8_t RESERVED_38[65540];
  10198. __I uint32_t RSTA; /**< RTIC Status Register, offset: 0x60004 */
  10199. uint8_t RESERVED_39[4];
  10200. __IO uint32_t RCMD; /**< RTIC Command Register, offset: 0x6000C */
  10201. uint8_t RESERVED_40[4];
  10202. __IO uint32_t RCTL; /**< RTIC Control Register, offset: 0x60014 */
  10203. uint8_t RESERVED_41[4];
  10204. __IO uint32_t RTHR; /**< RTIC Throttle Register, offset: 0x6001C */
  10205. uint8_t RESERVED_42[8];
  10206. __IO uint64_t RWDOG; /**< RTIC Watchdog Timer, offset: 0x60028 */
  10207. uint8_t RESERVED_43[4];
  10208. __IO uint32_t REND; /**< RTIC Endian Register, offset: 0x60034 */
  10209. uint8_t RESERVED_44[200];
  10210. struct { /* offset: 0x60100, array step: index*0x20, index2*0x10 */
  10211. __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 */
  10212. uint8_t RESERVED_0[4];
  10213. __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 */
  10214. } RM[4][2];
  10215. uint8_t RESERVED_45[128];
  10216. __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 */
  10217. uint8_t RESERVED_46[2048];
  10218. __I uint32_t REIR0RTIC; /**< Recoverable Error Interrupt Record 0 for RTIC, offset: 0x60E00 */
  10219. uint8_t RESERVED_47[4];
  10220. __I uint64_t REIR2RTIC; /**< Recoverable Error Interrupt Record 2 for RTIC, offset: 0x60E08 */
  10221. __I uint32_t REIR4RTIC; /**< Recoverable Error Interrupt Record 4 for RTIC, offset: 0x60E10 */
  10222. __I uint32_t REIR5RTIC; /**< Recoverable Error Interrupt Record 5 for RTIC, offset: 0x60E14 */
  10223. uint8_t RESERVED_48[392];
  10224. __I uint32_t CRNR_MS_RTIC; /**< CHA Revision Number Register, most-significant half, offset: 0x60FA0 */
  10225. __I uint32_t CRNR_LS_RTIC; /**< CHA Revision Number Register, least-significant half, offset: 0x60FA4 */
  10226. __I uint32_t CTPR_MS_RTIC; /**< Compile Time Parameters Register, most-significant half, offset: 0x60FA8 */
  10227. __I uint32_t CTPR_LS_RTIC; /**< Compile Time Parameters Register, least-significant half, offset: 0x60FAC */
  10228. uint8_t RESERVED_49[4];
  10229. __I uint32_t SMSTA_RTIC; /**< Secure Memory Status Register, offset: 0x60FB4 */
  10230. uint8_t RESERVED_50[8];
  10231. __I uint64_t FAR_RTIC; /**< Fault Address Register, offset: 0x60FC0 */
  10232. __I uint32_t FADID_RTIC; /**< Fault Address DID Register, offset: 0x60FC8 */
  10233. __I uint32_t FADR_RTIC; /**< Fault Address Detail Register, offset: 0x60FCC */
  10234. uint8_t RESERVED_51[4];
  10235. __I uint32_t CSTA_RTIC; /**< CAAM Status Register, offset: 0x60FD4 */
  10236. __I uint32_t SMVID_MS_RTIC; /**< Secure Memory Version ID Register, most-significant half, offset: 0x60FD8 */
  10237. __I uint32_t SMVID_LS_RTIC; /**< Secure Memory Version ID Register, least-significant half, offset: 0x60FDC */
  10238. __I uint32_t RVID_RTIC; /**< RTIC Version ID Register, offset: 0x60FE0 */
  10239. __I uint32_t CCBVID_RTIC; /**< CHA Cluster Block Version ID Register, offset: 0x60FE4 */
  10240. __I uint32_t CHAVID_MS_RTIC; /**< CHA Version ID Register, most-significant half, offset: 0x60FE8 */
  10241. __I uint32_t CHAVID_LS_RTIC; /**< CHA Version ID Register, least-significant half, offset: 0x60FEC */
  10242. __I uint32_t CHANUM_MS_RTIC; /**< CHA Number Register, most-significant half, offset: 0x60FF0 */
  10243. __I uint32_t CHANUM_LS_RTIC; /**< CHA Number Register, least-significant half, offset: 0x60FF4 */
  10244. __I uint32_t CAAMVID_MS_RTIC; /**< CAAM Version ID Register, most-significant half, offset: 0x60FF8 */
  10245. __I uint32_t CAAMVID_LS_RTIC; /**< CAAM Version ID Register, least-significant half, offset: 0x60FFC */
  10246. uint8_t RESERVED_52[126976];
  10247. struct { /* offset: 0x80000, array step: 0xE3C */
  10248. uint8_t RESERVED_0[4];
  10249. union { /* offset: 0x80004, array step: 0xE3C */
  10250. __IO uint32_t CC1MR; /**< CCB 0 Class 1 Mode Register Format for Non-Public Key Algorithms, array offset: 0x80004, array step: 0xE3C */
  10251. __IO uint32_t CC1MR_PK; /**< CCB 0 Class 1 Mode Register Format for Public Key Algorithms, array offset: 0x80004, array step: 0xE3C */
  10252. __IO uint32_t CC1MR_RNG; /**< CCB 0 Class 1 Mode Register Format for RNG4, array offset: 0x80004, array step: 0xE3C */
  10253. };
  10254. uint8_t RESERVED_1[4];
  10255. __IO uint32_t CC1KSR; /**< CCB 0 Class 1 Key Size Register, array offset: 0x8000C, array step: 0xE3C */
  10256. __IO uint64_t CC1DSR; /**< CCB 0 Class 1 Data Size Register, array offset: 0x80010, array step: 0xE3C */
  10257. uint8_t RESERVED_2[4];
  10258. __IO uint32_t CC1ICVSR; /**< CCB 0 Class 1 ICV Size Register, array offset: 0x8001C, array step: 0xE3C */
  10259. uint8_t RESERVED_3[20];
  10260. __O uint32_t CCCTRL; /**< CCB 0 CHA Control Register, array offset: 0x80034, array step: 0xE3C */
  10261. uint8_t RESERVED_4[4];
  10262. __IO uint32_t CICTL; /**< CCB 0 Interrupt Control Register, array offset: 0x8003C, array step: 0xE3C */
  10263. uint8_t RESERVED_5[4];
  10264. __O uint32_t CCWR; /**< CCB 0 Clear Written Register, array offset: 0x80044, array step: 0xE3C */
  10265. __I uint32_t CCSTA_MS; /**< CCB 0 Status and Error Register, most-significant half, array offset: 0x80048, array step: 0xE3C */
  10266. __I uint32_t CCSTA_LS; /**< CCB 0 Status and Error Register, least-significant half, array offset: 0x8004C, array step: 0xE3C */
  10267. uint8_t RESERVED_6[12];
  10268. __IO uint32_t CC1AADSZR; /**< CCB 0 Class 1 AAD Size Register, array offset: 0x8005C, array step: 0xE3C */
  10269. uint8_t RESERVED_7[4];
  10270. __IO uint32_t CC1IVSZR; /**< CCB 0 Class 1 IV Size Register, array offset: 0x80064, array step: 0xE3C */
  10271. uint8_t RESERVED_8[28];
  10272. __IO uint32_t CPKASZR; /**< PKHA A Size Register, array offset: 0x80084, array step: 0xE3C */
  10273. uint8_t RESERVED_9[4];
  10274. __IO uint32_t CPKBSZR; /**< PKHA B Size Register, array offset: 0x8008C, array step: 0xE3C */
  10275. uint8_t RESERVED_10[4];
  10276. __IO uint32_t CPKNSZR; /**< PKHA N Size Register, array offset: 0x80094, array step: 0xE3C */
  10277. uint8_t RESERVED_11[4];
  10278. __IO uint32_t CPKESZR; /**< PKHA E Size Register, array offset: 0x8009C, array step: 0xE3C */
  10279. uint8_t RESERVED_12[96];
  10280. __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 */
  10281. uint8_t RESERVED_13[192];
  10282. __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 */
  10283. uint8_t RESERVED_14[484];
  10284. __IO uint32_t CC2MR; /**< CCB 0 Class 2 Mode Register, array offset: 0x80404, array step: 0xE3C */
  10285. uint8_t RESERVED_15[4];
  10286. __IO uint32_t CC2KSR; /**< CCB 0 Class 2 Key Size Register, array offset: 0x8040C, array step: 0xE3C */
  10287. __IO uint64_t CC2DSR; /**< CCB 0 Class 2 Data Size Register, array offset: 0x80410, array step: 0xE3C */
  10288. uint8_t RESERVED_16[4];
  10289. __IO uint32_t CC2ICVSZR; /**< CCB 0 Class 2 ICV Size Register, array offset: 0x8041C, array step: 0xE3C */
  10290. uint8_t RESERVED_17[224];
  10291. __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 */
  10292. uint8_t RESERVED_18[184];
  10293. __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 */
  10294. uint8_t RESERVED_19[320];
  10295. __I uint32_t CFIFOSTA; /**< CCB 0 FIFO Status Register, array offset: 0x807C0, array step: 0xE3C */
  10296. uint8_t RESERVED_20[12];
  10297. union { /* offset: 0x807D0, array step: 0xE3C */
  10298. __O uint32_t CNFIFO; /**< CCB 0 iNformation FIFO When STYPE != 10b, array offset: 0x807D0, array step: 0xE3C */
  10299. __O uint32_t CNFIFO_2; /**< CCB 0 iNformation FIFO When STYPE == 10b, array offset: 0x807D0, array step: 0xE3C */
  10300. };
  10301. uint8_t RESERVED_21[12];
  10302. __O uint32_t CIFIFO; /**< CCB 0 Input Data FIFO, array offset: 0x807E0, array step: 0xE3C */
  10303. uint8_t RESERVED_22[12];
  10304. __I uint64_t COFIFO; /**< CCB 0 Output Data FIFO, array offset: 0x807F0, array step: 0xE3C */
  10305. uint8_t RESERVED_23[8];
  10306. __IO uint32_t DJQCR_MS; /**< DECO0 Job Queue Control Register, most-significant half, array offset: 0x80800, array step: 0xE3C */
  10307. __I uint32_t DJQCR_LS; /**< DECO0 Job Queue Control Register, least-significant half, array offset: 0x80804, array step: 0xE3C */
  10308. __I uint64_t DDAR; /**< DECO0 Descriptor Address Register, array offset: 0x80808, array step: 0xE3C */
  10309. __I uint32_t DOPSTA_MS; /**< DECO0 Operation Status Register, most-significant half, array offset: 0x80810, array step: 0xE3C */
  10310. __I uint32_t DOPSTA_LS; /**< DECO0 Operation Status Register, least-significant half, array offset: 0x80814, array step: 0xE3C */
  10311. uint8_t RESERVED_24[8];
  10312. __I uint32_t DPDIDSR; /**< DECO0 Primary DID Status Register, array offset: 0x80820, array step: 0xE3C */
  10313. __I uint32_t DODIDSR; /**< DECO0 Output DID Status Register, array offset: 0x80824, array step: 0xE3C */
  10314. uint8_t RESERVED_25[24];
  10315. struct { /* offset: 0x80840, array step: index*0xE3C, index2*0x8 */
  10316. __IO uint32_t DMTH_MS; /**< DECO0 Math Register 0_MS..DECO0 Math Register 3_MS, array offset: 0x80840, array step: index*0xE3C, index2*0x8 */
  10317. __IO uint32_t DMTH_LS; /**< DECO0 Math Register 0_LS..DECO0 Math Register 3_LS, array offset: 0x80844, array step: index*0xE3C, index2*0x8 */
  10318. } DDMTHB[4];
  10319. uint8_t RESERVED_26[32];
  10320. struct { /* offset: 0x80880, array step: index*0xE3C, index2*0x10 */
  10321. __IO uint32_t DGTR_0; /**< DECO0 Gather Table Register 0 Word 0, array offset: 0x80880, array step: index*0xE3C, index2*0x10 */
  10322. __IO uint32_t DGTR_1; /**< DECO0 Gather Table Register 0 Word 1, array offset: 0x80884, array step: index*0xE3C, index2*0x10 */
  10323. __IO uint32_t DGTR_2; /**< DECO0 Gather Table Register 0 Word 2, array offset: 0x80888, array step: index*0xE3C, index2*0x10 */
  10324. __IO uint32_t DGTR_3; /**< DECO0 Gather Table Register 0 Word 3, array offset: 0x8088C, array step: index*0xE3C, index2*0x10 */
  10325. } DDGTR[1];
  10326. uint8_t RESERVED_27[112];
  10327. struct { /* offset: 0x80900, array step: index*0xE3C, index2*0x10 */
  10328. __IO uint32_t DSTR_0; /**< DECO0 Scatter Table Register 0 Word 0, array offset: 0x80900, array step: index*0xE3C, index2*0x10 */
  10329. __IO uint32_t DSTR_1; /**< DECO0 Scatter Table Register 0 Word 1, array offset: 0x80904, array step: index*0xE3C, index2*0x10 */
  10330. __IO uint32_t DSTR_2; /**< DECO0 Scatter Table Register 0 Word 2, array offset: 0x80908, array step: index*0xE3C, index2*0x10 */
  10331. __IO uint32_t DSTR_3; /**< DECO0 Scatter Table Register 0 Word 3, array offset: 0x8090C, array step: index*0xE3C, index2*0x10 */
  10332. } DDSTR[1];
  10333. uint8_t RESERVED_28[240];
  10334. __IO uint32_t DDESB[64]; /**< DECO0 Descriptor Buffer Word 0..DECO0 Descriptor Buffer Word 63, array offset: 0x80A00, array step: index*0xE3C, index2*0x4 */
  10335. uint8_t RESERVED_29[768];
  10336. __I uint32_t DDJR; /**< DECO0 Debug Job Register, array offset: 0x80E00, array step: 0xE3C */
  10337. __I uint32_t DDDR; /**< DECO0 Debug DECO Register, array offset: 0x80E04, array step: 0xE3C */
  10338. __I uint64_t DDJP; /**< DECO0 Debug Job Pointer, array offset: 0x80E08, array step: 0xE3C */
  10339. __I uint64_t DSDP; /**< DECO0 Debug Shared Pointer, array offset: 0x80E10, array step: 0xE3C */
  10340. __I uint32_t DDDR_MS; /**< DECO0 Debug DID, most-significant half, array offset: 0x80E18, array step: 0xE3C */
  10341. __I uint32_t DDDR_LS; /**< DECO0 Debug DID, least-significant half, array offset: 0x80E1C, array step: 0xE3C */
  10342. __IO uint32_t SOL; /**< Sequence Output Length Register, array offset: 0x80E20, array step: 0xE3C */
  10343. __IO uint32_t VSOL; /**< Variable Sequence Output Length Register, array offset: 0x80E24, array step: 0xE3C */
  10344. __IO uint32_t SIL; /**< Sequence Input Length Register, array offset: 0x80E28, array step: 0xE3C */
  10345. __IO uint32_t VSIL; /**< Variable Sequence Input Length Register, array offset: 0x80E2C, array step: 0xE3C */
  10346. __IO uint32_t DPOVRD; /**< Protocol Override Register, array offset: 0x80E30, array step: 0xE3C */
  10347. __IO uint32_t UVSOL; /**< Variable Sequence Output Length Register; Upper 32 bits, array offset: 0x80E34, array step: 0xE3C */
  10348. __IO uint32_t UVSIL; /**< Variable Sequence Input Length Register; Upper 32 bits, array offset: 0x80E38, array step: 0xE3C */
  10349. } DC[1];
  10350. uint8_t RESERVED_53[356];
  10351. __I uint32_t CRNR_MS_DC01; /**< CHA Revision Number Register, most-significant half, offset: 0x80FA0 */
  10352. __I uint32_t CRNR_LS_DC01; /**< CHA Revision Number Register, least-significant half, offset: 0x80FA4 */
  10353. __I uint32_t CTPR_MS_DC01; /**< Compile Time Parameters Register, most-significant half, offset: 0x80FA8 */
  10354. __I uint32_t CTPR_LS_DC01; /**< Compile Time Parameters Register, least-significant half, offset: 0x80FAC */
  10355. uint8_t RESERVED_54[4];
  10356. __I uint32_t SMSTA_DC01; /**< Secure Memory Status Register, offset: 0x80FB4 */
  10357. uint8_t RESERVED_55[8];
  10358. __I uint64_t FAR_DC01; /**< Fault Address Register, offset: 0x80FC0 */
  10359. __I uint32_t FADID_DC01; /**< Fault Address DID Register, offset: 0x80FC8 */
  10360. __I uint32_t FADR_DC01; /**< Fault Address Detail Register, offset: 0x80FCC */
  10361. uint8_t RESERVED_56[4];
  10362. __I uint32_t CSTA_DC01; /**< CAAM Status Register, offset: 0x80FD4 */
  10363. __I uint32_t SMVID_MS_DC01; /**< Secure Memory Version ID Register, most-significant half, offset: 0x80FD8 */
  10364. __I uint32_t SMVID_LS_DC01; /**< Secure Memory Version ID Register, least-significant half, offset: 0x80FDC */
  10365. __I uint32_t RVID_DC01; /**< RTIC Version ID Register, offset: 0x80FE0 */
  10366. __I uint32_t CCBVID_DC01; /**< CHA Cluster Block Version ID Register, offset: 0x80FE4 */
  10367. __I uint32_t CHAVID_MS_DC01; /**< CHA Version ID Register, most-significant half, offset: 0x80FE8 */
  10368. __I uint32_t CHAVID_LS_DC01; /**< CHA Version ID Register, least-significant half, offset: 0x80FEC */
  10369. __I uint32_t CHANUM_MS_DC01; /**< CHA Number Register, most-significant half, offset: 0x80FF0 */
  10370. __I uint32_t CHANUM_LS_DC01; /**< CHA Number Register, least-significant half, offset: 0x80FF4 */
  10371. __I uint32_t CAAMVID_MS_DC01; /**< CAAM Version ID Register, most-significant half, offset: 0x80FF8 */
  10372. __I uint32_t CAAMVID_LS_DC01; /**< CAAM Version ID Register, least-significant half, offset: 0x80FFC */
  10373. } CAAM_Type;
  10374. /* ----------------------------------------------------------------------------
  10375. -- CAAM Register Masks
  10376. ---------------------------------------------------------------------------- */
  10377. /*!
  10378. * @addtogroup CAAM_Register_Masks CAAM Register Masks
  10379. * @{
  10380. */
  10381. /*! @name MCFGR - Master Configuration Register */
  10382. /*! @{ */
  10383. #define CAAM_MCFGR_NORMAL_BURST_MASK (0x1U)
  10384. #define CAAM_MCFGR_NORMAL_BURST_SHIFT (0U)
  10385. /*! NORMAL_BURST
  10386. * 0b0..Aligned 32 byte burst size target
  10387. * 0b1..Aligned 64 byte burst size target
  10388. */
  10389. #define CAAM_MCFGR_NORMAL_BURST(x) (((uint32_t)(((uint32_t)(x)) << CAAM_MCFGR_NORMAL_BURST_SHIFT)) & CAAM_MCFGR_NORMAL_BURST_MASK)
  10390. #define CAAM_MCFGR_LARGE_BURST_MASK (0x4U)
  10391. #define CAAM_MCFGR_LARGE_BURST_SHIFT (2U)
  10392. #define CAAM_MCFGR_LARGE_BURST(x) (((uint32_t)(((uint32_t)(x)) << CAAM_MCFGR_LARGE_BURST_SHIFT)) & CAAM_MCFGR_LARGE_BURST_MASK)
  10393. #define CAAM_MCFGR_AXIPIPE_MASK (0xF0U)
  10394. #define CAAM_MCFGR_AXIPIPE_SHIFT (4U)
  10395. #define CAAM_MCFGR_AXIPIPE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_MCFGR_AXIPIPE_SHIFT)) & CAAM_MCFGR_AXIPIPE_MASK)
  10396. #define CAAM_MCFGR_AWCACHE_MASK (0xF00U)
  10397. #define CAAM_MCFGR_AWCACHE_SHIFT (8U)
  10398. #define CAAM_MCFGR_AWCACHE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_MCFGR_AWCACHE_SHIFT)) & CAAM_MCFGR_AWCACHE_MASK)
  10399. #define CAAM_MCFGR_ARCACHE_MASK (0xF000U)
  10400. #define CAAM_MCFGR_ARCACHE_SHIFT (12U)
  10401. #define CAAM_MCFGR_ARCACHE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_MCFGR_ARCACHE_SHIFT)) & CAAM_MCFGR_ARCACHE_MASK)
  10402. #define CAAM_MCFGR_PS_MASK (0x10000U)
  10403. #define CAAM_MCFGR_PS_SHIFT (16U)
  10404. /*! PS
  10405. * 0b0..Pointers fit in one 32-bit word (pointers are 32-bit addresses).
  10406. * 0b1..Pointers require two 32-bit words (pointers are 36-bit addresses).
  10407. */
  10408. #define CAAM_MCFGR_PS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_MCFGR_PS_SHIFT)) & CAAM_MCFGR_PS_MASK)
  10409. #define CAAM_MCFGR_DWT_MASK (0x80000U)
  10410. #define CAAM_MCFGR_DWT_SHIFT (19U)
  10411. #define CAAM_MCFGR_DWT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_MCFGR_DWT_SHIFT)) & CAAM_MCFGR_DWT_MASK)
  10412. #define CAAM_MCFGR_WRHD_MASK (0x8000000U)
  10413. #define CAAM_MCFGR_WRHD_SHIFT (27U)
  10414. #define CAAM_MCFGR_WRHD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_MCFGR_WRHD_SHIFT)) & CAAM_MCFGR_WRHD_MASK)
  10415. #define CAAM_MCFGR_DMA_RST_MASK (0x10000000U)
  10416. #define CAAM_MCFGR_DMA_RST_SHIFT (28U)
  10417. #define CAAM_MCFGR_DMA_RST(x) (((uint32_t)(((uint32_t)(x)) << CAAM_MCFGR_DMA_RST_SHIFT)) & CAAM_MCFGR_DMA_RST_MASK)
  10418. #define CAAM_MCFGR_WDF_MASK (0x20000000U)
  10419. #define CAAM_MCFGR_WDF_SHIFT (29U)
  10420. #define CAAM_MCFGR_WDF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_MCFGR_WDF_SHIFT)) & CAAM_MCFGR_WDF_MASK)
  10421. #define CAAM_MCFGR_WDE_MASK (0x40000000U)
  10422. #define CAAM_MCFGR_WDE_SHIFT (30U)
  10423. #define CAAM_MCFGR_WDE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_MCFGR_WDE_SHIFT)) & CAAM_MCFGR_WDE_MASK)
  10424. #define CAAM_MCFGR_SWRST_MASK (0x80000000U)
  10425. #define CAAM_MCFGR_SWRST_SHIFT (31U)
  10426. #define CAAM_MCFGR_SWRST(x) (((uint32_t)(((uint32_t)(x)) << CAAM_MCFGR_SWRST_SHIFT)) & CAAM_MCFGR_SWRST_MASK)
  10427. /*! @} */
  10428. /*! @name PAGE0_SDID - Page 0 SDID Register */
  10429. /*! @{ */
  10430. #define CAAM_PAGE0_SDID_SDID_MASK (0x7FFFU)
  10431. #define CAAM_PAGE0_SDID_SDID_SHIFT (0U)
  10432. #define CAAM_PAGE0_SDID_SDID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PAGE0_SDID_SDID_SHIFT)) & CAAM_PAGE0_SDID_SDID_MASK)
  10433. /*! @} */
  10434. /*! @name SCFGR - Security Configuration Register */
  10435. /*! @{ */
  10436. #define CAAM_SCFGR_PRIBLOB_MASK (0x3U)
  10437. #define CAAM_SCFGR_PRIBLOB_SHIFT (0U)
  10438. /*! PRIBLOB
  10439. * 0b00..Private secure boot software blobs
  10440. * 0b01..Private provisioning type 1 blobs
  10441. * 0b10..Private provisioning type 2 blobs
  10442. * 0b11..Normal operation blobs
  10443. */
  10444. #define CAAM_SCFGR_PRIBLOB(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SCFGR_PRIBLOB_SHIFT)) & CAAM_SCFGR_PRIBLOB_MASK)
  10445. #define CAAM_SCFGR_RNGSH0_MASK (0x200U)
  10446. #define CAAM_SCFGR_RNGSH0_SHIFT (9U)
  10447. /*! RNGSH0
  10448. * 0b0..When RNGSH0 is 0, RNG DRNG State Handle 0 can be instantiated in any mode. RNGSH0 is set to 0 only for testing.
  10449. * 0b1..When RNGSH0 is 1, RNG DRNG State Handle 0 cannot be instantiated in deterministic (test) mode. RNGSHO
  10450. * should be set to 1 before the RNG is instantiated. If it is currently instantiated in a deterministic mode,
  10451. * it will be un-instantiated. Once this bit has been written to a 1, it cannot be changed to a 0 until the
  10452. * next power on reset.
  10453. */
  10454. #define CAAM_SCFGR_RNGSH0(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SCFGR_RNGSH0_SHIFT)) & CAAM_SCFGR_RNGSH0_MASK)
  10455. #define CAAM_SCFGR_LCK_TRNG_MASK (0x800U)
  10456. #define CAAM_SCFGR_LCK_TRNG_SHIFT (11U)
  10457. #define CAAM_SCFGR_LCK_TRNG(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SCFGR_LCK_TRNG_SHIFT)) & CAAM_SCFGR_LCK_TRNG_MASK)
  10458. #define CAAM_SCFGR_VIRT_EN_MASK (0x8000U)
  10459. #define CAAM_SCFGR_VIRT_EN_SHIFT (15U)
  10460. /*! VIRT_EN
  10461. * 0b0..Disable job ring virtualization
  10462. * 0b1..Enable job ring virtualization
  10463. */
  10464. #define CAAM_SCFGR_VIRT_EN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SCFGR_VIRT_EN_SHIFT)) & CAAM_SCFGR_VIRT_EN_MASK)
  10465. #define CAAM_SCFGR_MPMRL_MASK (0x4000000U)
  10466. #define CAAM_SCFGR_MPMRL_SHIFT (26U)
  10467. #define CAAM_SCFGR_MPMRL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SCFGR_MPMRL_SHIFT)) & CAAM_SCFGR_MPMRL_MASK)
  10468. #define CAAM_SCFGR_MPPKRC_MASK (0x8000000U)
  10469. #define CAAM_SCFGR_MPPKRC_SHIFT (27U)
  10470. #define CAAM_SCFGR_MPPKRC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SCFGR_MPPKRC_SHIFT)) & CAAM_SCFGR_MPPKRC_MASK)
  10471. #define CAAM_SCFGR_MPCURVE_MASK (0xF0000000U)
  10472. #define CAAM_SCFGR_MPCURVE_SHIFT (28U)
  10473. #define CAAM_SCFGR_MPCURVE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SCFGR_MPCURVE_SHIFT)) & CAAM_SCFGR_MPCURVE_MASK)
  10474. /*! @} */
  10475. /*! @name JRDID_MS - Job Ring 0 DID Register - most significant half..Job Ring 3 DID Register - most significant half */
  10476. /*! @{ */
  10477. #define CAAM_JRDID_MS_PRIM_DID_MASK (0xFU)
  10478. #define CAAM_JRDID_MS_PRIM_DID_SHIFT (0U)
  10479. #define CAAM_JRDID_MS_PRIM_DID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRDID_MS_PRIM_DID_SHIFT)) & CAAM_JRDID_MS_PRIM_DID_MASK)
  10480. #define CAAM_JRDID_MS_PRIM_TZ_MASK (0x10U)
  10481. #define CAAM_JRDID_MS_PRIM_TZ_SHIFT (4U)
  10482. #define CAAM_JRDID_MS_PRIM_TZ(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRDID_MS_PRIM_TZ_SHIFT)) & CAAM_JRDID_MS_PRIM_TZ_MASK)
  10483. #define CAAM_JRDID_MS_SDID_MS_MASK (0x7FE0U)
  10484. #define CAAM_JRDID_MS_SDID_MS_SHIFT (5U)
  10485. #define CAAM_JRDID_MS_SDID_MS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRDID_MS_SDID_MS_SHIFT)) & CAAM_JRDID_MS_SDID_MS_MASK)
  10486. #define CAAM_JRDID_MS_TZ_OWN_MASK (0x8000U)
  10487. #define CAAM_JRDID_MS_TZ_OWN_SHIFT (15U)
  10488. #define CAAM_JRDID_MS_TZ_OWN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRDID_MS_TZ_OWN_SHIFT)) & CAAM_JRDID_MS_TZ_OWN_MASK)
  10489. #define CAAM_JRDID_MS_AMTD_MASK (0x10000U)
  10490. #define CAAM_JRDID_MS_AMTD_SHIFT (16U)
  10491. #define CAAM_JRDID_MS_AMTD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRDID_MS_AMTD_SHIFT)) & CAAM_JRDID_MS_AMTD_MASK)
  10492. #define CAAM_JRDID_MS_LAMTD_MASK (0x20000U)
  10493. #define CAAM_JRDID_MS_LAMTD_SHIFT (17U)
  10494. #define CAAM_JRDID_MS_LAMTD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRDID_MS_LAMTD_SHIFT)) & CAAM_JRDID_MS_LAMTD_MASK)
  10495. #define CAAM_JRDID_MS_PRIM_ICID_MASK (0x3FF80000U)
  10496. #define CAAM_JRDID_MS_PRIM_ICID_SHIFT (19U)
  10497. #define CAAM_JRDID_MS_PRIM_ICID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRDID_MS_PRIM_ICID_SHIFT)) & CAAM_JRDID_MS_PRIM_ICID_MASK)
  10498. #define CAAM_JRDID_MS_USE_OUT_MASK (0x40000000U)
  10499. #define CAAM_JRDID_MS_USE_OUT_SHIFT (30U)
  10500. #define CAAM_JRDID_MS_USE_OUT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRDID_MS_USE_OUT_SHIFT)) & CAAM_JRDID_MS_USE_OUT_MASK)
  10501. #define CAAM_JRDID_MS_LDID_MASK (0x80000000U)
  10502. #define CAAM_JRDID_MS_LDID_SHIFT (31U)
  10503. #define CAAM_JRDID_MS_LDID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRDID_MS_LDID_SHIFT)) & CAAM_JRDID_MS_LDID_MASK)
  10504. /*! @} */
  10505. /* The count of CAAM_JRDID_MS */
  10506. #define CAAM_JRDID_MS_COUNT (4U)
  10507. /*! @name JRDID_LS - Job Ring 0 DID Register - least significant half..Job Ring 3 DID Register - least significant half */
  10508. /*! @{ */
  10509. #define CAAM_JRDID_LS_OUT_DID_MASK (0xFU)
  10510. #define CAAM_JRDID_LS_OUT_DID_SHIFT (0U)
  10511. #define CAAM_JRDID_LS_OUT_DID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRDID_LS_OUT_DID_SHIFT)) & CAAM_JRDID_LS_OUT_DID_MASK)
  10512. #define CAAM_JRDID_LS_OUT_ICID_MASK (0x3FF80000U)
  10513. #define CAAM_JRDID_LS_OUT_ICID_SHIFT (19U)
  10514. #define CAAM_JRDID_LS_OUT_ICID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRDID_LS_OUT_ICID_SHIFT)) & CAAM_JRDID_LS_OUT_ICID_MASK)
  10515. /*! @} */
  10516. /* The count of CAAM_JRDID_LS */
  10517. #define CAAM_JRDID_LS_COUNT (4U)
  10518. /*! @name DEBUGCTL - Debug Control Register */
  10519. /*! @{ */
  10520. #define CAAM_DEBUGCTL_STOP_MASK (0x10000U)
  10521. #define CAAM_DEBUGCTL_STOP_SHIFT (16U)
  10522. #define CAAM_DEBUGCTL_STOP(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DEBUGCTL_STOP_SHIFT)) & CAAM_DEBUGCTL_STOP_MASK)
  10523. #define CAAM_DEBUGCTL_STOP_ACK_MASK (0x20000U)
  10524. #define CAAM_DEBUGCTL_STOP_ACK_SHIFT (17U)
  10525. #define CAAM_DEBUGCTL_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DEBUGCTL_STOP_ACK_SHIFT)) & CAAM_DEBUGCTL_STOP_ACK_MASK)
  10526. /*! @} */
  10527. /*! @name JRSTARTR - Job Ring Start Register */
  10528. /*! @{ */
  10529. #define CAAM_JRSTARTR_Start_JR0_MASK (0x1U)
  10530. #define CAAM_JRSTARTR_Start_JR0_SHIFT (0U)
  10531. /*! Start_JR0
  10532. * 0b0..Stop Mode. The JR0DID register and the SMVBA register for Job Ring 0 can be written but the IRBAR, IRSR,
  10533. * IRSAR, IRJAR, ORBAR, ORSR, ORJRR, ORSFR and JRSTAR for Job Ring 0 are NOT accessible. If Job Ring 0 is
  10534. * allocated to TrustZone SecureWorld (JR0DID[TZ]=1), the JR0DID and SMVBA register can be written only via a
  10535. * bus transaction that has ns=0.
  10536. * 0b1..Start Mode. The JR0DID register and the SMVBA register for Job Ring 0 CANNOT be written but the IRBAR,
  10537. * IRSR, IRSAR, IRJAR, ORBAR, ORSR, ORJRR, ORSFR and JRSTAR for Job Ring 0 ARE accessible. If Job Ring 0 is
  10538. * allocated to TrustZone SecureWorld (JR0DID[TZ]=1), then the SMVBA, IRBAR, IRSR, IRSAR, IRJAR, ORBAR, ORSR,
  10539. * ORJRR, ORSFR and JRSTAR registers for Job Ring 0 can be written only via a bus transaction that has ns=0.
  10540. */
  10541. #define CAAM_JRSTARTR_Start_JR0(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRSTARTR_Start_JR0_SHIFT)) & CAAM_JRSTARTR_Start_JR0_MASK)
  10542. #define CAAM_JRSTARTR_Start_JR1_MASK (0x2U)
  10543. #define CAAM_JRSTARTR_Start_JR1_SHIFT (1U)
  10544. /*! Start_JR1
  10545. * 0b0..Stop Mode. The JR1DID register and the SMVBA register for Job Ring 1 can be written but the IRBAR, IRSR,
  10546. * IRSAR, IRJAR, ORBAR, ORSR, ORJRR, ORSFR and JRSTAR for Job Ring 1 are NOT accessible. If Job Ring 1 is
  10547. * allocated to TrustZone SecureWorld (JR1DID[TZ]=1), the JR1DID and SMVBA register can be written only via a
  10548. * bus transaction that has ns=0.
  10549. * 0b1..Start Mode. The JR1DID register and the SMVBA register for Job Ring 1 CANNOT be written but the IRBAR,
  10550. * IRSR, IRSAR, IRJAR, ORBAR, ORSR, ORJRR, ORSFR and JRSTAR for Job Ring 1 ARE accessible. If Job Ring 1 is
  10551. * allocated to TrustZone SecureWorld (JR1DID[TZ]=1), then the SMVBA, IRBAR, IRSR, IRSAR, IRJAR, ORBAR, ORSR,
  10552. * ORJRR, ORSFR and JRSTAR registers for Job Ring 1 can be written only via a bus transaction that has ns=0.
  10553. */
  10554. #define CAAM_JRSTARTR_Start_JR1(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRSTARTR_Start_JR1_SHIFT)) & CAAM_JRSTARTR_Start_JR1_MASK)
  10555. #define CAAM_JRSTARTR_Start_JR2_MASK (0x4U)
  10556. #define CAAM_JRSTARTR_Start_JR2_SHIFT (2U)
  10557. /*! Start_JR2
  10558. * 0b0..Stop Mode. The JR2DID register and the SMVBA register for Job Ring 2 can be written but the IRBAR, IRSR,
  10559. * IRSAR, IRJAR, ORBAR, ORSR, ORJRR, ORSFR and JRSTAR for Job Ring 2 are NOT accessible. If Job Ring 2 is
  10560. * allocated to TrustZone SecureWorld (JR2DID[TZ]=1), the JR2DID and SMVBA register can be written only via a
  10561. * bus transaction that has ns=0.
  10562. * 0b1..Start Mode. The JR2DID register and the SMVBA register for Job Ring 2 CANNOT be written but the IRBAR,
  10563. * IRSR, IRSAR, IRJAR, ORBAR, ORSR, ORJRR, ORSFR and JRSTAR for Job Ring 2 ARE accessible. If Job Ring 2 is
  10564. * allocated to TrustZone SecureWorld (JR2DID[TZ]=1), then the SMVBA, IRBAR, IRSR, IRSAR, IRJAR, ORBAR, ORSR,
  10565. * ORJRR, ORSFR and JRSTAR registers for Job Ring 2 can be written only via a bus transaction that has ns=0.
  10566. */
  10567. #define CAAM_JRSTARTR_Start_JR2(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRSTARTR_Start_JR2_SHIFT)) & CAAM_JRSTARTR_Start_JR2_MASK)
  10568. #define CAAM_JRSTARTR_Start_JR3_MASK (0x8U)
  10569. #define CAAM_JRSTARTR_Start_JR3_SHIFT (3U)
  10570. /*! Start_JR3
  10571. * 0b0..Stop Mode. The JR3DID register and the SMVBA register for Job Ring 3 can be written but the IRBAR, IRSR,
  10572. * IRSAR, IRJAR, ORBAR, ORSR, ORJRR, ORSFR and JRSTAR for Job Ring 3 are NOT accessible. If Job Ring 3 is
  10573. * allocated to TrustZone SecureWorld (JR3DID[TZ]=1), the JR3DID and SMVBA register can be written only via a
  10574. * bus transaction that has ns=0.
  10575. * 0b1..Start Mode. The JR3DID register and the SMVBA register for Job Ring 3 CANNOT be written but the IRBAR,
  10576. * IRSR, IRSAR, IRJAR, ORBAR, ORSR, ORJRR, ORSFR and JRSTAR for Job Ring 3 ARE accessible. If Job Ring 3 is
  10577. * allocated to TrustZone SecureWorld (JR3DID[TZ]=1), then the SMVBA, IRBAR, IRSR, IRSAR, IRJAR, ORBAR, ORSR,
  10578. * ORJRR, ORSFR and JRSTAR registers for Job Ring 3 can be written only via a bus transaction that has ns=0.
  10579. */
  10580. #define CAAM_JRSTARTR_Start_JR3(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRSTARTR_Start_JR3_SHIFT)) & CAAM_JRSTARTR_Start_JR3_MASK)
  10581. /*! @} */
  10582. /*! @name RTIC_OWN - RTIC OWN Register */
  10583. /*! @{ */
  10584. #define CAAM_RTIC_OWN_ROWN_DID_MASK (0xFU)
  10585. #define CAAM_RTIC_OWN_ROWN_DID_SHIFT (0U)
  10586. /*! ROWN_DID - RTIC Owner's DID
  10587. */
  10588. #define CAAM_RTIC_OWN_ROWN_DID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTIC_OWN_ROWN_DID_SHIFT)) & CAAM_RTIC_OWN_ROWN_DID_MASK)
  10589. #define CAAM_RTIC_OWN_ROWN_TZ_MASK (0x10U)
  10590. #define CAAM_RTIC_OWN_ROWN_TZ_SHIFT (4U)
  10591. #define CAAM_RTIC_OWN_ROWN_TZ(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTIC_OWN_ROWN_TZ_SHIFT)) & CAAM_RTIC_OWN_ROWN_TZ_MASK)
  10592. #define CAAM_RTIC_OWN_LCK_MASK (0x80000000U)
  10593. #define CAAM_RTIC_OWN_LCK_SHIFT (31U)
  10594. #define CAAM_RTIC_OWN_LCK(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTIC_OWN_LCK_SHIFT)) & CAAM_RTIC_OWN_LCK_MASK)
  10595. /*! @} */
  10596. /*! @name RTIC_DID - RTIC DID Register for Block A..RTIC DID Register for Block D */
  10597. /*! @{ */
  10598. #define CAAM_RTIC_DID_RTIC_DID_MASK (0xFU)
  10599. #define CAAM_RTIC_DID_RTIC_DID_SHIFT (0U)
  10600. #define CAAM_RTIC_DID_RTIC_DID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTIC_DID_RTIC_DID_SHIFT)) & CAAM_RTIC_DID_RTIC_DID_MASK)
  10601. #define CAAM_RTIC_DID_RTIC_TZ_MASK (0x10U)
  10602. #define CAAM_RTIC_DID_RTIC_TZ_SHIFT (4U)
  10603. #define CAAM_RTIC_DID_RTIC_TZ(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTIC_DID_RTIC_TZ_SHIFT)) & CAAM_RTIC_DID_RTIC_TZ_MASK)
  10604. #define CAAM_RTIC_DID_RTIC_ICID_MASK (0x3FF80000U)
  10605. #define CAAM_RTIC_DID_RTIC_ICID_SHIFT (19U)
  10606. #define CAAM_RTIC_DID_RTIC_ICID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTIC_DID_RTIC_ICID_SHIFT)) & CAAM_RTIC_DID_RTIC_ICID_MASK)
  10607. /*! @} */
  10608. /* The count of CAAM_RTIC_DID */
  10609. #define CAAM_RTIC_DID_COUNT (4U)
  10610. /*! @name DECORSR - DECO Request Source Register */
  10611. /*! @{ */
  10612. #define CAAM_DECORSR_JR_MASK (0x3U)
  10613. #define CAAM_DECORSR_JR_SHIFT (0U)
  10614. #define CAAM_DECORSR_JR(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DECORSR_JR_SHIFT)) & CAAM_DECORSR_JR_MASK)
  10615. #define CAAM_DECORSR_VALID_MASK (0x80000000U)
  10616. #define CAAM_DECORSR_VALID_SHIFT (31U)
  10617. #define CAAM_DECORSR_VALID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DECORSR_VALID_SHIFT)) & CAAM_DECORSR_VALID_MASK)
  10618. /*! @} */
  10619. /*! @name DECORR - DECO Request Register */
  10620. /*! @{ */
  10621. #define CAAM_DECORR_RQD0_MASK (0x1U)
  10622. #define CAAM_DECORR_RQD0_SHIFT (0U)
  10623. #define CAAM_DECORR_RQD0(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DECORR_RQD0_SHIFT)) & CAAM_DECORR_RQD0_MASK)
  10624. #define CAAM_DECORR_DEN0_MASK (0x10000U)
  10625. #define CAAM_DECORR_DEN0_SHIFT (16U)
  10626. #define CAAM_DECORR_DEN0(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DECORR_DEN0_SHIFT)) & CAAM_DECORR_DEN0_MASK)
  10627. /*! @} */
  10628. /*! @name DECODID_MS - DECO0 DID Register - most significant half */
  10629. /*! @{ */
  10630. #define CAAM_DECODID_MS_DPRIM_DID_MASK (0xFU)
  10631. #define CAAM_DECODID_MS_DPRIM_DID_SHIFT (0U)
  10632. /*! DPRIM_DID - DECO Owner
  10633. */
  10634. #define CAAM_DECODID_MS_DPRIM_DID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DECODID_MS_DPRIM_DID_SHIFT)) & CAAM_DECODID_MS_DPRIM_DID_MASK)
  10635. #define CAAM_DECODID_MS_D_NS_MASK (0x10U)
  10636. #define CAAM_DECODID_MS_D_NS_SHIFT (4U)
  10637. #define CAAM_DECODID_MS_D_NS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DECODID_MS_D_NS_SHIFT)) & CAAM_DECODID_MS_D_NS_MASK)
  10638. #define CAAM_DECODID_MS_LCK_MASK (0x80000000U)
  10639. #define CAAM_DECODID_MS_LCK_SHIFT (31U)
  10640. #define CAAM_DECODID_MS_LCK(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DECODID_MS_LCK_SHIFT)) & CAAM_DECODID_MS_LCK_MASK)
  10641. /*! @} */
  10642. /* The count of CAAM_DECODID_MS */
  10643. #define CAAM_DECODID_MS_COUNT (1U)
  10644. /*! @name DECODID_LS - DECO0 DID Register - least significant half */
  10645. /*! @{ */
  10646. #define CAAM_DECODID_LS_DSEQ_DID_MASK (0xFU)
  10647. #define CAAM_DECODID_LS_DSEQ_DID_SHIFT (0U)
  10648. #define CAAM_DECODID_LS_DSEQ_DID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DECODID_LS_DSEQ_DID_SHIFT)) & CAAM_DECODID_LS_DSEQ_DID_MASK)
  10649. #define CAAM_DECODID_LS_DSEQ_NS_MASK (0x10U)
  10650. #define CAAM_DECODID_LS_DSEQ_NS_SHIFT (4U)
  10651. #define CAAM_DECODID_LS_DSEQ_NS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DECODID_LS_DSEQ_NS_SHIFT)) & CAAM_DECODID_LS_DSEQ_NS_MASK)
  10652. #define CAAM_DECODID_LS_DNSEQ_DID_MASK (0xF0000U)
  10653. #define CAAM_DECODID_LS_DNSEQ_DID_SHIFT (16U)
  10654. #define CAAM_DECODID_LS_DNSEQ_DID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DECODID_LS_DNSEQ_DID_SHIFT)) & CAAM_DECODID_LS_DNSEQ_DID_MASK)
  10655. #define CAAM_DECODID_LS_DNONSEQ_NS_MASK (0x100000U)
  10656. #define CAAM_DECODID_LS_DNONSEQ_NS_SHIFT (20U)
  10657. #define CAAM_DECODID_LS_DNONSEQ_NS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DECODID_LS_DNONSEQ_NS_SHIFT)) & CAAM_DECODID_LS_DNONSEQ_NS_MASK)
  10658. /*! @} */
  10659. /* The count of CAAM_DECODID_LS */
  10660. #define CAAM_DECODID_LS_COUNT (1U)
  10661. /*! @name DAR - DECO Availability Register */
  10662. /*! @{ */
  10663. #define CAAM_DAR_NYA0_MASK (0x1U)
  10664. #define CAAM_DAR_NYA0_SHIFT (0U)
  10665. #define CAAM_DAR_NYA0(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DAR_NYA0_SHIFT)) & CAAM_DAR_NYA0_MASK)
  10666. /*! @} */
  10667. /*! @name DRR - DECO Reset Register */
  10668. /*! @{ */
  10669. #define CAAM_DRR_RST0_MASK (0x1U)
  10670. #define CAAM_DRR_RST0_SHIFT (0U)
  10671. #define CAAM_DRR_RST0(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DRR_RST0_SHIFT)) & CAAM_DRR_RST0_MASK)
  10672. /*! @} */
  10673. /*! @name JRSMVBAR - Job Ring 0 Secure Memory Virtual Base Address Register..Job Ring 3 Secure Memory Virtual Base Address Register */
  10674. /*! @{ */
  10675. #define CAAM_JRSMVBAR_SMVBA_MASK (0xFFFFFFFFU)
  10676. #define CAAM_JRSMVBAR_SMVBA_SHIFT (0U)
  10677. #define CAAM_JRSMVBAR_SMVBA(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRSMVBAR_SMVBA_SHIFT)) & CAAM_JRSMVBAR_SMVBA_MASK)
  10678. /*! @} */
  10679. /* The count of CAAM_JRSMVBAR */
  10680. #define CAAM_JRSMVBAR_COUNT (4U)
  10681. /*! @name PBSL - Peak Bandwidth Smoothing Limit Register */
  10682. /*! @{ */
  10683. #define CAAM_PBSL_PBSL_MASK (0x7FU)
  10684. #define CAAM_PBSL_PBSL_SHIFT (0U)
  10685. #define CAAM_PBSL_PBSL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PBSL_PBSL_SHIFT)) & CAAM_PBSL_PBSL_MASK)
  10686. /*! @} */
  10687. /*! @name DMA_AIDL_MAP_MS - DMA0_AIDL_MAP_MS */
  10688. /*! @{ */
  10689. #define CAAM_DMA_AIDL_MAP_MS_AID4_BID_MASK (0xFFU)
  10690. #define CAAM_DMA_AIDL_MAP_MS_AID4_BID_SHIFT (0U)
  10691. #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)
  10692. #define CAAM_DMA_AIDL_MAP_MS_AID5_BID_MASK (0xFF00U)
  10693. #define CAAM_DMA_AIDL_MAP_MS_AID5_BID_SHIFT (8U)
  10694. #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)
  10695. #define CAAM_DMA_AIDL_MAP_MS_AID6_BID_MASK (0xFF0000U)
  10696. #define CAAM_DMA_AIDL_MAP_MS_AID6_BID_SHIFT (16U)
  10697. #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)
  10698. #define CAAM_DMA_AIDL_MAP_MS_AID7_BID_MASK (0xFF000000U)
  10699. #define CAAM_DMA_AIDL_MAP_MS_AID7_BID_SHIFT (24U)
  10700. #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)
  10701. /*! @} */
  10702. /* The count of CAAM_DMA_AIDL_MAP_MS */
  10703. #define CAAM_DMA_AIDL_MAP_MS_COUNT (1U)
  10704. /*! @name DMA_AIDL_MAP_LS - DMA0_AIDL_MAP_LS */
  10705. /*! @{ */
  10706. #define CAAM_DMA_AIDL_MAP_LS_AID0_BID_MASK (0xFFU)
  10707. #define CAAM_DMA_AIDL_MAP_LS_AID0_BID_SHIFT (0U)
  10708. #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)
  10709. #define CAAM_DMA_AIDL_MAP_LS_AID1_BID_MASK (0xFF00U)
  10710. #define CAAM_DMA_AIDL_MAP_LS_AID1_BID_SHIFT (8U)
  10711. #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)
  10712. #define CAAM_DMA_AIDL_MAP_LS_AID2_BID_MASK (0xFF0000U)
  10713. #define CAAM_DMA_AIDL_MAP_LS_AID2_BID_SHIFT (16U)
  10714. #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)
  10715. #define CAAM_DMA_AIDL_MAP_LS_AID3_BID_MASK (0xFF000000U)
  10716. #define CAAM_DMA_AIDL_MAP_LS_AID3_BID_SHIFT (24U)
  10717. #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)
  10718. /*! @} */
  10719. /* The count of CAAM_DMA_AIDL_MAP_LS */
  10720. #define CAAM_DMA_AIDL_MAP_LS_COUNT (1U)
  10721. /*! @name DMA_AIDM_MAP_MS - DMA0_AIDM_MAP_MS */
  10722. /*! @{ */
  10723. #define CAAM_DMA_AIDM_MAP_MS_AID12_BID_MASK (0xFFU)
  10724. #define CAAM_DMA_AIDM_MAP_MS_AID12_BID_SHIFT (0U)
  10725. #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)
  10726. #define CAAM_DMA_AIDM_MAP_MS_AID13_BID_MASK (0xFF00U)
  10727. #define CAAM_DMA_AIDM_MAP_MS_AID13_BID_SHIFT (8U)
  10728. #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)
  10729. #define CAAM_DMA_AIDM_MAP_MS_AID14_BID_MASK (0xFF0000U)
  10730. #define CAAM_DMA_AIDM_MAP_MS_AID14_BID_SHIFT (16U)
  10731. #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)
  10732. #define CAAM_DMA_AIDM_MAP_MS_AID15_BID_MASK (0xFF000000U)
  10733. #define CAAM_DMA_AIDM_MAP_MS_AID15_BID_SHIFT (24U)
  10734. #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)
  10735. /*! @} */
  10736. /* The count of CAAM_DMA_AIDM_MAP_MS */
  10737. #define CAAM_DMA_AIDM_MAP_MS_COUNT (1U)
  10738. /*! @name DMA_AIDM_MAP_LS - DMA0_AIDM_MAP_LS */
  10739. /*! @{ */
  10740. #define CAAM_DMA_AIDM_MAP_LS_AID8_BID_MASK (0xFFU)
  10741. #define CAAM_DMA_AIDM_MAP_LS_AID8_BID_SHIFT (0U)
  10742. #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)
  10743. #define CAAM_DMA_AIDM_MAP_LS_AID9_BID_MASK (0xFF00U)
  10744. #define CAAM_DMA_AIDM_MAP_LS_AID9_BID_SHIFT (8U)
  10745. #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)
  10746. #define CAAM_DMA_AIDM_MAP_LS_AID10_BID_MASK (0xFF0000U)
  10747. #define CAAM_DMA_AIDM_MAP_LS_AID10_BID_SHIFT (16U)
  10748. #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)
  10749. #define CAAM_DMA_AIDM_MAP_LS_AID11_BID_MASK (0xFF000000U)
  10750. #define CAAM_DMA_AIDM_MAP_LS_AID11_BID_SHIFT (24U)
  10751. #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)
  10752. /*! @} */
  10753. /* The count of CAAM_DMA_AIDM_MAP_LS */
  10754. #define CAAM_DMA_AIDM_MAP_LS_COUNT (1U)
  10755. /*! @name DMA0_AID_ENB - DMA0 AXI ID Enable Register */
  10756. /*! @{ */
  10757. #define CAAM_DMA0_AID_ENB_AID0E_MASK (0x1U)
  10758. #define CAAM_DMA0_AID_ENB_AID0E_SHIFT (0U)
  10759. #define CAAM_DMA0_AID_ENB_AID0E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA0_AID_ENB_AID0E_SHIFT)) & CAAM_DMA0_AID_ENB_AID0E_MASK)
  10760. #define CAAM_DMA0_AID_ENB_AID1E_MASK (0x2U)
  10761. #define CAAM_DMA0_AID_ENB_AID1E_SHIFT (1U)
  10762. #define CAAM_DMA0_AID_ENB_AID1E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA0_AID_ENB_AID1E_SHIFT)) & CAAM_DMA0_AID_ENB_AID1E_MASK)
  10763. #define CAAM_DMA0_AID_ENB_AID2E_MASK (0x4U)
  10764. #define CAAM_DMA0_AID_ENB_AID2E_SHIFT (2U)
  10765. #define CAAM_DMA0_AID_ENB_AID2E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA0_AID_ENB_AID2E_SHIFT)) & CAAM_DMA0_AID_ENB_AID2E_MASK)
  10766. #define CAAM_DMA0_AID_ENB_AID3E_MASK (0x8U)
  10767. #define CAAM_DMA0_AID_ENB_AID3E_SHIFT (3U)
  10768. #define CAAM_DMA0_AID_ENB_AID3E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA0_AID_ENB_AID3E_SHIFT)) & CAAM_DMA0_AID_ENB_AID3E_MASK)
  10769. #define CAAM_DMA0_AID_ENB_AID4E_MASK (0x10U)
  10770. #define CAAM_DMA0_AID_ENB_AID4E_SHIFT (4U)
  10771. #define CAAM_DMA0_AID_ENB_AID4E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA0_AID_ENB_AID4E_SHIFT)) & CAAM_DMA0_AID_ENB_AID4E_MASK)
  10772. #define CAAM_DMA0_AID_ENB_AID5E_MASK (0x20U)
  10773. #define CAAM_DMA0_AID_ENB_AID5E_SHIFT (5U)
  10774. #define CAAM_DMA0_AID_ENB_AID5E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA0_AID_ENB_AID5E_SHIFT)) & CAAM_DMA0_AID_ENB_AID5E_MASK)
  10775. #define CAAM_DMA0_AID_ENB_AID6E_MASK (0x40U)
  10776. #define CAAM_DMA0_AID_ENB_AID6E_SHIFT (6U)
  10777. #define CAAM_DMA0_AID_ENB_AID6E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA0_AID_ENB_AID6E_SHIFT)) & CAAM_DMA0_AID_ENB_AID6E_MASK)
  10778. #define CAAM_DMA0_AID_ENB_AID7E_MASK (0x80U)
  10779. #define CAAM_DMA0_AID_ENB_AID7E_SHIFT (7U)
  10780. #define CAAM_DMA0_AID_ENB_AID7E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA0_AID_ENB_AID7E_SHIFT)) & CAAM_DMA0_AID_ENB_AID7E_MASK)
  10781. #define CAAM_DMA0_AID_ENB_AID8E_MASK (0x100U)
  10782. #define CAAM_DMA0_AID_ENB_AID8E_SHIFT (8U)
  10783. #define CAAM_DMA0_AID_ENB_AID8E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA0_AID_ENB_AID8E_SHIFT)) & CAAM_DMA0_AID_ENB_AID8E_MASK)
  10784. #define CAAM_DMA0_AID_ENB_AID9E_MASK (0x200U)
  10785. #define CAAM_DMA0_AID_ENB_AID9E_SHIFT (9U)
  10786. #define CAAM_DMA0_AID_ENB_AID9E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA0_AID_ENB_AID9E_SHIFT)) & CAAM_DMA0_AID_ENB_AID9E_MASK)
  10787. #define CAAM_DMA0_AID_ENB_AID10E_MASK (0x400U)
  10788. #define CAAM_DMA0_AID_ENB_AID10E_SHIFT (10U)
  10789. #define CAAM_DMA0_AID_ENB_AID10E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA0_AID_ENB_AID10E_SHIFT)) & CAAM_DMA0_AID_ENB_AID10E_MASK)
  10790. #define CAAM_DMA0_AID_ENB_AID11E_MASK (0x800U)
  10791. #define CAAM_DMA0_AID_ENB_AID11E_SHIFT (11U)
  10792. #define CAAM_DMA0_AID_ENB_AID11E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA0_AID_ENB_AID11E_SHIFT)) & CAAM_DMA0_AID_ENB_AID11E_MASK)
  10793. #define CAAM_DMA0_AID_ENB_AID12E_MASK (0x1000U)
  10794. #define CAAM_DMA0_AID_ENB_AID12E_SHIFT (12U)
  10795. #define CAAM_DMA0_AID_ENB_AID12E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA0_AID_ENB_AID12E_SHIFT)) & CAAM_DMA0_AID_ENB_AID12E_MASK)
  10796. #define CAAM_DMA0_AID_ENB_AID13E_MASK (0x2000U)
  10797. #define CAAM_DMA0_AID_ENB_AID13E_SHIFT (13U)
  10798. #define CAAM_DMA0_AID_ENB_AID13E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA0_AID_ENB_AID13E_SHIFT)) & CAAM_DMA0_AID_ENB_AID13E_MASK)
  10799. #define CAAM_DMA0_AID_ENB_AID14E_MASK (0x4000U)
  10800. #define CAAM_DMA0_AID_ENB_AID14E_SHIFT (14U)
  10801. #define CAAM_DMA0_AID_ENB_AID14E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA0_AID_ENB_AID14E_SHIFT)) & CAAM_DMA0_AID_ENB_AID14E_MASK)
  10802. #define CAAM_DMA0_AID_ENB_AID15E_MASK (0x8000U)
  10803. #define CAAM_DMA0_AID_ENB_AID15E_SHIFT (15U)
  10804. #define CAAM_DMA0_AID_ENB_AID15E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA0_AID_ENB_AID15E_SHIFT)) & CAAM_DMA0_AID_ENB_AID15E_MASK)
  10805. /*! @} */
  10806. /*! @name DMA0_ARD_TC - DMA0 AXI Read Timing Check Register */
  10807. /*! @{ */
  10808. #define CAAM_DMA0_ARD_TC_ARSC_MASK (0xFFFFFU)
  10809. #define CAAM_DMA0_ARD_TC_ARSC_SHIFT (0U)
  10810. #define CAAM_DMA0_ARD_TC_ARSC(x) (((uint64_t)(((uint64_t)(x)) << CAAM_DMA0_ARD_TC_ARSC_SHIFT)) & CAAM_DMA0_ARD_TC_ARSC_MASK)
  10811. #define CAAM_DMA0_ARD_TC_ARLC_MASK (0xFFFFF000000U)
  10812. #define CAAM_DMA0_ARD_TC_ARLC_SHIFT (24U)
  10813. #define CAAM_DMA0_ARD_TC_ARLC(x) (((uint64_t)(((uint64_t)(x)) << CAAM_DMA0_ARD_TC_ARLC_SHIFT)) & CAAM_DMA0_ARD_TC_ARLC_MASK)
  10814. #define CAAM_DMA0_ARD_TC_ARL_MASK (0xFFF000000000000U)
  10815. #define CAAM_DMA0_ARD_TC_ARL_SHIFT (48U)
  10816. #define CAAM_DMA0_ARD_TC_ARL(x) (((uint64_t)(((uint64_t)(x)) << CAAM_DMA0_ARD_TC_ARL_SHIFT)) & CAAM_DMA0_ARD_TC_ARL_MASK)
  10817. #define CAAM_DMA0_ARD_TC_ARTL_MASK (0x1000000000000000U)
  10818. #define CAAM_DMA0_ARD_TC_ARTL_SHIFT (60U)
  10819. #define CAAM_DMA0_ARD_TC_ARTL(x) (((uint64_t)(((uint64_t)(x)) << CAAM_DMA0_ARD_TC_ARTL_SHIFT)) & CAAM_DMA0_ARD_TC_ARTL_MASK)
  10820. #define CAAM_DMA0_ARD_TC_ARTT_MASK (0x2000000000000000U)
  10821. #define CAAM_DMA0_ARD_TC_ARTT_SHIFT (61U)
  10822. #define CAAM_DMA0_ARD_TC_ARTT(x) (((uint64_t)(((uint64_t)(x)) << CAAM_DMA0_ARD_TC_ARTT_SHIFT)) & CAAM_DMA0_ARD_TC_ARTT_MASK)
  10823. #define CAAM_DMA0_ARD_TC_ARCT_MASK (0x4000000000000000U)
  10824. #define CAAM_DMA0_ARD_TC_ARCT_SHIFT (62U)
  10825. #define CAAM_DMA0_ARD_TC_ARCT(x) (((uint64_t)(((uint64_t)(x)) << CAAM_DMA0_ARD_TC_ARCT_SHIFT)) & CAAM_DMA0_ARD_TC_ARCT_MASK)
  10826. #define CAAM_DMA0_ARD_TC_ARTCE_MASK (0x8000000000000000U)
  10827. #define CAAM_DMA0_ARD_TC_ARTCE_SHIFT (63U)
  10828. #define CAAM_DMA0_ARD_TC_ARTCE(x) (((uint64_t)(((uint64_t)(x)) << CAAM_DMA0_ARD_TC_ARTCE_SHIFT)) & CAAM_DMA0_ARD_TC_ARTCE_MASK)
  10829. /*! @} */
  10830. /*! @name DMA0_ARD_LAT - DMA0 Read Timing Check Latency Register */
  10831. /*! @{ */
  10832. #define CAAM_DMA0_ARD_LAT_SARL_MASK (0xFFFFFFFFU)
  10833. #define CAAM_DMA0_ARD_LAT_SARL_SHIFT (0U)
  10834. #define CAAM_DMA0_ARD_LAT_SARL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA0_ARD_LAT_SARL_SHIFT)) & CAAM_DMA0_ARD_LAT_SARL_MASK)
  10835. /*! @} */
  10836. /*! @name DMA0_AWR_TC - DMA0 AXI Write Timing Check Register */
  10837. /*! @{ */
  10838. #define CAAM_DMA0_AWR_TC_AWSC_MASK (0xFFFFFU)
  10839. #define CAAM_DMA0_AWR_TC_AWSC_SHIFT (0U)
  10840. #define CAAM_DMA0_AWR_TC_AWSC(x) (((uint64_t)(((uint64_t)(x)) << CAAM_DMA0_AWR_TC_AWSC_SHIFT)) & CAAM_DMA0_AWR_TC_AWSC_MASK)
  10841. #define CAAM_DMA0_AWR_TC_AWLC_MASK (0xFFFFF000000U)
  10842. #define CAAM_DMA0_AWR_TC_AWLC_SHIFT (24U)
  10843. #define CAAM_DMA0_AWR_TC_AWLC(x) (((uint64_t)(((uint64_t)(x)) << CAAM_DMA0_AWR_TC_AWLC_SHIFT)) & CAAM_DMA0_AWR_TC_AWLC_MASK)
  10844. #define CAAM_DMA0_AWR_TC_AWL_MASK (0xFFF000000000000U)
  10845. #define CAAM_DMA0_AWR_TC_AWL_SHIFT (48U)
  10846. #define CAAM_DMA0_AWR_TC_AWL(x) (((uint64_t)(((uint64_t)(x)) << CAAM_DMA0_AWR_TC_AWL_SHIFT)) & CAAM_DMA0_AWR_TC_AWL_MASK)
  10847. #define CAAM_DMA0_AWR_TC_AWTT_MASK (0x2000000000000000U)
  10848. #define CAAM_DMA0_AWR_TC_AWTT_SHIFT (61U)
  10849. #define CAAM_DMA0_AWR_TC_AWTT(x) (((uint64_t)(((uint64_t)(x)) << CAAM_DMA0_AWR_TC_AWTT_SHIFT)) & CAAM_DMA0_AWR_TC_AWTT_MASK)
  10850. #define CAAM_DMA0_AWR_TC_AWCT_MASK (0x4000000000000000U)
  10851. #define CAAM_DMA0_AWR_TC_AWCT_SHIFT (62U)
  10852. #define CAAM_DMA0_AWR_TC_AWCT(x) (((uint64_t)(((uint64_t)(x)) << CAAM_DMA0_AWR_TC_AWCT_SHIFT)) & CAAM_DMA0_AWR_TC_AWCT_MASK)
  10853. #define CAAM_DMA0_AWR_TC_AWTCE_MASK (0x8000000000000000U)
  10854. #define CAAM_DMA0_AWR_TC_AWTCE_SHIFT (63U)
  10855. #define CAAM_DMA0_AWR_TC_AWTCE(x) (((uint64_t)(((uint64_t)(x)) << CAAM_DMA0_AWR_TC_AWTCE_SHIFT)) & CAAM_DMA0_AWR_TC_AWTCE_MASK)
  10856. /*! @} */
  10857. /*! @name DMA0_AWR_LAT - DMA0 Write Timing Check Latency Register */
  10858. /*! @{ */
  10859. #define CAAM_DMA0_AWR_LAT_SAWL_MASK (0xFFFFFFFFU)
  10860. #define CAAM_DMA0_AWR_LAT_SAWL_SHIFT (0U)
  10861. #define CAAM_DMA0_AWR_LAT_SAWL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA0_AWR_LAT_SAWL_SHIFT)) & CAAM_DMA0_AWR_LAT_SAWL_MASK)
  10862. /*! @} */
  10863. /*! @name MPPKR - Manufacturing Protection Private Key Register */
  10864. /*! @{ */
  10865. #define CAAM_MPPKR_MPPrivK_MASK (0xFFU)
  10866. #define CAAM_MPPKR_MPPrivK_SHIFT (0U)
  10867. #define CAAM_MPPKR_MPPrivK(x) (((uint8_t)(((uint8_t)(x)) << CAAM_MPPKR_MPPrivK_SHIFT)) & CAAM_MPPKR_MPPrivK_MASK)
  10868. /*! @} */
  10869. /* The count of CAAM_MPPKR */
  10870. #define CAAM_MPPKR_COUNT (64U)
  10871. /*! @name MPMR - Manufacturing Protection Message Register */
  10872. /*! @{ */
  10873. #define CAAM_MPMR_MPMSG_MASK (0xFFU)
  10874. #define CAAM_MPMR_MPMSG_SHIFT (0U)
  10875. #define CAAM_MPMR_MPMSG(x) (((uint8_t)(((uint8_t)(x)) << CAAM_MPMR_MPMSG_SHIFT)) & CAAM_MPMR_MPMSG_MASK)
  10876. /*! @} */
  10877. /* The count of CAAM_MPMR */
  10878. #define CAAM_MPMR_COUNT (32U)
  10879. /*! @name MPTESTR - Manufacturing Protection Test Register */
  10880. /*! @{ */
  10881. #define CAAM_MPTESTR_TEST_VALUE_MASK (0xFFU)
  10882. #define CAAM_MPTESTR_TEST_VALUE_SHIFT (0U)
  10883. #define CAAM_MPTESTR_TEST_VALUE(x) (((uint8_t)(((uint8_t)(x)) << CAAM_MPTESTR_TEST_VALUE_SHIFT)) & CAAM_MPTESTR_TEST_VALUE_MASK)
  10884. /*! @} */
  10885. /* The count of CAAM_MPTESTR */
  10886. #define CAAM_MPTESTR_COUNT (32U)
  10887. /*! @name MPECC - Manufacturing Protection ECC Register */
  10888. /*! @{ */
  10889. #define CAAM_MPECC_MP_SYNDROME_MASK (0x1FF0000U)
  10890. #define CAAM_MPECC_MP_SYNDROME_SHIFT (16U)
  10891. /*! MP_SYNDROME
  10892. * 0b000000000..The MP Key in the SFP passes the ECC check.
  10893. * 0b000000001-0b111111111..The MP Key in the SFP fails the ECC check, and this is the ECC failure syndrome.
  10894. */
  10895. #define CAAM_MPECC_MP_SYNDROME(x) (((uint32_t)(((uint32_t)(x)) << CAAM_MPECC_MP_SYNDROME_SHIFT)) & CAAM_MPECC_MP_SYNDROME_MASK)
  10896. #define CAAM_MPECC_MP_ZERO_MASK (0x8000000U)
  10897. #define CAAM_MPECC_MP_ZERO_SHIFT (27U)
  10898. /*! MP_ZERO
  10899. * 0b0..The MP Key in the SFP has a non-zero value.
  10900. * 0b1..The MP Key in the SFP is all zeros (unprogrammed).
  10901. */
  10902. #define CAAM_MPECC_MP_ZERO(x) (((uint32_t)(((uint32_t)(x)) << CAAM_MPECC_MP_ZERO_SHIFT)) & CAAM_MPECC_MP_ZERO_MASK)
  10903. /*! @} */
  10904. /*! @name JDKEKR - Job Descriptor Key Encryption Key Register */
  10905. /*! @{ */
  10906. #define CAAM_JDKEKR_JDKEK_MASK (0xFFFFFFFFU)
  10907. #define CAAM_JDKEKR_JDKEK_SHIFT (0U)
  10908. #define CAAM_JDKEKR_JDKEK(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JDKEKR_JDKEK_SHIFT)) & CAAM_JDKEKR_JDKEK_MASK)
  10909. /*! @} */
  10910. /* The count of CAAM_JDKEKR */
  10911. #define CAAM_JDKEKR_COUNT (8U)
  10912. /*! @name TDKEKR - Trusted Descriptor Key Encryption Key Register */
  10913. /*! @{ */
  10914. #define CAAM_TDKEKR_TDKEK_MASK (0xFFFFFFFFU)
  10915. #define CAAM_TDKEKR_TDKEK_SHIFT (0U)
  10916. #define CAAM_TDKEKR_TDKEK(x) (((uint32_t)(((uint32_t)(x)) << CAAM_TDKEKR_TDKEK_SHIFT)) & CAAM_TDKEKR_TDKEK_MASK)
  10917. /*! @} */
  10918. /* The count of CAAM_TDKEKR */
  10919. #define CAAM_TDKEKR_COUNT (8U)
  10920. /*! @name TDSKR - Trusted Descriptor Signing Key Register */
  10921. /*! @{ */
  10922. #define CAAM_TDSKR_TDSK_MASK (0xFFFFFFFFU)
  10923. #define CAAM_TDSKR_TDSK_SHIFT (0U)
  10924. #define CAAM_TDSKR_TDSK(x) (((uint32_t)(((uint32_t)(x)) << CAAM_TDSKR_TDSK_SHIFT)) & CAAM_TDSKR_TDSK_MASK)
  10925. /*! @} */
  10926. /* The count of CAAM_TDSKR */
  10927. #define CAAM_TDSKR_COUNT (8U)
  10928. /*! @name SKNR - Secure Key Nonce Register */
  10929. /*! @{ */
  10930. #define CAAM_SKNR_SK_NONCE_LS_MASK (0xFFFFFFFFU)
  10931. #define CAAM_SKNR_SK_NONCE_LS_SHIFT (0U)
  10932. #define CAAM_SKNR_SK_NONCE_LS(x) (((uint64_t)(((uint64_t)(x)) << CAAM_SKNR_SK_NONCE_LS_SHIFT)) & CAAM_SKNR_SK_NONCE_LS_MASK)
  10933. #define CAAM_SKNR_SK_NONCE_MS_MASK (0x7FFF00000000U)
  10934. #define CAAM_SKNR_SK_NONCE_MS_SHIFT (32U)
  10935. #define CAAM_SKNR_SK_NONCE_MS(x) (((uint64_t)(((uint64_t)(x)) << CAAM_SKNR_SK_NONCE_MS_SHIFT)) & CAAM_SKNR_SK_NONCE_MS_MASK)
  10936. /*! @} */
  10937. /*! @name DMA_STA - DMA Status Register */
  10938. /*! @{ */
  10939. #define CAAM_DMA_STA_DMA0_ETIF_MASK (0x1FU)
  10940. #define CAAM_DMA_STA_DMA0_ETIF_SHIFT (0U)
  10941. #define CAAM_DMA_STA_DMA0_ETIF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_STA_DMA0_ETIF_SHIFT)) & CAAM_DMA_STA_DMA0_ETIF_MASK)
  10942. #define CAAM_DMA_STA_DMA0_ITIF_MASK (0x20U)
  10943. #define CAAM_DMA_STA_DMA0_ITIF_SHIFT (5U)
  10944. #define CAAM_DMA_STA_DMA0_ITIF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_STA_DMA0_ITIF_SHIFT)) & CAAM_DMA_STA_DMA0_ITIF_MASK)
  10945. #define CAAM_DMA_STA_DMA0_IDLE_MASK (0x80U)
  10946. #define CAAM_DMA_STA_DMA0_IDLE_SHIFT (7U)
  10947. #define CAAM_DMA_STA_DMA0_IDLE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_STA_DMA0_IDLE_SHIFT)) & CAAM_DMA_STA_DMA0_IDLE_MASK)
  10948. /*! @} */
  10949. /*! @name DMA_X_AID_7_4_MAP - DMA_X_AID_7_4_MAP */
  10950. /*! @{ */
  10951. #define CAAM_DMA_X_AID_7_4_MAP_AID4_BID_MASK (0xFFU)
  10952. #define CAAM_DMA_X_AID_7_4_MAP_AID4_BID_SHIFT (0U)
  10953. #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)
  10954. #define CAAM_DMA_X_AID_7_4_MAP_AID5_BID_MASK (0xFF00U)
  10955. #define CAAM_DMA_X_AID_7_4_MAP_AID5_BID_SHIFT (8U)
  10956. #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)
  10957. #define CAAM_DMA_X_AID_7_4_MAP_AID6_BID_MASK (0xFF0000U)
  10958. #define CAAM_DMA_X_AID_7_4_MAP_AID6_BID_SHIFT (16U)
  10959. #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)
  10960. #define CAAM_DMA_X_AID_7_4_MAP_AID7_BID_MASK (0xFF000000U)
  10961. #define CAAM_DMA_X_AID_7_4_MAP_AID7_BID_SHIFT (24U)
  10962. #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)
  10963. /*! @} */
  10964. /*! @name DMA_X_AID_3_0_MAP - DMA_X_AID_3_0_MAP */
  10965. /*! @{ */
  10966. #define CAAM_DMA_X_AID_3_0_MAP_AID0_BID_MASK (0xFFU)
  10967. #define CAAM_DMA_X_AID_3_0_MAP_AID0_BID_SHIFT (0U)
  10968. #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)
  10969. #define CAAM_DMA_X_AID_3_0_MAP_AID1_BID_MASK (0xFF00U)
  10970. #define CAAM_DMA_X_AID_3_0_MAP_AID1_BID_SHIFT (8U)
  10971. #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)
  10972. #define CAAM_DMA_X_AID_3_0_MAP_AID2_BID_MASK (0xFF0000U)
  10973. #define CAAM_DMA_X_AID_3_0_MAP_AID2_BID_SHIFT (16U)
  10974. #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)
  10975. #define CAAM_DMA_X_AID_3_0_MAP_AID3_BID_MASK (0xFF000000U)
  10976. #define CAAM_DMA_X_AID_3_0_MAP_AID3_BID_SHIFT (24U)
  10977. #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)
  10978. /*! @} */
  10979. /*! @name DMA_X_AID_15_12_MAP - DMA_X_AID_15_12_MAP */
  10980. /*! @{ */
  10981. #define CAAM_DMA_X_AID_15_12_MAP_AID12_BID_MASK (0xFFU)
  10982. #define CAAM_DMA_X_AID_15_12_MAP_AID12_BID_SHIFT (0U)
  10983. #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)
  10984. #define CAAM_DMA_X_AID_15_12_MAP_AID13_BID_MASK (0xFF00U)
  10985. #define CAAM_DMA_X_AID_15_12_MAP_AID13_BID_SHIFT (8U)
  10986. #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)
  10987. #define CAAM_DMA_X_AID_15_12_MAP_AID14_BID_MASK (0xFF0000U)
  10988. #define CAAM_DMA_X_AID_15_12_MAP_AID14_BID_SHIFT (16U)
  10989. #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)
  10990. #define CAAM_DMA_X_AID_15_12_MAP_AID15_BID_MASK (0xFF000000U)
  10991. #define CAAM_DMA_X_AID_15_12_MAP_AID15_BID_SHIFT (24U)
  10992. #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)
  10993. /*! @} */
  10994. /*! @name DMA_X_AID_11_8_MAP - DMA_X_AID_11_8_MAP */
  10995. /*! @{ */
  10996. #define CAAM_DMA_X_AID_11_8_MAP_AID8_BID_MASK (0xFFU)
  10997. #define CAAM_DMA_X_AID_11_8_MAP_AID8_BID_SHIFT (0U)
  10998. #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)
  10999. #define CAAM_DMA_X_AID_11_8_MAP_AID9_BID_MASK (0xFF00U)
  11000. #define CAAM_DMA_X_AID_11_8_MAP_AID9_BID_SHIFT (8U)
  11001. #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)
  11002. #define CAAM_DMA_X_AID_11_8_MAP_AID10_BID_MASK (0xFF0000U)
  11003. #define CAAM_DMA_X_AID_11_8_MAP_AID10_BID_SHIFT (16U)
  11004. #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)
  11005. #define CAAM_DMA_X_AID_11_8_MAP_AID11_BID_MASK (0xFF000000U)
  11006. #define CAAM_DMA_X_AID_11_8_MAP_AID11_BID_SHIFT (24U)
  11007. #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)
  11008. /*! @} */
  11009. /*! @name DMA_X_AID_15_0_EN - DMA_X AXI ID Map Enable Register */
  11010. /*! @{ */
  11011. #define CAAM_DMA_X_AID_15_0_EN_AID0E_MASK (0x1U)
  11012. #define CAAM_DMA_X_AID_15_0_EN_AID0E_SHIFT (0U)
  11013. #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)
  11014. #define CAAM_DMA_X_AID_15_0_EN_AID1E_MASK (0x2U)
  11015. #define CAAM_DMA_X_AID_15_0_EN_AID1E_SHIFT (1U)
  11016. #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)
  11017. #define CAAM_DMA_X_AID_15_0_EN_AID2E_MASK (0x4U)
  11018. #define CAAM_DMA_X_AID_15_0_EN_AID2E_SHIFT (2U)
  11019. #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)
  11020. #define CAAM_DMA_X_AID_15_0_EN_AID3E_MASK (0x8U)
  11021. #define CAAM_DMA_X_AID_15_0_EN_AID3E_SHIFT (3U)
  11022. #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)
  11023. #define CAAM_DMA_X_AID_15_0_EN_AID4E_MASK (0x10U)
  11024. #define CAAM_DMA_X_AID_15_0_EN_AID4E_SHIFT (4U)
  11025. #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)
  11026. #define CAAM_DMA_X_AID_15_0_EN_AID5E_MASK (0x20U)
  11027. #define CAAM_DMA_X_AID_15_0_EN_AID5E_SHIFT (5U)
  11028. #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)
  11029. #define CAAM_DMA_X_AID_15_0_EN_AID6E_MASK (0x40U)
  11030. #define CAAM_DMA_X_AID_15_0_EN_AID6E_SHIFT (6U)
  11031. #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)
  11032. #define CAAM_DMA_X_AID_15_0_EN_AID7E_MASK (0x80U)
  11033. #define CAAM_DMA_X_AID_15_0_EN_AID7E_SHIFT (7U)
  11034. #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)
  11035. #define CAAM_DMA_X_AID_15_0_EN_AID8E_MASK (0x100U)
  11036. #define CAAM_DMA_X_AID_15_0_EN_AID8E_SHIFT (8U)
  11037. #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)
  11038. #define CAAM_DMA_X_AID_15_0_EN_AID9E_MASK (0x200U)
  11039. #define CAAM_DMA_X_AID_15_0_EN_AID9E_SHIFT (9U)
  11040. #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)
  11041. #define CAAM_DMA_X_AID_15_0_EN_AID10E_MASK (0x400U)
  11042. #define CAAM_DMA_X_AID_15_0_EN_AID10E_SHIFT (10U)
  11043. #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)
  11044. #define CAAM_DMA_X_AID_15_0_EN_AID11E_MASK (0x800U)
  11045. #define CAAM_DMA_X_AID_15_0_EN_AID11E_SHIFT (11U)
  11046. #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)
  11047. #define CAAM_DMA_X_AID_15_0_EN_AID12E_MASK (0x1000U)
  11048. #define CAAM_DMA_X_AID_15_0_EN_AID12E_SHIFT (12U)
  11049. #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)
  11050. #define CAAM_DMA_X_AID_15_0_EN_AID13E_MASK (0x2000U)
  11051. #define CAAM_DMA_X_AID_15_0_EN_AID13E_SHIFT (13U)
  11052. #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)
  11053. #define CAAM_DMA_X_AID_15_0_EN_AID14E_MASK (0x4000U)
  11054. #define CAAM_DMA_X_AID_15_0_EN_AID14E_SHIFT (14U)
  11055. #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)
  11056. #define CAAM_DMA_X_AID_15_0_EN_AID15E_MASK (0x8000U)
  11057. #define CAAM_DMA_X_AID_15_0_EN_AID15E_SHIFT (15U)
  11058. #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)
  11059. /*! @} */
  11060. /*! @name DMA_X_ARTC_CTL - DMA_X AXI Read Timing Check Control Register */
  11061. /*! @{ */
  11062. #define CAAM_DMA_X_ARTC_CTL_ART_MASK (0xFFFU)
  11063. #define CAAM_DMA_X_ARTC_CTL_ART_SHIFT (0U)
  11064. #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)
  11065. #define CAAM_DMA_X_ARTC_CTL_ARL_MASK (0xFFF0000U)
  11066. #define CAAM_DMA_X_ARTC_CTL_ARL_SHIFT (16U)
  11067. #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)
  11068. #define CAAM_DMA_X_ARTC_CTL_ARTL_MASK (0x10000000U)
  11069. #define CAAM_DMA_X_ARTC_CTL_ARTL_SHIFT (28U)
  11070. #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)
  11071. #define CAAM_DMA_X_ARTC_CTL_ARTT_MASK (0x20000000U)
  11072. #define CAAM_DMA_X_ARTC_CTL_ARTT_SHIFT (29U)
  11073. #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)
  11074. #define CAAM_DMA_X_ARTC_CTL_ARCT_MASK (0x40000000U)
  11075. #define CAAM_DMA_X_ARTC_CTL_ARCT_SHIFT (30U)
  11076. #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)
  11077. #define CAAM_DMA_X_ARTC_CTL_ARTCE_MASK (0x80000000U)
  11078. #define CAAM_DMA_X_ARTC_CTL_ARTCE_SHIFT (31U)
  11079. #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)
  11080. /*! @} */
  11081. /*! @name DMA_X_ARTC_LC - DMA_X AXI Read Timing Check Late Count Register */
  11082. /*! @{ */
  11083. #define CAAM_DMA_X_ARTC_LC_ARLC_MASK (0xFFFFFU)
  11084. #define CAAM_DMA_X_ARTC_LC_ARLC_SHIFT (0U)
  11085. #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)
  11086. /*! @} */
  11087. /*! @name DMA_X_ARTC_SC - DMA_X AXI Read Timing Check Sample Count Register */
  11088. /*! @{ */
  11089. #define CAAM_DMA_X_ARTC_SC_ARSC_MASK (0xFFFFFU)
  11090. #define CAAM_DMA_X_ARTC_SC_ARSC_SHIFT (0U)
  11091. #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)
  11092. /*! @} */
  11093. /*! @name DMA_X_ARTC_LAT - DMA_X Read Timing Check Latency Register */
  11094. /*! @{ */
  11095. #define CAAM_DMA_X_ARTC_LAT_SARL_MASK (0xFFFFFFFFU)
  11096. #define CAAM_DMA_X_ARTC_LAT_SARL_SHIFT (0U)
  11097. #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)
  11098. /*! @} */
  11099. /*! @name DMA_X_AWTC_CTL - DMA_X AXI Write Timing Check Control Register */
  11100. /*! @{ */
  11101. #define CAAM_DMA_X_AWTC_CTL_AWT_MASK (0xFFFU)
  11102. #define CAAM_DMA_X_AWTC_CTL_AWT_SHIFT (0U)
  11103. #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)
  11104. #define CAAM_DMA_X_AWTC_CTL_AWL_MASK (0xFFF0000U)
  11105. #define CAAM_DMA_X_AWTC_CTL_AWL_SHIFT (16U)
  11106. #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)
  11107. #define CAAM_DMA_X_AWTC_CTL_AWTT_MASK (0x20000000U)
  11108. #define CAAM_DMA_X_AWTC_CTL_AWTT_SHIFT (29U)
  11109. #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)
  11110. #define CAAM_DMA_X_AWTC_CTL_AWCT_MASK (0x40000000U)
  11111. #define CAAM_DMA_X_AWTC_CTL_AWCT_SHIFT (30U)
  11112. #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)
  11113. #define CAAM_DMA_X_AWTC_CTL_AWTCE_MASK (0x80000000U)
  11114. #define CAAM_DMA_X_AWTC_CTL_AWTCE_SHIFT (31U)
  11115. #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)
  11116. /*! @} */
  11117. /*! @name DMA_X_AWTC_LC - DMA_X AXI Write Timing Check Late Count Register */
  11118. /*! @{ */
  11119. #define CAAM_DMA_X_AWTC_LC_AWLC_MASK (0xFFFFFU)
  11120. #define CAAM_DMA_X_AWTC_LC_AWLC_SHIFT (0U)
  11121. #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)
  11122. /*! @} */
  11123. /*! @name DMA_X_AWTC_SC - DMA_X AXI Write Timing Check Sample Count Register */
  11124. /*! @{ */
  11125. #define CAAM_DMA_X_AWTC_SC_AWSC_MASK (0xFFFFFU)
  11126. #define CAAM_DMA_X_AWTC_SC_AWSC_SHIFT (0U)
  11127. #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)
  11128. /*! @} */
  11129. /*! @name DMA_X_AWTC_LAT - DMA_X Write Timing Check Latency Register */
  11130. /*! @{ */
  11131. #define CAAM_DMA_X_AWTC_LAT_SAWL_MASK (0xFFFFFFFFU)
  11132. #define CAAM_DMA_X_AWTC_LAT_SAWL_SHIFT (0U)
  11133. #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)
  11134. /*! @} */
  11135. /*! @name RTMCTL - RNG TRNG Miscellaneous Control Register */
  11136. /*! @{ */
  11137. #define CAAM_RTMCTL_SAMP_MODE_MASK (0x3U)
  11138. #define CAAM_RTMCTL_SAMP_MODE_SHIFT (0U)
  11139. /*! SAMP_MODE
  11140. * 0b00..use Von Neumann data into both Entropy shifter and Statistical Checker
  11141. * 0b01..use raw data into both Entropy shifter and Statistical Checker
  11142. * 0b10..use Von Neumann data into Entropy shifter. Use raw data into Statistical Checker
  11143. * 0b11..undefined/reserved.
  11144. */
  11145. #define CAAM_RTMCTL_SAMP_MODE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTMCTL_SAMP_MODE_SHIFT)) & CAAM_RTMCTL_SAMP_MODE_MASK)
  11146. #define CAAM_RTMCTL_OSC_DIV_MASK (0xCU)
  11147. #define CAAM_RTMCTL_OSC_DIV_SHIFT (2U)
  11148. /*! OSC_DIV
  11149. * 0b00..use ring oscillator with no divide
  11150. * 0b01..use ring oscillator divided-by-2
  11151. * 0b10..use ring oscillator divided-by-4
  11152. * 0b11..use ring oscillator divided-by-8
  11153. */
  11154. #define CAAM_RTMCTL_OSC_DIV(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTMCTL_OSC_DIV_SHIFT)) & CAAM_RTMCTL_OSC_DIV_MASK)
  11155. #define CAAM_RTMCTL_CLK_OUT_EN_MASK (0x10U)
  11156. #define CAAM_RTMCTL_CLK_OUT_EN_SHIFT (4U)
  11157. #define CAAM_RTMCTL_CLK_OUT_EN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTMCTL_CLK_OUT_EN_SHIFT)) & CAAM_RTMCTL_CLK_OUT_EN_MASK)
  11158. #define CAAM_RTMCTL_TRNG_ACC_MASK (0x20U)
  11159. #define CAAM_RTMCTL_TRNG_ACC_SHIFT (5U)
  11160. #define CAAM_RTMCTL_TRNG_ACC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTMCTL_TRNG_ACC_SHIFT)) & CAAM_RTMCTL_TRNG_ACC_MASK)
  11161. #define CAAM_RTMCTL_RST_DEF_MASK (0x40U)
  11162. #define CAAM_RTMCTL_RST_DEF_SHIFT (6U)
  11163. #define CAAM_RTMCTL_RST_DEF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTMCTL_RST_DEF_SHIFT)) & CAAM_RTMCTL_RST_DEF_MASK)
  11164. #define CAAM_RTMCTL_FORCE_SYSCLK_MASK (0x80U)
  11165. #define CAAM_RTMCTL_FORCE_SYSCLK_SHIFT (7U)
  11166. #define CAAM_RTMCTL_FORCE_SYSCLK(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTMCTL_FORCE_SYSCLK_SHIFT)) & CAAM_RTMCTL_FORCE_SYSCLK_MASK)
  11167. #define CAAM_RTMCTL_FCT_FAIL_MASK (0x100U)
  11168. #define CAAM_RTMCTL_FCT_FAIL_SHIFT (8U)
  11169. #define CAAM_RTMCTL_FCT_FAIL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTMCTL_FCT_FAIL_SHIFT)) & CAAM_RTMCTL_FCT_FAIL_MASK)
  11170. #define CAAM_RTMCTL_FCT_VAL_MASK (0x200U)
  11171. #define CAAM_RTMCTL_FCT_VAL_SHIFT (9U)
  11172. #define CAAM_RTMCTL_FCT_VAL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTMCTL_FCT_VAL_SHIFT)) & CAAM_RTMCTL_FCT_VAL_MASK)
  11173. #define CAAM_RTMCTL_ENT_VAL_MASK (0x400U)
  11174. #define CAAM_RTMCTL_ENT_VAL_SHIFT (10U)
  11175. #define CAAM_RTMCTL_ENT_VAL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTMCTL_ENT_VAL_SHIFT)) & CAAM_RTMCTL_ENT_VAL_MASK)
  11176. #define CAAM_RTMCTL_TST_OUT_MASK (0x800U)
  11177. #define CAAM_RTMCTL_TST_OUT_SHIFT (11U)
  11178. #define CAAM_RTMCTL_TST_OUT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTMCTL_TST_OUT_SHIFT)) & CAAM_RTMCTL_TST_OUT_MASK)
  11179. #define CAAM_RTMCTL_ERR_MASK (0x1000U)
  11180. #define CAAM_RTMCTL_ERR_SHIFT (12U)
  11181. #define CAAM_RTMCTL_ERR(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTMCTL_ERR_SHIFT)) & CAAM_RTMCTL_ERR_MASK)
  11182. #define CAAM_RTMCTL_TSTOP_OK_MASK (0x2000U)
  11183. #define CAAM_RTMCTL_TSTOP_OK_SHIFT (13U)
  11184. #define CAAM_RTMCTL_TSTOP_OK(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTMCTL_TSTOP_OK_SHIFT)) & CAAM_RTMCTL_TSTOP_OK_MASK)
  11185. #define CAAM_RTMCTL_PRGM_MASK (0x10000U)
  11186. #define CAAM_RTMCTL_PRGM_SHIFT (16U)
  11187. #define CAAM_RTMCTL_PRGM(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTMCTL_PRGM_SHIFT)) & CAAM_RTMCTL_PRGM_MASK)
  11188. /*! @} */
  11189. /*! @name RTSCMISC - RNG TRNG Statistical Check Miscellaneous Register */
  11190. /*! @{ */
  11191. #define CAAM_RTSCMISC_LRUN_MAX_MASK (0xFFU)
  11192. #define CAAM_RTSCMISC_LRUN_MAX_SHIFT (0U)
  11193. #define CAAM_RTSCMISC_LRUN_MAX(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCMISC_LRUN_MAX_SHIFT)) & CAAM_RTSCMISC_LRUN_MAX_MASK)
  11194. #define CAAM_RTSCMISC_RTY_CNT_MASK (0xF0000U)
  11195. #define CAAM_RTSCMISC_RTY_CNT_SHIFT (16U)
  11196. #define CAAM_RTSCMISC_RTY_CNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCMISC_RTY_CNT_SHIFT)) & CAAM_RTSCMISC_RTY_CNT_MASK)
  11197. /*! @} */
  11198. /*! @name RTPKRRNG - RNG TRNG Poker Range Register */
  11199. /*! @{ */
  11200. #define CAAM_RTPKRRNG_PKR_RNG_MASK (0xFFFFU)
  11201. #define CAAM_RTPKRRNG_PKR_RNG_SHIFT (0U)
  11202. #define CAAM_RTPKRRNG_PKR_RNG(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTPKRRNG_PKR_RNG_SHIFT)) & CAAM_RTPKRRNG_PKR_RNG_MASK)
  11203. /*! @} */
  11204. /*! @name RTPKRMAX - RNG TRNG Poker Maximum Limit Register */
  11205. /*! @{ */
  11206. #define CAAM_RTPKRMAX_PKR_MAX_MASK (0xFFFFFFU)
  11207. #define CAAM_RTPKRMAX_PKR_MAX_SHIFT (0U)
  11208. #define CAAM_RTPKRMAX_PKR_MAX(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTPKRMAX_PKR_MAX_SHIFT)) & CAAM_RTPKRMAX_PKR_MAX_MASK)
  11209. /*! @} */
  11210. /*! @name RTPKRSQ - RNG TRNG Poker Square Calculation Result Register */
  11211. /*! @{ */
  11212. #define CAAM_RTPKRSQ_PKR_SQ_MASK (0xFFFFFFU)
  11213. #define CAAM_RTPKRSQ_PKR_SQ_SHIFT (0U)
  11214. #define CAAM_RTPKRSQ_PKR_SQ(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTPKRSQ_PKR_SQ_SHIFT)) & CAAM_RTPKRSQ_PKR_SQ_MASK)
  11215. /*! @} */
  11216. /*! @name RTSDCTL - RNG TRNG Seed Control Register */
  11217. /*! @{ */
  11218. #define CAAM_RTSDCTL_SAMP_SIZE_MASK (0xFFFFU)
  11219. #define CAAM_RTSDCTL_SAMP_SIZE_SHIFT (0U)
  11220. #define CAAM_RTSDCTL_SAMP_SIZE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSDCTL_SAMP_SIZE_SHIFT)) & CAAM_RTSDCTL_SAMP_SIZE_MASK)
  11221. #define CAAM_RTSDCTL_ENT_DLY_MASK (0xFFFF0000U)
  11222. #define CAAM_RTSDCTL_ENT_DLY_SHIFT (16U)
  11223. #define CAAM_RTSDCTL_ENT_DLY(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSDCTL_ENT_DLY_SHIFT)) & CAAM_RTSDCTL_ENT_DLY_MASK)
  11224. /*! @} */
  11225. /*! @name RTSBLIM - RNG TRNG Sparse Bit Limit Register */
  11226. /*! @{ */
  11227. #define CAAM_RTSBLIM_SB_LIM_MASK (0x3FFU)
  11228. #define CAAM_RTSBLIM_SB_LIM_SHIFT (0U)
  11229. #define CAAM_RTSBLIM_SB_LIM(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSBLIM_SB_LIM_SHIFT)) & CAAM_RTSBLIM_SB_LIM_MASK)
  11230. /*! @} */
  11231. /*! @name RTTOTSAM - RNG TRNG Total Samples Register */
  11232. /*! @{ */
  11233. #define CAAM_RTTOTSAM_TOT_SAM_MASK (0xFFFFFU)
  11234. #define CAAM_RTTOTSAM_TOT_SAM_SHIFT (0U)
  11235. #define CAAM_RTTOTSAM_TOT_SAM(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTTOTSAM_TOT_SAM_SHIFT)) & CAAM_RTTOTSAM_TOT_SAM_MASK)
  11236. /*! @} */
  11237. /*! @name RTFRQMIN - RNG TRNG Frequency Count Minimum Limit Register */
  11238. /*! @{ */
  11239. #define CAAM_RTFRQMIN_FRQ_MIN_MASK (0x3FFFFFU)
  11240. #define CAAM_RTFRQMIN_FRQ_MIN_SHIFT (0U)
  11241. #define CAAM_RTFRQMIN_FRQ_MIN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTFRQMIN_FRQ_MIN_SHIFT)) & CAAM_RTFRQMIN_FRQ_MIN_MASK)
  11242. /*! @} */
  11243. /*! @name RTFRQCNT - RNG TRNG Frequency Count Register */
  11244. /*! @{ */
  11245. #define CAAM_RTFRQCNT_FRQ_CNT_MASK (0x3FFFFFU)
  11246. #define CAAM_RTFRQCNT_FRQ_CNT_SHIFT (0U)
  11247. #define CAAM_RTFRQCNT_FRQ_CNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTFRQCNT_FRQ_CNT_SHIFT)) & CAAM_RTFRQCNT_FRQ_CNT_MASK)
  11248. /*! @} */
  11249. /*! @name RTSCMC - RNG TRNG Statistical Check Monobit Count Register */
  11250. /*! @{ */
  11251. #define CAAM_RTSCMC_MONO_CNT_MASK (0xFFFFU)
  11252. #define CAAM_RTSCMC_MONO_CNT_SHIFT (0U)
  11253. #define CAAM_RTSCMC_MONO_CNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCMC_MONO_CNT_SHIFT)) & CAAM_RTSCMC_MONO_CNT_MASK)
  11254. /*! @} */
  11255. /*! @name RTSCR1C - RNG TRNG Statistical Check Run Length 1 Count Register */
  11256. /*! @{ */
  11257. #define CAAM_RTSCR1C_R1_0_COUNT_MASK (0x7FFFU)
  11258. #define CAAM_RTSCR1C_R1_0_COUNT_SHIFT (0U)
  11259. #define CAAM_RTSCR1C_R1_0_COUNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCR1C_R1_0_COUNT_SHIFT)) & CAAM_RTSCR1C_R1_0_COUNT_MASK)
  11260. #define CAAM_RTSCR1C_R1_1_COUNT_MASK (0x7FFF0000U)
  11261. #define CAAM_RTSCR1C_R1_1_COUNT_SHIFT (16U)
  11262. #define CAAM_RTSCR1C_R1_1_COUNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCR1C_R1_1_COUNT_SHIFT)) & CAAM_RTSCR1C_R1_1_COUNT_MASK)
  11263. /*! @} */
  11264. /*! @name RTSCR2C - RNG TRNG Statistical Check Run Length 2 Count Register */
  11265. /*! @{ */
  11266. #define CAAM_RTSCR2C_R2_0_COUNT_MASK (0x3FFFU)
  11267. #define CAAM_RTSCR2C_R2_0_COUNT_SHIFT (0U)
  11268. #define CAAM_RTSCR2C_R2_0_COUNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCR2C_R2_0_COUNT_SHIFT)) & CAAM_RTSCR2C_R2_0_COUNT_MASK)
  11269. #define CAAM_RTSCR2C_R2_1_COUNT_MASK (0x3FFF0000U)
  11270. #define CAAM_RTSCR2C_R2_1_COUNT_SHIFT (16U)
  11271. #define CAAM_RTSCR2C_R2_1_COUNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCR2C_R2_1_COUNT_SHIFT)) & CAAM_RTSCR2C_R2_1_COUNT_MASK)
  11272. /*! @} */
  11273. /*! @name RTSCR3C - RNG TRNG Statistical Check Run Length 3 Count Register */
  11274. /*! @{ */
  11275. #define CAAM_RTSCR3C_R3_0_COUNT_MASK (0x1FFFU)
  11276. #define CAAM_RTSCR3C_R3_0_COUNT_SHIFT (0U)
  11277. #define CAAM_RTSCR3C_R3_0_COUNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCR3C_R3_0_COUNT_SHIFT)) & CAAM_RTSCR3C_R3_0_COUNT_MASK)
  11278. #define CAAM_RTSCR3C_R3_1_COUNT_MASK (0x1FFF0000U)
  11279. #define CAAM_RTSCR3C_R3_1_COUNT_SHIFT (16U)
  11280. #define CAAM_RTSCR3C_R3_1_COUNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCR3C_R3_1_COUNT_SHIFT)) & CAAM_RTSCR3C_R3_1_COUNT_MASK)
  11281. /*! @} */
  11282. /*! @name RTSCR4C - RNG TRNG Statistical Check Run Length 4 Count Register */
  11283. /*! @{ */
  11284. #define CAAM_RTSCR4C_R4_0_COUNT_MASK (0xFFFU)
  11285. #define CAAM_RTSCR4C_R4_0_COUNT_SHIFT (0U)
  11286. #define CAAM_RTSCR4C_R4_0_COUNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCR4C_R4_0_COUNT_SHIFT)) & CAAM_RTSCR4C_R4_0_COUNT_MASK)
  11287. #define CAAM_RTSCR4C_R4_1_COUNT_MASK (0xFFF0000U)
  11288. #define CAAM_RTSCR4C_R4_1_COUNT_SHIFT (16U)
  11289. #define CAAM_RTSCR4C_R4_1_COUNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCR4C_R4_1_COUNT_SHIFT)) & CAAM_RTSCR4C_R4_1_COUNT_MASK)
  11290. /*! @} */
  11291. /*! @name RTSCR5C - RNG TRNG Statistical Check Run Length 5 Count Register */
  11292. /*! @{ */
  11293. #define CAAM_RTSCR5C_R5_0_COUNT_MASK (0x7FFU)
  11294. #define CAAM_RTSCR5C_R5_0_COUNT_SHIFT (0U)
  11295. #define CAAM_RTSCR5C_R5_0_COUNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCR5C_R5_0_COUNT_SHIFT)) & CAAM_RTSCR5C_R5_0_COUNT_MASK)
  11296. #define CAAM_RTSCR5C_R5_1_COUNT_MASK (0x7FF0000U)
  11297. #define CAAM_RTSCR5C_R5_1_COUNT_SHIFT (16U)
  11298. #define CAAM_RTSCR5C_R5_1_COUNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCR5C_R5_1_COUNT_SHIFT)) & CAAM_RTSCR5C_R5_1_COUNT_MASK)
  11299. /*! @} */
  11300. /*! @name RTSCR6PC - RNG TRNG Statistical Check Run Length 6+ Count Register */
  11301. /*! @{ */
  11302. #define CAAM_RTSCR6PC_R6P_0_COUNT_MASK (0x7FFU)
  11303. #define CAAM_RTSCR6PC_R6P_0_COUNT_SHIFT (0U)
  11304. #define CAAM_RTSCR6PC_R6P_0_COUNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCR6PC_R6P_0_COUNT_SHIFT)) & CAAM_RTSCR6PC_R6P_0_COUNT_MASK)
  11305. #define CAAM_RTSCR6PC_R6P_1_COUNT_MASK (0x7FF0000U)
  11306. #define CAAM_RTSCR6PC_R6P_1_COUNT_SHIFT (16U)
  11307. #define CAAM_RTSCR6PC_R6P_1_COUNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCR6PC_R6P_1_COUNT_SHIFT)) & CAAM_RTSCR6PC_R6P_1_COUNT_MASK)
  11308. /*! @} */
  11309. /*! @name RTFRQMAX - RNG TRNG Frequency Count Maximum Limit Register */
  11310. /*! @{ */
  11311. #define CAAM_RTFRQMAX_FRQ_MAX_MASK (0x3FFFFFU)
  11312. #define CAAM_RTFRQMAX_FRQ_MAX_SHIFT (0U)
  11313. #define CAAM_RTFRQMAX_FRQ_MAX(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTFRQMAX_FRQ_MAX_SHIFT)) & CAAM_RTFRQMAX_FRQ_MAX_MASK)
  11314. /*! @} */
  11315. /*! @name RTSCML - RNG TRNG Statistical Check Monobit Limit Register */
  11316. /*! @{ */
  11317. #define CAAM_RTSCML_MONO_MAX_MASK (0xFFFFU)
  11318. #define CAAM_RTSCML_MONO_MAX_SHIFT (0U)
  11319. #define CAAM_RTSCML_MONO_MAX(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCML_MONO_MAX_SHIFT)) & CAAM_RTSCML_MONO_MAX_MASK)
  11320. #define CAAM_RTSCML_MONO_RNG_MASK (0xFFFF0000U)
  11321. #define CAAM_RTSCML_MONO_RNG_SHIFT (16U)
  11322. #define CAAM_RTSCML_MONO_RNG(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCML_MONO_RNG_SHIFT)) & CAAM_RTSCML_MONO_RNG_MASK)
  11323. /*! @} */
  11324. /*! @name RTSCR1L - RNG TRNG Statistical Check Run Length 1 Limit Register */
  11325. /*! @{ */
  11326. #define CAAM_RTSCR1L_RUN1_MAX_MASK (0x7FFFU)
  11327. #define CAAM_RTSCR1L_RUN1_MAX_SHIFT (0U)
  11328. #define CAAM_RTSCR1L_RUN1_MAX(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCR1L_RUN1_MAX_SHIFT)) & CAAM_RTSCR1L_RUN1_MAX_MASK)
  11329. #define CAAM_RTSCR1L_RUN1_RNG_MASK (0x7FFF0000U)
  11330. #define CAAM_RTSCR1L_RUN1_RNG_SHIFT (16U)
  11331. #define CAAM_RTSCR1L_RUN1_RNG(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCR1L_RUN1_RNG_SHIFT)) & CAAM_RTSCR1L_RUN1_RNG_MASK)
  11332. /*! @} */
  11333. /*! @name RTSCR2L - RNG TRNG Statistical Check Run Length 2 Limit Register */
  11334. /*! @{ */
  11335. #define CAAM_RTSCR2L_RUN2_MAX_MASK (0x3FFFU)
  11336. #define CAAM_RTSCR2L_RUN2_MAX_SHIFT (0U)
  11337. #define CAAM_RTSCR2L_RUN2_MAX(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCR2L_RUN2_MAX_SHIFT)) & CAAM_RTSCR2L_RUN2_MAX_MASK)
  11338. #define CAAM_RTSCR2L_RUN2_RNG_MASK (0x3FFF0000U)
  11339. #define CAAM_RTSCR2L_RUN2_RNG_SHIFT (16U)
  11340. #define CAAM_RTSCR2L_RUN2_RNG(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCR2L_RUN2_RNG_SHIFT)) & CAAM_RTSCR2L_RUN2_RNG_MASK)
  11341. /*! @} */
  11342. /*! @name RTSCR3L - RNG TRNG Statistical Check Run Length 3 Limit Register */
  11343. /*! @{ */
  11344. #define CAAM_RTSCR3L_RUN3_MAX_MASK (0x1FFFU)
  11345. #define CAAM_RTSCR3L_RUN3_MAX_SHIFT (0U)
  11346. #define CAAM_RTSCR3L_RUN3_MAX(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCR3L_RUN3_MAX_SHIFT)) & CAAM_RTSCR3L_RUN3_MAX_MASK)
  11347. #define CAAM_RTSCR3L_RUN3_RNG_MASK (0x1FFF0000U)
  11348. #define CAAM_RTSCR3L_RUN3_RNG_SHIFT (16U)
  11349. #define CAAM_RTSCR3L_RUN3_RNG(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCR3L_RUN3_RNG_SHIFT)) & CAAM_RTSCR3L_RUN3_RNG_MASK)
  11350. /*! @} */
  11351. /*! @name RTSCR4L - RNG TRNG Statistical Check Run Length 4 Limit Register */
  11352. /*! @{ */
  11353. #define CAAM_RTSCR4L_RUN4_MAX_MASK (0xFFFU)
  11354. #define CAAM_RTSCR4L_RUN4_MAX_SHIFT (0U)
  11355. #define CAAM_RTSCR4L_RUN4_MAX(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCR4L_RUN4_MAX_SHIFT)) & CAAM_RTSCR4L_RUN4_MAX_MASK)
  11356. #define CAAM_RTSCR4L_RUN4_RNG_MASK (0xFFF0000U)
  11357. #define CAAM_RTSCR4L_RUN4_RNG_SHIFT (16U)
  11358. #define CAAM_RTSCR4L_RUN4_RNG(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCR4L_RUN4_RNG_SHIFT)) & CAAM_RTSCR4L_RUN4_RNG_MASK)
  11359. /*! @} */
  11360. /*! @name RTSCR5L - RNG TRNG Statistical Check Run Length 5 Limit Register */
  11361. /*! @{ */
  11362. #define CAAM_RTSCR5L_RUN5_MAX_MASK (0x7FFU)
  11363. #define CAAM_RTSCR5L_RUN5_MAX_SHIFT (0U)
  11364. #define CAAM_RTSCR5L_RUN5_MAX(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCR5L_RUN5_MAX_SHIFT)) & CAAM_RTSCR5L_RUN5_MAX_MASK)
  11365. #define CAAM_RTSCR5L_RUN5_RNG_MASK (0x7FF0000U)
  11366. #define CAAM_RTSCR5L_RUN5_RNG_SHIFT (16U)
  11367. #define CAAM_RTSCR5L_RUN5_RNG(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCR5L_RUN5_RNG_SHIFT)) & CAAM_RTSCR5L_RUN5_RNG_MASK)
  11368. /*! @} */
  11369. /*! @name RTSCR6PL - RNG TRNG Statistical Check Run Length 6+ Limit Register */
  11370. /*! @{ */
  11371. #define CAAM_RTSCR6PL_RUN6P_MAX_MASK (0x7FFU)
  11372. #define CAAM_RTSCR6PL_RUN6P_MAX_SHIFT (0U)
  11373. #define CAAM_RTSCR6PL_RUN6P_MAX(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCR6PL_RUN6P_MAX_SHIFT)) & CAAM_RTSCR6PL_RUN6P_MAX_MASK)
  11374. #define CAAM_RTSCR6PL_RUN6P_RNG_MASK (0x7FF0000U)
  11375. #define CAAM_RTSCR6PL_RUN6P_RNG_SHIFT (16U)
  11376. #define CAAM_RTSCR6PL_RUN6P_RNG(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCR6PL_RUN6P_RNG_SHIFT)) & CAAM_RTSCR6PL_RUN6P_RNG_MASK)
  11377. /*! @} */
  11378. /*! @name RTSTATUS - RNG TRNG Status Register */
  11379. /*! @{ */
  11380. #define CAAM_RTSTATUS_F1BR0TF_MASK (0x1U)
  11381. #define CAAM_RTSTATUS_F1BR0TF_SHIFT (0U)
  11382. #define CAAM_RTSTATUS_F1BR0TF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSTATUS_F1BR0TF_SHIFT)) & CAAM_RTSTATUS_F1BR0TF_MASK)
  11383. #define CAAM_RTSTATUS_F1BR1TF_MASK (0x2U)
  11384. #define CAAM_RTSTATUS_F1BR1TF_SHIFT (1U)
  11385. #define CAAM_RTSTATUS_F1BR1TF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSTATUS_F1BR1TF_SHIFT)) & CAAM_RTSTATUS_F1BR1TF_MASK)
  11386. #define CAAM_RTSTATUS_F2BR0TF_MASK (0x4U)
  11387. #define CAAM_RTSTATUS_F2BR0TF_SHIFT (2U)
  11388. #define CAAM_RTSTATUS_F2BR0TF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSTATUS_F2BR0TF_SHIFT)) & CAAM_RTSTATUS_F2BR0TF_MASK)
  11389. #define CAAM_RTSTATUS_F2BR1TF_MASK (0x8U)
  11390. #define CAAM_RTSTATUS_F2BR1TF_SHIFT (3U)
  11391. #define CAAM_RTSTATUS_F2BR1TF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSTATUS_F2BR1TF_SHIFT)) & CAAM_RTSTATUS_F2BR1TF_MASK)
  11392. #define CAAM_RTSTATUS_F3BR01TF_MASK (0x10U)
  11393. #define CAAM_RTSTATUS_F3BR01TF_SHIFT (4U)
  11394. #define CAAM_RTSTATUS_F3BR01TF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSTATUS_F3BR01TF_SHIFT)) & CAAM_RTSTATUS_F3BR01TF_MASK)
  11395. #define CAAM_RTSTATUS_F3BR1TF_MASK (0x20U)
  11396. #define CAAM_RTSTATUS_F3BR1TF_SHIFT (5U)
  11397. #define CAAM_RTSTATUS_F3BR1TF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSTATUS_F3BR1TF_SHIFT)) & CAAM_RTSTATUS_F3BR1TF_MASK)
  11398. #define CAAM_RTSTATUS_F4BR0TF_MASK (0x40U)
  11399. #define CAAM_RTSTATUS_F4BR0TF_SHIFT (6U)
  11400. #define CAAM_RTSTATUS_F4BR0TF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSTATUS_F4BR0TF_SHIFT)) & CAAM_RTSTATUS_F4BR0TF_MASK)
  11401. #define CAAM_RTSTATUS_F4BR1TF_MASK (0x80U)
  11402. #define CAAM_RTSTATUS_F4BR1TF_SHIFT (7U)
  11403. #define CAAM_RTSTATUS_F4BR1TF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSTATUS_F4BR1TF_SHIFT)) & CAAM_RTSTATUS_F4BR1TF_MASK)
  11404. #define CAAM_RTSTATUS_F5BR0TF_MASK (0x100U)
  11405. #define CAAM_RTSTATUS_F5BR0TF_SHIFT (8U)
  11406. #define CAAM_RTSTATUS_F5BR0TF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSTATUS_F5BR0TF_SHIFT)) & CAAM_RTSTATUS_F5BR0TF_MASK)
  11407. #define CAAM_RTSTATUS_F5BR1TF_MASK (0x200U)
  11408. #define CAAM_RTSTATUS_F5BR1TF_SHIFT (9U)
  11409. #define CAAM_RTSTATUS_F5BR1TF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSTATUS_F5BR1TF_SHIFT)) & CAAM_RTSTATUS_F5BR1TF_MASK)
  11410. #define CAAM_RTSTATUS_F6PBR0TF_MASK (0x400U)
  11411. #define CAAM_RTSTATUS_F6PBR0TF_SHIFT (10U)
  11412. #define CAAM_RTSTATUS_F6PBR0TF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSTATUS_F6PBR0TF_SHIFT)) & CAAM_RTSTATUS_F6PBR0TF_MASK)
  11413. #define CAAM_RTSTATUS_F6PBR1TF_MASK (0x800U)
  11414. #define CAAM_RTSTATUS_F6PBR1TF_SHIFT (11U)
  11415. #define CAAM_RTSTATUS_F6PBR1TF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSTATUS_F6PBR1TF_SHIFT)) & CAAM_RTSTATUS_F6PBR1TF_MASK)
  11416. #define CAAM_RTSTATUS_FSBTF_MASK (0x1000U)
  11417. #define CAAM_RTSTATUS_FSBTF_SHIFT (12U)
  11418. #define CAAM_RTSTATUS_FSBTF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSTATUS_FSBTF_SHIFT)) & CAAM_RTSTATUS_FSBTF_MASK)
  11419. #define CAAM_RTSTATUS_FLRTF_MASK (0x2000U)
  11420. #define CAAM_RTSTATUS_FLRTF_SHIFT (13U)
  11421. #define CAAM_RTSTATUS_FLRTF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSTATUS_FLRTF_SHIFT)) & CAAM_RTSTATUS_FLRTF_MASK)
  11422. #define CAAM_RTSTATUS_FPTF_MASK (0x4000U)
  11423. #define CAAM_RTSTATUS_FPTF_SHIFT (14U)
  11424. #define CAAM_RTSTATUS_FPTF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSTATUS_FPTF_SHIFT)) & CAAM_RTSTATUS_FPTF_MASK)
  11425. #define CAAM_RTSTATUS_FMBTF_MASK (0x8000U)
  11426. #define CAAM_RTSTATUS_FMBTF_SHIFT (15U)
  11427. #define CAAM_RTSTATUS_FMBTF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSTATUS_FMBTF_SHIFT)) & CAAM_RTSTATUS_FMBTF_MASK)
  11428. #define CAAM_RTSTATUS_RETRY_COUNT_MASK (0xF0000U)
  11429. #define CAAM_RTSTATUS_RETRY_COUNT_SHIFT (16U)
  11430. #define CAAM_RTSTATUS_RETRY_COUNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSTATUS_RETRY_COUNT_SHIFT)) & CAAM_RTSTATUS_RETRY_COUNT_MASK)
  11431. /*! @} */
  11432. /*! @name RTENT - RNG TRNG Entropy Read Register */
  11433. /*! @{ */
  11434. #define CAAM_RTENT_ENT_MASK (0xFFFFFFFFU)
  11435. #define CAAM_RTENT_ENT_SHIFT (0U)
  11436. #define CAAM_RTENT_ENT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTENT_ENT_SHIFT)) & CAAM_RTENT_ENT_MASK)
  11437. /*! @} */
  11438. /* The count of CAAM_RTENT */
  11439. #define CAAM_RTENT_COUNT (16U)
  11440. /*! @name RTPKRCNT10 - RNG TRNG Statistical Check Poker Count 1 and 0 Register */
  11441. /*! @{ */
  11442. #define CAAM_RTPKRCNT10_PKR_0_CNT_MASK (0xFFFFU)
  11443. #define CAAM_RTPKRCNT10_PKR_0_CNT_SHIFT (0U)
  11444. #define CAAM_RTPKRCNT10_PKR_0_CNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTPKRCNT10_PKR_0_CNT_SHIFT)) & CAAM_RTPKRCNT10_PKR_0_CNT_MASK)
  11445. #define CAAM_RTPKRCNT10_PKR_1_CNT_MASK (0xFFFF0000U)
  11446. #define CAAM_RTPKRCNT10_PKR_1_CNT_SHIFT (16U)
  11447. #define CAAM_RTPKRCNT10_PKR_1_CNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTPKRCNT10_PKR_1_CNT_SHIFT)) & CAAM_RTPKRCNT10_PKR_1_CNT_MASK)
  11448. /*! @} */
  11449. /*! @name RTPKRCNT32 - RNG TRNG Statistical Check Poker Count 3 and 2 Register */
  11450. /*! @{ */
  11451. #define CAAM_RTPKRCNT32_PKR_2_CNT_MASK (0xFFFFU)
  11452. #define CAAM_RTPKRCNT32_PKR_2_CNT_SHIFT (0U)
  11453. #define CAAM_RTPKRCNT32_PKR_2_CNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTPKRCNT32_PKR_2_CNT_SHIFT)) & CAAM_RTPKRCNT32_PKR_2_CNT_MASK)
  11454. #define CAAM_RTPKRCNT32_PKR_3_CNT_MASK (0xFFFF0000U)
  11455. #define CAAM_RTPKRCNT32_PKR_3_CNT_SHIFT (16U)
  11456. #define CAAM_RTPKRCNT32_PKR_3_CNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTPKRCNT32_PKR_3_CNT_SHIFT)) & CAAM_RTPKRCNT32_PKR_3_CNT_MASK)
  11457. /*! @} */
  11458. /*! @name RTPKRCNT54 - RNG TRNG Statistical Check Poker Count 5 and 4 Register */
  11459. /*! @{ */
  11460. #define CAAM_RTPKRCNT54_PKR_4_CNT_MASK (0xFFFFU)
  11461. #define CAAM_RTPKRCNT54_PKR_4_CNT_SHIFT (0U)
  11462. #define CAAM_RTPKRCNT54_PKR_4_CNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTPKRCNT54_PKR_4_CNT_SHIFT)) & CAAM_RTPKRCNT54_PKR_4_CNT_MASK)
  11463. #define CAAM_RTPKRCNT54_PKR_5_CNT_MASK (0xFFFF0000U)
  11464. #define CAAM_RTPKRCNT54_PKR_5_CNT_SHIFT (16U)
  11465. #define CAAM_RTPKRCNT54_PKR_5_CNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTPKRCNT54_PKR_5_CNT_SHIFT)) & CAAM_RTPKRCNT54_PKR_5_CNT_MASK)
  11466. /*! @} */
  11467. /*! @name RTPKRCNT76 - RNG TRNG Statistical Check Poker Count 7 and 6 Register */
  11468. /*! @{ */
  11469. #define CAAM_RTPKRCNT76_PKR_6_CNT_MASK (0xFFFFU)
  11470. #define CAAM_RTPKRCNT76_PKR_6_CNT_SHIFT (0U)
  11471. #define CAAM_RTPKRCNT76_PKR_6_CNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTPKRCNT76_PKR_6_CNT_SHIFT)) & CAAM_RTPKRCNT76_PKR_6_CNT_MASK)
  11472. #define CAAM_RTPKRCNT76_PKR_7_CNT_MASK (0xFFFF0000U)
  11473. #define CAAM_RTPKRCNT76_PKR_7_CNT_SHIFT (16U)
  11474. #define CAAM_RTPKRCNT76_PKR_7_CNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTPKRCNT76_PKR_7_CNT_SHIFT)) & CAAM_RTPKRCNT76_PKR_7_CNT_MASK)
  11475. /*! @} */
  11476. /*! @name RTPKRCNT98 - RNG TRNG Statistical Check Poker Count 9 and 8 Register */
  11477. /*! @{ */
  11478. #define CAAM_RTPKRCNT98_PKR_8_CNT_MASK (0xFFFFU)
  11479. #define CAAM_RTPKRCNT98_PKR_8_CNT_SHIFT (0U)
  11480. #define CAAM_RTPKRCNT98_PKR_8_CNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTPKRCNT98_PKR_8_CNT_SHIFT)) & CAAM_RTPKRCNT98_PKR_8_CNT_MASK)
  11481. #define CAAM_RTPKRCNT98_PKR_9_CNT_MASK (0xFFFF0000U)
  11482. #define CAAM_RTPKRCNT98_PKR_9_CNT_SHIFT (16U)
  11483. #define CAAM_RTPKRCNT98_PKR_9_CNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTPKRCNT98_PKR_9_CNT_SHIFT)) & CAAM_RTPKRCNT98_PKR_9_CNT_MASK)
  11484. /*! @} */
  11485. /*! @name RTPKRCNTBA - RNG TRNG Statistical Check Poker Count B and A Register */
  11486. /*! @{ */
  11487. #define CAAM_RTPKRCNTBA_PKR_A_CNT_MASK (0xFFFFU)
  11488. #define CAAM_RTPKRCNTBA_PKR_A_CNT_SHIFT (0U)
  11489. #define CAAM_RTPKRCNTBA_PKR_A_CNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTPKRCNTBA_PKR_A_CNT_SHIFT)) & CAAM_RTPKRCNTBA_PKR_A_CNT_MASK)
  11490. #define CAAM_RTPKRCNTBA_PKR_B_CNT_MASK (0xFFFF0000U)
  11491. #define CAAM_RTPKRCNTBA_PKR_B_CNT_SHIFT (16U)
  11492. #define CAAM_RTPKRCNTBA_PKR_B_CNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTPKRCNTBA_PKR_B_CNT_SHIFT)) & CAAM_RTPKRCNTBA_PKR_B_CNT_MASK)
  11493. /*! @} */
  11494. /*! @name RTPKRCNTDC - RNG TRNG Statistical Check Poker Count D and C Register */
  11495. /*! @{ */
  11496. #define CAAM_RTPKRCNTDC_PKR_C_CNT_MASK (0xFFFFU)
  11497. #define CAAM_RTPKRCNTDC_PKR_C_CNT_SHIFT (0U)
  11498. #define CAAM_RTPKRCNTDC_PKR_C_CNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTPKRCNTDC_PKR_C_CNT_SHIFT)) & CAAM_RTPKRCNTDC_PKR_C_CNT_MASK)
  11499. #define CAAM_RTPKRCNTDC_PKR_D_CNT_MASK (0xFFFF0000U)
  11500. #define CAAM_RTPKRCNTDC_PKR_D_CNT_SHIFT (16U)
  11501. #define CAAM_RTPKRCNTDC_PKR_D_CNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTPKRCNTDC_PKR_D_CNT_SHIFT)) & CAAM_RTPKRCNTDC_PKR_D_CNT_MASK)
  11502. /*! @} */
  11503. /*! @name RTPKRCNTFE - RNG TRNG Statistical Check Poker Count F and E Register */
  11504. /*! @{ */
  11505. #define CAAM_RTPKRCNTFE_PKR_E_CNT_MASK (0xFFFFU)
  11506. #define CAAM_RTPKRCNTFE_PKR_E_CNT_SHIFT (0U)
  11507. #define CAAM_RTPKRCNTFE_PKR_E_CNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTPKRCNTFE_PKR_E_CNT_SHIFT)) & CAAM_RTPKRCNTFE_PKR_E_CNT_MASK)
  11508. #define CAAM_RTPKRCNTFE_PKR_F_CNT_MASK (0xFFFF0000U)
  11509. #define CAAM_RTPKRCNTFE_PKR_F_CNT_SHIFT (16U)
  11510. #define CAAM_RTPKRCNTFE_PKR_F_CNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTPKRCNTFE_PKR_F_CNT_SHIFT)) & CAAM_RTPKRCNTFE_PKR_F_CNT_MASK)
  11511. /*! @} */
  11512. /*! @name RDSTA - RNG DRNG Status Register */
  11513. /*! @{ */
  11514. #define CAAM_RDSTA_IF0_MASK (0x1U)
  11515. #define CAAM_RDSTA_IF0_SHIFT (0U)
  11516. #define CAAM_RDSTA_IF0(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RDSTA_IF0_SHIFT)) & CAAM_RDSTA_IF0_MASK)
  11517. #define CAAM_RDSTA_IF1_MASK (0x2U)
  11518. #define CAAM_RDSTA_IF1_SHIFT (1U)
  11519. #define CAAM_RDSTA_IF1(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RDSTA_IF1_SHIFT)) & CAAM_RDSTA_IF1_MASK)
  11520. #define CAAM_RDSTA_PR0_MASK (0x10U)
  11521. #define CAAM_RDSTA_PR0_SHIFT (4U)
  11522. #define CAAM_RDSTA_PR0(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RDSTA_PR0_SHIFT)) & CAAM_RDSTA_PR0_MASK)
  11523. #define CAAM_RDSTA_PR1_MASK (0x20U)
  11524. #define CAAM_RDSTA_PR1_SHIFT (5U)
  11525. #define CAAM_RDSTA_PR1(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RDSTA_PR1_SHIFT)) & CAAM_RDSTA_PR1_MASK)
  11526. #define CAAM_RDSTA_TF0_MASK (0x100U)
  11527. #define CAAM_RDSTA_TF0_SHIFT (8U)
  11528. #define CAAM_RDSTA_TF0(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RDSTA_TF0_SHIFT)) & CAAM_RDSTA_TF0_MASK)
  11529. #define CAAM_RDSTA_TF1_MASK (0x200U)
  11530. #define CAAM_RDSTA_TF1_SHIFT (9U)
  11531. #define CAAM_RDSTA_TF1(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RDSTA_TF1_SHIFT)) & CAAM_RDSTA_TF1_MASK)
  11532. #define CAAM_RDSTA_ERRCODE_MASK (0xF0000U)
  11533. #define CAAM_RDSTA_ERRCODE_SHIFT (16U)
  11534. #define CAAM_RDSTA_ERRCODE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RDSTA_ERRCODE_SHIFT)) & CAAM_RDSTA_ERRCODE_MASK)
  11535. #define CAAM_RDSTA_CE_MASK (0x100000U)
  11536. #define CAAM_RDSTA_CE_SHIFT (20U)
  11537. #define CAAM_RDSTA_CE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RDSTA_CE_SHIFT)) & CAAM_RDSTA_CE_MASK)
  11538. #define CAAM_RDSTA_SKVN_MASK (0x40000000U)
  11539. #define CAAM_RDSTA_SKVN_SHIFT (30U)
  11540. #define CAAM_RDSTA_SKVN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RDSTA_SKVN_SHIFT)) & CAAM_RDSTA_SKVN_MASK)
  11541. #define CAAM_RDSTA_SKVT_MASK (0x80000000U)
  11542. #define CAAM_RDSTA_SKVT_SHIFT (31U)
  11543. #define CAAM_RDSTA_SKVT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RDSTA_SKVT_SHIFT)) & CAAM_RDSTA_SKVT_MASK)
  11544. /*! @} */
  11545. /*! @name RDINT0 - RNG DRNG State Handle 0 Reseed Interval Register */
  11546. /*! @{ */
  11547. #define CAAM_RDINT0_RESINT0_MASK (0xFFFFFFFFU)
  11548. #define CAAM_RDINT0_RESINT0_SHIFT (0U)
  11549. #define CAAM_RDINT0_RESINT0(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RDINT0_RESINT0_SHIFT)) & CAAM_RDINT0_RESINT0_MASK)
  11550. /*! @} */
  11551. /*! @name RDINT1 - RNG DRNG State Handle 1 Reseed Interval Register */
  11552. /*! @{ */
  11553. #define CAAM_RDINT1_RESINT1_MASK (0xFFFFFFFFU)
  11554. #define CAAM_RDINT1_RESINT1_SHIFT (0U)
  11555. #define CAAM_RDINT1_RESINT1(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RDINT1_RESINT1_SHIFT)) & CAAM_RDINT1_RESINT1_MASK)
  11556. /*! @} */
  11557. /*! @name RDHCNTL - RNG DRNG Hash Control Register */
  11558. /*! @{ */
  11559. #define CAAM_RDHCNTL_HD_MASK (0x1U)
  11560. #define CAAM_RDHCNTL_HD_SHIFT (0U)
  11561. #define CAAM_RDHCNTL_HD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RDHCNTL_HD_SHIFT)) & CAAM_RDHCNTL_HD_MASK)
  11562. #define CAAM_RDHCNTL_HB_MASK (0x2U)
  11563. #define CAAM_RDHCNTL_HB_SHIFT (1U)
  11564. #define CAAM_RDHCNTL_HB(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RDHCNTL_HB_SHIFT)) & CAAM_RDHCNTL_HB_MASK)
  11565. #define CAAM_RDHCNTL_HI_MASK (0x4U)
  11566. #define CAAM_RDHCNTL_HI_SHIFT (2U)
  11567. #define CAAM_RDHCNTL_HI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RDHCNTL_HI_SHIFT)) & CAAM_RDHCNTL_HI_MASK)
  11568. #define CAAM_RDHCNTL_HTM_MASK (0x8U)
  11569. #define CAAM_RDHCNTL_HTM_SHIFT (3U)
  11570. #define CAAM_RDHCNTL_HTM(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RDHCNTL_HTM_SHIFT)) & CAAM_RDHCNTL_HTM_MASK)
  11571. #define CAAM_RDHCNTL_HTC_MASK (0x10U)
  11572. #define CAAM_RDHCNTL_HTC_SHIFT (4U)
  11573. #define CAAM_RDHCNTL_HTC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RDHCNTL_HTC_SHIFT)) & CAAM_RDHCNTL_HTC_MASK)
  11574. /*! @} */
  11575. /*! @name RDHDIG - RNG DRNG Hash Digest Register */
  11576. /*! @{ */
  11577. #define CAAM_RDHDIG_HASHMD_MASK (0xFFFFFFFFU)
  11578. #define CAAM_RDHDIG_HASHMD_SHIFT (0U)
  11579. #define CAAM_RDHDIG_HASHMD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RDHDIG_HASHMD_SHIFT)) & CAAM_RDHDIG_HASHMD_MASK)
  11580. /*! @} */
  11581. /*! @name RDHBUF - RNG DRNG Hash Buffer Register */
  11582. /*! @{ */
  11583. #define CAAM_RDHBUF_HASHBUF_MASK (0xFFFFFFFFU)
  11584. #define CAAM_RDHBUF_HASHBUF_SHIFT (0U)
  11585. #define CAAM_RDHBUF_HASHBUF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RDHBUF_HASHBUF_SHIFT)) & CAAM_RDHBUF_HASHBUF_MASK)
  11586. /*! @} */
  11587. /*! @name PX_SDID_PG0 - Partition 0 SDID register..Partition 15 SDID register */
  11588. /*! @{ */
  11589. #define CAAM_PX_SDID_PG0_SDID_MASK (0xFFFFU)
  11590. #define CAAM_PX_SDID_PG0_SDID_SHIFT (0U)
  11591. #define CAAM_PX_SDID_PG0_SDID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SDID_PG0_SDID_SHIFT)) & CAAM_PX_SDID_PG0_SDID_MASK)
  11592. /*! @} */
  11593. /* The count of CAAM_PX_SDID_PG0 */
  11594. #define CAAM_PX_SDID_PG0_COUNT (16U)
  11595. /*! @name PX_SMAPR_PG0 - Secure Memory Access Permissions register */
  11596. /*! @{ */
  11597. #define CAAM_PX_SMAPR_PG0_G1_READ_MASK (0x1U)
  11598. #define CAAM_PX_SMAPR_PG0_G1_READ_SHIFT (0U)
  11599. /*! G1_READ
  11600. * 0b0..Instruction fetches and reads are prohibited (except that Trusted Descriptor reads (if G1_TDO=1) and
  11601. * key-reads are always allowed, and exporting Secure Memory Blobs is allowed if G1_SMBLOB=1 or if done by a
  11602. * Trusted Descriptor and G1_TDO=1).
  11603. * 0b1..Instruction fetches and reads are allowed (but exporting a Secure Memory Blob is prohibited if
  11604. * G1_SMBLOB=0 and the descriptor is not a Trusted Descriptor or if G1_TDO=0).
  11605. */
  11606. #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)
  11607. #define CAAM_PX_SMAPR_PG0_G1_WRITE_MASK (0x2U)
  11608. #define CAAM_PX_SMAPR_PG0_G1_WRITE_SHIFT (1U)
  11609. /*! G1_WRITE
  11610. * 0b0..Writes are prohibited (except that Trusted Descriptor writes are allowed, and importing Secure Memory
  11611. * Blobs is allowed if G1_SMBLOB=1 or if done by a Trusted Descriptor and G1_TDO=1).
  11612. * 0b1..Writes are allowed (but importing a Secure Memory Blob is prohibited if G1_SMBLOB=0 and the descriptor is
  11613. * not a Trusted Descriptor or if G1_TDO=0).
  11614. */
  11615. #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)
  11616. #define CAAM_PX_SMAPR_PG0_G1_TDO_MASK (0x4U)
  11617. #define CAAM_PX_SMAPR_PG0_G1_TDO_SHIFT (2U)
  11618. /*! G1_TDO
  11619. * 0b0..Trusted Descriptors have the same access privileges as Job Descriptors
  11620. * 0b1..Trusted Descriptors are allowed to override the other access permissions, i.e. they can export blobs from
  11621. * or import blobs to the partition and read from and write to the partition regardless of the G1_SMBLOB,
  11622. * G1_WRITE and G1_READ settings.
  11623. */
  11624. #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)
  11625. #define CAAM_PX_SMAPR_PG0_G1_SMBLOB_MASK (0x8U)
  11626. #define CAAM_PX_SMAPR_PG0_G1_SMBLOB_SHIFT (3U)
  11627. /*! G1_SMBLOB
  11628. * 0b0..Exporting or importing Secure Memory Blobs is prohibited, unless done via a Trusted Descriptor and G1_TDO=1.
  11629. * 0b1..Exporting or importing Secure Memory Blobs is allowed, regardless of the G1_READ and G1_WRITE settings.
  11630. */
  11631. #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)
  11632. #define CAAM_PX_SMAPR_PG0_G2_READ_MASK (0x10U)
  11633. #define CAAM_PX_SMAPR_PG0_G2_READ_SHIFT (4U)
  11634. /*! G2_READ
  11635. * 0b0..Instruction fetches and reads are prohibited (except that Trusted Descriptor reads (if G2_TDO=1) and
  11636. * key-reads are always allowed, and exporting Secure Memory Blobs is allowed if G2_SMBLOB=1 or if done by a
  11637. * Trusted Descriptor and G2_TDO=1).
  11638. * 0b1..Instruction fetches and reads are allowed (but exporting a Secure Memory Blob is prohibited if
  11639. * G2_SMBLOB=0 and the descriptor is not a Trusted Descriptor or if G2_TDO=0).
  11640. */
  11641. #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)
  11642. #define CAAM_PX_SMAPR_PG0_G2_WRITE_MASK (0x20U)
  11643. #define CAAM_PX_SMAPR_PG0_G2_WRITE_SHIFT (5U)
  11644. /*! G2_WRITE
  11645. * 0b0..Writes are prohibited (except that Trusted Descriptor writes are allowed, and importing Secure Memory
  11646. * Blobs is allowed if G2_SMBLOB=1 or if done by a Trusted Descriptor and G2_TDO=1).
  11647. * 0b1..Writes are allowed (but importing a Secure Memory Blob is prohibited if G2_SMBLOB=0 and the descriptor is
  11648. * not a Trusted Descriptor or if G2_TDO=0).
  11649. */
  11650. #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)
  11651. #define CAAM_PX_SMAPR_PG0_G2_TDO_MASK (0x40U)
  11652. #define CAAM_PX_SMAPR_PG0_G2_TDO_SHIFT (6U)
  11653. /*! G2_TDO
  11654. * 0b0..Trusted Descriptors have the same access privileges as Job Descriptors
  11655. * 0b1..Trusted Descriptors are allowed to override the other access permissions, i.e. they can export blobs from
  11656. * or import blobs to the partition and read from and write to the partition regardless of the G2_SMBLOB,
  11657. * G2_WRITE and G2_READ settings.
  11658. */
  11659. #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)
  11660. #define CAAM_PX_SMAPR_PG0_G2_SMBLOB_MASK (0x80U)
  11661. #define CAAM_PX_SMAPR_PG0_G2_SMBLOB_SHIFT (7U)
  11662. /*! G2_SMBLOB
  11663. * 0b0..Exporting or importing Secure Memory Blobs is prohibited, unless done via a Trusted Descriptor and G2_TDO=1.
  11664. * 0b1..Exporting or importing Secure Memory Blobs is allowed, regardless of the G2_READ and G2_WRITE settings.
  11665. */
  11666. #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)
  11667. #define CAAM_PX_SMAPR_PG0_SMAG_LCK_MASK (0x1000U)
  11668. #define CAAM_PX_SMAPR_PG0_SMAG_LCK_SHIFT (12U)
  11669. /*! SMAG_LCK
  11670. * 0b0..The SMAG2JR register and SMAG1JR register are unlocked. The partition owner can change any writable bits of these registers.
  11671. * 0b1..The SMAG2JR register and SMAG1JR register are locked. The SMAG2JR and SMAG1JR registers cannot be changed
  11672. * until the partition is de-allocated or a POR occurs.
  11673. */
  11674. #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)
  11675. #define CAAM_PX_SMAPR_PG0_SMAP_LCK_MASK (0x2000U)
  11676. #define CAAM_PX_SMAPR_PG0_SMAP_LCK_SHIFT (13U)
  11677. /*! SMAP_LCK
  11678. * 0b0..The SMAP register is unlocked. The partition owner can change any writable bits of the SMAP register.
  11679. * 0b1..The SMAP register is locked. The SMAP_LCK, CSP and PSP bits and G1 and G2 permission bits of the SMAP
  11680. * register cannot be changed until the partition is de-allocated or a POR occurs. The PARTITION_KMOD value can
  11681. * still be changed. The SMAG_LCK bit can be changed to a 1, but cannot be changed to a 0.
  11682. */
  11683. #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)
  11684. #define CAAM_PX_SMAPR_PG0_PSP_MASK (0x4000U)
  11685. #define CAAM_PX_SMAPR_PG0_PSP_SHIFT (14U)
  11686. /*! PSP
  11687. * 0b0..The partition and any of the pages allocated to the partition can be de-allocated.
  11688. * 0b1..The partition cannot be de-allocated and the pages allocated to the partition cannot be de-allocated.
  11689. */
  11690. #define CAAM_PX_SMAPR_PG0_PSP(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAPR_PG0_PSP_SHIFT)) & CAAM_PX_SMAPR_PG0_PSP_MASK)
  11691. #define CAAM_PX_SMAPR_PG0_CSP_MASK (0x8000U)
  11692. #define CAAM_PX_SMAPR_PG0_CSP_SHIFT (15U)
  11693. /*! CSP
  11694. * 0b0..The pages allocated to the partition will not be zeroized when they are de-allocated or the partition is
  11695. * released or a security alarm occurs.
  11696. * 0b1..The pages allocated to the partition will be zeroized when they are individually de-allocated or the
  11697. * partition is released or a security alarm occurs.
  11698. */
  11699. #define CAAM_PX_SMAPR_PG0_CSP(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAPR_PG0_CSP_SHIFT)) & CAAM_PX_SMAPR_PG0_CSP_MASK)
  11700. #define CAAM_PX_SMAPR_PG0_PARTITION_KMOD_MASK (0xFFFF0000U)
  11701. #define CAAM_PX_SMAPR_PG0_PARTITION_KMOD_SHIFT (16U)
  11702. #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)
  11703. /*! @} */
  11704. /* The count of CAAM_PX_SMAPR_PG0 */
  11705. #define CAAM_PX_SMAPR_PG0_COUNT (16U)
  11706. /*! @name PX_SMAG2_PG0 - Secure Memory Access Group Registers */
  11707. /*! @{ */
  11708. #define CAAM_PX_SMAG2_PG0_Gx_ID00_MASK (0x1U)
  11709. #define CAAM_PX_SMAG2_PG0_Gx_ID00_SHIFT (0U)
  11710. #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)
  11711. #define CAAM_PX_SMAG2_PG0_Gx_ID01_MASK (0x2U)
  11712. #define CAAM_PX_SMAG2_PG0_Gx_ID01_SHIFT (1U)
  11713. #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)
  11714. #define CAAM_PX_SMAG2_PG0_Gx_ID02_MASK (0x4U)
  11715. #define CAAM_PX_SMAG2_PG0_Gx_ID02_SHIFT (2U)
  11716. #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)
  11717. #define CAAM_PX_SMAG2_PG0_Gx_ID03_MASK (0x8U)
  11718. #define CAAM_PX_SMAG2_PG0_Gx_ID03_SHIFT (3U)
  11719. #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)
  11720. #define CAAM_PX_SMAG2_PG0_Gx_ID04_MASK (0x10U)
  11721. #define CAAM_PX_SMAG2_PG0_Gx_ID04_SHIFT (4U)
  11722. #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)
  11723. #define CAAM_PX_SMAG2_PG0_Gx_ID05_MASK (0x20U)
  11724. #define CAAM_PX_SMAG2_PG0_Gx_ID05_SHIFT (5U)
  11725. #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)
  11726. #define CAAM_PX_SMAG2_PG0_Gx_ID06_MASK (0x40U)
  11727. #define CAAM_PX_SMAG2_PG0_Gx_ID06_SHIFT (6U)
  11728. #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)
  11729. #define CAAM_PX_SMAG2_PG0_Gx_ID07_MASK (0x80U)
  11730. #define CAAM_PX_SMAG2_PG0_Gx_ID07_SHIFT (7U)
  11731. #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)
  11732. #define CAAM_PX_SMAG2_PG0_Gx_ID08_MASK (0x100U)
  11733. #define CAAM_PX_SMAG2_PG0_Gx_ID08_SHIFT (8U)
  11734. #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)
  11735. #define CAAM_PX_SMAG2_PG0_Gx_ID09_MASK (0x200U)
  11736. #define CAAM_PX_SMAG2_PG0_Gx_ID09_SHIFT (9U)
  11737. #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)
  11738. #define CAAM_PX_SMAG2_PG0_Gx_ID10_MASK (0x400U)
  11739. #define CAAM_PX_SMAG2_PG0_Gx_ID10_SHIFT (10U)
  11740. #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)
  11741. #define CAAM_PX_SMAG2_PG0_Gx_ID11_MASK (0x800U)
  11742. #define CAAM_PX_SMAG2_PG0_Gx_ID11_SHIFT (11U)
  11743. #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)
  11744. #define CAAM_PX_SMAG2_PG0_Gx_ID12_MASK (0x1000U)
  11745. #define CAAM_PX_SMAG2_PG0_Gx_ID12_SHIFT (12U)
  11746. #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)
  11747. #define CAAM_PX_SMAG2_PG0_Gx_ID13_MASK (0x2000U)
  11748. #define CAAM_PX_SMAG2_PG0_Gx_ID13_SHIFT (13U)
  11749. #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)
  11750. #define CAAM_PX_SMAG2_PG0_Gx_ID14_MASK (0x4000U)
  11751. #define CAAM_PX_SMAG2_PG0_Gx_ID14_SHIFT (14U)
  11752. #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)
  11753. #define CAAM_PX_SMAG2_PG0_Gx_ID15_MASK (0x8000U)
  11754. #define CAAM_PX_SMAG2_PG0_Gx_ID15_SHIFT (15U)
  11755. #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)
  11756. #define CAAM_PX_SMAG2_PG0_Gx_ID16_MASK (0x10000U)
  11757. #define CAAM_PX_SMAG2_PG0_Gx_ID16_SHIFT (16U)
  11758. #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)
  11759. #define CAAM_PX_SMAG2_PG0_Gx_ID17_MASK (0x20000U)
  11760. #define CAAM_PX_SMAG2_PG0_Gx_ID17_SHIFT (17U)
  11761. #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)
  11762. #define CAAM_PX_SMAG2_PG0_Gx_ID18_MASK (0x40000U)
  11763. #define CAAM_PX_SMAG2_PG0_Gx_ID18_SHIFT (18U)
  11764. #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)
  11765. #define CAAM_PX_SMAG2_PG0_Gx_ID19_MASK (0x80000U)
  11766. #define CAAM_PX_SMAG2_PG0_Gx_ID19_SHIFT (19U)
  11767. #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)
  11768. #define CAAM_PX_SMAG2_PG0_Gx_ID20_MASK (0x100000U)
  11769. #define CAAM_PX_SMAG2_PG0_Gx_ID20_SHIFT (20U)
  11770. #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)
  11771. #define CAAM_PX_SMAG2_PG0_Gx_ID21_MASK (0x200000U)
  11772. #define CAAM_PX_SMAG2_PG0_Gx_ID21_SHIFT (21U)
  11773. #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)
  11774. #define CAAM_PX_SMAG2_PG0_Gx_ID22_MASK (0x400000U)
  11775. #define CAAM_PX_SMAG2_PG0_Gx_ID22_SHIFT (22U)
  11776. #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)
  11777. #define CAAM_PX_SMAG2_PG0_Gx_ID23_MASK (0x800000U)
  11778. #define CAAM_PX_SMAG2_PG0_Gx_ID23_SHIFT (23U)
  11779. #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)
  11780. #define CAAM_PX_SMAG2_PG0_Gx_ID24_MASK (0x1000000U)
  11781. #define CAAM_PX_SMAG2_PG0_Gx_ID24_SHIFT (24U)
  11782. #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)
  11783. #define CAAM_PX_SMAG2_PG0_Gx_ID25_MASK (0x2000000U)
  11784. #define CAAM_PX_SMAG2_PG0_Gx_ID25_SHIFT (25U)
  11785. #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)
  11786. #define CAAM_PX_SMAG2_PG0_Gx_ID26_MASK (0x4000000U)
  11787. #define CAAM_PX_SMAG2_PG0_Gx_ID26_SHIFT (26U)
  11788. #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)
  11789. #define CAAM_PX_SMAG2_PG0_Gx_ID27_MASK (0x8000000U)
  11790. #define CAAM_PX_SMAG2_PG0_Gx_ID27_SHIFT (27U)
  11791. #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)
  11792. #define CAAM_PX_SMAG2_PG0_Gx_ID28_MASK (0x10000000U)
  11793. #define CAAM_PX_SMAG2_PG0_Gx_ID28_SHIFT (28U)
  11794. #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)
  11795. #define CAAM_PX_SMAG2_PG0_Gx_ID29_MASK (0x20000000U)
  11796. #define CAAM_PX_SMAG2_PG0_Gx_ID29_SHIFT (29U)
  11797. #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)
  11798. #define CAAM_PX_SMAG2_PG0_Gx_ID30_MASK (0x40000000U)
  11799. #define CAAM_PX_SMAG2_PG0_Gx_ID30_SHIFT (30U)
  11800. #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)
  11801. #define CAAM_PX_SMAG2_PG0_Gx_ID31_MASK (0x80000000U)
  11802. #define CAAM_PX_SMAG2_PG0_Gx_ID31_SHIFT (31U)
  11803. #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)
  11804. /*! @} */
  11805. /* The count of CAAM_PX_SMAG2_PG0 */
  11806. #define CAAM_PX_SMAG2_PG0_COUNT (16U)
  11807. /*! @name PX_SMAG1_PG0 - Secure Memory Access Group Registers */
  11808. /*! @{ */
  11809. #define CAAM_PX_SMAG1_PG0_Gx_ID00_MASK (0x1U)
  11810. #define CAAM_PX_SMAG1_PG0_Gx_ID00_SHIFT (0U)
  11811. #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)
  11812. #define CAAM_PX_SMAG1_PG0_Gx_ID01_MASK (0x2U)
  11813. #define CAAM_PX_SMAG1_PG0_Gx_ID01_SHIFT (1U)
  11814. #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)
  11815. #define CAAM_PX_SMAG1_PG0_Gx_ID02_MASK (0x4U)
  11816. #define CAAM_PX_SMAG1_PG0_Gx_ID02_SHIFT (2U)
  11817. #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)
  11818. #define CAAM_PX_SMAG1_PG0_Gx_ID03_MASK (0x8U)
  11819. #define CAAM_PX_SMAG1_PG0_Gx_ID03_SHIFT (3U)
  11820. #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)
  11821. #define CAAM_PX_SMAG1_PG0_Gx_ID04_MASK (0x10U)
  11822. #define CAAM_PX_SMAG1_PG0_Gx_ID04_SHIFT (4U)
  11823. #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)
  11824. #define CAAM_PX_SMAG1_PG0_Gx_ID05_MASK (0x20U)
  11825. #define CAAM_PX_SMAG1_PG0_Gx_ID05_SHIFT (5U)
  11826. #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)
  11827. #define CAAM_PX_SMAG1_PG0_Gx_ID06_MASK (0x40U)
  11828. #define CAAM_PX_SMAG1_PG0_Gx_ID06_SHIFT (6U)
  11829. #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)
  11830. #define CAAM_PX_SMAG1_PG0_Gx_ID07_MASK (0x80U)
  11831. #define CAAM_PX_SMAG1_PG0_Gx_ID07_SHIFT (7U)
  11832. #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)
  11833. #define CAAM_PX_SMAG1_PG0_Gx_ID08_MASK (0x100U)
  11834. #define CAAM_PX_SMAG1_PG0_Gx_ID08_SHIFT (8U)
  11835. #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)
  11836. #define CAAM_PX_SMAG1_PG0_Gx_ID09_MASK (0x200U)
  11837. #define CAAM_PX_SMAG1_PG0_Gx_ID09_SHIFT (9U)
  11838. #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)
  11839. #define CAAM_PX_SMAG1_PG0_Gx_ID10_MASK (0x400U)
  11840. #define CAAM_PX_SMAG1_PG0_Gx_ID10_SHIFT (10U)
  11841. #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)
  11842. #define CAAM_PX_SMAG1_PG0_Gx_ID11_MASK (0x800U)
  11843. #define CAAM_PX_SMAG1_PG0_Gx_ID11_SHIFT (11U)
  11844. #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)
  11845. #define CAAM_PX_SMAG1_PG0_Gx_ID12_MASK (0x1000U)
  11846. #define CAAM_PX_SMAG1_PG0_Gx_ID12_SHIFT (12U)
  11847. #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)
  11848. #define CAAM_PX_SMAG1_PG0_Gx_ID13_MASK (0x2000U)
  11849. #define CAAM_PX_SMAG1_PG0_Gx_ID13_SHIFT (13U)
  11850. #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)
  11851. #define CAAM_PX_SMAG1_PG0_Gx_ID14_MASK (0x4000U)
  11852. #define CAAM_PX_SMAG1_PG0_Gx_ID14_SHIFT (14U)
  11853. #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)
  11854. #define CAAM_PX_SMAG1_PG0_Gx_ID15_MASK (0x8000U)
  11855. #define CAAM_PX_SMAG1_PG0_Gx_ID15_SHIFT (15U)
  11856. #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)
  11857. #define CAAM_PX_SMAG1_PG0_Gx_ID16_MASK (0x10000U)
  11858. #define CAAM_PX_SMAG1_PG0_Gx_ID16_SHIFT (16U)
  11859. #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)
  11860. #define CAAM_PX_SMAG1_PG0_Gx_ID17_MASK (0x20000U)
  11861. #define CAAM_PX_SMAG1_PG0_Gx_ID17_SHIFT (17U)
  11862. #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)
  11863. #define CAAM_PX_SMAG1_PG0_Gx_ID18_MASK (0x40000U)
  11864. #define CAAM_PX_SMAG1_PG0_Gx_ID18_SHIFT (18U)
  11865. #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)
  11866. #define CAAM_PX_SMAG1_PG0_Gx_ID19_MASK (0x80000U)
  11867. #define CAAM_PX_SMAG1_PG0_Gx_ID19_SHIFT (19U)
  11868. #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)
  11869. #define CAAM_PX_SMAG1_PG0_Gx_ID20_MASK (0x100000U)
  11870. #define CAAM_PX_SMAG1_PG0_Gx_ID20_SHIFT (20U)
  11871. #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)
  11872. #define CAAM_PX_SMAG1_PG0_Gx_ID21_MASK (0x200000U)
  11873. #define CAAM_PX_SMAG1_PG0_Gx_ID21_SHIFT (21U)
  11874. #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)
  11875. #define CAAM_PX_SMAG1_PG0_Gx_ID22_MASK (0x400000U)
  11876. #define CAAM_PX_SMAG1_PG0_Gx_ID22_SHIFT (22U)
  11877. #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)
  11878. #define CAAM_PX_SMAG1_PG0_Gx_ID23_MASK (0x800000U)
  11879. #define CAAM_PX_SMAG1_PG0_Gx_ID23_SHIFT (23U)
  11880. #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)
  11881. #define CAAM_PX_SMAG1_PG0_Gx_ID24_MASK (0x1000000U)
  11882. #define CAAM_PX_SMAG1_PG0_Gx_ID24_SHIFT (24U)
  11883. #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)
  11884. #define CAAM_PX_SMAG1_PG0_Gx_ID25_MASK (0x2000000U)
  11885. #define CAAM_PX_SMAG1_PG0_Gx_ID25_SHIFT (25U)
  11886. #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)
  11887. #define CAAM_PX_SMAG1_PG0_Gx_ID26_MASK (0x4000000U)
  11888. #define CAAM_PX_SMAG1_PG0_Gx_ID26_SHIFT (26U)
  11889. #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)
  11890. #define CAAM_PX_SMAG1_PG0_Gx_ID27_MASK (0x8000000U)
  11891. #define CAAM_PX_SMAG1_PG0_Gx_ID27_SHIFT (27U)
  11892. #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)
  11893. #define CAAM_PX_SMAG1_PG0_Gx_ID28_MASK (0x10000000U)
  11894. #define CAAM_PX_SMAG1_PG0_Gx_ID28_SHIFT (28U)
  11895. #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)
  11896. #define CAAM_PX_SMAG1_PG0_Gx_ID29_MASK (0x20000000U)
  11897. #define CAAM_PX_SMAG1_PG0_Gx_ID29_SHIFT (29U)
  11898. #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)
  11899. #define CAAM_PX_SMAG1_PG0_Gx_ID30_MASK (0x40000000U)
  11900. #define CAAM_PX_SMAG1_PG0_Gx_ID30_SHIFT (30U)
  11901. #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)
  11902. #define CAAM_PX_SMAG1_PG0_Gx_ID31_MASK (0x80000000U)
  11903. #define CAAM_PX_SMAG1_PG0_Gx_ID31_SHIFT (31U)
  11904. #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)
  11905. /*! @} */
  11906. /* The count of CAAM_PX_SMAG1_PG0 */
  11907. #define CAAM_PX_SMAG1_PG0_COUNT (16U)
  11908. /*! @name REIS - Recoverable Error Interrupt Status */
  11909. /*! @{ */
  11910. #define CAAM_REIS_CWDE_MASK (0x1U)
  11911. #define CAAM_REIS_CWDE_SHIFT (0U)
  11912. #define CAAM_REIS_CWDE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIS_CWDE_SHIFT)) & CAAM_REIS_CWDE_MASK)
  11913. #define CAAM_REIS_RBAE_MASK (0x10000U)
  11914. #define CAAM_REIS_RBAE_SHIFT (16U)
  11915. #define CAAM_REIS_RBAE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIS_RBAE_SHIFT)) & CAAM_REIS_RBAE_MASK)
  11916. #define CAAM_REIS_JBAE0_MASK (0x1000000U)
  11917. #define CAAM_REIS_JBAE0_SHIFT (24U)
  11918. #define CAAM_REIS_JBAE0(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIS_JBAE0_SHIFT)) & CAAM_REIS_JBAE0_MASK)
  11919. #define CAAM_REIS_JBAE1_MASK (0x2000000U)
  11920. #define CAAM_REIS_JBAE1_SHIFT (25U)
  11921. #define CAAM_REIS_JBAE1(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIS_JBAE1_SHIFT)) & CAAM_REIS_JBAE1_MASK)
  11922. #define CAAM_REIS_JBAE2_MASK (0x4000000U)
  11923. #define CAAM_REIS_JBAE2_SHIFT (26U)
  11924. #define CAAM_REIS_JBAE2(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIS_JBAE2_SHIFT)) & CAAM_REIS_JBAE2_MASK)
  11925. #define CAAM_REIS_JBAE3_MASK (0x8000000U)
  11926. #define CAAM_REIS_JBAE3_SHIFT (27U)
  11927. #define CAAM_REIS_JBAE3(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIS_JBAE3_SHIFT)) & CAAM_REIS_JBAE3_MASK)
  11928. /*! @} */
  11929. /*! @name REIE - Recoverable Error Interrupt Enable */
  11930. /*! @{ */
  11931. #define CAAM_REIE_CWDE_MASK (0x1U)
  11932. #define CAAM_REIE_CWDE_SHIFT (0U)
  11933. #define CAAM_REIE_CWDE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIE_CWDE_SHIFT)) & CAAM_REIE_CWDE_MASK)
  11934. #define CAAM_REIE_RBAE_MASK (0x10000U)
  11935. #define CAAM_REIE_RBAE_SHIFT (16U)
  11936. #define CAAM_REIE_RBAE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIE_RBAE_SHIFT)) & CAAM_REIE_RBAE_MASK)
  11937. #define CAAM_REIE_JBAE0_MASK (0x1000000U)
  11938. #define CAAM_REIE_JBAE0_SHIFT (24U)
  11939. #define CAAM_REIE_JBAE0(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIE_JBAE0_SHIFT)) & CAAM_REIE_JBAE0_MASK)
  11940. #define CAAM_REIE_JBAE1_MASK (0x2000000U)
  11941. #define CAAM_REIE_JBAE1_SHIFT (25U)
  11942. #define CAAM_REIE_JBAE1(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIE_JBAE1_SHIFT)) & CAAM_REIE_JBAE1_MASK)
  11943. #define CAAM_REIE_JBAE2_MASK (0x4000000U)
  11944. #define CAAM_REIE_JBAE2_SHIFT (26U)
  11945. #define CAAM_REIE_JBAE2(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIE_JBAE2_SHIFT)) & CAAM_REIE_JBAE2_MASK)
  11946. #define CAAM_REIE_JBAE3_MASK (0x8000000U)
  11947. #define CAAM_REIE_JBAE3_SHIFT (27U)
  11948. #define CAAM_REIE_JBAE3(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIE_JBAE3_SHIFT)) & CAAM_REIE_JBAE3_MASK)
  11949. /*! @} */
  11950. /*! @name REIF - Recoverable Error Interrupt Force */
  11951. /*! @{ */
  11952. #define CAAM_REIF_CWDE_MASK (0x1U)
  11953. #define CAAM_REIF_CWDE_SHIFT (0U)
  11954. #define CAAM_REIF_CWDE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIF_CWDE_SHIFT)) & CAAM_REIF_CWDE_MASK)
  11955. #define CAAM_REIF_RBAE_MASK (0x10000U)
  11956. #define CAAM_REIF_RBAE_SHIFT (16U)
  11957. #define CAAM_REIF_RBAE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIF_RBAE_SHIFT)) & CAAM_REIF_RBAE_MASK)
  11958. #define CAAM_REIF_JBAE0_MASK (0x1000000U)
  11959. #define CAAM_REIF_JBAE0_SHIFT (24U)
  11960. #define CAAM_REIF_JBAE0(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIF_JBAE0_SHIFT)) & CAAM_REIF_JBAE0_MASK)
  11961. #define CAAM_REIF_JBAE1_MASK (0x2000000U)
  11962. #define CAAM_REIF_JBAE1_SHIFT (25U)
  11963. #define CAAM_REIF_JBAE1(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIF_JBAE1_SHIFT)) & CAAM_REIF_JBAE1_MASK)
  11964. #define CAAM_REIF_JBAE2_MASK (0x4000000U)
  11965. #define CAAM_REIF_JBAE2_SHIFT (26U)
  11966. #define CAAM_REIF_JBAE2(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIF_JBAE2_SHIFT)) & CAAM_REIF_JBAE2_MASK)
  11967. #define CAAM_REIF_JBAE3_MASK (0x8000000U)
  11968. #define CAAM_REIF_JBAE3_SHIFT (27U)
  11969. #define CAAM_REIF_JBAE3(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIF_JBAE3_SHIFT)) & CAAM_REIF_JBAE3_MASK)
  11970. /*! @} */
  11971. /*! @name REIH - Recoverable Error Interrupt Halt */
  11972. /*! @{ */
  11973. #define CAAM_REIH_CWDE_MASK (0x1U)
  11974. #define CAAM_REIH_CWDE_SHIFT (0U)
  11975. /*! CWDE
  11976. * 0b0..Don't halt CAAM if CAAM watchdog expired.
  11977. * 0b1..Halt CAAM if CAAM watchdog expired..
  11978. */
  11979. #define CAAM_REIH_CWDE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIH_CWDE_SHIFT)) & CAAM_REIH_CWDE_MASK)
  11980. #define CAAM_REIH_RBAE_MASK (0x10000U)
  11981. #define CAAM_REIH_RBAE_SHIFT (16U)
  11982. /*! RBAE
  11983. * 0b0..Don't halt CAAM if RTIC-initiated job execution caused bus access error.
  11984. * 0b1..Halt CAAM if RTIC-initiated job execution caused bus access error.
  11985. */
  11986. #define CAAM_REIH_RBAE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIH_RBAE_SHIFT)) & CAAM_REIH_RBAE_MASK)
  11987. #define CAAM_REIH_JBAE0_MASK (0x1000000U)
  11988. #define CAAM_REIH_JBAE0_SHIFT (24U)
  11989. /*! JBAE0
  11990. * 0b0..Don't halt CAAM if JR0-initiated job execution caused bus access error.
  11991. * 0b1..Halt CAAM if JR0-initiated job execution caused bus access error.
  11992. */
  11993. #define CAAM_REIH_JBAE0(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIH_JBAE0_SHIFT)) & CAAM_REIH_JBAE0_MASK)
  11994. #define CAAM_REIH_JBAE1_MASK (0x2000000U)
  11995. #define CAAM_REIH_JBAE1_SHIFT (25U)
  11996. /*! JBAE1
  11997. * 0b0..Don't halt CAAM if JR1-initiated job execution caused bus access error.
  11998. * 0b1..Halt CAAM if JR1-initiated job execution caused bus access error.
  11999. */
  12000. #define CAAM_REIH_JBAE1(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIH_JBAE1_SHIFT)) & CAAM_REIH_JBAE1_MASK)
  12001. #define CAAM_REIH_JBAE2_MASK (0x4000000U)
  12002. #define CAAM_REIH_JBAE2_SHIFT (26U)
  12003. /*! JBAE2
  12004. * 0b0..Don't halt CAAM if JR2-initiated job execution caused bus access error.
  12005. * 0b1..Halt CAAM if JR2-initiated job execution caused bus access error.
  12006. */
  12007. #define CAAM_REIH_JBAE2(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIH_JBAE2_SHIFT)) & CAAM_REIH_JBAE2_MASK)
  12008. #define CAAM_REIH_JBAE3_MASK (0x8000000U)
  12009. #define CAAM_REIH_JBAE3_SHIFT (27U)
  12010. /*! JBAE3
  12011. * 0b0..Don't halt CAAM if JR3-initiated job execution caused bus access error.
  12012. * 0b1..Halt CAAM if JR3-initiated job execution caused bus access error.
  12013. */
  12014. #define CAAM_REIH_JBAE3(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIH_JBAE3_SHIFT)) & CAAM_REIH_JBAE3_MASK)
  12015. /*! @} */
  12016. /*! @name SMWPJRR - Secure Memory Write Protect Job Ring Register */
  12017. /*! @{ */
  12018. #define CAAM_SMWPJRR_SMR_WP_JRa_MASK (0x1U)
  12019. #define CAAM_SMWPJRR_SMR_WP_JRa_SHIFT (0U)
  12020. #define CAAM_SMWPJRR_SMR_WP_JRa(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMWPJRR_SMR_WP_JRa_SHIFT)) & CAAM_SMWPJRR_SMR_WP_JRa_MASK)
  12021. /*! @} */
  12022. /* The count of CAAM_SMWPJRR */
  12023. #define CAAM_SMWPJRR_COUNT (4U)
  12024. /*! @name SMCR_PG0 - Secure Memory Command Register */
  12025. /*! @{ */
  12026. #define CAAM_SMCR_PG0_CMD_MASK (0xFU)
  12027. #define CAAM_SMCR_PG0_CMD_SHIFT (0U)
  12028. #define CAAM_SMCR_PG0_CMD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMCR_PG0_CMD_SHIFT)) & CAAM_SMCR_PG0_CMD_MASK)
  12029. #define CAAM_SMCR_PG0_PRTN_MASK (0xF00U)
  12030. #define CAAM_SMCR_PG0_PRTN_SHIFT (8U)
  12031. #define CAAM_SMCR_PG0_PRTN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMCR_PG0_PRTN_SHIFT)) & CAAM_SMCR_PG0_PRTN_MASK)
  12032. #define CAAM_SMCR_PG0_PAGE_MASK (0xFFFF0000U)
  12033. #define CAAM_SMCR_PG0_PAGE_SHIFT (16U)
  12034. #define CAAM_SMCR_PG0_PAGE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMCR_PG0_PAGE_SHIFT)) & CAAM_SMCR_PG0_PAGE_MASK)
  12035. /*! @} */
  12036. /*! @name SMCSR_PG0 - Secure Memory Command Status Register */
  12037. /*! @{ */
  12038. #define CAAM_SMCSR_PG0_PRTN_MASK (0xFU)
  12039. #define CAAM_SMCSR_PG0_PRTN_SHIFT (0U)
  12040. #define CAAM_SMCSR_PG0_PRTN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMCSR_PG0_PRTN_SHIFT)) & CAAM_SMCSR_PG0_PRTN_MASK)
  12041. #define CAAM_SMCSR_PG0_PO_MASK (0xC0U)
  12042. #define CAAM_SMCSR_PG0_PO_SHIFT (6U)
  12043. /*! PO
  12044. * 0b00..Available; Unowned: The entity that issued the inquiry may allocate this page to a partition. No
  12045. * zeroization is needed since it has already been cleared, therefore no interrupt should be expected.
  12046. * 0b01..Page does not exist in this version or is not initialized yet.
  12047. * 0b10..Another entity owns the page. This page is unavailable to the issuer of the inquiry.
  12048. * 0b11..Owned by the entity making the inquiry. The owner may de-allocate this page if its partition is not
  12049. * marked PSP. If the partition to which the page is allocated is designated as CSP, the page will be zeroized
  12050. * upon de-allocation.
  12051. */
  12052. #define CAAM_SMCSR_PG0_PO(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMCSR_PG0_PO_SHIFT)) & CAAM_SMCSR_PG0_PO_MASK)
  12053. #define CAAM_SMCSR_PG0_AERR_MASK (0x3000U)
  12054. #define CAAM_SMCSR_PG0_AERR_SHIFT (12U)
  12055. #define CAAM_SMCSR_PG0_AERR(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMCSR_PG0_AERR_SHIFT)) & CAAM_SMCSR_PG0_AERR_MASK)
  12056. #define CAAM_SMCSR_PG0_CERR_MASK (0xC000U)
  12057. #define CAAM_SMCSR_PG0_CERR_SHIFT (14U)
  12058. /*! CERR
  12059. * 0b00..No Error.
  12060. * 0b01..Command has not yet completed.
  12061. * 0b10..A security failure occurred.
  12062. * 0b11..Command Overflow. Another command was issued by the same Job Ring owner before the owner's previous
  12063. * command completed. The additional command was ignored.
  12064. */
  12065. #define CAAM_SMCSR_PG0_CERR(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMCSR_PG0_CERR_SHIFT)) & CAAM_SMCSR_PG0_CERR_MASK)
  12066. #define CAAM_SMCSR_PG0_PAGE_MASK (0xFFF0000U)
  12067. #define CAAM_SMCSR_PG0_PAGE_SHIFT (16U)
  12068. #define CAAM_SMCSR_PG0_PAGE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMCSR_PG0_PAGE_SHIFT)) & CAAM_SMCSR_PG0_PAGE_MASK)
  12069. /*! @} */
  12070. /*! @name CAAMVID_MS_TRAD - CAAM Version ID Register, most-significant half */
  12071. /*! @{ */
  12072. #define CAAM_CAAMVID_MS_TRAD_MIN_REV_MASK (0xFFU)
  12073. #define CAAM_CAAMVID_MS_TRAD_MIN_REV_SHIFT (0U)
  12074. #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)
  12075. #define CAAM_CAAMVID_MS_TRAD_MAJ_REV_MASK (0xFF00U)
  12076. #define CAAM_CAAMVID_MS_TRAD_MAJ_REV_SHIFT (8U)
  12077. #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)
  12078. #define CAAM_CAAMVID_MS_TRAD_IP_ID_MASK (0xFFFF0000U)
  12079. #define CAAM_CAAMVID_MS_TRAD_IP_ID_SHIFT (16U)
  12080. #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)
  12081. /*! @} */
  12082. /*! @name CAAMVID_LS_TRAD - CAAM Version ID Register, least-significant half */
  12083. /*! @{ */
  12084. #define CAAM_CAAMVID_LS_TRAD_CONFIG_OPT_MASK (0xFFU)
  12085. #define CAAM_CAAMVID_LS_TRAD_CONFIG_OPT_SHIFT (0U)
  12086. #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)
  12087. #define CAAM_CAAMVID_LS_TRAD_ECO_REV_MASK (0xFF00U)
  12088. #define CAAM_CAAMVID_LS_TRAD_ECO_REV_SHIFT (8U)
  12089. #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)
  12090. #define CAAM_CAAMVID_LS_TRAD_INTG_OPT_MASK (0xFF0000U)
  12091. #define CAAM_CAAMVID_LS_TRAD_INTG_OPT_SHIFT (16U)
  12092. #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)
  12093. #define CAAM_CAAMVID_LS_TRAD_COMPILE_OPT_MASK (0xFF000000U)
  12094. #define CAAM_CAAMVID_LS_TRAD_COMPILE_OPT_SHIFT (24U)
  12095. #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)
  12096. /*! @} */
  12097. /*! @name HT_JD_ADDR - Holding Tank 0 Job Descriptor Address */
  12098. /*! @{ */
  12099. #define CAAM_HT_JD_ADDR_JD_ADDR_MASK (0xFFFFFFFFFU)
  12100. #define CAAM_HT_JD_ADDR_JD_ADDR_SHIFT (0U)
  12101. #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)
  12102. /*! @} */
  12103. /* The count of CAAM_HT_JD_ADDR */
  12104. #define CAAM_HT_JD_ADDR_COUNT (1U)
  12105. /*! @name HT_SD_ADDR - Holding Tank 0 Shared Descriptor Address */
  12106. /*! @{ */
  12107. #define CAAM_HT_SD_ADDR_SD_ADDR_MASK (0xFFFFFFFFFU)
  12108. #define CAAM_HT_SD_ADDR_SD_ADDR_SHIFT (0U)
  12109. #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)
  12110. /*! @} */
  12111. /* The count of CAAM_HT_SD_ADDR */
  12112. #define CAAM_HT_SD_ADDR_COUNT (1U)
  12113. /*! @name HT_JQ_CTRL_MS - Holding Tank 0 Job Queue Control, most-significant half */
  12114. /*! @{ */
  12115. #define CAAM_HT_JQ_CTRL_MS_ID_MASK (0x7U)
  12116. #define CAAM_HT_JQ_CTRL_MS_ID_SHIFT (0U)
  12117. #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)
  12118. #define CAAM_HT_JQ_CTRL_MS_SRC_MASK (0x700U)
  12119. #define CAAM_HT_JQ_CTRL_MS_SRC_SHIFT (8U)
  12120. /*! SRC
  12121. * 0b000..Job Ring 0
  12122. * 0b001..Job Ring 1
  12123. * 0b010..Job Ring 2
  12124. * 0b011..Job Ring 3
  12125. * 0b100..RTIC
  12126. * 0b101..Reserved
  12127. * 0b110..Reserved
  12128. * 0b111..Reserved
  12129. */
  12130. #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)
  12131. #define CAAM_HT_JQ_CTRL_MS_JDDS_MASK (0x4000U)
  12132. #define CAAM_HT_JQ_CTRL_MS_JDDS_SHIFT (14U)
  12133. /*! JDDS
  12134. * 0b1..SEQ DID
  12135. * 0b0..Non-SEQ DID
  12136. */
  12137. #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)
  12138. #define CAAM_HT_JQ_CTRL_MS_AMTD_MASK (0x8000U)
  12139. #define CAAM_HT_JQ_CTRL_MS_AMTD_SHIFT (15U)
  12140. #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)
  12141. #define CAAM_HT_JQ_CTRL_MS_SOB_MASK (0x10000U)
  12142. #define CAAM_HT_JQ_CTRL_MS_SOB_SHIFT (16U)
  12143. #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)
  12144. #define CAAM_HT_JQ_CTRL_MS_HT_ERROR_MASK (0x60000U)
  12145. #define CAAM_HT_JQ_CTRL_MS_HT_ERROR_SHIFT (17U)
  12146. /*! HT_ERROR
  12147. * 0b00..No error
  12148. * 0b01..Job Descriptor or Shared Descriptor length error
  12149. * 0b10..AXI_error while reading a Job Ring Shared Descriptor or the remainder of a Job Ring Job Descriptor
  12150. * 0b11..reserved
  12151. */
  12152. #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)
  12153. #define CAAM_HT_JQ_CTRL_MS_DWORD_SWAP_MASK (0x80000U)
  12154. #define CAAM_HT_JQ_CTRL_MS_DWORD_SWAP_SHIFT (19U)
  12155. /*! DWORD_SWAP
  12156. * 0b0..DWords are in the order most-significant word, least-significant word.
  12157. * 0b1..DWords are in the order least-significant word, most-significant word.
  12158. */
  12159. #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)
  12160. #define CAAM_HT_JQ_CTRL_MS_SHR_FROM_MASK (0x7C00000U)
  12161. #define CAAM_HT_JQ_CTRL_MS_SHR_FROM_SHIFT (22U)
  12162. #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)
  12163. #define CAAM_HT_JQ_CTRL_MS_ILE_MASK (0x8000000U)
  12164. #define CAAM_HT_JQ_CTRL_MS_ILE_SHIFT (27U)
  12165. /*! ILE
  12166. * 0b0..No byte-swapping is performed for immediate data transferred to or from the Descriptor Buffer.
  12167. * 0b1..Byte-swapping is performed for immediate data transferred to or from the Descriptor Buffer.
  12168. */
  12169. #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)
  12170. #define CAAM_HT_JQ_CTRL_MS_FOUR_MASK (0x10000000U)
  12171. #define CAAM_HT_JQ_CTRL_MS_FOUR_SHIFT (28U)
  12172. #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)
  12173. #define CAAM_HT_JQ_CTRL_MS_WHL_MASK (0x20000000U)
  12174. #define CAAM_HT_JQ_CTRL_MS_WHL_SHIFT (29U)
  12175. #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)
  12176. /*! @} */
  12177. /* The count of CAAM_HT_JQ_CTRL_MS */
  12178. #define CAAM_HT_JQ_CTRL_MS_COUNT (1U)
  12179. /*! @name HT_JQ_CTRL_LS - Holding Tank 0 Job Queue Control, least-significant half */
  12180. /*! @{ */
  12181. #define CAAM_HT_JQ_CTRL_LS_PRIM_DID_MASK (0xFU)
  12182. #define CAAM_HT_JQ_CTRL_LS_PRIM_DID_SHIFT (0U)
  12183. #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)
  12184. #define CAAM_HT_JQ_CTRL_LS_PRIM_TZ_MASK (0x10U)
  12185. #define CAAM_HT_JQ_CTRL_LS_PRIM_TZ_SHIFT (4U)
  12186. /*! PRIM_TZ
  12187. * 0b0..TrustZone NonSecureWorld
  12188. * 0b1..TrustZone SecureWorld
  12189. */
  12190. #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)
  12191. #define CAAM_HT_JQ_CTRL_LS_PRIM_ICID_MASK (0xFFE0U)
  12192. #define CAAM_HT_JQ_CTRL_LS_PRIM_ICID_SHIFT (5U)
  12193. #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)
  12194. #define CAAM_HT_JQ_CTRL_LS_OUT_DID_MASK (0xF0000U)
  12195. #define CAAM_HT_JQ_CTRL_LS_OUT_DID_SHIFT (16U)
  12196. #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)
  12197. #define CAAM_HT_JQ_CTRL_LS_OUT_ICID_MASK (0xFFE00000U)
  12198. #define CAAM_HT_JQ_CTRL_LS_OUT_ICID_SHIFT (21U)
  12199. #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)
  12200. /*! @} */
  12201. /* The count of CAAM_HT_JQ_CTRL_LS */
  12202. #define CAAM_HT_JQ_CTRL_LS_COUNT (1U)
  12203. /*! @name HT_STATUS - Holding Tank Status */
  12204. /*! @{ */
  12205. #define CAAM_HT_STATUS_PEND_0_MASK (0x1U)
  12206. #define CAAM_HT_STATUS_PEND_0_SHIFT (0U)
  12207. #define CAAM_HT_STATUS_PEND_0(x) (((uint32_t)(((uint32_t)(x)) << CAAM_HT_STATUS_PEND_0_SHIFT)) & CAAM_HT_STATUS_PEND_0_MASK)
  12208. #define CAAM_HT_STATUS_IN_USE_MASK (0x40000000U)
  12209. #define CAAM_HT_STATUS_IN_USE_SHIFT (30U)
  12210. #define CAAM_HT_STATUS_IN_USE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_HT_STATUS_IN_USE_SHIFT)) & CAAM_HT_STATUS_IN_USE_MASK)
  12211. #define CAAM_HT_STATUS_BC_MASK (0x80000000U)
  12212. #define CAAM_HT_STATUS_BC_SHIFT (31U)
  12213. #define CAAM_HT_STATUS_BC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_HT_STATUS_BC_SHIFT)) & CAAM_HT_STATUS_BC_MASK)
  12214. /*! @} */
  12215. /* The count of CAAM_HT_STATUS */
  12216. #define CAAM_HT_STATUS_COUNT (1U)
  12217. /*! @name JQ_DEBUG_SEL - Job Queue Debug Select Register */
  12218. /*! @{ */
  12219. #define CAAM_JQ_DEBUG_SEL_HT_SEL_MASK (0x1U)
  12220. #define CAAM_JQ_DEBUG_SEL_HT_SEL_SHIFT (0U)
  12221. #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)
  12222. #define CAAM_JQ_DEBUG_SEL_JOB_ID_MASK (0x70000U)
  12223. #define CAAM_JQ_DEBUG_SEL_JOB_ID_SHIFT (16U)
  12224. #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)
  12225. /*! @} */
  12226. /*! @name JRJIDU_LS - Job Ring Job IDs in Use Register, least-significant half */
  12227. /*! @{ */
  12228. #define CAAM_JRJIDU_LS_JID00_MASK (0x1U)
  12229. #define CAAM_JRJIDU_LS_JID00_SHIFT (0U)
  12230. #define CAAM_JRJIDU_LS_JID00(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRJIDU_LS_JID00_SHIFT)) & CAAM_JRJIDU_LS_JID00_MASK)
  12231. #define CAAM_JRJIDU_LS_JID01_MASK (0x2U)
  12232. #define CAAM_JRJIDU_LS_JID01_SHIFT (1U)
  12233. #define CAAM_JRJIDU_LS_JID01(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRJIDU_LS_JID01_SHIFT)) & CAAM_JRJIDU_LS_JID01_MASK)
  12234. #define CAAM_JRJIDU_LS_JID02_MASK (0x4U)
  12235. #define CAAM_JRJIDU_LS_JID02_SHIFT (2U)
  12236. #define CAAM_JRJIDU_LS_JID02(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRJIDU_LS_JID02_SHIFT)) & CAAM_JRJIDU_LS_JID02_MASK)
  12237. #define CAAM_JRJIDU_LS_JID03_MASK (0x8U)
  12238. #define CAAM_JRJIDU_LS_JID03_SHIFT (3U)
  12239. #define CAAM_JRJIDU_LS_JID03(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRJIDU_LS_JID03_SHIFT)) & CAAM_JRJIDU_LS_JID03_MASK)
  12240. /*! @} */
  12241. /*! @name JRJDJIFBC - Job Ring Job-Done Job ID FIFO BC */
  12242. /*! @{ */
  12243. #define CAAM_JRJDJIFBC_BC_MASK (0x80000000U)
  12244. #define CAAM_JRJDJIFBC_BC_SHIFT (31U)
  12245. #define CAAM_JRJDJIFBC_BC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRJDJIFBC_BC_SHIFT)) & CAAM_JRJDJIFBC_BC_MASK)
  12246. /*! @} */
  12247. /*! @name JRJDJIF - Job Ring Job-Done Job ID FIFO */
  12248. /*! @{ */
  12249. #define CAAM_JRJDJIF_JOB_ID_ENTRY_MASK (0x7U)
  12250. #define CAAM_JRJDJIF_JOB_ID_ENTRY_SHIFT (0U)
  12251. #define CAAM_JRJDJIF_JOB_ID_ENTRY(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRJDJIF_JOB_ID_ENTRY_SHIFT)) & CAAM_JRJDJIF_JOB_ID_ENTRY_MASK)
  12252. /*! @} */
  12253. /*! @name JRJDS1 - Job Ring Job-Done Source 1 */
  12254. /*! @{ */
  12255. #define CAAM_JRJDS1_SRC_MASK (0x3U)
  12256. #define CAAM_JRJDS1_SRC_SHIFT (0U)
  12257. #define CAAM_JRJDS1_SRC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRJDS1_SRC_SHIFT)) & CAAM_JRJDS1_SRC_MASK)
  12258. #define CAAM_JRJDS1_VALID_MASK (0x80000000U)
  12259. #define CAAM_JRJDS1_VALID_SHIFT (31U)
  12260. #define CAAM_JRJDS1_VALID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRJDS1_VALID_SHIFT)) & CAAM_JRJDS1_VALID_MASK)
  12261. /*! @} */
  12262. /*! @name JRJDDA - Job Ring Job-Done Descriptor Address 0 Register */
  12263. /*! @{ */
  12264. #define CAAM_JRJDDA_JD_ADDR_MASK (0xFFFFFFFFFU)
  12265. #define CAAM_JRJDDA_JD_ADDR_SHIFT (0U)
  12266. #define CAAM_JRJDDA_JD_ADDR(x) (((uint64_t)(((uint64_t)(x)) << CAAM_JRJDDA_JD_ADDR_SHIFT)) & CAAM_JRJDDA_JD_ADDR_MASK)
  12267. /*! @} */
  12268. /* The count of CAAM_JRJDDA */
  12269. #define CAAM_JRJDDA_COUNT (1U)
  12270. /*! @name CRNR_MS - CHA Revision Number Register, most-significant half */
  12271. /*! @{ */
  12272. #define CAAM_CRNR_MS_CRCRN_MASK (0xFU)
  12273. #define CAAM_CRNR_MS_CRCRN_SHIFT (0U)
  12274. #define CAAM_CRNR_MS_CRCRN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CRNR_MS_CRCRN_SHIFT)) & CAAM_CRNR_MS_CRCRN_MASK)
  12275. #define CAAM_CRNR_MS_SNW9RN_MASK (0xF0U)
  12276. #define CAAM_CRNR_MS_SNW9RN_SHIFT (4U)
  12277. #define CAAM_CRNR_MS_SNW9RN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CRNR_MS_SNW9RN_SHIFT)) & CAAM_CRNR_MS_SNW9RN_MASK)
  12278. #define CAAM_CRNR_MS_ZERN_MASK (0xF00U)
  12279. #define CAAM_CRNR_MS_ZERN_SHIFT (8U)
  12280. #define CAAM_CRNR_MS_ZERN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CRNR_MS_ZERN_SHIFT)) & CAAM_CRNR_MS_ZERN_MASK)
  12281. #define CAAM_CRNR_MS_ZARN_MASK (0xF000U)
  12282. #define CAAM_CRNR_MS_ZARN_SHIFT (12U)
  12283. #define CAAM_CRNR_MS_ZARN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CRNR_MS_ZARN_SHIFT)) & CAAM_CRNR_MS_ZARN_MASK)
  12284. #define CAAM_CRNR_MS_DECORN_MASK (0xF000000U)
  12285. #define CAAM_CRNR_MS_DECORN_SHIFT (24U)
  12286. #define CAAM_CRNR_MS_DECORN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CRNR_MS_DECORN_SHIFT)) & CAAM_CRNR_MS_DECORN_MASK)
  12287. #define CAAM_CRNR_MS_JRRN_MASK (0xF0000000U)
  12288. #define CAAM_CRNR_MS_JRRN_SHIFT (28U)
  12289. #define CAAM_CRNR_MS_JRRN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CRNR_MS_JRRN_SHIFT)) & CAAM_CRNR_MS_JRRN_MASK)
  12290. /*! @} */
  12291. /*! @name CRNR_LS - CHA Revision Number Register, least-significant half */
  12292. /*! @{ */
  12293. #define CAAM_CRNR_LS_AESRN_MASK (0xFU)
  12294. #define CAAM_CRNR_LS_AESRN_SHIFT (0U)
  12295. #define CAAM_CRNR_LS_AESRN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CRNR_LS_AESRN_SHIFT)) & CAAM_CRNR_LS_AESRN_MASK)
  12296. #define CAAM_CRNR_LS_DESRN_MASK (0xF0U)
  12297. #define CAAM_CRNR_LS_DESRN_SHIFT (4U)
  12298. #define CAAM_CRNR_LS_DESRN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CRNR_LS_DESRN_SHIFT)) & CAAM_CRNR_LS_DESRN_MASK)
  12299. #define CAAM_CRNR_LS_MDRN_MASK (0xF000U)
  12300. #define CAAM_CRNR_LS_MDRN_SHIFT (12U)
  12301. #define CAAM_CRNR_LS_MDRN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CRNR_LS_MDRN_SHIFT)) & CAAM_CRNR_LS_MDRN_MASK)
  12302. #define CAAM_CRNR_LS_RNGRN_MASK (0xF0000U)
  12303. #define CAAM_CRNR_LS_RNGRN_SHIFT (16U)
  12304. #define CAAM_CRNR_LS_RNGRN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CRNR_LS_RNGRN_SHIFT)) & CAAM_CRNR_LS_RNGRN_MASK)
  12305. #define CAAM_CRNR_LS_SNW8RN_MASK (0xF00000U)
  12306. #define CAAM_CRNR_LS_SNW8RN_SHIFT (20U)
  12307. #define CAAM_CRNR_LS_SNW8RN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CRNR_LS_SNW8RN_SHIFT)) & CAAM_CRNR_LS_SNW8RN_MASK)
  12308. #define CAAM_CRNR_LS_KASRN_MASK (0xF000000U)
  12309. #define CAAM_CRNR_LS_KASRN_SHIFT (24U)
  12310. #define CAAM_CRNR_LS_KASRN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CRNR_LS_KASRN_SHIFT)) & CAAM_CRNR_LS_KASRN_MASK)
  12311. #define CAAM_CRNR_LS_PKRN_MASK (0xF0000000U)
  12312. #define CAAM_CRNR_LS_PKRN_SHIFT (28U)
  12313. /*! PKRN
  12314. * 0b0000..PKHA-SDv1
  12315. * 0b0001..PKHA-SDv2
  12316. * 0b0010..PKHA-SDv3
  12317. * 0b0011..PKHA-SDv4
  12318. */
  12319. #define CAAM_CRNR_LS_PKRN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CRNR_LS_PKRN_SHIFT)) & CAAM_CRNR_LS_PKRN_MASK)
  12320. /*! @} */
  12321. /*! @name CTPR_MS - Compile Time Parameters Register, most-significant half */
  12322. /*! @{ */
  12323. #define CAAM_CTPR_MS_VIRT_EN_INCL_MASK (0x1U)
  12324. #define CAAM_CTPR_MS_VIRT_EN_INCL_SHIFT (0U)
  12325. #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)
  12326. #define CAAM_CTPR_MS_VIRT_EN_POR_VALUE_MASK (0x2U)
  12327. #define CAAM_CTPR_MS_VIRT_EN_POR_VALUE_SHIFT (1U)
  12328. #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)
  12329. #define CAAM_CTPR_MS_REG_PG_SIZE_MASK (0x10U)
  12330. #define CAAM_CTPR_MS_REG_PG_SIZE_SHIFT (4U)
  12331. #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)
  12332. #define CAAM_CTPR_MS_RNG_I_MASK (0x700U)
  12333. #define CAAM_CTPR_MS_RNG_I_SHIFT (8U)
  12334. #define CAAM_CTPR_MS_RNG_I(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_MS_RNG_I_SHIFT)) & CAAM_CTPR_MS_RNG_I_MASK)
  12335. #define CAAM_CTPR_MS_AI_INCL_MASK (0x800U)
  12336. #define CAAM_CTPR_MS_AI_INCL_SHIFT (11U)
  12337. #define CAAM_CTPR_MS_AI_INCL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_MS_AI_INCL_SHIFT)) & CAAM_CTPR_MS_AI_INCL_MASK)
  12338. #define CAAM_CTPR_MS_DPAA2_MASK (0x2000U)
  12339. #define CAAM_CTPR_MS_DPAA2_SHIFT (13U)
  12340. #define CAAM_CTPR_MS_DPAA2(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_MS_DPAA2_SHIFT)) & CAAM_CTPR_MS_DPAA2_MASK)
  12341. #define CAAM_CTPR_MS_IP_CLK_MASK (0x4000U)
  12342. #define CAAM_CTPR_MS_IP_CLK_SHIFT (14U)
  12343. #define CAAM_CTPR_MS_IP_CLK(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_MS_IP_CLK_SHIFT)) & CAAM_CTPR_MS_IP_CLK_MASK)
  12344. #define CAAM_CTPR_MS_MCFG_BURST_MASK (0x10000U)
  12345. #define CAAM_CTPR_MS_MCFG_BURST_SHIFT (16U)
  12346. #define CAAM_CTPR_MS_MCFG_BURST(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_MS_MCFG_BURST_SHIFT)) & CAAM_CTPR_MS_MCFG_BURST_MASK)
  12347. #define CAAM_CTPR_MS_MCFG_PS_MASK (0x20000U)
  12348. #define CAAM_CTPR_MS_MCFG_PS_SHIFT (17U)
  12349. #define CAAM_CTPR_MS_MCFG_PS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_MS_MCFG_PS_SHIFT)) & CAAM_CTPR_MS_MCFG_PS_MASK)
  12350. #define CAAM_CTPR_MS_SG8_MASK (0x40000U)
  12351. #define CAAM_CTPR_MS_SG8_SHIFT (18U)
  12352. #define CAAM_CTPR_MS_SG8(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_MS_SG8_SHIFT)) & CAAM_CTPR_MS_SG8_MASK)
  12353. #define CAAM_CTPR_MS_PM_EVT_BUS_MASK (0x80000U)
  12354. #define CAAM_CTPR_MS_PM_EVT_BUS_SHIFT (19U)
  12355. #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)
  12356. #define CAAM_CTPR_MS_DECO_WD_MASK (0x100000U)
  12357. #define CAAM_CTPR_MS_DECO_WD_SHIFT (20U)
  12358. #define CAAM_CTPR_MS_DECO_WD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_MS_DECO_WD_SHIFT)) & CAAM_CTPR_MS_DECO_WD_MASK)
  12359. #define CAAM_CTPR_MS_PC_MASK (0x200000U)
  12360. #define CAAM_CTPR_MS_PC_SHIFT (21U)
  12361. #define CAAM_CTPR_MS_PC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_MS_PC_SHIFT)) & CAAM_CTPR_MS_PC_MASK)
  12362. #define CAAM_CTPR_MS_C1C2_MASK (0x800000U)
  12363. #define CAAM_CTPR_MS_C1C2_SHIFT (23U)
  12364. #define CAAM_CTPR_MS_C1C2(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_MS_C1C2_SHIFT)) & CAAM_CTPR_MS_C1C2_MASK)
  12365. #define CAAM_CTPR_MS_ACC_CTL_MASK (0x1000000U)
  12366. #define CAAM_CTPR_MS_ACC_CTL_SHIFT (24U)
  12367. #define CAAM_CTPR_MS_ACC_CTL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_MS_ACC_CTL_SHIFT)) & CAAM_CTPR_MS_ACC_CTL_MASK)
  12368. #define CAAM_CTPR_MS_QI_MASK (0x2000000U)
  12369. #define CAAM_CTPR_MS_QI_SHIFT (25U)
  12370. #define CAAM_CTPR_MS_QI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_MS_QI_SHIFT)) & CAAM_CTPR_MS_QI_MASK)
  12371. #define CAAM_CTPR_MS_AXI_PRI_MASK (0x4000000U)
  12372. #define CAAM_CTPR_MS_AXI_PRI_SHIFT (26U)
  12373. #define CAAM_CTPR_MS_AXI_PRI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_MS_AXI_PRI_SHIFT)) & CAAM_CTPR_MS_AXI_PRI_MASK)
  12374. #define CAAM_CTPR_MS_AXI_LIODN_MASK (0x8000000U)
  12375. #define CAAM_CTPR_MS_AXI_LIODN_SHIFT (27U)
  12376. #define CAAM_CTPR_MS_AXI_LIODN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_MS_AXI_LIODN_SHIFT)) & CAAM_CTPR_MS_AXI_LIODN_MASK)
  12377. #define CAAM_CTPR_MS_AXI_PIPE_DEPTH_MASK (0xF0000000U)
  12378. #define CAAM_CTPR_MS_AXI_PIPE_DEPTH_SHIFT (28U)
  12379. #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)
  12380. /*! @} */
  12381. /*! @name CTPR_LS - Compile Time Parameters Register, least-significant half */
  12382. /*! @{ */
  12383. #define CAAM_CTPR_LS_KG_DS_MASK (0x1U)
  12384. #define CAAM_CTPR_LS_KG_DS_SHIFT (0U)
  12385. /*! KG_DS
  12386. * 0b0..CAAM does not implement specialized support for Public Key Generation and Digital Signatures.
  12387. * 0b1..CAAM implements specialized support for Public Key Generation and Digital Signatures.
  12388. */
  12389. #define CAAM_CTPR_LS_KG_DS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_LS_KG_DS_SHIFT)) & CAAM_CTPR_LS_KG_DS_MASK)
  12390. #define CAAM_CTPR_LS_BLOB_MASK (0x2U)
  12391. #define CAAM_CTPR_LS_BLOB_SHIFT (1U)
  12392. /*! BLOB
  12393. * 0b0..CAAM does not implement specialized support for encapsulating and decapsulating cryptographic blobs.
  12394. * 0b1..CAAM implements specialized support for encapsulating and decapsulating cryptographic blobs.
  12395. */
  12396. #define CAAM_CTPR_LS_BLOB(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_LS_BLOB_SHIFT)) & CAAM_CTPR_LS_BLOB_MASK)
  12397. #define CAAM_CTPR_LS_WIFI_MASK (0x4U)
  12398. #define CAAM_CTPR_LS_WIFI_SHIFT (2U)
  12399. /*! WIFI
  12400. * 0b0..CAAM does not implement specialized support for the WIFI protocol.
  12401. * 0b1..CAAM implements specialized support for the WIFI protocol.
  12402. */
  12403. #define CAAM_CTPR_LS_WIFI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_LS_WIFI_SHIFT)) & CAAM_CTPR_LS_WIFI_MASK)
  12404. #define CAAM_CTPR_LS_WIMAX_MASK (0x8U)
  12405. #define CAAM_CTPR_LS_WIMAX_SHIFT (3U)
  12406. /*! WIMAX
  12407. * 0b0..CAAM does not implement specialized support for the WIMAX protocol.
  12408. * 0b1..CAAM implements specialized support for the WIMAX protocol.
  12409. */
  12410. #define CAAM_CTPR_LS_WIMAX(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_LS_WIMAX_SHIFT)) & CAAM_CTPR_LS_WIMAX_MASK)
  12411. #define CAAM_CTPR_LS_SRTP_MASK (0x10U)
  12412. #define CAAM_CTPR_LS_SRTP_SHIFT (4U)
  12413. /*! SRTP
  12414. * 0b0..CAAM does not implement specialized support for the SRTP protocol.
  12415. * 0b1..CAAM implements specialized support for the SRTP protocol.
  12416. */
  12417. #define CAAM_CTPR_LS_SRTP(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_LS_SRTP_SHIFT)) & CAAM_CTPR_LS_SRTP_MASK)
  12418. #define CAAM_CTPR_LS_IPSEC_MASK (0x20U)
  12419. #define CAAM_CTPR_LS_IPSEC_SHIFT (5U)
  12420. /*! IPSEC
  12421. * 0b0..CAAM does not implement specialized support for the IPSEC protocol.
  12422. * 0b1..CAAM implements specialized support for the IPSEC protocol.
  12423. */
  12424. #define CAAM_CTPR_LS_IPSEC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_LS_IPSEC_SHIFT)) & CAAM_CTPR_LS_IPSEC_MASK)
  12425. #define CAAM_CTPR_LS_IKE_MASK (0x40U)
  12426. #define CAAM_CTPR_LS_IKE_SHIFT (6U)
  12427. /*! IKE
  12428. * 0b0..CAAM does not implement specialized support for the IKE protocol.
  12429. * 0b1..CAAM implements specialized support for the IKE protocol.
  12430. */
  12431. #define CAAM_CTPR_LS_IKE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_LS_IKE_SHIFT)) & CAAM_CTPR_LS_IKE_MASK)
  12432. #define CAAM_CTPR_LS_SSL_TLS_MASK (0x80U)
  12433. #define CAAM_CTPR_LS_SSL_TLS_SHIFT (7U)
  12434. /*! SSL_TLS
  12435. * 0b0..CAAM does not implement specialized support for the SSL and TLS protocols.
  12436. * 0b1..CAAM implements specialized support for the SSL and TLS protocols.
  12437. */
  12438. #define CAAM_CTPR_LS_SSL_TLS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_LS_SSL_TLS_SHIFT)) & CAAM_CTPR_LS_SSL_TLS_MASK)
  12439. #define CAAM_CTPR_LS_TLS_PRF_MASK (0x100U)
  12440. #define CAAM_CTPR_LS_TLS_PRF_SHIFT (8U)
  12441. /*! TLS_PRF
  12442. * 0b0..CAAM does not implement specialized support for the TLS protocol pseudo-random function.
  12443. * 0b1..CAAM implements specialized support for the TLS protocol pseudo-random function.
  12444. */
  12445. #define CAAM_CTPR_LS_TLS_PRF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_LS_TLS_PRF_SHIFT)) & CAAM_CTPR_LS_TLS_PRF_MASK)
  12446. #define CAAM_CTPR_LS_MACSEC_MASK (0x200U)
  12447. #define CAAM_CTPR_LS_MACSEC_SHIFT (9U)
  12448. /*! MACSEC
  12449. * 0b0..CAAM does not implement specialized support for the MACSEC protocol.
  12450. * 0b1..CAAM implements specialized support for the MACSEC protocol.
  12451. */
  12452. #define CAAM_CTPR_LS_MACSEC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_LS_MACSEC_SHIFT)) & CAAM_CTPR_LS_MACSEC_MASK)
  12453. #define CAAM_CTPR_LS_RSA_MASK (0x400U)
  12454. #define CAAM_CTPR_LS_RSA_SHIFT (10U)
  12455. /*! RSA
  12456. * 0b0..CAAM does not implement specialized support for RSA encrypt and decrypt operations.
  12457. * 0b1..CAAM implements specialized support for RSA encrypt and decrypt operations.
  12458. */
  12459. #define CAAM_CTPR_LS_RSA(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_LS_RSA_SHIFT)) & CAAM_CTPR_LS_RSA_MASK)
  12460. #define CAAM_CTPR_LS_P3G_LTE_MASK (0x800U)
  12461. #define CAAM_CTPR_LS_P3G_LTE_SHIFT (11U)
  12462. /*! P3G_LTE
  12463. * 0b0..CAAM does not implement specialized support for 3G and LTE protocols.
  12464. * 0b1..CAAM implements specialized support for 3G and LTE protocols.
  12465. */
  12466. #define CAAM_CTPR_LS_P3G_LTE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_LS_P3G_LTE_SHIFT)) & CAAM_CTPR_LS_P3G_LTE_MASK)
  12467. #define CAAM_CTPR_LS_DBL_CRC_MASK (0x1000U)
  12468. #define CAAM_CTPR_LS_DBL_CRC_SHIFT (12U)
  12469. /*! DBL_CRC
  12470. * 0b0..CAAM does not implement specialized support for Double CRC.
  12471. * 0b1..CAAM implements specialized support for Double CRC.
  12472. */
  12473. #define CAAM_CTPR_LS_DBL_CRC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_LS_DBL_CRC_SHIFT)) & CAAM_CTPR_LS_DBL_CRC_MASK)
  12474. #define CAAM_CTPR_LS_MAN_PROT_MASK (0x2000U)
  12475. #define CAAM_CTPR_LS_MAN_PROT_SHIFT (13U)
  12476. /*! MAN_PROT
  12477. * 0b0..CAAM does not implement Manufacturing Protection functions.
  12478. * 0b1..CAAM implements Manufacturing Protection functions.
  12479. */
  12480. #define CAAM_CTPR_LS_MAN_PROT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_LS_MAN_PROT_SHIFT)) & CAAM_CTPR_LS_MAN_PROT_MASK)
  12481. #define CAAM_CTPR_LS_DKP_MASK (0x4000U)
  12482. #define CAAM_CTPR_LS_DKP_SHIFT (14U)
  12483. /*! DKP
  12484. * 0b0..CAAM does not implement the Derived Key Protocol.
  12485. * 0b1..CAAM implements the Derived Key Protocol.
  12486. */
  12487. #define CAAM_CTPR_LS_DKP(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_LS_DKP_SHIFT)) & CAAM_CTPR_LS_DKP_MASK)
  12488. /*! @} */
  12489. /*! @name SMSTA - Secure Memory Status Register */
  12490. /*! @{ */
  12491. #define CAAM_SMSTA_STATE_MASK (0xFU)
  12492. #define CAAM_SMSTA_STATE_SHIFT (0U)
  12493. /*! STATE
  12494. * 0b0000..Reset State
  12495. * 0b0001..Initialize State
  12496. * 0b0010..Normal State
  12497. * 0b0011..Fail State
  12498. */
  12499. #define CAAM_SMSTA_STATE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMSTA_STATE_SHIFT)) & CAAM_SMSTA_STATE_MASK)
  12500. #define CAAM_SMSTA_ACCERR_MASK (0xF0U)
  12501. #define CAAM_SMSTA_ACCERR_SHIFT (4U)
  12502. /*! ACCERR
  12503. * 0b0000..No error occurred
  12504. * 0b0001..A bus transaction attempted to access a page in Secure Memory, but the page was not allocated to any partition.
  12505. * 0b0010..A bus transaction attempted to access a partition, but the transaction's TrustZone World, DID was not
  12506. * granted access to the partition in the partition's SMAG2/1JR registers.
  12507. * 0b0011..A bus transaction attempted to read, but reads from this partition are not allowed.
  12508. * 0b0100..A bus transaction attempted to write, but writes to this partition are not allowed.
  12509. * 0b0110..A bus transaction attempted a non-key read, but the only reads permitted from this partition are key reads.
  12510. * 0b1001..Secure Memory Blob import or export was attempted, but Secure Memory Blob access is not allowed for this partition.
  12511. * 0b1010..A Descriptor attempted a Secure Memory Blob import or export, but not all of the pages referenced were from the same partition.
  12512. * 0b1011..A memory access was directed to Secure Memory, but the specified address is not implemented in Secure
  12513. * Memory. The address was either outside the address range occupied by Secure Memory, or was within an
  12514. * unimplemented portion of the 4kbyte address block occupied by a 1Kbyte or 2Kbyte Secure Memory page.
  12515. * 0b1100..A bus transaction was attempted, but the burst would have crossed a page boundary.
  12516. * 0b1101..An attempt was made to access a page while it was still being initialized.
  12517. */
  12518. #define CAAM_SMSTA_ACCERR(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMSTA_ACCERR_SHIFT)) & CAAM_SMSTA_ACCERR_MASK)
  12519. #define CAAM_SMSTA_DID_MASK (0xF00U)
  12520. #define CAAM_SMSTA_DID_SHIFT (8U)
  12521. #define CAAM_SMSTA_DID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMSTA_DID_SHIFT)) & CAAM_SMSTA_DID_MASK)
  12522. #define CAAM_SMSTA_NS_MASK (0x1000U)
  12523. #define CAAM_SMSTA_NS_SHIFT (12U)
  12524. #define CAAM_SMSTA_NS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMSTA_NS_SHIFT)) & CAAM_SMSTA_NS_MASK)
  12525. #define CAAM_SMSTA_SMR_WP_MASK (0x8000U)
  12526. #define CAAM_SMSTA_SMR_WP_SHIFT (15U)
  12527. #define CAAM_SMSTA_SMR_WP(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMSTA_SMR_WP_SHIFT)) & CAAM_SMSTA_SMR_WP_MASK)
  12528. #define CAAM_SMSTA_PAGE_MASK (0x7FF0000U)
  12529. #define CAAM_SMSTA_PAGE_SHIFT (16U)
  12530. #define CAAM_SMSTA_PAGE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMSTA_PAGE_SHIFT)) & CAAM_SMSTA_PAGE_MASK)
  12531. #define CAAM_SMSTA_PART_MASK (0xF0000000U)
  12532. #define CAAM_SMSTA_PART_SHIFT (28U)
  12533. #define CAAM_SMSTA_PART(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMSTA_PART_SHIFT)) & CAAM_SMSTA_PART_MASK)
  12534. /*! @} */
  12535. /*! @name SMPO - Secure Memory Partition Owners Register */
  12536. /*! @{ */
  12537. #define CAAM_SMPO_PO0_MASK (0x3U)
  12538. #define CAAM_SMPO_PO0_SHIFT (0U)
  12539. /*! PO0
  12540. * 0b00..Available; Unowned. A Job Ring owner may claim partition 0 by writing to the appropriate SMAPJR register
  12541. * address alias. Note that the entire register will return all 0s if read by a entity that does not own
  12542. * the Job Ring associated with the SMPO address alias that was read.
  12543. * 0b01..Partition 0 does not exist in this version
  12544. * 0b10..Another entity owns partition 0. Partition 0 is unavailable to the reader. If the reader attempts to
  12545. * de-allocate partition 0 or write to the SMAPJR register or SMAGJR register for partition 0 or allocate a
  12546. * page to or de-allocate a page from partition 0 the command will be ignored. (Note that if a CSP partition is
  12547. * de-allocated, all entities (including the owner that de-allocated the partition) will see a 0b10 value
  12548. * for that partition until all its pages have been zeroized.)
  12549. * 0b11..The entity that read the SMPO register owns partition 0. Ownership is claimed when the access
  12550. * permissions register (SMAPJR) of an available partition is first written.
  12551. */
  12552. #define CAAM_SMPO_PO0(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMPO_PO0_SHIFT)) & CAAM_SMPO_PO0_MASK)
  12553. #define CAAM_SMPO_PO1_MASK (0xCU)
  12554. #define CAAM_SMPO_PO1_SHIFT (2U)
  12555. #define CAAM_SMPO_PO1(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMPO_PO1_SHIFT)) & CAAM_SMPO_PO1_MASK)
  12556. #define CAAM_SMPO_PO2_MASK (0x30U)
  12557. #define CAAM_SMPO_PO2_SHIFT (4U)
  12558. #define CAAM_SMPO_PO2(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMPO_PO2_SHIFT)) & CAAM_SMPO_PO2_MASK)
  12559. #define CAAM_SMPO_PO3_MASK (0xC0U)
  12560. #define CAAM_SMPO_PO3_SHIFT (6U)
  12561. #define CAAM_SMPO_PO3(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMPO_PO3_SHIFT)) & CAAM_SMPO_PO3_MASK)
  12562. #define CAAM_SMPO_PO4_MASK (0x300U)
  12563. #define CAAM_SMPO_PO4_SHIFT (8U)
  12564. #define CAAM_SMPO_PO4(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMPO_PO4_SHIFT)) & CAAM_SMPO_PO4_MASK)
  12565. #define CAAM_SMPO_PO5_MASK (0xC00U)
  12566. #define CAAM_SMPO_PO5_SHIFT (10U)
  12567. #define CAAM_SMPO_PO5(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMPO_PO5_SHIFT)) & CAAM_SMPO_PO5_MASK)
  12568. #define CAAM_SMPO_PO6_MASK (0x3000U)
  12569. #define CAAM_SMPO_PO6_SHIFT (12U)
  12570. #define CAAM_SMPO_PO6(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMPO_PO6_SHIFT)) & CAAM_SMPO_PO6_MASK)
  12571. #define CAAM_SMPO_PO7_MASK (0xC000U)
  12572. #define CAAM_SMPO_PO7_SHIFT (14U)
  12573. #define CAAM_SMPO_PO7(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMPO_PO7_SHIFT)) & CAAM_SMPO_PO7_MASK)
  12574. #define CAAM_SMPO_PO8_MASK (0x30000U)
  12575. #define CAAM_SMPO_PO8_SHIFT (16U)
  12576. #define CAAM_SMPO_PO8(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMPO_PO8_SHIFT)) & CAAM_SMPO_PO8_MASK)
  12577. #define CAAM_SMPO_PO9_MASK (0xC0000U)
  12578. #define CAAM_SMPO_PO9_SHIFT (18U)
  12579. #define CAAM_SMPO_PO9(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMPO_PO9_SHIFT)) & CAAM_SMPO_PO9_MASK)
  12580. #define CAAM_SMPO_PO10_MASK (0x300000U)
  12581. #define CAAM_SMPO_PO10_SHIFT (20U)
  12582. #define CAAM_SMPO_PO10(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMPO_PO10_SHIFT)) & CAAM_SMPO_PO10_MASK)
  12583. #define CAAM_SMPO_PO11_MASK (0xC00000U)
  12584. #define CAAM_SMPO_PO11_SHIFT (22U)
  12585. #define CAAM_SMPO_PO11(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMPO_PO11_SHIFT)) & CAAM_SMPO_PO11_MASK)
  12586. #define CAAM_SMPO_PO12_MASK (0x3000000U)
  12587. #define CAAM_SMPO_PO12_SHIFT (24U)
  12588. #define CAAM_SMPO_PO12(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMPO_PO12_SHIFT)) & CAAM_SMPO_PO12_MASK)
  12589. #define CAAM_SMPO_PO13_MASK (0xC000000U)
  12590. #define CAAM_SMPO_PO13_SHIFT (26U)
  12591. #define CAAM_SMPO_PO13(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMPO_PO13_SHIFT)) & CAAM_SMPO_PO13_MASK)
  12592. #define CAAM_SMPO_PO14_MASK (0x30000000U)
  12593. #define CAAM_SMPO_PO14_SHIFT (28U)
  12594. #define CAAM_SMPO_PO14(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMPO_PO14_SHIFT)) & CAAM_SMPO_PO14_MASK)
  12595. #define CAAM_SMPO_PO15_MASK (0xC0000000U)
  12596. #define CAAM_SMPO_PO15_SHIFT (30U)
  12597. #define CAAM_SMPO_PO15(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMPO_PO15_SHIFT)) & CAAM_SMPO_PO15_MASK)
  12598. /*! @} */
  12599. /*! @name FAR - Fault Address Register */
  12600. /*! @{ */
  12601. #define CAAM_FAR_FAR_MASK (0xFFFFFFFFFU)
  12602. #define CAAM_FAR_FAR_SHIFT (0U)
  12603. #define CAAM_FAR_FAR(x) (((uint64_t)(((uint64_t)(x)) << CAAM_FAR_FAR_SHIFT)) & CAAM_FAR_FAR_MASK)
  12604. /*! @} */
  12605. /*! @name FADID - Fault Address DID Register */
  12606. /*! @{ */
  12607. #define CAAM_FADID_FDID_MASK (0xFU)
  12608. #define CAAM_FADID_FDID_SHIFT (0U)
  12609. #define CAAM_FADID_FDID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_FADID_FDID_SHIFT)) & CAAM_FADID_FDID_MASK)
  12610. #define CAAM_FADID_FNS_MASK (0x10U)
  12611. #define CAAM_FADID_FNS_SHIFT (4U)
  12612. #define CAAM_FADID_FNS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_FADID_FNS_SHIFT)) & CAAM_FADID_FNS_MASK)
  12613. #define CAAM_FADID_FICID_MASK (0xFFE0U)
  12614. #define CAAM_FADID_FICID_SHIFT (5U)
  12615. #define CAAM_FADID_FICID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_FADID_FICID_SHIFT)) & CAAM_FADID_FICID_MASK)
  12616. /*! @} */
  12617. /*! @name FADR - Fault Address Detail Register */
  12618. /*! @{ */
  12619. #define CAAM_FADR_FSZ_MASK (0x7FU)
  12620. #define CAAM_FADR_FSZ_SHIFT (0U)
  12621. #define CAAM_FADR_FSZ(x) (((uint32_t)(((uint32_t)(x)) << CAAM_FADR_FSZ_SHIFT)) & CAAM_FADR_FSZ_MASK)
  12622. #define CAAM_FADR_TYP_MASK (0x80U)
  12623. #define CAAM_FADR_TYP_SHIFT (7U)
  12624. /*! TYP
  12625. * 0b0..Read.
  12626. * 0b1..Write.
  12627. */
  12628. #define CAAM_FADR_TYP(x) (((uint32_t)(((uint32_t)(x)) << CAAM_FADR_TYP_SHIFT)) & CAAM_FADR_TYP_MASK)
  12629. #define CAAM_FADR_BLKID_MASK (0xF00U)
  12630. #define CAAM_FADR_BLKID_SHIFT (8U)
  12631. /*! BLKID
  12632. * 0b0100..job queue controller Burst Buffer
  12633. * 0b0101..One of the Job Rings (see JSRC field)
  12634. * 0b1000..DECO0
  12635. */
  12636. #define CAAM_FADR_BLKID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_FADR_BLKID_SHIFT)) & CAAM_FADR_BLKID_MASK)
  12637. #define CAAM_FADR_JSRC_MASK (0x7000U)
  12638. #define CAAM_FADR_JSRC_SHIFT (12U)
  12639. /*! JSRC
  12640. * 0b000..Job Ring 0
  12641. * 0b001..Job Ring 1
  12642. * 0b010..Job Ring 2
  12643. * 0b011..Job Ring 3
  12644. * 0b100..RTIC
  12645. * 0b101..reserved
  12646. * 0b110..reserved
  12647. * 0b111..reserved
  12648. */
  12649. #define CAAM_FADR_JSRC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_FADR_JSRC_SHIFT)) & CAAM_FADR_JSRC_MASK)
  12650. #define CAAM_FADR_DTYP_MASK (0x8000U)
  12651. #define CAAM_FADR_DTYP_SHIFT (15U)
  12652. /*! DTYP
  12653. * 0b0..message data
  12654. * 0b1..control data
  12655. */
  12656. #define CAAM_FADR_DTYP(x) (((uint32_t)(((uint32_t)(x)) << CAAM_FADR_DTYP_SHIFT)) & CAAM_FADR_DTYP_MASK)
  12657. #define CAAM_FADR_FSZ_EXT_MASK (0x70000U)
  12658. #define CAAM_FADR_FSZ_EXT_SHIFT (16U)
  12659. #define CAAM_FADR_FSZ_EXT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_FADR_FSZ_EXT_SHIFT)) & CAAM_FADR_FSZ_EXT_MASK)
  12660. #define CAAM_FADR_FKMOD_MASK (0x1000000U)
  12661. #define CAAM_FADR_FKMOD_SHIFT (24U)
  12662. /*! FKMOD
  12663. * 0b0..CAAM DMA was not attempting to read the key modifier from Secure Memory at the time that the DMA error occurred.
  12664. * 0b1..CAAM DMA was attempting to read the key modifier from Secure Memory at the time that the DMA error occurred.
  12665. */
  12666. #define CAAM_FADR_FKMOD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_FADR_FKMOD_SHIFT)) & CAAM_FADR_FKMOD_MASK)
  12667. #define CAAM_FADR_FKEY_MASK (0x2000000U)
  12668. #define CAAM_FADR_FKEY_SHIFT (25U)
  12669. /*! FKEY
  12670. * 0b0..CAAM DMA was not attempting to perform a key read from Secure Memory at the time of the DMA error.
  12671. * 0b1..CAAM DMA was attempting to perform a key read from Secure Memory at the time of the DMA error.
  12672. */
  12673. #define CAAM_FADR_FKEY(x) (((uint32_t)(((uint32_t)(x)) << CAAM_FADR_FKEY_SHIFT)) & CAAM_FADR_FKEY_MASK)
  12674. #define CAAM_FADR_FTDSC_MASK (0x4000000U)
  12675. #define CAAM_FADR_FTDSC_SHIFT (26U)
  12676. /*! FTDSC
  12677. * 0b0..CAAM DMA was not executing a Trusted Descriptor at the time of the DMA error.
  12678. * 0b1..CAAM DMA was executing a Trusted Descriptor at the time of the DMA error.
  12679. */
  12680. #define CAAM_FADR_FTDSC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_FADR_FTDSC_SHIFT)) & CAAM_FADR_FTDSC_MASK)
  12681. #define CAAM_FADR_FBNDG_MASK (0x8000000U)
  12682. #define CAAM_FADR_FBNDG_SHIFT (27U)
  12683. /*! FBNDG
  12684. * 0b0..CAAM DMA was not reading access permissions from a Secure Memory partition at the time of the DMA error.
  12685. * 0b1..CAAM DMA was reading access permissions from a Secure Memory partition at the time of the DMA error.
  12686. */
  12687. #define CAAM_FADR_FBNDG(x) (((uint32_t)(((uint32_t)(x)) << CAAM_FADR_FBNDG_SHIFT)) & CAAM_FADR_FBNDG_MASK)
  12688. #define CAAM_FADR_FNS_MASK (0x10000000U)
  12689. #define CAAM_FADR_FNS_SHIFT (28U)
  12690. /*! FNS
  12691. * 0b0..CAAM DMA was asserting ns=0 at the time of the DMA error.
  12692. * 0b1..CAAM DMA was asserting ns=1 at the time of the DMA error.
  12693. */
  12694. #define CAAM_FADR_FNS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_FADR_FNS_SHIFT)) & CAAM_FADR_FNS_MASK)
  12695. #define CAAM_FADR_FERR_MASK (0xC0000000U)
  12696. #define CAAM_FADR_FERR_SHIFT (30U)
  12697. /*! FERR
  12698. * 0b00..OKAY - Normal Access
  12699. * 0b01..Reserved
  12700. * 0b10..SLVERR - Slave Error
  12701. * 0b11..DECERR - Decode Error
  12702. */
  12703. #define CAAM_FADR_FERR(x) (((uint32_t)(((uint32_t)(x)) << CAAM_FADR_FERR_SHIFT)) & CAAM_FADR_FERR_MASK)
  12704. /*! @} */
  12705. /*! @name CSTA - CAAM Status Register */
  12706. /*! @{ */
  12707. #define CAAM_CSTA_BSY_MASK (0x1U)
  12708. #define CAAM_CSTA_BSY_SHIFT (0U)
  12709. #define CAAM_CSTA_BSY(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CSTA_BSY_SHIFT)) & CAAM_CSTA_BSY_MASK)
  12710. #define CAAM_CSTA_IDLE_MASK (0x2U)
  12711. #define CAAM_CSTA_IDLE_SHIFT (1U)
  12712. #define CAAM_CSTA_IDLE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CSTA_IDLE_SHIFT)) & CAAM_CSTA_IDLE_MASK)
  12713. #define CAAM_CSTA_TRNG_IDLE_MASK (0x4U)
  12714. #define CAAM_CSTA_TRNG_IDLE_SHIFT (2U)
  12715. #define CAAM_CSTA_TRNG_IDLE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CSTA_TRNG_IDLE_SHIFT)) & CAAM_CSTA_TRNG_IDLE_MASK)
  12716. #define CAAM_CSTA_MOO_MASK (0x300U)
  12717. #define CAAM_CSTA_MOO_SHIFT (8U)
  12718. /*! MOO
  12719. * 0b00..Non-Secure
  12720. * 0b01..Secure
  12721. * 0b10..Trusted
  12722. * 0b11..Fail
  12723. */
  12724. #define CAAM_CSTA_MOO(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CSTA_MOO_SHIFT)) & CAAM_CSTA_MOO_MASK)
  12725. #define CAAM_CSTA_PLEND_MASK (0x400U)
  12726. #define CAAM_CSTA_PLEND_SHIFT (10U)
  12727. /*! PLEND
  12728. * 0b0..Platform default is Little Endian
  12729. * 0b1..Platform default is Big Endian
  12730. */
  12731. #define CAAM_CSTA_PLEND(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CSTA_PLEND_SHIFT)) & CAAM_CSTA_PLEND_MASK)
  12732. /*! @} */
  12733. /*! @name SMVID_MS - Secure Memory Version ID Register, most-significant half */
  12734. /*! @{ */
  12735. #define CAAM_SMVID_MS_NPAG_MASK (0x3FFU)
  12736. #define CAAM_SMVID_MS_NPAG_SHIFT (0U)
  12737. #define CAAM_SMVID_MS_NPAG(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMVID_MS_NPAG_SHIFT)) & CAAM_SMVID_MS_NPAG_MASK)
  12738. #define CAAM_SMVID_MS_NPRT_MASK (0xF000U)
  12739. #define CAAM_SMVID_MS_NPRT_SHIFT (12U)
  12740. #define CAAM_SMVID_MS_NPRT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMVID_MS_NPRT_SHIFT)) & CAAM_SMVID_MS_NPRT_MASK)
  12741. #define CAAM_SMVID_MS_MAX_NPAG_MASK (0x3FF0000U)
  12742. #define CAAM_SMVID_MS_MAX_NPAG_SHIFT (16U)
  12743. #define CAAM_SMVID_MS_MAX_NPAG(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMVID_MS_MAX_NPAG_SHIFT)) & CAAM_SMVID_MS_MAX_NPAG_MASK)
  12744. /*! @} */
  12745. /*! @name SMVID_LS - Secure Memory Version ID Register, least-significant half */
  12746. /*! @{ */
  12747. #define CAAM_SMVID_LS_SMNV_MASK (0xFFU)
  12748. #define CAAM_SMVID_LS_SMNV_SHIFT (0U)
  12749. #define CAAM_SMVID_LS_SMNV(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMVID_LS_SMNV_SHIFT)) & CAAM_SMVID_LS_SMNV_MASK)
  12750. #define CAAM_SMVID_LS_SMJV_MASK (0xFF00U)
  12751. #define CAAM_SMVID_LS_SMJV_SHIFT (8U)
  12752. #define CAAM_SMVID_LS_SMJV(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMVID_LS_SMJV_SHIFT)) & CAAM_SMVID_LS_SMJV_MASK)
  12753. #define CAAM_SMVID_LS_PSIZ_MASK (0x70000U)
  12754. #define CAAM_SMVID_LS_PSIZ_SHIFT (16U)
  12755. #define CAAM_SMVID_LS_PSIZ(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMVID_LS_PSIZ_SHIFT)) & CAAM_SMVID_LS_PSIZ_MASK)
  12756. /*! @} */
  12757. /*! @name RVID - RTIC Version ID Register */
  12758. /*! @{ */
  12759. #define CAAM_RVID_RMNV_MASK (0xFFU)
  12760. #define CAAM_RVID_RMNV_SHIFT (0U)
  12761. #define CAAM_RVID_RMNV(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RVID_RMNV_SHIFT)) & CAAM_RVID_RMNV_MASK)
  12762. #define CAAM_RVID_RMJV_MASK (0xFF00U)
  12763. #define CAAM_RVID_RMJV_SHIFT (8U)
  12764. #define CAAM_RVID_RMJV(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RVID_RMJV_SHIFT)) & CAAM_RVID_RMJV_MASK)
  12765. #define CAAM_RVID_SHA_256_MASK (0x20000U)
  12766. #define CAAM_RVID_SHA_256_SHIFT (17U)
  12767. /*! SHA_256
  12768. * 0b0..RTIC cannot use the SHA-256 hashing algorithm.
  12769. * 0b1..RTIC can use the SHA-256 hashing algorithm.
  12770. */
  12771. #define CAAM_RVID_SHA_256(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RVID_SHA_256_SHIFT)) & CAAM_RVID_SHA_256_MASK)
  12772. #define CAAM_RVID_SHA_512_MASK (0x80000U)
  12773. #define CAAM_RVID_SHA_512_SHIFT (19U)
  12774. /*! SHA_512
  12775. * 0b0..RTIC cannot use the SHA-512 hashing algorithm.
  12776. * 0b1..RTIC can use the SHA-512 hashing algorithm.
  12777. */
  12778. #define CAAM_RVID_SHA_512(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RVID_SHA_512_SHIFT)) & CAAM_RVID_SHA_512_MASK)
  12779. #define CAAM_RVID_MA_MASK (0x1000000U)
  12780. #define CAAM_RVID_MA_SHIFT (24U)
  12781. #define CAAM_RVID_MA(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RVID_MA_SHIFT)) & CAAM_RVID_MA_MASK)
  12782. #define CAAM_RVID_MB_MASK (0x2000000U)
  12783. #define CAAM_RVID_MB_SHIFT (25U)
  12784. #define CAAM_RVID_MB(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RVID_MB_SHIFT)) & CAAM_RVID_MB_MASK)
  12785. #define CAAM_RVID_MC_MASK (0x4000000U)
  12786. #define CAAM_RVID_MC_SHIFT (26U)
  12787. #define CAAM_RVID_MC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RVID_MC_SHIFT)) & CAAM_RVID_MC_MASK)
  12788. #define CAAM_RVID_MD_MASK (0x8000000U)
  12789. #define CAAM_RVID_MD_SHIFT (27U)
  12790. #define CAAM_RVID_MD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RVID_MD_SHIFT)) & CAAM_RVID_MD_MASK)
  12791. /*! @} */
  12792. /*! @name CCBVID - CHA Cluster Block Version ID Register */
  12793. /*! @{ */
  12794. #define CAAM_CCBVID_AMNV_MASK (0xFFU)
  12795. #define CAAM_CCBVID_AMNV_SHIFT (0U)
  12796. #define CAAM_CCBVID_AMNV(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCBVID_AMNV_SHIFT)) & CAAM_CCBVID_AMNV_MASK)
  12797. #define CAAM_CCBVID_AMJV_MASK (0xFF00U)
  12798. #define CAAM_CCBVID_AMJV_SHIFT (8U)
  12799. #define CAAM_CCBVID_AMJV(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCBVID_AMJV_SHIFT)) & CAAM_CCBVID_AMJV_MASK)
  12800. #define CAAM_CCBVID_CAAM_ERA_MASK (0xFF000000U)
  12801. #define CAAM_CCBVID_CAAM_ERA_SHIFT (24U)
  12802. #define CAAM_CCBVID_CAAM_ERA(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCBVID_CAAM_ERA_SHIFT)) & CAAM_CCBVID_CAAM_ERA_MASK)
  12803. /*! @} */
  12804. /*! @name CHAVID_MS - CHA Version ID Register, most-significant half */
  12805. /*! @{ */
  12806. #define CAAM_CHAVID_MS_CRCVID_MASK (0xFU)
  12807. #define CAAM_CHAVID_MS_CRCVID_SHIFT (0U)
  12808. #define CAAM_CHAVID_MS_CRCVID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHAVID_MS_CRCVID_SHIFT)) & CAAM_CHAVID_MS_CRCVID_MASK)
  12809. #define CAAM_CHAVID_MS_SNW9VID_MASK (0xF0U)
  12810. #define CAAM_CHAVID_MS_SNW9VID_SHIFT (4U)
  12811. #define CAAM_CHAVID_MS_SNW9VID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHAVID_MS_SNW9VID_SHIFT)) & CAAM_CHAVID_MS_SNW9VID_MASK)
  12812. #define CAAM_CHAVID_MS_ZEVID_MASK (0xF00U)
  12813. #define CAAM_CHAVID_MS_ZEVID_SHIFT (8U)
  12814. #define CAAM_CHAVID_MS_ZEVID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHAVID_MS_ZEVID_SHIFT)) & CAAM_CHAVID_MS_ZEVID_MASK)
  12815. #define CAAM_CHAVID_MS_ZAVID_MASK (0xF000U)
  12816. #define CAAM_CHAVID_MS_ZAVID_SHIFT (12U)
  12817. #define CAAM_CHAVID_MS_ZAVID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHAVID_MS_ZAVID_SHIFT)) & CAAM_CHAVID_MS_ZAVID_MASK)
  12818. #define CAAM_CHAVID_MS_DECOVID_MASK (0xF000000U)
  12819. #define CAAM_CHAVID_MS_DECOVID_SHIFT (24U)
  12820. #define CAAM_CHAVID_MS_DECOVID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHAVID_MS_DECOVID_SHIFT)) & CAAM_CHAVID_MS_DECOVID_MASK)
  12821. #define CAAM_CHAVID_MS_JRVID_MASK (0xF0000000U)
  12822. #define CAAM_CHAVID_MS_JRVID_SHIFT (28U)
  12823. #define CAAM_CHAVID_MS_JRVID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHAVID_MS_JRVID_SHIFT)) & CAAM_CHAVID_MS_JRVID_MASK)
  12824. /*! @} */
  12825. /*! @name CHAVID_LS - CHA Version ID Register, least-significant half */
  12826. /*! @{ */
  12827. #define CAAM_CHAVID_LS_AESVID_MASK (0xFU)
  12828. #define CAAM_CHAVID_LS_AESVID_SHIFT (0U)
  12829. /*! AESVID
  12830. * 0b0100..High-performance AESA, implementing ECB, CBC, CBC-CS2, CFB128, OFB, CTR, CCM, CMAC, XCBC-MAC, CBCXCBC, CTRXCBC, XTS, and GCM modes
  12831. * 0b0011..Low-power AESA, implementing ECB, CBC, CBC-CS2, CFB128, OFB, CTR, CCM, CMAC, XCBC-MAC, and GCM modes
  12832. */
  12833. #define CAAM_CHAVID_LS_AESVID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHAVID_LS_AESVID_SHIFT)) & CAAM_CHAVID_LS_AESVID_MASK)
  12834. #define CAAM_CHAVID_LS_DESVID_MASK (0xF0U)
  12835. #define CAAM_CHAVID_LS_DESVID_SHIFT (4U)
  12836. #define CAAM_CHAVID_LS_DESVID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHAVID_LS_DESVID_SHIFT)) & CAAM_CHAVID_LS_DESVID_MASK)
  12837. #define CAAM_CHAVID_LS_MDVID_MASK (0xF000U)
  12838. #define CAAM_CHAVID_LS_MDVID_SHIFT (12U)
  12839. /*! MDVID
  12840. * 0b0000..Low-power MDHA, with SHA-1, SHA-256, SHA 224, MD5 and HMAC
  12841. * 0b0001..Low-power MDHA, with SHA-1, SHA-256, SHA 224, SHA-512, SHA-512/224, SHA-512/256, SHA-384, MD5 and HMAC
  12842. * 0b0010..Medium-performance MDHA, with SHA-1, SHA-256, SHA 224, SHA-512, SHA-512/224, SHA-512/256, SHA-384, MD5, HMAC & SMAC
  12843. * 0b0011..High-performance MDHA, with SHA-1, SHA-256, SHA 224, SHA-512, SHA-512/224, SHA-512/256, SHA-384, MD5, HMAC & SMAC
  12844. */
  12845. #define CAAM_CHAVID_LS_MDVID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHAVID_LS_MDVID_SHIFT)) & CAAM_CHAVID_LS_MDVID_MASK)
  12846. #define CAAM_CHAVID_LS_RNGVID_MASK (0xF0000U)
  12847. #define CAAM_CHAVID_LS_RNGVID_SHIFT (16U)
  12848. /*! RNGVID
  12849. * 0b0010..RNGB
  12850. * 0b0100..RNG4
  12851. */
  12852. #define CAAM_CHAVID_LS_RNGVID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHAVID_LS_RNGVID_SHIFT)) & CAAM_CHAVID_LS_RNGVID_MASK)
  12853. #define CAAM_CHAVID_LS_SNW8VID_MASK (0xF00000U)
  12854. #define CAAM_CHAVID_LS_SNW8VID_SHIFT (20U)
  12855. #define CAAM_CHAVID_LS_SNW8VID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHAVID_LS_SNW8VID_SHIFT)) & CAAM_CHAVID_LS_SNW8VID_MASK)
  12856. #define CAAM_CHAVID_LS_KASVID_MASK (0xF000000U)
  12857. #define CAAM_CHAVID_LS_KASVID_SHIFT (24U)
  12858. #define CAAM_CHAVID_LS_KASVID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHAVID_LS_KASVID_SHIFT)) & CAAM_CHAVID_LS_KASVID_MASK)
  12859. #define CAAM_CHAVID_LS_PKVID_MASK (0xF0000000U)
  12860. #define CAAM_CHAVID_LS_PKVID_SHIFT (28U)
  12861. /*! PKVID
  12862. * 0b0000..PKHA-XT (32-bit); minimum modulus five bytes
  12863. * 0b0001..PKHA-SD (32-bit)
  12864. * 0b0010..PKHA-SD (64-bit)
  12865. * 0b0011..PKHA-SD (128-bit)
  12866. */
  12867. #define CAAM_CHAVID_LS_PKVID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHAVID_LS_PKVID_SHIFT)) & CAAM_CHAVID_LS_PKVID_MASK)
  12868. /*! @} */
  12869. /*! @name CHANUM_MS - CHA Number Register, most-significant half */
  12870. /*! @{ */
  12871. #define CAAM_CHANUM_MS_CRCNUM_MASK (0xFU)
  12872. #define CAAM_CHANUM_MS_CRCNUM_SHIFT (0U)
  12873. #define CAAM_CHANUM_MS_CRCNUM(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHANUM_MS_CRCNUM_SHIFT)) & CAAM_CHANUM_MS_CRCNUM_MASK)
  12874. #define CAAM_CHANUM_MS_SNW9NUM_MASK (0xF0U)
  12875. #define CAAM_CHANUM_MS_SNW9NUM_SHIFT (4U)
  12876. #define CAAM_CHANUM_MS_SNW9NUM(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHANUM_MS_SNW9NUM_SHIFT)) & CAAM_CHANUM_MS_SNW9NUM_MASK)
  12877. #define CAAM_CHANUM_MS_ZENUM_MASK (0xF00U)
  12878. #define CAAM_CHANUM_MS_ZENUM_SHIFT (8U)
  12879. #define CAAM_CHANUM_MS_ZENUM(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHANUM_MS_ZENUM_SHIFT)) & CAAM_CHANUM_MS_ZENUM_MASK)
  12880. #define CAAM_CHANUM_MS_ZANUM_MASK (0xF000U)
  12881. #define CAAM_CHANUM_MS_ZANUM_SHIFT (12U)
  12882. #define CAAM_CHANUM_MS_ZANUM(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHANUM_MS_ZANUM_SHIFT)) & CAAM_CHANUM_MS_ZANUM_MASK)
  12883. #define CAAM_CHANUM_MS_DECONUM_MASK (0xF000000U)
  12884. #define CAAM_CHANUM_MS_DECONUM_SHIFT (24U)
  12885. #define CAAM_CHANUM_MS_DECONUM(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHANUM_MS_DECONUM_SHIFT)) & CAAM_CHANUM_MS_DECONUM_MASK)
  12886. #define CAAM_CHANUM_MS_JRNUM_MASK (0xF0000000U)
  12887. #define CAAM_CHANUM_MS_JRNUM_SHIFT (28U)
  12888. #define CAAM_CHANUM_MS_JRNUM(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHANUM_MS_JRNUM_SHIFT)) & CAAM_CHANUM_MS_JRNUM_MASK)
  12889. /*! @} */
  12890. /*! @name CHANUM_LS - CHA Number Register, least-significant half */
  12891. /*! @{ */
  12892. #define CAAM_CHANUM_LS_AESNUM_MASK (0xFU)
  12893. #define CAAM_CHANUM_LS_AESNUM_SHIFT (0U)
  12894. #define CAAM_CHANUM_LS_AESNUM(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHANUM_LS_AESNUM_SHIFT)) & CAAM_CHANUM_LS_AESNUM_MASK)
  12895. #define CAAM_CHANUM_LS_DESNUM_MASK (0xF0U)
  12896. #define CAAM_CHANUM_LS_DESNUM_SHIFT (4U)
  12897. #define CAAM_CHANUM_LS_DESNUM(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHANUM_LS_DESNUM_SHIFT)) & CAAM_CHANUM_LS_DESNUM_MASK)
  12898. #define CAAM_CHANUM_LS_ARC4NUM_MASK (0xF00U)
  12899. #define CAAM_CHANUM_LS_ARC4NUM_SHIFT (8U)
  12900. #define CAAM_CHANUM_LS_ARC4NUM(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHANUM_LS_ARC4NUM_SHIFT)) & CAAM_CHANUM_LS_ARC4NUM_MASK)
  12901. #define CAAM_CHANUM_LS_MDNUM_MASK (0xF000U)
  12902. #define CAAM_CHANUM_LS_MDNUM_SHIFT (12U)
  12903. #define CAAM_CHANUM_LS_MDNUM(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHANUM_LS_MDNUM_SHIFT)) & CAAM_CHANUM_LS_MDNUM_MASK)
  12904. #define CAAM_CHANUM_LS_RNGNUM_MASK (0xF0000U)
  12905. #define CAAM_CHANUM_LS_RNGNUM_SHIFT (16U)
  12906. #define CAAM_CHANUM_LS_RNGNUM(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHANUM_LS_RNGNUM_SHIFT)) & CAAM_CHANUM_LS_RNGNUM_MASK)
  12907. #define CAAM_CHANUM_LS_SNW8NUM_MASK (0xF00000U)
  12908. #define CAAM_CHANUM_LS_SNW8NUM_SHIFT (20U)
  12909. #define CAAM_CHANUM_LS_SNW8NUM(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHANUM_LS_SNW8NUM_SHIFT)) & CAAM_CHANUM_LS_SNW8NUM_MASK)
  12910. #define CAAM_CHANUM_LS_KASNUM_MASK (0xF000000U)
  12911. #define CAAM_CHANUM_LS_KASNUM_SHIFT (24U)
  12912. #define CAAM_CHANUM_LS_KASNUM(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHANUM_LS_KASNUM_SHIFT)) & CAAM_CHANUM_LS_KASNUM_MASK)
  12913. #define CAAM_CHANUM_LS_PKNUM_MASK (0xF0000000U)
  12914. #define CAAM_CHANUM_LS_PKNUM_SHIFT (28U)
  12915. #define CAAM_CHANUM_LS_PKNUM(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHANUM_LS_PKNUM_SHIFT)) & CAAM_CHANUM_LS_PKNUM_MASK)
  12916. /*! @} */
  12917. /*! @name IRBAR_JR - Input Ring Base Address Register for Job Ring 0..Input Ring Base Address Register for Job Ring 3 */
  12918. /*! @{ */
  12919. #define CAAM_IRBAR_JR_IRBA_MASK (0xFFFFFFFFFU)
  12920. #define CAAM_IRBAR_JR_IRBA_SHIFT (0U)
  12921. #define CAAM_IRBAR_JR_IRBA(x) (((uint64_t)(((uint64_t)(x)) << CAAM_IRBAR_JR_IRBA_SHIFT)) & CAAM_IRBAR_JR_IRBA_MASK)
  12922. /*! @} */
  12923. /* The count of CAAM_IRBAR_JR */
  12924. #define CAAM_IRBAR_JR_COUNT (4U)
  12925. /*! @name IRSR_JR - Input Ring Size Register for Job Ring 0..Input Ring Size Register for Job Ring 3 */
  12926. /*! @{ */
  12927. #define CAAM_IRSR_JR_IRS_MASK (0x3FFU)
  12928. #define CAAM_IRSR_JR_IRS_SHIFT (0U)
  12929. #define CAAM_IRSR_JR_IRS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_IRSR_JR_IRS_SHIFT)) & CAAM_IRSR_JR_IRS_MASK)
  12930. /*! @} */
  12931. /* The count of CAAM_IRSR_JR */
  12932. #define CAAM_IRSR_JR_COUNT (4U)
  12933. /*! @name IRSAR_JR - Input Ring Slots Available Register for Job Ring 0..Input Ring Slots Available Register for Job Ring 3 */
  12934. /*! @{ */
  12935. #define CAAM_IRSAR_JR_IRSA_MASK (0x3FFU)
  12936. #define CAAM_IRSAR_JR_IRSA_SHIFT (0U)
  12937. #define CAAM_IRSAR_JR_IRSA(x) (((uint32_t)(((uint32_t)(x)) << CAAM_IRSAR_JR_IRSA_SHIFT)) & CAAM_IRSAR_JR_IRSA_MASK)
  12938. /*! @} */
  12939. /* The count of CAAM_IRSAR_JR */
  12940. #define CAAM_IRSAR_JR_COUNT (4U)
  12941. /*! @name IRJAR_JR - Input Ring Jobs Added Register for Job Ring0..Input Ring Jobs Added Register for Job Ring3 */
  12942. /*! @{ */
  12943. #define CAAM_IRJAR_JR_IRJA_MASK (0x3FFU)
  12944. #define CAAM_IRJAR_JR_IRJA_SHIFT (0U)
  12945. #define CAAM_IRJAR_JR_IRJA(x) (((uint32_t)(((uint32_t)(x)) << CAAM_IRJAR_JR_IRJA_SHIFT)) & CAAM_IRJAR_JR_IRJA_MASK)
  12946. /*! @} */
  12947. /* The count of CAAM_IRJAR_JR */
  12948. #define CAAM_IRJAR_JR_COUNT (4U)
  12949. /*! @name ORBAR_JR - Output Ring Base Address Register for Job Ring 0..Output Ring Base Address Register for Job Ring 3 */
  12950. /*! @{ */
  12951. #define CAAM_ORBAR_JR_ORBA_MASK (0xFFFFFFFFFU)
  12952. #define CAAM_ORBAR_JR_ORBA_SHIFT (0U)
  12953. #define CAAM_ORBAR_JR_ORBA(x) (((uint64_t)(((uint64_t)(x)) << CAAM_ORBAR_JR_ORBA_SHIFT)) & CAAM_ORBAR_JR_ORBA_MASK)
  12954. /*! @} */
  12955. /* The count of CAAM_ORBAR_JR */
  12956. #define CAAM_ORBAR_JR_COUNT (4U)
  12957. /*! @name ORSR_JR - Output Ring Size Register for Job Ring 0..Output Ring Size Register for Job Ring 3 */
  12958. /*! @{ */
  12959. #define CAAM_ORSR_JR_ORS_MASK (0x3FFU)
  12960. #define CAAM_ORSR_JR_ORS_SHIFT (0U)
  12961. #define CAAM_ORSR_JR_ORS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_ORSR_JR_ORS_SHIFT)) & CAAM_ORSR_JR_ORS_MASK)
  12962. /*! @} */
  12963. /* The count of CAAM_ORSR_JR */
  12964. #define CAAM_ORSR_JR_COUNT (4U)
  12965. /*! @name ORJRR_JR - Output Ring Jobs Removed Register for Job Ring 0..Output Ring Jobs Removed Register for Job Ring 3 */
  12966. /*! @{ */
  12967. #define CAAM_ORJRR_JR_ORJR_MASK (0x3FFU)
  12968. #define CAAM_ORJRR_JR_ORJR_SHIFT (0U)
  12969. #define CAAM_ORJRR_JR_ORJR(x) (((uint32_t)(((uint32_t)(x)) << CAAM_ORJRR_JR_ORJR_SHIFT)) & CAAM_ORJRR_JR_ORJR_MASK)
  12970. /*! @} */
  12971. /* The count of CAAM_ORJRR_JR */
  12972. #define CAAM_ORJRR_JR_COUNT (4U)
  12973. /*! @name ORSFR_JR - Output Ring Slots Full Register for Job Ring 0..Output Ring Slots Full Register for Job Ring 3 */
  12974. /*! @{ */
  12975. #define CAAM_ORSFR_JR_ORSF_MASK (0x3FFU)
  12976. #define CAAM_ORSFR_JR_ORSF_SHIFT (0U)
  12977. #define CAAM_ORSFR_JR_ORSF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_ORSFR_JR_ORSF_SHIFT)) & CAAM_ORSFR_JR_ORSF_MASK)
  12978. /*! @} */
  12979. /* The count of CAAM_ORSFR_JR */
  12980. #define CAAM_ORSFR_JR_COUNT (4U)
  12981. /*! @name JRSTAR_JR - Job Ring Output Status Register for Job Ring 0..Job Ring Output Status Register for Job Ring 3 */
  12982. /*! @{ */
  12983. #define CAAM_JRSTAR_JR_SSED_MASK (0xFFFFFFFU)
  12984. #define CAAM_JRSTAR_JR_SSED_SHIFT (0U)
  12985. #define CAAM_JRSTAR_JR_SSED(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRSTAR_JR_SSED_SHIFT)) & CAAM_JRSTAR_JR_SSED_MASK)
  12986. #define CAAM_JRSTAR_JR_SSRC_MASK (0xF0000000U)
  12987. #define CAAM_JRSTAR_JR_SSRC_SHIFT (28U)
  12988. /*! SSRC
  12989. * 0b0000..No Status Source (No Error or Status Reported)
  12990. * 0b0001..Reserved
  12991. * 0b0010..CCB Status Source (CCB Error Reported)
  12992. * 0b0011..Jump Halt User Status Source (User-Provided Status Reported)
  12993. * 0b0100..DECO Status Source (DECO Error Reported)
  12994. * 0b0101..Reserved
  12995. * 0b0110..Job Ring Status Source (Job Ring Error Reported)
  12996. * 0b0111..Jump Halt Condition Codes (Condition Code Status Reported)
  12997. */
  12998. #define CAAM_JRSTAR_JR_SSRC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRSTAR_JR_SSRC_SHIFT)) & CAAM_JRSTAR_JR_SSRC_MASK)
  12999. /*! @} */
  13000. /* The count of CAAM_JRSTAR_JR */
  13001. #define CAAM_JRSTAR_JR_COUNT (4U)
  13002. /*! @name JRINTR_JR - Job Ring Interrupt Status Register for Job Ring 0..Job Ring Interrupt Status Register for Job Ring 3 */
  13003. /*! @{ */
  13004. #define CAAM_JRINTR_JR_JRI_MASK (0x1U)
  13005. #define CAAM_JRINTR_JR_JRI_SHIFT (0U)
  13006. #define CAAM_JRINTR_JR_JRI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRINTR_JR_JRI_SHIFT)) & CAAM_JRINTR_JR_JRI_MASK)
  13007. #define CAAM_JRINTR_JR_JRE_MASK (0x2U)
  13008. #define CAAM_JRINTR_JR_JRE_SHIFT (1U)
  13009. #define CAAM_JRINTR_JR_JRE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRINTR_JR_JRE_SHIFT)) & CAAM_JRINTR_JR_JRE_MASK)
  13010. #define CAAM_JRINTR_JR_HALT_MASK (0xCU)
  13011. #define CAAM_JRINTR_JR_HALT_SHIFT (2U)
  13012. #define CAAM_JRINTR_JR_HALT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRINTR_JR_HALT_SHIFT)) & CAAM_JRINTR_JR_HALT_MASK)
  13013. #define CAAM_JRINTR_JR_ENTER_FAIL_MASK (0x10U)
  13014. #define CAAM_JRINTR_JR_ENTER_FAIL_SHIFT (4U)
  13015. #define CAAM_JRINTR_JR_ENTER_FAIL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRINTR_JR_ENTER_FAIL_SHIFT)) & CAAM_JRINTR_JR_ENTER_FAIL_MASK)
  13016. #define CAAM_JRINTR_JR_EXIT_FAIL_MASK (0x20U)
  13017. #define CAAM_JRINTR_JR_EXIT_FAIL_SHIFT (5U)
  13018. #define CAAM_JRINTR_JR_EXIT_FAIL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRINTR_JR_EXIT_FAIL_SHIFT)) & CAAM_JRINTR_JR_EXIT_FAIL_MASK)
  13019. #define CAAM_JRINTR_JR_ERR_TYPE_MASK (0x1F00U)
  13020. #define CAAM_JRINTR_JR_ERR_TYPE_SHIFT (8U)
  13021. /*! ERR_TYPE
  13022. * 0b00001..Error writing status to Output Ring
  13023. * 0b00011..Bad input ring base address (not on a 4-byte boundary).
  13024. * 0b00100..Bad output ring base address (not on a 4-byte boundary).
  13025. * 0b00101..Invalid write to Input Ring Base Address Register or Input Ring Size Register. Can be written when
  13026. * there are no jobs in the input ring or when the Job Ring is halted. These are fatal and will likely
  13027. * result in not being able to get all jobs out into the output ring for processing by software. Resetting
  13028. * the job ring will almost certainly be necessary.
  13029. * 0b00110..Invalid write to Output Ring Base Address Register or Output Ring Size Register. Can be written when
  13030. * there are no jobs in the output ring and no jobs from this queue are already processing in CAAM (in
  13031. * the holding tanks or DECOs), or when the Job Ring is halted.
  13032. * 0b00111..Job Ring reset released before Job Ring is halted.
  13033. * 0b01000..Removed too many jobs (ORJRR larger than ORSFR).
  13034. * 0b01001..Added too many jobs (IRJAR larger than IRSAR).
  13035. * 0b01010..Writing ORSF > ORS In these error cases the write is ignored, the interrupt is asserted (unless
  13036. * masked) and the error bit and error_type fields are set in the Job Ring Interrupt Status Register.
  13037. * 0b01011..Writing IRSA > IRS
  13038. * 0b01100..Writing ORWI > ORS in bytes
  13039. * 0b01101..Writing IRRI > IRS in bytes
  13040. * 0b01110..Writing IRSA when ring is active
  13041. * 0b01111..Writing IRRI when ring is active
  13042. * 0b10000..Writing ORSF when ring is active
  13043. * 0b10001..Writing ORWI when ring is active
  13044. */
  13045. #define CAAM_JRINTR_JR_ERR_TYPE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRINTR_JR_ERR_TYPE_SHIFT)) & CAAM_JRINTR_JR_ERR_TYPE_MASK)
  13046. #define CAAM_JRINTR_JR_ERR_ORWI_MASK (0x3FFF0000U)
  13047. #define CAAM_JRINTR_JR_ERR_ORWI_SHIFT (16U)
  13048. #define CAAM_JRINTR_JR_ERR_ORWI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRINTR_JR_ERR_ORWI_SHIFT)) & CAAM_JRINTR_JR_ERR_ORWI_MASK)
  13049. /*! @} */
  13050. /* The count of CAAM_JRINTR_JR */
  13051. #define CAAM_JRINTR_JR_COUNT (4U)
  13052. /*! @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 */
  13053. /*! @{ */
  13054. #define CAAM_JRCFGR_JR_MS_MBSI_MASK (0x1U)
  13055. #define CAAM_JRCFGR_JR_MS_MBSI_SHIFT (0U)
  13056. #define CAAM_JRCFGR_JR_MS_MBSI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRCFGR_JR_MS_MBSI_SHIFT)) & CAAM_JRCFGR_JR_MS_MBSI_MASK)
  13057. #define CAAM_JRCFGR_JR_MS_MHWSI_MASK (0x2U)
  13058. #define CAAM_JRCFGR_JR_MS_MHWSI_SHIFT (1U)
  13059. #define CAAM_JRCFGR_JR_MS_MHWSI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRCFGR_JR_MS_MHWSI_SHIFT)) & CAAM_JRCFGR_JR_MS_MHWSI_MASK)
  13060. #define CAAM_JRCFGR_JR_MS_MWSI_MASK (0x4U)
  13061. #define CAAM_JRCFGR_JR_MS_MWSI_SHIFT (2U)
  13062. #define CAAM_JRCFGR_JR_MS_MWSI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRCFGR_JR_MS_MWSI_SHIFT)) & CAAM_JRCFGR_JR_MS_MWSI_MASK)
  13063. #define CAAM_JRCFGR_JR_MS_CBSI_MASK (0x10U)
  13064. #define CAAM_JRCFGR_JR_MS_CBSI_SHIFT (4U)
  13065. #define CAAM_JRCFGR_JR_MS_CBSI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRCFGR_JR_MS_CBSI_SHIFT)) & CAAM_JRCFGR_JR_MS_CBSI_MASK)
  13066. #define CAAM_JRCFGR_JR_MS_CHWSI_MASK (0x20U)
  13067. #define CAAM_JRCFGR_JR_MS_CHWSI_SHIFT (5U)
  13068. #define CAAM_JRCFGR_JR_MS_CHWSI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRCFGR_JR_MS_CHWSI_SHIFT)) & CAAM_JRCFGR_JR_MS_CHWSI_MASK)
  13069. #define CAAM_JRCFGR_JR_MS_CWSI_MASK (0x40U)
  13070. #define CAAM_JRCFGR_JR_MS_CWSI_SHIFT (6U)
  13071. #define CAAM_JRCFGR_JR_MS_CWSI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRCFGR_JR_MS_CWSI_SHIFT)) & CAAM_JRCFGR_JR_MS_CWSI_MASK)
  13072. #define CAAM_JRCFGR_JR_MS_MBSO_MASK (0x100U)
  13073. #define CAAM_JRCFGR_JR_MS_MBSO_SHIFT (8U)
  13074. #define CAAM_JRCFGR_JR_MS_MBSO(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRCFGR_JR_MS_MBSO_SHIFT)) & CAAM_JRCFGR_JR_MS_MBSO_MASK)
  13075. #define CAAM_JRCFGR_JR_MS_MHWSO_MASK (0x200U)
  13076. #define CAAM_JRCFGR_JR_MS_MHWSO_SHIFT (9U)
  13077. #define CAAM_JRCFGR_JR_MS_MHWSO(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRCFGR_JR_MS_MHWSO_SHIFT)) & CAAM_JRCFGR_JR_MS_MHWSO_MASK)
  13078. #define CAAM_JRCFGR_JR_MS_MWSO_MASK (0x400U)
  13079. #define CAAM_JRCFGR_JR_MS_MWSO_SHIFT (10U)
  13080. #define CAAM_JRCFGR_JR_MS_MWSO(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRCFGR_JR_MS_MWSO_SHIFT)) & CAAM_JRCFGR_JR_MS_MWSO_MASK)
  13081. #define CAAM_JRCFGR_JR_MS_CBSO_MASK (0x1000U)
  13082. #define CAAM_JRCFGR_JR_MS_CBSO_SHIFT (12U)
  13083. #define CAAM_JRCFGR_JR_MS_CBSO(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRCFGR_JR_MS_CBSO_SHIFT)) & CAAM_JRCFGR_JR_MS_CBSO_MASK)
  13084. #define CAAM_JRCFGR_JR_MS_CHWSO_MASK (0x2000U)
  13085. #define CAAM_JRCFGR_JR_MS_CHWSO_SHIFT (13U)
  13086. #define CAAM_JRCFGR_JR_MS_CHWSO(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRCFGR_JR_MS_CHWSO_SHIFT)) & CAAM_JRCFGR_JR_MS_CHWSO_MASK)
  13087. #define CAAM_JRCFGR_JR_MS_CWSO_MASK (0x4000U)
  13088. #define CAAM_JRCFGR_JR_MS_CWSO_SHIFT (14U)
  13089. #define CAAM_JRCFGR_JR_MS_CWSO(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRCFGR_JR_MS_CWSO_SHIFT)) & CAAM_JRCFGR_JR_MS_CWSO_MASK)
  13090. #define CAAM_JRCFGR_JR_MS_DMBS_MASK (0x10000U)
  13091. #define CAAM_JRCFGR_JR_MS_DMBS_SHIFT (16U)
  13092. #define CAAM_JRCFGR_JR_MS_DMBS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRCFGR_JR_MS_DMBS_SHIFT)) & CAAM_JRCFGR_JR_MS_DMBS_MASK)
  13093. #define CAAM_JRCFGR_JR_MS_PEO_MASK (0x20000U)
  13094. #define CAAM_JRCFGR_JR_MS_PEO_SHIFT (17U)
  13095. #define CAAM_JRCFGR_JR_MS_PEO(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRCFGR_JR_MS_PEO_SHIFT)) & CAAM_JRCFGR_JR_MS_PEO_MASK)
  13096. #define CAAM_JRCFGR_JR_MS_DWSO_MASK (0x40000U)
  13097. #define CAAM_JRCFGR_JR_MS_DWSO_SHIFT (18U)
  13098. #define CAAM_JRCFGR_JR_MS_DWSO(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRCFGR_JR_MS_DWSO_SHIFT)) & CAAM_JRCFGR_JR_MS_DWSO_MASK)
  13099. #define CAAM_JRCFGR_JR_MS_FAIL_MODE_MASK (0x20000000U)
  13100. #define CAAM_JRCFGR_JR_MS_FAIL_MODE_SHIFT (29U)
  13101. #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)
  13102. #define CAAM_JRCFGR_JR_MS_INCL_SEQ_OUT_MASK (0x40000000U)
  13103. #define CAAM_JRCFGR_JR_MS_INCL_SEQ_OUT_SHIFT (30U)
  13104. #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)
  13105. /*! @} */
  13106. /* The count of CAAM_JRCFGR_JR_MS */
  13107. #define CAAM_JRCFGR_JR_MS_COUNT (4U)
  13108. /*! @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 */
  13109. /*! @{ */
  13110. #define CAAM_JRCFGR_JR_LS_IMSK_MASK (0x1U)
  13111. #define CAAM_JRCFGR_JR_LS_IMSK_SHIFT (0U)
  13112. /*! IMSK
  13113. * 0b0..Interrupt enabled.
  13114. * 0b1..Interrupt masked.
  13115. */
  13116. #define CAAM_JRCFGR_JR_LS_IMSK(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRCFGR_JR_LS_IMSK_SHIFT)) & CAAM_JRCFGR_JR_LS_IMSK_MASK)
  13117. #define CAAM_JRCFGR_JR_LS_ICEN_MASK (0x2U)
  13118. #define CAAM_JRCFGR_JR_LS_ICEN_SHIFT (1U)
  13119. /*! ICEN
  13120. * 0b0..Interrupt coalescing is disabled. If the IMSK bit is cleared, an interrupt is asserted whenever a job is
  13121. * written to the output ring. ICDCT is ignored. Note that if software removes one or more jobs and clears
  13122. * the interrupt but the output rings slots full is still greater than 0 (ORSF > 0), then the interrupt will
  13123. * clear but reassert on the next clock cycle.
  13124. * 0b1..Interrupt coalescing is enabled. If the IMSK bit is cleared, an interrupt is asserted whenever the
  13125. * threshold number of frames is reached (ICDCT) or when the threshold timer expires (ICTT). Note that if software
  13126. * removes one or more jobs and clears the interrupt but the interrupt coalescing threshold is still met
  13127. * (ORSF >= ICDCT), then the interrupt will clear but reassert on the next clock cycle.
  13128. */
  13129. #define CAAM_JRCFGR_JR_LS_ICEN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRCFGR_JR_LS_ICEN_SHIFT)) & CAAM_JRCFGR_JR_LS_ICEN_MASK)
  13130. #define CAAM_JRCFGR_JR_LS_ICDCT_MASK (0xFF00U)
  13131. #define CAAM_JRCFGR_JR_LS_ICDCT_SHIFT (8U)
  13132. #define CAAM_JRCFGR_JR_LS_ICDCT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRCFGR_JR_LS_ICDCT_SHIFT)) & CAAM_JRCFGR_JR_LS_ICDCT_MASK)
  13133. #define CAAM_JRCFGR_JR_LS_ICTT_MASK (0xFFFF0000U)
  13134. #define CAAM_JRCFGR_JR_LS_ICTT_SHIFT (16U)
  13135. #define CAAM_JRCFGR_JR_LS_ICTT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRCFGR_JR_LS_ICTT_SHIFT)) & CAAM_JRCFGR_JR_LS_ICTT_MASK)
  13136. /*! @} */
  13137. /* The count of CAAM_JRCFGR_JR_LS */
  13138. #define CAAM_JRCFGR_JR_LS_COUNT (4U)
  13139. /*! @name IRRIR_JR - Input Ring Read Index Register for Job Ring 0..Input Ring Read Index Register for Job Ring 3 */
  13140. /*! @{ */
  13141. #define CAAM_IRRIR_JR_IRRI_MASK (0x1FFFU)
  13142. #define CAAM_IRRIR_JR_IRRI_SHIFT (0U)
  13143. #define CAAM_IRRIR_JR_IRRI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_IRRIR_JR_IRRI_SHIFT)) & CAAM_IRRIR_JR_IRRI_MASK)
  13144. /*! @} */
  13145. /* The count of CAAM_IRRIR_JR */
  13146. #define CAAM_IRRIR_JR_COUNT (4U)
  13147. /*! @name ORWIR_JR - Output Ring Write Index Register for Job Ring 0..Output Ring Write Index Register for Job Ring 3 */
  13148. /*! @{ */
  13149. #define CAAM_ORWIR_JR_ORWI_MASK (0x3FFFU)
  13150. #define CAAM_ORWIR_JR_ORWI_SHIFT (0U)
  13151. #define CAAM_ORWIR_JR_ORWI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_ORWIR_JR_ORWI_SHIFT)) & CAAM_ORWIR_JR_ORWI_MASK)
  13152. /*! @} */
  13153. /* The count of CAAM_ORWIR_JR */
  13154. #define CAAM_ORWIR_JR_COUNT (4U)
  13155. /*! @name JRCR_JR - Job Ring Command Register for Job Ring 0..Job Ring Command Register for Job Ring 3 */
  13156. /*! @{ */
  13157. #define CAAM_JRCR_JR_RESET_MASK (0x1U)
  13158. #define CAAM_JRCR_JR_RESET_SHIFT (0U)
  13159. #define CAAM_JRCR_JR_RESET(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRCR_JR_RESET_SHIFT)) & CAAM_JRCR_JR_RESET_MASK)
  13160. #define CAAM_JRCR_JR_PARK_MASK (0x2U)
  13161. #define CAAM_JRCR_JR_PARK_SHIFT (1U)
  13162. #define CAAM_JRCR_JR_PARK(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRCR_JR_PARK_SHIFT)) & CAAM_JRCR_JR_PARK_MASK)
  13163. /*! @} */
  13164. /* The count of CAAM_JRCR_JR */
  13165. #define CAAM_JRCR_JR_COUNT (4U)
  13166. /*! @name JRAAV - Job Ring 0 Address-Array Valid Register..Job Ring 3 Address-Array Valid Register */
  13167. /*! @{ */
  13168. #define CAAM_JRAAV_V0_MASK (0x1U)
  13169. #define CAAM_JRAAV_V0_SHIFT (0U)
  13170. #define CAAM_JRAAV_V0(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRAAV_V0_SHIFT)) & CAAM_JRAAV_V0_MASK)
  13171. #define CAAM_JRAAV_V1_MASK (0x2U)
  13172. #define CAAM_JRAAV_V1_SHIFT (1U)
  13173. #define CAAM_JRAAV_V1(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRAAV_V1_SHIFT)) & CAAM_JRAAV_V1_MASK)
  13174. #define CAAM_JRAAV_V2_MASK (0x4U)
  13175. #define CAAM_JRAAV_V2_SHIFT (2U)
  13176. #define CAAM_JRAAV_V2(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRAAV_V2_SHIFT)) & CAAM_JRAAV_V2_MASK)
  13177. #define CAAM_JRAAV_V3_MASK (0x8U)
  13178. #define CAAM_JRAAV_V3_SHIFT (3U)
  13179. #define CAAM_JRAAV_V3(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRAAV_V3_SHIFT)) & CAAM_JRAAV_V3_MASK)
  13180. #define CAAM_JRAAV_BC_MASK (0x80000000U)
  13181. #define CAAM_JRAAV_BC_SHIFT (31U)
  13182. #define CAAM_JRAAV_BC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRAAV_BC_SHIFT)) & CAAM_JRAAV_BC_MASK)
  13183. /*! @} */
  13184. /* The count of CAAM_JRAAV */
  13185. #define CAAM_JRAAV_COUNT (4U)
  13186. /*! @name JRAAA - Job Ring 0 Address-Array Address 0 Register..Job Ring 3 Address-Array Address 3 Register */
  13187. /*! @{ */
  13188. #define CAAM_JRAAA_JD_ADDR_MASK (0xFFFFFFFFFU)
  13189. #define CAAM_JRAAA_JD_ADDR_SHIFT (0U)
  13190. #define CAAM_JRAAA_JD_ADDR(x) (((uint64_t)(((uint64_t)(x)) << CAAM_JRAAA_JD_ADDR_SHIFT)) & CAAM_JRAAA_JD_ADDR_MASK)
  13191. /*! @} */
  13192. /* The count of CAAM_JRAAA */
  13193. #define CAAM_JRAAA_COUNT (4U)
  13194. /* The count of CAAM_JRAAA */
  13195. #define CAAM_JRAAA_COUNT2 (4U)
  13196. /*! @name PX_SDID_JR - Partition 0 SDID register..Partition 15 SDID register */
  13197. /*! @{ */
  13198. #define CAAM_PX_SDID_JR_SDID_MASK (0xFFFFU)
  13199. #define CAAM_PX_SDID_JR_SDID_SHIFT (0U)
  13200. #define CAAM_PX_SDID_JR_SDID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SDID_JR_SDID_SHIFT)) & CAAM_PX_SDID_JR_SDID_MASK)
  13201. /*! @} */
  13202. /* The count of CAAM_PX_SDID_JR */
  13203. #define CAAM_PX_SDID_JR_COUNT (4U)
  13204. /* The count of CAAM_PX_SDID_JR */
  13205. #define CAAM_PX_SDID_JR_COUNT2 (16U)
  13206. /*! @name PX_SMAPR_JR - Secure Memory Access Permissions register */
  13207. /*! @{ */
  13208. #define CAAM_PX_SMAPR_JR_G1_READ_MASK (0x1U)
  13209. #define CAAM_PX_SMAPR_JR_G1_READ_SHIFT (0U)
  13210. /*! G1_READ
  13211. * 0b0..Instruction fetches and reads are prohibited (except that Trusted Descriptor reads (if G1_TDO=1) and
  13212. * key-reads are always allowed, and exporting Secure Memory Blobs is allowed if G1_SMBLOB=1 or if done by a
  13213. * Trusted Descriptor and G1_TDO=1).
  13214. * 0b1..Instruction fetches and reads are allowed (but exporting a Secure Memory Blob is prohibited if
  13215. * G1_SMBLOB=0 and the descriptor is not a Trusted Descriptor or if G1_TDO=0).
  13216. */
  13217. #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)
  13218. #define CAAM_PX_SMAPR_JR_G1_WRITE_MASK (0x2U)
  13219. #define CAAM_PX_SMAPR_JR_G1_WRITE_SHIFT (1U)
  13220. /*! G1_WRITE
  13221. * 0b0..Writes are prohibited (except that Trusted Descriptor writes are allowed, and importing Secure Memory
  13222. * Blobs is allowed if G1_SMBLOB=1 or if done by a Trusted Descriptor and G1_TDO=1).
  13223. * 0b1..Writes are allowed (but importing a Secure Memory Blob is prohibited if G1_SMBLOB=0 and the descriptor is
  13224. * not a Trusted Descriptor or if G1_TDO=0).
  13225. */
  13226. #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)
  13227. #define CAAM_PX_SMAPR_JR_G1_TDO_MASK (0x4U)
  13228. #define CAAM_PX_SMAPR_JR_G1_TDO_SHIFT (2U)
  13229. /*! G1_TDO
  13230. * 0b0..Trusted Descriptors have the same access privileges as Job Descriptors
  13231. * 0b1..Trusted Descriptors are allowed to override the other access permissions, i.e. they can export blobs from
  13232. * or import blobs to the partition and read from and write to the partition regardless of the G1_SMBLOB,
  13233. * G1_WRITE and G1_READ settings.
  13234. */
  13235. #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)
  13236. #define CAAM_PX_SMAPR_JR_G1_SMBLOB_MASK (0x8U)
  13237. #define CAAM_PX_SMAPR_JR_G1_SMBLOB_SHIFT (3U)
  13238. /*! G1_SMBLOB
  13239. * 0b0..Exporting or importing Secure Memory Blobs is prohibited, unless done via a Trusted Descriptor and G1_TDO=1.
  13240. * 0b1..Exporting or importing Secure Memory Blobs is allowed, regardless of the G1_READ and G1_WRITE settings.
  13241. */
  13242. #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)
  13243. #define CAAM_PX_SMAPR_JR_G2_READ_MASK (0x10U)
  13244. #define CAAM_PX_SMAPR_JR_G2_READ_SHIFT (4U)
  13245. /*! G2_READ
  13246. * 0b0..Instruction fetches and reads are prohibited (except that Trusted Descriptor reads (if G2_TDO=1) and
  13247. * key-reads are always allowed, and exporting Secure Memory Blobs is allowed if G2_SMBLOB=1 or if done by a
  13248. * Trusted Descriptor and G2_TDO=1).
  13249. * 0b1..Instruction fetches and reads are allowed (but exporting a Secure Memory Blob is prohibited if
  13250. * G2_SMBLOB=0 and the descriptor is not a Trusted Descriptor or if G2_TDO=0).
  13251. */
  13252. #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)
  13253. #define CAAM_PX_SMAPR_JR_G2_WRITE_MASK (0x20U)
  13254. #define CAAM_PX_SMAPR_JR_G2_WRITE_SHIFT (5U)
  13255. /*! G2_WRITE
  13256. * 0b0..Writes are prohibited (except that Trusted Descriptor writes are allowed, and importing Secure Memory
  13257. * Blobs is allowed if G2_SMBLOB=1 or if done by a Trusted Descriptor and G2_TDO=1).
  13258. * 0b1..Writes are allowed (but importing a Secure Memory Blob is prohibited if G2_SMBLOB=0 and the descriptor is
  13259. * not a Trusted Descriptor or if G2_TDO=0).
  13260. */
  13261. #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)
  13262. #define CAAM_PX_SMAPR_JR_G2_TDO_MASK (0x40U)
  13263. #define CAAM_PX_SMAPR_JR_G2_TDO_SHIFT (6U)
  13264. /*! G2_TDO
  13265. * 0b0..Trusted Descriptors have the same access privileges as Job Descriptors
  13266. * 0b1..Trusted Descriptors are allowed to override the other access permissions, i.e. they can export blobs from
  13267. * or import blobs to the partition and read from and write to the partition regardless of the G2_SMBLOB,
  13268. * G2_WRITE and G2_READ settings.
  13269. */
  13270. #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)
  13271. #define CAAM_PX_SMAPR_JR_G2_SMBLOB_MASK (0x80U)
  13272. #define CAAM_PX_SMAPR_JR_G2_SMBLOB_SHIFT (7U)
  13273. /*! G2_SMBLOB
  13274. * 0b0..Exporting or importing Secure Memory Blobs is prohibited, unless done via a Trusted Descriptor and G2_TDO=1.
  13275. * 0b1..Exporting or importing Secure Memory Blobs is allowed, regardless of the G2_READ and G2_WRITE settings.
  13276. */
  13277. #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)
  13278. #define CAAM_PX_SMAPR_JR_SMAG_LCK_MASK (0x1000U)
  13279. #define CAAM_PX_SMAPR_JR_SMAG_LCK_SHIFT (12U)
  13280. /*! SMAG_LCK
  13281. * 0b0..The SMAG2JR register and SMAG1JR register are unlocked. The partition owner can change any writable bits of these registers.
  13282. * 0b1..The SMAG2JR register and SMAG1JR register are locked. The SMAG2JR and SMAG1JR registers cannot be changed
  13283. * until the partition is de-allocated or a POR occurs.
  13284. */
  13285. #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)
  13286. #define CAAM_PX_SMAPR_JR_SMAP_LCK_MASK (0x2000U)
  13287. #define CAAM_PX_SMAPR_JR_SMAP_LCK_SHIFT (13U)
  13288. /*! SMAP_LCK
  13289. * 0b0..The SMAP register is unlocked. The partition owner can change any writable bits of the SMAP register.
  13290. * 0b1..The SMAP register is locked. The SMAP_LCK, CSP and PSP bits and G1 and G2 permission bits of the SMAP
  13291. * register cannot be changed until the partition is de-allocated or a POR occurs. The PARTITION_KMOD value can
  13292. * still be changed. The SMAG_LCK bit can be changed to a 1, but cannot be changed to a 0.
  13293. */
  13294. #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)
  13295. #define CAAM_PX_SMAPR_JR_PSP_MASK (0x4000U)
  13296. #define CAAM_PX_SMAPR_JR_PSP_SHIFT (14U)
  13297. /*! PSP
  13298. * 0b0..The partition and any of the pages allocated to the partition can be de-allocated.
  13299. * 0b1..The partition cannot be de-allocated and the pages allocated to the partition cannot be de-allocated.
  13300. */
  13301. #define CAAM_PX_SMAPR_JR_PSP(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAPR_JR_PSP_SHIFT)) & CAAM_PX_SMAPR_JR_PSP_MASK)
  13302. #define CAAM_PX_SMAPR_JR_CSP_MASK (0x8000U)
  13303. #define CAAM_PX_SMAPR_JR_CSP_SHIFT (15U)
  13304. /*! CSP
  13305. * 0b0..The pages allocated to the partition will not be zeroized when they are de-allocated or the partition is
  13306. * released or a security alarm occurs.
  13307. * 0b1..The pages allocated to the partition will be zeroized when they are individually de-allocated or the
  13308. * partition is released or a security alarm occurs.
  13309. */
  13310. #define CAAM_PX_SMAPR_JR_CSP(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAPR_JR_CSP_SHIFT)) & CAAM_PX_SMAPR_JR_CSP_MASK)
  13311. #define CAAM_PX_SMAPR_JR_PARTITION_KMOD_MASK (0xFFFF0000U)
  13312. #define CAAM_PX_SMAPR_JR_PARTITION_KMOD_SHIFT (16U)
  13313. #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)
  13314. /*! @} */
  13315. /* The count of CAAM_PX_SMAPR_JR */
  13316. #define CAAM_PX_SMAPR_JR_COUNT (4U)
  13317. /* The count of CAAM_PX_SMAPR_JR */
  13318. #define CAAM_PX_SMAPR_JR_COUNT2 (16U)
  13319. /*! @name PX_SMAG2_JR - Secure Memory Access Group Registers */
  13320. /*! @{ */
  13321. #define CAAM_PX_SMAG2_JR_Gx_ID00_MASK (0x1U)
  13322. #define CAAM_PX_SMAG2_JR_Gx_ID00_SHIFT (0U)
  13323. #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)
  13324. #define CAAM_PX_SMAG2_JR_Gx_ID01_MASK (0x2U)
  13325. #define CAAM_PX_SMAG2_JR_Gx_ID01_SHIFT (1U)
  13326. #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)
  13327. #define CAAM_PX_SMAG2_JR_Gx_ID02_MASK (0x4U)
  13328. #define CAAM_PX_SMAG2_JR_Gx_ID02_SHIFT (2U)
  13329. #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)
  13330. #define CAAM_PX_SMAG2_JR_Gx_ID03_MASK (0x8U)
  13331. #define CAAM_PX_SMAG2_JR_Gx_ID03_SHIFT (3U)
  13332. #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)
  13333. #define CAAM_PX_SMAG2_JR_Gx_ID04_MASK (0x10U)
  13334. #define CAAM_PX_SMAG2_JR_Gx_ID04_SHIFT (4U)
  13335. #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)
  13336. #define CAAM_PX_SMAG2_JR_Gx_ID05_MASK (0x20U)
  13337. #define CAAM_PX_SMAG2_JR_Gx_ID05_SHIFT (5U)
  13338. #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)
  13339. #define CAAM_PX_SMAG2_JR_Gx_ID06_MASK (0x40U)
  13340. #define CAAM_PX_SMAG2_JR_Gx_ID06_SHIFT (6U)
  13341. #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)
  13342. #define CAAM_PX_SMAG2_JR_Gx_ID07_MASK (0x80U)
  13343. #define CAAM_PX_SMAG2_JR_Gx_ID07_SHIFT (7U)
  13344. #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)
  13345. #define CAAM_PX_SMAG2_JR_Gx_ID08_MASK (0x100U)
  13346. #define CAAM_PX_SMAG2_JR_Gx_ID08_SHIFT (8U)
  13347. #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)
  13348. #define CAAM_PX_SMAG2_JR_Gx_ID09_MASK (0x200U)
  13349. #define CAAM_PX_SMAG2_JR_Gx_ID09_SHIFT (9U)
  13350. #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)
  13351. #define CAAM_PX_SMAG2_JR_Gx_ID10_MASK (0x400U)
  13352. #define CAAM_PX_SMAG2_JR_Gx_ID10_SHIFT (10U)
  13353. #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)
  13354. #define CAAM_PX_SMAG2_JR_Gx_ID11_MASK (0x800U)
  13355. #define CAAM_PX_SMAG2_JR_Gx_ID11_SHIFT (11U)
  13356. #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)
  13357. #define CAAM_PX_SMAG2_JR_Gx_ID12_MASK (0x1000U)
  13358. #define CAAM_PX_SMAG2_JR_Gx_ID12_SHIFT (12U)
  13359. #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)
  13360. #define CAAM_PX_SMAG2_JR_Gx_ID13_MASK (0x2000U)
  13361. #define CAAM_PX_SMAG2_JR_Gx_ID13_SHIFT (13U)
  13362. #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)
  13363. #define CAAM_PX_SMAG2_JR_Gx_ID14_MASK (0x4000U)
  13364. #define CAAM_PX_SMAG2_JR_Gx_ID14_SHIFT (14U)
  13365. #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)
  13366. #define CAAM_PX_SMAG2_JR_Gx_ID15_MASK (0x8000U)
  13367. #define CAAM_PX_SMAG2_JR_Gx_ID15_SHIFT (15U)
  13368. #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)
  13369. #define CAAM_PX_SMAG2_JR_Gx_ID16_MASK (0x10000U)
  13370. #define CAAM_PX_SMAG2_JR_Gx_ID16_SHIFT (16U)
  13371. #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)
  13372. #define CAAM_PX_SMAG2_JR_Gx_ID17_MASK (0x20000U)
  13373. #define CAAM_PX_SMAG2_JR_Gx_ID17_SHIFT (17U)
  13374. #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)
  13375. #define CAAM_PX_SMAG2_JR_Gx_ID18_MASK (0x40000U)
  13376. #define CAAM_PX_SMAG2_JR_Gx_ID18_SHIFT (18U)
  13377. #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)
  13378. #define CAAM_PX_SMAG2_JR_Gx_ID19_MASK (0x80000U)
  13379. #define CAAM_PX_SMAG2_JR_Gx_ID19_SHIFT (19U)
  13380. #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)
  13381. #define CAAM_PX_SMAG2_JR_Gx_ID20_MASK (0x100000U)
  13382. #define CAAM_PX_SMAG2_JR_Gx_ID20_SHIFT (20U)
  13383. #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)
  13384. #define CAAM_PX_SMAG2_JR_Gx_ID21_MASK (0x200000U)
  13385. #define CAAM_PX_SMAG2_JR_Gx_ID21_SHIFT (21U)
  13386. #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)
  13387. #define CAAM_PX_SMAG2_JR_Gx_ID22_MASK (0x400000U)
  13388. #define CAAM_PX_SMAG2_JR_Gx_ID22_SHIFT (22U)
  13389. #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)
  13390. #define CAAM_PX_SMAG2_JR_Gx_ID23_MASK (0x800000U)
  13391. #define CAAM_PX_SMAG2_JR_Gx_ID23_SHIFT (23U)
  13392. #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)
  13393. #define CAAM_PX_SMAG2_JR_Gx_ID24_MASK (0x1000000U)
  13394. #define CAAM_PX_SMAG2_JR_Gx_ID24_SHIFT (24U)
  13395. #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)
  13396. #define CAAM_PX_SMAG2_JR_Gx_ID25_MASK (0x2000000U)
  13397. #define CAAM_PX_SMAG2_JR_Gx_ID25_SHIFT (25U)
  13398. #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)
  13399. #define CAAM_PX_SMAG2_JR_Gx_ID26_MASK (0x4000000U)
  13400. #define CAAM_PX_SMAG2_JR_Gx_ID26_SHIFT (26U)
  13401. #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)
  13402. #define CAAM_PX_SMAG2_JR_Gx_ID27_MASK (0x8000000U)
  13403. #define CAAM_PX_SMAG2_JR_Gx_ID27_SHIFT (27U)
  13404. #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)
  13405. #define CAAM_PX_SMAG2_JR_Gx_ID28_MASK (0x10000000U)
  13406. #define CAAM_PX_SMAG2_JR_Gx_ID28_SHIFT (28U)
  13407. #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)
  13408. #define CAAM_PX_SMAG2_JR_Gx_ID29_MASK (0x20000000U)
  13409. #define CAAM_PX_SMAG2_JR_Gx_ID29_SHIFT (29U)
  13410. #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)
  13411. #define CAAM_PX_SMAG2_JR_Gx_ID30_MASK (0x40000000U)
  13412. #define CAAM_PX_SMAG2_JR_Gx_ID30_SHIFT (30U)
  13413. #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)
  13414. #define CAAM_PX_SMAG2_JR_Gx_ID31_MASK (0x80000000U)
  13415. #define CAAM_PX_SMAG2_JR_Gx_ID31_SHIFT (31U)
  13416. #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)
  13417. /*! @} */
  13418. /* The count of CAAM_PX_SMAG2_JR */
  13419. #define CAAM_PX_SMAG2_JR_COUNT (4U)
  13420. /* The count of CAAM_PX_SMAG2_JR */
  13421. #define CAAM_PX_SMAG2_JR_COUNT2 (16U)
  13422. /*! @name PX_SMAG1_JR - Secure Memory Access Group Registers */
  13423. /*! @{ */
  13424. #define CAAM_PX_SMAG1_JR_Gx_ID00_MASK (0x1U)
  13425. #define CAAM_PX_SMAG1_JR_Gx_ID00_SHIFT (0U)
  13426. #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)
  13427. #define CAAM_PX_SMAG1_JR_Gx_ID01_MASK (0x2U)
  13428. #define CAAM_PX_SMAG1_JR_Gx_ID01_SHIFT (1U)
  13429. #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)
  13430. #define CAAM_PX_SMAG1_JR_Gx_ID02_MASK (0x4U)
  13431. #define CAAM_PX_SMAG1_JR_Gx_ID02_SHIFT (2U)
  13432. #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)
  13433. #define CAAM_PX_SMAG1_JR_Gx_ID03_MASK (0x8U)
  13434. #define CAAM_PX_SMAG1_JR_Gx_ID03_SHIFT (3U)
  13435. #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)
  13436. #define CAAM_PX_SMAG1_JR_Gx_ID04_MASK (0x10U)
  13437. #define CAAM_PX_SMAG1_JR_Gx_ID04_SHIFT (4U)
  13438. #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)
  13439. #define CAAM_PX_SMAG1_JR_Gx_ID05_MASK (0x20U)
  13440. #define CAAM_PX_SMAG1_JR_Gx_ID05_SHIFT (5U)
  13441. #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)
  13442. #define CAAM_PX_SMAG1_JR_Gx_ID06_MASK (0x40U)
  13443. #define CAAM_PX_SMAG1_JR_Gx_ID06_SHIFT (6U)
  13444. #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)
  13445. #define CAAM_PX_SMAG1_JR_Gx_ID07_MASK (0x80U)
  13446. #define CAAM_PX_SMAG1_JR_Gx_ID07_SHIFT (7U)
  13447. #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)
  13448. #define CAAM_PX_SMAG1_JR_Gx_ID08_MASK (0x100U)
  13449. #define CAAM_PX_SMAG1_JR_Gx_ID08_SHIFT (8U)
  13450. #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)
  13451. #define CAAM_PX_SMAG1_JR_Gx_ID09_MASK (0x200U)
  13452. #define CAAM_PX_SMAG1_JR_Gx_ID09_SHIFT (9U)
  13453. #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)
  13454. #define CAAM_PX_SMAG1_JR_Gx_ID10_MASK (0x400U)
  13455. #define CAAM_PX_SMAG1_JR_Gx_ID10_SHIFT (10U)
  13456. #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)
  13457. #define CAAM_PX_SMAG1_JR_Gx_ID11_MASK (0x800U)
  13458. #define CAAM_PX_SMAG1_JR_Gx_ID11_SHIFT (11U)
  13459. #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)
  13460. #define CAAM_PX_SMAG1_JR_Gx_ID12_MASK (0x1000U)
  13461. #define CAAM_PX_SMAG1_JR_Gx_ID12_SHIFT (12U)
  13462. #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)
  13463. #define CAAM_PX_SMAG1_JR_Gx_ID13_MASK (0x2000U)
  13464. #define CAAM_PX_SMAG1_JR_Gx_ID13_SHIFT (13U)
  13465. #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)
  13466. #define CAAM_PX_SMAG1_JR_Gx_ID14_MASK (0x4000U)
  13467. #define CAAM_PX_SMAG1_JR_Gx_ID14_SHIFT (14U)
  13468. #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)
  13469. #define CAAM_PX_SMAG1_JR_Gx_ID15_MASK (0x8000U)
  13470. #define CAAM_PX_SMAG1_JR_Gx_ID15_SHIFT (15U)
  13471. #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)
  13472. #define CAAM_PX_SMAG1_JR_Gx_ID16_MASK (0x10000U)
  13473. #define CAAM_PX_SMAG1_JR_Gx_ID16_SHIFT (16U)
  13474. #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)
  13475. #define CAAM_PX_SMAG1_JR_Gx_ID17_MASK (0x20000U)
  13476. #define CAAM_PX_SMAG1_JR_Gx_ID17_SHIFT (17U)
  13477. #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)
  13478. #define CAAM_PX_SMAG1_JR_Gx_ID18_MASK (0x40000U)
  13479. #define CAAM_PX_SMAG1_JR_Gx_ID18_SHIFT (18U)
  13480. #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)
  13481. #define CAAM_PX_SMAG1_JR_Gx_ID19_MASK (0x80000U)
  13482. #define CAAM_PX_SMAG1_JR_Gx_ID19_SHIFT (19U)
  13483. #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)
  13484. #define CAAM_PX_SMAG1_JR_Gx_ID20_MASK (0x100000U)
  13485. #define CAAM_PX_SMAG1_JR_Gx_ID20_SHIFT (20U)
  13486. #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)
  13487. #define CAAM_PX_SMAG1_JR_Gx_ID21_MASK (0x200000U)
  13488. #define CAAM_PX_SMAG1_JR_Gx_ID21_SHIFT (21U)
  13489. #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)
  13490. #define CAAM_PX_SMAG1_JR_Gx_ID22_MASK (0x400000U)
  13491. #define CAAM_PX_SMAG1_JR_Gx_ID22_SHIFT (22U)
  13492. #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)
  13493. #define CAAM_PX_SMAG1_JR_Gx_ID23_MASK (0x800000U)
  13494. #define CAAM_PX_SMAG1_JR_Gx_ID23_SHIFT (23U)
  13495. #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)
  13496. #define CAAM_PX_SMAG1_JR_Gx_ID24_MASK (0x1000000U)
  13497. #define CAAM_PX_SMAG1_JR_Gx_ID24_SHIFT (24U)
  13498. #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)
  13499. #define CAAM_PX_SMAG1_JR_Gx_ID25_MASK (0x2000000U)
  13500. #define CAAM_PX_SMAG1_JR_Gx_ID25_SHIFT (25U)
  13501. #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)
  13502. #define CAAM_PX_SMAG1_JR_Gx_ID26_MASK (0x4000000U)
  13503. #define CAAM_PX_SMAG1_JR_Gx_ID26_SHIFT (26U)
  13504. #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)
  13505. #define CAAM_PX_SMAG1_JR_Gx_ID27_MASK (0x8000000U)
  13506. #define CAAM_PX_SMAG1_JR_Gx_ID27_SHIFT (27U)
  13507. #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)
  13508. #define CAAM_PX_SMAG1_JR_Gx_ID28_MASK (0x10000000U)
  13509. #define CAAM_PX_SMAG1_JR_Gx_ID28_SHIFT (28U)
  13510. #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)
  13511. #define CAAM_PX_SMAG1_JR_Gx_ID29_MASK (0x20000000U)
  13512. #define CAAM_PX_SMAG1_JR_Gx_ID29_SHIFT (29U)
  13513. #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)
  13514. #define CAAM_PX_SMAG1_JR_Gx_ID30_MASK (0x40000000U)
  13515. #define CAAM_PX_SMAG1_JR_Gx_ID30_SHIFT (30U)
  13516. #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)
  13517. #define CAAM_PX_SMAG1_JR_Gx_ID31_MASK (0x80000000U)
  13518. #define CAAM_PX_SMAG1_JR_Gx_ID31_SHIFT (31U)
  13519. #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)
  13520. /*! @} */
  13521. /* The count of CAAM_PX_SMAG1_JR */
  13522. #define CAAM_PX_SMAG1_JR_COUNT (4U)
  13523. /* The count of CAAM_PX_SMAG1_JR */
  13524. #define CAAM_PX_SMAG1_JR_COUNT2 (16U)
  13525. /*! @name SMCR_JR - Secure Memory Command Register */
  13526. /*! @{ */
  13527. #define CAAM_SMCR_JR_CMD_MASK (0xFU)
  13528. #define CAAM_SMCR_JR_CMD_SHIFT (0U)
  13529. #define CAAM_SMCR_JR_CMD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMCR_JR_CMD_SHIFT)) & CAAM_SMCR_JR_CMD_MASK)
  13530. #define CAAM_SMCR_JR_PRTN_MASK (0xF00U)
  13531. #define CAAM_SMCR_JR_PRTN_SHIFT (8U)
  13532. #define CAAM_SMCR_JR_PRTN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMCR_JR_PRTN_SHIFT)) & CAAM_SMCR_JR_PRTN_MASK)
  13533. #define CAAM_SMCR_JR_PAGE_MASK (0xFFFF0000U)
  13534. #define CAAM_SMCR_JR_PAGE_SHIFT (16U)
  13535. #define CAAM_SMCR_JR_PAGE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMCR_JR_PAGE_SHIFT)) & CAAM_SMCR_JR_PAGE_MASK)
  13536. /*! @} */
  13537. /* The count of CAAM_SMCR_JR */
  13538. #define CAAM_SMCR_JR_COUNT (4U)
  13539. /*! @name SMCSR_JR - Secure Memory Command Status Register */
  13540. /*! @{ */
  13541. #define CAAM_SMCSR_JR_PRTN_MASK (0xFU)
  13542. #define CAAM_SMCSR_JR_PRTN_SHIFT (0U)
  13543. #define CAAM_SMCSR_JR_PRTN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMCSR_JR_PRTN_SHIFT)) & CAAM_SMCSR_JR_PRTN_MASK)
  13544. #define CAAM_SMCSR_JR_PO_MASK (0xC0U)
  13545. #define CAAM_SMCSR_JR_PO_SHIFT (6U)
  13546. /*! PO
  13547. * 0b00..Available; Unowned: The entity that issued the inquiry may allocate this page to a partition. No
  13548. * zeroization is needed since it has already been cleared, therefore no interrupt should be expected.
  13549. * 0b01..Page does not exist in this version or is not initialized yet.
  13550. * 0b10..Another entity owns the page. This page is unavailable to the issuer of the inquiry.
  13551. * 0b11..Owned by the entity making the inquiry. The owner may de-allocate this page if its partition is not
  13552. * marked PSP. If the partition to which the page is allocated is designated as CSP, the page will be zeroized
  13553. * upon de-allocation.
  13554. */
  13555. #define CAAM_SMCSR_JR_PO(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMCSR_JR_PO_SHIFT)) & CAAM_SMCSR_JR_PO_MASK)
  13556. #define CAAM_SMCSR_JR_AERR_MASK (0x3000U)
  13557. #define CAAM_SMCSR_JR_AERR_SHIFT (12U)
  13558. #define CAAM_SMCSR_JR_AERR(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMCSR_JR_AERR_SHIFT)) & CAAM_SMCSR_JR_AERR_MASK)
  13559. #define CAAM_SMCSR_JR_CERR_MASK (0xC000U)
  13560. #define CAAM_SMCSR_JR_CERR_SHIFT (14U)
  13561. /*! CERR
  13562. * 0b00..No Error.
  13563. * 0b01..Command has not yet completed.
  13564. * 0b10..A security failure occurred.
  13565. * 0b11..Command Overflow. Another command was issued by the same Job Ring owner before the owner's previous
  13566. * command completed. The additional command was ignored.
  13567. */
  13568. #define CAAM_SMCSR_JR_CERR(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMCSR_JR_CERR_SHIFT)) & CAAM_SMCSR_JR_CERR_MASK)
  13569. #define CAAM_SMCSR_JR_PAGE_MASK (0xFFF0000U)
  13570. #define CAAM_SMCSR_JR_PAGE_SHIFT (16U)
  13571. #define CAAM_SMCSR_JR_PAGE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMCSR_JR_PAGE_SHIFT)) & CAAM_SMCSR_JR_PAGE_MASK)
  13572. /*! @} */
  13573. /* The count of CAAM_SMCSR_JR */
  13574. #define CAAM_SMCSR_JR_COUNT (4U)
  13575. /*! @name REIR0JR - Recoverable Error Interrupt Record 0 for Job Ring 0..Recoverable Error Interrupt Record 0 for Job Ring 3 */
  13576. /*! @{ */
  13577. #define CAAM_REIR0JR_TYPE_MASK (0x3000000U)
  13578. #define CAAM_REIR0JR_TYPE_SHIFT (24U)
  13579. #define CAAM_REIR0JR_TYPE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR0JR_TYPE_SHIFT)) & CAAM_REIR0JR_TYPE_MASK)
  13580. #define CAAM_REIR0JR_MISS_MASK (0x80000000U)
  13581. #define CAAM_REIR0JR_MISS_SHIFT (31U)
  13582. #define CAAM_REIR0JR_MISS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR0JR_MISS_SHIFT)) & CAAM_REIR0JR_MISS_MASK)
  13583. /*! @} */
  13584. /* The count of CAAM_REIR0JR */
  13585. #define CAAM_REIR0JR_COUNT (4U)
  13586. /*! @name REIR2JR - Recoverable Error Interrupt Record 2 for Job Ring 0..Recoverable Error Interrupt Record 2 for Job Ring 3 */
  13587. /*! @{ */
  13588. #define CAAM_REIR2JR_ADDR_MASK (0xFFFFFFFFFU)
  13589. #define CAAM_REIR2JR_ADDR_SHIFT (0U)
  13590. #define CAAM_REIR2JR_ADDR(x) (((uint64_t)(((uint64_t)(x)) << CAAM_REIR2JR_ADDR_SHIFT)) & CAAM_REIR2JR_ADDR_MASK)
  13591. /*! @} */
  13592. /* The count of CAAM_REIR2JR */
  13593. #define CAAM_REIR2JR_COUNT (4U)
  13594. /*! @name REIR4JR - Recoverable Error Interrupt Record 4 for Job Ring 0..Recoverable Error Interrupt Record 4 for Job Ring 3 */
  13595. /*! @{ */
  13596. #define CAAM_REIR4JR_ICID_MASK (0x7FFU)
  13597. #define CAAM_REIR4JR_ICID_SHIFT (0U)
  13598. #define CAAM_REIR4JR_ICID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR4JR_ICID_SHIFT)) & CAAM_REIR4JR_ICID_MASK)
  13599. #define CAAM_REIR4JR_DID_MASK (0x7800U)
  13600. #define CAAM_REIR4JR_DID_SHIFT (11U)
  13601. #define CAAM_REIR4JR_DID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR4JR_DID_SHIFT)) & CAAM_REIR4JR_DID_MASK)
  13602. #define CAAM_REIR4JR_AXCACHE_MASK (0xF0000U)
  13603. #define CAAM_REIR4JR_AXCACHE_SHIFT (16U)
  13604. #define CAAM_REIR4JR_AXCACHE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR4JR_AXCACHE_SHIFT)) & CAAM_REIR4JR_AXCACHE_MASK)
  13605. #define CAAM_REIR4JR_AXPROT_MASK (0x700000U)
  13606. #define CAAM_REIR4JR_AXPROT_SHIFT (20U)
  13607. #define CAAM_REIR4JR_AXPROT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR4JR_AXPROT_SHIFT)) & CAAM_REIR4JR_AXPROT_MASK)
  13608. #define CAAM_REIR4JR_RWB_MASK (0x800000U)
  13609. #define CAAM_REIR4JR_RWB_SHIFT (23U)
  13610. #define CAAM_REIR4JR_RWB(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR4JR_RWB_SHIFT)) & CAAM_REIR4JR_RWB_MASK)
  13611. #define CAAM_REIR4JR_ERR_MASK (0x30000000U)
  13612. #define CAAM_REIR4JR_ERR_SHIFT (28U)
  13613. #define CAAM_REIR4JR_ERR(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR4JR_ERR_SHIFT)) & CAAM_REIR4JR_ERR_MASK)
  13614. #define CAAM_REIR4JR_MIX_MASK (0xC0000000U)
  13615. #define CAAM_REIR4JR_MIX_SHIFT (30U)
  13616. #define CAAM_REIR4JR_MIX(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR4JR_MIX_SHIFT)) & CAAM_REIR4JR_MIX_MASK)
  13617. /*! @} */
  13618. /* The count of CAAM_REIR4JR */
  13619. #define CAAM_REIR4JR_COUNT (4U)
  13620. /*! @name REIR5JR - Recoverable Error Interrupt Record 5 for Job Ring 0..Recoverable Error Interrupt Record 5 for Job Ring 3 */
  13621. /*! @{ */
  13622. #define CAAM_REIR5JR_BID_MASK (0xF0000U)
  13623. #define CAAM_REIR5JR_BID_SHIFT (16U)
  13624. #define CAAM_REIR5JR_BID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR5JR_BID_SHIFT)) & CAAM_REIR5JR_BID_MASK)
  13625. #define CAAM_REIR5JR_BNDG_MASK (0x2000000U)
  13626. #define CAAM_REIR5JR_BNDG_SHIFT (25U)
  13627. #define CAAM_REIR5JR_BNDG(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR5JR_BNDG_SHIFT)) & CAAM_REIR5JR_BNDG_MASK)
  13628. #define CAAM_REIR5JR_TDSC_MASK (0x4000000U)
  13629. #define CAAM_REIR5JR_TDSC_SHIFT (26U)
  13630. #define CAAM_REIR5JR_TDSC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR5JR_TDSC_SHIFT)) & CAAM_REIR5JR_TDSC_MASK)
  13631. #define CAAM_REIR5JR_KMOD_MASK (0x8000000U)
  13632. #define CAAM_REIR5JR_KMOD_SHIFT (27U)
  13633. #define CAAM_REIR5JR_KMOD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR5JR_KMOD_SHIFT)) & CAAM_REIR5JR_KMOD_MASK)
  13634. #define CAAM_REIR5JR_KEY_MASK (0x10000000U)
  13635. #define CAAM_REIR5JR_KEY_SHIFT (28U)
  13636. #define CAAM_REIR5JR_KEY(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR5JR_KEY_SHIFT)) & CAAM_REIR5JR_KEY_MASK)
  13637. #define CAAM_REIR5JR_SMA_MASK (0x20000000U)
  13638. #define CAAM_REIR5JR_SMA_SHIFT (29U)
  13639. #define CAAM_REIR5JR_SMA(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR5JR_SMA_SHIFT)) & CAAM_REIR5JR_SMA_MASK)
  13640. /*! @} */
  13641. /* The count of CAAM_REIR5JR */
  13642. #define CAAM_REIR5JR_COUNT (4U)
  13643. /*! @name RSTA - RTIC Status Register */
  13644. /*! @{ */
  13645. #define CAAM_RSTA_BSY_MASK (0x1U)
  13646. #define CAAM_RSTA_BSY_SHIFT (0U)
  13647. /*! BSY
  13648. * 0b0..RTIC Idle.
  13649. * 0b1..RTIC Busy.
  13650. */
  13651. #define CAAM_RSTA_BSY(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RSTA_BSY_SHIFT)) & CAAM_RSTA_BSY_MASK)
  13652. #define CAAM_RSTA_HD_MASK (0x2U)
  13653. #define CAAM_RSTA_HD_SHIFT (1U)
  13654. /*! HD
  13655. * 0b0..Boot authentication disabled
  13656. * 0b1..Authenticate code/generate reference hash value. This bit cannot be modified during run-time checking mode.
  13657. */
  13658. #define CAAM_RSTA_HD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RSTA_HD_SHIFT)) & CAAM_RSTA_HD_MASK)
  13659. #define CAAM_RSTA_SV_MASK (0x4U)
  13660. #define CAAM_RSTA_SV_SHIFT (2U)
  13661. /*! SV
  13662. * 0b0..Memory block contents authenticated.
  13663. * 0b1..Memory block hash doesn't match reference value.
  13664. */
  13665. #define CAAM_RSTA_SV(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RSTA_SV_SHIFT)) & CAAM_RSTA_SV_MASK)
  13666. #define CAAM_RSTA_HE_MASK (0x8U)
  13667. #define CAAM_RSTA_HE_SHIFT (3U)
  13668. /*! HE
  13669. * 0b0..Memory block contents authenticated.
  13670. * 0b1..Memory block hash doesn't match reference value.
  13671. */
  13672. #define CAAM_RSTA_HE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RSTA_HE_SHIFT)) & CAAM_RSTA_HE_MASK)
  13673. #define CAAM_RSTA_MIS_MASK (0xF0U)
  13674. #define CAAM_RSTA_MIS_SHIFT (4U)
  13675. /*! MIS
  13676. * 0b0000..Memory Block X is valid or state unknown
  13677. * 0b0001..Memory Block X has been corrupted
  13678. */
  13679. #define CAAM_RSTA_MIS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RSTA_MIS_SHIFT)) & CAAM_RSTA_MIS_MASK)
  13680. #define CAAM_RSTA_AE_MASK (0xF00U)
  13681. #define CAAM_RSTA_AE_SHIFT (8U)
  13682. /*! AE
  13683. * 0b0000..All reads by RTIC were valid.
  13684. * 0b0001..An illegal address was accessed by the RTIC
  13685. */
  13686. #define CAAM_RSTA_AE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RSTA_AE_SHIFT)) & CAAM_RSTA_AE_MASK)
  13687. #define CAAM_RSTA_WE_MASK (0x10000U)
  13688. #define CAAM_RSTA_WE_SHIFT (16U)
  13689. /*! WE
  13690. * 0b0..No RTIC Watchdog timer error has occurred.
  13691. * 0b1..RTIC Watchdog timer has expired prior to completing a round of hashing.
  13692. */
  13693. #define CAAM_RSTA_WE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RSTA_WE_SHIFT)) & CAAM_RSTA_WE_MASK)
  13694. #define CAAM_RSTA_ABH_MASK (0x20000U)
  13695. #define CAAM_RSTA_ABH_SHIFT (17U)
  13696. #define CAAM_RSTA_ABH(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RSTA_ABH_SHIFT)) & CAAM_RSTA_ABH_MASK)
  13697. #define CAAM_RSTA_HOD_MASK (0x40000U)
  13698. #define CAAM_RSTA_HOD_SHIFT (18U)
  13699. #define CAAM_RSTA_HOD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RSTA_HOD_SHIFT)) & CAAM_RSTA_HOD_MASK)
  13700. #define CAAM_RSTA_RTD_MASK (0x80000U)
  13701. #define CAAM_RSTA_RTD_SHIFT (19U)
  13702. #define CAAM_RSTA_RTD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RSTA_RTD_SHIFT)) & CAAM_RSTA_RTD_MASK)
  13703. #define CAAM_RSTA_CS_MASK (0x6000000U)
  13704. #define CAAM_RSTA_CS_SHIFT (25U)
  13705. /*! CS
  13706. * 0b00..Idle State
  13707. * 0b01..Single Hash State
  13708. * 0b10..Run-time State
  13709. * 0b11..Error State
  13710. */
  13711. #define CAAM_RSTA_CS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RSTA_CS_SHIFT)) & CAAM_RSTA_CS_MASK)
  13712. /*! @} */
  13713. /*! @name RCMD - RTIC Command Register */
  13714. /*! @{ */
  13715. #define CAAM_RCMD_CINT_MASK (0x1U)
  13716. #define CAAM_RCMD_CINT_SHIFT (0U)
  13717. /*! CINT
  13718. * 0b0..Do not clear interrupt
  13719. * 0b1..Clear interrupt. This bit cannot be modified during run-time checking mode
  13720. */
  13721. #define CAAM_RCMD_CINT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RCMD_CINT_SHIFT)) & CAAM_RCMD_CINT_MASK)
  13722. #define CAAM_RCMD_HO_MASK (0x2U)
  13723. #define CAAM_RCMD_HO_SHIFT (1U)
  13724. /*! HO
  13725. * 0b0..Boot authentication disabled
  13726. * 0b1..Authenticate code/generate reference hash value. This bit cannot be modified during run-time checking mode.
  13727. */
  13728. #define CAAM_RCMD_HO(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RCMD_HO_SHIFT)) & CAAM_RCMD_HO_MASK)
  13729. #define CAAM_RCMD_RTC_MASK (0x4U)
  13730. #define CAAM_RCMD_RTC_SHIFT (2U)
  13731. /*! RTC
  13732. * 0b0..Run-time checking disabled
  13733. * 0b1..Verify run-time memory blocks continually
  13734. */
  13735. #define CAAM_RCMD_RTC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RCMD_RTC_SHIFT)) & CAAM_RCMD_RTC_MASK)
  13736. #define CAAM_RCMD_RTD_MASK (0x8U)
  13737. #define CAAM_RCMD_RTD_SHIFT (3U)
  13738. /*! RTD
  13739. * 0b0..Allow Run Time Mode
  13740. * 0b1..Prevent Run Time Mode
  13741. */
  13742. #define CAAM_RCMD_RTD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RCMD_RTD_SHIFT)) & CAAM_RCMD_RTD_MASK)
  13743. /*! @} */
  13744. /*! @name RCTL - RTIC Control Register */
  13745. /*! @{ */
  13746. #define CAAM_RCTL_IE_MASK (0x1U)
  13747. #define CAAM_RCTL_IE_SHIFT (0U)
  13748. /*! IE
  13749. * 0b0..Interrupts disabled
  13750. * 0b1..Interrupts enabled
  13751. */
  13752. #define CAAM_RCTL_IE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RCTL_IE_SHIFT)) & CAAM_RCTL_IE_MASK)
  13753. #define CAAM_RCTL_RREQS_MASK (0xEU)
  13754. #define CAAM_RCTL_RREQS_SHIFT (1U)
  13755. #define CAAM_RCTL_RREQS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RCTL_RREQS_SHIFT)) & CAAM_RCTL_RREQS_MASK)
  13756. #define CAAM_RCTL_HOME_MASK (0xF0U)
  13757. #define CAAM_RCTL_HOME_SHIFT (4U)
  13758. #define CAAM_RCTL_HOME(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RCTL_HOME_SHIFT)) & CAAM_RCTL_HOME_MASK)
  13759. #define CAAM_RCTL_RTME_MASK (0xF00U)
  13760. #define CAAM_RCTL_RTME_SHIFT (8U)
  13761. #define CAAM_RCTL_RTME(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RCTL_RTME_SHIFT)) & CAAM_RCTL_RTME_MASK)
  13762. #define CAAM_RCTL_RTMU_MASK (0xF000U)
  13763. #define CAAM_RCTL_RTMU_SHIFT (12U)
  13764. #define CAAM_RCTL_RTMU(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RCTL_RTMU_SHIFT)) & CAAM_RCTL_RTMU_MASK)
  13765. #define CAAM_RCTL_RALG_MASK (0xF0000U)
  13766. #define CAAM_RCTL_RALG_SHIFT (16U)
  13767. #define CAAM_RCTL_RALG(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RCTL_RALG_SHIFT)) & CAAM_RCTL_RALG_MASK)
  13768. #define CAAM_RCTL_RIDLE_MASK (0x100000U)
  13769. #define CAAM_RCTL_RIDLE_SHIFT (20U)
  13770. #define CAAM_RCTL_RIDLE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RCTL_RIDLE_SHIFT)) & CAAM_RCTL_RIDLE_MASK)
  13771. /*! @} */
  13772. /*! @name RTHR - RTIC Throttle Register */
  13773. /*! @{ */
  13774. #define CAAM_RTHR_RTHR_MASK (0xFFFFU)
  13775. #define CAAM_RTHR_RTHR_SHIFT (0U)
  13776. #define CAAM_RTHR_RTHR(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTHR_RTHR_SHIFT)) & CAAM_RTHR_RTHR_MASK)
  13777. /*! @} */
  13778. /*! @name RWDOG - RTIC Watchdog Timer */
  13779. /*! @{ */
  13780. #define CAAM_RWDOG_RWDOG_MASK (0xFFFFFFFFU)
  13781. #define CAAM_RWDOG_RWDOG_SHIFT (0U)
  13782. #define CAAM_RWDOG_RWDOG(x) (((uint64_t)(((uint64_t)(x)) << CAAM_RWDOG_RWDOG_SHIFT)) & CAAM_RWDOG_RWDOG_MASK)
  13783. /*! @} */
  13784. /*! @name REND - RTIC Endian Register */
  13785. /*! @{ */
  13786. #define CAAM_REND_REPO_MASK (0xFU)
  13787. #define CAAM_REND_REPO_SHIFT (0U)
  13788. /*! REPO
  13789. * 0bxxx1..Byte Swap Memory Block A
  13790. * 0bxx1x..Byte Swap Memory Block B
  13791. * 0bx1xx..Byte Swap Memory Block C
  13792. * 0b1xxx..Byte Swap Memory Block D
  13793. */
  13794. #define CAAM_REND_REPO(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REND_REPO_SHIFT)) & CAAM_REND_REPO_MASK)
  13795. #define CAAM_REND_RBS_MASK (0xF0U)
  13796. #define CAAM_REND_RBS_SHIFT (4U)
  13797. /*! RBS
  13798. * 0bxxx1..Byte Swap Memory Block A
  13799. * 0bxx1x..Byte Swap Memory Block B
  13800. * 0bx1xx..Byte Swap Memory Block C
  13801. * 0b1xxx..Byte Swap Memory Block D
  13802. */
  13803. #define CAAM_REND_RBS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REND_RBS_SHIFT)) & CAAM_REND_RBS_MASK)
  13804. #define CAAM_REND_RHWS_MASK (0xF00U)
  13805. #define CAAM_REND_RHWS_SHIFT (8U)
  13806. /*! RHWS
  13807. * 0bxxx1..Half-Word Swap Memory Block A
  13808. * 0bxx1x..Half-Word Swap Memory Block B
  13809. * 0bx1xx..Half-Word Swap Memory Block C
  13810. * 0b1xxx..Half-Word Swap Memory Block D
  13811. */
  13812. #define CAAM_REND_RHWS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REND_RHWS_SHIFT)) & CAAM_REND_RHWS_MASK)
  13813. #define CAAM_REND_RWS_MASK (0xF000U)
  13814. #define CAAM_REND_RWS_SHIFT (12U)
  13815. /*! RWS
  13816. * 0bxxx1..Word Swap Memory Block A
  13817. * 0bxx1x..Word Swap Memory Block B
  13818. * 0bx1xx..Word Swap Memory Block C
  13819. * 0b1xxx..Word Swap Memory Block D
  13820. */
  13821. #define CAAM_REND_RWS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REND_RWS_SHIFT)) & CAAM_REND_RWS_MASK)
  13822. /*! @} */
  13823. /*! @name RMA - RTIC Memory Block A Address 0 Register..RTIC Memory Block D Address 1 Register */
  13824. /*! @{ */
  13825. #define CAAM_RMA_MEMBLKADDR_MASK (0xFFFFFFFFFU)
  13826. #define CAAM_RMA_MEMBLKADDR_SHIFT (0U)
  13827. #define CAAM_RMA_MEMBLKADDR(x) (((uint64_t)(((uint64_t)(x)) << CAAM_RMA_MEMBLKADDR_SHIFT)) & CAAM_RMA_MEMBLKADDR_MASK)
  13828. /*! @} */
  13829. /* The count of CAAM_RMA */
  13830. #define CAAM_RMA_COUNT (4U)
  13831. /* The count of CAAM_RMA */
  13832. #define CAAM_RMA_COUNT2 (2U)
  13833. /*! @name RML - RTIC Memory Block A Length 0 Register..RTIC Memory Block D Length 1 Register */
  13834. /*! @{ */
  13835. #define CAAM_RML_MEMBLKLEN_MASK (0xFFFFFFFFU)
  13836. #define CAAM_RML_MEMBLKLEN_SHIFT (0U)
  13837. #define CAAM_RML_MEMBLKLEN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RML_MEMBLKLEN_SHIFT)) & CAAM_RML_MEMBLKLEN_MASK)
  13838. /*! @} */
  13839. /* The count of CAAM_RML */
  13840. #define CAAM_RML_COUNT (4U)
  13841. /* The count of CAAM_RML */
  13842. #define CAAM_RML_COUNT2 (2U)
  13843. /*! @name RMD - RTIC Memory Block A Big Endian Hash Result Word 0..RTIC Memory Block D Little Endian Hash Result Word 31 */
  13844. /*! @{ */
  13845. #define CAAM_RMD_RTIC_Hash_Result_MASK (0xFFFFFFFFU)
  13846. #define CAAM_RMD_RTIC_Hash_Result_SHIFT (0U)
  13847. #define CAAM_RMD_RTIC_Hash_Result(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RMD_RTIC_Hash_Result_SHIFT)) & CAAM_RMD_RTIC_Hash_Result_MASK)
  13848. /*! @} */
  13849. /* The count of CAAM_RMD */
  13850. #define CAAM_RMD_COUNT (4U)
  13851. /* The count of CAAM_RMD */
  13852. #define CAAM_RMD_COUNT2 (2U)
  13853. /* The count of CAAM_RMD */
  13854. #define CAAM_RMD_COUNT3 (32U)
  13855. /*! @name REIR0RTIC - Recoverable Error Interrupt Record 0 for RTIC */
  13856. /*! @{ */
  13857. #define CAAM_REIR0RTIC_TYPE_MASK (0x3000000U)
  13858. #define CAAM_REIR0RTIC_TYPE_SHIFT (24U)
  13859. #define CAAM_REIR0RTIC_TYPE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR0RTIC_TYPE_SHIFT)) & CAAM_REIR0RTIC_TYPE_MASK)
  13860. #define CAAM_REIR0RTIC_MISS_MASK (0x80000000U)
  13861. #define CAAM_REIR0RTIC_MISS_SHIFT (31U)
  13862. #define CAAM_REIR0RTIC_MISS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR0RTIC_MISS_SHIFT)) & CAAM_REIR0RTIC_MISS_MASK)
  13863. /*! @} */
  13864. /*! @name REIR2RTIC - Recoverable Error Interrupt Record 2 for RTIC */
  13865. /*! @{ */
  13866. #define CAAM_REIR2RTIC_ADDR_MASK (0xFFFFFFFFFFFFFFFFU)
  13867. #define CAAM_REIR2RTIC_ADDR_SHIFT (0U)
  13868. #define CAAM_REIR2RTIC_ADDR(x) (((uint64_t)(((uint64_t)(x)) << CAAM_REIR2RTIC_ADDR_SHIFT)) & CAAM_REIR2RTIC_ADDR_MASK)
  13869. /*! @} */
  13870. /*! @name REIR4RTIC - Recoverable Error Interrupt Record 4 for RTIC */
  13871. /*! @{ */
  13872. #define CAAM_REIR4RTIC_ICID_MASK (0x7FFU)
  13873. #define CAAM_REIR4RTIC_ICID_SHIFT (0U)
  13874. #define CAAM_REIR4RTIC_ICID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR4RTIC_ICID_SHIFT)) & CAAM_REIR4RTIC_ICID_MASK)
  13875. #define CAAM_REIR4RTIC_DID_MASK (0x7800U)
  13876. #define CAAM_REIR4RTIC_DID_SHIFT (11U)
  13877. #define CAAM_REIR4RTIC_DID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR4RTIC_DID_SHIFT)) & CAAM_REIR4RTIC_DID_MASK)
  13878. #define CAAM_REIR4RTIC_AXCACHE_MASK (0xF0000U)
  13879. #define CAAM_REIR4RTIC_AXCACHE_SHIFT (16U)
  13880. #define CAAM_REIR4RTIC_AXCACHE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR4RTIC_AXCACHE_SHIFT)) & CAAM_REIR4RTIC_AXCACHE_MASK)
  13881. #define CAAM_REIR4RTIC_AXPROT_MASK (0x700000U)
  13882. #define CAAM_REIR4RTIC_AXPROT_SHIFT (20U)
  13883. #define CAAM_REIR4RTIC_AXPROT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR4RTIC_AXPROT_SHIFT)) & CAAM_REIR4RTIC_AXPROT_MASK)
  13884. #define CAAM_REIR4RTIC_RWB_MASK (0x800000U)
  13885. #define CAAM_REIR4RTIC_RWB_SHIFT (23U)
  13886. #define CAAM_REIR4RTIC_RWB(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR4RTIC_RWB_SHIFT)) & CAAM_REIR4RTIC_RWB_MASK)
  13887. #define CAAM_REIR4RTIC_ERR_MASK (0x30000000U)
  13888. #define CAAM_REIR4RTIC_ERR_SHIFT (28U)
  13889. #define CAAM_REIR4RTIC_ERR(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR4RTIC_ERR_SHIFT)) & CAAM_REIR4RTIC_ERR_MASK)
  13890. #define CAAM_REIR4RTIC_MIX_MASK (0xC0000000U)
  13891. #define CAAM_REIR4RTIC_MIX_SHIFT (30U)
  13892. #define CAAM_REIR4RTIC_MIX(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR4RTIC_MIX_SHIFT)) & CAAM_REIR4RTIC_MIX_MASK)
  13893. /*! @} */
  13894. /*! @name REIR5RTIC - Recoverable Error Interrupt Record 5 for RTIC */
  13895. /*! @{ */
  13896. #define CAAM_REIR5RTIC_BID_MASK (0xF0000U)
  13897. #define CAAM_REIR5RTIC_BID_SHIFT (16U)
  13898. #define CAAM_REIR5RTIC_BID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR5RTIC_BID_SHIFT)) & CAAM_REIR5RTIC_BID_MASK)
  13899. #define CAAM_REIR5RTIC_SAFE_MASK (0x1000000U)
  13900. #define CAAM_REIR5RTIC_SAFE_SHIFT (24U)
  13901. #define CAAM_REIR5RTIC_SAFE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR5RTIC_SAFE_SHIFT)) & CAAM_REIR5RTIC_SAFE_MASK)
  13902. #define CAAM_REIR5RTIC_SMA_MASK (0x2000000U)
  13903. #define CAAM_REIR5RTIC_SMA_SHIFT (25U)
  13904. #define CAAM_REIR5RTIC_SMA(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR5RTIC_SMA_SHIFT)) & CAAM_REIR5RTIC_SMA_MASK)
  13905. /*! @} */
  13906. /*! @name CC1MR - CCB 0 Class 1 Mode Register Format for Non-Public Key Algorithms */
  13907. /*! @{ */
  13908. #define CAAM_CC1MR_ENC_MASK (0x1U)
  13909. #define CAAM_CC1MR_ENC_SHIFT (0U)
  13910. /*! ENC
  13911. * 0b0..Decrypt.
  13912. * 0b1..Encrypt.
  13913. */
  13914. #define CAAM_CC1MR_ENC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC1MR_ENC_SHIFT)) & CAAM_CC1MR_ENC_MASK)
  13915. #define CAAM_CC1MR_ICV_TEST_MASK (0x2U)
  13916. #define CAAM_CC1MR_ICV_TEST_SHIFT (1U)
  13917. #define CAAM_CC1MR_ICV_TEST(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC1MR_ICV_TEST_SHIFT)) & CAAM_CC1MR_ICV_TEST_MASK)
  13918. #define CAAM_CC1MR_AS_MASK (0xCU)
  13919. #define CAAM_CC1MR_AS_SHIFT (2U)
  13920. /*! AS
  13921. * 0b00..Update
  13922. * 0b01..Initialize
  13923. * 0b10..Finalize
  13924. * 0b11..Initialize/Finalize
  13925. */
  13926. #define CAAM_CC1MR_AS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC1MR_AS_SHIFT)) & CAAM_CC1MR_AS_MASK)
  13927. #define CAAM_CC1MR_AAI_MASK (0x1FF0U)
  13928. #define CAAM_CC1MR_AAI_SHIFT (4U)
  13929. #define CAAM_CC1MR_AAI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC1MR_AAI_SHIFT)) & CAAM_CC1MR_AAI_MASK)
  13930. #define CAAM_CC1MR_ALG_MASK (0xFF0000U)
  13931. #define CAAM_CC1MR_ALG_SHIFT (16U)
  13932. /*! ALG
  13933. * 0b00010000..AES
  13934. * 0b00100000..DES
  13935. * 0b00100001..3DES
  13936. * 0b01010000..RNG
  13937. */
  13938. #define CAAM_CC1MR_ALG(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC1MR_ALG_SHIFT)) & CAAM_CC1MR_ALG_MASK)
  13939. /*! @} */
  13940. /* The count of CAAM_CC1MR */
  13941. #define CAAM_CC1MR_COUNT (1U)
  13942. /*! @name CC1MR_PK - CCB 0 Class 1 Mode Register Format for Public Key Algorithms */
  13943. /*! @{ */
  13944. #define CAAM_CC1MR_PK_PKHA_MODE_LS_MASK (0xFFFU)
  13945. #define CAAM_CC1MR_PK_PKHA_MODE_LS_SHIFT (0U)
  13946. #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)
  13947. #define CAAM_CC1MR_PK_PKHA_MODE_MS_MASK (0xF0000U)
  13948. #define CAAM_CC1MR_PK_PKHA_MODE_MS_SHIFT (16U)
  13949. #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)
  13950. /*! @} */
  13951. /* The count of CAAM_CC1MR_PK */
  13952. #define CAAM_CC1MR_PK_COUNT (1U)
  13953. /*! @name CC1MR_RNG - CCB 0 Class 1 Mode Register Format for RNG4 */
  13954. /*! @{ */
  13955. #define CAAM_CC1MR_RNG_TST_MASK (0x1U)
  13956. #define CAAM_CC1MR_RNG_TST_SHIFT (0U)
  13957. #define CAAM_CC1MR_RNG_TST(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC1MR_RNG_TST_SHIFT)) & CAAM_CC1MR_RNG_TST_MASK)
  13958. #define CAAM_CC1MR_RNG_PR_MASK (0x2U)
  13959. #define CAAM_CC1MR_RNG_PR_SHIFT (1U)
  13960. #define CAAM_CC1MR_RNG_PR(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC1MR_RNG_PR_SHIFT)) & CAAM_CC1MR_RNG_PR_MASK)
  13961. #define CAAM_CC1MR_RNG_AS_MASK (0xCU)
  13962. #define CAAM_CC1MR_RNG_AS_SHIFT (2U)
  13963. #define CAAM_CC1MR_RNG_AS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC1MR_RNG_AS_SHIFT)) & CAAM_CC1MR_RNG_AS_MASK)
  13964. #define CAAM_CC1MR_RNG_SH_MASK (0x30U)
  13965. #define CAAM_CC1MR_RNG_SH_SHIFT (4U)
  13966. /*! SH
  13967. * 0b00..State Handle 0
  13968. * 0b01..State Handle 1
  13969. * 0b10..Reserved
  13970. * 0b11..Reserved
  13971. */
  13972. #define CAAM_CC1MR_RNG_SH(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC1MR_RNG_SH_SHIFT)) & CAAM_CC1MR_RNG_SH_MASK)
  13973. #define CAAM_CC1MR_RNG_NZB_MASK (0x100U)
  13974. #define CAAM_CC1MR_RNG_NZB_SHIFT (8U)
  13975. /*! NZB
  13976. * 0b0..Generate random data with all-zero bytes permitted.
  13977. * 0b1..Generate random data without any all-zero bytes.
  13978. */
  13979. #define CAAM_CC1MR_RNG_NZB(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC1MR_RNG_NZB_SHIFT)) & CAAM_CC1MR_RNG_NZB_MASK)
  13980. #define CAAM_CC1MR_RNG_OBP_MASK (0x200U)
  13981. #define CAAM_CC1MR_RNG_OBP_SHIFT (9U)
  13982. /*! OBP
  13983. * 0b0..No odd byte parity.
  13984. * 0b1..Generate random data with odd byte parity.
  13985. */
  13986. #define CAAM_CC1MR_RNG_OBP(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC1MR_RNG_OBP_SHIFT)) & CAAM_CC1MR_RNG_OBP_MASK)
  13987. #define CAAM_CC1MR_RNG_PS_MASK (0x400U)
  13988. #define CAAM_CC1MR_RNG_PS_SHIFT (10U)
  13989. /*! PS
  13990. * 0b0..No personalization string is included.
  13991. * 0b1..A personalization string is included.
  13992. */
  13993. #define CAAM_CC1MR_RNG_PS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC1MR_RNG_PS_SHIFT)) & CAAM_CC1MR_RNG_PS_MASK)
  13994. #define CAAM_CC1MR_RNG_AI_MASK (0x800U)
  13995. #define CAAM_CC1MR_RNG_AI_SHIFT (11U)
  13996. /*! AI
  13997. * 0b0..No additional entropy input has been provided.
  13998. * 0b1..Additional entropy input has been provided.
  13999. */
  14000. #define CAAM_CC1MR_RNG_AI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC1MR_RNG_AI_SHIFT)) & CAAM_CC1MR_RNG_AI_MASK)
  14001. #define CAAM_CC1MR_RNG_SK_MASK (0x1000U)
  14002. #define CAAM_CC1MR_RNG_SK_SHIFT (12U)
  14003. /*! SK
  14004. * 0b0..The destination for the RNG data is specified by the FIFO STORE command.
  14005. * 0b1..The RNG data will go to the JDKEKR, TDKEKR and DSKR.
  14006. */
  14007. #define CAAM_CC1MR_RNG_SK(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC1MR_RNG_SK_SHIFT)) & CAAM_CC1MR_RNG_SK_MASK)
  14008. #define CAAM_CC1MR_RNG_ALG_MASK (0xFF0000U)
  14009. #define CAAM_CC1MR_RNG_ALG_SHIFT (16U)
  14010. /*! ALG
  14011. * 0b01010000..RNG
  14012. */
  14013. #define CAAM_CC1MR_RNG_ALG(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC1MR_RNG_ALG_SHIFT)) & CAAM_CC1MR_RNG_ALG_MASK)
  14014. /*! @} */
  14015. /* The count of CAAM_CC1MR_RNG */
  14016. #define CAAM_CC1MR_RNG_COUNT (1U)
  14017. /*! @name CC1KSR - CCB 0 Class 1 Key Size Register */
  14018. /*! @{ */
  14019. #define CAAM_CC1KSR_C1KS_MASK (0x7FU)
  14020. #define CAAM_CC1KSR_C1KS_SHIFT (0U)
  14021. #define CAAM_CC1KSR_C1KS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC1KSR_C1KS_SHIFT)) & CAAM_CC1KSR_C1KS_MASK)
  14022. /*! @} */
  14023. /* The count of CAAM_CC1KSR */
  14024. #define CAAM_CC1KSR_COUNT (1U)
  14025. /*! @name CC1DSR - CCB 0 Class 1 Data Size Register */
  14026. /*! @{ */
  14027. #define CAAM_CC1DSR_C1DS_MASK (0xFFFFFFFFU)
  14028. #define CAAM_CC1DSR_C1DS_SHIFT (0U)
  14029. #define CAAM_CC1DSR_C1DS(x) (((uint64_t)(((uint64_t)(x)) << CAAM_CC1DSR_C1DS_SHIFT)) & CAAM_CC1DSR_C1DS_MASK)
  14030. #define CAAM_CC1DSR_C1CY_MASK (0x100000000U)
  14031. #define CAAM_CC1DSR_C1CY_SHIFT (32U)
  14032. /*! C1CY
  14033. * 0b0..No carry out of the C1 Data Size Reg.
  14034. * 0b1..There was a carry out of the C1 Data Size Reg.
  14035. */
  14036. #define CAAM_CC1DSR_C1CY(x) (((uint64_t)(((uint64_t)(x)) << CAAM_CC1DSR_C1CY_SHIFT)) & CAAM_CC1DSR_C1CY_MASK)
  14037. #define CAAM_CC1DSR_NUMBITS_MASK (0xE000000000000000U)
  14038. #define CAAM_CC1DSR_NUMBITS_SHIFT (61U)
  14039. #define CAAM_CC1DSR_NUMBITS(x) (((uint64_t)(((uint64_t)(x)) << CAAM_CC1DSR_NUMBITS_SHIFT)) & CAAM_CC1DSR_NUMBITS_MASK)
  14040. /*! @} */
  14041. /* The count of CAAM_CC1DSR */
  14042. #define CAAM_CC1DSR_COUNT (1U)
  14043. /*! @name CC1ICVSR - CCB 0 Class 1 ICV Size Register */
  14044. /*! @{ */
  14045. #define CAAM_CC1ICVSR_C1ICVS_MASK (0x1FU)
  14046. #define CAAM_CC1ICVSR_C1ICVS_SHIFT (0U)
  14047. #define CAAM_CC1ICVSR_C1ICVS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC1ICVSR_C1ICVS_SHIFT)) & CAAM_CC1ICVSR_C1ICVS_MASK)
  14048. /*! @} */
  14049. /* The count of CAAM_CC1ICVSR */
  14050. #define CAAM_CC1ICVSR_COUNT (1U)
  14051. /*! @name CCCTRL - CCB 0 CHA Control Register */
  14052. /*! @{ */
  14053. #define CAAM_CCCTRL_CCB_MASK (0x1U)
  14054. #define CAAM_CCCTRL_CCB_SHIFT (0U)
  14055. /*! CCB
  14056. * 0b0..Do Not Reset
  14057. * 0b1..Reset CCB
  14058. */
  14059. #define CAAM_CCCTRL_CCB(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCCTRL_CCB_SHIFT)) & CAAM_CCCTRL_CCB_MASK)
  14060. #define CAAM_CCCTRL_AES_MASK (0x2U)
  14061. #define CAAM_CCCTRL_AES_SHIFT (1U)
  14062. /*! AES
  14063. * 0b0..Do Not Reset
  14064. * 0b1..Reset AES Accelerator
  14065. */
  14066. #define CAAM_CCCTRL_AES(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCCTRL_AES_SHIFT)) & CAAM_CCCTRL_AES_MASK)
  14067. #define CAAM_CCCTRL_DES_MASK (0x4U)
  14068. #define CAAM_CCCTRL_DES_SHIFT (2U)
  14069. /*! DES
  14070. * 0b0..Do Not Reset
  14071. * 0b1..Reset DES Accelerator
  14072. */
  14073. #define CAAM_CCCTRL_DES(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCCTRL_DES_SHIFT)) & CAAM_CCCTRL_DES_MASK)
  14074. #define CAAM_CCCTRL_PK_MASK (0x40U)
  14075. #define CAAM_CCCTRL_PK_SHIFT (6U)
  14076. /*! PK
  14077. * 0b0..Do Not Reset
  14078. * 0b1..Reset Public Key Hardware Accelerator
  14079. */
  14080. #define CAAM_CCCTRL_PK(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCCTRL_PK_SHIFT)) & CAAM_CCCTRL_PK_MASK)
  14081. #define CAAM_CCCTRL_MD_MASK (0x80U)
  14082. #define CAAM_CCCTRL_MD_SHIFT (7U)
  14083. /*! MD
  14084. * 0b0..Do Not Reset
  14085. * 0b1..Reset Message Digest Hardware Accelerator
  14086. */
  14087. #define CAAM_CCCTRL_MD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCCTRL_MD_SHIFT)) & CAAM_CCCTRL_MD_MASK)
  14088. #define CAAM_CCCTRL_CRC_MASK (0x100U)
  14089. #define CAAM_CCCTRL_CRC_SHIFT (8U)
  14090. /*! CRC
  14091. * 0b0..Do Not Reset
  14092. * 0b1..Reset CRC Accelerator
  14093. */
  14094. #define CAAM_CCCTRL_CRC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCCTRL_CRC_SHIFT)) & CAAM_CCCTRL_CRC_MASK)
  14095. #define CAAM_CCCTRL_RNG_MASK (0x200U)
  14096. #define CAAM_CCCTRL_RNG_SHIFT (9U)
  14097. /*! RNG
  14098. * 0b0..Do Not Reset
  14099. * 0b1..Reset Random Number Generator Block.
  14100. */
  14101. #define CAAM_CCCTRL_RNG(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCCTRL_RNG_SHIFT)) & CAAM_CCCTRL_RNG_MASK)
  14102. #define CAAM_CCCTRL_UA0_MASK (0x10000U)
  14103. #define CAAM_CCCTRL_UA0_SHIFT (16U)
  14104. /*! UA0
  14105. * 0b0..Don't unload the PKHA A0 Memory.
  14106. * 0b1..Unload the PKHA A0 Memory into OFIFO.
  14107. */
  14108. #define CAAM_CCCTRL_UA0(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCCTRL_UA0_SHIFT)) & CAAM_CCCTRL_UA0_MASK)
  14109. #define CAAM_CCCTRL_UA1_MASK (0x20000U)
  14110. #define CAAM_CCCTRL_UA1_SHIFT (17U)
  14111. /*! UA1
  14112. * 0b0..Don't unload the PKHA A1 Memory.
  14113. * 0b1..Unload the PKHA A1 Memory into OFIFO.
  14114. */
  14115. #define CAAM_CCCTRL_UA1(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCCTRL_UA1_SHIFT)) & CAAM_CCCTRL_UA1_MASK)
  14116. #define CAAM_CCCTRL_UA2_MASK (0x40000U)
  14117. #define CAAM_CCCTRL_UA2_SHIFT (18U)
  14118. /*! UA2
  14119. * 0b0..Don't unload the PKHA A2 Memory.
  14120. * 0b1..Unload the PKHA A2 Memory into OFIFO.
  14121. */
  14122. #define CAAM_CCCTRL_UA2(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCCTRL_UA2_SHIFT)) & CAAM_CCCTRL_UA2_MASK)
  14123. #define CAAM_CCCTRL_UA3_MASK (0x80000U)
  14124. #define CAAM_CCCTRL_UA3_SHIFT (19U)
  14125. /*! UA3
  14126. * 0b0..Don't unload the PKHA A3 Memory.
  14127. * 0b1..Unload the PKHA A3 Memory into OFIFO.
  14128. */
  14129. #define CAAM_CCCTRL_UA3(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCCTRL_UA3_SHIFT)) & CAAM_CCCTRL_UA3_MASK)
  14130. #define CAAM_CCCTRL_UB0_MASK (0x100000U)
  14131. #define CAAM_CCCTRL_UB0_SHIFT (20U)
  14132. /*! UB0
  14133. * 0b0..Don't unload the PKHA B0 Memory.
  14134. * 0b1..Unload the PKHA B0 Memory into OFIFO.
  14135. */
  14136. #define CAAM_CCCTRL_UB0(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCCTRL_UB0_SHIFT)) & CAAM_CCCTRL_UB0_MASK)
  14137. #define CAAM_CCCTRL_UB1_MASK (0x200000U)
  14138. #define CAAM_CCCTRL_UB1_SHIFT (21U)
  14139. /*! UB1
  14140. * 0b0..Don't unload the PKHA B1 Memory.
  14141. * 0b1..Unload the PKHA B1 Memory into OFIFO.
  14142. */
  14143. #define CAAM_CCCTRL_UB1(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCCTRL_UB1_SHIFT)) & CAAM_CCCTRL_UB1_MASK)
  14144. #define CAAM_CCCTRL_UB2_MASK (0x400000U)
  14145. #define CAAM_CCCTRL_UB2_SHIFT (22U)
  14146. /*! UB2
  14147. * 0b0..Don't unload the PKHA B2 Memory.
  14148. * 0b1..Unload the PKHA B2 Memory into OFIFO.
  14149. */
  14150. #define CAAM_CCCTRL_UB2(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCCTRL_UB2_SHIFT)) & CAAM_CCCTRL_UB2_MASK)
  14151. #define CAAM_CCCTRL_UB3_MASK (0x800000U)
  14152. #define CAAM_CCCTRL_UB3_SHIFT (23U)
  14153. /*! UB3
  14154. * 0b0..Don't unload the PKHA B3 Memory.
  14155. * 0b1..Unload the PKHA B3 Memory into OFIFO.
  14156. */
  14157. #define CAAM_CCCTRL_UB3(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCCTRL_UB3_SHIFT)) & CAAM_CCCTRL_UB3_MASK)
  14158. #define CAAM_CCCTRL_UN_MASK (0x1000000U)
  14159. #define CAAM_CCCTRL_UN_SHIFT (24U)
  14160. /*! UN
  14161. * 0b0..Don't unload the PKHA N Memory.
  14162. * 0b1..Unload the PKHA N Memory into OFIFO.
  14163. */
  14164. #define CAAM_CCCTRL_UN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCCTRL_UN_SHIFT)) & CAAM_CCCTRL_UN_MASK)
  14165. #define CAAM_CCCTRL_UA_MASK (0x4000000U)
  14166. #define CAAM_CCCTRL_UA_SHIFT (26U)
  14167. /*! UA
  14168. * 0b0..Don't unload the PKHA A Memory.
  14169. * 0b1..Unload the PKHA A Memory into OFIFO.
  14170. */
  14171. #define CAAM_CCCTRL_UA(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCCTRL_UA_SHIFT)) & CAAM_CCCTRL_UA_MASK)
  14172. #define CAAM_CCCTRL_UB_MASK (0x8000000U)
  14173. #define CAAM_CCCTRL_UB_SHIFT (27U)
  14174. /*! UB
  14175. * 0b0..Don't unload the PKHA B Memory.
  14176. * 0b1..Unload the PKHA B Memory into OFIFO.
  14177. */
  14178. #define CAAM_CCCTRL_UB(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCCTRL_UB_SHIFT)) & CAAM_CCCTRL_UB_MASK)
  14179. /*! @} */
  14180. /* The count of CAAM_CCCTRL */
  14181. #define CAAM_CCCTRL_COUNT (1U)
  14182. /*! @name CICTL - CCB 0 Interrupt Control Register */
  14183. /*! @{ */
  14184. #define CAAM_CICTL_ADI_MASK (0x2U)
  14185. #define CAAM_CICTL_ADI_SHIFT (1U)
  14186. #define CAAM_CICTL_ADI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CICTL_ADI_SHIFT)) & CAAM_CICTL_ADI_MASK)
  14187. #define CAAM_CICTL_DDI_MASK (0x4U)
  14188. #define CAAM_CICTL_DDI_SHIFT (2U)
  14189. #define CAAM_CICTL_DDI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CICTL_DDI_SHIFT)) & CAAM_CICTL_DDI_MASK)
  14190. #define CAAM_CICTL_PDI_MASK (0x40U)
  14191. #define CAAM_CICTL_PDI_SHIFT (6U)
  14192. #define CAAM_CICTL_PDI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CICTL_PDI_SHIFT)) & CAAM_CICTL_PDI_MASK)
  14193. #define CAAM_CICTL_MDI_MASK (0x80U)
  14194. #define CAAM_CICTL_MDI_SHIFT (7U)
  14195. #define CAAM_CICTL_MDI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CICTL_MDI_SHIFT)) & CAAM_CICTL_MDI_MASK)
  14196. #define CAAM_CICTL_CDI_MASK (0x100U)
  14197. #define CAAM_CICTL_CDI_SHIFT (8U)
  14198. #define CAAM_CICTL_CDI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CICTL_CDI_SHIFT)) & CAAM_CICTL_CDI_MASK)
  14199. #define CAAM_CICTL_RNDI_MASK (0x200U)
  14200. #define CAAM_CICTL_RNDI_SHIFT (9U)
  14201. #define CAAM_CICTL_RNDI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CICTL_RNDI_SHIFT)) & CAAM_CICTL_RNDI_MASK)
  14202. #define CAAM_CICTL_AEI_MASK (0x20000U)
  14203. #define CAAM_CICTL_AEI_SHIFT (17U)
  14204. /*! AEI
  14205. * 0b0..No AESA error detected
  14206. * 0b1..AESA error detected
  14207. */
  14208. #define CAAM_CICTL_AEI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CICTL_AEI_SHIFT)) & CAAM_CICTL_AEI_MASK)
  14209. #define CAAM_CICTL_DEI_MASK (0x40000U)
  14210. #define CAAM_CICTL_DEI_SHIFT (18U)
  14211. /*! DEI
  14212. * 0b0..No DESA error detected
  14213. * 0b1..DESA error detected
  14214. */
  14215. #define CAAM_CICTL_DEI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CICTL_DEI_SHIFT)) & CAAM_CICTL_DEI_MASK)
  14216. #define CAAM_CICTL_PEI_MASK (0x400000U)
  14217. #define CAAM_CICTL_PEI_SHIFT (22U)
  14218. /*! PEI
  14219. * 0b0..No PKHA error detected
  14220. * 0b1..PKHA error detected
  14221. */
  14222. #define CAAM_CICTL_PEI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CICTL_PEI_SHIFT)) & CAAM_CICTL_PEI_MASK)
  14223. #define CAAM_CICTL_MEI_MASK (0x800000U)
  14224. #define CAAM_CICTL_MEI_SHIFT (23U)
  14225. /*! MEI
  14226. * 0b0..No MDHA error detected
  14227. * 0b1..MDHA error detected
  14228. */
  14229. #define CAAM_CICTL_MEI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CICTL_MEI_SHIFT)) & CAAM_CICTL_MEI_MASK)
  14230. #define CAAM_CICTL_CEI_MASK (0x1000000U)
  14231. #define CAAM_CICTL_CEI_SHIFT (24U)
  14232. /*! CEI
  14233. * 0b0..No CRCA error detected
  14234. * 0b1..CRCA error detected
  14235. */
  14236. #define CAAM_CICTL_CEI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CICTL_CEI_SHIFT)) & CAAM_CICTL_CEI_MASK)
  14237. #define CAAM_CICTL_RNEI_MASK (0x2000000U)
  14238. #define CAAM_CICTL_RNEI_SHIFT (25U)
  14239. /*! RNEI
  14240. * 0b0..No RNG error detected
  14241. * 0b1..RNG error detected
  14242. */
  14243. #define CAAM_CICTL_RNEI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CICTL_RNEI_SHIFT)) & CAAM_CICTL_RNEI_MASK)
  14244. /*! @} */
  14245. /* The count of CAAM_CICTL */
  14246. #define CAAM_CICTL_COUNT (1U)
  14247. /*! @name CCWR - CCB 0 Clear Written Register */
  14248. /*! @{ */
  14249. #define CAAM_CCWR_C1M_MASK (0x1U)
  14250. #define CAAM_CCWR_C1M_SHIFT (0U)
  14251. /*! C1M
  14252. * 0b0..Don't clear the Class 1 Mode Register.
  14253. * 0b1..Clear the Class 1 Mode Register.
  14254. */
  14255. #define CAAM_CCWR_C1M(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCWR_C1M_SHIFT)) & CAAM_CCWR_C1M_MASK)
  14256. #define CAAM_CCWR_C1DS_MASK (0x4U)
  14257. #define CAAM_CCWR_C1DS_SHIFT (2U)
  14258. /*! C1DS
  14259. * 0b0..Don't clear the Class 1 Data Size Register.
  14260. * 0b1..Clear the Class 1 Data Size Register.
  14261. */
  14262. #define CAAM_CCWR_C1DS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCWR_C1DS_SHIFT)) & CAAM_CCWR_C1DS_MASK)
  14263. #define CAAM_CCWR_C1ICV_MASK (0x8U)
  14264. #define CAAM_CCWR_C1ICV_SHIFT (3U)
  14265. /*! C1ICV
  14266. * 0b0..Don't clear the Class 1 ICV Size Register.
  14267. * 0b1..Clear the Class 1 ICV Size Register.
  14268. */
  14269. #define CAAM_CCWR_C1ICV(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCWR_C1ICV_SHIFT)) & CAAM_CCWR_C1ICV_MASK)
  14270. #define CAAM_CCWR_C1C_MASK (0x20U)
  14271. #define CAAM_CCWR_C1C_SHIFT (5U)
  14272. /*! C1C
  14273. * 0b0..Don't clear the Class 1 Context Register.
  14274. * 0b1..Clear the Class 1 Context Register.
  14275. */
  14276. #define CAAM_CCWR_C1C(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCWR_C1C_SHIFT)) & CAAM_CCWR_C1C_MASK)
  14277. #define CAAM_CCWR_C1K_MASK (0x40U)
  14278. #define CAAM_CCWR_C1K_SHIFT (6U)
  14279. /*! C1K
  14280. * 0b0..Don't clear the Class 1 Key Register.
  14281. * 0b1..Clear the Class 1 Key Register.
  14282. */
  14283. #define CAAM_CCWR_C1K(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCWR_C1K_SHIFT)) & CAAM_CCWR_C1K_MASK)
  14284. #define CAAM_CCWR_CPKA_MASK (0x1000U)
  14285. #define CAAM_CCWR_CPKA_SHIFT (12U)
  14286. /*! CPKA
  14287. * 0b0..Don't clear the PKHA A Size Register.
  14288. * 0b1..Clear the PKHA A Size Register.
  14289. */
  14290. #define CAAM_CCWR_CPKA(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCWR_CPKA_SHIFT)) & CAAM_CCWR_CPKA_MASK)
  14291. #define CAAM_CCWR_CPKB_MASK (0x2000U)
  14292. #define CAAM_CCWR_CPKB_SHIFT (13U)
  14293. /*! CPKB
  14294. * 0b0..Don't clear the PKHA B Size Register.
  14295. * 0b1..Clear the PKHA B Size Register.
  14296. */
  14297. #define CAAM_CCWR_CPKB(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCWR_CPKB_SHIFT)) & CAAM_CCWR_CPKB_MASK)
  14298. #define CAAM_CCWR_CPKN_MASK (0x4000U)
  14299. #define CAAM_CCWR_CPKN_SHIFT (14U)
  14300. /*! CPKN
  14301. * 0b0..Don't clear the PKHA N Size Register.
  14302. * 0b1..Clear the PKHA N Size Register.
  14303. */
  14304. #define CAAM_CCWR_CPKN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCWR_CPKN_SHIFT)) & CAAM_CCWR_CPKN_MASK)
  14305. #define CAAM_CCWR_CPKE_MASK (0x8000U)
  14306. #define CAAM_CCWR_CPKE_SHIFT (15U)
  14307. /*! CPKE
  14308. * 0b0..Don't clear the PKHA E Size Register..
  14309. * 0b1..Clear the PKHA E Size Register.
  14310. */
  14311. #define CAAM_CCWR_CPKE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCWR_CPKE_SHIFT)) & CAAM_CCWR_CPKE_MASK)
  14312. #define CAAM_CCWR_C2M_MASK (0x10000U)
  14313. #define CAAM_CCWR_C2M_SHIFT (16U)
  14314. /*! C2M
  14315. * 0b0..Don't clear the Class 2 Mode Register.
  14316. * 0b1..Clear the Class 2 Mode Register.
  14317. */
  14318. #define CAAM_CCWR_C2M(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCWR_C2M_SHIFT)) & CAAM_CCWR_C2M_MASK)
  14319. #define CAAM_CCWR_C2DS_MASK (0x40000U)
  14320. #define CAAM_CCWR_C2DS_SHIFT (18U)
  14321. /*! C2DS
  14322. * 0b0..Don't clear the Class 2 Data Size Register.
  14323. * 0b1..Clear the Class 2 Data Size Register.
  14324. */
  14325. #define CAAM_CCWR_C2DS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCWR_C2DS_SHIFT)) & CAAM_CCWR_C2DS_MASK)
  14326. #define CAAM_CCWR_C2C_MASK (0x200000U)
  14327. #define CAAM_CCWR_C2C_SHIFT (21U)
  14328. /*! C2C
  14329. * 0b0..Don't clear the Class 2 Context Register.
  14330. * 0b1..Clear the Class 2 Context Register.
  14331. */
  14332. #define CAAM_CCWR_C2C(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCWR_C2C_SHIFT)) & CAAM_CCWR_C2C_MASK)
  14333. #define CAAM_CCWR_C2K_MASK (0x400000U)
  14334. #define CAAM_CCWR_C2K_SHIFT (22U)
  14335. /*! C2K
  14336. * 0b0..Don't clear the Class 2 Key Register.
  14337. * 0b1..Clear the Class 2 Key Register.
  14338. */
  14339. #define CAAM_CCWR_C2K(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCWR_C2K_SHIFT)) & CAAM_CCWR_C2K_MASK)
  14340. #define CAAM_CCWR_CDS_MASK (0x2000000U)
  14341. #define CAAM_CCWR_CDS_SHIFT (25U)
  14342. /*! CDS
  14343. * 0b0..Don't clear the shared descriptor signal.
  14344. * 0b1..Clear the shared descriptor signal.
  14345. */
  14346. #define CAAM_CCWR_CDS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCWR_CDS_SHIFT)) & CAAM_CCWR_CDS_MASK)
  14347. #define CAAM_CCWR_C2D_MASK (0x4000000U)
  14348. #define CAAM_CCWR_C2D_SHIFT (26U)
  14349. /*! C2D
  14350. * 0b0..Don't clear the Class 2 done interrrupt.
  14351. * 0b1..Clear the Class 2 done interrrupt.
  14352. */
  14353. #define CAAM_CCWR_C2D(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCWR_C2D_SHIFT)) & CAAM_CCWR_C2D_MASK)
  14354. #define CAAM_CCWR_C1D_MASK (0x8000000U)
  14355. #define CAAM_CCWR_C1D_SHIFT (27U)
  14356. /*! C1D
  14357. * 0b0..Don't clear the Class 1 done interrrupt.
  14358. * 0b1..Clear the Class 1 done interrrupt.
  14359. */
  14360. #define CAAM_CCWR_C1D(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCWR_C1D_SHIFT)) & CAAM_CCWR_C1D_MASK)
  14361. #define CAAM_CCWR_C2RST_MASK (0x10000000U)
  14362. #define CAAM_CCWR_C2RST_SHIFT (28U)
  14363. /*! C2RST
  14364. * 0b0..Don't reset the Class 2 CHA.
  14365. * 0b1..Reset the Class 2 CHA.
  14366. */
  14367. #define CAAM_CCWR_C2RST(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCWR_C2RST_SHIFT)) & CAAM_CCWR_C2RST_MASK)
  14368. #define CAAM_CCWR_C1RST_MASK (0x20000000U)
  14369. #define CAAM_CCWR_C1RST_SHIFT (29U)
  14370. /*! C1RST
  14371. * 0b0..Don't reset the Class 1 CHA.
  14372. * 0b1..Reset the Class 1 CHA.
  14373. */
  14374. #define CAAM_CCWR_C1RST(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCWR_C1RST_SHIFT)) & CAAM_CCWR_C1RST_MASK)
  14375. #define CAAM_CCWR_COF_MASK (0x40000000U)
  14376. #define CAAM_CCWR_COF_SHIFT (30U)
  14377. /*! COF
  14378. * 0b0..Don't clear the OFIFO.
  14379. * 0b1..Clear the OFIFO.
  14380. */
  14381. #define CAAM_CCWR_COF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCWR_COF_SHIFT)) & CAAM_CCWR_COF_MASK)
  14382. #define CAAM_CCWR_CIF_MASK (0x80000000U)
  14383. #define CAAM_CCWR_CIF_SHIFT (31U)
  14384. /*! CIF
  14385. * 0b0..Don't clear the IFIFO.
  14386. * 0b1..Clear the IFIFO.
  14387. */
  14388. #define CAAM_CCWR_CIF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCWR_CIF_SHIFT)) & CAAM_CCWR_CIF_MASK)
  14389. /*! @} */
  14390. /* The count of CAAM_CCWR */
  14391. #define CAAM_CCWR_COUNT (1U)
  14392. /*! @name CCSTA_MS - CCB 0 Status and Error Register, most-significant half */
  14393. /*! @{ */
  14394. #define CAAM_CCSTA_MS_ERRID1_MASK (0xFU)
  14395. #define CAAM_CCSTA_MS_ERRID1_SHIFT (0U)
  14396. /*! ERRID1
  14397. * 0b0001..Mode Error
  14398. * 0b0010..Data Size Error, including PKHA N Memory Size Error
  14399. * 0b0011..Key Size Error, including PKHA E Memory Size Error
  14400. * 0b0100..PKHA A Memory Size Error
  14401. * 0b0101..PKHA B Memory Size Error
  14402. * 0b0110..Data Arrived out of Sequence Error
  14403. * 0b0111..PKHA Divide by Zero Error
  14404. * 0b1000..PKHA Modulus Even Error
  14405. * 0b1001..DES Key Parity Error
  14406. * 0b1010..ICV Check Failed
  14407. * 0b1011..Internal Hardware Failure
  14408. * 0b1100..CCM AAD Size Error (either 1. AAD flag in B0 =1 and no AAD type provided, 2. AAD flag in B0 = 0 and
  14409. * AAD provided, or 3. AAD flag in B0 =1 and not enough AAD provided - expecting more based on AAD size.)
  14410. * 0b1101..Class 1 CHA is not reset
  14411. * 0b1110..Invalid CHA combination was selected
  14412. * 0b1111..Invalid CHA Selected
  14413. */
  14414. #define CAAM_CCSTA_MS_ERRID1(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCSTA_MS_ERRID1_SHIFT)) & CAAM_CCSTA_MS_ERRID1_MASK)
  14415. #define CAAM_CCSTA_MS_CL1_MASK (0xF000U)
  14416. #define CAAM_CCSTA_MS_CL1_SHIFT (12U)
  14417. /*! CL1
  14418. * 0b0001..AES
  14419. * 0b0010..DES
  14420. * 0b0101..RNG
  14421. * 0b1000..Public Key
  14422. */
  14423. #define CAAM_CCSTA_MS_CL1(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCSTA_MS_CL1_SHIFT)) & CAAM_CCSTA_MS_CL1_MASK)
  14424. #define CAAM_CCSTA_MS_ERRID2_MASK (0xF0000U)
  14425. #define CAAM_CCSTA_MS_ERRID2_SHIFT (16U)
  14426. /*! ERRID2
  14427. * 0b0001..Mode Error
  14428. * 0b0010..Data Size Error
  14429. * 0b0011..Key Size Error
  14430. * 0b0110..Data Arrived out of Sequence Error
  14431. * 0b1010..ICV Check Failed
  14432. * 0b1011..Internal Hardware Failure
  14433. * 0b1110..Invalid CHA combination was selected.
  14434. * 0b1111..Invalid CHA Selected
  14435. */
  14436. #define CAAM_CCSTA_MS_ERRID2(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCSTA_MS_ERRID2_SHIFT)) & CAAM_CCSTA_MS_ERRID2_MASK)
  14437. #define CAAM_CCSTA_MS_CL2_MASK (0xF0000000U)
  14438. #define CAAM_CCSTA_MS_CL2_SHIFT (28U)
  14439. /*! CL2
  14440. * 0b0100..MD5, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512 and SHA-512/224, SHA-512/256
  14441. * 0b1001..CRC
  14442. */
  14443. #define CAAM_CCSTA_MS_CL2(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCSTA_MS_CL2_SHIFT)) & CAAM_CCSTA_MS_CL2_MASK)
  14444. /*! @} */
  14445. /* The count of CAAM_CCSTA_MS */
  14446. #define CAAM_CCSTA_MS_COUNT (1U)
  14447. /*! @name CCSTA_LS - CCB 0 Status and Error Register, least-significant half */
  14448. /*! @{ */
  14449. #define CAAM_CCSTA_LS_AB_MASK (0x2U)
  14450. #define CAAM_CCSTA_LS_AB_SHIFT (1U)
  14451. /*! AB
  14452. * 0b0..AESA Idle
  14453. * 0b1..AESA Busy
  14454. */
  14455. #define CAAM_CCSTA_LS_AB(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCSTA_LS_AB_SHIFT)) & CAAM_CCSTA_LS_AB_MASK)
  14456. #define CAAM_CCSTA_LS_DB_MASK (0x4U)
  14457. #define CAAM_CCSTA_LS_DB_SHIFT (2U)
  14458. /*! DB
  14459. * 0b0..DESA Idle
  14460. * 0b1..DESA Busy
  14461. */
  14462. #define CAAM_CCSTA_LS_DB(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCSTA_LS_DB_SHIFT)) & CAAM_CCSTA_LS_DB_MASK)
  14463. #define CAAM_CCSTA_LS_PB_MASK (0x40U)
  14464. #define CAAM_CCSTA_LS_PB_SHIFT (6U)
  14465. /*! PB
  14466. * 0b0..PKHA Idle
  14467. * 0b1..PKHA Busy
  14468. */
  14469. #define CAAM_CCSTA_LS_PB(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCSTA_LS_PB_SHIFT)) & CAAM_CCSTA_LS_PB_MASK)
  14470. #define CAAM_CCSTA_LS_MB_MASK (0x80U)
  14471. #define CAAM_CCSTA_LS_MB_SHIFT (7U)
  14472. /*! MB
  14473. * 0b0..MDHA Idle
  14474. * 0b1..MDHA Busy
  14475. */
  14476. #define CAAM_CCSTA_LS_MB(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCSTA_LS_MB_SHIFT)) & CAAM_CCSTA_LS_MB_MASK)
  14477. #define CAAM_CCSTA_LS_CB_MASK (0x100U)
  14478. #define CAAM_CCSTA_LS_CB_SHIFT (8U)
  14479. /*! CB
  14480. * 0b0..CRCA Idle
  14481. * 0b1..CRCA Busy
  14482. */
  14483. #define CAAM_CCSTA_LS_CB(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCSTA_LS_CB_SHIFT)) & CAAM_CCSTA_LS_CB_MASK)
  14484. #define CAAM_CCSTA_LS_RNB_MASK (0x200U)
  14485. #define CAAM_CCSTA_LS_RNB_SHIFT (9U)
  14486. /*! RNB
  14487. * 0b0..RNG Idle
  14488. * 0b1..RNG Busy
  14489. */
  14490. #define CAAM_CCSTA_LS_RNB(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCSTA_LS_RNB_SHIFT)) & CAAM_CCSTA_LS_RNB_MASK)
  14491. #define CAAM_CCSTA_LS_PDI_MASK (0x10000U)
  14492. #define CAAM_CCSTA_LS_PDI_SHIFT (16U)
  14493. /*! PDI
  14494. * 0b0..Not Done
  14495. * 0b1..Done Interrupt
  14496. */
  14497. #define CAAM_CCSTA_LS_PDI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCSTA_LS_PDI_SHIFT)) & CAAM_CCSTA_LS_PDI_MASK)
  14498. #define CAAM_CCSTA_LS_SDI_MASK (0x20000U)
  14499. #define CAAM_CCSTA_LS_SDI_SHIFT (17U)
  14500. /*! SDI
  14501. * 0b0..Not Done
  14502. * 0b1..Done Interrupt
  14503. */
  14504. #define CAAM_CCSTA_LS_SDI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCSTA_LS_SDI_SHIFT)) & CAAM_CCSTA_LS_SDI_MASK)
  14505. #define CAAM_CCSTA_LS_PEI_MASK (0x100000U)
  14506. #define CAAM_CCSTA_LS_PEI_SHIFT (20U)
  14507. /*! PEI
  14508. * 0b0..No Error
  14509. * 0b1..Error Interrupt
  14510. */
  14511. #define CAAM_CCSTA_LS_PEI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCSTA_LS_PEI_SHIFT)) & CAAM_CCSTA_LS_PEI_MASK)
  14512. #define CAAM_CCSTA_LS_SEI_MASK (0x200000U)
  14513. #define CAAM_CCSTA_LS_SEI_SHIFT (21U)
  14514. /*! SEI
  14515. * 0b0..No Error
  14516. * 0b1..Error Interrupt
  14517. */
  14518. #define CAAM_CCSTA_LS_SEI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCSTA_LS_SEI_SHIFT)) & CAAM_CCSTA_LS_SEI_MASK)
  14519. #define CAAM_CCSTA_LS_PRM_MASK (0x10000000U)
  14520. #define CAAM_CCSTA_LS_PRM_SHIFT (28U)
  14521. /*! PRM
  14522. * 0b0..The given number is NOT prime.
  14523. * 0b1..The given number is probably prime.
  14524. */
  14525. #define CAAM_CCSTA_LS_PRM(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCSTA_LS_PRM_SHIFT)) & CAAM_CCSTA_LS_PRM_MASK)
  14526. #define CAAM_CCSTA_LS_GCD_MASK (0x20000000U)
  14527. #define CAAM_CCSTA_LS_GCD_SHIFT (29U)
  14528. /*! GCD
  14529. * 0b0..The greatest common divisor of two numbers is NOT one.
  14530. * 0b1..The greatest common divisor of two numbers is one.
  14531. */
  14532. #define CAAM_CCSTA_LS_GCD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCSTA_LS_GCD_SHIFT)) & CAAM_CCSTA_LS_GCD_MASK)
  14533. #define CAAM_CCSTA_LS_PIZ_MASK (0x40000000U)
  14534. #define CAAM_CCSTA_LS_PIZ_SHIFT (30U)
  14535. /*! PIZ
  14536. * 0b0..The result of a Public Key operation is not zero.
  14537. * 0b1..The result of a Public Key operation is zero.
  14538. */
  14539. #define CAAM_CCSTA_LS_PIZ(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCSTA_LS_PIZ_SHIFT)) & CAAM_CCSTA_LS_PIZ_MASK)
  14540. /*! @} */
  14541. /* The count of CAAM_CCSTA_LS */
  14542. #define CAAM_CCSTA_LS_COUNT (1U)
  14543. /*! @name CC1AADSZR - CCB 0 Class 1 AAD Size Register */
  14544. /*! @{ */
  14545. #define CAAM_CC1AADSZR_AASZ_MASK (0xFU)
  14546. #define CAAM_CC1AADSZR_AASZ_SHIFT (0U)
  14547. #define CAAM_CC1AADSZR_AASZ(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC1AADSZR_AASZ_SHIFT)) & CAAM_CC1AADSZR_AASZ_MASK)
  14548. /*! @} */
  14549. /* The count of CAAM_CC1AADSZR */
  14550. #define CAAM_CC1AADSZR_COUNT (1U)
  14551. /*! @name CC1IVSZR - CCB 0 Class 1 IV Size Register */
  14552. /*! @{ */
  14553. #define CAAM_CC1IVSZR_IVSZ_MASK (0xFU)
  14554. #define CAAM_CC1IVSZR_IVSZ_SHIFT (0U)
  14555. #define CAAM_CC1IVSZR_IVSZ(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC1IVSZR_IVSZ_SHIFT)) & CAAM_CC1IVSZR_IVSZ_MASK)
  14556. /*! @} */
  14557. /* The count of CAAM_CC1IVSZR */
  14558. #define CAAM_CC1IVSZR_COUNT (1U)
  14559. /*! @name CPKASZR - PKHA A Size Register */
  14560. /*! @{ */
  14561. #define CAAM_CPKASZR_PKASZ_MASK (0x3FFU)
  14562. #define CAAM_CPKASZR_PKASZ_SHIFT (0U)
  14563. #define CAAM_CPKASZR_PKASZ(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CPKASZR_PKASZ_SHIFT)) & CAAM_CPKASZR_PKASZ_MASK)
  14564. /*! @} */
  14565. /* The count of CAAM_CPKASZR */
  14566. #define CAAM_CPKASZR_COUNT (1U)
  14567. /*! @name CPKBSZR - PKHA B Size Register */
  14568. /*! @{ */
  14569. #define CAAM_CPKBSZR_PKBSZ_MASK (0x3FFU)
  14570. #define CAAM_CPKBSZR_PKBSZ_SHIFT (0U)
  14571. #define CAAM_CPKBSZR_PKBSZ(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CPKBSZR_PKBSZ_SHIFT)) & CAAM_CPKBSZR_PKBSZ_MASK)
  14572. /*! @} */
  14573. /* The count of CAAM_CPKBSZR */
  14574. #define CAAM_CPKBSZR_COUNT (1U)
  14575. /*! @name CPKNSZR - PKHA N Size Register */
  14576. /*! @{ */
  14577. #define CAAM_CPKNSZR_PKNSZ_MASK (0x3FFU)
  14578. #define CAAM_CPKNSZR_PKNSZ_SHIFT (0U)
  14579. #define CAAM_CPKNSZR_PKNSZ(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CPKNSZR_PKNSZ_SHIFT)) & CAAM_CPKNSZR_PKNSZ_MASK)
  14580. /*! @} */
  14581. /* The count of CAAM_CPKNSZR */
  14582. #define CAAM_CPKNSZR_COUNT (1U)
  14583. /*! @name CPKESZR - PKHA E Size Register */
  14584. /*! @{ */
  14585. #define CAAM_CPKESZR_PKESZ_MASK (0x3FFU)
  14586. #define CAAM_CPKESZR_PKESZ_SHIFT (0U)
  14587. #define CAAM_CPKESZR_PKESZ(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CPKESZR_PKESZ_SHIFT)) & CAAM_CPKESZR_PKESZ_MASK)
  14588. /*! @} */
  14589. /* The count of CAAM_CPKESZR */
  14590. #define CAAM_CPKESZR_COUNT (1U)
  14591. /*! @name CC1CTXR - CCB 0 Class 1 Context Register Word 0..CCB 0 Class 1 Context Register Word 15 */
  14592. /*! @{ */
  14593. #define CAAM_CC1CTXR_C1CTX_MASK (0xFFFFFFFFU)
  14594. #define CAAM_CC1CTXR_C1CTX_SHIFT (0U)
  14595. #define CAAM_CC1CTXR_C1CTX(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC1CTXR_C1CTX_SHIFT)) & CAAM_CC1CTXR_C1CTX_MASK)
  14596. /*! @} */
  14597. /* The count of CAAM_CC1CTXR */
  14598. #define CAAM_CC1CTXR_COUNT (1U)
  14599. /* The count of CAAM_CC1CTXR */
  14600. #define CAAM_CC1CTXR_COUNT2 (16U)
  14601. /*! @name CC1KR - CCB 0 Class 1 Key Registers Word 0..CCB 0 Class 1 Key Registers Word 7 */
  14602. /*! @{ */
  14603. #define CAAM_CC1KR_C1KEY_MASK (0xFFFFFFFFU)
  14604. #define CAAM_CC1KR_C1KEY_SHIFT (0U)
  14605. #define CAAM_CC1KR_C1KEY(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC1KR_C1KEY_SHIFT)) & CAAM_CC1KR_C1KEY_MASK)
  14606. /*! @} */
  14607. /* The count of CAAM_CC1KR */
  14608. #define CAAM_CC1KR_COUNT (1U)
  14609. /* The count of CAAM_CC1KR */
  14610. #define CAAM_CC1KR_COUNT2 (8U)
  14611. /*! @name CC2MR - CCB 0 Class 2 Mode Register */
  14612. /*! @{ */
  14613. #define CAAM_CC2MR_AP_MASK (0x1U)
  14614. #define CAAM_CC2MR_AP_SHIFT (0U)
  14615. /*! AP
  14616. * 0b0..Authenticate
  14617. * 0b1..Protect
  14618. */
  14619. #define CAAM_CC2MR_AP(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC2MR_AP_SHIFT)) & CAAM_CC2MR_AP_MASK)
  14620. #define CAAM_CC2MR_ICV_MASK (0x2U)
  14621. #define CAAM_CC2MR_ICV_SHIFT (1U)
  14622. /*! ICV
  14623. * 0b0..Don't compare the calculated ICV against a received ICV.
  14624. * 0b1..Compare the calculated ICV against a received ICV.
  14625. */
  14626. #define CAAM_CC2MR_ICV(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC2MR_ICV_SHIFT)) & CAAM_CC2MR_ICV_MASK)
  14627. #define CAAM_CC2MR_AS_MASK (0xCU)
  14628. #define CAAM_CC2MR_AS_SHIFT (2U)
  14629. /*! AS
  14630. * 0b00..Update.
  14631. * 0b01..Initialize.
  14632. * 0b10..Finalize.
  14633. * 0b11..Initialize/Finalize.
  14634. */
  14635. #define CAAM_CC2MR_AS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC2MR_AS_SHIFT)) & CAAM_CC2MR_AS_MASK)
  14636. #define CAAM_CC2MR_AAI_MASK (0x1FF0U)
  14637. #define CAAM_CC2MR_AAI_SHIFT (4U)
  14638. #define CAAM_CC2MR_AAI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC2MR_AAI_SHIFT)) & CAAM_CC2MR_AAI_MASK)
  14639. #define CAAM_CC2MR_ALG_MASK (0xFF0000U)
  14640. #define CAAM_CC2MR_ALG_SHIFT (16U)
  14641. /*! ALG
  14642. * 0b01000000..MD5
  14643. * 0b01000001..SHA-1
  14644. * 0b01000010..SHA-224
  14645. * 0b01000011..SHA-256
  14646. * 0b01000100..SHA-384
  14647. * 0b01000101..SHA-512
  14648. * 0b01000110..SHA-512/224
  14649. * 0b01000111..SHA-512/256
  14650. * 0b10010000..CRC
  14651. */
  14652. #define CAAM_CC2MR_ALG(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC2MR_ALG_SHIFT)) & CAAM_CC2MR_ALG_MASK)
  14653. /*! @} */
  14654. /* The count of CAAM_CC2MR */
  14655. #define CAAM_CC2MR_COUNT (1U)
  14656. /*! @name CC2KSR - CCB 0 Class 2 Key Size Register */
  14657. /*! @{ */
  14658. #define CAAM_CC2KSR_C2KS_MASK (0xFFU)
  14659. #define CAAM_CC2KSR_C2KS_SHIFT (0U)
  14660. #define CAAM_CC2KSR_C2KS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC2KSR_C2KS_SHIFT)) & CAAM_CC2KSR_C2KS_MASK)
  14661. /*! @} */
  14662. /* The count of CAAM_CC2KSR */
  14663. #define CAAM_CC2KSR_COUNT (1U)
  14664. /*! @name CC2DSR - CCB 0 Class 2 Data Size Register */
  14665. /*! @{ */
  14666. #define CAAM_CC2DSR_C2DS_MASK (0xFFFFFFFFU)
  14667. #define CAAM_CC2DSR_C2DS_SHIFT (0U)
  14668. #define CAAM_CC2DSR_C2DS(x) (((uint64_t)(((uint64_t)(x)) << CAAM_CC2DSR_C2DS_SHIFT)) & CAAM_CC2DSR_C2DS_MASK)
  14669. #define CAAM_CC2DSR_C2CY_MASK (0x100000000U)
  14670. #define CAAM_CC2DSR_C2CY_SHIFT (32U)
  14671. /*! C2CY
  14672. * 0b0..A write to the Class 2 Data Size Register did not cause a carry.
  14673. * 0b1..A write to the Class 2 Data Size Register caused a carry.
  14674. */
  14675. #define CAAM_CC2DSR_C2CY(x) (((uint64_t)(((uint64_t)(x)) << CAAM_CC2DSR_C2CY_SHIFT)) & CAAM_CC2DSR_C2CY_MASK)
  14676. #define CAAM_CC2DSR_NUMBITS_MASK (0xE000000000000000U)
  14677. #define CAAM_CC2DSR_NUMBITS_SHIFT (61U)
  14678. #define CAAM_CC2DSR_NUMBITS(x) (((uint64_t)(((uint64_t)(x)) << CAAM_CC2DSR_NUMBITS_SHIFT)) & CAAM_CC2DSR_NUMBITS_MASK)
  14679. /*! @} */
  14680. /* The count of CAAM_CC2DSR */
  14681. #define CAAM_CC2DSR_COUNT (1U)
  14682. /*! @name CC2ICVSZR - CCB 0 Class 2 ICV Size Register */
  14683. /*! @{ */
  14684. #define CAAM_CC2ICVSZR_ICVSZ_MASK (0xFU)
  14685. #define CAAM_CC2ICVSZR_ICVSZ_SHIFT (0U)
  14686. #define CAAM_CC2ICVSZR_ICVSZ(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC2ICVSZR_ICVSZ_SHIFT)) & CAAM_CC2ICVSZR_ICVSZ_MASK)
  14687. /*! @} */
  14688. /* The count of CAAM_CC2ICVSZR */
  14689. #define CAAM_CC2ICVSZR_COUNT (1U)
  14690. /*! @name CC2CTXR - CCB 0 Class 2 Context Register Word 0..CCB 0 Class 2 Context Register Word 17 */
  14691. /*! @{ */
  14692. #define CAAM_CC2CTXR_C2CTXR_MASK (0xFFFFFFFFU)
  14693. #define CAAM_CC2CTXR_C2CTXR_SHIFT (0U)
  14694. #define CAAM_CC2CTXR_C2CTXR(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC2CTXR_C2CTXR_SHIFT)) & CAAM_CC2CTXR_C2CTXR_MASK)
  14695. /*! @} */
  14696. /* The count of CAAM_CC2CTXR */
  14697. #define CAAM_CC2CTXR_COUNT (1U)
  14698. /* The count of CAAM_CC2CTXR */
  14699. #define CAAM_CC2CTXR_COUNT2 (18U)
  14700. /*! @name CC2KEYR - CCB 0 Class 2 Key Register Word 0..CCB 0 Class 2 Key Register Word 31 */
  14701. /*! @{ */
  14702. #define CAAM_CC2KEYR_C2KEY_MASK (0xFFFFFFFFU)
  14703. #define CAAM_CC2KEYR_C2KEY_SHIFT (0U)
  14704. #define CAAM_CC2KEYR_C2KEY(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC2KEYR_C2KEY_SHIFT)) & CAAM_CC2KEYR_C2KEY_MASK)
  14705. /*! @} */
  14706. /* The count of CAAM_CC2KEYR */
  14707. #define CAAM_CC2KEYR_COUNT (1U)
  14708. /* The count of CAAM_CC2KEYR */
  14709. #define CAAM_CC2KEYR_COUNT2 (32U)
  14710. /*! @name CFIFOSTA - CCB 0 FIFO Status Register */
  14711. /*! @{ */
  14712. #define CAAM_CFIFOSTA_DECOOQHEAD_MASK (0xFFU)
  14713. #define CAAM_CFIFOSTA_DECOOQHEAD_SHIFT (0U)
  14714. #define CAAM_CFIFOSTA_DECOOQHEAD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CFIFOSTA_DECOOQHEAD_SHIFT)) & CAAM_CFIFOSTA_DECOOQHEAD_MASK)
  14715. #define CAAM_CFIFOSTA_DMAOQHEAD_MASK (0xFF00U)
  14716. #define CAAM_CFIFOSTA_DMAOQHEAD_SHIFT (8U)
  14717. #define CAAM_CFIFOSTA_DMAOQHEAD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CFIFOSTA_DMAOQHEAD_SHIFT)) & CAAM_CFIFOSTA_DMAOQHEAD_MASK)
  14718. #define CAAM_CFIFOSTA_C2IQHEAD_MASK (0xFF0000U)
  14719. #define CAAM_CFIFOSTA_C2IQHEAD_SHIFT (16U)
  14720. #define CAAM_CFIFOSTA_C2IQHEAD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CFIFOSTA_C2IQHEAD_SHIFT)) & CAAM_CFIFOSTA_C2IQHEAD_MASK)
  14721. #define CAAM_CFIFOSTA_C1IQHEAD_MASK (0xFF000000U)
  14722. #define CAAM_CFIFOSTA_C1IQHEAD_SHIFT (24U)
  14723. #define CAAM_CFIFOSTA_C1IQHEAD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CFIFOSTA_C1IQHEAD_SHIFT)) & CAAM_CFIFOSTA_C1IQHEAD_MASK)
  14724. /*! @} */
  14725. /* The count of CAAM_CFIFOSTA */
  14726. #define CAAM_CFIFOSTA_COUNT (1U)
  14727. /*! @name CNFIFO - CCB 0 iNformation FIFO When STYPE != 10b */
  14728. /*! @{ */
  14729. #define CAAM_CNFIFO_DL_MASK (0xFFFU)
  14730. #define CAAM_CNFIFO_DL_SHIFT (0U)
  14731. #define CAAM_CNFIFO_DL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_DL_SHIFT)) & CAAM_CNFIFO_DL_MASK)
  14732. #define CAAM_CNFIFO_AST_MASK (0x4000U)
  14733. #define CAAM_CNFIFO_AST_SHIFT (14U)
  14734. #define CAAM_CNFIFO_AST(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_AST_SHIFT)) & CAAM_CNFIFO_AST_MASK)
  14735. #define CAAM_CNFIFO_OC_MASK (0x8000U)
  14736. #define CAAM_CNFIFO_OC_SHIFT (15U)
  14737. /*! OC
  14738. * 0b0..Allow the final word to be popped from the Output Data FIFO.
  14739. * 0b1..Don't pop the final word from the Output Data FIFO.
  14740. */
  14741. #define CAAM_CNFIFO_OC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_OC_SHIFT)) & CAAM_CNFIFO_OC_MASK)
  14742. #define CAAM_CNFIFO_PTYPE_MASK (0x70000U)
  14743. #define CAAM_CNFIFO_PTYPE_SHIFT (16U)
  14744. #define CAAM_CNFIFO_PTYPE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_PTYPE_SHIFT)) & CAAM_CNFIFO_PTYPE_MASK)
  14745. #define CAAM_CNFIFO_BND_MASK (0x80000U)
  14746. #define CAAM_CNFIFO_BND_SHIFT (19U)
  14747. /*! BND
  14748. * 0b0..Don't pad.
  14749. * 0b1..Pad to the next 16-byte boundary.
  14750. */
  14751. #define CAAM_CNFIFO_BND(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_BND_SHIFT)) & CAAM_CNFIFO_BND_MASK)
  14752. #define CAAM_CNFIFO_DTYPE_MASK (0xF00000U)
  14753. #define CAAM_CNFIFO_DTYPE_SHIFT (20U)
  14754. #define CAAM_CNFIFO_DTYPE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_DTYPE_SHIFT)) & CAAM_CNFIFO_DTYPE_MASK)
  14755. #define CAAM_CNFIFO_STYPE_MASK (0x3000000U)
  14756. #define CAAM_CNFIFO_STYPE_SHIFT (24U)
  14757. #define CAAM_CNFIFO_STYPE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_STYPE_SHIFT)) & CAAM_CNFIFO_STYPE_MASK)
  14758. #define CAAM_CNFIFO_FC1_MASK (0x4000000U)
  14759. #define CAAM_CNFIFO_FC1_SHIFT (26U)
  14760. /*! FC1
  14761. * 0b0..Don't flush Class 1 data.
  14762. * 0b1..Flush Class 1 data.
  14763. */
  14764. #define CAAM_CNFIFO_FC1(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_FC1_SHIFT)) & CAAM_CNFIFO_FC1_MASK)
  14765. #define CAAM_CNFIFO_FC2_MASK (0x8000000U)
  14766. #define CAAM_CNFIFO_FC2_SHIFT (27U)
  14767. /*! FC2
  14768. * 0b0..Don't flush Class 2 data.
  14769. * 0b1..Flush Class 2 data.
  14770. */
  14771. #define CAAM_CNFIFO_FC2(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_FC2_SHIFT)) & CAAM_CNFIFO_FC2_MASK)
  14772. #define CAAM_CNFIFO_LC1_MASK (0x10000000U)
  14773. #define CAAM_CNFIFO_LC1_SHIFT (28U)
  14774. /*! LC1
  14775. * 0b0..This is not the last Class 1 data.
  14776. * 0b1..This is the last Class 1 data.
  14777. */
  14778. #define CAAM_CNFIFO_LC1(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_LC1_SHIFT)) & CAAM_CNFIFO_LC1_MASK)
  14779. #define CAAM_CNFIFO_LC2_MASK (0x20000000U)
  14780. #define CAAM_CNFIFO_LC2_SHIFT (29U)
  14781. /*! LC2
  14782. * 0b0..This is not the last Class 2 data.
  14783. * 0b1..This is the last Class 2 data.
  14784. */
  14785. #define CAAM_CNFIFO_LC2(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_LC2_SHIFT)) & CAAM_CNFIFO_LC2_MASK)
  14786. #define CAAM_CNFIFO_DEST_MASK (0xC0000000U)
  14787. #define CAAM_CNFIFO_DEST_SHIFT (30U)
  14788. /*! DEST
  14789. * 0b00..DECO Alignment Block. If DTYPE == Eh, data sent to the DECO Alignment Block is dropped. This is used to
  14790. * skip over input data. An error is generated if a DTYPE other than Eh (drop) or Fh (message) is used with
  14791. * the DECO Alignment Block destination.
  14792. * 0b01..Class 1.
  14793. * 0b10..Class 2.
  14794. * 0b11..Both Class 1 and Class 2.
  14795. */
  14796. #define CAAM_CNFIFO_DEST(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_DEST_SHIFT)) & CAAM_CNFIFO_DEST_MASK)
  14797. /*! @} */
  14798. /* The count of CAAM_CNFIFO */
  14799. #define CAAM_CNFIFO_COUNT (1U)
  14800. /*! @name CNFIFO_2 - CCB 0 iNformation FIFO When STYPE == 10b */
  14801. /*! @{ */
  14802. #define CAAM_CNFIFO_2_PL_MASK (0x7FU)
  14803. #define CAAM_CNFIFO_2_PL_SHIFT (0U)
  14804. #define CAAM_CNFIFO_2_PL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_2_PL_SHIFT)) & CAAM_CNFIFO_2_PL_MASK)
  14805. #define CAAM_CNFIFO_2_PS_MASK (0x400U)
  14806. #define CAAM_CNFIFO_2_PS_SHIFT (10U)
  14807. /*! PS
  14808. * 0b0..C2 CHA snoops pad data from padding block.
  14809. * 0b1..C2 CHA snoops pad data from OFIFO.
  14810. */
  14811. #define CAAM_CNFIFO_2_PS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_2_PS_SHIFT)) & CAAM_CNFIFO_2_PS_MASK)
  14812. #define CAAM_CNFIFO_2_BM_MASK (0x800U)
  14813. #define CAAM_CNFIFO_2_BM_SHIFT (11U)
  14814. /*! BM
  14815. * 0b0..When padding, pad to power-of-2 boundary.
  14816. * 0b1..When padding, pad to power-of-2 boundary minus 1 byte.
  14817. */
  14818. #define CAAM_CNFIFO_2_BM(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_2_BM_SHIFT)) & CAAM_CNFIFO_2_BM_MASK)
  14819. #define CAAM_CNFIFO_2_PR_MASK (0x8000U)
  14820. #define CAAM_CNFIFO_2_PR_SHIFT (15U)
  14821. /*! PR
  14822. * 0b0..No prediction resistance.
  14823. * 0b1..Prediction resistance.
  14824. */
  14825. #define CAAM_CNFIFO_2_PR(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_2_PR_SHIFT)) & CAAM_CNFIFO_2_PR_MASK)
  14826. #define CAAM_CNFIFO_2_PTYPE_MASK (0x70000U)
  14827. #define CAAM_CNFIFO_2_PTYPE_SHIFT (16U)
  14828. /*! PTYPE
  14829. * 0b000..All Zero.
  14830. * 0b001..Random with nonzero bytes.
  14831. * 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.
  14832. * 0b011..Random.
  14833. * 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.
  14834. * 0b101..Random with nonzero bytes with last byte 0.
  14835. * 0b110..N bytes of padding all containing the value N-1.
  14836. * 0b111..Random with nonzero bytes, with the last byte containing the value N-1.
  14837. */
  14838. #define CAAM_CNFIFO_2_PTYPE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_2_PTYPE_SHIFT)) & CAAM_CNFIFO_2_PTYPE_MASK)
  14839. #define CAAM_CNFIFO_2_BND_MASK (0x80000U)
  14840. #define CAAM_CNFIFO_2_BND_SHIFT (19U)
  14841. /*! BND
  14842. * 0b0..Don't add boundary padding.
  14843. * 0b1..Add boundary padding.
  14844. */
  14845. #define CAAM_CNFIFO_2_BND(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_2_BND_SHIFT)) & CAAM_CNFIFO_2_BND_MASK)
  14846. #define CAAM_CNFIFO_2_DTYPE_MASK (0xF00000U)
  14847. #define CAAM_CNFIFO_2_DTYPE_SHIFT (20U)
  14848. #define CAAM_CNFIFO_2_DTYPE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_2_DTYPE_SHIFT)) & CAAM_CNFIFO_2_DTYPE_MASK)
  14849. #define CAAM_CNFIFO_2_STYPE_MASK (0x3000000U)
  14850. #define CAAM_CNFIFO_2_STYPE_SHIFT (24U)
  14851. #define CAAM_CNFIFO_2_STYPE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_2_STYPE_SHIFT)) & CAAM_CNFIFO_2_STYPE_MASK)
  14852. #define CAAM_CNFIFO_2_FC1_MASK (0x4000000U)
  14853. #define CAAM_CNFIFO_2_FC1_SHIFT (26U)
  14854. /*! FC1
  14855. * 0b0..Don't flush the Class 1 data.
  14856. * 0b1..Flush the Class 1 data.
  14857. */
  14858. #define CAAM_CNFIFO_2_FC1(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_2_FC1_SHIFT)) & CAAM_CNFIFO_2_FC1_MASK)
  14859. #define CAAM_CNFIFO_2_FC2_MASK (0x8000000U)
  14860. #define CAAM_CNFIFO_2_FC2_SHIFT (27U)
  14861. /*! FC2
  14862. * 0b0..Don't flush the Class 2 data.
  14863. * 0b1..Flush the Class 2 data.
  14864. */
  14865. #define CAAM_CNFIFO_2_FC2(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_2_FC2_SHIFT)) & CAAM_CNFIFO_2_FC2_MASK)
  14866. #define CAAM_CNFIFO_2_LC1_MASK (0x10000000U)
  14867. #define CAAM_CNFIFO_2_LC1_SHIFT (28U)
  14868. /*! LC1
  14869. * 0b0..This is not the last Class 1 data.
  14870. * 0b1..This is the last Class 1 data.
  14871. */
  14872. #define CAAM_CNFIFO_2_LC1(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_2_LC1_SHIFT)) & CAAM_CNFIFO_2_LC1_MASK)
  14873. #define CAAM_CNFIFO_2_LC2_MASK (0x20000000U)
  14874. #define CAAM_CNFIFO_2_LC2_SHIFT (29U)
  14875. /*! LC2
  14876. * 0b0..This is not the last Class 2 data.
  14877. * 0b1..This is the last Class 2 data.
  14878. */
  14879. #define CAAM_CNFIFO_2_LC2(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_2_LC2_SHIFT)) & CAAM_CNFIFO_2_LC2_MASK)
  14880. #define CAAM_CNFIFO_2_DEST_MASK (0xC0000000U)
  14881. #define CAAM_CNFIFO_2_DEST_SHIFT (30U)
  14882. /*! DEST
  14883. * 0b00..DECO Alignment Block. If DTYPE is Eh, data sent to the DECO Alignment Block is dropped. This is used to
  14884. * skip over input data. An error is generated if a DTYPE other than Eh (drop) or Fh (message) is used with
  14885. * the DECO Alignment Block destination.
  14886. * 0b01..Class 1.
  14887. * 0b10..Class 2.
  14888. * 0b11..Both Class 1 and Class 2.
  14889. */
  14890. #define CAAM_CNFIFO_2_DEST(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_2_DEST_SHIFT)) & CAAM_CNFIFO_2_DEST_MASK)
  14891. /*! @} */
  14892. /* The count of CAAM_CNFIFO_2 */
  14893. #define CAAM_CNFIFO_2_COUNT (1U)
  14894. /*! @name CIFIFO - CCB 0 Input Data FIFO */
  14895. /*! @{ */
  14896. #define CAAM_CIFIFO_IFIFO_MASK (0xFFFFFFFFU)
  14897. #define CAAM_CIFIFO_IFIFO_SHIFT (0U)
  14898. #define CAAM_CIFIFO_IFIFO(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CIFIFO_IFIFO_SHIFT)) & CAAM_CIFIFO_IFIFO_MASK)
  14899. /*! @} */
  14900. /* The count of CAAM_CIFIFO */
  14901. #define CAAM_CIFIFO_COUNT (1U)
  14902. /*! @name COFIFO - CCB 0 Output Data FIFO */
  14903. /*! @{ */
  14904. #define CAAM_COFIFO_OFIFO_MASK (0xFFFFFFFFFFFFFFFFU)
  14905. #define CAAM_COFIFO_OFIFO_SHIFT (0U)
  14906. #define CAAM_COFIFO_OFIFO(x) (((uint64_t)(((uint64_t)(x)) << CAAM_COFIFO_OFIFO_SHIFT)) & CAAM_COFIFO_OFIFO_MASK)
  14907. /*! @} */
  14908. /* The count of CAAM_COFIFO */
  14909. #define CAAM_COFIFO_COUNT (1U)
  14910. /*! @name DJQCR_MS - DECO0 Job Queue Control Register, most-significant half */
  14911. /*! @{ */
  14912. #define CAAM_DJQCR_MS_ID_MASK (0x7U)
  14913. #define CAAM_DJQCR_MS_ID_SHIFT (0U)
  14914. #define CAAM_DJQCR_MS_ID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DJQCR_MS_ID_SHIFT)) & CAAM_DJQCR_MS_ID_MASK)
  14915. #define CAAM_DJQCR_MS_SRC_MASK (0x700U)
  14916. #define CAAM_DJQCR_MS_SRC_SHIFT (8U)
  14917. /*! SRC
  14918. * 0b000..Job Ring 0
  14919. * 0b001..Job Ring 1
  14920. * 0b010..Job Ring 2
  14921. * 0b011..Job Ring 3
  14922. * 0b100..RTIC
  14923. * 0b101..Reserved
  14924. * 0b110..Reserved
  14925. * 0b111..Reserved
  14926. */
  14927. #define CAAM_DJQCR_MS_SRC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DJQCR_MS_SRC_SHIFT)) & CAAM_DJQCR_MS_SRC_MASK)
  14928. #define CAAM_DJQCR_MS_AMTD_MASK (0x8000U)
  14929. #define CAAM_DJQCR_MS_AMTD_SHIFT (15U)
  14930. /*! AMTD
  14931. * 0b0..The Allowed Make Trusted Descriptor bit was NOT set.
  14932. * 0b1..The Allowed Make Trusted Descriptor bit was set.
  14933. */
  14934. #define CAAM_DJQCR_MS_AMTD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DJQCR_MS_AMTD_SHIFT)) & CAAM_DJQCR_MS_AMTD_MASK)
  14935. #define CAAM_DJQCR_MS_SOB_MASK (0x10000U)
  14936. #define CAAM_DJQCR_MS_SOB_SHIFT (16U)
  14937. /*! SOB
  14938. * 0b0..Shared Descriptor has NOT been loaded.
  14939. * 0b1..Shared Descriptor HAS been loaded.
  14940. */
  14941. #define CAAM_DJQCR_MS_SOB(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DJQCR_MS_SOB_SHIFT)) & CAAM_DJQCR_MS_SOB_MASK)
  14942. #define CAAM_DJQCR_MS_DWS_MASK (0x80000U)
  14943. #define CAAM_DJQCR_MS_DWS_SHIFT (19U)
  14944. /*! DWS
  14945. * 0b0..Double Word Swap is NOT set.
  14946. * 0b1..Double Word Swap is set.
  14947. */
  14948. #define CAAM_DJQCR_MS_DWS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DJQCR_MS_DWS_SHIFT)) & CAAM_DJQCR_MS_DWS_MASK)
  14949. #define CAAM_DJQCR_MS_SHR_FROM_MASK (0x7000000U)
  14950. #define CAAM_DJQCR_MS_SHR_FROM_SHIFT (24U)
  14951. #define CAAM_DJQCR_MS_SHR_FROM(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DJQCR_MS_SHR_FROM_SHIFT)) & CAAM_DJQCR_MS_SHR_FROM_MASK)
  14952. #define CAAM_DJQCR_MS_ILE_MASK (0x8000000U)
  14953. #define CAAM_DJQCR_MS_ILE_SHIFT (27U)
  14954. /*! ILE
  14955. * 0b0..No byte-swapping is performed for immediate data transferred to or from the Descriptor Buffer.
  14956. * 0b1..Byte-swapping is performed for immediate data transferred to or from the Descriptor Buffer.
  14957. */
  14958. #define CAAM_DJQCR_MS_ILE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DJQCR_MS_ILE_SHIFT)) & CAAM_DJQCR_MS_ILE_MASK)
  14959. #define CAAM_DJQCR_MS_FOUR_MASK (0x10000000U)
  14960. #define CAAM_DJQCR_MS_FOUR_SHIFT (28U)
  14961. /*! FOUR
  14962. * 0b0..DECO has not been given at least four words of the descriptor.
  14963. * 0b1..DECO has been given at least four words of the descriptor.
  14964. */
  14965. #define CAAM_DJQCR_MS_FOUR(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DJQCR_MS_FOUR_SHIFT)) & CAAM_DJQCR_MS_FOUR_MASK)
  14966. #define CAAM_DJQCR_MS_WHL_MASK (0x20000000U)
  14967. #define CAAM_DJQCR_MS_WHL_SHIFT (29U)
  14968. /*! WHL
  14969. * 0b0..DECO has not been given the whole descriptor.
  14970. * 0b1..DECO has been given the whole descriptor.
  14971. */
  14972. #define CAAM_DJQCR_MS_WHL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DJQCR_MS_WHL_SHIFT)) & CAAM_DJQCR_MS_WHL_MASK)
  14973. #define CAAM_DJQCR_MS_SING_MASK (0x40000000U)
  14974. #define CAAM_DJQCR_MS_SING_SHIFT (30U)
  14975. /*! SING
  14976. * 0b0..Do not tell DECO to execute the descriptor in single-step mode.
  14977. * 0b1..Tell DECO to execute the descriptor in single-step mode.
  14978. */
  14979. #define CAAM_DJQCR_MS_SING(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DJQCR_MS_SING_SHIFT)) & CAAM_DJQCR_MS_SING_MASK)
  14980. #define CAAM_DJQCR_MS_STEP_MASK (0x80000000U)
  14981. #define CAAM_DJQCR_MS_STEP_SHIFT (31U)
  14982. /*! STEP
  14983. * 0b0..DECO has not been told to execute the next command in the descriptor.
  14984. * 0b1..DECO has been told to execute the next command in the descriptor.
  14985. */
  14986. #define CAAM_DJQCR_MS_STEP(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DJQCR_MS_STEP_SHIFT)) & CAAM_DJQCR_MS_STEP_MASK)
  14987. /*! @} */
  14988. /* The count of CAAM_DJQCR_MS */
  14989. #define CAAM_DJQCR_MS_COUNT (1U)
  14990. /*! @name DJQCR_LS - DECO0 Job Queue Control Register, least-significant half */
  14991. /*! @{ */
  14992. #define CAAM_DJQCR_LS_CMD_MASK (0xFFFFFFFFU)
  14993. #define CAAM_DJQCR_LS_CMD_SHIFT (0U)
  14994. #define CAAM_DJQCR_LS_CMD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DJQCR_LS_CMD_SHIFT)) & CAAM_DJQCR_LS_CMD_MASK)
  14995. /*! @} */
  14996. /* The count of CAAM_DJQCR_LS */
  14997. #define CAAM_DJQCR_LS_COUNT (1U)
  14998. /*! @name DDAR - DECO0 Descriptor Address Register */
  14999. /*! @{ */
  15000. #define CAAM_DDAR_DPTR_MASK (0xFFFFFFFFFU)
  15001. #define CAAM_DDAR_DPTR_SHIFT (0U)
  15002. #define CAAM_DDAR_DPTR(x) (((uint64_t)(((uint64_t)(x)) << CAAM_DDAR_DPTR_SHIFT)) & CAAM_DDAR_DPTR_MASK)
  15003. /*! @} */
  15004. /* The count of CAAM_DDAR */
  15005. #define CAAM_DDAR_COUNT (1U)
  15006. /*! @name DOPSTA_MS - DECO0 Operation Status Register, most-significant half */
  15007. /*! @{ */
  15008. #define CAAM_DOPSTA_MS_STATUS_MASK (0xFFU)
  15009. #define CAAM_DOPSTA_MS_STATUS_SHIFT (0U)
  15010. #define CAAM_DOPSTA_MS_STATUS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DOPSTA_MS_STATUS_SHIFT)) & CAAM_DOPSTA_MS_STATUS_MASK)
  15011. #define CAAM_DOPSTA_MS_COMMAND_INDEX_MASK (0x7F00U)
  15012. #define CAAM_DOPSTA_MS_COMMAND_INDEX_SHIFT (8U)
  15013. #define CAAM_DOPSTA_MS_COMMAND_INDEX(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DOPSTA_MS_COMMAND_INDEX_SHIFT)) & CAAM_DOPSTA_MS_COMMAND_INDEX_MASK)
  15014. #define CAAM_DOPSTA_MS_NLJ_MASK (0x8000000U)
  15015. #define CAAM_DOPSTA_MS_NLJ_SHIFT (27U)
  15016. /*! NLJ
  15017. * 0b0..The original job descriptor running in this DECO has not caused another job descriptor to be executed.
  15018. * 0b1..The original job descriptor running in this DECO has caused another job descriptor to be executed.
  15019. */
  15020. #define CAAM_DOPSTA_MS_NLJ(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DOPSTA_MS_NLJ_SHIFT)) & CAAM_DOPSTA_MS_NLJ_MASK)
  15021. #define CAAM_DOPSTA_MS_STATUS_TYPE_MASK (0xF0000000U)
  15022. #define CAAM_DOPSTA_MS_STATUS_TYPE_SHIFT (28U)
  15023. /*! STATUS_TYPE
  15024. * 0b0000..no error
  15025. * 0b0001..DMA error
  15026. * 0b0010..CCB error
  15027. * 0b0011..Jump Halt User Status
  15028. * 0b0100..DECO error
  15029. * 0b0101, 0b0110..Reserved
  15030. * 0b0111..Jump Halt Condition Code
  15031. */
  15032. #define CAAM_DOPSTA_MS_STATUS_TYPE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DOPSTA_MS_STATUS_TYPE_SHIFT)) & CAAM_DOPSTA_MS_STATUS_TYPE_MASK)
  15033. /*! @} */
  15034. /* The count of CAAM_DOPSTA_MS */
  15035. #define CAAM_DOPSTA_MS_COUNT (1U)
  15036. /*! @name DOPSTA_LS - DECO0 Operation Status Register, least-significant half */
  15037. /*! @{ */
  15038. #define CAAM_DOPSTA_LS_OUT_CT_MASK (0xFFFFFFFFU)
  15039. #define CAAM_DOPSTA_LS_OUT_CT_SHIFT (0U)
  15040. #define CAAM_DOPSTA_LS_OUT_CT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DOPSTA_LS_OUT_CT_SHIFT)) & CAAM_DOPSTA_LS_OUT_CT_MASK)
  15041. /*! @} */
  15042. /* The count of CAAM_DOPSTA_LS */
  15043. #define CAAM_DOPSTA_LS_COUNT (1U)
  15044. /*! @name DPDIDSR - DECO0 Primary DID Status Register */
  15045. /*! @{ */
  15046. #define CAAM_DPDIDSR_PRIM_DID_MASK (0xFU)
  15047. #define CAAM_DPDIDSR_PRIM_DID_SHIFT (0U)
  15048. #define CAAM_DPDIDSR_PRIM_DID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DPDIDSR_PRIM_DID_SHIFT)) & CAAM_DPDIDSR_PRIM_DID_MASK)
  15049. #define CAAM_DPDIDSR_PRIM_ICID_MASK (0x3FF80000U)
  15050. #define CAAM_DPDIDSR_PRIM_ICID_SHIFT (19U)
  15051. #define CAAM_DPDIDSR_PRIM_ICID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DPDIDSR_PRIM_ICID_SHIFT)) & CAAM_DPDIDSR_PRIM_ICID_MASK)
  15052. /*! @} */
  15053. /* The count of CAAM_DPDIDSR */
  15054. #define CAAM_DPDIDSR_COUNT (1U)
  15055. /*! @name DODIDSR - DECO0 Output DID Status Register */
  15056. /*! @{ */
  15057. #define CAAM_DODIDSR_OUT_DID_MASK (0xFU)
  15058. #define CAAM_DODIDSR_OUT_DID_SHIFT (0U)
  15059. #define CAAM_DODIDSR_OUT_DID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DODIDSR_OUT_DID_SHIFT)) & CAAM_DODIDSR_OUT_DID_MASK)
  15060. #define CAAM_DODIDSR_OUT_ICID_MASK (0x3FF80000U)
  15061. #define CAAM_DODIDSR_OUT_ICID_SHIFT (19U)
  15062. #define CAAM_DODIDSR_OUT_ICID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DODIDSR_OUT_ICID_SHIFT)) & CAAM_DODIDSR_OUT_ICID_MASK)
  15063. /*! @} */
  15064. /* The count of CAAM_DODIDSR */
  15065. #define CAAM_DODIDSR_COUNT (1U)
  15066. /*! @name DMTH_MS - DECO0 Math Register 0_MS..DECO0 Math Register 3_MS */
  15067. /*! @{ */
  15068. #define CAAM_DMTH_MS_MATH_MS_MASK (0xFFFFFFFFU)
  15069. #define CAAM_DMTH_MS_MATH_MS_SHIFT (0U)
  15070. #define CAAM_DMTH_MS_MATH_MS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMTH_MS_MATH_MS_SHIFT)) & CAAM_DMTH_MS_MATH_MS_MASK)
  15071. /*! @} */
  15072. /* The count of CAAM_DMTH_MS */
  15073. #define CAAM_DMTH_MS_COUNT (1U)
  15074. /* The count of CAAM_DMTH_MS */
  15075. #define CAAM_DMTH_MS_COUNT2 (4U)
  15076. /*! @name DMTH_LS - DECO0 Math Register 0_LS..DECO0 Math Register 3_LS */
  15077. /*! @{ */
  15078. #define CAAM_DMTH_LS_MATH_LS_MASK (0xFFFFFFFFU)
  15079. #define CAAM_DMTH_LS_MATH_LS_SHIFT (0U)
  15080. #define CAAM_DMTH_LS_MATH_LS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMTH_LS_MATH_LS_SHIFT)) & CAAM_DMTH_LS_MATH_LS_MASK)
  15081. /*! @} */
  15082. /* The count of CAAM_DMTH_LS */
  15083. #define CAAM_DMTH_LS_COUNT (1U)
  15084. /* The count of CAAM_DMTH_LS */
  15085. #define CAAM_DMTH_LS_COUNT2 (4U)
  15086. /*! @name DGTR_0 - DECO0 Gather Table Register 0 Word 0 */
  15087. /*! @{ */
  15088. #define CAAM_DGTR_0_ADDRESS_POINTER_MASK (0xFU)
  15089. #define CAAM_DGTR_0_ADDRESS_POINTER_SHIFT (0U)
  15090. /*! ADDRESS_POINTER - most-significant bits of memory address pointed to by table entry
  15091. */
  15092. #define CAAM_DGTR_0_ADDRESS_POINTER(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DGTR_0_ADDRESS_POINTER_SHIFT)) & CAAM_DGTR_0_ADDRESS_POINTER_MASK)
  15093. /*! @} */
  15094. /* The count of CAAM_DGTR_0 */
  15095. #define CAAM_DGTR_0_COUNT (1U)
  15096. /* The count of CAAM_DGTR_0 */
  15097. #define CAAM_DGTR_0_COUNT2 (1U)
  15098. /*! @name DGTR_1 - DECO0 Gather Table Register 0 Word 1 */
  15099. /*! @{ */
  15100. #define CAAM_DGTR_1_ADDRESS_POINTER_MASK (0xFFFFFFFFU)
  15101. #define CAAM_DGTR_1_ADDRESS_POINTER_SHIFT (0U)
  15102. #define CAAM_DGTR_1_ADDRESS_POINTER(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DGTR_1_ADDRESS_POINTER_SHIFT)) & CAAM_DGTR_1_ADDRESS_POINTER_MASK)
  15103. /*! @} */
  15104. /* The count of CAAM_DGTR_1 */
  15105. #define CAAM_DGTR_1_COUNT (1U)
  15106. /* The count of CAAM_DGTR_1 */
  15107. #define CAAM_DGTR_1_COUNT2 (1U)
  15108. /*! @name DGTR_2 - DECO0 Gather Table Register 0 Word 2 */
  15109. /*! @{ */
  15110. #define CAAM_DGTR_2_Length_MASK (0x3FFFFFFFU)
  15111. #define CAAM_DGTR_2_Length_SHIFT (0U)
  15112. #define CAAM_DGTR_2_Length(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DGTR_2_Length_SHIFT)) & CAAM_DGTR_2_Length_MASK)
  15113. #define CAAM_DGTR_2_F_MASK (0x40000000U)
  15114. #define CAAM_DGTR_2_F_SHIFT (30U)
  15115. /*! F
  15116. * 0b0..This is not the last entry of the SGT.
  15117. * 0b1..This is the last entry of the SGT.
  15118. */
  15119. #define CAAM_DGTR_2_F(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DGTR_2_F_SHIFT)) & CAAM_DGTR_2_F_MASK)
  15120. #define CAAM_DGTR_2_E_MASK (0x80000000U)
  15121. #define CAAM_DGTR_2_E_SHIFT (31U)
  15122. /*! E
  15123. * 0b0..Address Pointer points to a memory buffer.
  15124. * 0b1..Address Pointer points to a Scatter/Gather Table Entry.
  15125. */
  15126. #define CAAM_DGTR_2_E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DGTR_2_E_SHIFT)) & CAAM_DGTR_2_E_MASK)
  15127. /*! @} */
  15128. /* The count of CAAM_DGTR_2 */
  15129. #define CAAM_DGTR_2_COUNT (1U)
  15130. /* The count of CAAM_DGTR_2 */
  15131. #define CAAM_DGTR_2_COUNT2 (1U)
  15132. /*! @name DGTR_3 - DECO0 Gather Table Register 0 Word 3 */
  15133. /*! @{ */
  15134. #define CAAM_DGTR_3_Offset_MASK (0x1FFFU)
  15135. #define CAAM_DGTR_3_Offset_SHIFT (0U)
  15136. #define CAAM_DGTR_3_Offset(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DGTR_3_Offset_SHIFT)) & CAAM_DGTR_3_Offset_MASK)
  15137. /*! @} */
  15138. /* The count of CAAM_DGTR_3 */
  15139. #define CAAM_DGTR_3_COUNT (1U)
  15140. /* The count of CAAM_DGTR_3 */
  15141. #define CAAM_DGTR_3_COUNT2 (1U)
  15142. /*! @name DSTR_0 - DECO0 Scatter Table Register 0 Word 0 */
  15143. /*! @{ */
  15144. #define CAAM_DSTR_0_ADDRESS_POINTER_MASK (0xFU)
  15145. #define CAAM_DSTR_0_ADDRESS_POINTER_SHIFT (0U)
  15146. /*! ADDRESS_POINTER - most-significant bits of memory address pointed to by table entry
  15147. */
  15148. #define CAAM_DSTR_0_ADDRESS_POINTER(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DSTR_0_ADDRESS_POINTER_SHIFT)) & CAAM_DSTR_0_ADDRESS_POINTER_MASK)
  15149. /*! @} */
  15150. /* The count of CAAM_DSTR_0 */
  15151. #define CAAM_DSTR_0_COUNT (1U)
  15152. /* The count of CAAM_DSTR_0 */
  15153. #define CAAM_DSTR_0_COUNT2 (1U)
  15154. /*! @name DSTR_1 - DECO0 Scatter Table Register 0 Word 1 */
  15155. /*! @{ */
  15156. #define CAAM_DSTR_1_ADDRESS_POINTER_MASK (0xFFFFFFFFU)
  15157. #define CAAM_DSTR_1_ADDRESS_POINTER_SHIFT (0U)
  15158. #define CAAM_DSTR_1_ADDRESS_POINTER(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DSTR_1_ADDRESS_POINTER_SHIFT)) & CAAM_DSTR_1_ADDRESS_POINTER_MASK)
  15159. /*! @} */
  15160. /* The count of CAAM_DSTR_1 */
  15161. #define CAAM_DSTR_1_COUNT (1U)
  15162. /* The count of CAAM_DSTR_1 */
  15163. #define CAAM_DSTR_1_COUNT2 (1U)
  15164. /*! @name DSTR_2 - DECO0 Scatter Table Register 0 Word 2 */
  15165. /*! @{ */
  15166. #define CAAM_DSTR_2_Length_MASK (0x3FFFFFFFU)
  15167. #define CAAM_DSTR_2_Length_SHIFT (0U)
  15168. #define CAAM_DSTR_2_Length(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DSTR_2_Length_SHIFT)) & CAAM_DSTR_2_Length_MASK)
  15169. #define CAAM_DSTR_2_F_MASK (0x40000000U)
  15170. #define CAAM_DSTR_2_F_SHIFT (30U)
  15171. /*! F
  15172. * 0b0..This is not the last entry of the SGT.
  15173. * 0b1..This is the last entry of the SGT.
  15174. */
  15175. #define CAAM_DSTR_2_F(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DSTR_2_F_SHIFT)) & CAAM_DSTR_2_F_MASK)
  15176. #define CAAM_DSTR_2_E_MASK (0x80000000U)
  15177. #define CAAM_DSTR_2_E_SHIFT (31U)
  15178. /*! E
  15179. * 0b0..Address Pointer points to a memory buffer.
  15180. * 0b1..Address Pointer points to a Scatter/Gather Table Entry.
  15181. */
  15182. #define CAAM_DSTR_2_E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DSTR_2_E_SHIFT)) & CAAM_DSTR_2_E_MASK)
  15183. /*! @} */
  15184. /* The count of CAAM_DSTR_2 */
  15185. #define CAAM_DSTR_2_COUNT (1U)
  15186. /* The count of CAAM_DSTR_2 */
  15187. #define CAAM_DSTR_2_COUNT2 (1U)
  15188. /*! @name DSTR_3 - DECO0 Scatter Table Register 0 Word 3 */
  15189. /*! @{ */
  15190. #define CAAM_DSTR_3_Offset_MASK (0x1FFFU)
  15191. #define CAAM_DSTR_3_Offset_SHIFT (0U)
  15192. #define CAAM_DSTR_3_Offset(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DSTR_3_Offset_SHIFT)) & CAAM_DSTR_3_Offset_MASK)
  15193. /*! @} */
  15194. /* The count of CAAM_DSTR_3 */
  15195. #define CAAM_DSTR_3_COUNT (1U)
  15196. /* The count of CAAM_DSTR_3 */
  15197. #define CAAM_DSTR_3_COUNT2 (1U)
  15198. /*! @name DDESB - DECO0 Descriptor Buffer Word 0..DECO0 Descriptor Buffer Word 63 */
  15199. /*! @{ */
  15200. #define CAAM_DDESB_DESBW_MASK (0xFFFFFFFFU)
  15201. #define CAAM_DDESB_DESBW_SHIFT (0U)
  15202. #define CAAM_DDESB_DESBW(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDESB_DESBW_SHIFT)) & CAAM_DDESB_DESBW_MASK)
  15203. /*! @} */
  15204. /* The count of CAAM_DDESB */
  15205. #define CAAM_DDESB_COUNT (1U)
  15206. /* The count of CAAM_DDESB */
  15207. #define CAAM_DDESB_COUNT2 (64U)
  15208. /*! @name DDJR - DECO0 Debug Job Register */
  15209. /*! @{ */
  15210. #define CAAM_DDJR_ID_MASK (0x7U)
  15211. #define CAAM_DDJR_ID_SHIFT (0U)
  15212. #define CAAM_DDJR_ID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDJR_ID_SHIFT)) & CAAM_DDJR_ID_MASK)
  15213. #define CAAM_DDJR_SRC_MASK (0x700U)
  15214. #define CAAM_DDJR_SRC_SHIFT (8U)
  15215. /*! SRC
  15216. * 0b000..Job Ring 0
  15217. * 0b001..Job Ring 1
  15218. * 0b010..Job Ring 2
  15219. * 0b011..Job Ring 3
  15220. * 0b100..RTIC
  15221. * 0b101, 0b110, 0b111..Reserved
  15222. */
  15223. #define CAAM_DDJR_SRC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDJR_SRC_SHIFT)) & CAAM_DDJR_SRC_MASK)
  15224. #define CAAM_DDJR_JDDS_MASK (0x4000U)
  15225. #define CAAM_DDJR_JDDS_SHIFT (14U)
  15226. /*! JDDS
  15227. * 0b1..SEQ DID
  15228. * 0b0..Non-SEQ DID
  15229. */
  15230. #define CAAM_DDJR_JDDS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDJR_JDDS_SHIFT)) & CAAM_DDJR_JDDS_MASK)
  15231. #define CAAM_DDJR_AMTD_MASK (0x8000U)
  15232. #define CAAM_DDJR_AMTD_SHIFT (15U)
  15233. /*! AMTD
  15234. * 0b0..The Allowed Make Trusted Descriptor bit was NOT set.
  15235. * 0b1..The Allowed Make Trusted Descriptor bit was set.
  15236. */
  15237. #define CAAM_DDJR_AMTD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDJR_AMTD_SHIFT)) & CAAM_DDJR_AMTD_MASK)
  15238. #define CAAM_DDJR_GSD_MASK (0x10000U)
  15239. #define CAAM_DDJR_GSD_SHIFT (16U)
  15240. /*! GSD
  15241. * 0b0..Shared Descriptor was NOT obtained from another DECO.
  15242. * 0b1..Shared Descriptor was obtained from another DECO.
  15243. */
  15244. #define CAAM_DDJR_GSD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDJR_GSD_SHIFT)) & CAAM_DDJR_GSD_MASK)
  15245. #define CAAM_DDJR_DWS_MASK (0x80000U)
  15246. #define CAAM_DDJR_DWS_SHIFT (19U)
  15247. /*! DWS
  15248. * 0b0..Double Word Swap is NOT set.
  15249. * 0b1..Double Word Swap is set.
  15250. */
  15251. #define CAAM_DDJR_DWS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDJR_DWS_SHIFT)) & CAAM_DDJR_DWS_MASK)
  15252. #define CAAM_DDJR_SHR_FROM_MASK (0x7000000U)
  15253. #define CAAM_DDJR_SHR_FROM_SHIFT (24U)
  15254. #define CAAM_DDJR_SHR_FROM(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDJR_SHR_FROM_SHIFT)) & CAAM_DDJR_SHR_FROM_MASK)
  15255. #define CAAM_DDJR_ILE_MASK (0x8000000U)
  15256. #define CAAM_DDJR_ILE_SHIFT (27U)
  15257. /*! ILE
  15258. * 0b0..No byte-swapping is performed for immediate data transferred to or from the Descriptor Buffer.
  15259. * 0b1..Byte-swapping is performed for immediate data transferred to or from the Descriptor Buffer.
  15260. */
  15261. #define CAAM_DDJR_ILE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDJR_ILE_SHIFT)) & CAAM_DDJR_ILE_MASK)
  15262. #define CAAM_DDJR_FOUR_MASK (0x10000000U)
  15263. #define CAAM_DDJR_FOUR_SHIFT (28U)
  15264. /*! FOUR
  15265. * 0b0..DECO has not been given at least four words of the descriptor.
  15266. * 0b1..DECO has been given at least four words of the descriptor.
  15267. */
  15268. #define CAAM_DDJR_FOUR(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDJR_FOUR_SHIFT)) & CAAM_DDJR_FOUR_MASK)
  15269. #define CAAM_DDJR_WHL_MASK (0x20000000U)
  15270. #define CAAM_DDJR_WHL_SHIFT (29U)
  15271. /*! WHL
  15272. * 0b0..DECO has not been given the whole descriptor.
  15273. * 0b1..DECO has been given the whole descriptor.
  15274. */
  15275. #define CAAM_DDJR_WHL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDJR_WHL_SHIFT)) & CAAM_DDJR_WHL_MASK)
  15276. #define CAAM_DDJR_SING_MASK (0x40000000U)
  15277. #define CAAM_DDJR_SING_SHIFT (30U)
  15278. /*! SING
  15279. * 0b0..DECO has not been told to execute the descriptor in single-step mode.
  15280. * 0b1..DECO has been told to execute the descriptor in single-step mode.
  15281. */
  15282. #define CAAM_DDJR_SING(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDJR_SING_SHIFT)) & CAAM_DDJR_SING_MASK)
  15283. #define CAAM_DDJR_STEP_MASK (0x80000000U)
  15284. #define CAAM_DDJR_STEP_SHIFT (31U)
  15285. /*! STEP
  15286. * 0b0..DECO has not been told to execute the next command in the descriptor.
  15287. * 0b1..DECO has been told to execute the next command in the descriptor.
  15288. */
  15289. #define CAAM_DDJR_STEP(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDJR_STEP_SHIFT)) & CAAM_DDJR_STEP_MASK)
  15290. /*! @} */
  15291. /* The count of CAAM_DDJR */
  15292. #define CAAM_DDJR_COUNT (1U)
  15293. /*! @name DDDR - DECO0 Debug DECO Register */
  15294. /*! @{ */
  15295. #define CAAM_DDDR_CT_MASK (0x1U)
  15296. #define CAAM_DDDR_CT_SHIFT (0U)
  15297. /*! CT
  15298. * 0b0..This DECO is NOTcurrently generating the signature of a Trusted Descriptor.
  15299. * 0b1..This DECO is currently generating the signature of a Trusted Descriptor.
  15300. */
  15301. #define CAAM_DDDR_CT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDDR_CT_SHIFT)) & CAAM_DDDR_CT_MASK)
  15302. #define CAAM_DDDR_BRB_MASK (0x2U)
  15303. #define CAAM_DDDR_BRB_SHIFT (1U)
  15304. /*! BRB
  15305. * 0b0..The READ machine in the Burster is not busy.
  15306. * 0b1..The READ machine in the Burster is busy.
  15307. */
  15308. #define CAAM_DDDR_BRB(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDDR_BRB_SHIFT)) & CAAM_DDDR_BRB_MASK)
  15309. #define CAAM_DDDR_BWB_MASK (0x4U)
  15310. #define CAAM_DDDR_BWB_SHIFT (2U)
  15311. /*! BWB
  15312. * 0b0..The WRITE machine in the Burster is not busy.
  15313. * 0b1..The WRITE machine in the Burster is busy.
  15314. */
  15315. #define CAAM_DDDR_BWB(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDDR_BWB_SHIFT)) & CAAM_DDDR_BWB_MASK)
  15316. #define CAAM_DDDR_NC_MASK (0x8U)
  15317. #define CAAM_DDDR_NC_SHIFT (3U)
  15318. /*! NC
  15319. * 0b0..This DECO is currently executing a command.
  15320. * 0b1..This DECO is not currently executing a command.
  15321. */
  15322. #define CAAM_DDDR_NC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDDR_NC_SHIFT)) & CAAM_DDDR_NC_MASK)
  15323. #define CAAM_DDDR_CSA_MASK (0x10U)
  15324. #define CAAM_DDDR_CSA_SHIFT (4U)
  15325. #define CAAM_DDDR_CSA(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDDR_CSA_SHIFT)) & CAAM_DDDR_CSA_MASK)
  15326. #define CAAM_DDDR_CMD_STAGE_MASK (0xE0U)
  15327. #define CAAM_DDDR_CMD_STAGE_SHIFT (5U)
  15328. #define CAAM_DDDR_CMD_STAGE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDDR_CMD_STAGE_SHIFT)) & CAAM_DDDR_CMD_STAGE_MASK)
  15329. #define CAAM_DDDR_CMD_INDEX_MASK (0x3F00U)
  15330. #define CAAM_DDDR_CMD_INDEX_SHIFT (8U)
  15331. #define CAAM_DDDR_CMD_INDEX(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDDR_CMD_INDEX_SHIFT)) & CAAM_DDDR_CMD_INDEX_MASK)
  15332. #define CAAM_DDDR_NLJ_MASK (0x4000U)
  15333. #define CAAM_DDDR_NLJ_SHIFT (14U)
  15334. /*! NLJ
  15335. * 0b0..The original job descriptor running in this DECO has not caused another job descriptor to be executed.
  15336. * 0b1..The original job descriptor running in this DECO has caused another job descriptor to be executed.
  15337. */
  15338. #define CAAM_DDDR_NLJ(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDDR_NLJ_SHIFT)) & CAAM_DDDR_NLJ_MASK)
  15339. #define CAAM_DDDR_PTCL_RUN_MASK (0x8000U)
  15340. #define CAAM_DDDR_PTCL_RUN_SHIFT (15U)
  15341. /*! PTCL_RUN
  15342. * 0b0..No protocol is running in this DECO.
  15343. * 0b1..A protocol is running in this DECO.
  15344. */
  15345. #define CAAM_DDDR_PTCL_RUN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDDR_PTCL_RUN_SHIFT)) & CAAM_DDDR_PTCL_RUN_MASK)
  15346. #define CAAM_DDDR_PDB_STALL_MASK (0x30000U)
  15347. #define CAAM_DDDR_PDB_STALL_SHIFT (16U)
  15348. #define CAAM_DDDR_PDB_STALL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDDR_PDB_STALL_SHIFT)) & CAAM_DDDR_PDB_STALL_MASK)
  15349. #define CAAM_DDDR_PDB_WB_ST_MASK (0xC0000U)
  15350. #define CAAM_DDDR_PDB_WB_ST_SHIFT (18U)
  15351. #define CAAM_DDDR_PDB_WB_ST(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDDR_PDB_WB_ST_SHIFT)) & CAAM_DDDR_PDB_WB_ST_MASK)
  15352. #define CAAM_DDDR_DECO_STATE_MASK (0xF00000U)
  15353. #define CAAM_DDDR_DECO_STATE_SHIFT (20U)
  15354. #define CAAM_DDDR_DECO_STATE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDDR_DECO_STATE_SHIFT)) & CAAM_DDDR_DECO_STATE_MASK)
  15355. #define CAAM_DDDR_NSEQLSEL_MASK (0x3000000U)
  15356. #define CAAM_DDDR_NSEQLSEL_SHIFT (24U)
  15357. /*! NSEQLSEL
  15358. * 0b01..SEQ DID
  15359. * 0b10..Non-SEQ DID
  15360. * 0b11..Trusted DID
  15361. */
  15362. #define CAAM_DDDR_NSEQLSEL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDDR_NSEQLSEL_SHIFT)) & CAAM_DDDR_NSEQLSEL_MASK)
  15363. #define CAAM_DDDR_SEQLSEL_MASK (0xC000000U)
  15364. #define CAAM_DDDR_SEQLSEL_SHIFT (26U)
  15365. /*! SEQLSEL
  15366. * 0b01..SEQ DID
  15367. * 0b10..Non-SEQ DID
  15368. * 0b11..Trusted DID
  15369. */
  15370. #define CAAM_DDDR_SEQLSEL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDDR_SEQLSEL_SHIFT)) & CAAM_DDDR_SEQLSEL_MASK)
  15371. #define CAAM_DDDR_TRCT_MASK (0x30000000U)
  15372. #define CAAM_DDDR_TRCT_SHIFT (28U)
  15373. #define CAAM_DDDR_TRCT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDDR_TRCT_SHIFT)) & CAAM_DDDR_TRCT_MASK)
  15374. #define CAAM_DDDR_SD_MASK (0x40000000U)
  15375. #define CAAM_DDDR_SD_SHIFT (30U)
  15376. /*! SD
  15377. * 0b0..This DECO has not received a shared descriptor from another DECO.
  15378. * 0b1..This DECO has received a shared descriptor from another DECO.
  15379. */
  15380. #define CAAM_DDDR_SD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDDR_SD_SHIFT)) & CAAM_DDDR_SD_MASK)
  15381. #define CAAM_DDDR_VALID_MASK (0x80000000U)
  15382. #define CAAM_DDDR_VALID_SHIFT (31U)
  15383. /*! VALID
  15384. * 0b0..No descriptor is currently running in this DECO.
  15385. * 0b1..There is currently a descriptor running in this DECO.
  15386. */
  15387. #define CAAM_DDDR_VALID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDDR_VALID_SHIFT)) & CAAM_DDDR_VALID_MASK)
  15388. /*! @} */
  15389. /* The count of CAAM_DDDR */
  15390. #define CAAM_DDDR_COUNT (1U)
  15391. /*! @name DDJP - DECO0 Debug Job Pointer */
  15392. /*! @{ */
  15393. #define CAAM_DDJP_JDPTR_MASK (0xFFFFFFFFFU)
  15394. #define CAAM_DDJP_JDPTR_SHIFT (0U)
  15395. #define CAAM_DDJP_JDPTR(x) (((uint64_t)(((uint64_t)(x)) << CAAM_DDJP_JDPTR_SHIFT)) & CAAM_DDJP_JDPTR_MASK)
  15396. /*! @} */
  15397. /* The count of CAAM_DDJP */
  15398. #define CAAM_DDJP_COUNT (1U)
  15399. /*! @name DSDP - DECO0 Debug Shared Pointer */
  15400. /*! @{ */
  15401. #define CAAM_DSDP_SDPTR_MASK (0xFFFFFFFFFU)
  15402. #define CAAM_DSDP_SDPTR_SHIFT (0U)
  15403. #define CAAM_DSDP_SDPTR(x) (((uint64_t)(((uint64_t)(x)) << CAAM_DSDP_SDPTR_SHIFT)) & CAAM_DSDP_SDPTR_MASK)
  15404. /*! @} */
  15405. /* The count of CAAM_DSDP */
  15406. #define CAAM_DSDP_COUNT (1U)
  15407. /*! @name DDDR_MS - DECO0 Debug DID, most-significant half */
  15408. /*! @{ */
  15409. #define CAAM_DDDR_MS_PRIM_DID_MASK (0xFU)
  15410. #define CAAM_DDDR_MS_PRIM_DID_SHIFT (0U)
  15411. #define CAAM_DDDR_MS_PRIM_DID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDDR_MS_PRIM_DID_SHIFT)) & CAAM_DDDR_MS_PRIM_DID_MASK)
  15412. #define CAAM_DDDR_MS_PRIM_TZ_MASK (0x10U)
  15413. #define CAAM_DDDR_MS_PRIM_TZ_SHIFT (4U)
  15414. /*! PRIM_TZ
  15415. * 0b0..TrustZone NonSecureWorld
  15416. * 0b1..TrustZone SecureWorld
  15417. */
  15418. #define CAAM_DDDR_MS_PRIM_TZ(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDDR_MS_PRIM_TZ_SHIFT)) & CAAM_DDDR_MS_PRIM_TZ_MASK)
  15419. #define CAAM_DDDR_MS_PRIM_ICID_MASK (0xFFE0U)
  15420. #define CAAM_DDDR_MS_PRIM_ICID_SHIFT (5U)
  15421. #define CAAM_DDDR_MS_PRIM_ICID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDDR_MS_PRIM_ICID_SHIFT)) & CAAM_DDDR_MS_PRIM_ICID_MASK)
  15422. #define CAAM_DDDR_MS_OUT_DID_MASK (0xF0000U)
  15423. #define CAAM_DDDR_MS_OUT_DID_SHIFT (16U)
  15424. #define CAAM_DDDR_MS_OUT_DID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDDR_MS_OUT_DID_SHIFT)) & CAAM_DDDR_MS_OUT_DID_MASK)
  15425. #define CAAM_DDDR_MS_OUT_ICID_MASK (0xFFE00000U)
  15426. #define CAAM_DDDR_MS_OUT_ICID_SHIFT (21U)
  15427. #define CAAM_DDDR_MS_OUT_ICID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDDR_MS_OUT_ICID_SHIFT)) & CAAM_DDDR_MS_OUT_ICID_MASK)
  15428. /*! @} */
  15429. /* The count of CAAM_DDDR_MS */
  15430. #define CAAM_DDDR_MS_COUNT (1U)
  15431. /*! @name DDDR_LS - DECO0 Debug DID, least-significant half */
  15432. /*! @{ */
  15433. #define CAAM_DDDR_LS_OUT_DID_MASK (0xFU)
  15434. #define CAAM_DDDR_LS_OUT_DID_SHIFT (0U)
  15435. #define CAAM_DDDR_LS_OUT_DID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDDR_LS_OUT_DID_SHIFT)) & CAAM_DDDR_LS_OUT_DID_MASK)
  15436. #define CAAM_DDDR_LS_OUT_ICID_MASK (0x3FF80000U)
  15437. #define CAAM_DDDR_LS_OUT_ICID_SHIFT (19U)
  15438. #define CAAM_DDDR_LS_OUT_ICID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDDR_LS_OUT_ICID_SHIFT)) & CAAM_DDDR_LS_OUT_ICID_MASK)
  15439. /*! @} */
  15440. /* The count of CAAM_DDDR_LS */
  15441. #define CAAM_DDDR_LS_COUNT (1U)
  15442. /*! @name SOL - Sequence Output Length Register */
  15443. /*! @{ */
  15444. #define CAAM_SOL_SOL_MASK (0xFFFFFFFFU)
  15445. #define CAAM_SOL_SOL_SHIFT (0U)
  15446. #define CAAM_SOL_SOL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SOL_SOL_SHIFT)) & CAAM_SOL_SOL_MASK)
  15447. /*! @} */
  15448. /* The count of CAAM_SOL */
  15449. #define CAAM_SOL_COUNT (1U)
  15450. /*! @name VSOL - Variable Sequence Output Length Register */
  15451. /*! @{ */
  15452. #define CAAM_VSOL_VSOL_MASK (0xFFFFFFFFU)
  15453. #define CAAM_VSOL_VSOL_SHIFT (0U)
  15454. #define CAAM_VSOL_VSOL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_VSOL_VSOL_SHIFT)) & CAAM_VSOL_VSOL_MASK)
  15455. /*! @} */
  15456. /* The count of CAAM_VSOL */
  15457. #define CAAM_VSOL_COUNT (1U)
  15458. /*! @name SIL - Sequence Input Length Register */
  15459. /*! @{ */
  15460. #define CAAM_SIL_SIL_MASK (0xFFFFFFFFU)
  15461. #define CAAM_SIL_SIL_SHIFT (0U)
  15462. #define CAAM_SIL_SIL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SIL_SIL_SHIFT)) & CAAM_SIL_SIL_MASK)
  15463. /*! @} */
  15464. /* The count of CAAM_SIL */
  15465. #define CAAM_SIL_COUNT (1U)
  15466. /*! @name VSIL - Variable Sequence Input Length Register */
  15467. /*! @{ */
  15468. #define CAAM_VSIL_VSIL_MASK (0xFFFFFFFFU)
  15469. #define CAAM_VSIL_VSIL_SHIFT (0U)
  15470. #define CAAM_VSIL_VSIL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_VSIL_VSIL_SHIFT)) & CAAM_VSIL_VSIL_MASK)
  15471. /*! @} */
  15472. /* The count of CAAM_VSIL */
  15473. #define CAAM_VSIL_COUNT (1U)
  15474. /*! @name DPOVRD - Protocol Override Register */
  15475. /*! @{ */
  15476. #define CAAM_DPOVRD_DPOVRD_MASK (0xFFFFFFFFU)
  15477. #define CAAM_DPOVRD_DPOVRD_SHIFT (0U)
  15478. #define CAAM_DPOVRD_DPOVRD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DPOVRD_DPOVRD_SHIFT)) & CAAM_DPOVRD_DPOVRD_MASK)
  15479. /*! @} */
  15480. /* The count of CAAM_DPOVRD */
  15481. #define CAAM_DPOVRD_COUNT (1U)
  15482. /*! @name UVSOL - Variable Sequence Output Length Register; Upper 32 bits */
  15483. /*! @{ */
  15484. #define CAAM_UVSOL_UVSOL_MASK (0xFFFFFFFFU)
  15485. #define CAAM_UVSOL_UVSOL_SHIFT (0U)
  15486. #define CAAM_UVSOL_UVSOL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_UVSOL_UVSOL_SHIFT)) & CAAM_UVSOL_UVSOL_MASK)
  15487. /*! @} */
  15488. /* The count of CAAM_UVSOL */
  15489. #define CAAM_UVSOL_COUNT (1U)
  15490. /*! @name UVSIL - Variable Sequence Input Length Register; Upper 32 bits */
  15491. /*! @{ */
  15492. #define CAAM_UVSIL_UVSIL_MASK (0xFFFFFFFFU)
  15493. #define CAAM_UVSIL_UVSIL_SHIFT (0U)
  15494. #define CAAM_UVSIL_UVSIL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_UVSIL_UVSIL_SHIFT)) & CAAM_UVSIL_UVSIL_MASK)
  15495. /*! @} */
  15496. /* The count of CAAM_UVSIL */
  15497. #define CAAM_UVSIL_COUNT (1U)
  15498. /*!
  15499. * @}
  15500. */ /* end of group CAAM_Register_Masks */
  15501. /* CAAM - Peripheral instance base addresses */
  15502. /** Peripheral CAAM base address */
  15503. #define CAAM_BASE (0x40440000u)
  15504. /** Peripheral CAAM base pointer */
  15505. #define CAAM ((CAAM_Type *)CAAM_BASE)
  15506. /** Array initializer of CAAM peripheral base addresses */
  15507. #define CAAM_BASE_ADDRS { CAAM_BASE }
  15508. /** Array initializer of CAAM peripheral base pointers */
  15509. #define CAAM_BASE_PTRS { CAAM }
  15510. /*!
  15511. * @}
  15512. */ /* end of group CAAM_Peripheral_Access_Layer */
  15513. /* ----------------------------------------------------------------------------
  15514. -- CAN Peripheral Access Layer
  15515. ---------------------------------------------------------------------------- */
  15516. /*!
  15517. * @addtogroup CAN_Peripheral_Access_Layer CAN Peripheral Access Layer
  15518. * @{
  15519. */
  15520. /** CAN - Register Layout Typedef */
  15521. typedef struct {
  15522. __IO uint32_t MCR; /**< Module Configuration register, offset: 0x0 */
  15523. __IO uint32_t CTRL1; /**< Control 1 register, offset: 0x4 */
  15524. __IO uint32_t TIMER; /**< Free Running Timer, offset: 0x8 */
  15525. uint8_t RESERVED_0[4];
  15526. __IO uint32_t RXMGMASK; /**< Rx Mailboxes Global Mask register, offset: 0x10 */
  15527. __IO uint32_t RX14MASK; /**< Rx 14 Mask register, offset: 0x14 */
  15528. __IO uint32_t RX15MASK; /**< Rx 15 Mask register, offset: 0x18 */
  15529. __IO uint32_t ECR; /**< Error Counter, offset: 0x1C */
  15530. __IO uint32_t ESR1; /**< Error and Status 1 register, offset: 0x20 */
  15531. __IO uint32_t IMASK2; /**< Interrupt Masks 2 register, offset: 0x24 */
  15532. __IO uint32_t IMASK1; /**< Interrupt Masks 1 register, offset: 0x28 */
  15533. __IO uint32_t IFLAG2; /**< Interrupt Flags 2 register, offset: 0x2C */
  15534. __IO uint32_t IFLAG1; /**< Interrupt Flags 1 register, offset: 0x30 */
  15535. __IO uint32_t CTRL2; /**< Control 2 register, offset: 0x34 */
  15536. __I uint32_t ESR2; /**< Error and Status 2 register, offset: 0x38 */
  15537. uint8_t RESERVED_1[8];
  15538. __I uint32_t CRCR; /**< CRC register, offset: 0x44 */
  15539. __IO uint32_t RXFGMASK; /**< Rx FIFO Global Mask register, offset: 0x48 */
  15540. __I uint32_t RXFIR; /**< Rx FIFO Information register, offset: 0x4C */
  15541. __IO uint32_t CBT; /**< CAN Bit Timing register, offset: 0x50 */
  15542. uint8_t RESERVED_2[44];
  15543. union { /* offset: 0x80 */
  15544. struct { /* offset: 0x80, array step: 0x10 */
  15545. __IO uint32_t CS; /**< Message Buffer 0 CS Register..Message Buffer 63 CS Register, array offset: 0x80, array step: 0x10 */
  15546. __IO uint32_t ID; /**< Message Buffer 0 ID Register..Message Buffer 63 ID Register, array offset: 0x84, array step: 0x10 */
  15547. __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 */
  15548. } MB_8B[64];
  15549. struct { /* offset: 0x80, array step: 0x18 */
  15550. __IO uint32_t CS; /**< Message Buffer 0 CS Register..Message Buffer 41 CS Register, array offset: 0x80, array step: 0x18 */
  15551. __IO uint32_t ID; /**< Message Buffer 0 ID Register..Message Buffer 41 ID Register, array offset: 0x84, array step: 0x18 */
  15552. __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 */
  15553. } MB_16B[42];
  15554. struct { /* offset: 0x80, array step: 0x28 */
  15555. __IO uint32_t CS; /**< Message Buffer 0 CS Register..Message Buffer 23 CS Register, array offset: 0x80, array step: 0x28 */
  15556. __IO uint32_t ID; /**< Message Buffer 0 ID Register..Message Buffer 23 ID Register, array offset: 0x84, array step: 0x28 */
  15557. __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 */
  15558. } MB_32B[24];
  15559. struct { /* offset: 0x80, array step: 0x48 */
  15560. __IO uint32_t CS; /**< Message Buffer 0 CS Register..Message Buffer 13 CS Register, array offset: 0x80, array step: 0x48 */
  15561. __IO uint32_t ID; /**< Message Buffer 0 ID Register..Message Buffer 13 ID Register, array offset: 0x84, array step: 0x48 */
  15562. __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 */
  15563. } MB_64B[14];
  15564. struct { /* offset: 0x80, array step: 0x10 */
  15565. __IO uint32_t CS; /**< Message Buffer 0 CS Register..Message Buffer 63 CS Register, array offset: 0x80, array step: 0x10 */
  15566. __IO uint32_t ID; /**< Message Buffer 0 ID Register..Message Buffer 63 ID Register, array offset: 0x84, array step: 0x10 */
  15567. __IO uint32_t WORD0; /**< Message Buffer 0 WORD0 Register..Message Buffer 63 WORD0 Register, array offset: 0x88, array step: 0x10 */
  15568. __IO uint32_t WORD1; /**< Message Buffer 0 WORD1 Register..Message Buffer 63 WORD1 Register, array offset: 0x8C, array step: 0x10 */
  15569. } MB[64];
  15570. };
  15571. uint8_t RESERVED_3[1024];
  15572. __IO uint32_t RXIMR[64]; /**< Rx Individual Mask registers, array offset: 0x880, array step: 0x4 */
  15573. uint8_t RESERVED_4[352];
  15574. __IO uint32_t MECR; /**< Memory Error Control register, offset: 0xAE0 */
  15575. __IO uint32_t ERRIAR; /**< Error Injection Address register, offset: 0xAE4 */
  15576. __IO uint32_t ERRIDPR; /**< Error Injection Data Pattern register, offset: 0xAE8 */
  15577. __IO uint32_t ERRIPPR; /**< Error Injection Parity Pattern register, offset: 0xAEC */
  15578. __I uint32_t RERRAR; /**< Error Report Address register, offset: 0xAF0 */
  15579. __I uint32_t RERRDR; /**< Error Report Data register, offset: 0xAF4 */
  15580. __I uint32_t RERRSYNR; /**< Error Report Syndrome register, offset: 0xAF8 */
  15581. __IO uint32_t ERRSR; /**< Error Status register, offset: 0xAFC */
  15582. uint8_t RESERVED_5[256];
  15583. __IO uint32_t FDCTRL; /**< CAN FD Control register, offset: 0xC00 */
  15584. __IO uint32_t FDCBT; /**< CAN FD Bit Timing register, offset: 0xC04 */
  15585. __I uint32_t FDCRC; /**< CAN FD CRC register, offset: 0xC08 */
  15586. } CAN_Type;
  15587. /* ----------------------------------------------------------------------------
  15588. -- CAN Register Masks
  15589. ---------------------------------------------------------------------------- */
  15590. /*!
  15591. * @addtogroup CAN_Register_Masks CAN Register Masks
  15592. * @{
  15593. */
  15594. /*! @name MCR - Module Configuration register */
  15595. /*! @{ */
  15596. #define CAN_MCR_MAXMB_MASK (0x7FU)
  15597. #define CAN_MCR_MAXMB_SHIFT (0U)
  15598. /*! MAXMB - Number Of The Last Message Buffer
  15599. */
  15600. #define CAN_MCR_MAXMB(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_MAXMB_SHIFT)) & CAN_MCR_MAXMB_MASK)
  15601. #define CAN_MCR_IDAM_MASK (0x300U)
  15602. #define CAN_MCR_IDAM_SHIFT (8U)
  15603. /*! IDAM - ID Acceptance Mode
  15604. * 0b00..Format A: One full ID (standard and extended) per ID filter table element.
  15605. * 0b01..Format B: Two full standard IDs or two partial 14-bit (standard and extended) IDs per ID filter table element.
  15606. * 0b10..Format C: Four partial 8-bit standard IDs per ID filter table element.
  15607. * 0b11..Format D: All frames rejected.
  15608. */
  15609. #define CAN_MCR_IDAM(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_IDAM_SHIFT)) & CAN_MCR_IDAM_MASK)
  15610. #define CAN_MCR_FDEN_MASK (0x800U)
  15611. #define CAN_MCR_FDEN_SHIFT (11U)
  15612. /*! FDEN - CAN FD operation enable
  15613. * 0b1..CAN FD is enabled. FlexCAN is able to receive and transmit messages in both CAN FD and CAN 2.0 formats.
  15614. * 0b0..CAN FD is disabled. FlexCAN is able to receive and transmit messages in CAN 2.0 format.
  15615. */
  15616. #define CAN_MCR_FDEN(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_FDEN_SHIFT)) & CAN_MCR_FDEN_MASK)
  15617. #define CAN_MCR_AEN_MASK (0x1000U)
  15618. #define CAN_MCR_AEN_SHIFT (12U)
  15619. /*! AEN - Abort Enable
  15620. * 0b0..Abort disabled.
  15621. * 0b1..Abort enabled.
  15622. */
  15623. #define CAN_MCR_AEN(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_AEN_SHIFT)) & CAN_MCR_AEN_MASK)
  15624. #define CAN_MCR_LPRIOEN_MASK (0x2000U)
  15625. #define CAN_MCR_LPRIOEN_SHIFT (13U)
  15626. /*! LPRIOEN - Local Priority Enable
  15627. * 0b0..Local Priority disabled.
  15628. * 0b1..Local Priority enabled.
  15629. */
  15630. #define CAN_MCR_LPRIOEN(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_LPRIOEN_SHIFT)) & CAN_MCR_LPRIOEN_MASK)
  15631. #define CAN_MCR_DMA_MASK (0x8000U)
  15632. #define CAN_MCR_DMA_SHIFT (15U)
  15633. /*! DMA - DMA Enable
  15634. * 0b0..DMA feature for RX FIFO disabled.
  15635. * 0b1..DMA feature for RX FIFO enabled.
  15636. */
  15637. #define CAN_MCR_DMA(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_DMA_SHIFT)) & CAN_MCR_DMA_MASK)
  15638. #define CAN_MCR_IRMQ_MASK (0x10000U)
  15639. #define CAN_MCR_IRMQ_SHIFT (16U)
  15640. /*! IRMQ - Individual Rx Masking And Queue Enable
  15641. * 0b0..Individual Rx masking and queue feature are disabled. For backward compatibility with legacy
  15642. * applications, the reading of C/S word locks the MB even if it is EMPTY.
  15643. * 0b1..Individual Rx masking and queue feature are enabled.
  15644. */
  15645. #define CAN_MCR_IRMQ(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_IRMQ_SHIFT)) & CAN_MCR_IRMQ_MASK)
  15646. #define CAN_MCR_SRXDIS_MASK (0x20000U)
  15647. #define CAN_MCR_SRXDIS_SHIFT (17U)
  15648. /*! SRXDIS - Self Reception Disable
  15649. * 0b0..Self-reception enabled.
  15650. * 0b1..Self-reception disabled.
  15651. */
  15652. #define CAN_MCR_SRXDIS(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_SRXDIS_SHIFT)) & CAN_MCR_SRXDIS_MASK)
  15653. #define CAN_MCR_DOZE_MASK (0x40000U)
  15654. #define CAN_MCR_DOZE_SHIFT (18U)
  15655. /*! DOZE - Doze Mode Enable
  15656. * 0b0..FlexCAN is not enabled to enter low-power mode when Doze mode is requested.
  15657. * 0b1..FlexCAN is enabled to enter low-power mode when Doze mode is requested.
  15658. */
  15659. #define CAN_MCR_DOZE(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_DOZE_SHIFT)) & CAN_MCR_DOZE_MASK)
  15660. #define CAN_MCR_WAKSRC_MASK (0x80000U)
  15661. #define CAN_MCR_WAKSRC_SHIFT (19U)
  15662. /*! WAKSRC - Wake Up Source
  15663. * 0b0..FlexCAN uses the unfiltered Rx input to detect recessive to dominant edges on the CAN bus.
  15664. * 0b1..FlexCAN uses the filtered Rx input to detect recessive to dominant edges on the CAN bus.
  15665. */
  15666. #define CAN_MCR_WAKSRC(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_WAKSRC_SHIFT)) & CAN_MCR_WAKSRC_MASK)
  15667. #define CAN_MCR_LPMACK_MASK (0x100000U)
  15668. #define CAN_MCR_LPMACK_SHIFT (20U)
  15669. /*! LPMACK - Low-Power Mode Acknowledge
  15670. * 0b0..FlexCAN is not in a low-power mode.
  15671. * 0b1..FlexCAN is in a low-power mode.
  15672. */
  15673. #define CAN_MCR_LPMACK(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_LPMACK_SHIFT)) & CAN_MCR_LPMACK_MASK)
  15674. #define CAN_MCR_WRNEN_MASK (0x200000U)
  15675. #define CAN_MCR_WRNEN_SHIFT (21U)
  15676. /*! WRNEN - Warning Interrupt Enable
  15677. * 0b0..TWRNINT and RWRNINT bits are zero, independent of the values in the error counters.
  15678. * 0b1..TWRNINT and RWRNINT bits are set when the respective error counter transitions from less than 96 to greater than or equal to 96.
  15679. */
  15680. #define CAN_MCR_WRNEN(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_WRNEN_SHIFT)) & CAN_MCR_WRNEN_MASK)
  15681. #define CAN_MCR_SLFWAK_MASK (0x400000U)
  15682. #define CAN_MCR_SLFWAK_SHIFT (22U)
  15683. /*! SLFWAK - Self Wake Up
  15684. * 0b0..FlexCAN Self Wake Up feature is disabled.
  15685. * 0b1..FlexCAN Self Wake Up feature is enabled.
  15686. */
  15687. #define CAN_MCR_SLFWAK(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_SLFWAK_SHIFT)) & CAN_MCR_SLFWAK_MASK)
  15688. #define CAN_MCR_SUPV_MASK (0x800000U)
  15689. #define CAN_MCR_SUPV_SHIFT (23U)
  15690. /*! SUPV - Supervisor Mode
  15691. * 0b0..FlexCAN is in User mode. Affected registers allow both Supervisor and Unrestricted accesses.
  15692. * 0b1..FlexCAN is in Supervisor mode. Affected registers allow only Supervisor access. Unrestricted access
  15693. * behaves as though the access was done to an unimplemented register location.
  15694. */
  15695. #define CAN_MCR_SUPV(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_SUPV_SHIFT)) & CAN_MCR_SUPV_MASK)
  15696. #define CAN_MCR_FRZACK_MASK (0x1000000U)
  15697. #define CAN_MCR_FRZACK_SHIFT (24U)
  15698. /*! FRZACK - Freeze Mode Acknowledge
  15699. * 0b0..FlexCAN not in Freeze mode, prescaler running.
  15700. * 0b1..FlexCAN in Freeze mode, prescaler stopped.
  15701. */
  15702. #define CAN_MCR_FRZACK(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_FRZACK_SHIFT)) & CAN_MCR_FRZACK_MASK)
  15703. #define CAN_MCR_SOFTRST_MASK (0x2000000U)
  15704. #define CAN_MCR_SOFTRST_SHIFT (25U)
  15705. /*! SOFTRST - Soft Reset
  15706. * 0b0..No reset request.
  15707. * 0b1..Resets the registers affected by soft reset.
  15708. */
  15709. #define CAN_MCR_SOFTRST(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_SOFTRST_SHIFT)) & CAN_MCR_SOFTRST_MASK)
  15710. #define CAN_MCR_WAKMSK_MASK (0x4000000U)
  15711. #define CAN_MCR_WAKMSK_SHIFT (26U)
  15712. /*! WAKMSK - Wake Up Interrupt Mask
  15713. * 0b0..Wake Up interrupt is disabled.
  15714. * 0b1..Wake Up interrupt is enabled.
  15715. */
  15716. #define CAN_MCR_WAKMSK(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_WAKMSK_SHIFT)) & CAN_MCR_WAKMSK_MASK)
  15717. #define CAN_MCR_NOTRDY_MASK (0x8000000U)
  15718. #define CAN_MCR_NOTRDY_SHIFT (27U)
  15719. /*! NOTRDY - FlexCAN Not Ready
  15720. * 0b0..FlexCAN module is either in Normal mode, Listen-Only mode, or Loop-Back mode.
  15721. * 0b1..FlexCAN module is either in Disable mode, Doze mode, Stop mode, or Freeze mode.
  15722. */
  15723. #define CAN_MCR_NOTRDY(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_NOTRDY_SHIFT)) & CAN_MCR_NOTRDY_MASK)
  15724. #define CAN_MCR_HALT_MASK (0x10000000U)
  15725. #define CAN_MCR_HALT_SHIFT (28U)
  15726. /*! HALT - Halt FlexCAN
  15727. * 0b0..No Freeze mode request.
  15728. * 0b1..Enters Freeze mode if the FRZ bit is asserted.
  15729. */
  15730. #define CAN_MCR_HALT(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_HALT_SHIFT)) & CAN_MCR_HALT_MASK)
  15731. #define CAN_MCR_RFEN_MASK (0x20000000U)
  15732. #define CAN_MCR_RFEN_SHIFT (29U)
  15733. /*! RFEN - Rx FIFO Enable
  15734. * 0b0..Rx FIFO not enabled.
  15735. * 0b1..Rx FIFO enabled.
  15736. */
  15737. #define CAN_MCR_RFEN(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_RFEN_SHIFT)) & CAN_MCR_RFEN_MASK)
  15738. #define CAN_MCR_FRZ_MASK (0x40000000U)
  15739. #define CAN_MCR_FRZ_SHIFT (30U)
  15740. /*! FRZ - Freeze Enable
  15741. * 0b0..Not enabled to enter Freeze mode.
  15742. * 0b1..Enabled to enter Freeze mode.
  15743. */
  15744. #define CAN_MCR_FRZ(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_FRZ_SHIFT)) & CAN_MCR_FRZ_MASK)
  15745. #define CAN_MCR_MDIS_MASK (0x80000000U)
  15746. #define CAN_MCR_MDIS_SHIFT (31U)
  15747. /*! MDIS - Module Disable
  15748. * 0b0..Enable the FlexCAN module.
  15749. * 0b1..Disable the FlexCAN module.
  15750. */
  15751. #define CAN_MCR_MDIS(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_MDIS_SHIFT)) & CAN_MCR_MDIS_MASK)
  15752. /*! @} */
  15753. /*! @name CTRL1 - Control 1 register */
  15754. /*! @{ */
  15755. #define CAN_CTRL1_PROPSEG_MASK (0x7U)
  15756. #define CAN_CTRL1_PROPSEG_SHIFT (0U)
  15757. /*! PROPSEG - Propagation Segment
  15758. */
  15759. #define CAN_CTRL1_PROPSEG(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_PROPSEG_SHIFT)) & CAN_CTRL1_PROPSEG_MASK)
  15760. #define CAN_CTRL1_LOM_MASK (0x8U)
  15761. #define CAN_CTRL1_LOM_SHIFT (3U)
  15762. /*! LOM - Listen-Only Mode
  15763. * 0b0..Listen-Only mode is deactivated.
  15764. * 0b1..FlexCAN module operates in Listen-Only mode.
  15765. */
  15766. #define CAN_CTRL1_LOM(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_LOM_SHIFT)) & CAN_CTRL1_LOM_MASK)
  15767. #define CAN_CTRL1_LBUF_MASK (0x10U)
  15768. #define CAN_CTRL1_LBUF_SHIFT (4U)
  15769. /*! LBUF - Lowest Buffer Transmitted First
  15770. * 0b0..Buffer with highest priority is transmitted first.
  15771. * 0b1..Lowest number buffer is transmitted first.
  15772. */
  15773. #define CAN_CTRL1_LBUF(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_LBUF_SHIFT)) & CAN_CTRL1_LBUF_MASK)
  15774. #define CAN_CTRL1_TSYN_MASK (0x20U)
  15775. #define CAN_CTRL1_TSYN_SHIFT (5U)
  15776. /*! TSYN - Timer Sync
  15777. * 0b0..Timer sync feature disabled
  15778. * 0b1..Timer sync feature enabled
  15779. */
  15780. #define CAN_CTRL1_TSYN(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_TSYN_SHIFT)) & CAN_CTRL1_TSYN_MASK)
  15781. #define CAN_CTRL1_BOFFREC_MASK (0x40U)
  15782. #define CAN_CTRL1_BOFFREC_SHIFT (6U)
  15783. /*! BOFFREC - Bus Off Recovery
  15784. * 0b0..Automatic recovering from Bus Off state enabled.
  15785. * 0b1..Automatic recovering from Bus Off state disabled.
  15786. */
  15787. #define CAN_CTRL1_BOFFREC(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_BOFFREC_SHIFT)) & CAN_CTRL1_BOFFREC_MASK)
  15788. #define CAN_CTRL1_SMP_MASK (0x80U)
  15789. #define CAN_CTRL1_SMP_SHIFT (7U)
  15790. /*! SMP - CAN Bit Sampling
  15791. * 0b0..Just one sample is used to determine the bit value.
  15792. * 0b1..Three samples are used to determine the value of the received bit: the regular one (sample point) and two
  15793. * preceding samples; a majority rule is used.
  15794. */
  15795. #define CAN_CTRL1_SMP(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_SMP_SHIFT)) & CAN_CTRL1_SMP_MASK)
  15796. #define CAN_CTRL1_RWRNMSK_MASK (0x400U)
  15797. #define CAN_CTRL1_RWRNMSK_SHIFT (10U)
  15798. /*! RWRNMSK - Rx Warning Interrupt Mask
  15799. * 0b0..Rx Warning interrupt disabled.
  15800. * 0b1..Rx Warning interrupt enabled.
  15801. */
  15802. #define CAN_CTRL1_RWRNMSK(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_RWRNMSK_SHIFT)) & CAN_CTRL1_RWRNMSK_MASK)
  15803. #define CAN_CTRL1_TWRNMSK_MASK (0x800U)
  15804. #define CAN_CTRL1_TWRNMSK_SHIFT (11U)
  15805. /*! TWRNMSK - Tx Warning Interrupt Mask
  15806. * 0b0..Tx Warning interrupt disabled.
  15807. * 0b1..Tx Warning interrupt enabled.
  15808. */
  15809. #define CAN_CTRL1_TWRNMSK(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_TWRNMSK_SHIFT)) & CAN_CTRL1_TWRNMSK_MASK)
  15810. #define CAN_CTRL1_LPB_MASK (0x1000U)
  15811. #define CAN_CTRL1_LPB_SHIFT (12U)
  15812. /*! LPB - Loop Back Mode
  15813. * 0b0..Loop Back disabled.
  15814. * 0b1..Loop Back enabled.
  15815. */
  15816. #define CAN_CTRL1_LPB(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_LPB_SHIFT)) & CAN_CTRL1_LPB_MASK)
  15817. #define CAN_CTRL1_CLKSRC_MASK (0x2000U)
  15818. #define CAN_CTRL1_CLKSRC_SHIFT (13U)
  15819. /*! CLKSRC - CAN Engine Clock Source
  15820. * 0b0..The CAN engine clock source is the oscillator clock. Under this condition, the oscillator clock frequency must be lower than the bus clock.
  15821. * 0b1..The CAN engine clock source is the peripheral clock.
  15822. */
  15823. #define CAN_CTRL1_CLKSRC(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_CLKSRC_SHIFT)) & CAN_CTRL1_CLKSRC_MASK)
  15824. #define CAN_CTRL1_ERRMSK_MASK (0x4000U)
  15825. #define CAN_CTRL1_ERRMSK_SHIFT (14U)
  15826. /*! ERRMSK - Error Interrupt Mask
  15827. * 0b0..Error interrupt disabled.
  15828. * 0b1..Error interrupt enabled.
  15829. */
  15830. #define CAN_CTRL1_ERRMSK(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_ERRMSK_SHIFT)) & CAN_CTRL1_ERRMSK_MASK)
  15831. #define CAN_CTRL1_BOFFMSK_MASK (0x8000U)
  15832. #define CAN_CTRL1_BOFFMSK_SHIFT (15U)
  15833. /*! BOFFMSK - Bus Off Interrupt Mask
  15834. * 0b0..Bus Off interrupt disabled.
  15835. * 0b1..Bus Off interrupt enabled.
  15836. */
  15837. #define CAN_CTRL1_BOFFMSK(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_BOFFMSK_SHIFT)) & CAN_CTRL1_BOFFMSK_MASK)
  15838. #define CAN_CTRL1_PSEG2_MASK (0x70000U)
  15839. #define CAN_CTRL1_PSEG2_SHIFT (16U)
  15840. /*! PSEG2 - Phase Segment 2
  15841. */
  15842. #define CAN_CTRL1_PSEG2(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_PSEG2_SHIFT)) & CAN_CTRL1_PSEG2_MASK)
  15843. #define CAN_CTRL1_PSEG1_MASK (0x380000U)
  15844. #define CAN_CTRL1_PSEG1_SHIFT (19U)
  15845. /*! PSEG1 - Phase Segment 1
  15846. */
  15847. #define CAN_CTRL1_PSEG1(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_PSEG1_SHIFT)) & CAN_CTRL1_PSEG1_MASK)
  15848. #define CAN_CTRL1_RJW_MASK (0xC00000U)
  15849. #define CAN_CTRL1_RJW_SHIFT (22U)
  15850. /*! RJW - Resync Jump Width
  15851. */
  15852. #define CAN_CTRL1_RJW(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_RJW_SHIFT)) & CAN_CTRL1_RJW_MASK)
  15853. #define CAN_CTRL1_PRESDIV_MASK (0xFF000000U)
  15854. #define CAN_CTRL1_PRESDIV_SHIFT (24U)
  15855. /*! PRESDIV - Prescaler Division Factor
  15856. */
  15857. #define CAN_CTRL1_PRESDIV(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_PRESDIV_SHIFT)) & CAN_CTRL1_PRESDIV_MASK)
  15858. /*! @} */
  15859. /*! @name TIMER - Free Running Timer */
  15860. /*! @{ */
  15861. #define CAN_TIMER_TIMER_MASK (0xFFFFU)
  15862. #define CAN_TIMER_TIMER_SHIFT (0U)
  15863. /*! TIMER - Timer Value
  15864. */
  15865. #define CAN_TIMER_TIMER(x) (((uint32_t)(((uint32_t)(x)) << CAN_TIMER_TIMER_SHIFT)) & CAN_TIMER_TIMER_MASK)
  15866. /*! @} */
  15867. /*! @name RXMGMASK - Rx Mailboxes Global Mask register */
  15868. /*! @{ */
  15869. #define CAN_RXMGMASK_MG_MASK (0xFFFFFFFFU)
  15870. #define CAN_RXMGMASK_MG_SHIFT (0U)
  15871. /*! MG - Rx Mailboxes Global Mask Bits
  15872. */
  15873. #define CAN_RXMGMASK_MG(x) (((uint32_t)(((uint32_t)(x)) << CAN_RXMGMASK_MG_SHIFT)) & CAN_RXMGMASK_MG_MASK)
  15874. /*! @} */
  15875. /*! @name RX14MASK - Rx 14 Mask register */
  15876. /*! @{ */
  15877. #define CAN_RX14MASK_RX14M_MASK (0xFFFFFFFFU)
  15878. #define CAN_RX14MASK_RX14M_SHIFT (0U)
  15879. /*! RX14M - Rx Buffer 14 Mask Bits
  15880. */
  15881. #define CAN_RX14MASK_RX14M(x) (((uint32_t)(((uint32_t)(x)) << CAN_RX14MASK_RX14M_SHIFT)) & CAN_RX14MASK_RX14M_MASK)
  15882. /*! @} */
  15883. /*! @name RX15MASK - Rx 15 Mask register */
  15884. /*! @{ */
  15885. #define CAN_RX15MASK_RX15M_MASK (0xFFFFFFFFU)
  15886. #define CAN_RX15MASK_RX15M_SHIFT (0U)
  15887. /*! RX15M - Rx Buffer 15 Mask Bits
  15888. */
  15889. #define CAN_RX15MASK_RX15M(x) (((uint32_t)(((uint32_t)(x)) << CAN_RX15MASK_RX15M_SHIFT)) & CAN_RX15MASK_RX15M_MASK)
  15890. /*! @} */
  15891. /*! @name ECR - Error Counter */
  15892. /*! @{ */
  15893. #define CAN_ECR_TXERRCNT_MASK (0xFFU)
  15894. #define CAN_ECR_TXERRCNT_SHIFT (0U)
  15895. /*! TXERRCNT - Transmit Error Counter
  15896. */
  15897. #define CAN_ECR_TXERRCNT(x) (((uint32_t)(((uint32_t)(x)) << CAN_ECR_TXERRCNT_SHIFT)) & CAN_ECR_TXERRCNT_MASK)
  15898. #define CAN_ECR_RXERRCNT_MASK (0xFF00U)
  15899. #define CAN_ECR_RXERRCNT_SHIFT (8U)
  15900. /*! RXERRCNT - Receive Error Counter
  15901. */
  15902. #define CAN_ECR_RXERRCNT(x) (((uint32_t)(((uint32_t)(x)) << CAN_ECR_RXERRCNT_SHIFT)) & CAN_ECR_RXERRCNT_MASK)
  15903. #define CAN_ECR_TXERRCNT_FAST_MASK (0xFF0000U)
  15904. #define CAN_ECR_TXERRCNT_FAST_SHIFT (16U)
  15905. /*! TXERRCNT_FAST - Transmit Error Counter for fast bits
  15906. */
  15907. #define CAN_ECR_TXERRCNT_FAST(x) (((uint32_t)(((uint32_t)(x)) << CAN_ECR_TXERRCNT_FAST_SHIFT)) & CAN_ECR_TXERRCNT_FAST_MASK)
  15908. #define CAN_ECR_RXERRCNT_FAST_MASK (0xFF000000U)
  15909. #define CAN_ECR_RXERRCNT_FAST_SHIFT (24U)
  15910. /*! RXERRCNT_FAST - Receive Error Counter for fast bits
  15911. */
  15912. #define CAN_ECR_RXERRCNT_FAST(x) (((uint32_t)(((uint32_t)(x)) << CAN_ECR_RXERRCNT_FAST_SHIFT)) & CAN_ECR_RXERRCNT_FAST_MASK)
  15913. /*! @} */
  15914. /*! @name ESR1 - Error and Status 1 register */
  15915. /*! @{ */
  15916. #define CAN_ESR1_WAKINT_MASK (0x1U)
  15917. #define CAN_ESR1_WAKINT_SHIFT (0U)
  15918. /*! WAKINT - Wake-Up Interrupt
  15919. * 0b0..No such occurrence.
  15920. * 0b1..Indicates a recessive to dominant transition was received on the CAN bus.
  15921. */
  15922. #define CAN_ESR1_WAKINT(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_WAKINT_SHIFT)) & CAN_ESR1_WAKINT_MASK)
  15923. #define CAN_ESR1_ERRINT_MASK (0x2U)
  15924. #define CAN_ESR1_ERRINT_SHIFT (1U)
  15925. /*! ERRINT - Error Interrupt
  15926. * 0b0..No such occurrence.
  15927. * 0b1..Indicates setting of any error bit in the Error and Status register.
  15928. */
  15929. #define CAN_ESR1_ERRINT(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_ERRINT_SHIFT)) & CAN_ESR1_ERRINT_MASK)
  15930. #define CAN_ESR1_BOFFINT_MASK (0x4U)
  15931. #define CAN_ESR1_BOFFINT_SHIFT (2U)
  15932. /*! BOFFINT - Bus Off Interrupt
  15933. * 0b0..No such occurrence.
  15934. * 0b1..FlexCAN module entered Bus Off state.
  15935. */
  15936. #define CAN_ESR1_BOFFINT(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_BOFFINT_SHIFT)) & CAN_ESR1_BOFFINT_MASK)
  15937. #define CAN_ESR1_RX_MASK (0x8U)
  15938. #define CAN_ESR1_RX_SHIFT (3U)
  15939. /*! RX - FlexCAN In Reception
  15940. * 0b0..FlexCAN is not receiving a message.
  15941. * 0b1..FlexCAN is receiving a message.
  15942. */
  15943. #define CAN_ESR1_RX(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_RX_SHIFT)) & CAN_ESR1_RX_MASK)
  15944. #define CAN_ESR1_FLTCONF_MASK (0x30U)
  15945. #define CAN_ESR1_FLTCONF_SHIFT (4U)
  15946. /*! FLTCONF - Fault Confinement State
  15947. * 0b00..Error Active
  15948. * 0b01..Error Passive
  15949. * 0b1x..Bus Off
  15950. */
  15951. #define CAN_ESR1_FLTCONF(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_FLTCONF_SHIFT)) & CAN_ESR1_FLTCONF_MASK)
  15952. #define CAN_ESR1_TX_MASK (0x40U)
  15953. #define CAN_ESR1_TX_SHIFT (6U)
  15954. /*! TX - FlexCAN In Transmission
  15955. * 0b0..FlexCAN is not transmitting a message.
  15956. * 0b1..FlexCAN is transmitting a message.
  15957. */
  15958. #define CAN_ESR1_TX(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_TX_SHIFT)) & CAN_ESR1_TX_MASK)
  15959. #define CAN_ESR1_IDLE_MASK (0x80U)
  15960. #define CAN_ESR1_IDLE_SHIFT (7U)
  15961. /*! IDLE - IDLE
  15962. * 0b0..No such occurrence.
  15963. * 0b1..CAN bus is now IDLE.
  15964. */
  15965. #define CAN_ESR1_IDLE(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_IDLE_SHIFT)) & CAN_ESR1_IDLE_MASK)
  15966. #define CAN_ESR1_RXWRN_MASK (0x100U)
  15967. #define CAN_ESR1_RXWRN_SHIFT (8U)
  15968. /*! RXWRN - Rx Error Warning
  15969. * 0b0..No such occurrence.
  15970. * 0b1..RXERRCNT is greater than or equal to 96.
  15971. */
  15972. #define CAN_ESR1_RXWRN(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_RXWRN_SHIFT)) & CAN_ESR1_RXWRN_MASK)
  15973. #define CAN_ESR1_TXWRN_MASK (0x200U)
  15974. #define CAN_ESR1_TXWRN_SHIFT (9U)
  15975. /*! TXWRN - TX Error Warning
  15976. * 0b0..No such occurrence.
  15977. * 0b1..TXERRCNT is greater than or equal to 96.
  15978. */
  15979. #define CAN_ESR1_TXWRN(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_TXWRN_SHIFT)) & CAN_ESR1_TXWRN_MASK)
  15980. #define CAN_ESR1_STFERR_MASK (0x400U)
  15981. #define CAN_ESR1_STFERR_SHIFT (10U)
  15982. /*! STFERR - Stuffing Error
  15983. * 0b0..No such occurrence.
  15984. * 0b1..A stuffing error occurred since last read of this register.
  15985. */
  15986. #define CAN_ESR1_STFERR(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_STFERR_SHIFT)) & CAN_ESR1_STFERR_MASK)
  15987. #define CAN_ESR1_FRMERR_MASK (0x800U)
  15988. #define CAN_ESR1_FRMERR_SHIFT (11U)
  15989. /*! FRMERR - Form Error
  15990. * 0b0..No such occurrence.
  15991. * 0b1..A Form Error occurred since last read of this register.
  15992. */
  15993. #define CAN_ESR1_FRMERR(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_FRMERR_SHIFT)) & CAN_ESR1_FRMERR_MASK)
  15994. #define CAN_ESR1_CRCERR_MASK (0x1000U)
  15995. #define CAN_ESR1_CRCERR_SHIFT (12U)
  15996. /*! CRCERR - Cyclic Redundancy Check Error
  15997. * 0b0..No such occurrence.
  15998. * 0b1..A CRC error occurred since last read of this register.
  15999. */
  16000. #define CAN_ESR1_CRCERR(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_CRCERR_SHIFT)) & CAN_ESR1_CRCERR_MASK)
  16001. #define CAN_ESR1_ACKERR_MASK (0x2000U)
  16002. #define CAN_ESR1_ACKERR_SHIFT (13U)
  16003. /*! ACKERR - Acknowledge Error
  16004. * 0b0..No such occurrence.
  16005. * 0b1..An ACK error occurred since last read of this register.
  16006. */
  16007. #define CAN_ESR1_ACKERR(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_ACKERR_SHIFT)) & CAN_ESR1_ACKERR_MASK)
  16008. #define CAN_ESR1_BIT0ERR_MASK (0x4000U)
  16009. #define CAN_ESR1_BIT0ERR_SHIFT (14U)
  16010. /*! BIT0ERR - Bit0 Error
  16011. * 0b0..No such occurrence.
  16012. * 0b1..At least one bit sent as dominant is received as recessive.
  16013. */
  16014. #define CAN_ESR1_BIT0ERR(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_BIT0ERR_SHIFT)) & CAN_ESR1_BIT0ERR_MASK)
  16015. #define CAN_ESR1_BIT1ERR_MASK (0x8000U)
  16016. #define CAN_ESR1_BIT1ERR_SHIFT (15U)
  16017. /*! BIT1ERR - Bit1 Error
  16018. * 0b0..No such occurrence.
  16019. * 0b1..At least one bit sent as recessive is received as dominant.
  16020. */
  16021. #define CAN_ESR1_BIT1ERR(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_BIT1ERR_SHIFT)) & CAN_ESR1_BIT1ERR_MASK)
  16022. #define CAN_ESR1_RWRNINT_MASK (0x10000U)
  16023. #define CAN_ESR1_RWRNINT_SHIFT (16U)
  16024. /*! RWRNINT - Rx Warning Interrupt Flag
  16025. * 0b0..No such occurrence.
  16026. * 0b1..The Rx error counter transitioned from less than 96 to greater than or equal to 96.
  16027. */
  16028. #define CAN_ESR1_RWRNINT(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_RWRNINT_SHIFT)) & CAN_ESR1_RWRNINT_MASK)
  16029. #define CAN_ESR1_TWRNINT_MASK (0x20000U)
  16030. #define CAN_ESR1_TWRNINT_SHIFT (17U)
  16031. /*! TWRNINT - Tx Warning Interrupt Flag
  16032. * 0b0..No such occurrence.
  16033. * 0b1..The Tx error counter transitioned from less than 96 to greater than or equal to 96.
  16034. */
  16035. #define CAN_ESR1_TWRNINT(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_TWRNINT_SHIFT)) & CAN_ESR1_TWRNINT_MASK)
  16036. #define CAN_ESR1_SYNCH_MASK (0x40000U)
  16037. #define CAN_ESR1_SYNCH_SHIFT (18U)
  16038. /*! SYNCH - CAN Synchronization Status
  16039. * 0b0..FlexCAN is not synchronized to the CAN bus.
  16040. * 0b1..FlexCAN is synchronized to the CAN bus.
  16041. */
  16042. #define CAN_ESR1_SYNCH(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_SYNCH_SHIFT)) & CAN_ESR1_SYNCH_MASK)
  16043. #define CAN_ESR1_BOFFDONEINT_MASK (0x80000U)
  16044. #define CAN_ESR1_BOFFDONEINT_SHIFT (19U)
  16045. /*! BOFFDONEINT - Bus Off Done Interrupt
  16046. * 0b0..No such occurrence.
  16047. * 0b1..FlexCAN module has completed Bus Off process.
  16048. */
  16049. #define CAN_ESR1_BOFFDONEINT(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_BOFFDONEINT_SHIFT)) & CAN_ESR1_BOFFDONEINT_MASK)
  16050. #define CAN_ESR1_ERRINT_FAST_MASK (0x100000U)
  16051. #define CAN_ESR1_ERRINT_FAST_SHIFT (20U)
  16052. /*! ERRINT_FAST - Error interrupt for errors detected in Data Phase of CAN FD frames with BRS bit set
  16053. * 0b0..No such occurrence.
  16054. * 0b1..Indicates setting of any error bit detected in the data phase of CAN FD frames with the BRS bit set.
  16055. */
  16056. #define CAN_ESR1_ERRINT_FAST(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_ERRINT_FAST_SHIFT)) & CAN_ESR1_ERRINT_FAST_MASK)
  16057. #define CAN_ESR1_ERROVR_MASK (0x200000U)
  16058. #define CAN_ESR1_ERROVR_SHIFT (21U)
  16059. /*! ERROVR - Error Overrun
  16060. * 0b0..Overrun has not occurred.
  16061. * 0b1..Overrun has occurred.
  16062. */
  16063. #define CAN_ESR1_ERROVR(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_ERROVR_SHIFT)) & CAN_ESR1_ERROVR_MASK)
  16064. #define CAN_ESR1_STFERR_FAST_MASK (0x4000000U)
  16065. #define CAN_ESR1_STFERR_FAST_SHIFT (26U)
  16066. /*! STFERR_FAST - Stuffing Error in the Data Phase of CAN FD frames with the BRS bit set
  16067. * 0b0..No such occurrence.
  16068. * 0b1..A stuffing error occurred since last read of this register.
  16069. */
  16070. #define CAN_ESR1_STFERR_FAST(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_STFERR_FAST_SHIFT)) & CAN_ESR1_STFERR_FAST_MASK)
  16071. #define CAN_ESR1_FRMERR_FAST_MASK (0x8000000U)
  16072. #define CAN_ESR1_FRMERR_FAST_SHIFT (27U)
  16073. /*! FRMERR_FAST - Form Error in the Data Phase of CAN FD frames with the BRS bit set
  16074. * 0b0..No such occurrence.
  16075. * 0b1..A form error occurred since last read of this register.
  16076. */
  16077. #define CAN_ESR1_FRMERR_FAST(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_FRMERR_FAST_SHIFT)) & CAN_ESR1_FRMERR_FAST_MASK)
  16078. #define CAN_ESR1_CRCERR_FAST_MASK (0x10000000U)
  16079. #define CAN_ESR1_CRCERR_FAST_SHIFT (28U)
  16080. /*! CRCERR_FAST - Cyclic Redundancy Check Error in the CRC field of CAN FD frames with the BRS bit set
  16081. * 0b0..No such occurrence.
  16082. * 0b1..A CRC error occurred since last read of this register.
  16083. */
  16084. #define CAN_ESR1_CRCERR_FAST(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_CRCERR_FAST_SHIFT)) & CAN_ESR1_CRCERR_FAST_MASK)
  16085. #define CAN_ESR1_BIT0ERR_FAST_MASK (0x40000000U)
  16086. #define CAN_ESR1_BIT0ERR_FAST_SHIFT (30U)
  16087. /*! BIT0ERR_FAST - Bit0 Error in the Data Phase of CAN FD frames with the BRS bit set
  16088. * 0b0..No such occurrence.
  16089. * 0b1..At least one bit sent as dominant is received as recessive.
  16090. */
  16091. #define CAN_ESR1_BIT0ERR_FAST(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_BIT0ERR_FAST_SHIFT)) & CAN_ESR1_BIT0ERR_FAST_MASK)
  16092. #define CAN_ESR1_BIT1ERR_FAST_MASK (0x80000000U)
  16093. #define CAN_ESR1_BIT1ERR_FAST_SHIFT (31U)
  16094. /*! BIT1ERR_FAST - Bit1 Error in the Data Phase of CAN FD frames with the BRS bit set
  16095. * 0b0..No such occurrence.
  16096. * 0b1..At least one bit sent as recessive is received as dominant.
  16097. */
  16098. #define CAN_ESR1_BIT1ERR_FAST(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_BIT1ERR_FAST_SHIFT)) & CAN_ESR1_BIT1ERR_FAST_MASK)
  16099. /*! @} */
  16100. /*! @name IMASK2 - Interrupt Masks 2 register */
  16101. /*! @{ */
  16102. #define CAN_IMASK2_BUF63TO32M_MASK (0xFFFFFFFFU)
  16103. #define CAN_IMASK2_BUF63TO32M_SHIFT (0U)
  16104. /*! BUF63TO32M - Buffer MBi Mask
  16105. */
  16106. #define CAN_IMASK2_BUF63TO32M(x) (((uint32_t)(((uint32_t)(x)) << CAN_IMASK2_BUF63TO32M_SHIFT)) & CAN_IMASK2_BUF63TO32M_MASK)
  16107. /*! @} */
  16108. /*! @name IMASK1 - Interrupt Masks 1 register */
  16109. /*! @{ */
  16110. #define CAN_IMASK1_BUF31TO0M_MASK (0xFFFFFFFFU)
  16111. #define CAN_IMASK1_BUF31TO0M_SHIFT (0U)
  16112. /*! BUF31TO0M - Buffer MBi Mask
  16113. */
  16114. #define CAN_IMASK1_BUF31TO0M(x) (((uint32_t)(((uint32_t)(x)) << CAN_IMASK1_BUF31TO0M_SHIFT)) & CAN_IMASK1_BUF31TO0M_MASK)
  16115. /*! @} */
  16116. /*! @name IFLAG2 - Interrupt Flags 2 register */
  16117. /*! @{ */
  16118. #define CAN_IFLAG2_BUF63TO32I_MASK (0xFFFFFFFFU)
  16119. #define CAN_IFLAG2_BUF63TO32I_SHIFT (0U)
  16120. /*! BUF63TO32I - Buffer MBi Interrupt
  16121. */
  16122. #define CAN_IFLAG2_BUF63TO32I(x) (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG2_BUF63TO32I_SHIFT)) & CAN_IFLAG2_BUF63TO32I_MASK)
  16123. /*! @} */
  16124. /*! @name IFLAG1 - Interrupt Flags 1 register */
  16125. /*! @{ */
  16126. #define CAN_IFLAG1_BUF0I_MASK (0x1U)
  16127. #define CAN_IFLAG1_BUF0I_SHIFT (0U)
  16128. /*! BUF0I - Buffer MB0 Interrupt Or Clear FIFO bit
  16129. * 0b0..The corresponding buffer has no occurrence of successfully completed transmission or reception when MCR[RFEN]=0.
  16130. * 0b1..The corresponding buffer has successfully completed transmission or reception when MCR[RFEN]=0.
  16131. */
  16132. #define CAN_IFLAG1_BUF0I(x) (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG1_BUF0I_SHIFT)) & CAN_IFLAG1_BUF0I_MASK)
  16133. #define CAN_IFLAG1_BUF4TO1I_MASK (0x1EU)
  16134. #define CAN_IFLAG1_BUF4TO1I_SHIFT (1U)
  16135. /*! BUF4TO1I - Buffer MBi Interrupt Or Reserved
  16136. */
  16137. #define CAN_IFLAG1_BUF4TO1I(x) (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG1_BUF4TO1I_SHIFT)) & CAN_IFLAG1_BUF4TO1I_MASK)
  16138. #define CAN_IFLAG1_BUF5I_MASK (0x20U)
  16139. #define CAN_IFLAG1_BUF5I_SHIFT (5U)
  16140. /*! BUF5I - Buffer MB5 Interrupt Or Frames available in Rx FIFO
  16141. * 0b0..No occurrence of MB5 completing transmission/reception when MCR[RFEN]=0, or of frame(s) available in the FIFO, when MCR[RFEN]=1
  16142. * 0b1..MB5 completed transmission/reception when MCR[RFEN]=0, or frame(s) available in the Rx FIFO when
  16143. * MCR[RFEN]=1. It generates a DMA request in case of MCR[RFEN] and MCR[DMA] are enabled.
  16144. */
  16145. #define CAN_IFLAG1_BUF5I(x) (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG1_BUF5I_SHIFT)) & CAN_IFLAG1_BUF5I_MASK)
  16146. #define CAN_IFLAG1_BUF6I_MASK (0x40U)
  16147. #define CAN_IFLAG1_BUF6I_SHIFT (6U)
  16148. /*! BUF6I - Buffer MB6 Interrupt Or Rx FIFO Warning
  16149. * 0b0..No occurrence of MB6 completing transmission/reception when MCR[RFEN]=0, or of Rx FIFO almost full when MCR[RFEN]=1
  16150. * 0b1..MB6 completed transmission/reception when MCR[RFEN]=0, or Rx FIFO almost full when MCR[RFEN]=1
  16151. */
  16152. #define CAN_IFLAG1_BUF6I(x) (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG1_BUF6I_SHIFT)) & CAN_IFLAG1_BUF6I_MASK)
  16153. #define CAN_IFLAG1_BUF7I_MASK (0x80U)
  16154. #define CAN_IFLAG1_BUF7I_SHIFT (7U)
  16155. /*! BUF7I - Buffer MB7 Interrupt Or Rx FIFO Overflow
  16156. * 0b0..No occurrence of MB7 completing transmission/reception when MCR[RFEN]=0, or of Rx FIFO overflow when MCR[RFEN]=1
  16157. * 0b1..MB7 completed transmission/reception when MCR[RFEN]=0, or Rx FIFO overflow when MCR[RFEN]=1
  16158. */
  16159. #define CAN_IFLAG1_BUF7I(x) (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG1_BUF7I_SHIFT)) & CAN_IFLAG1_BUF7I_MASK)
  16160. #define CAN_IFLAG1_BUF31TO8I_MASK (0xFFFFFF00U)
  16161. #define CAN_IFLAG1_BUF31TO8I_SHIFT (8U)
  16162. /*! BUF31TO8I - Buffer MBi Interrupt
  16163. */
  16164. #define CAN_IFLAG1_BUF31TO8I(x) (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG1_BUF31TO8I_SHIFT)) & CAN_IFLAG1_BUF31TO8I_MASK)
  16165. /*! @} */
  16166. /*! @name CTRL2 - Control 2 register */
  16167. /*! @{ */
  16168. #define CAN_CTRL2_EDFLTDIS_MASK (0x800U)
  16169. #define CAN_CTRL2_EDFLTDIS_SHIFT (11U)
  16170. /*! EDFLTDIS - Edge Filter Disable
  16171. * 0b0..Edge filter is enabled
  16172. * 0b1..Edge filter is disabled
  16173. */
  16174. #define CAN_CTRL2_EDFLTDIS(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_EDFLTDIS_SHIFT)) & CAN_CTRL2_EDFLTDIS_MASK)
  16175. #define CAN_CTRL2_ISOCANFDEN_MASK (0x1000U)
  16176. #define CAN_CTRL2_ISOCANFDEN_SHIFT (12U)
  16177. /*! ISOCANFDEN - ISO CAN FD Enable
  16178. * 0b0..FlexCAN operates using the non-ISO CAN FD protocol.
  16179. * 0b1..FlexCAN operates using the ISO CAN FD protocol (ISO 11898-1).
  16180. */
  16181. #define CAN_CTRL2_ISOCANFDEN(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_ISOCANFDEN_SHIFT)) & CAN_CTRL2_ISOCANFDEN_MASK)
  16182. #define CAN_CTRL2_PREXCEN_MASK (0x4000U)
  16183. #define CAN_CTRL2_PREXCEN_SHIFT (14U)
  16184. /*! PREXCEN - Protocol Exception Enable
  16185. * 0b0..Protocol exception is disabled.
  16186. * 0b1..Protocol exception is enabled.
  16187. */
  16188. #define CAN_CTRL2_PREXCEN(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_PREXCEN_SHIFT)) & CAN_CTRL2_PREXCEN_MASK)
  16189. #define CAN_CTRL2_TIMER_SRC_MASK (0x8000U)
  16190. #define CAN_CTRL2_TIMER_SRC_SHIFT (15U)
  16191. /*! TIMER_SRC - Timer Source
  16192. * 0b0..The free running timer is clocked by the CAN bit clock, which defines the baud rate on the CAN bus.
  16193. * 0b1..The free running timer is clocked by an external time tick. The period can be either adjusted to be equal
  16194. * to the baud rate on the CAN bus, or a different value as required. See the device-specific section for
  16195. * details about the external time tick.
  16196. */
  16197. #define CAN_CTRL2_TIMER_SRC(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_TIMER_SRC_SHIFT)) & CAN_CTRL2_TIMER_SRC_MASK)
  16198. #define CAN_CTRL2_EACEN_MASK (0x10000U)
  16199. #define CAN_CTRL2_EACEN_SHIFT (16U)
  16200. /*! EACEN - Entire Frame Arbitration Field Comparison Enable For Rx Mailboxes
  16201. * 0b0..Rx mailbox filter's IDE bit is always compared and RTR is never compared despite mask bits.
  16202. * 0b1..Enables the comparison of both Rx mailbox filter's IDE and RTR bit with their corresponding bits within
  16203. * the incoming frame. Mask bits do apply.
  16204. */
  16205. #define CAN_CTRL2_EACEN(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_EACEN_SHIFT)) & CAN_CTRL2_EACEN_MASK)
  16206. #define CAN_CTRL2_RRS_MASK (0x20000U)
  16207. #define CAN_CTRL2_RRS_SHIFT (17U)
  16208. /*! RRS - Remote Request Storing
  16209. * 0b0..Remote response frame is generated.
  16210. * 0b1..Remote request frame is stored.
  16211. */
  16212. #define CAN_CTRL2_RRS(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_RRS_SHIFT)) & CAN_CTRL2_RRS_MASK)
  16213. #define CAN_CTRL2_MRP_MASK (0x40000U)
  16214. #define CAN_CTRL2_MRP_SHIFT (18U)
  16215. /*! MRP - Mailboxes Reception Priority
  16216. * 0b0..Matching starts from Rx FIFO and continues on mailboxes.
  16217. * 0b1..Matching starts from mailboxes and continues on Rx FIFO.
  16218. */
  16219. #define CAN_CTRL2_MRP(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_MRP_SHIFT)) & CAN_CTRL2_MRP_MASK)
  16220. #define CAN_CTRL2_TASD_MASK (0xF80000U)
  16221. #define CAN_CTRL2_TASD_SHIFT (19U)
  16222. /*! TASD - Tx Arbitration Start Delay
  16223. */
  16224. #define CAN_CTRL2_TASD(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_TASD_SHIFT)) & CAN_CTRL2_TASD_MASK)
  16225. #define CAN_CTRL2_RFFN_MASK (0xF000000U)
  16226. #define CAN_CTRL2_RFFN_SHIFT (24U)
  16227. /*! RFFN - Number Of Rx FIFO Filters
  16228. */
  16229. #define CAN_CTRL2_RFFN(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_RFFN_SHIFT)) & CAN_CTRL2_RFFN_MASK)
  16230. #define CAN_CTRL2_WRMFRZ_MASK (0x10000000U)
  16231. #define CAN_CTRL2_WRMFRZ_SHIFT (28U)
  16232. /*! WRMFRZ - Write-Access To Memory In Freeze Mode
  16233. * 0b0..Maintain the write access restrictions.
  16234. * 0b1..Enable unrestricted write access to FlexCAN memory.
  16235. */
  16236. #define CAN_CTRL2_WRMFRZ(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_WRMFRZ_SHIFT)) & CAN_CTRL2_WRMFRZ_MASK)
  16237. #define CAN_CTRL2_ECRWRE_MASK (0x20000000U)
  16238. #define CAN_CTRL2_ECRWRE_SHIFT (29U)
  16239. /*! ECRWRE - Error-correction Configuration Register Write Enable
  16240. * 0b0..Disable update.
  16241. * 0b1..Enable update.
  16242. */
  16243. #define CAN_CTRL2_ECRWRE(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_ECRWRE_SHIFT)) & CAN_CTRL2_ECRWRE_MASK)
  16244. #define CAN_CTRL2_BOFFDONEMSK_MASK (0x40000000U)
  16245. #define CAN_CTRL2_BOFFDONEMSK_SHIFT (30U)
  16246. /*! BOFFDONEMSK - Bus Off Done Interrupt Mask
  16247. * 0b0..Bus off done interrupt disabled.
  16248. * 0b1..Bus off done interrupt enabled.
  16249. */
  16250. #define CAN_CTRL2_BOFFDONEMSK(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_BOFFDONEMSK_SHIFT)) & CAN_CTRL2_BOFFDONEMSK_MASK)
  16251. #define CAN_CTRL2_ERRMSK_FAST_MASK (0x80000000U)
  16252. #define CAN_CTRL2_ERRMSK_FAST_SHIFT (31U)
  16253. /*! ERRMSK_FAST - Error Interrupt Mask for errors detected in the data phase of fast CAN FD frames
  16254. * 0b0..ERRINT_FAST error interrupt disabled.
  16255. * 0b1..ERRINT_FAST error interrupt enabled.
  16256. */
  16257. #define CAN_CTRL2_ERRMSK_FAST(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_ERRMSK_FAST_SHIFT)) & CAN_CTRL2_ERRMSK_FAST_MASK)
  16258. /*! @} */
  16259. /*! @name ESR2 - Error and Status 2 register */
  16260. /*! @{ */
  16261. #define CAN_ESR2_IMB_MASK (0x2000U)
  16262. #define CAN_ESR2_IMB_SHIFT (13U)
  16263. /*! IMB - Inactive Mailbox
  16264. * 0b0..If ESR2[VPS] is asserted, the ESR2[LPTM] is not an inactive mailbox.
  16265. * 0b1..If ESR2[VPS] is asserted, there is at least one inactive mailbox. LPTM content is the number of the first one.
  16266. */
  16267. #define CAN_ESR2_IMB(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR2_IMB_SHIFT)) & CAN_ESR2_IMB_MASK)
  16268. #define CAN_ESR2_VPS_MASK (0x4000U)
  16269. #define CAN_ESR2_VPS_SHIFT (14U)
  16270. /*! VPS - Valid Priority Status
  16271. * 0b0..Contents of IMB and LPTM are invalid.
  16272. * 0b1..Contents of IMB and LPTM are valid.
  16273. */
  16274. #define CAN_ESR2_VPS(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR2_VPS_SHIFT)) & CAN_ESR2_VPS_MASK)
  16275. #define CAN_ESR2_LPTM_MASK (0x7F0000U)
  16276. #define CAN_ESR2_LPTM_SHIFT (16U)
  16277. /*! LPTM - Lowest Priority Tx Mailbox
  16278. */
  16279. #define CAN_ESR2_LPTM(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR2_LPTM_SHIFT)) & CAN_ESR2_LPTM_MASK)
  16280. /*! @} */
  16281. /*! @name CRCR - CRC register */
  16282. /*! @{ */
  16283. #define CAN_CRCR_TXCRC_MASK (0x7FFFU)
  16284. #define CAN_CRCR_TXCRC_SHIFT (0U)
  16285. /*! TXCRC - Transmitted CRC value
  16286. */
  16287. #define CAN_CRCR_TXCRC(x) (((uint32_t)(((uint32_t)(x)) << CAN_CRCR_TXCRC_SHIFT)) & CAN_CRCR_TXCRC_MASK)
  16288. #define CAN_CRCR_MBCRC_MASK (0x7F0000U)
  16289. #define CAN_CRCR_MBCRC_SHIFT (16U)
  16290. /*! MBCRC - CRC Mailbox
  16291. */
  16292. #define CAN_CRCR_MBCRC(x) (((uint32_t)(((uint32_t)(x)) << CAN_CRCR_MBCRC_SHIFT)) & CAN_CRCR_MBCRC_MASK)
  16293. /*! @} */
  16294. /*! @name RXFGMASK - Rx FIFO Global Mask register */
  16295. /*! @{ */
  16296. #define CAN_RXFGMASK_FGM_MASK (0xFFFFFFFFU)
  16297. #define CAN_RXFGMASK_FGM_SHIFT (0U)
  16298. /*! FGM - Rx FIFO Global Mask Bits
  16299. */
  16300. #define CAN_RXFGMASK_FGM(x) (((uint32_t)(((uint32_t)(x)) << CAN_RXFGMASK_FGM_SHIFT)) & CAN_RXFGMASK_FGM_MASK)
  16301. /*! @} */
  16302. /*! @name RXFIR - Rx FIFO Information register */
  16303. /*! @{ */
  16304. #define CAN_RXFIR_IDHIT_MASK (0x1FFU)
  16305. #define CAN_RXFIR_IDHIT_SHIFT (0U)
  16306. /*! IDHIT - Identifier Acceptance Filter Hit Indicator
  16307. */
  16308. #define CAN_RXFIR_IDHIT(x) (((uint32_t)(((uint32_t)(x)) << CAN_RXFIR_IDHIT_SHIFT)) & CAN_RXFIR_IDHIT_MASK)
  16309. /*! @} */
  16310. /*! @name CBT - CAN Bit Timing register */
  16311. /*! @{ */
  16312. #define CAN_CBT_EPSEG2_MASK (0x1FU)
  16313. #define CAN_CBT_EPSEG2_SHIFT (0U)
  16314. /*! EPSEG2 - Extended Phase Segment 2
  16315. */
  16316. #define CAN_CBT_EPSEG2(x) (((uint32_t)(((uint32_t)(x)) << CAN_CBT_EPSEG2_SHIFT)) & CAN_CBT_EPSEG2_MASK)
  16317. #define CAN_CBT_EPSEG1_MASK (0x3E0U)
  16318. #define CAN_CBT_EPSEG1_SHIFT (5U)
  16319. /*! EPSEG1 - Extended Phase Segment 1
  16320. */
  16321. #define CAN_CBT_EPSEG1(x) (((uint32_t)(((uint32_t)(x)) << CAN_CBT_EPSEG1_SHIFT)) & CAN_CBT_EPSEG1_MASK)
  16322. #define CAN_CBT_EPROPSEG_MASK (0xFC00U)
  16323. #define CAN_CBT_EPROPSEG_SHIFT (10U)
  16324. /*! EPROPSEG - Extended Propagation Segment
  16325. */
  16326. #define CAN_CBT_EPROPSEG(x) (((uint32_t)(((uint32_t)(x)) << CAN_CBT_EPROPSEG_SHIFT)) & CAN_CBT_EPROPSEG_MASK)
  16327. #define CAN_CBT_ERJW_MASK (0x1F0000U)
  16328. #define CAN_CBT_ERJW_SHIFT (16U)
  16329. /*! ERJW - Extended Resync Jump Width
  16330. */
  16331. #define CAN_CBT_ERJW(x) (((uint32_t)(((uint32_t)(x)) << CAN_CBT_ERJW_SHIFT)) & CAN_CBT_ERJW_MASK)
  16332. #define CAN_CBT_EPRESDIV_MASK (0x7FE00000U)
  16333. #define CAN_CBT_EPRESDIV_SHIFT (21U)
  16334. /*! EPRESDIV - Extended Prescaler Division Factor
  16335. */
  16336. #define CAN_CBT_EPRESDIV(x) (((uint32_t)(((uint32_t)(x)) << CAN_CBT_EPRESDIV_SHIFT)) & CAN_CBT_EPRESDIV_MASK)
  16337. #define CAN_CBT_BTF_MASK (0x80000000U)
  16338. #define CAN_CBT_BTF_SHIFT (31U)
  16339. /*! BTF - Bit Timing Format Enable
  16340. * 0b0..Extended bit time definitions disabled.
  16341. * 0b1..Extended bit time definitions enabled.
  16342. */
  16343. #define CAN_CBT_BTF(x) (((uint32_t)(((uint32_t)(x)) << CAN_CBT_BTF_SHIFT)) & CAN_CBT_BTF_MASK)
  16344. /*! @} */
  16345. /* The count of CAN_CS */
  16346. #define CAN_CS_COUNT_MB8B (64U)
  16347. /* The count of CAN_ID */
  16348. #define CAN_ID_COUNT_MB8B (64U)
  16349. /* The count of CAN_WORD */
  16350. #define CAN_WORD_COUNT_MB8B (64U)
  16351. /* The count of CAN_WORD */
  16352. #define CAN_WORD_COUNT_MB8B2 (2U)
  16353. /* The count of CAN_CS */
  16354. #define CAN_CS_COUNT_MB16B (42U)
  16355. /* The count of CAN_ID */
  16356. #define CAN_ID_COUNT_MB16B (42U)
  16357. /* The count of CAN_WORD */
  16358. #define CAN_WORD_COUNT_MB16B (42U)
  16359. /* The count of CAN_WORD */
  16360. #define CAN_WORD_COUNT_MB16B2 (4U)
  16361. /* The count of CAN_CS */
  16362. #define CAN_CS_COUNT_MB32B (24U)
  16363. /* The count of CAN_ID */
  16364. #define CAN_ID_COUNT_MB32B (24U)
  16365. /* The count of CAN_WORD */
  16366. #define CAN_WORD_COUNT_MB32B (24U)
  16367. /* The count of CAN_WORD */
  16368. #define CAN_WORD_COUNT_MB32B2 (8U)
  16369. /*! @name CS - Message Buffer 0 CS Register..Message Buffer 13 CS Register */
  16370. /*! @{ */
  16371. #define CAN_CS_TIME_STAMP_MASK (0xFFFFU)
  16372. #define CAN_CS_TIME_STAMP_SHIFT (0U)
  16373. /*! TIME_STAMP - Free-Running Counter Time stamp. This 16-bit field is a copy of the Free-Running
  16374. * Timer, captured for Tx and Rx frames at the time when the beginning of the Identifier field
  16375. * appears on the CAN bus.
  16376. */
  16377. #define CAN_CS_TIME_STAMP(x) (((uint32_t)(((uint32_t)(x)) << CAN_CS_TIME_STAMP_SHIFT)) & CAN_CS_TIME_STAMP_MASK)
  16378. #define CAN_CS_DLC_MASK (0xF0000U)
  16379. #define CAN_CS_DLC_SHIFT (16U)
  16380. /*! DLC - Length of the data to be stored/transmitted.
  16381. */
  16382. #define CAN_CS_DLC(x) (((uint32_t)(((uint32_t)(x)) << CAN_CS_DLC_SHIFT)) & CAN_CS_DLC_MASK)
  16383. #define CAN_CS_RTR_MASK (0x100000U)
  16384. #define CAN_CS_RTR_SHIFT (20U)
  16385. /*! RTR - Remote Transmission Request. One/zero for remote/data frame.
  16386. */
  16387. #define CAN_CS_RTR(x) (((uint32_t)(((uint32_t)(x)) << CAN_CS_RTR_SHIFT)) & CAN_CS_RTR_MASK)
  16388. #define CAN_CS_IDE_MASK (0x200000U)
  16389. #define CAN_CS_IDE_SHIFT (21U)
  16390. /*! IDE - ID Extended. One/zero for extended/standard format frame.
  16391. */
  16392. #define CAN_CS_IDE(x) (((uint32_t)(((uint32_t)(x)) << CAN_CS_IDE_SHIFT)) & CAN_CS_IDE_MASK)
  16393. #define CAN_CS_SRR_MASK (0x400000U)
  16394. #define CAN_CS_SRR_SHIFT (22U)
  16395. /*! SRR - Substitute Remote Request. Contains a fixed recessive bit.
  16396. */
  16397. #define CAN_CS_SRR(x) (((uint32_t)(((uint32_t)(x)) << CAN_CS_SRR_SHIFT)) & CAN_CS_SRR_MASK)
  16398. #define CAN_CS_CODE_MASK (0xF000000U)
  16399. #define CAN_CS_CODE_SHIFT (24U)
  16400. /*! CODE - Message Buffer Code. This 4-bit field can be accessed (read or write) by the CPU and by
  16401. * the FlexCAN module itself, as part of the message buffer matching and arbitration process.
  16402. */
  16403. #define CAN_CS_CODE(x) (((uint32_t)(((uint32_t)(x)) << CAN_CS_CODE_SHIFT)) & CAN_CS_CODE_MASK)
  16404. #define CAN_CS_ESI_MASK (0x20000000U)
  16405. #define CAN_CS_ESI_SHIFT (29U)
  16406. /*! ESI - Error State Indicator. This bit indicates if the transmitting node is error active or error passive.
  16407. */
  16408. #define CAN_CS_ESI(x) (((uint32_t)(((uint32_t)(x)) << CAN_CS_ESI_SHIFT)) & CAN_CS_ESI_MASK)
  16409. #define CAN_CS_BRS_MASK (0x40000000U)
  16410. #define CAN_CS_BRS_SHIFT (30U)
  16411. /*! BRS - Bit Rate Switch. This bit defines whether the bit rate is switched inside a CAN FD format frame.
  16412. */
  16413. #define CAN_CS_BRS(x) (((uint32_t)(((uint32_t)(x)) << CAN_CS_BRS_SHIFT)) & CAN_CS_BRS_MASK)
  16414. #define CAN_CS_EDL_MASK (0x80000000U)
  16415. #define CAN_CS_EDL_SHIFT (31U)
  16416. /*! EDL - Extended Data Length. This bit distinguishes between CAN format and CAN FD format frames.
  16417. * The EDL bit must not be set for Message Buffers configured to RANSWER with code field 0b1010.
  16418. */
  16419. #define CAN_CS_EDL(x) (((uint32_t)(((uint32_t)(x)) << CAN_CS_EDL_SHIFT)) & CAN_CS_EDL_MASK)
  16420. /*! @} */
  16421. /* The count of CAN_CS */
  16422. #define CAN_CS_COUNT_MB64B (14U)
  16423. /*! @name ID - Message Buffer 0 ID Register..Message Buffer 13 ID Register */
  16424. /*! @{ */
  16425. #define CAN_ID_EXT_MASK (0x3FFFFU)
  16426. #define CAN_ID_EXT_SHIFT (0U)
  16427. /*! EXT - Contains extended (LOW word) identifier of message buffer.
  16428. */
  16429. #define CAN_ID_EXT(x) (((uint32_t)(((uint32_t)(x)) << CAN_ID_EXT_SHIFT)) & CAN_ID_EXT_MASK)
  16430. #define CAN_ID_STD_MASK (0x1FFC0000U)
  16431. #define CAN_ID_STD_SHIFT (18U)
  16432. /*! STD - Contains standard/extended (HIGH word) identifier of message buffer.
  16433. */
  16434. #define CAN_ID_STD(x) (((uint32_t)(((uint32_t)(x)) << CAN_ID_STD_SHIFT)) & CAN_ID_STD_MASK)
  16435. #define CAN_ID_PRIO_MASK (0xE0000000U)
  16436. #define CAN_ID_PRIO_SHIFT (29U)
  16437. /*! PRIO - Local priority. This 3-bit fieldis only used when LPRIO_EN bit is set in MCR and it only
  16438. * makes sense for Tx buffers. These bits are not transmitted. They are appended to the regular
  16439. * ID to define the transmission priority.
  16440. */
  16441. #define CAN_ID_PRIO(x) (((uint32_t)(((uint32_t)(x)) << CAN_ID_PRIO_SHIFT)) & CAN_ID_PRIO_MASK)
  16442. /*! @} */
  16443. /* The count of CAN_ID */
  16444. #define CAN_ID_COUNT_MB64B (14U)
  16445. /*! @name WORD - Message Buffer 0 WORD_64B Register..Message Buffer 13 WORD_64B Register */
  16446. /*! @{ */
  16447. #define CAN_WORD_DATA_BYTE_3_MASK (0xFFU)
  16448. #define CAN_WORD_DATA_BYTE_3_SHIFT (0U)
  16449. /*! DATA_BYTE_3 - Data byte 0 of Rx/Tx frame.
  16450. */
  16451. #define CAN_WORD_DATA_BYTE_3(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_3_SHIFT)) & CAN_WORD_DATA_BYTE_3_MASK)
  16452. #define CAN_WORD_DATA_BYTE_7_MASK (0xFFU)
  16453. #define CAN_WORD_DATA_BYTE_7_SHIFT (0U)
  16454. /*! DATA_BYTE_7 - Data byte 0 of Rx/Tx frame.
  16455. */
  16456. #define CAN_WORD_DATA_BYTE_7(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_7_SHIFT)) & CAN_WORD_DATA_BYTE_7_MASK)
  16457. #define CAN_WORD_DATA_BYTE_11_MASK (0xFFU)
  16458. #define CAN_WORD_DATA_BYTE_11_SHIFT (0U)
  16459. /*! DATA_BYTE_11 - Data byte 0 of Rx/Tx frame.
  16460. */
  16461. #define CAN_WORD_DATA_BYTE_11(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_11_SHIFT)) & CAN_WORD_DATA_BYTE_11_MASK)
  16462. #define CAN_WORD_DATA_BYTE_15_MASK (0xFFU)
  16463. #define CAN_WORD_DATA_BYTE_15_SHIFT (0U)
  16464. /*! DATA_BYTE_15 - Data byte 0 of Rx/Tx frame.
  16465. */
  16466. #define CAN_WORD_DATA_BYTE_15(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_15_SHIFT)) & CAN_WORD_DATA_BYTE_15_MASK)
  16467. #define CAN_WORD_DATA_BYTE_19_MASK (0xFFU)
  16468. #define CAN_WORD_DATA_BYTE_19_SHIFT (0U)
  16469. /*! DATA_BYTE_19 - Data byte 0 of Rx/Tx frame.
  16470. */
  16471. #define CAN_WORD_DATA_BYTE_19(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_19_SHIFT)) & CAN_WORD_DATA_BYTE_19_MASK)
  16472. #define CAN_WORD_DATA_BYTE_23_MASK (0xFFU)
  16473. #define CAN_WORD_DATA_BYTE_23_SHIFT (0U)
  16474. /*! DATA_BYTE_23 - Data byte 0 of Rx/Tx frame.
  16475. */
  16476. #define CAN_WORD_DATA_BYTE_23(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_23_SHIFT)) & CAN_WORD_DATA_BYTE_23_MASK)
  16477. #define CAN_WORD_DATA_BYTE_27_MASK (0xFFU)
  16478. #define CAN_WORD_DATA_BYTE_27_SHIFT (0U)
  16479. /*! DATA_BYTE_27 - Data byte 0 of Rx/Tx frame.
  16480. */
  16481. #define CAN_WORD_DATA_BYTE_27(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_27_SHIFT)) & CAN_WORD_DATA_BYTE_27_MASK)
  16482. #define CAN_WORD_DATA_BYTE_31_MASK (0xFFU)
  16483. #define CAN_WORD_DATA_BYTE_31_SHIFT (0U)
  16484. /*! DATA_BYTE_31 - Data byte 0 of Rx/Tx frame.
  16485. */
  16486. #define CAN_WORD_DATA_BYTE_31(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_31_SHIFT)) & CAN_WORD_DATA_BYTE_31_MASK)
  16487. #define CAN_WORD_DATA_BYTE_35_MASK (0xFFU)
  16488. #define CAN_WORD_DATA_BYTE_35_SHIFT (0U)
  16489. /*! DATA_BYTE_35 - Data byte 0 of Rx/Tx frame.
  16490. */
  16491. #define CAN_WORD_DATA_BYTE_35(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_35_SHIFT)) & CAN_WORD_DATA_BYTE_35_MASK)
  16492. #define CAN_WORD_DATA_BYTE_39_MASK (0xFFU)
  16493. #define CAN_WORD_DATA_BYTE_39_SHIFT (0U)
  16494. /*! DATA_BYTE_39 - Data byte 0 of Rx/Tx frame.
  16495. */
  16496. #define CAN_WORD_DATA_BYTE_39(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_39_SHIFT)) & CAN_WORD_DATA_BYTE_39_MASK)
  16497. #define CAN_WORD_DATA_BYTE_43_MASK (0xFFU)
  16498. #define CAN_WORD_DATA_BYTE_43_SHIFT (0U)
  16499. /*! DATA_BYTE_43 - Data byte 0 of Rx/Tx frame.
  16500. */
  16501. #define CAN_WORD_DATA_BYTE_43(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_43_SHIFT)) & CAN_WORD_DATA_BYTE_43_MASK)
  16502. #define CAN_WORD_DATA_BYTE_47_MASK (0xFFU)
  16503. #define CAN_WORD_DATA_BYTE_47_SHIFT (0U)
  16504. /*! DATA_BYTE_47 - Data byte 0 of Rx/Tx frame.
  16505. */
  16506. #define CAN_WORD_DATA_BYTE_47(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_47_SHIFT)) & CAN_WORD_DATA_BYTE_47_MASK)
  16507. #define CAN_WORD_DATA_BYTE_51_MASK (0xFFU)
  16508. #define CAN_WORD_DATA_BYTE_51_SHIFT (0U)
  16509. /*! DATA_BYTE_51 - Data byte 0 of Rx/Tx frame.
  16510. */
  16511. #define CAN_WORD_DATA_BYTE_51(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_51_SHIFT)) & CAN_WORD_DATA_BYTE_51_MASK)
  16512. #define CAN_WORD_DATA_BYTE_55_MASK (0xFFU)
  16513. #define CAN_WORD_DATA_BYTE_55_SHIFT (0U)
  16514. /*! DATA_BYTE_55 - Data byte 0 of Rx/Tx frame.
  16515. */
  16516. #define CAN_WORD_DATA_BYTE_55(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_55_SHIFT)) & CAN_WORD_DATA_BYTE_55_MASK)
  16517. #define CAN_WORD_DATA_BYTE_59_MASK (0xFFU)
  16518. #define CAN_WORD_DATA_BYTE_59_SHIFT (0U)
  16519. /*! DATA_BYTE_59 - Data byte 0 of Rx/Tx frame.
  16520. */
  16521. #define CAN_WORD_DATA_BYTE_59(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_59_SHIFT)) & CAN_WORD_DATA_BYTE_59_MASK)
  16522. #define CAN_WORD_DATA_BYTE_63_MASK (0xFFU)
  16523. #define CAN_WORD_DATA_BYTE_63_SHIFT (0U)
  16524. /*! DATA_BYTE_63 - Data byte 0 of Rx/Tx frame.
  16525. */
  16526. #define CAN_WORD_DATA_BYTE_63(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_63_SHIFT)) & CAN_WORD_DATA_BYTE_63_MASK)
  16527. #define CAN_WORD_DATA_BYTE_2_MASK (0xFF00U)
  16528. #define CAN_WORD_DATA_BYTE_2_SHIFT (8U)
  16529. /*! DATA_BYTE_2 - Data byte 1 of Rx/Tx frame.
  16530. */
  16531. #define CAN_WORD_DATA_BYTE_2(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_2_SHIFT)) & CAN_WORD_DATA_BYTE_2_MASK)
  16532. #define CAN_WORD_DATA_BYTE_6_MASK (0xFF00U)
  16533. #define CAN_WORD_DATA_BYTE_6_SHIFT (8U)
  16534. /*! DATA_BYTE_6 - Data byte 1 of Rx/Tx frame.
  16535. */
  16536. #define CAN_WORD_DATA_BYTE_6(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_6_SHIFT)) & CAN_WORD_DATA_BYTE_6_MASK)
  16537. #define CAN_WORD_DATA_BYTE_10_MASK (0xFF00U)
  16538. #define CAN_WORD_DATA_BYTE_10_SHIFT (8U)
  16539. /*! DATA_BYTE_10 - Data byte 1 of Rx/Tx frame.
  16540. */
  16541. #define CAN_WORD_DATA_BYTE_10(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_10_SHIFT)) & CAN_WORD_DATA_BYTE_10_MASK)
  16542. #define CAN_WORD_DATA_BYTE_14_MASK (0xFF00U)
  16543. #define CAN_WORD_DATA_BYTE_14_SHIFT (8U)
  16544. /*! DATA_BYTE_14 - Data byte 1 of Rx/Tx frame.
  16545. */
  16546. #define CAN_WORD_DATA_BYTE_14(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_14_SHIFT)) & CAN_WORD_DATA_BYTE_14_MASK)
  16547. #define CAN_WORD_DATA_BYTE_18_MASK (0xFF00U)
  16548. #define CAN_WORD_DATA_BYTE_18_SHIFT (8U)
  16549. /*! DATA_BYTE_18 - Data byte 1 of Rx/Tx frame.
  16550. */
  16551. #define CAN_WORD_DATA_BYTE_18(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_18_SHIFT)) & CAN_WORD_DATA_BYTE_18_MASK)
  16552. #define CAN_WORD_DATA_BYTE_22_MASK (0xFF00U)
  16553. #define CAN_WORD_DATA_BYTE_22_SHIFT (8U)
  16554. /*! DATA_BYTE_22 - Data byte 1 of Rx/Tx frame.
  16555. */
  16556. #define CAN_WORD_DATA_BYTE_22(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_22_SHIFT)) & CAN_WORD_DATA_BYTE_22_MASK)
  16557. #define CAN_WORD_DATA_BYTE_26_MASK (0xFF00U)
  16558. #define CAN_WORD_DATA_BYTE_26_SHIFT (8U)
  16559. /*! DATA_BYTE_26 - Data byte 1 of Rx/Tx frame.
  16560. */
  16561. #define CAN_WORD_DATA_BYTE_26(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_26_SHIFT)) & CAN_WORD_DATA_BYTE_26_MASK)
  16562. #define CAN_WORD_DATA_BYTE_30_MASK (0xFF00U)
  16563. #define CAN_WORD_DATA_BYTE_30_SHIFT (8U)
  16564. /*! DATA_BYTE_30 - Data byte 1 of Rx/Tx frame.
  16565. */
  16566. #define CAN_WORD_DATA_BYTE_30(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_30_SHIFT)) & CAN_WORD_DATA_BYTE_30_MASK)
  16567. #define CAN_WORD_DATA_BYTE_34_MASK (0xFF00U)
  16568. #define CAN_WORD_DATA_BYTE_34_SHIFT (8U)
  16569. /*! DATA_BYTE_34 - Data byte 1 of Rx/Tx frame.
  16570. */
  16571. #define CAN_WORD_DATA_BYTE_34(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_34_SHIFT)) & CAN_WORD_DATA_BYTE_34_MASK)
  16572. #define CAN_WORD_DATA_BYTE_38_MASK (0xFF00U)
  16573. #define CAN_WORD_DATA_BYTE_38_SHIFT (8U)
  16574. /*! DATA_BYTE_38 - Data byte 1 of Rx/Tx frame.
  16575. */
  16576. #define CAN_WORD_DATA_BYTE_38(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_38_SHIFT)) & CAN_WORD_DATA_BYTE_38_MASK)
  16577. #define CAN_WORD_DATA_BYTE_42_MASK (0xFF00U)
  16578. #define CAN_WORD_DATA_BYTE_42_SHIFT (8U)
  16579. /*! DATA_BYTE_42 - Data byte 1 of Rx/Tx frame.
  16580. */
  16581. #define CAN_WORD_DATA_BYTE_42(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_42_SHIFT)) & CAN_WORD_DATA_BYTE_42_MASK)
  16582. #define CAN_WORD_DATA_BYTE_46_MASK (0xFF00U)
  16583. #define CAN_WORD_DATA_BYTE_46_SHIFT (8U)
  16584. /*! DATA_BYTE_46 - Data byte 1 of Rx/Tx frame.
  16585. */
  16586. #define CAN_WORD_DATA_BYTE_46(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_46_SHIFT)) & CAN_WORD_DATA_BYTE_46_MASK)
  16587. #define CAN_WORD_DATA_BYTE_50_MASK (0xFF00U)
  16588. #define CAN_WORD_DATA_BYTE_50_SHIFT (8U)
  16589. /*! DATA_BYTE_50 - Data byte 1 of Rx/Tx frame.
  16590. */
  16591. #define CAN_WORD_DATA_BYTE_50(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_50_SHIFT)) & CAN_WORD_DATA_BYTE_50_MASK)
  16592. #define CAN_WORD_DATA_BYTE_54_MASK (0xFF00U)
  16593. #define CAN_WORD_DATA_BYTE_54_SHIFT (8U)
  16594. /*! DATA_BYTE_54 - Data byte 1 of Rx/Tx frame.
  16595. */
  16596. #define CAN_WORD_DATA_BYTE_54(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_54_SHIFT)) & CAN_WORD_DATA_BYTE_54_MASK)
  16597. #define CAN_WORD_DATA_BYTE_58_MASK (0xFF00U)
  16598. #define CAN_WORD_DATA_BYTE_58_SHIFT (8U)
  16599. /*! DATA_BYTE_58 - Data byte 1 of Rx/Tx frame.
  16600. */
  16601. #define CAN_WORD_DATA_BYTE_58(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_58_SHIFT)) & CAN_WORD_DATA_BYTE_58_MASK)
  16602. #define CAN_WORD_DATA_BYTE_62_MASK (0xFF00U)
  16603. #define CAN_WORD_DATA_BYTE_62_SHIFT (8U)
  16604. /*! DATA_BYTE_62 - Data byte 1 of Rx/Tx frame.
  16605. */
  16606. #define CAN_WORD_DATA_BYTE_62(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_62_SHIFT)) & CAN_WORD_DATA_BYTE_62_MASK)
  16607. #define CAN_WORD_DATA_BYTE_1_MASK (0xFF0000U)
  16608. #define CAN_WORD_DATA_BYTE_1_SHIFT (16U)
  16609. /*! DATA_BYTE_1 - Data byte 2 of Rx/Tx frame.
  16610. */
  16611. #define CAN_WORD_DATA_BYTE_1(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_1_SHIFT)) & CAN_WORD_DATA_BYTE_1_MASK)
  16612. #define CAN_WORD_DATA_BYTE_5_MASK (0xFF0000U)
  16613. #define CAN_WORD_DATA_BYTE_5_SHIFT (16U)
  16614. /*! DATA_BYTE_5 - Data byte 2 of Rx/Tx frame.
  16615. */
  16616. #define CAN_WORD_DATA_BYTE_5(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_5_SHIFT)) & CAN_WORD_DATA_BYTE_5_MASK)
  16617. #define CAN_WORD_DATA_BYTE_9_MASK (0xFF0000U)
  16618. #define CAN_WORD_DATA_BYTE_9_SHIFT (16U)
  16619. /*! DATA_BYTE_9 - Data byte 2 of Rx/Tx frame.
  16620. */
  16621. #define CAN_WORD_DATA_BYTE_9(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_9_SHIFT)) & CAN_WORD_DATA_BYTE_9_MASK)
  16622. #define CAN_WORD_DATA_BYTE_13_MASK (0xFF0000U)
  16623. #define CAN_WORD_DATA_BYTE_13_SHIFT (16U)
  16624. /*! DATA_BYTE_13 - Data byte 2 of Rx/Tx frame.
  16625. */
  16626. #define CAN_WORD_DATA_BYTE_13(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_13_SHIFT)) & CAN_WORD_DATA_BYTE_13_MASK)
  16627. #define CAN_WORD_DATA_BYTE_17_MASK (0xFF0000U)
  16628. #define CAN_WORD_DATA_BYTE_17_SHIFT (16U)
  16629. /*! DATA_BYTE_17 - Data byte 2 of Rx/Tx frame.
  16630. */
  16631. #define CAN_WORD_DATA_BYTE_17(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_17_SHIFT)) & CAN_WORD_DATA_BYTE_17_MASK)
  16632. #define CAN_WORD_DATA_BYTE_21_MASK (0xFF0000U)
  16633. #define CAN_WORD_DATA_BYTE_21_SHIFT (16U)
  16634. /*! DATA_BYTE_21 - Data byte 2 of Rx/Tx frame.
  16635. */
  16636. #define CAN_WORD_DATA_BYTE_21(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_21_SHIFT)) & CAN_WORD_DATA_BYTE_21_MASK)
  16637. #define CAN_WORD_DATA_BYTE_25_MASK (0xFF0000U)
  16638. #define CAN_WORD_DATA_BYTE_25_SHIFT (16U)
  16639. /*! DATA_BYTE_25 - Data byte 2 of Rx/Tx frame.
  16640. */
  16641. #define CAN_WORD_DATA_BYTE_25(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_25_SHIFT)) & CAN_WORD_DATA_BYTE_25_MASK)
  16642. #define CAN_WORD_DATA_BYTE_29_MASK (0xFF0000U)
  16643. #define CAN_WORD_DATA_BYTE_29_SHIFT (16U)
  16644. /*! DATA_BYTE_29 - Data byte 2 of Rx/Tx frame.
  16645. */
  16646. #define CAN_WORD_DATA_BYTE_29(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_29_SHIFT)) & CAN_WORD_DATA_BYTE_29_MASK)
  16647. #define CAN_WORD_DATA_BYTE_33_MASK (0xFF0000U)
  16648. #define CAN_WORD_DATA_BYTE_33_SHIFT (16U)
  16649. /*! DATA_BYTE_33 - Data byte 2 of Rx/Tx frame.
  16650. */
  16651. #define CAN_WORD_DATA_BYTE_33(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_33_SHIFT)) & CAN_WORD_DATA_BYTE_33_MASK)
  16652. #define CAN_WORD_DATA_BYTE_37_MASK (0xFF0000U)
  16653. #define CAN_WORD_DATA_BYTE_37_SHIFT (16U)
  16654. /*! DATA_BYTE_37 - Data byte 2 of Rx/Tx frame.
  16655. */
  16656. #define CAN_WORD_DATA_BYTE_37(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_37_SHIFT)) & CAN_WORD_DATA_BYTE_37_MASK)
  16657. #define CAN_WORD_DATA_BYTE_41_MASK (0xFF0000U)
  16658. #define CAN_WORD_DATA_BYTE_41_SHIFT (16U)
  16659. /*! DATA_BYTE_41 - Data byte 2 of Rx/Tx frame.
  16660. */
  16661. #define CAN_WORD_DATA_BYTE_41(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_41_SHIFT)) & CAN_WORD_DATA_BYTE_41_MASK)
  16662. #define CAN_WORD_DATA_BYTE_45_MASK (0xFF0000U)
  16663. #define CAN_WORD_DATA_BYTE_45_SHIFT (16U)
  16664. /*! DATA_BYTE_45 - Data byte 2 of Rx/Tx frame.
  16665. */
  16666. #define CAN_WORD_DATA_BYTE_45(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_45_SHIFT)) & CAN_WORD_DATA_BYTE_45_MASK)
  16667. #define CAN_WORD_DATA_BYTE_49_MASK (0xFF0000U)
  16668. #define CAN_WORD_DATA_BYTE_49_SHIFT (16U)
  16669. /*! DATA_BYTE_49 - Data byte 2 of Rx/Tx frame.
  16670. */
  16671. #define CAN_WORD_DATA_BYTE_49(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_49_SHIFT)) & CAN_WORD_DATA_BYTE_49_MASK)
  16672. #define CAN_WORD_DATA_BYTE_53_MASK (0xFF0000U)
  16673. #define CAN_WORD_DATA_BYTE_53_SHIFT (16U)
  16674. /*! DATA_BYTE_53 - Data byte 2 of Rx/Tx frame.
  16675. */
  16676. #define CAN_WORD_DATA_BYTE_53(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_53_SHIFT)) & CAN_WORD_DATA_BYTE_53_MASK)
  16677. #define CAN_WORD_DATA_BYTE_57_MASK (0xFF0000U)
  16678. #define CAN_WORD_DATA_BYTE_57_SHIFT (16U)
  16679. /*! DATA_BYTE_57 - Data byte 2 of Rx/Tx frame.
  16680. */
  16681. #define CAN_WORD_DATA_BYTE_57(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_57_SHIFT)) & CAN_WORD_DATA_BYTE_57_MASK)
  16682. #define CAN_WORD_DATA_BYTE_61_MASK (0xFF0000U)
  16683. #define CAN_WORD_DATA_BYTE_61_SHIFT (16U)
  16684. /*! DATA_BYTE_61 - Data byte 2 of Rx/Tx frame.
  16685. */
  16686. #define CAN_WORD_DATA_BYTE_61(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_61_SHIFT)) & CAN_WORD_DATA_BYTE_61_MASK)
  16687. #define CAN_WORD_DATA_BYTE_0_MASK (0xFF000000U)
  16688. #define CAN_WORD_DATA_BYTE_0_SHIFT (24U)
  16689. /*! DATA_BYTE_0 - Data byte 3 of Rx/Tx frame.
  16690. */
  16691. #define CAN_WORD_DATA_BYTE_0(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_0_SHIFT)) & CAN_WORD_DATA_BYTE_0_MASK)
  16692. #define CAN_WORD_DATA_BYTE_4_MASK (0xFF000000U)
  16693. #define CAN_WORD_DATA_BYTE_4_SHIFT (24U)
  16694. /*! DATA_BYTE_4 - Data byte 3 of Rx/Tx frame.
  16695. */
  16696. #define CAN_WORD_DATA_BYTE_4(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_4_SHIFT)) & CAN_WORD_DATA_BYTE_4_MASK)
  16697. #define CAN_WORD_DATA_BYTE_8_MASK (0xFF000000U)
  16698. #define CAN_WORD_DATA_BYTE_8_SHIFT (24U)
  16699. /*! DATA_BYTE_8 - Data byte 3 of Rx/Tx frame.
  16700. */
  16701. #define CAN_WORD_DATA_BYTE_8(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_8_SHIFT)) & CAN_WORD_DATA_BYTE_8_MASK)
  16702. #define CAN_WORD_DATA_BYTE_12_MASK (0xFF000000U)
  16703. #define CAN_WORD_DATA_BYTE_12_SHIFT (24U)
  16704. /*! DATA_BYTE_12 - Data byte 3 of Rx/Tx frame.
  16705. */
  16706. #define CAN_WORD_DATA_BYTE_12(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_12_SHIFT)) & CAN_WORD_DATA_BYTE_12_MASK)
  16707. #define CAN_WORD_DATA_BYTE_16_MASK (0xFF000000U)
  16708. #define CAN_WORD_DATA_BYTE_16_SHIFT (24U)
  16709. /*! DATA_BYTE_16 - Data byte 3 of Rx/Tx frame.
  16710. */
  16711. #define CAN_WORD_DATA_BYTE_16(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_16_SHIFT)) & CAN_WORD_DATA_BYTE_16_MASK)
  16712. #define CAN_WORD_DATA_BYTE_20_MASK (0xFF000000U)
  16713. #define CAN_WORD_DATA_BYTE_20_SHIFT (24U)
  16714. /*! DATA_BYTE_20 - Data byte 3 of Rx/Tx frame.
  16715. */
  16716. #define CAN_WORD_DATA_BYTE_20(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_20_SHIFT)) & CAN_WORD_DATA_BYTE_20_MASK)
  16717. #define CAN_WORD_DATA_BYTE_24_MASK (0xFF000000U)
  16718. #define CAN_WORD_DATA_BYTE_24_SHIFT (24U)
  16719. /*! DATA_BYTE_24 - Data byte 3 of Rx/Tx frame.
  16720. */
  16721. #define CAN_WORD_DATA_BYTE_24(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_24_SHIFT)) & CAN_WORD_DATA_BYTE_24_MASK)
  16722. #define CAN_WORD_DATA_BYTE_28_MASK (0xFF000000U)
  16723. #define CAN_WORD_DATA_BYTE_28_SHIFT (24U)
  16724. /*! DATA_BYTE_28 - Data byte 3 of Rx/Tx frame.
  16725. */
  16726. #define CAN_WORD_DATA_BYTE_28(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_28_SHIFT)) & CAN_WORD_DATA_BYTE_28_MASK)
  16727. #define CAN_WORD_DATA_BYTE_32_MASK (0xFF000000U)
  16728. #define CAN_WORD_DATA_BYTE_32_SHIFT (24U)
  16729. /*! DATA_BYTE_32 - Data byte 3 of Rx/Tx frame.
  16730. */
  16731. #define CAN_WORD_DATA_BYTE_32(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_32_SHIFT)) & CAN_WORD_DATA_BYTE_32_MASK)
  16732. #define CAN_WORD_DATA_BYTE_36_MASK (0xFF000000U)
  16733. #define CAN_WORD_DATA_BYTE_36_SHIFT (24U)
  16734. /*! DATA_BYTE_36 - Data byte 3 of Rx/Tx frame.
  16735. */
  16736. #define CAN_WORD_DATA_BYTE_36(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_36_SHIFT)) & CAN_WORD_DATA_BYTE_36_MASK)
  16737. #define CAN_WORD_DATA_BYTE_40_MASK (0xFF000000U)
  16738. #define CAN_WORD_DATA_BYTE_40_SHIFT (24U)
  16739. /*! DATA_BYTE_40 - Data byte 3 of Rx/Tx frame.
  16740. */
  16741. #define CAN_WORD_DATA_BYTE_40(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_40_SHIFT)) & CAN_WORD_DATA_BYTE_40_MASK)
  16742. #define CAN_WORD_DATA_BYTE_44_MASK (0xFF000000U)
  16743. #define CAN_WORD_DATA_BYTE_44_SHIFT (24U)
  16744. /*! DATA_BYTE_44 - Data byte 3 of Rx/Tx frame.
  16745. */
  16746. #define CAN_WORD_DATA_BYTE_44(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_44_SHIFT)) & CAN_WORD_DATA_BYTE_44_MASK)
  16747. #define CAN_WORD_DATA_BYTE_48_MASK (0xFF000000U)
  16748. #define CAN_WORD_DATA_BYTE_48_SHIFT (24U)
  16749. /*! DATA_BYTE_48 - Data byte 3 of Rx/Tx frame.
  16750. */
  16751. #define CAN_WORD_DATA_BYTE_48(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_48_SHIFT)) & CAN_WORD_DATA_BYTE_48_MASK)
  16752. #define CAN_WORD_DATA_BYTE_52_MASK (0xFF000000U)
  16753. #define CAN_WORD_DATA_BYTE_52_SHIFT (24U)
  16754. /*! DATA_BYTE_52 - Data byte 3 of Rx/Tx frame.
  16755. */
  16756. #define CAN_WORD_DATA_BYTE_52(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_52_SHIFT)) & CAN_WORD_DATA_BYTE_52_MASK)
  16757. #define CAN_WORD_DATA_BYTE_56_MASK (0xFF000000U)
  16758. #define CAN_WORD_DATA_BYTE_56_SHIFT (24U)
  16759. /*! DATA_BYTE_56 - Data byte 3 of Rx/Tx frame.
  16760. */
  16761. #define CAN_WORD_DATA_BYTE_56(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_56_SHIFT)) & CAN_WORD_DATA_BYTE_56_MASK)
  16762. #define CAN_WORD_DATA_BYTE_60_MASK (0xFF000000U)
  16763. #define CAN_WORD_DATA_BYTE_60_SHIFT (24U)
  16764. /*! DATA_BYTE_60 - Data byte 3 of Rx/Tx frame.
  16765. */
  16766. #define CAN_WORD_DATA_BYTE_60(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_60_SHIFT)) & CAN_WORD_DATA_BYTE_60_MASK)
  16767. /*! @} */
  16768. /* The count of CAN_WORD */
  16769. #define CAN_WORD_COUNT_MB64B (14U)
  16770. /* The count of CAN_WORD */
  16771. #define CAN_WORD_COUNT_MB64B2 (16U)
  16772. /* The count of CAN_CS */
  16773. #define CAN_CS_COUNT (64U)
  16774. /* The count of CAN_ID */
  16775. #define CAN_ID_COUNT (64U)
  16776. /*! @name WORD0 - Message Buffer 0 WORD0 Register..Message Buffer 63 WORD0 Register */
  16777. /*! @{ */
  16778. #define CAN_WORD0_DATA_BYTE_3_MASK (0xFFU)
  16779. #define CAN_WORD0_DATA_BYTE_3_SHIFT (0U)
  16780. /*! DATA_BYTE_3 - Data byte 0 of Rx/Tx frame.
  16781. */
  16782. #define CAN_WORD0_DATA_BYTE_3(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD0_DATA_BYTE_3_SHIFT)) & CAN_WORD0_DATA_BYTE_3_MASK)
  16783. #define CAN_WORD0_DATA_BYTE_2_MASK (0xFF00U)
  16784. #define CAN_WORD0_DATA_BYTE_2_SHIFT (8U)
  16785. /*! DATA_BYTE_2 - Data byte 1 of Rx/Tx frame.
  16786. */
  16787. #define CAN_WORD0_DATA_BYTE_2(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD0_DATA_BYTE_2_SHIFT)) & CAN_WORD0_DATA_BYTE_2_MASK)
  16788. #define CAN_WORD0_DATA_BYTE_1_MASK (0xFF0000U)
  16789. #define CAN_WORD0_DATA_BYTE_1_SHIFT (16U)
  16790. /*! DATA_BYTE_1 - Data byte 2 of Rx/Tx frame.
  16791. */
  16792. #define CAN_WORD0_DATA_BYTE_1(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD0_DATA_BYTE_1_SHIFT)) & CAN_WORD0_DATA_BYTE_1_MASK)
  16793. #define CAN_WORD0_DATA_BYTE_0_MASK (0xFF000000U)
  16794. #define CAN_WORD0_DATA_BYTE_0_SHIFT (24U)
  16795. /*! DATA_BYTE_0 - Data byte 3 of Rx/Tx frame.
  16796. */
  16797. #define CAN_WORD0_DATA_BYTE_0(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD0_DATA_BYTE_0_SHIFT)) & CAN_WORD0_DATA_BYTE_0_MASK)
  16798. /*! @} */
  16799. /* The count of CAN_WORD0 */
  16800. #define CAN_WORD0_COUNT (64U)
  16801. /*! @name WORD1 - Message Buffer 0 WORD1 Register..Message Buffer 63 WORD1 Register */
  16802. /*! @{ */
  16803. #define CAN_WORD1_DATA_BYTE_7_MASK (0xFFU)
  16804. #define CAN_WORD1_DATA_BYTE_7_SHIFT (0U)
  16805. /*! DATA_BYTE_7 - Data byte 0 of Rx/Tx frame.
  16806. */
  16807. #define CAN_WORD1_DATA_BYTE_7(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD1_DATA_BYTE_7_SHIFT)) & CAN_WORD1_DATA_BYTE_7_MASK)
  16808. #define CAN_WORD1_DATA_BYTE_6_MASK (0xFF00U)
  16809. #define CAN_WORD1_DATA_BYTE_6_SHIFT (8U)
  16810. /*! DATA_BYTE_6 - Data byte 1 of Rx/Tx frame.
  16811. */
  16812. #define CAN_WORD1_DATA_BYTE_6(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD1_DATA_BYTE_6_SHIFT)) & CAN_WORD1_DATA_BYTE_6_MASK)
  16813. #define CAN_WORD1_DATA_BYTE_5_MASK (0xFF0000U)
  16814. #define CAN_WORD1_DATA_BYTE_5_SHIFT (16U)
  16815. /*! DATA_BYTE_5 - Data byte 2 of Rx/Tx frame.
  16816. */
  16817. #define CAN_WORD1_DATA_BYTE_5(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD1_DATA_BYTE_5_SHIFT)) & CAN_WORD1_DATA_BYTE_5_MASK)
  16818. #define CAN_WORD1_DATA_BYTE_4_MASK (0xFF000000U)
  16819. #define CAN_WORD1_DATA_BYTE_4_SHIFT (24U)
  16820. /*! DATA_BYTE_4 - Data byte 3 of Rx/Tx frame.
  16821. */
  16822. #define CAN_WORD1_DATA_BYTE_4(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD1_DATA_BYTE_4_SHIFT)) & CAN_WORD1_DATA_BYTE_4_MASK)
  16823. /*! @} */
  16824. /* The count of CAN_WORD1 */
  16825. #define CAN_WORD1_COUNT (64U)
  16826. /*! @name RXIMR - Rx Individual Mask registers */
  16827. /*! @{ */
  16828. #define CAN_RXIMR_MI_MASK (0xFFFFFFFFU)
  16829. #define CAN_RXIMR_MI_SHIFT (0U)
  16830. /*! MI - Individual Mask Bits
  16831. */
  16832. #define CAN_RXIMR_MI(x) (((uint32_t)(((uint32_t)(x)) << CAN_RXIMR_MI_SHIFT)) & CAN_RXIMR_MI_MASK)
  16833. /*! @} */
  16834. /* The count of CAN_RXIMR */
  16835. #define CAN_RXIMR_COUNT (64U)
  16836. /*! @name MECR - Memory Error Control register */
  16837. /*! @{ */
  16838. #define CAN_MECR_NCEFAFRZ_MASK (0x80U)
  16839. #define CAN_MECR_NCEFAFRZ_SHIFT (7U)
  16840. /*! NCEFAFRZ - Non-Correctable Errors In FlexCAN Access Put Device In Freeze Mode
  16841. * 0b0..Keep normal operation.
  16842. * 0b1..Put FlexCAN in Freeze mode (see section "Freeze mode").
  16843. */
  16844. #define CAN_MECR_NCEFAFRZ(x) (((uint32_t)(((uint32_t)(x)) << CAN_MECR_NCEFAFRZ_SHIFT)) & CAN_MECR_NCEFAFRZ_MASK)
  16845. #define CAN_MECR_ECCDIS_MASK (0x100U)
  16846. #define CAN_MECR_ECCDIS_SHIFT (8U)
  16847. /*! ECCDIS - Error Correction Disable
  16848. * 0b0..Enable memory error correction.
  16849. * 0b1..Disable memory error correction.
  16850. */
  16851. #define CAN_MECR_ECCDIS(x) (((uint32_t)(((uint32_t)(x)) << CAN_MECR_ECCDIS_SHIFT)) & CAN_MECR_ECCDIS_MASK)
  16852. #define CAN_MECR_RERRDIS_MASK (0x200U)
  16853. #define CAN_MECR_RERRDIS_SHIFT (9U)
  16854. /*! RERRDIS - Error Report Disable
  16855. * 0b0..Enable updates of the error report registers.
  16856. * 0b1..Disable updates of the error report registers.
  16857. */
  16858. #define CAN_MECR_RERRDIS(x) (((uint32_t)(((uint32_t)(x)) << CAN_MECR_RERRDIS_SHIFT)) & CAN_MECR_RERRDIS_MASK)
  16859. #define CAN_MECR_EXTERRIE_MASK (0x2000U)
  16860. #define CAN_MECR_EXTERRIE_SHIFT (13U)
  16861. /*! EXTERRIE - Extended Error Injection Enable
  16862. * 0b0..Error injection is applied only to the 32-bit word.
  16863. * 0b1..Error injection is applied to the 64-bit word.
  16864. */
  16865. #define CAN_MECR_EXTERRIE(x) (((uint32_t)(((uint32_t)(x)) << CAN_MECR_EXTERRIE_SHIFT)) & CAN_MECR_EXTERRIE_MASK)
  16866. #define CAN_MECR_FAERRIE_MASK (0x4000U)
  16867. #define CAN_MECR_FAERRIE_SHIFT (14U)
  16868. /*! FAERRIE - FlexCAN Access Error Injection Enable
  16869. * 0b0..Injection is disabled.
  16870. * 0b1..Injection is enabled.
  16871. */
  16872. #define CAN_MECR_FAERRIE(x) (((uint32_t)(((uint32_t)(x)) << CAN_MECR_FAERRIE_SHIFT)) & CAN_MECR_FAERRIE_MASK)
  16873. #define CAN_MECR_HAERRIE_MASK (0x8000U)
  16874. #define CAN_MECR_HAERRIE_SHIFT (15U)
  16875. /*! HAERRIE - Host Access Error Injection Enable
  16876. * 0b0..Injection is disabled.
  16877. * 0b1..Injection is enabled.
  16878. */
  16879. #define CAN_MECR_HAERRIE(x) (((uint32_t)(((uint32_t)(x)) << CAN_MECR_HAERRIE_SHIFT)) & CAN_MECR_HAERRIE_MASK)
  16880. #define CAN_MECR_CEI_MSK_MASK (0x10000U)
  16881. #define CAN_MECR_CEI_MSK_SHIFT (16U)
  16882. /*! CEI_MSK - Correctable Errors Interrupt Mask
  16883. * 0b0..Interrupt is disabled.
  16884. * 0b1..Interrupt is enabled.
  16885. */
  16886. #define CAN_MECR_CEI_MSK(x) (((uint32_t)(((uint32_t)(x)) << CAN_MECR_CEI_MSK_SHIFT)) & CAN_MECR_CEI_MSK_MASK)
  16887. #define CAN_MECR_FANCEI_MSK_MASK (0x40000U)
  16888. #define CAN_MECR_FANCEI_MSK_SHIFT (18U)
  16889. /*! FANCEI_MSK - FlexCAN Access With Non-Correctable Errors Interrupt Mask
  16890. * 0b0..Interrupt is disabled.
  16891. * 0b1..Interrupt is enabled.
  16892. */
  16893. #define CAN_MECR_FANCEI_MSK(x) (((uint32_t)(((uint32_t)(x)) << CAN_MECR_FANCEI_MSK_SHIFT)) & CAN_MECR_FANCEI_MSK_MASK)
  16894. #define CAN_MECR_HANCEI_MSK_MASK (0x80000U)
  16895. #define CAN_MECR_HANCEI_MSK_SHIFT (19U)
  16896. /*! HANCEI_MSK - Host Access With Non-Correctable Errors Interrupt Mask
  16897. * 0b0..Interrupt is disabled.
  16898. * 0b1..Interrupt is enabled.
  16899. */
  16900. #define CAN_MECR_HANCEI_MSK(x) (((uint32_t)(((uint32_t)(x)) << CAN_MECR_HANCEI_MSK_SHIFT)) & CAN_MECR_HANCEI_MSK_MASK)
  16901. #define CAN_MECR_ECRWRDIS_MASK (0x80000000U)
  16902. #define CAN_MECR_ECRWRDIS_SHIFT (31U)
  16903. /*! ECRWRDIS - Error Configuration Register Write Disable
  16904. * 0b0..Write is enabled.
  16905. * 0b1..Write is disabled.
  16906. */
  16907. #define CAN_MECR_ECRWRDIS(x) (((uint32_t)(((uint32_t)(x)) << CAN_MECR_ECRWRDIS_SHIFT)) & CAN_MECR_ECRWRDIS_MASK)
  16908. /*! @} */
  16909. /*! @name ERRIAR - Error Injection Address register */
  16910. /*! @{ */
  16911. #define CAN_ERRIAR_INJADDR_L_MASK (0x3U)
  16912. #define CAN_ERRIAR_INJADDR_L_SHIFT (0U)
  16913. /*! INJADDR_L - Error Injection Address Low
  16914. */
  16915. #define CAN_ERRIAR_INJADDR_L(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERRIAR_INJADDR_L_SHIFT)) & CAN_ERRIAR_INJADDR_L_MASK)
  16916. #define CAN_ERRIAR_INJADDR_H_MASK (0x3FFCU)
  16917. #define CAN_ERRIAR_INJADDR_H_SHIFT (2U)
  16918. /*! INJADDR_H - Error Injection Address High
  16919. */
  16920. #define CAN_ERRIAR_INJADDR_H(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERRIAR_INJADDR_H_SHIFT)) & CAN_ERRIAR_INJADDR_H_MASK)
  16921. /*! @} */
  16922. /*! @name ERRIDPR - Error Injection Data Pattern register */
  16923. /*! @{ */
  16924. #define CAN_ERRIDPR_DFLIP_MASK (0xFFFFFFFFU)
  16925. #define CAN_ERRIDPR_DFLIP_SHIFT (0U)
  16926. /*! DFLIP - Data flip pattern
  16927. */
  16928. #define CAN_ERRIDPR_DFLIP(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERRIDPR_DFLIP_SHIFT)) & CAN_ERRIDPR_DFLIP_MASK)
  16929. /*! @} */
  16930. /*! @name ERRIPPR - Error Injection Parity Pattern register */
  16931. /*! @{ */
  16932. #define CAN_ERRIPPR_PFLIP0_MASK (0x1FU)
  16933. #define CAN_ERRIPPR_PFLIP0_SHIFT (0U)
  16934. /*! PFLIP0 - Parity Flip Pattern For Byte 0 (Least Significant)
  16935. */
  16936. #define CAN_ERRIPPR_PFLIP0(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERRIPPR_PFLIP0_SHIFT)) & CAN_ERRIPPR_PFLIP0_MASK)
  16937. #define CAN_ERRIPPR_PFLIP1_MASK (0x1F00U)
  16938. #define CAN_ERRIPPR_PFLIP1_SHIFT (8U)
  16939. /*! PFLIP1 - Parity Flip Pattern For Byte 1
  16940. */
  16941. #define CAN_ERRIPPR_PFLIP1(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERRIPPR_PFLIP1_SHIFT)) & CAN_ERRIPPR_PFLIP1_MASK)
  16942. #define CAN_ERRIPPR_PFLIP2_MASK (0x1F0000U)
  16943. #define CAN_ERRIPPR_PFLIP2_SHIFT (16U)
  16944. /*! PFLIP2 - Parity Flip Pattern For Byte 2
  16945. */
  16946. #define CAN_ERRIPPR_PFLIP2(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERRIPPR_PFLIP2_SHIFT)) & CAN_ERRIPPR_PFLIP2_MASK)
  16947. #define CAN_ERRIPPR_PFLIP3_MASK (0x1F000000U)
  16948. #define CAN_ERRIPPR_PFLIP3_SHIFT (24U)
  16949. /*! PFLIP3 - Parity Flip Pattern For Byte 3 (most significant)
  16950. */
  16951. #define CAN_ERRIPPR_PFLIP3(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERRIPPR_PFLIP3_SHIFT)) & CAN_ERRIPPR_PFLIP3_MASK)
  16952. /*! @} */
  16953. /*! @name RERRAR - Error Report Address register */
  16954. /*! @{ */
  16955. #define CAN_RERRAR_ERRADDR_MASK (0x3FFFU)
  16956. #define CAN_RERRAR_ERRADDR_SHIFT (0U)
  16957. /*! ERRADDR - Address Where Error Detected
  16958. */
  16959. #define CAN_RERRAR_ERRADDR(x) (((uint32_t)(((uint32_t)(x)) << CAN_RERRAR_ERRADDR_SHIFT)) & CAN_RERRAR_ERRADDR_MASK)
  16960. #define CAN_RERRAR_SAID_MASK (0x70000U)
  16961. #define CAN_RERRAR_SAID_SHIFT (16U)
  16962. /*! SAID - SAID
  16963. */
  16964. #define CAN_RERRAR_SAID(x) (((uint32_t)(((uint32_t)(x)) << CAN_RERRAR_SAID_SHIFT)) & CAN_RERRAR_SAID_MASK)
  16965. #define CAN_RERRAR_NCE_MASK (0x1000000U)
  16966. #define CAN_RERRAR_NCE_SHIFT (24U)
  16967. /*! NCE - Non-Correctable Error
  16968. * 0b0..Reporting a correctable error
  16969. * 0b1..Reporting a non-correctable error
  16970. */
  16971. #define CAN_RERRAR_NCE(x) (((uint32_t)(((uint32_t)(x)) << CAN_RERRAR_NCE_SHIFT)) & CAN_RERRAR_NCE_MASK)
  16972. /*! @} */
  16973. /*! @name RERRDR - Error Report Data register */
  16974. /*! @{ */
  16975. #define CAN_RERRDR_RDATA_MASK (0xFFFFFFFFU)
  16976. #define CAN_RERRDR_RDATA_SHIFT (0U)
  16977. /*! RDATA - Raw data word read from memory with error
  16978. */
  16979. #define CAN_RERRDR_RDATA(x) (((uint32_t)(((uint32_t)(x)) << CAN_RERRDR_RDATA_SHIFT)) & CAN_RERRDR_RDATA_MASK)
  16980. /*! @} */
  16981. /*! @name RERRSYNR - Error Report Syndrome register */
  16982. /*! @{ */
  16983. #define CAN_RERRSYNR_SYND0_MASK (0x1FU)
  16984. #define CAN_RERRSYNR_SYND0_SHIFT (0U)
  16985. /*! SYND0 - Error Syndrome For Byte 0 (least significant)
  16986. */
  16987. #define CAN_RERRSYNR_SYND0(x) (((uint32_t)(((uint32_t)(x)) << CAN_RERRSYNR_SYND0_SHIFT)) & CAN_RERRSYNR_SYND0_MASK)
  16988. #define CAN_RERRSYNR_BE0_MASK (0x80U)
  16989. #define CAN_RERRSYNR_BE0_SHIFT (7U)
  16990. /*! BE0 - Byte Enabled For Byte 0 (least significant)
  16991. * 0b0..The byte was not read.
  16992. * 0b1..The byte was read.
  16993. */
  16994. #define CAN_RERRSYNR_BE0(x) (((uint32_t)(((uint32_t)(x)) << CAN_RERRSYNR_BE0_SHIFT)) & CAN_RERRSYNR_BE0_MASK)
  16995. #define CAN_RERRSYNR_SYND1_MASK (0x1F00U)
  16996. #define CAN_RERRSYNR_SYND1_SHIFT (8U)
  16997. /*! SYND1 - Error Syndrome for Byte 1
  16998. */
  16999. #define CAN_RERRSYNR_SYND1(x) (((uint32_t)(((uint32_t)(x)) << CAN_RERRSYNR_SYND1_SHIFT)) & CAN_RERRSYNR_SYND1_MASK)
  17000. #define CAN_RERRSYNR_BE1_MASK (0x8000U)
  17001. #define CAN_RERRSYNR_BE1_SHIFT (15U)
  17002. /*! BE1 - Byte Enabled For Byte 1
  17003. * 0b0..The byte was not read.
  17004. * 0b1..The byte was read.
  17005. */
  17006. #define CAN_RERRSYNR_BE1(x) (((uint32_t)(((uint32_t)(x)) << CAN_RERRSYNR_BE1_SHIFT)) & CAN_RERRSYNR_BE1_MASK)
  17007. #define CAN_RERRSYNR_SYND2_MASK (0x1F0000U)
  17008. #define CAN_RERRSYNR_SYND2_SHIFT (16U)
  17009. /*! SYND2 - Error Syndrome For Byte 2
  17010. */
  17011. #define CAN_RERRSYNR_SYND2(x) (((uint32_t)(((uint32_t)(x)) << CAN_RERRSYNR_SYND2_SHIFT)) & CAN_RERRSYNR_SYND2_MASK)
  17012. #define CAN_RERRSYNR_BE2_MASK (0x800000U)
  17013. #define CAN_RERRSYNR_BE2_SHIFT (23U)
  17014. /*! BE2 - Byte Enabled For Byte 2
  17015. * 0b0..The byte was not read.
  17016. * 0b1..The byte was read.
  17017. */
  17018. #define CAN_RERRSYNR_BE2(x) (((uint32_t)(((uint32_t)(x)) << CAN_RERRSYNR_BE2_SHIFT)) & CAN_RERRSYNR_BE2_MASK)
  17019. #define CAN_RERRSYNR_SYND3_MASK (0x1F000000U)
  17020. #define CAN_RERRSYNR_SYND3_SHIFT (24U)
  17021. /*! SYND3 - Error Syndrome For Byte 3 (most significant)
  17022. */
  17023. #define CAN_RERRSYNR_SYND3(x) (((uint32_t)(((uint32_t)(x)) << CAN_RERRSYNR_SYND3_SHIFT)) & CAN_RERRSYNR_SYND3_MASK)
  17024. #define CAN_RERRSYNR_BE3_MASK (0x80000000U)
  17025. #define CAN_RERRSYNR_BE3_SHIFT (31U)
  17026. /*! BE3 - Byte Enabled For Byte 3 (most significant)
  17027. * 0b0..The byte was not read.
  17028. * 0b1..The byte was read.
  17029. */
  17030. #define CAN_RERRSYNR_BE3(x) (((uint32_t)(((uint32_t)(x)) << CAN_RERRSYNR_BE3_SHIFT)) & CAN_RERRSYNR_BE3_MASK)
  17031. /*! @} */
  17032. /*! @name ERRSR - Error Status register */
  17033. /*! @{ */
  17034. #define CAN_ERRSR_CEIOF_MASK (0x1U)
  17035. #define CAN_ERRSR_CEIOF_SHIFT (0U)
  17036. /*! CEIOF - Correctable Error Interrupt Overrun Flag
  17037. * 0b0..No overrun on correctable errors
  17038. * 0b1..Overrun on correctable errors
  17039. */
  17040. #define CAN_ERRSR_CEIOF(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERRSR_CEIOF_SHIFT)) & CAN_ERRSR_CEIOF_MASK)
  17041. #define CAN_ERRSR_FANCEIOF_MASK (0x4U)
  17042. #define CAN_ERRSR_FANCEIOF_SHIFT (2U)
  17043. /*! FANCEIOF - FlexCAN Access With Non-Correctable Error Interrupt Overrun Flag
  17044. * 0b0..No overrun on non-correctable errors in FlexCAN access
  17045. * 0b1..Overrun on non-correctable errors in FlexCAN access
  17046. */
  17047. #define CAN_ERRSR_FANCEIOF(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERRSR_FANCEIOF_SHIFT)) & CAN_ERRSR_FANCEIOF_MASK)
  17048. #define CAN_ERRSR_HANCEIOF_MASK (0x8U)
  17049. #define CAN_ERRSR_HANCEIOF_SHIFT (3U)
  17050. /*! HANCEIOF - Host Access With Non-Correctable Error Interrupt Overrun Flag
  17051. * 0b0..No overrun on non-correctable errors in host access
  17052. * 0b1..Overrun on non-correctable errors in host access
  17053. */
  17054. #define CAN_ERRSR_HANCEIOF(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERRSR_HANCEIOF_SHIFT)) & CAN_ERRSR_HANCEIOF_MASK)
  17055. #define CAN_ERRSR_CEIF_MASK (0x10000U)
  17056. #define CAN_ERRSR_CEIF_SHIFT (16U)
  17057. /*! CEIF - Correctable Error Interrupt Flag
  17058. * 0b0..No correctable errors were detected so far.
  17059. * 0b1..A correctable error was detected.
  17060. */
  17061. #define CAN_ERRSR_CEIF(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERRSR_CEIF_SHIFT)) & CAN_ERRSR_CEIF_MASK)
  17062. #define CAN_ERRSR_FANCEIF_MASK (0x40000U)
  17063. #define CAN_ERRSR_FANCEIF_SHIFT (18U)
  17064. /*! FANCEIF - FlexCAN Access With Non-Correctable Error Interrupt Flag
  17065. * 0b0..No non-correctable errors were detected in FlexCAN accesses so far.
  17066. * 0b1..A non-correctable error was detected in a FlexCAN access.
  17067. */
  17068. #define CAN_ERRSR_FANCEIF(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERRSR_FANCEIF_SHIFT)) & CAN_ERRSR_FANCEIF_MASK)
  17069. #define CAN_ERRSR_HANCEIF_MASK (0x80000U)
  17070. #define CAN_ERRSR_HANCEIF_SHIFT (19U)
  17071. /*! HANCEIF - Host Access With Non-Correctable Error Interrupt Flag
  17072. * 0b0..No non-correctable errors were detected in host accesses so far.
  17073. * 0b1..A non-correctable error was detected in a host access.
  17074. */
  17075. #define CAN_ERRSR_HANCEIF(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERRSR_HANCEIF_SHIFT)) & CAN_ERRSR_HANCEIF_MASK)
  17076. /*! @} */
  17077. /*! @name FDCTRL - CAN FD Control register */
  17078. /*! @{ */
  17079. #define CAN_FDCTRL_TDCVAL_MASK (0x3FU)
  17080. #define CAN_FDCTRL_TDCVAL_SHIFT (0U)
  17081. /*! TDCVAL - Transceiver Delay Compensation Value
  17082. */
  17083. #define CAN_FDCTRL_TDCVAL(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCTRL_TDCVAL_SHIFT)) & CAN_FDCTRL_TDCVAL_MASK)
  17084. #define CAN_FDCTRL_TDCOFF_MASK (0x1F00U)
  17085. #define CAN_FDCTRL_TDCOFF_SHIFT (8U)
  17086. /*! TDCOFF - Transceiver Delay Compensation Offset
  17087. */
  17088. #define CAN_FDCTRL_TDCOFF(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCTRL_TDCOFF_SHIFT)) & CAN_FDCTRL_TDCOFF_MASK)
  17089. #define CAN_FDCTRL_TDCFAIL_MASK (0x4000U)
  17090. #define CAN_FDCTRL_TDCFAIL_SHIFT (14U)
  17091. /*! TDCFAIL - Transceiver Delay Compensation Fail
  17092. * 0b0..Measured loop delay is in range.
  17093. * 0b1..Measured loop delay is out of range.
  17094. */
  17095. #define CAN_FDCTRL_TDCFAIL(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCTRL_TDCFAIL_SHIFT)) & CAN_FDCTRL_TDCFAIL_MASK)
  17096. #define CAN_FDCTRL_TDCEN_MASK (0x8000U)
  17097. #define CAN_FDCTRL_TDCEN_SHIFT (15U)
  17098. /*! TDCEN - Transceiver Delay Compensation Enable
  17099. * 0b0..TDC is disabled
  17100. * 0b1..TDC is enabled
  17101. */
  17102. #define CAN_FDCTRL_TDCEN(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCTRL_TDCEN_SHIFT)) & CAN_FDCTRL_TDCEN_MASK)
  17103. #define CAN_FDCTRL_MBDSR0_MASK (0x30000U)
  17104. #define CAN_FDCTRL_MBDSR0_SHIFT (16U)
  17105. /*! MBDSR0 - Message Buffer Data Size for Region 0
  17106. * 0b00..Selects 8 bytes per message buffer.
  17107. * 0b01..Selects 16 bytes per message buffer.
  17108. * 0b10..Selects 32 bytes per message buffer.
  17109. * 0b11..Selects 64 bytes per message buffer.
  17110. */
  17111. #define CAN_FDCTRL_MBDSR0(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCTRL_MBDSR0_SHIFT)) & CAN_FDCTRL_MBDSR0_MASK)
  17112. #define CAN_FDCTRL_MBDSR1_MASK (0x180000U)
  17113. #define CAN_FDCTRL_MBDSR1_SHIFT (19U)
  17114. /*! MBDSR1 - Message Buffer Data Size for Region 1
  17115. * 0b00..Selects 8 bytes per message buffer.
  17116. * 0b01..Selects 16 bytes per message buffer.
  17117. * 0b10..Selects 32 bytes per message buffer.
  17118. * 0b11..Selects 64 bytes per message buffer.
  17119. */
  17120. #define CAN_FDCTRL_MBDSR1(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCTRL_MBDSR1_SHIFT)) & CAN_FDCTRL_MBDSR1_MASK)
  17121. #define CAN_FDCTRL_FDRATE_MASK (0x80000000U)
  17122. #define CAN_FDCTRL_FDRATE_SHIFT (31U)
  17123. /*! FDRATE - Bit Rate Switch Enable
  17124. * 0b0..Transmit a frame in nominal rate. The BRS bit in the Tx MB has no effect.
  17125. * 0b1..Transmit a frame with bit rate switching if the BRS bit in the Tx MB is recessive.
  17126. */
  17127. #define CAN_FDCTRL_FDRATE(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCTRL_FDRATE_SHIFT)) & CAN_FDCTRL_FDRATE_MASK)
  17128. /*! @} */
  17129. /*! @name FDCBT - CAN FD Bit Timing register */
  17130. /*! @{ */
  17131. #define CAN_FDCBT_FPSEG2_MASK (0x7U)
  17132. #define CAN_FDCBT_FPSEG2_SHIFT (0U)
  17133. /*! FPSEG2 - Fast Phase Segment 2
  17134. */
  17135. #define CAN_FDCBT_FPSEG2(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCBT_FPSEG2_SHIFT)) & CAN_FDCBT_FPSEG2_MASK)
  17136. #define CAN_FDCBT_FPSEG1_MASK (0xE0U)
  17137. #define CAN_FDCBT_FPSEG1_SHIFT (5U)
  17138. /*! FPSEG1 - Fast Phase Segment 1
  17139. */
  17140. #define CAN_FDCBT_FPSEG1(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCBT_FPSEG1_SHIFT)) & CAN_FDCBT_FPSEG1_MASK)
  17141. #define CAN_FDCBT_FPROPSEG_MASK (0x7C00U)
  17142. #define CAN_FDCBT_FPROPSEG_SHIFT (10U)
  17143. /*! FPROPSEG - Fast Propagation Segment
  17144. */
  17145. #define CAN_FDCBT_FPROPSEG(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCBT_FPROPSEG_SHIFT)) & CAN_FDCBT_FPROPSEG_MASK)
  17146. #define CAN_FDCBT_FRJW_MASK (0x70000U)
  17147. #define CAN_FDCBT_FRJW_SHIFT (16U)
  17148. /*! FRJW - Fast Resync Jump Width
  17149. */
  17150. #define CAN_FDCBT_FRJW(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCBT_FRJW_SHIFT)) & CAN_FDCBT_FRJW_MASK)
  17151. #define CAN_FDCBT_FPRESDIV_MASK (0x3FF00000U)
  17152. #define CAN_FDCBT_FPRESDIV_SHIFT (20U)
  17153. /*! FPRESDIV - Fast Prescaler Division Factor
  17154. */
  17155. #define CAN_FDCBT_FPRESDIV(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCBT_FPRESDIV_SHIFT)) & CAN_FDCBT_FPRESDIV_MASK)
  17156. /*! @} */
  17157. /*! @name FDCRC - CAN FD CRC register */
  17158. /*! @{ */
  17159. #define CAN_FDCRC_FD_TXCRC_MASK (0x1FFFFFU)
  17160. #define CAN_FDCRC_FD_TXCRC_SHIFT (0U)
  17161. /*! FD_TXCRC - Extended Transmitted CRC value
  17162. */
  17163. #define CAN_FDCRC_FD_TXCRC(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCRC_FD_TXCRC_SHIFT)) & CAN_FDCRC_FD_TXCRC_MASK)
  17164. #define CAN_FDCRC_FD_MBCRC_MASK (0x7F000000U)
  17165. #define CAN_FDCRC_FD_MBCRC_SHIFT (24U)
  17166. /*! FD_MBCRC - CRC Mailbox Number for FD_TXCRC
  17167. */
  17168. #define CAN_FDCRC_FD_MBCRC(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCRC_FD_MBCRC_SHIFT)) & CAN_FDCRC_FD_MBCRC_MASK)
  17169. /*! @} */
  17170. /*!
  17171. * @}
  17172. */ /* end of group CAN_Register_Masks */
  17173. /* CAN - Peripheral instance base addresses */
  17174. /** Peripheral CAN1 base address */
  17175. #define CAN1_BASE (0x400C4000u)
  17176. /** Peripheral CAN1 base pointer */
  17177. #define CAN1 ((CAN_Type *)CAN1_BASE)
  17178. /** Peripheral CAN2 base address */
  17179. #define CAN2_BASE (0x400C8000u)
  17180. /** Peripheral CAN2 base pointer */
  17181. #define CAN2 ((CAN_Type *)CAN2_BASE)
  17182. /** Peripheral CAN3 base address */
  17183. #define CAN3_BASE (0x40C3C000u)
  17184. /** Peripheral CAN3 base pointer */
  17185. #define CAN3 ((CAN_Type *)CAN3_BASE)
  17186. /** Array initializer of CAN peripheral base addresses */
  17187. #define CAN_BASE_ADDRS { 0u, CAN1_BASE, CAN2_BASE, CAN3_BASE }
  17188. /** Array initializer of CAN peripheral base pointers */
  17189. #define CAN_BASE_PTRS { (CAN_Type *)0u, CAN1, CAN2, CAN3 }
  17190. /** Interrupt vectors for the CAN peripheral type */
  17191. #define CAN_Rx_Warning_IRQS { NotAvail_IRQn, CAN1_IRQn, CAN2_IRQn, CAN3_IRQn }
  17192. #define CAN_Tx_Warning_IRQS { NotAvail_IRQn, CAN1_IRQn, CAN2_IRQn, CAN3_IRQn }
  17193. #define CAN_Wake_Up_IRQS { NotAvail_IRQn, CAN1_IRQn, CAN2_IRQn, CAN3_IRQn }
  17194. #define CAN_Error_IRQS { NotAvail_IRQn, CAN1_IRQn, CAN2_IRQn, CAN3_IRQn }
  17195. #define CAN_Bus_Off_IRQS { NotAvail_IRQn, CAN1_IRQn, CAN2_IRQn, CAN3_IRQn }
  17196. #define CAN_ORed_Message_buffer_IRQS { NotAvail_IRQn, CAN1_IRQn, CAN2_IRQn, CAN3_IRQn }
  17197. /*!
  17198. * @}
  17199. */ /* end of group CAN_Peripheral_Access_Layer */
  17200. /* ----------------------------------------------------------------------------
  17201. -- CAN_WRAPPER Peripheral Access Layer
  17202. ---------------------------------------------------------------------------- */
  17203. /*!
  17204. * @addtogroup CAN_WRAPPER_Peripheral_Access_Layer CAN_WRAPPER Peripheral Access Layer
  17205. * @{
  17206. */
  17207. /** CAN_WRAPPER - Register Layout Typedef */
  17208. typedef struct {
  17209. uint8_t RESERVED_0[2528];
  17210. __IO uint32_t GFWR; /**< Glitch Filter Width Register, offset: 0x9E0 */
  17211. } CAN_WRAPPER_Type;
  17212. /* ----------------------------------------------------------------------------
  17213. -- CAN_WRAPPER Register Masks
  17214. ---------------------------------------------------------------------------- */
  17215. /*!
  17216. * @addtogroup CAN_WRAPPER_Register_Masks CAN_WRAPPER Register Masks
  17217. * @{
  17218. */
  17219. /*! @name GFWR - Glitch Filter Width Register */
  17220. /*! @{ */
  17221. #define CAN_WRAPPER_GFWR_GFWR_MASK (0xFFU)
  17222. #define CAN_WRAPPER_GFWR_GFWR_SHIFT (0U)
  17223. /*! GFWR - Glitch Filter Width
  17224. */
  17225. #define CAN_WRAPPER_GFWR_GFWR(x) (((uint32_t)(((uint32_t)(x)) << CAN_WRAPPER_GFWR_GFWR_SHIFT)) & CAN_WRAPPER_GFWR_GFWR_MASK)
  17226. /*! @} */
  17227. /*!
  17228. * @}
  17229. */ /* end of group CAN_WRAPPER_Register_Masks */
  17230. /* CAN_WRAPPER - Peripheral instance base addresses */
  17231. /** Peripheral CAN1_WRAPPER base address */
  17232. #define CAN1_WRAPPER_BASE (0x400C4000u)
  17233. /** Peripheral CAN1_WRAPPER base pointer */
  17234. #define CAN1_WRAPPER ((CAN_WRAPPER_Type *)CAN1_WRAPPER_BASE)
  17235. /** Peripheral CAN2_WRAPPER base address */
  17236. #define CAN2_WRAPPER_BASE (0x400C8000u)
  17237. /** Peripheral CAN2_WRAPPER base pointer */
  17238. #define CAN2_WRAPPER ((CAN_WRAPPER_Type *)CAN2_WRAPPER_BASE)
  17239. /** Peripheral CAN3_WRAPPER base address */
  17240. #define CAN3_WRAPPER_BASE (0x40C3C000u)
  17241. /** Peripheral CAN3_WRAPPER base pointer */
  17242. #define CAN3_WRAPPER ((CAN_WRAPPER_Type *)CAN3_WRAPPER_BASE)
  17243. /** Array initializer of CAN_WRAPPER peripheral base addresses */
  17244. #define CAN_WRAPPER_BASE_ADDRS { 0u, CAN1_WRAPPER_BASE, CAN2_WRAPPER_BASE, CAN3_WRAPPER_BASE }
  17245. /** Array initializer of CAN_WRAPPER peripheral base pointers */
  17246. #define CAN_WRAPPER_BASE_PTRS { (CAN_WRAPPER_Type *)0u, CAN1_WRAPPER, CAN2_WRAPPER, CAN3_WRAPPER }
  17247. /*!
  17248. * @}
  17249. */ /* end of group CAN_WRAPPER_Peripheral_Access_Layer */
  17250. /* ----------------------------------------------------------------------------
  17251. -- CCM Peripheral Access Layer
  17252. ---------------------------------------------------------------------------- */
  17253. /*!
  17254. * @addtogroup CCM_Peripheral_Access_Layer CCM Peripheral Access Layer
  17255. * @{
  17256. */
  17257. /** CCM - Register Layout Typedef */
  17258. typedef struct {
  17259. struct { /* offset: 0x0, array step: 0x80 */
  17260. __IO uint32_t CONTROL; /**< Clock root control, array offset: 0x0, array step: 0x80 */
  17261. __IO uint32_t CONTROL_SET; /**< Clock root control, array offset: 0x4, array step: 0x80 */
  17262. __IO uint32_t CONTROL_CLR; /**< Clock root control, array offset: 0x8, array step: 0x80 */
  17263. __IO uint32_t CONTROL_TOG; /**< Clock root control, array offset: 0xC, array step: 0x80 */
  17264. uint8_t RESERVED_0[16];
  17265. __I uint32_t STATUS0; /**< Clock root working status, array offset: 0x20, array step: 0x80 */
  17266. __I uint32_t STATUS1; /**< Clock root low power status, array offset: 0x24, array step: 0x80 */
  17267. uint8_t RESERVED_1[4];
  17268. __I uint32_t CONFIG; /**< Clock root configuration, array offset: 0x2C, array step: 0x80 */
  17269. __IO uint32_t AUTHEN; /**< Clock root access control, array offset: 0x30, array step: 0x80 */
  17270. __IO uint32_t AUTHEN_SET; /**< Clock root access control, array offset: 0x34, array step: 0x80 */
  17271. __IO uint32_t AUTHEN_CLR; /**< Clock root access control, array offset: 0x38, array step: 0x80 */
  17272. __IO uint32_t AUTHEN_TOG; /**< Clock root access control, array offset: 0x3C, array step: 0x80 */
  17273. __IO uint32_t SETPOINT[16]; /**< Setpoint setting, array offset: 0x40, array step: index*0x80, index2*0x4 */
  17274. } CLOCK_ROOT[79];
  17275. uint8_t RESERVED_0[6272];
  17276. struct { /* offset: 0x4000, array step: 0x80 */
  17277. __IO uint32_t CONTROL; /**< Clock group control, array offset: 0x4000, array step: 0x80 */
  17278. __IO uint32_t CONTROL_SET; /**< Clock group control, array offset: 0x4004, array step: 0x80 */
  17279. __IO uint32_t CONTROL_CLR; /**< Clock group control, array offset: 0x4008, array step: 0x80 */
  17280. __IO uint32_t CONTROL_TOG; /**< Clock group control, array offset: 0x400C, array step: 0x80 */
  17281. uint8_t RESERVED_0[16];
  17282. __IO uint32_t STATUS0; /**< Clock group working status, array offset: 0x4020, array step: 0x80 */
  17283. __I uint32_t STATUS1; /**< Clock group low power/extend status, array offset: 0x4024, array step: 0x80 */
  17284. uint8_t RESERVED_1[4];
  17285. __I uint32_t CONFIG; /**< Clock group configuration, array offset: 0x402C, array step: 0x80 */
  17286. __IO uint32_t AUTHEN; /**< Clock group access control, array offset: 0x4030, array step: 0x80 */
  17287. __IO uint32_t AUTHEN_SET; /**< Clock group access control, array offset: 0x4034, array step: 0x80 */
  17288. __IO uint32_t AUTHEN_CLR; /**< Clock group access control, array offset: 0x4038, array step: 0x80 */
  17289. __IO uint32_t AUTHEN_TOG; /**< Clock group access control, array offset: 0x403C, array step: 0x80 */
  17290. __IO uint32_t SETPOINT[16]; /**< Setpoint setting, array offset: 0x4040, array step: index*0x80, index2*0x4 */
  17291. } CLOCK_GROUP[2];
  17292. uint8_t RESERVED_1[1792];
  17293. struct { /* offset: 0x4800, array step: 0x20 */
  17294. __IO uint32_t GPR_SHARED; /**< General Purpose Register, array offset: 0x4800, array step: 0x20 */
  17295. __IO uint32_t SET; /**< General Purpose Register, array offset: 0x4804, array step: 0x20 */
  17296. __IO uint32_t CLR; /**< General Purpose Register, array offset: 0x4808, array step: 0x20 */
  17297. __IO uint32_t TOG; /**< General Purpose Register, array offset: 0x480C, array step: 0x20 */
  17298. __IO uint32_t AUTHEN; /**< GPR access control, array offset: 0x4810, array step: 0x20 */
  17299. __IO uint32_t AUTHEN_SET; /**< GPR access control, array offset: 0x4814, array step: 0x20 */
  17300. __IO uint32_t AUTHEN_CLR; /**< GPR access control, array offset: 0x4818, array step: 0x20 */
  17301. __IO uint32_t AUTHEN_TOG; /**< GPR access control, array offset: 0x481C, array step: 0x20 */
  17302. } GPR_SHARED[8];
  17303. uint8_t RESERVED_2[800];
  17304. __IO uint32_t GPR_PRIVATE1; /**< General Purpose Register, offset: 0x4C20 */
  17305. __IO uint32_t GPR_PRIVATE1_SET; /**< General Purpose Register, offset: 0x4C24 */
  17306. __IO uint32_t GPR_PRIVATE1_CLR; /**< General Purpose Register, offset: 0x4C28 */
  17307. __IO uint32_t GPR_PRIVATE1_TOG; /**< General Purpose Register, offset: 0x4C2C */
  17308. __IO uint32_t GPR_PRIVATE1_AUTHEN; /**< GPR access control, offset: 0x4C30 */
  17309. __IO uint32_t GPR_PRIVATE1_AUTHEN_SET; /**< GPR access control, offset: 0x4C34 */
  17310. __IO uint32_t GPR_PRIVATE1_AUTHEN_CLR; /**< GPR access control, offset: 0x4C38 */
  17311. __IO uint32_t GPR_PRIVATE1_AUTHEN_TOG; /**< GPR access control, offset: 0x4C3C */
  17312. __IO uint32_t GPR_PRIVATE2; /**< General Purpose Register, offset: 0x4C40 */
  17313. __IO uint32_t GPR_PRIVATE2_SET; /**< General Purpose Register, offset: 0x4C44 */
  17314. __IO uint32_t GPR_PRIVATE2_CLR; /**< General Purpose Register, offset: 0x4C48 */
  17315. __IO uint32_t GPR_PRIVATE2_TOG; /**< General Purpose Register, offset: 0x4C4C */
  17316. __IO uint32_t GPR_PRIVATE2_AUTHEN; /**< GPR access control, offset: 0x4C50 */
  17317. __IO uint32_t GPR_PRIVATE2_AUTHEN_SET; /**< GPR access control, offset: 0x4C54 */
  17318. __IO uint32_t GPR_PRIVATE2_AUTHEN_CLR; /**< GPR access control, offset: 0x4C58 */
  17319. __IO uint32_t GPR_PRIVATE2_AUTHEN_TOG; /**< GPR access control, offset: 0x4C5C */
  17320. __IO uint32_t GPR_PRIVATE3; /**< General Purpose Register, offset: 0x4C60 */
  17321. __IO uint32_t GPR_PRIVATE3_SET; /**< General Purpose Register, offset: 0x4C64 */
  17322. __IO uint32_t GPR_PRIVATE3_CLR; /**< General Purpose Register, offset: 0x4C68 */
  17323. __IO uint32_t GPR_PRIVATE3_TOG; /**< General Purpose Register, offset: 0x4C6C */
  17324. __IO uint32_t GPR_PRIVATE3_AUTHEN; /**< GPR access control, offset: 0x4C70 */
  17325. __IO uint32_t GPR_PRIVATE3_AUTHEN_SET; /**< GPR access control, offset: 0x4C74 */
  17326. __IO uint32_t GPR_PRIVATE3_AUTHEN_CLR; /**< GPR access control, offset: 0x4C78 */
  17327. __IO uint32_t GPR_PRIVATE3_AUTHEN_TOG; /**< GPR access control, offset: 0x4C7C */
  17328. __IO uint32_t GPR_PRIVATE4; /**< General Purpose Register, offset: 0x4C80 */
  17329. __IO uint32_t GPR_PRIVATE4_SET; /**< General Purpose Register, offset: 0x4C84 */
  17330. __IO uint32_t GPR_PRIVATE4_CLR; /**< General Purpose Register, offset: 0x4C88 */
  17331. __IO uint32_t GPR_PRIVATE4_TOG; /**< General Purpose Register, offset: 0x4C8C */
  17332. __IO uint32_t GPR_PRIVATE4_AUTHEN; /**< GPR access control, offset: 0x4C90 */
  17333. __IO uint32_t GPR_PRIVATE4_AUTHEN_SET; /**< GPR access control, offset: 0x4C94 */
  17334. __IO uint32_t GPR_PRIVATE4_AUTHEN_CLR; /**< GPR access control, offset: 0x4C98 */
  17335. __IO uint32_t GPR_PRIVATE4_AUTHEN_TOG; /**< GPR access control, offset: 0x4C9C */
  17336. __IO uint32_t GPR_PRIVATE5; /**< General Purpose Register, offset: 0x4CA0 */
  17337. __IO uint32_t GPR_PRIVATE5_SET; /**< General Purpose Register, offset: 0x4CA4 */
  17338. __IO uint32_t GPR_PRIVATE5_CLR; /**< General Purpose Register, offset: 0x4CA8 */
  17339. __IO uint32_t GPR_PRIVATE5_TOG; /**< General Purpose Register, offset: 0x4CAC */
  17340. __IO uint32_t GPR_PRIVATE5_AUTHEN; /**< GPR access control, offset: 0x4CB0 */
  17341. __IO uint32_t GPR_PRIVATE5_AUTHEN_SET; /**< GPR access control, offset: 0x4CB4 */
  17342. __IO uint32_t GPR_PRIVATE5_AUTHEN_CLR; /**< GPR access control, offset: 0x4CB8 */
  17343. __IO uint32_t GPR_PRIVATE5_AUTHEN_TOG; /**< GPR access control, offset: 0x4CBC */
  17344. __IO uint32_t GPR_PRIVATE6; /**< General Purpose Register, offset: 0x4CC0 */
  17345. __IO uint32_t GPR_PRIVATE6_SET; /**< General Purpose Register, offset: 0x4CC4 */
  17346. __IO uint32_t GPR_PRIVATE6_CLR; /**< General Purpose Register, offset: 0x4CC8 */
  17347. __IO uint32_t GPR_PRIVATE6_TOG; /**< General Purpose Register, offset: 0x4CCC */
  17348. __IO uint32_t GPR_PRIVATE6_AUTHEN; /**< GPR access control, offset: 0x4CD0 */
  17349. __IO uint32_t GPR_PRIVATE6_AUTHEN_SET; /**< GPR access control, offset: 0x4CD4 */
  17350. __IO uint32_t GPR_PRIVATE6_AUTHEN_CLR; /**< GPR access control, offset: 0x4CD8 */
  17351. __IO uint32_t GPR_PRIVATE6_AUTHEN_TOG; /**< GPR access control, offset: 0x4CDC */
  17352. __IO uint32_t GPR_PRIVATE7; /**< General Purpose Register, offset: 0x4CE0 */
  17353. __IO uint32_t GPR_PRIVATE7_SET; /**< General Purpose Register, offset: 0x4CE4 */
  17354. __IO uint32_t GPR_PRIVATE7_CLR; /**< General Purpose Register, offset: 0x4CE8 */
  17355. __IO uint32_t GPR_PRIVATE7_TOG; /**< General Purpose Register, offset: 0x4CEC */
  17356. __IO uint32_t GPR_PRIVATE7_AUTHEN; /**< GPR access control, offset: 0x4CF0 */
  17357. __IO uint32_t GPR_PRIVATE7_AUTHEN_SET; /**< GPR access control, offset: 0x4CF4 */
  17358. __IO uint32_t GPR_PRIVATE7_AUTHEN_CLR; /**< GPR access control, offset: 0x4CF8 */
  17359. __IO uint32_t GPR_PRIVATE7_AUTHEN_TOG; /**< GPR access control, offset: 0x4CFC */
  17360. uint8_t RESERVED_3[768];
  17361. struct { /* offset: 0x5000, array step: 0x20 */
  17362. __IO uint32_t DIRECT; /**< Clock source direct control, array offset: 0x5000, array step: 0x20 */
  17363. __IO uint32_t DOMAINr; /**< Clock source domain control, array offset: 0x5004, array step: 0x20 */
  17364. __IO uint32_t SETPOINT; /**< Clock source Setpoint setting, array offset: 0x5008, array step: 0x20 */
  17365. uint8_t RESERVED_0[4];
  17366. __I uint32_t STATUS0; /**< Clock source working status, array offset: 0x5010, array step: 0x20 */
  17367. __I uint32_t STATUS1; /**< Clock source low power status, array offset: 0x5014, array step: 0x20 */
  17368. __I uint32_t CONFIG; /**< Clock source configuration, array offset: 0x5018, array step: 0x20 */
  17369. __IO uint32_t AUTHEN; /**< Clock source access control, array offset: 0x501C, array step: 0x20 */
  17370. } OSCPLL[29];
  17371. uint8_t RESERVED_4[3168];
  17372. struct { /* offset: 0x6000, array step: 0x20 */
  17373. __IO uint32_t DIRECT; /**< LPCG direct control, array offset: 0x6000, array step: 0x20 */
  17374. __IO uint32_t DOMAINr; /**< LPCG domain control, array offset: 0x6004, array step: 0x20 */
  17375. __IO uint32_t SETPOINT; /**< LPCG Setpoint setting, array offset: 0x6008, array step: 0x20 */
  17376. uint8_t RESERVED_0[4];
  17377. __I uint32_t STATUS0; /**< LPCG working status, array offset: 0x6010, array step: 0x20 */
  17378. __I uint32_t STATUS1; /**< LPCG low power status, array offset: 0x6014, array step: 0x20 */
  17379. __I uint32_t CONFIG; /**< LPCG configuration, array offset: 0x6018, array step: 0x20 */
  17380. __IO uint32_t AUTHEN; /**< LPCG access control, array offset: 0x601C, array step: 0x20 */
  17381. } LPCG[138];
  17382. } CCM_Type;
  17383. /* ----------------------------------------------------------------------------
  17384. -- CCM Register Masks
  17385. ---------------------------------------------------------------------------- */
  17386. /*!
  17387. * @addtogroup CCM_Register_Masks CCM Register Masks
  17388. * @{
  17389. */
  17390. /*! @name CLOCK_ROOT_CONTROL - Clock root control */
  17391. /*! @{ */
  17392. #define CCM_CLOCK_ROOT_CONTROL_DIV_MASK (0xFFU)
  17393. #define CCM_CLOCK_ROOT_CONTROL_DIV_SHIFT (0U)
  17394. /*! DIV - Clock divider
  17395. */
  17396. #define CCM_CLOCK_ROOT_CONTROL_DIV(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_CONTROL_DIV_SHIFT)) & CCM_CLOCK_ROOT_CONTROL_DIV_MASK)
  17397. #define CCM_CLOCK_ROOT_CONTROL_MUX_MASK (0x700U)
  17398. #define CCM_CLOCK_ROOT_CONTROL_MUX_SHIFT (8U)
  17399. /*! MUX - Clock multiplexer
  17400. */
  17401. #define CCM_CLOCK_ROOT_CONTROL_MUX(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_CONTROL_MUX_SHIFT)) & CCM_CLOCK_ROOT_CONTROL_MUX_MASK)
  17402. #define CCM_CLOCK_ROOT_CONTROL_OFF_MASK (0x1000000U)
  17403. #define CCM_CLOCK_ROOT_CONTROL_OFF_SHIFT (24U)
  17404. /*! OFF - OFF
  17405. * 0b0..Turn on clock
  17406. * 0b1..Turn off clock
  17407. */
  17408. #define CCM_CLOCK_ROOT_CONTROL_OFF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_CONTROL_OFF_SHIFT)) & CCM_CLOCK_ROOT_CONTROL_OFF_MASK)
  17409. /*! @} */
  17410. /* The count of CCM_CLOCK_ROOT_CONTROL */
  17411. #define CCM_CLOCK_ROOT_CONTROL_COUNT (79U)
  17412. /*! @name CLOCK_ROOT_CONTROL_SET - Clock root control */
  17413. /*! @{ */
  17414. #define CCM_CLOCK_ROOT_CONTROL_SET_DIV_MASK (0xFFU)
  17415. #define CCM_CLOCK_ROOT_CONTROL_SET_DIV_SHIFT (0U)
  17416. /*! DIV - Clock divider
  17417. */
  17418. #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)
  17419. #define CCM_CLOCK_ROOT_CONTROL_SET_MUX_MASK (0x700U)
  17420. #define CCM_CLOCK_ROOT_CONTROL_SET_MUX_SHIFT (8U)
  17421. /*! MUX - Clock multiplexer
  17422. */
  17423. #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)
  17424. #define CCM_CLOCK_ROOT_CONTROL_SET_OFF_MASK (0x1000000U)
  17425. #define CCM_CLOCK_ROOT_CONTROL_SET_OFF_SHIFT (24U)
  17426. /*! OFF - OFF
  17427. */
  17428. #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)
  17429. /*! @} */
  17430. /* The count of CCM_CLOCK_ROOT_CONTROL_SET */
  17431. #define CCM_CLOCK_ROOT_CONTROL_SET_COUNT (79U)
  17432. /*! @name CLOCK_ROOT_CONTROL_CLR - Clock root control */
  17433. /*! @{ */
  17434. #define CCM_CLOCK_ROOT_CONTROL_CLR_DIV_MASK (0xFFU)
  17435. #define CCM_CLOCK_ROOT_CONTROL_CLR_DIV_SHIFT (0U)
  17436. /*! DIV - Clock divider
  17437. */
  17438. #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)
  17439. #define CCM_CLOCK_ROOT_CONTROL_CLR_MUX_MASK (0x700U)
  17440. #define CCM_CLOCK_ROOT_CONTROL_CLR_MUX_SHIFT (8U)
  17441. /*! MUX - Clock multiplexer
  17442. */
  17443. #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)
  17444. #define CCM_CLOCK_ROOT_CONTROL_CLR_OFF_MASK (0x1000000U)
  17445. #define CCM_CLOCK_ROOT_CONTROL_CLR_OFF_SHIFT (24U)
  17446. /*! OFF - OFF
  17447. */
  17448. #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)
  17449. /*! @} */
  17450. /* The count of CCM_CLOCK_ROOT_CONTROL_CLR */
  17451. #define CCM_CLOCK_ROOT_CONTROL_CLR_COUNT (79U)
  17452. /*! @name CLOCK_ROOT_CONTROL_TOG - Clock root control */
  17453. /*! @{ */
  17454. #define CCM_CLOCK_ROOT_CONTROL_TOG_DIV_MASK (0xFFU)
  17455. #define CCM_CLOCK_ROOT_CONTROL_TOG_DIV_SHIFT (0U)
  17456. /*! DIV - Clock divider
  17457. */
  17458. #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)
  17459. #define CCM_CLOCK_ROOT_CONTROL_TOG_MUX_MASK (0x700U)
  17460. #define CCM_CLOCK_ROOT_CONTROL_TOG_MUX_SHIFT (8U)
  17461. /*! MUX - Clock multiplexer
  17462. */
  17463. #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)
  17464. #define CCM_CLOCK_ROOT_CONTROL_TOG_OFF_MASK (0x1000000U)
  17465. #define CCM_CLOCK_ROOT_CONTROL_TOG_OFF_SHIFT (24U)
  17466. /*! OFF - OFF
  17467. */
  17468. #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)
  17469. /*! @} */
  17470. /* The count of CCM_CLOCK_ROOT_CONTROL_TOG */
  17471. #define CCM_CLOCK_ROOT_CONTROL_TOG_COUNT (79U)
  17472. /*! @name CLOCK_ROOT_STATUS0 - Clock root working status */
  17473. /*! @{ */
  17474. #define CCM_CLOCK_ROOT_STATUS0_DIV_MASK (0xFFU)
  17475. #define CCM_CLOCK_ROOT_STATUS0_DIV_SHIFT (0U)
  17476. /*! DIV - Current clock root DIV setting
  17477. */
  17478. #define CCM_CLOCK_ROOT_STATUS0_DIV(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_STATUS0_DIV_SHIFT)) & CCM_CLOCK_ROOT_STATUS0_DIV_MASK)
  17479. #define CCM_CLOCK_ROOT_STATUS0_MUX_MASK (0x700U)
  17480. #define CCM_CLOCK_ROOT_STATUS0_MUX_SHIFT (8U)
  17481. /*! MUX - Current clock root MUX setting
  17482. */
  17483. #define CCM_CLOCK_ROOT_STATUS0_MUX(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_STATUS0_MUX_SHIFT)) & CCM_CLOCK_ROOT_STATUS0_MUX_MASK)
  17484. #define CCM_CLOCK_ROOT_STATUS0_OFF_MASK (0x1000000U)
  17485. #define CCM_CLOCK_ROOT_STATUS0_OFF_SHIFT (24U)
  17486. /*! OFF - Current clock root OFF setting
  17487. * 0b0..Clock is running
  17488. * 0b1..Clock is disabled/off
  17489. */
  17490. #define CCM_CLOCK_ROOT_STATUS0_OFF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_STATUS0_OFF_SHIFT)) & CCM_CLOCK_ROOT_STATUS0_OFF_MASK)
  17491. #define CCM_CLOCK_ROOT_STATUS0_POWERDOWN_MASK (0x8000000U)
  17492. #define CCM_CLOCK_ROOT_STATUS0_POWERDOWN_SHIFT (27U)
  17493. /*! POWERDOWN - Current clock root POWERDOWN setting
  17494. * 0b1..Clock root is Powered Down
  17495. * 0b0..Clock root is running
  17496. */
  17497. #define CCM_CLOCK_ROOT_STATUS0_POWERDOWN(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_STATUS0_POWERDOWN_SHIFT)) & CCM_CLOCK_ROOT_STATUS0_POWERDOWN_MASK)
  17498. #define CCM_CLOCK_ROOT_STATUS0_SLICE_BUSY_MASK (0x10000000U)
  17499. #define CCM_CLOCK_ROOT_STATUS0_SLICE_BUSY_SHIFT (28U)
  17500. /*! SLICE_BUSY - Internal updating in generation logic
  17501. * 0b1..Clock generation logic is applying the new setting
  17502. * 0b0..Clock generation logic is not busy
  17503. */
  17504. #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)
  17505. #define CCM_CLOCK_ROOT_STATUS0_UPDATE_FORWARD_MASK (0x20000000U)
  17506. #define CCM_CLOCK_ROOT_STATUS0_UPDATE_FORWARD_SHIFT (29U)
  17507. /*! UPDATE_FORWARD - Internal status synchronization to clock generation logic
  17508. * 0b1..Synchronization in process
  17509. * 0b0..Synchronization not in process
  17510. */
  17511. #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)
  17512. #define CCM_CLOCK_ROOT_STATUS0_UPDATE_REVERSE_MASK (0x40000000U)
  17513. #define CCM_CLOCK_ROOT_STATUS0_UPDATE_REVERSE_SHIFT (30U)
  17514. /*! UPDATE_REVERSE - Internal status synchronization from clock generation logic
  17515. * 0b1..Synchronization in process
  17516. * 0b0..Synchronization not in process
  17517. */
  17518. #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)
  17519. #define CCM_CLOCK_ROOT_STATUS0_CHANGING_MASK (0x80000000U)
  17520. #define CCM_CLOCK_ROOT_STATUS0_CHANGING_SHIFT (31U)
  17521. /*! CHANGING - Internal updating in clock root
  17522. * 0b1..Clock generation logic is updating currently
  17523. * 0b0..Clock Status is not updating currently
  17524. */
  17525. #define CCM_CLOCK_ROOT_STATUS0_CHANGING(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_STATUS0_CHANGING_SHIFT)) & CCM_CLOCK_ROOT_STATUS0_CHANGING_MASK)
  17526. /*! @} */
  17527. /* The count of CCM_CLOCK_ROOT_STATUS0 */
  17528. #define CCM_CLOCK_ROOT_STATUS0_COUNT (79U)
  17529. /*! @name CLOCK_ROOT_STATUS1 - Clock root low power status */
  17530. /*! @{ */
  17531. #define CCM_CLOCK_ROOT_STATUS1_TARGET_SETPOINT_MASK (0xF0000U)
  17532. #define CCM_CLOCK_ROOT_STATUS1_TARGET_SETPOINT_SHIFT (16U)
  17533. /*! TARGET_SETPOINT - Target Setpoint
  17534. */
  17535. #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)
  17536. #define CCM_CLOCK_ROOT_STATUS1_CURRENT_SETPOINT_MASK (0xF00000U)
  17537. #define CCM_CLOCK_ROOT_STATUS1_CURRENT_SETPOINT_SHIFT (20U)
  17538. /*! CURRENT_SETPOINT - Current Setpoint
  17539. */
  17540. #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)
  17541. #define CCM_CLOCK_ROOT_STATUS1_DOWN_REQUEST_MASK (0x1000000U)
  17542. #define CCM_CLOCK_ROOT_STATUS1_DOWN_REQUEST_SHIFT (24U)
  17543. /*! DOWN_REQUEST - Clock frequency decrease request
  17544. * 0b1..Frequency decrease requested
  17545. * 0b0..Frequency decrease not requested
  17546. */
  17547. #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)
  17548. #define CCM_CLOCK_ROOT_STATUS1_DOWN_DONE_MASK (0x2000000U)
  17549. #define CCM_CLOCK_ROOT_STATUS1_DOWN_DONE_SHIFT (25U)
  17550. /*! DOWN_DONE - Clock frequency decrease finish
  17551. * 0b1..Frequency decrease completed
  17552. * 0b0..Frequency decrease not completed
  17553. */
  17554. #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)
  17555. #define CCM_CLOCK_ROOT_STATUS1_UP_REQUEST_MASK (0x4000000U)
  17556. #define CCM_CLOCK_ROOT_STATUS1_UP_REQUEST_SHIFT (26U)
  17557. /*! UP_REQUEST - Clock frequency increase request
  17558. * 0b1..Frequency increase requested
  17559. * 0b0..Frequency increase not requested
  17560. */
  17561. #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)
  17562. #define CCM_CLOCK_ROOT_STATUS1_UP_DONE_MASK (0x8000000U)
  17563. #define CCM_CLOCK_ROOT_STATUS1_UP_DONE_SHIFT (27U)
  17564. /*! UP_DONE - Clock frequency increase finish
  17565. * 0b1..Frequency increase completed
  17566. * 0b0..Frequency increase not completed
  17567. */
  17568. #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)
  17569. /*! @} */
  17570. /* The count of CCM_CLOCK_ROOT_STATUS1 */
  17571. #define CCM_CLOCK_ROOT_STATUS1_COUNT (79U)
  17572. /*! @name CLOCK_ROOT_CONFIG - Clock root configuration */
  17573. /*! @{ */
  17574. #define CCM_CLOCK_ROOT_CONFIG_SETPOINT_PRESENT_MASK (0x10U)
  17575. #define CCM_CLOCK_ROOT_CONFIG_SETPOINT_PRESENT_SHIFT (4U)
  17576. /*! SETPOINT_PRESENT - Setpoint present
  17577. * 0b1..Setpoint is implemented.
  17578. * 0b0..Setpoint is not implemented.
  17579. */
  17580. #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)
  17581. /*! @} */
  17582. /* The count of CCM_CLOCK_ROOT_CONFIG */
  17583. #define CCM_CLOCK_ROOT_CONFIG_COUNT (79U)
  17584. /*! @name CLOCK_ROOT_AUTHEN - Clock root access control */
  17585. /*! @{ */
  17586. #define CCM_CLOCK_ROOT_AUTHEN_TZ_USER_MASK (0x1U)
  17587. #define CCM_CLOCK_ROOT_AUTHEN_TZ_USER_SHIFT (0U)
  17588. /*! TZ_USER - User access
  17589. * 0b1..Clock can be changed in user mode
  17590. * 0b0..Clock cannot be changed in user mode
  17591. */
  17592. #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)
  17593. #define CCM_CLOCK_ROOT_AUTHEN_TZ_NS_MASK (0x2U)
  17594. #define CCM_CLOCK_ROOT_AUTHEN_TZ_NS_SHIFT (1U)
  17595. /*! TZ_NS - Non-secure access
  17596. * 0b0..Cannot be changed in Non-secure mode
  17597. * 0b1..Can be changed in Non-secure mode
  17598. */
  17599. #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)
  17600. #define CCM_CLOCK_ROOT_AUTHEN_LOCK_TZ_MASK (0x10U)
  17601. #define CCM_CLOCK_ROOT_AUTHEN_LOCK_TZ_SHIFT (4U)
  17602. /*! LOCK_TZ - Lock truszone setting
  17603. * 0b0..Trustzone setting is not locked
  17604. * 0b1..Trustzone setting is locked
  17605. */
  17606. #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)
  17607. #define CCM_CLOCK_ROOT_AUTHEN_WHITE_LIST_MASK (0xF00U)
  17608. #define CCM_CLOCK_ROOT_AUTHEN_WHITE_LIST_SHIFT (8U)
  17609. /*! WHITE_LIST - Whitelist
  17610. * 0b0000..This domain is NOT allowed to change clock
  17611. * 0b0001..This domain is allowed to change clock
  17612. */
  17613. #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)
  17614. #define CCM_CLOCK_ROOT_AUTHEN_LOCK_LIST_MASK (0x1000U)
  17615. #define CCM_CLOCK_ROOT_AUTHEN_LOCK_LIST_SHIFT (12U)
  17616. /*! LOCK_LIST - Lock Whitelist
  17617. * 0b0..Whitelist is not locked
  17618. * 0b1..Whitelist is locked
  17619. */
  17620. #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)
  17621. #define CCM_CLOCK_ROOT_AUTHEN_DOMAIN_MODE_MASK (0x10000U)
  17622. #define CCM_CLOCK_ROOT_AUTHEN_DOMAIN_MODE_SHIFT (16U)
  17623. /*! DOMAIN_MODE - Low power and access control by domain
  17624. * 0b1..Clock works in Domain Mode
  17625. * 0b0..Clock does NOT work in Domain Mode
  17626. */
  17627. #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)
  17628. #define CCM_CLOCK_ROOT_AUTHEN_SETPOINT_MODE_MASK (0x20000U)
  17629. #define CCM_CLOCK_ROOT_AUTHEN_SETPOINT_MODE_SHIFT (17U)
  17630. /*! SETPOINT_MODE - Low power and access control by Setpoint
  17631. * 0b1..Clock works in Setpoint Mode
  17632. * 0b0..Clock does NOT work in Setpoint Mode
  17633. */
  17634. #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)
  17635. #define CCM_CLOCK_ROOT_AUTHEN_LOCK_MODE_MASK (0x100000U)
  17636. #define CCM_CLOCK_ROOT_AUTHEN_LOCK_MODE_SHIFT (20U)
  17637. /*! LOCK_MODE - Lock low power and access mode
  17638. * 0b0..MODE is not locked
  17639. * 0b1..MODE is locked
  17640. */
  17641. #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)
  17642. /*! @} */
  17643. /* The count of CCM_CLOCK_ROOT_AUTHEN */
  17644. #define CCM_CLOCK_ROOT_AUTHEN_COUNT (79U)
  17645. /*! @name CLOCK_ROOT_AUTHEN_SET - Clock root access control */
  17646. /*! @{ */
  17647. #define CCM_CLOCK_ROOT_AUTHEN_SET_TZ_USER_MASK (0x1U)
  17648. #define CCM_CLOCK_ROOT_AUTHEN_SET_TZ_USER_SHIFT (0U)
  17649. /*! TZ_USER - User access
  17650. */
  17651. #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)
  17652. #define CCM_CLOCK_ROOT_AUTHEN_SET_TZ_NS_MASK (0x2U)
  17653. #define CCM_CLOCK_ROOT_AUTHEN_SET_TZ_NS_SHIFT (1U)
  17654. /*! TZ_NS - Non-secure access
  17655. */
  17656. #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)
  17657. #define CCM_CLOCK_ROOT_AUTHEN_SET_LOCK_TZ_MASK (0x10U)
  17658. #define CCM_CLOCK_ROOT_AUTHEN_SET_LOCK_TZ_SHIFT (4U)
  17659. /*! LOCK_TZ - Lock truszone setting
  17660. */
  17661. #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)
  17662. #define CCM_CLOCK_ROOT_AUTHEN_SET_WHITE_LIST_MASK (0xF00U)
  17663. #define CCM_CLOCK_ROOT_AUTHEN_SET_WHITE_LIST_SHIFT (8U)
  17664. /*! WHITE_LIST - Whitelist
  17665. */
  17666. #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)
  17667. #define CCM_CLOCK_ROOT_AUTHEN_SET_LOCK_LIST_MASK (0x1000U)
  17668. #define CCM_CLOCK_ROOT_AUTHEN_SET_LOCK_LIST_SHIFT (12U)
  17669. /*! LOCK_LIST - Lock Whitelist
  17670. */
  17671. #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)
  17672. #define CCM_CLOCK_ROOT_AUTHEN_SET_DOMAIN_MODE_MASK (0x10000U)
  17673. #define CCM_CLOCK_ROOT_AUTHEN_SET_DOMAIN_MODE_SHIFT (16U)
  17674. /*! DOMAIN_MODE - Low power and access control by domain
  17675. */
  17676. #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)
  17677. #define CCM_CLOCK_ROOT_AUTHEN_SET_SETPOINT_MODE_MASK (0x20000U)
  17678. #define CCM_CLOCK_ROOT_AUTHEN_SET_SETPOINT_MODE_SHIFT (17U)
  17679. /*! SETPOINT_MODE - Low power and access control by Setpoint
  17680. */
  17681. #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)
  17682. #define CCM_CLOCK_ROOT_AUTHEN_SET_LOCK_MODE_MASK (0x100000U)
  17683. #define CCM_CLOCK_ROOT_AUTHEN_SET_LOCK_MODE_SHIFT (20U)
  17684. /*! LOCK_MODE - Lock low power and access mode
  17685. */
  17686. #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)
  17687. /*! @} */
  17688. /* The count of CCM_CLOCK_ROOT_AUTHEN_SET */
  17689. #define CCM_CLOCK_ROOT_AUTHEN_SET_COUNT (79U)
  17690. /*! @name CLOCK_ROOT_AUTHEN_CLR - Clock root access control */
  17691. /*! @{ */
  17692. #define CCM_CLOCK_ROOT_AUTHEN_CLR_TZ_USER_MASK (0x1U)
  17693. #define CCM_CLOCK_ROOT_AUTHEN_CLR_TZ_USER_SHIFT (0U)
  17694. /*! TZ_USER - User access
  17695. */
  17696. #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)
  17697. #define CCM_CLOCK_ROOT_AUTHEN_CLR_TZ_NS_MASK (0x2U)
  17698. #define CCM_CLOCK_ROOT_AUTHEN_CLR_TZ_NS_SHIFT (1U)
  17699. /*! TZ_NS - Non-secure access
  17700. */
  17701. #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)
  17702. #define CCM_CLOCK_ROOT_AUTHEN_CLR_LOCK_TZ_MASK (0x10U)
  17703. #define CCM_CLOCK_ROOT_AUTHEN_CLR_LOCK_TZ_SHIFT (4U)
  17704. /*! LOCK_TZ - Lock truszone setting
  17705. */
  17706. #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)
  17707. #define CCM_CLOCK_ROOT_AUTHEN_CLR_WHITE_LIST_MASK (0xF00U)
  17708. #define CCM_CLOCK_ROOT_AUTHEN_CLR_WHITE_LIST_SHIFT (8U)
  17709. /*! WHITE_LIST - Whitelist
  17710. */
  17711. #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)
  17712. #define CCM_CLOCK_ROOT_AUTHEN_CLR_LOCK_LIST_MASK (0x1000U)
  17713. #define CCM_CLOCK_ROOT_AUTHEN_CLR_LOCK_LIST_SHIFT (12U)
  17714. /*! LOCK_LIST - Lock Whitelist
  17715. */
  17716. #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)
  17717. #define CCM_CLOCK_ROOT_AUTHEN_CLR_DOMAIN_MODE_MASK (0x10000U)
  17718. #define CCM_CLOCK_ROOT_AUTHEN_CLR_DOMAIN_MODE_SHIFT (16U)
  17719. /*! DOMAIN_MODE - Low power and access control by domain
  17720. */
  17721. #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)
  17722. #define CCM_CLOCK_ROOT_AUTHEN_CLR_SETPOINT_MODE_MASK (0x20000U)
  17723. #define CCM_CLOCK_ROOT_AUTHEN_CLR_SETPOINT_MODE_SHIFT (17U)
  17724. /*! SETPOINT_MODE - Low power and access control by Setpoint
  17725. */
  17726. #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)
  17727. #define CCM_CLOCK_ROOT_AUTHEN_CLR_LOCK_MODE_MASK (0x100000U)
  17728. #define CCM_CLOCK_ROOT_AUTHEN_CLR_LOCK_MODE_SHIFT (20U)
  17729. /*! LOCK_MODE - Lock low power and access mode
  17730. */
  17731. #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)
  17732. /*! @} */
  17733. /* The count of CCM_CLOCK_ROOT_AUTHEN_CLR */
  17734. #define CCM_CLOCK_ROOT_AUTHEN_CLR_COUNT (79U)
  17735. /*! @name CLOCK_ROOT_AUTHEN_TOG - Clock root access control */
  17736. /*! @{ */
  17737. #define CCM_CLOCK_ROOT_AUTHEN_TOG_TZ_USER_MASK (0x1U)
  17738. #define CCM_CLOCK_ROOT_AUTHEN_TOG_TZ_USER_SHIFT (0U)
  17739. /*! TZ_USER - User access
  17740. */
  17741. #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)
  17742. #define CCM_CLOCK_ROOT_AUTHEN_TOG_TZ_NS_MASK (0x2U)
  17743. #define CCM_CLOCK_ROOT_AUTHEN_TOG_TZ_NS_SHIFT (1U)
  17744. /*! TZ_NS - Non-secure access
  17745. */
  17746. #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)
  17747. #define CCM_CLOCK_ROOT_AUTHEN_TOG_LOCK_TZ_MASK (0x10U)
  17748. #define CCM_CLOCK_ROOT_AUTHEN_TOG_LOCK_TZ_SHIFT (4U)
  17749. /*! LOCK_TZ - Lock truszone setting
  17750. */
  17751. #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)
  17752. #define CCM_CLOCK_ROOT_AUTHEN_TOG_WHITE_LIST_MASK (0xF00U)
  17753. #define CCM_CLOCK_ROOT_AUTHEN_TOG_WHITE_LIST_SHIFT (8U)
  17754. /*! WHITE_LIST - Whitelist
  17755. */
  17756. #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)
  17757. #define CCM_CLOCK_ROOT_AUTHEN_TOG_LOCK_LIST_MASK (0x1000U)
  17758. #define CCM_CLOCK_ROOT_AUTHEN_TOG_LOCK_LIST_SHIFT (12U)
  17759. /*! LOCK_LIST - Lock Whitelist
  17760. */
  17761. #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)
  17762. #define CCM_CLOCK_ROOT_AUTHEN_TOG_DOMAIN_MODE_MASK (0x10000U)
  17763. #define CCM_CLOCK_ROOT_AUTHEN_TOG_DOMAIN_MODE_SHIFT (16U)
  17764. /*! DOMAIN_MODE - Low power and access control by domain
  17765. */
  17766. #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)
  17767. #define CCM_CLOCK_ROOT_AUTHEN_TOG_SETPOINT_MODE_MASK (0x20000U)
  17768. #define CCM_CLOCK_ROOT_AUTHEN_TOG_SETPOINT_MODE_SHIFT (17U)
  17769. /*! SETPOINT_MODE - Low power and access control by Setpoint
  17770. */
  17771. #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)
  17772. #define CCM_CLOCK_ROOT_AUTHEN_TOG_LOCK_MODE_MASK (0x100000U)
  17773. #define CCM_CLOCK_ROOT_AUTHEN_TOG_LOCK_MODE_SHIFT (20U)
  17774. /*! LOCK_MODE - Lock low power and access mode
  17775. */
  17776. #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)
  17777. /*! @} */
  17778. /* The count of CCM_CLOCK_ROOT_AUTHEN_TOG */
  17779. #define CCM_CLOCK_ROOT_AUTHEN_TOG_COUNT (79U)
  17780. /*! @name CLOCK_ROOT_CLOCK_ROOT_SETPOINT_SETPOINT - Setpoint setting */
  17781. /*! @{ */
  17782. #define CCM_CLOCK_ROOT_CLOCK_ROOT_SETPOINT_SETPOINT_DIV_MASK (0xFFU)
  17783. #define CCM_CLOCK_ROOT_CLOCK_ROOT_SETPOINT_SETPOINT_DIV_SHIFT (0U)
  17784. /*! DIV - Clock divider
  17785. */
  17786. #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)
  17787. #define CCM_CLOCK_ROOT_CLOCK_ROOT_SETPOINT_SETPOINT_MUX_MASK (0x700U)
  17788. #define CCM_CLOCK_ROOT_CLOCK_ROOT_SETPOINT_SETPOINT_MUX_SHIFT (8U)
  17789. /*! MUX - Clock multiplexer
  17790. */
  17791. #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)
  17792. #define CCM_CLOCK_ROOT_CLOCK_ROOT_SETPOINT_SETPOINT_OFF_MASK (0x1000000U)
  17793. #define CCM_CLOCK_ROOT_CLOCK_ROOT_SETPOINT_SETPOINT_OFF_SHIFT (24U)
  17794. /*! OFF - OFF
  17795. * 0b1..OFF
  17796. * 0b0..ON
  17797. */
  17798. #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)
  17799. #define CCM_CLOCK_ROOT_CLOCK_ROOT_SETPOINT_SETPOINT_GRADE_MASK (0xF0000000U)
  17800. #define CCM_CLOCK_ROOT_CLOCK_ROOT_SETPOINT_SETPOINT_GRADE_SHIFT (28U)
  17801. /*! GRADE - Grade
  17802. */
  17803. #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)
  17804. /*! @} */
  17805. /* The count of CCM_CLOCK_ROOT_CLOCK_ROOT_SETPOINT_SETPOINT */
  17806. #define CCM_CLOCK_ROOT_CLOCK_ROOT_SETPOINT_SETPOINT_COUNT (79U)
  17807. /* The count of CCM_CLOCK_ROOT_CLOCK_ROOT_SETPOINT_SETPOINT */
  17808. #define CCM_CLOCK_ROOT_CLOCK_ROOT_SETPOINT_SETPOINT_COUNT2 (16U)
  17809. /*! @name CLOCK_GROUP_CONTROL - Clock group control */
  17810. /*! @{ */
  17811. #define CCM_CLOCK_GROUP_CONTROL_DIV0_MASK (0xFU)
  17812. #define CCM_CLOCK_GROUP_CONTROL_DIV0_SHIFT (0U)
  17813. /*! DIV0 - Clock divider0
  17814. */
  17815. #define CCM_CLOCK_GROUP_CONTROL_DIV0(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_CONTROL_DIV0_SHIFT)) & CCM_CLOCK_GROUP_CONTROL_DIV0_MASK)
  17816. #define CCM_CLOCK_GROUP_CONTROL_RSTDIV_MASK (0xFF0000U)
  17817. #define CCM_CLOCK_GROUP_CONTROL_RSTDIV_SHIFT (16U)
  17818. /*! RSTDIV - Clock group global restart count
  17819. */
  17820. #define CCM_CLOCK_GROUP_CONTROL_RSTDIV(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_CONTROL_RSTDIV_SHIFT)) & CCM_CLOCK_GROUP_CONTROL_RSTDIV_MASK)
  17821. #define CCM_CLOCK_GROUP_CONTROL_OFF_MASK (0x1000000U)
  17822. #define CCM_CLOCK_GROUP_CONTROL_OFF_SHIFT (24U)
  17823. /*! OFF - OFF
  17824. * 0b0..Clock is running
  17825. * 0b1..Turn off clock
  17826. */
  17827. #define CCM_CLOCK_GROUP_CONTROL_OFF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_CONTROL_OFF_SHIFT)) & CCM_CLOCK_GROUP_CONTROL_OFF_MASK)
  17828. /*! @} */
  17829. /* The count of CCM_CLOCK_GROUP_CONTROL */
  17830. #define CCM_CLOCK_GROUP_CONTROL_COUNT (2U)
  17831. /*! @name CLOCK_GROUP_CONTROL_SET - Clock group control */
  17832. /*! @{ */
  17833. #define CCM_CLOCK_GROUP_CONTROL_SET_DIV0_MASK (0xFU)
  17834. #define CCM_CLOCK_GROUP_CONTROL_SET_DIV0_SHIFT (0U)
  17835. /*! DIV0 - Clock divider0
  17836. */
  17837. #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)
  17838. #define CCM_CLOCK_GROUP_CONTROL_SET_RSTDIV_MASK (0xFF0000U)
  17839. #define CCM_CLOCK_GROUP_CONTROL_SET_RSTDIV_SHIFT (16U)
  17840. /*! RSTDIV - Clock group global restart count
  17841. */
  17842. #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)
  17843. #define CCM_CLOCK_GROUP_CONTROL_SET_OFF_MASK (0x1000000U)
  17844. #define CCM_CLOCK_GROUP_CONTROL_SET_OFF_SHIFT (24U)
  17845. /*! OFF - OFF
  17846. */
  17847. #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)
  17848. /*! @} */
  17849. /* The count of CCM_CLOCK_GROUP_CONTROL_SET */
  17850. #define CCM_CLOCK_GROUP_CONTROL_SET_COUNT (2U)
  17851. /*! @name CLOCK_GROUP_CONTROL_CLR - Clock group control */
  17852. /*! @{ */
  17853. #define CCM_CLOCK_GROUP_CONTROL_CLR_DIV0_MASK (0xFU)
  17854. #define CCM_CLOCK_GROUP_CONTROL_CLR_DIV0_SHIFT (0U)
  17855. /*! DIV0 - Clock divider0
  17856. */
  17857. #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)
  17858. #define CCM_CLOCK_GROUP_CONTROL_CLR_RSTDIV_MASK (0xFF0000U)
  17859. #define CCM_CLOCK_GROUP_CONTROL_CLR_RSTDIV_SHIFT (16U)
  17860. /*! RSTDIV - Clock group global restart count
  17861. */
  17862. #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)
  17863. #define CCM_CLOCK_GROUP_CONTROL_CLR_OFF_MASK (0x1000000U)
  17864. #define CCM_CLOCK_GROUP_CONTROL_CLR_OFF_SHIFT (24U)
  17865. /*! OFF - OFF
  17866. */
  17867. #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)
  17868. /*! @} */
  17869. /* The count of CCM_CLOCK_GROUP_CONTROL_CLR */
  17870. #define CCM_CLOCK_GROUP_CONTROL_CLR_COUNT (2U)
  17871. /*! @name CLOCK_GROUP_CONTROL_TOG - Clock group control */
  17872. /*! @{ */
  17873. #define CCM_CLOCK_GROUP_CONTROL_TOG_DIV0_MASK (0xFU)
  17874. #define CCM_CLOCK_GROUP_CONTROL_TOG_DIV0_SHIFT (0U)
  17875. /*! DIV0 - Clock divider0
  17876. */
  17877. #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)
  17878. #define CCM_CLOCK_GROUP_CONTROL_TOG_RSTDIV_MASK (0xFF0000U)
  17879. #define CCM_CLOCK_GROUP_CONTROL_TOG_RSTDIV_SHIFT (16U)
  17880. /*! RSTDIV - Clock group global restart count
  17881. */
  17882. #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)
  17883. #define CCM_CLOCK_GROUP_CONTROL_TOG_OFF_MASK (0x1000000U)
  17884. #define CCM_CLOCK_GROUP_CONTROL_TOG_OFF_SHIFT (24U)
  17885. /*! OFF - OFF
  17886. */
  17887. #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)
  17888. /*! @} */
  17889. /* The count of CCM_CLOCK_GROUP_CONTROL_TOG */
  17890. #define CCM_CLOCK_GROUP_CONTROL_TOG_COUNT (2U)
  17891. /*! @name CLOCK_GROUP_STATUS0 - Clock group working status */
  17892. /*! @{ */
  17893. #define CCM_CLOCK_GROUP_STATUS0_DIV0_MASK (0xFU)
  17894. #define CCM_CLOCK_GROUP_STATUS0_DIV0_SHIFT (0U)
  17895. /*! DIV0 - Clock divider
  17896. */
  17897. #define CCM_CLOCK_GROUP_STATUS0_DIV0(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_STATUS0_DIV0_SHIFT)) & CCM_CLOCK_GROUP_STATUS0_DIV0_MASK)
  17898. #define CCM_CLOCK_GROUP_STATUS0_RSTDIV_MASK (0xFF0000U)
  17899. #define CCM_CLOCK_GROUP_STATUS0_RSTDIV_SHIFT (16U)
  17900. /*! RSTDIV - Clock divider
  17901. */
  17902. #define CCM_CLOCK_GROUP_STATUS0_RSTDIV(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_STATUS0_RSTDIV_SHIFT)) & CCM_CLOCK_GROUP_STATUS0_RSTDIV_MASK)
  17903. #define CCM_CLOCK_GROUP_STATUS0_OFF_MASK (0x1000000U)
  17904. #define CCM_CLOCK_GROUP_STATUS0_OFF_SHIFT (24U)
  17905. /*! OFF - OFF
  17906. * 0b0..Clock is running.
  17907. * 0b1..Turn off clock.
  17908. */
  17909. #define CCM_CLOCK_GROUP_STATUS0_OFF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_STATUS0_OFF_SHIFT)) & CCM_CLOCK_GROUP_STATUS0_OFF_MASK)
  17910. #define CCM_CLOCK_GROUP_STATUS0_POWERDOWN_MASK (0x8000000U)
  17911. #define CCM_CLOCK_GROUP_STATUS0_POWERDOWN_SHIFT (27U)
  17912. /*! POWERDOWN - Current clock root POWERDOWN setting
  17913. * 0b1..Clock root is Powered Down
  17914. * 0b0..Clock root is running
  17915. */
  17916. #define CCM_CLOCK_GROUP_STATUS0_POWERDOWN(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_STATUS0_POWERDOWN_SHIFT)) & CCM_CLOCK_GROUP_STATUS0_POWERDOWN_MASK)
  17917. #define CCM_CLOCK_GROUP_STATUS0_SLICE_BUSY_MASK (0x10000000U)
  17918. #define CCM_CLOCK_GROUP_STATUS0_SLICE_BUSY_SHIFT (28U)
  17919. /*! SLICE_BUSY - Internal updating in generation logic
  17920. * 0b1..Clock generation logic is applying the new setting
  17921. * 0b0..Clock generation logic is not busy
  17922. */
  17923. #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)
  17924. #define CCM_CLOCK_GROUP_STATUS0_UPDATE_FORWARD_MASK (0x20000000U)
  17925. #define CCM_CLOCK_GROUP_STATUS0_UPDATE_FORWARD_SHIFT (29U)
  17926. /*! UPDATE_FORWARD - Internal status synchronization to clock generation logic
  17927. * 0b1..Synchronization in process
  17928. * 0b0..Synchronization not in process
  17929. */
  17930. #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)
  17931. #define CCM_CLOCK_GROUP_STATUS0_UPDATE_REVERSE_MASK (0x40000000U)
  17932. #define CCM_CLOCK_GROUP_STATUS0_UPDATE_REVERSE_SHIFT (30U)
  17933. /*! UPDATE_REVERSE - Internal status synchronization from clock generation logic
  17934. * 0b1..Synchronization in process
  17935. * 0b0..Synchronization not in process
  17936. */
  17937. #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)
  17938. #define CCM_CLOCK_GROUP_STATUS0_CHANGING_MASK (0x80000000U)
  17939. #define CCM_CLOCK_GROUP_STATUS0_CHANGING_SHIFT (31U)
  17940. /*! CHANGING - Internal updating in clock group
  17941. * 0b1..Clock root logic is updating currently
  17942. * 0b0..Clock root is not updating currently
  17943. */
  17944. #define CCM_CLOCK_GROUP_STATUS0_CHANGING(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_STATUS0_CHANGING_SHIFT)) & CCM_CLOCK_GROUP_STATUS0_CHANGING_MASK)
  17945. /*! @} */
  17946. /* The count of CCM_CLOCK_GROUP_STATUS0 */
  17947. #define CCM_CLOCK_GROUP_STATUS0_COUNT (2U)
  17948. /*! @name CLOCK_GROUP_STATUS1 - Clock group low power/extend status */
  17949. /*! @{ */
  17950. #define CCM_CLOCK_GROUP_STATUS1_TARGET_SETPOINT_MASK (0xF0000U)
  17951. #define CCM_CLOCK_GROUP_STATUS1_TARGET_SETPOINT_SHIFT (16U)
  17952. /*! TARGET_SETPOINT - Next Setpoint to change to
  17953. */
  17954. #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)
  17955. #define CCM_CLOCK_GROUP_STATUS1_CURRENT_SETPOINT_MASK (0xF00000U)
  17956. #define CCM_CLOCK_GROUP_STATUS1_CURRENT_SETPOINT_SHIFT (20U)
  17957. /*! CURRENT_SETPOINT - Current Setpoint
  17958. */
  17959. #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)
  17960. #define CCM_CLOCK_GROUP_STATUS1_DOWN_REQUEST_MASK (0x1000000U)
  17961. #define CCM_CLOCK_GROUP_STATUS1_DOWN_REQUEST_SHIFT (24U)
  17962. /*! DOWN_REQUEST - Clock frequency decrease request
  17963. * 0b1..Handshake signal with GPC status indicating frequency decrease is requested
  17964. * 0b0..No handshake signal is not requested
  17965. */
  17966. #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)
  17967. #define CCM_CLOCK_GROUP_STATUS1_DOWN_DONE_MASK (0x2000000U)
  17968. #define CCM_CLOCK_GROUP_STATUS1_DOWN_DONE_SHIFT (25U)
  17969. /*! DOWN_DONE - Clock frequency decrease complete
  17970. * 0b1..Handshake signal with GPC status indicating frequency decrease is complete
  17971. * 0b0..Handshake signal with GPC status indicating frequency decrease is not complete
  17972. */
  17973. #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)
  17974. #define CCM_CLOCK_GROUP_STATUS1_UP_REQUEST_MASK (0x4000000U)
  17975. #define CCM_CLOCK_GROUP_STATUS1_UP_REQUEST_SHIFT (26U)
  17976. /*! UP_REQUEST - Clock frequency increase request
  17977. * 0b1..Handshake signal with GPC status indicating frequency increase is requested
  17978. * 0b0..No handshake signal is not requested
  17979. */
  17980. #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)
  17981. #define CCM_CLOCK_GROUP_STATUS1_UP_DONE_MASK (0x8000000U)
  17982. #define CCM_CLOCK_GROUP_STATUS1_UP_DONE_SHIFT (27U)
  17983. /*! UP_DONE - Clock frequency increase complete
  17984. * 0b1..Handshake signal with GPC status indicating frequency increase is complete
  17985. * 0b0..Handshake signal with GPC status indicating frequency increase is not complete
  17986. */
  17987. #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)
  17988. /*! @} */
  17989. /* The count of CCM_CLOCK_GROUP_STATUS1 */
  17990. #define CCM_CLOCK_GROUP_STATUS1_COUNT (2U)
  17991. /*! @name CLOCK_GROUP_CONFIG - Clock group configuration */
  17992. /*! @{ */
  17993. #define CCM_CLOCK_GROUP_CONFIG_SETPOINT_PRESENT_MASK (0x10U)
  17994. #define CCM_CLOCK_GROUP_CONFIG_SETPOINT_PRESENT_SHIFT (4U)
  17995. /*! SETPOINT_PRESENT - Setpoint present
  17996. * 0b1..Setpoint is implemented.
  17997. * 0b0..Setpoint is not implemented.
  17998. */
  17999. #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)
  18000. /*! @} */
  18001. /* The count of CCM_CLOCK_GROUP_CONFIG */
  18002. #define CCM_CLOCK_GROUP_CONFIG_COUNT (2U)
  18003. /*! @name CLOCK_GROUP_AUTHEN - Clock group access control */
  18004. /*! @{ */
  18005. #define CCM_CLOCK_GROUP_AUTHEN_TZ_USER_MASK (0x1U)
  18006. #define CCM_CLOCK_GROUP_AUTHEN_TZ_USER_SHIFT (0U)
  18007. /*! TZ_USER - User access
  18008. * 0b1..Clock can be changed in user mode.
  18009. * 0b0..Clock cannot be changed in user mode.
  18010. */
  18011. #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)
  18012. #define CCM_CLOCK_GROUP_AUTHEN_TZ_NS_MASK (0x2U)
  18013. #define CCM_CLOCK_GROUP_AUTHEN_TZ_NS_SHIFT (1U)
  18014. /*! TZ_NS - Non-secure access
  18015. * 0b0..Cannot be changed in Non-secure mode.
  18016. * 0b1..Can be changed in Non-secure mode.
  18017. */
  18018. #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)
  18019. #define CCM_CLOCK_GROUP_AUTHEN_LOCK_TZ_MASK (0x10U)
  18020. #define CCM_CLOCK_GROUP_AUTHEN_LOCK_TZ_SHIFT (4U)
  18021. /*! LOCK_TZ - Lock truszone setting
  18022. * 0b0..Trustzone setting is not locked.
  18023. * 0b1..Trustzone setting is locked.
  18024. */
  18025. #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)
  18026. #define CCM_CLOCK_GROUP_AUTHEN_WHITE_LIST_MASK (0xF00U)
  18027. #define CCM_CLOCK_GROUP_AUTHEN_WHITE_LIST_SHIFT (8U)
  18028. /*! WHITE_LIST - Whitelist
  18029. */
  18030. #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)
  18031. #define CCM_CLOCK_GROUP_AUTHEN_LOCK_LIST_MASK (0x1000U)
  18032. #define CCM_CLOCK_GROUP_AUTHEN_LOCK_LIST_SHIFT (12U)
  18033. /*! LOCK_LIST - Lock Whitelist
  18034. * 0b0..Whitelist is not locked.
  18035. * 0b1..Whitelist is locked.
  18036. */
  18037. #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)
  18038. #define CCM_CLOCK_GROUP_AUTHEN_DOMAIN_MODE_MASK (0x10000U)
  18039. #define CCM_CLOCK_GROUP_AUTHEN_DOMAIN_MODE_SHIFT (16U)
  18040. /*! DOMAIN_MODE - Low power and access control by domain
  18041. * 0b1..Clock works in Domain Mode.
  18042. * 0b0..Clock does not work in Domain Mode.
  18043. */
  18044. #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)
  18045. #define CCM_CLOCK_GROUP_AUTHEN_SETPOINT_MODE_MASK (0x20000U)
  18046. #define CCM_CLOCK_GROUP_AUTHEN_SETPOINT_MODE_SHIFT (17U)
  18047. /*! SETPOINT_MODE - Low power and access control by Setpoint
  18048. */
  18049. #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)
  18050. #define CCM_CLOCK_GROUP_AUTHEN_LOCK_MODE_MASK (0x100000U)
  18051. #define CCM_CLOCK_GROUP_AUTHEN_LOCK_MODE_SHIFT (20U)
  18052. /*! LOCK_MODE - Lock low power and access mode
  18053. * 0b0..MODE is not locked.
  18054. * 0b1..MODE is locked.
  18055. */
  18056. #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)
  18057. /*! @} */
  18058. /* The count of CCM_CLOCK_GROUP_AUTHEN */
  18059. #define CCM_CLOCK_GROUP_AUTHEN_COUNT (2U)
  18060. /*! @name CLOCK_GROUP_AUTHEN_SET - Clock group access control */
  18061. /*! @{ */
  18062. #define CCM_CLOCK_GROUP_AUTHEN_SET_TZ_USER_MASK (0x1U)
  18063. #define CCM_CLOCK_GROUP_AUTHEN_SET_TZ_USER_SHIFT (0U)
  18064. /*! TZ_USER - User access
  18065. */
  18066. #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)
  18067. #define CCM_CLOCK_GROUP_AUTHEN_SET_TZ_NS_MASK (0x2U)
  18068. #define CCM_CLOCK_GROUP_AUTHEN_SET_TZ_NS_SHIFT (1U)
  18069. /*! TZ_NS - Non-secure access
  18070. */
  18071. #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)
  18072. #define CCM_CLOCK_GROUP_AUTHEN_SET_LOCK_TZ_MASK (0x10U)
  18073. #define CCM_CLOCK_GROUP_AUTHEN_SET_LOCK_TZ_SHIFT (4U)
  18074. /*! LOCK_TZ - Lock truszone setting
  18075. */
  18076. #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)
  18077. #define CCM_CLOCK_GROUP_AUTHEN_SET_WHITE_LIST_MASK (0xF00U)
  18078. #define CCM_CLOCK_GROUP_AUTHEN_SET_WHITE_LIST_SHIFT (8U)
  18079. /*! WHITE_LIST - Whitelist
  18080. */
  18081. #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)
  18082. #define CCM_CLOCK_GROUP_AUTHEN_SET_LOCK_LIST_MASK (0x1000U)
  18083. #define CCM_CLOCK_GROUP_AUTHEN_SET_LOCK_LIST_SHIFT (12U)
  18084. /*! LOCK_LIST - Lock Whitelist
  18085. */
  18086. #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)
  18087. #define CCM_CLOCK_GROUP_AUTHEN_SET_DOMAIN_MODE_MASK (0x10000U)
  18088. #define CCM_CLOCK_GROUP_AUTHEN_SET_DOMAIN_MODE_SHIFT (16U)
  18089. /*! DOMAIN_MODE - Low power and access control by domain
  18090. */
  18091. #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)
  18092. #define CCM_CLOCK_GROUP_AUTHEN_SET_SETPOINT_MODE_MASK (0x20000U)
  18093. #define CCM_CLOCK_GROUP_AUTHEN_SET_SETPOINT_MODE_SHIFT (17U)
  18094. /*! SETPOINT_MODE - Low power and access control by Setpoint
  18095. */
  18096. #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)
  18097. #define CCM_CLOCK_GROUP_AUTHEN_SET_LOCK_MODE_MASK (0x100000U)
  18098. #define CCM_CLOCK_GROUP_AUTHEN_SET_LOCK_MODE_SHIFT (20U)
  18099. /*! LOCK_MODE - Lock low power and access mode
  18100. */
  18101. #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)
  18102. /*! @} */
  18103. /* The count of CCM_CLOCK_GROUP_AUTHEN_SET */
  18104. #define CCM_CLOCK_GROUP_AUTHEN_SET_COUNT (2U)
  18105. /*! @name CLOCK_GROUP_AUTHEN_CLR - Clock group access control */
  18106. /*! @{ */
  18107. #define CCM_CLOCK_GROUP_AUTHEN_CLR_TZ_USER_MASK (0x1U)
  18108. #define CCM_CLOCK_GROUP_AUTHEN_CLR_TZ_USER_SHIFT (0U)
  18109. /*! TZ_USER - User access
  18110. */
  18111. #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)
  18112. #define CCM_CLOCK_GROUP_AUTHEN_CLR_TZ_NS_MASK (0x2U)
  18113. #define CCM_CLOCK_GROUP_AUTHEN_CLR_TZ_NS_SHIFT (1U)
  18114. /*! TZ_NS - Non-secure access
  18115. */
  18116. #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)
  18117. #define CCM_CLOCK_GROUP_AUTHEN_CLR_LOCK_TZ_MASK (0x10U)
  18118. #define CCM_CLOCK_GROUP_AUTHEN_CLR_LOCK_TZ_SHIFT (4U)
  18119. /*! LOCK_TZ - Lock truszone setting
  18120. */
  18121. #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)
  18122. #define CCM_CLOCK_GROUP_AUTHEN_CLR_WHITE_LIST_MASK (0xF00U)
  18123. #define CCM_CLOCK_GROUP_AUTHEN_CLR_WHITE_LIST_SHIFT (8U)
  18124. /*! WHITE_LIST - Whitelist
  18125. */
  18126. #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)
  18127. #define CCM_CLOCK_GROUP_AUTHEN_CLR_LOCK_LIST_MASK (0x1000U)
  18128. #define CCM_CLOCK_GROUP_AUTHEN_CLR_LOCK_LIST_SHIFT (12U)
  18129. /*! LOCK_LIST - Lock Whitelist
  18130. */
  18131. #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)
  18132. #define CCM_CLOCK_GROUP_AUTHEN_CLR_DOMAIN_MODE_MASK (0x10000U)
  18133. #define CCM_CLOCK_GROUP_AUTHEN_CLR_DOMAIN_MODE_SHIFT (16U)
  18134. /*! DOMAIN_MODE - Low power and access control by domain
  18135. */
  18136. #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)
  18137. #define CCM_CLOCK_GROUP_AUTHEN_CLR_SETPOINT_MODE_MASK (0x20000U)
  18138. #define CCM_CLOCK_GROUP_AUTHEN_CLR_SETPOINT_MODE_SHIFT (17U)
  18139. /*! SETPOINT_MODE - Low power and access control by Setpoint
  18140. */
  18141. #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)
  18142. #define CCM_CLOCK_GROUP_AUTHEN_CLR_LOCK_MODE_MASK (0x100000U)
  18143. #define CCM_CLOCK_GROUP_AUTHEN_CLR_LOCK_MODE_SHIFT (20U)
  18144. /*! LOCK_MODE - Lock low power and access mode
  18145. */
  18146. #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)
  18147. /*! @} */
  18148. /* The count of CCM_CLOCK_GROUP_AUTHEN_CLR */
  18149. #define CCM_CLOCK_GROUP_AUTHEN_CLR_COUNT (2U)
  18150. /*! @name CLOCK_GROUP_AUTHEN_TOG - Clock group access control */
  18151. /*! @{ */
  18152. #define CCM_CLOCK_GROUP_AUTHEN_TOG_TZ_USER_MASK (0x1U)
  18153. #define CCM_CLOCK_GROUP_AUTHEN_TOG_TZ_USER_SHIFT (0U)
  18154. /*! TZ_USER - User access
  18155. */
  18156. #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)
  18157. #define CCM_CLOCK_GROUP_AUTHEN_TOG_TZ_NS_MASK (0x2U)
  18158. #define CCM_CLOCK_GROUP_AUTHEN_TOG_TZ_NS_SHIFT (1U)
  18159. /*! TZ_NS - Non-secure access
  18160. */
  18161. #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)
  18162. #define CCM_CLOCK_GROUP_AUTHEN_TOG_LOCK_TZ_MASK (0x10U)
  18163. #define CCM_CLOCK_GROUP_AUTHEN_TOG_LOCK_TZ_SHIFT (4U)
  18164. /*! LOCK_TZ - Lock truszone setting
  18165. */
  18166. #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)
  18167. #define CCM_CLOCK_GROUP_AUTHEN_TOG_WHITE_LIST_MASK (0xF00U)
  18168. #define CCM_CLOCK_GROUP_AUTHEN_TOG_WHITE_LIST_SHIFT (8U)
  18169. /*! WHITE_LIST - Whitelist
  18170. */
  18171. #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)
  18172. #define CCM_CLOCK_GROUP_AUTHEN_TOG_LOCK_LIST_MASK (0x1000U)
  18173. #define CCM_CLOCK_GROUP_AUTHEN_TOG_LOCK_LIST_SHIFT (12U)
  18174. /*! LOCK_LIST - Lock Whitelist
  18175. */
  18176. #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)
  18177. #define CCM_CLOCK_GROUP_AUTHEN_TOG_DOMAIN_MODE_MASK (0x10000U)
  18178. #define CCM_CLOCK_GROUP_AUTHEN_TOG_DOMAIN_MODE_SHIFT (16U)
  18179. /*! DOMAIN_MODE - Low power and access control by domain
  18180. */
  18181. #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)
  18182. #define CCM_CLOCK_GROUP_AUTHEN_TOG_SETPOINT_MODE_MASK (0x20000U)
  18183. #define CCM_CLOCK_GROUP_AUTHEN_TOG_SETPOINT_MODE_SHIFT (17U)
  18184. /*! SETPOINT_MODE - Low power and access control by Setpoint
  18185. */
  18186. #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)
  18187. #define CCM_CLOCK_GROUP_AUTHEN_TOG_LOCK_MODE_MASK (0x100000U)
  18188. #define CCM_CLOCK_GROUP_AUTHEN_TOG_LOCK_MODE_SHIFT (20U)
  18189. /*! LOCK_MODE - Lock low power and access mode
  18190. */
  18191. #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)
  18192. /*! @} */
  18193. /* The count of CCM_CLOCK_GROUP_AUTHEN_TOG */
  18194. #define CCM_CLOCK_GROUP_AUTHEN_TOG_COUNT (2U)
  18195. /*! @name CLOCK_GROUP_CLOCK_GROUP_SETPOINT_SETPOINT - Setpoint setting */
  18196. /*! @{ */
  18197. #define CCM_CLOCK_GROUP_CLOCK_GROUP_SETPOINT_SETPOINT_DIV0_MASK (0xFU)
  18198. #define CCM_CLOCK_GROUP_CLOCK_GROUP_SETPOINT_SETPOINT_DIV0_SHIFT (0U)
  18199. /*! DIV0 - Clock divider
  18200. * 0b0000..Direct output.
  18201. * 0b0001..Divide by 2.
  18202. * 0b0010..Divide by 3.
  18203. * 0b0011..Divide by 4.
  18204. * 0b1111..Divide by 16.
  18205. */
  18206. #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)
  18207. #define CCM_CLOCK_GROUP_CLOCK_GROUP_SETPOINT_SETPOINT_RSTDIV_MASK (0xFF0000U)
  18208. #define CCM_CLOCK_GROUP_CLOCK_GROUP_SETPOINT_SETPOINT_RSTDIV_SHIFT (16U)
  18209. /*! RSTDIV - Clock group global restart count
  18210. */
  18211. #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)
  18212. #define CCM_CLOCK_GROUP_CLOCK_GROUP_SETPOINT_SETPOINT_OFF_MASK (0x1000000U)
  18213. #define CCM_CLOCK_GROUP_CLOCK_GROUP_SETPOINT_SETPOINT_OFF_SHIFT (24U)
  18214. /*! OFF - OFF
  18215. * 0b0..Clock is running.
  18216. * 0b1..Turn off clock.
  18217. */
  18218. #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)
  18219. #define CCM_CLOCK_GROUP_CLOCK_GROUP_SETPOINT_SETPOINT_GRADE_MASK (0xF0000000U)
  18220. #define CCM_CLOCK_GROUP_CLOCK_GROUP_SETPOINT_SETPOINT_GRADE_SHIFT (28U)
  18221. /*! GRADE - Grade
  18222. */
  18223. #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)
  18224. /*! @} */
  18225. /* The count of CCM_CLOCK_GROUP_CLOCK_GROUP_SETPOINT_SETPOINT */
  18226. #define CCM_CLOCK_GROUP_CLOCK_GROUP_SETPOINT_SETPOINT_COUNT (2U)
  18227. /* The count of CCM_CLOCK_GROUP_CLOCK_GROUP_SETPOINT_SETPOINT */
  18228. #define CCM_CLOCK_GROUP_CLOCK_GROUP_SETPOINT_SETPOINT_COUNT2 (16U)
  18229. /*! @name GPR_SHARED - General Purpose Register */
  18230. /*! @{ */
  18231. #define CCM_GPR_SHARED_GPR_MASK (0xFFFFFFFFU)
  18232. #define CCM_GPR_SHARED_GPR_SHIFT (0U)
  18233. /*! GPR - GP register
  18234. */
  18235. #define CCM_GPR_SHARED_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED_GPR_SHIFT)) & CCM_GPR_SHARED_GPR_MASK)
  18236. /*! @} */
  18237. /* The count of CCM_GPR_SHARED */
  18238. #define CCM_GPR_SHARED_COUNT (8U)
  18239. /*! @name GPR_SHARED_SET - General Purpose Register */
  18240. /*! @{ */
  18241. #define CCM_GPR_SHARED_SET_GPR_MASK (0xFFFFFFFFU)
  18242. #define CCM_GPR_SHARED_SET_GPR_SHIFT (0U)
  18243. /*! GPR - GP register
  18244. */
  18245. #define CCM_GPR_SHARED_SET_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED_SET_GPR_SHIFT)) & CCM_GPR_SHARED_SET_GPR_MASK)
  18246. /*! @} */
  18247. /* The count of CCM_GPR_SHARED_SET */
  18248. #define CCM_GPR_SHARED_SET_COUNT (8U)
  18249. /*! @name GPR_SHARED_CLR - General Purpose Register */
  18250. /*! @{ */
  18251. #define CCM_GPR_SHARED_CLR_GPR_MASK (0xFFFFFFFFU)
  18252. #define CCM_GPR_SHARED_CLR_GPR_SHIFT (0U)
  18253. /*! GPR - GP register
  18254. */
  18255. #define CCM_GPR_SHARED_CLR_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED_CLR_GPR_SHIFT)) & CCM_GPR_SHARED_CLR_GPR_MASK)
  18256. /*! @} */
  18257. /* The count of CCM_GPR_SHARED_CLR */
  18258. #define CCM_GPR_SHARED_CLR_COUNT (8U)
  18259. /*! @name GPR_SHARED_TOG - General Purpose Register */
  18260. /*! @{ */
  18261. #define CCM_GPR_SHARED_TOG_GPR_MASK (0xFFFFFFFFU)
  18262. #define CCM_GPR_SHARED_TOG_GPR_SHIFT (0U)
  18263. /*! GPR - GP register
  18264. */
  18265. #define CCM_GPR_SHARED_TOG_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED_TOG_GPR_SHIFT)) & CCM_GPR_SHARED_TOG_GPR_MASK)
  18266. /*! @} */
  18267. /* The count of CCM_GPR_SHARED_TOG */
  18268. #define CCM_GPR_SHARED_TOG_COUNT (8U)
  18269. /*! @name GPR_SHARED_AUTHEN - GPR access control */
  18270. /*! @{ */
  18271. #define CCM_GPR_SHARED_AUTHEN_TZ_USER_MASK (0x1U)
  18272. #define CCM_GPR_SHARED_AUTHEN_TZ_USER_SHIFT (0U)
  18273. /*! TZ_USER - User access
  18274. * 0b1..Clock can be changed in user mode.
  18275. * 0b0..Clock cannot be changed in user mode.
  18276. */
  18277. #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)
  18278. #define CCM_GPR_SHARED_AUTHEN_TZ_NS_MASK (0x2U)
  18279. #define CCM_GPR_SHARED_AUTHEN_TZ_NS_SHIFT (1U)
  18280. /*! TZ_NS - Non-secure access
  18281. * 0b0..Cannot be changed in Non-secure mode.
  18282. * 0b1..Can be changed in Non-secure mode.
  18283. */
  18284. #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)
  18285. #define CCM_GPR_SHARED_AUTHEN_LOCK_TZ_MASK (0x10U)
  18286. #define CCM_GPR_SHARED_AUTHEN_LOCK_TZ_SHIFT (4U)
  18287. /*! LOCK_TZ - Lock truszone setting
  18288. * 0b0..Trustzone setting is not locked.
  18289. * 0b1..Trustzone setting is locked.
  18290. */
  18291. #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)
  18292. #define CCM_GPR_SHARED_AUTHEN_WHITE_LIST_MASK (0xF00U)
  18293. #define CCM_GPR_SHARED_AUTHEN_WHITE_LIST_SHIFT (8U)
  18294. /*! WHITE_LIST - Whitelist
  18295. * 0b0000..This domain is NOT allowed to change clock.
  18296. * 0b0001..This domain is allowed to change clock.
  18297. */
  18298. #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)
  18299. #define CCM_GPR_SHARED_AUTHEN_LOCK_LIST_MASK (0x1000U)
  18300. #define CCM_GPR_SHARED_AUTHEN_LOCK_LIST_SHIFT (12U)
  18301. /*! LOCK_LIST - Lock Whitelist
  18302. * 0b0..Whitelist is not locked.
  18303. * 0b1..Whitelist is locked.
  18304. */
  18305. #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)
  18306. #define CCM_GPR_SHARED_AUTHEN_DOMAIN_MODE_MASK (0x10000U)
  18307. #define CCM_GPR_SHARED_AUTHEN_DOMAIN_MODE_SHIFT (16U)
  18308. /*! DOMAIN_MODE - Low power and access control by domain
  18309. * 0b1..Clock works in Domain Mode.
  18310. * 0b0..Clock does NOT work in Domain Mode.
  18311. */
  18312. #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)
  18313. #define CCM_GPR_SHARED_AUTHEN_LOCK_MODE_MASK (0x100000U)
  18314. #define CCM_GPR_SHARED_AUTHEN_LOCK_MODE_SHIFT (20U)
  18315. /*! LOCK_MODE - Lock low power and access mode
  18316. * 0b0..MODE is not locked.
  18317. * 0b1..MODE is locked.
  18318. */
  18319. #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)
  18320. /*! @} */
  18321. /* The count of CCM_GPR_SHARED_AUTHEN */
  18322. #define CCM_GPR_SHARED_AUTHEN_COUNT (8U)
  18323. /*! @name GPR_SHARED_AUTHEN_SET - GPR access control */
  18324. /*! @{ */
  18325. #define CCM_GPR_SHARED_AUTHEN_SET_TZ_USER_MASK (0x1U)
  18326. #define CCM_GPR_SHARED_AUTHEN_SET_TZ_USER_SHIFT (0U)
  18327. /*! TZ_USER - User access
  18328. */
  18329. #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)
  18330. #define CCM_GPR_SHARED_AUTHEN_SET_TZ_NS_MASK (0x2U)
  18331. #define CCM_GPR_SHARED_AUTHEN_SET_TZ_NS_SHIFT (1U)
  18332. /*! TZ_NS - Non-secure access
  18333. */
  18334. #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)
  18335. #define CCM_GPR_SHARED_AUTHEN_SET_LOCK_TZ_MASK (0x10U)
  18336. #define CCM_GPR_SHARED_AUTHEN_SET_LOCK_TZ_SHIFT (4U)
  18337. /*! LOCK_TZ - Lock truszone setting
  18338. */
  18339. #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)
  18340. #define CCM_GPR_SHARED_AUTHEN_SET_WHITE_LIST_MASK (0xF00U)
  18341. #define CCM_GPR_SHARED_AUTHEN_SET_WHITE_LIST_SHIFT (8U)
  18342. /*! WHITE_LIST - Whitelist
  18343. */
  18344. #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)
  18345. #define CCM_GPR_SHARED_AUTHEN_SET_LOCK_LIST_MASK (0x1000U)
  18346. #define CCM_GPR_SHARED_AUTHEN_SET_LOCK_LIST_SHIFT (12U)
  18347. /*! LOCK_LIST - Lock Whitelist
  18348. */
  18349. #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)
  18350. #define CCM_GPR_SHARED_AUTHEN_SET_DOMAIN_MODE_MASK (0x10000U)
  18351. #define CCM_GPR_SHARED_AUTHEN_SET_DOMAIN_MODE_SHIFT (16U)
  18352. /*! DOMAIN_MODE - Low power and access control by domain
  18353. */
  18354. #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)
  18355. #define CCM_GPR_SHARED_AUTHEN_SET_LOCK_MODE_MASK (0x100000U)
  18356. #define CCM_GPR_SHARED_AUTHEN_SET_LOCK_MODE_SHIFT (20U)
  18357. /*! LOCK_MODE - Lock low power and access mode
  18358. */
  18359. #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)
  18360. /*! @} */
  18361. /* The count of CCM_GPR_SHARED_AUTHEN_SET */
  18362. #define CCM_GPR_SHARED_AUTHEN_SET_COUNT (8U)
  18363. /*! @name GPR_SHARED_AUTHEN_CLR - GPR access control */
  18364. /*! @{ */
  18365. #define CCM_GPR_SHARED_AUTHEN_CLR_TZ_USER_MASK (0x1U)
  18366. #define CCM_GPR_SHARED_AUTHEN_CLR_TZ_USER_SHIFT (0U)
  18367. /*! TZ_USER - User access
  18368. */
  18369. #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)
  18370. #define CCM_GPR_SHARED_AUTHEN_CLR_TZ_NS_MASK (0x2U)
  18371. #define CCM_GPR_SHARED_AUTHEN_CLR_TZ_NS_SHIFT (1U)
  18372. /*! TZ_NS - Non-secure access
  18373. */
  18374. #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)
  18375. #define CCM_GPR_SHARED_AUTHEN_CLR_LOCK_TZ_MASK (0x10U)
  18376. #define CCM_GPR_SHARED_AUTHEN_CLR_LOCK_TZ_SHIFT (4U)
  18377. /*! LOCK_TZ - Lock truszone setting
  18378. */
  18379. #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)
  18380. #define CCM_GPR_SHARED_AUTHEN_CLR_WHITE_LIST_MASK (0xF00U)
  18381. #define CCM_GPR_SHARED_AUTHEN_CLR_WHITE_LIST_SHIFT (8U)
  18382. /*! WHITE_LIST - Whitelist
  18383. */
  18384. #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)
  18385. #define CCM_GPR_SHARED_AUTHEN_CLR_LOCK_LIST_MASK (0x1000U)
  18386. #define CCM_GPR_SHARED_AUTHEN_CLR_LOCK_LIST_SHIFT (12U)
  18387. /*! LOCK_LIST - Lock Whitelist
  18388. */
  18389. #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)
  18390. #define CCM_GPR_SHARED_AUTHEN_CLR_DOMAIN_MODE_MASK (0x10000U)
  18391. #define CCM_GPR_SHARED_AUTHEN_CLR_DOMAIN_MODE_SHIFT (16U)
  18392. /*! DOMAIN_MODE - Low power and access control by domain
  18393. */
  18394. #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)
  18395. #define CCM_GPR_SHARED_AUTHEN_CLR_LOCK_MODE_MASK (0x100000U)
  18396. #define CCM_GPR_SHARED_AUTHEN_CLR_LOCK_MODE_SHIFT (20U)
  18397. /*! LOCK_MODE - Lock low power and access mode
  18398. */
  18399. #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)
  18400. /*! @} */
  18401. /* The count of CCM_GPR_SHARED_AUTHEN_CLR */
  18402. #define CCM_GPR_SHARED_AUTHEN_CLR_COUNT (8U)
  18403. /*! @name GPR_SHARED_AUTHEN_TOG - GPR access control */
  18404. /*! @{ */
  18405. #define CCM_GPR_SHARED_AUTHEN_TOG_TZ_USER_MASK (0x1U)
  18406. #define CCM_GPR_SHARED_AUTHEN_TOG_TZ_USER_SHIFT (0U)
  18407. /*! TZ_USER - User access
  18408. */
  18409. #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)
  18410. #define CCM_GPR_SHARED_AUTHEN_TOG_TZ_NS_MASK (0x2U)
  18411. #define CCM_GPR_SHARED_AUTHEN_TOG_TZ_NS_SHIFT (1U)
  18412. /*! TZ_NS - Non-secure access
  18413. */
  18414. #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)
  18415. #define CCM_GPR_SHARED_AUTHEN_TOG_LOCK_TZ_MASK (0x10U)
  18416. #define CCM_GPR_SHARED_AUTHEN_TOG_LOCK_TZ_SHIFT (4U)
  18417. /*! LOCK_TZ - Lock truszone setting
  18418. */
  18419. #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)
  18420. #define CCM_GPR_SHARED_AUTHEN_TOG_WHITE_LIST_MASK (0xF00U)
  18421. #define CCM_GPR_SHARED_AUTHEN_TOG_WHITE_LIST_SHIFT (8U)
  18422. /*! WHITE_LIST - Whitelist
  18423. */
  18424. #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)
  18425. #define CCM_GPR_SHARED_AUTHEN_TOG_LOCK_LIST_MASK (0x1000U)
  18426. #define CCM_GPR_SHARED_AUTHEN_TOG_LOCK_LIST_SHIFT (12U)
  18427. /*! LOCK_LIST - Lock Whitelist
  18428. */
  18429. #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)
  18430. #define CCM_GPR_SHARED_AUTHEN_TOG_DOMAIN_MODE_MASK (0x10000U)
  18431. #define CCM_GPR_SHARED_AUTHEN_TOG_DOMAIN_MODE_SHIFT (16U)
  18432. /*! DOMAIN_MODE - Low power and access control by domain
  18433. */
  18434. #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)
  18435. #define CCM_GPR_SHARED_AUTHEN_TOG_LOCK_MODE_MASK (0x100000U)
  18436. #define CCM_GPR_SHARED_AUTHEN_TOG_LOCK_MODE_SHIFT (20U)
  18437. /*! LOCK_MODE - Lock low power and access mode
  18438. */
  18439. #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)
  18440. /*! @} */
  18441. /* The count of CCM_GPR_SHARED_AUTHEN_TOG */
  18442. #define CCM_GPR_SHARED_AUTHEN_TOG_COUNT (8U)
  18443. /*! @name GPR_PRIVATE1 - General Purpose Register */
  18444. /*! @{ */
  18445. #define CCM_GPR_PRIVATE1_GPR_MASK (0xFFFFFFFFU)
  18446. #define CCM_GPR_PRIVATE1_GPR_SHIFT (0U)
  18447. /*! GPR - GP register
  18448. */
  18449. #define CCM_GPR_PRIVATE1_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE1_GPR_SHIFT)) & CCM_GPR_PRIVATE1_GPR_MASK)
  18450. /*! @} */
  18451. /*! @name GPR_PRIVATE1_SET - General Purpose Register */
  18452. /*! @{ */
  18453. #define CCM_GPR_PRIVATE1_SET_GPR_MASK (0xFFFFFFFFU)
  18454. #define CCM_GPR_PRIVATE1_SET_GPR_SHIFT (0U)
  18455. /*! GPR - GP register
  18456. */
  18457. #define CCM_GPR_PRIVATE1_SET_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE1_SET_GPR_SHIFT)) & CCM_GPR_PRIVATE1_SET_GPR_MASK)
  18458. /*! @} */
  18459. /*! @name GPR_PRIVATE1_CLR - General Purpose Register */
  18460. /*! @{ */
  18461. #define CCM_GPR_PRIVATE1_CLR_GPR_MASK (0xFFFFFFFFU)
  18462. #define CCM_GPR_PRIVATE1_CLR_GPR_SHIFT (0U)
  18463. /*! GPR - GP register
  18464. */
  18465. #define CCM_GPR_PRIVATE1_CLR_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE1_CLR_GPR_SHIFT)) & CCM_GPR_PRIVATE1_CLR_GPR_MASK)
  18466. /*! @} */
  18467. /*! @name GPR_PRIVATE1_TOG - General Purpose Register */
  18468. /*! @{ */
  18469. #define CCM_GPR_PRIVATE1_TOG_GPR_MASK (0xFFFFFFFFU)
  18470. #define CCM_GPR_PRIVATE1_TOG_GPR_SHIFT (0U)
  18471. /*! GPR - GP register
  18472. */
  18473. #define CCM_GPR_PRIVATE1_TOG_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE1_TOG_GPR_SHIFT)) & CCM_GPR_PRIVATE1_TOG_GPR_MASK)
  18474. /*! @} */
  18475. /*! @name GPR_PRIVATE1_AUTHEN - GPR access control */
  18476. /*! @{ */
  18477. #define CCM_GPR_PRIVATE1_AUTHEN_TZ_USER_MASK (0x1U)
  18478. #define CCM_GPR_PRIVATE1_AUTHEN_TZ_USER_SHIFT (0U)
  18479. /*! TZ_USER - User access
  18480. * 0b1..Clock can be changed in user mode.
  18481. * 0b0..Clock cannot be changed in user mode.
  18482. */
  18483. #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)
  18484. #define CCM_GPR_PRIVATE1_AUTHEN_TZ_NS_MASK (0x2U)
  18485. #define CCM_GPR_PRIVATE1_AUTHEN_TZ_NS_SHIFT (1U)
  18486. /*! TZ_NS - Non-secure access
  18487. * 0b0..Cannot be changed in Non-secure mode.
  18488. * 0b1..Can be changed in Non-secure mode.
  18489. */
  18490. #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)
  18491. #define CCM_GPR_PRIVATE1_AUTHEN_LOCK_TZ_MASK (0x10U)
  18492. #define CCM_GPR_PRIVATE1_AUTHEN_LOCK_TZ_SHIFT (4U)
  18493. /*! LOCK_TZ - Lock truszone setting
  18494. * 0b0..Trustzone setting is not locked.
  18495. * 0b1..Trustzone setting is locked.
  18496. */
  18497. #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)
  18498. #define CCM_GPR_PRIVATE1_AUTHEN_WHITE_LIST_MASK (0xF00U)
  18499. #define CCM_GPR_PRIVATE1_AUTHEN_WHITE_LIST_SHIFT (8U)
  18500. /*! WHITE_LIST - Whitelist
  18501. * 0b0000..This domain is NOT allowed to change clock.
  18502. * 0b0001..This domain is allowed to change clock.
  18503. */
  18504. #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)
  18505. #define CCM_GPR_PRIVATE1_AUTHEN_LOCK_LIST_MASK (0x1000U)
  18506. #define CCM_GPR_PRIVATE1_AUTHEN_LOCK_LIST_SHIFT (12U)
  18507. /*! LOCK_LIST - Lock Whitelist
  18508. * 0b0..Whitelist is not locked.
  18509. * 0b1..Whitelist is locked.
  18510. */
  18511. #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)
  18512. #define CCM_GPR_PRIVATE1_AUTHEN_DOMAIN_MODE_MASK (0x10000U)
  18513. #define CCM_GPR_PRIVATE1_AUTHEN_DOMAIN_MODE_SHIFT (16U)
  18514. /*! DOMAIN_MODE - Low power and access control by Domain
  18515. * 0b1..Clock works in Domain Mode.
  18516. * 0b0..Clock does NOT work in Domain Mode.
  18517. */
  18518. #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)
  18519. #define CCM_GPR_PRIVATE1_AUTHEN_LOCK_MODE_MASK (0x100000U)
  18520. #define CCM_GPR_PRIVATE1_AUTHEN_LOCK_MODE_SHIFT (20U)
  18521. /*! LOCK_MODE - Lock low power and access mode
  18522. * 0b0..MODE is not locked.
  18523. * 0b1..MODE is locked.
  18524. */
  18525. #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)
  18526. /*! @} */
  18527. /*! @name GPR_PRIVATE1_AUTHEN_SET - GPR access control */
  18528. /*! @{ */
  18529. #define CCM_GPR_PRIVATE1_AUTHEN_SET_TZ_USER_MASK (0x1U)
  18530. #define CCM_GPR_PRIVATE1_AUTHEN_SET_TZ_USER_SHIFT (0U)
  18531. /*! TZ_USER - User access
  18532. */
  18533. #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)
  18534. #define CCM_GPR_PRIVATE1_AUTHEN_SET_TZ_NS_MASK (0x2U)
  18535. #define CCM_GPR_PRIVATE1_AUTHEN_SET_TZ_NS_SHIFT (1U)
  18536. /*! TZ_NS - Non-secure access
  18537. */
  18538. #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)
  18539. #define CCM_GPR_PRIVATE1_AUTHEN_SET_LOCK_TZ_MASK (0x10U)
  18540. #define CCM_GPR_PRIVATE1_AUTHEN_SET_LOCK_TZ_SHIFT (4U)
  18541. /*! LOCK_TZ - Lock truszone setting
  18542. */
  18543. #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)
  18544. #define CCM_GPR_PRIVATE1_AUTHEN_SET_WHITE_LIST_MASK (0xF00U)
  18545. #define CCM_GPR_PRIVATE1_AUTHEN_SET_WHITE_LIST_SHIFT (8U)
  18546. /*! WHITE_LIST - Whitelist
  18547. */
  18548. #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)
  18549. #define CCM_GPR_PRIVATE1_AUTHEN_SET_LOCK_LIST_MASK (0x1000U)
  18550. #define CCM_GPR_PRIVATE1_AUTHEN_SET_LOCK_LIST_SHIFT (12U)
  18551. /*! LOCK_LIST - Lock Whitelist
  18552. */
  18553. #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)
  18554. #define CCM_GPR_PRIVATE1_AUTHEN_SET_DOMAIN_MODE_MASK (0x10000U)
  18555. #define CCM_GPR_PRIVATE1_AUTHEN_SET_DOMAIN_MODE_SHIFT (16U)
  18556. /*! DOMAIN_MODE - Low power and access control by Domain
  18557. */
  18558. #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)
  18559. #define CCM_GPR_PRIVATE1_AUTHEN_SET_LOCK_MODE_MASK (0x100000U)
  18560. #define CCM_GPR_PRIVATE1_AUTHEN_SET_LOCK_MODE_SHIFT (20U)
  18561. /*! LOCK_MODE - Lock low power and access mode
  18562. */
  18563. #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)
  18564. /*! @} */
  18565. /*! @name GPR_PRIVATE1_AUTHEN_CLR - GPR access control */
  18566. /*! @{ */
  18567. #define CCM_GPR_PRIVATE1_AUTHEN_CLR_TZ_USER_MASK (0x1U)
  18568. #define CCM_GPR_PRIVATE1_AUTHEN_CLR_TZ_USER_SHIFT (0U)
  18569. /*! TZ_USER - User access
  18570. */
  18571. #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)
  18572. #define CCM_GPR_PRIVATE1_AUTHEN_CLR_TZ_NS_MASK (0x2U)
  18573. #define CCM_GPR_PRIVATE1_AUTHEN_CLR_TZ_NS_SHIFT (1U)
  18574. /*! TZ_NS - Non-secure access
  18575. */
  18576. #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)
  18577. #define CCM_GPR_PRIVATE1_AUTHEN_CLR_LOCK_TZ_MASK (0x10U)
  18578. #define CCM_GPR_PRIVATE1_AUTHEN_CLR_LOCK_TZ_SHIFT (4U)
  18579. /*! LOCK_TZ - Lock truszone setting
  18580. */
  18581. #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)
  18582. #define CCM_GPR_PRIVATE1_AUTHEN_CLR_WHITE_LIST_MASK (0xF00U)
  18583. #define CCM_GPR_PRIVATE1_AUTHEN_CLR_WHITE_LIST_SHIFT (8U)
  18584. /*! WHITE_LIST - Whitelist
  18585. */
  18586. #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)
  18587. #define CCM_GPR_PRIVATE1_AUTHEN_CLR_LOCK_LIST_MASK (0x1000U)
  18588. #define CCM_GPR_PRIVATE1_AUTHEN_CLR_LOCK_LIST_SHIFT (12U)
  18589. /*! LOCK_LIST - Lock Whitelist
  18590. */
  18591. #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)
  18592. #define CCM_GPR_PRIVATE1_AUTHEN_CLR_DOMAIN_MODE_MASK (0x10000U)
  18593. #define CCM_GPR_PRIVATE1_AUTHEN_CLR_DOMAIN_MODE_SHIFT (16U)
  18594. /*! DOMAIN_MODE - Low power and access control by Domain
  18595. */
  18596. #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)
  18597. #define CCM_GPR_PRIVATE1_AUTHEN_CLR_LOCK_MODE_MASK (0x100000U)
  18598. #define CCM_GPR_PRIVATE1_AUTHEN_CLR_LOCK_MODE_SHIFT (20U)
  18599. /*! LOCK_MODE - Lock low power and access mode
  18600. */
  18601. #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)
  18602. /*! @} */
  18603. /*! @name GPR_PRIVATE1_AUTHEN_TOG - GPR access control */
  18604. /*! @{ */
  18605. #define CCM_GPR_PRIVATE1_AUTHEN_TOG_TZ_USER_MASK (0x1U)
  18606. #define CCM_GPR_PRIVATE1_AUTHEN_TOG_TZ_USER_SHIFT (0U)
  18607. /*! TZ_USER - User access
  18608. */
  18609. #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)
  18610. #define CCM_GPR_PRIVATE1_AUTHEN_TOG_TZ_NS_MASK (0x2U)
  18611. #define CCM_GPR_PRIVATE1_AUTHEN_TOG_TZ_NS_SHIFT (1U)
  18612. /*! TZ_NS - Non-secure access
  18613. */
  18614. #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)
  18615. #define CCM_GPR_PRIVATE1_AUTHEN_TOG_LOCK_TZ_MASK (0x10U)
  18616. #define CCM_GPR_PRIVATE1_AUTHEN_TOG_LOCK_TZ_SHIFT (4U)
  18617. /*! LOCK_TZ - Lock truszone setting
  18618. */
  18619. #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)
  18620. #define CCM_GPR_PRIVATE1_AUTHEN_TOG_WHITE_LIST_MASK (0xF00U)
  18621. #define CCM_GPR_PRIVATE1_AUTHEN_TOG_WHITE_LIST_SHIFT (8U)
  18622. /*! WHITE_LIST - Whitelist
  18623. */
  18624. #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)
  18625. #define CCM_GPR_PRIVATE1_AUTHEN_TOG_LOCK_LIST_MASK (0x1000U)
  18626. #define CCM_GPR_PRIVATE1_AUTHEN_TOG_LOCK_LIST_SHIFT (12U)
  18627. /*! LOCK_LIST - Lock Whitelist
  18628. */
  18629. #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)
  18630. #define CCM_GPR_PRIVATE1_AUTHEN_TOG_DOMAIN_MODE_MASK (0x10000U)
  18631. #define CCM_GPR_PRIVATE1_AUTHEN_TOG_DOMAIN_MODE_SHIFT (16U)
  18632. /*! DOMAIN_MODE - Low power and access control by Domain
  18633. */
  18634. #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)
  18635. #define CCM_GPR_PRIVATE1_AUTHEN_TOG_LOCK_MODE_MASK (0x100000U)
  18636. #define CCM_GPR_PRIVATE1_AUTHEN_TOG_LOCK_MODE_SHIFT (20U)
  18637. /*! LOCK_MODE - Lock low power and access mode
  18638. */
  18639. #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)
  18640. /*! @} */
  18641. /*! @name GPR_PRIVATE2 - General Purpose Register */
  18642. /*! @{ */
  18643. #define CCM_GPR_PRIVATE2_GPR_MASK (0xFFFFFFFFU)
  18644. #define CCM_GPR_PRIVATE2_GPR_SHIFT (0U)
  18645. /*! GPR - GP register
  18646. */
  18647. #define CCM_GPR_PRIVATE2_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE2_GPR_SHIFT)) & CCM_GPR_PRIVATE2_GPR_MASK)
  18648. /*! @} */
  18649. /*! @name GPR_PRIVATE2_SET - General Purpose Register */
  18650. /*! @{ */
  18651. #define CCM_GPR_PRIVATE2_SET_GPR_MASK (0xFFFFFFFFU)
  18652. #define CCM_GPR_PRIVATE2_SET_GPR_SHIFT (0U)
  18653. /*! GPR - GP register
  18654. */
  18655. #define CCM_GPR_PRIVATE2_SET_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE2_SET_GPR_SHIFT)) & CCM_GPR_PRIVATE2_SET_GPR_MASK)
  18656. /*! @} */
  18657. /*! @name GPR_PRIVATE2_CLR - General Purpose Register */
  18658. /*! @{ */
  18659. #define CCM_GPR_PRIVATE2_CLR_GPR_MASK (0xFFFFFFFFU)
  18660. #define CCM_GPR_PRIVATE2_CLR_GPR_SHIFT (0U)
  18661. /*! GPR - GP register
  18662. */
  18663. #define CCM_GPR_PRIVATE2_CLR_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE2_CLR_GPR_SHIFT)) & CCM_GPR_PRIVATE2_CLR_GPR_MASK)
  18664. /*! @} */
  18665. /*! @name GPR_PRIVATE2_TOG - General Purpose Register */
  18666. /*! @{ */
  18667. #define CCM_GPR_PRIVATE2_TOG_GPR_MASK (0xFFFFFFFFU)
  18668. #define CCM_GPR_PRIVATE2_TOG_GPR_SHIFT (0U)
  18669. /*! GPR - GP register
  18670. */
  18671. #define CCM_GPR_PRIVATE2_TOG_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE2_TOG_GPR_SHIFT)) & CCM_GPR_PRIVATE2_TOG_GPR_MASK)
  18672. /*! @} */
  18673. /*! @name GPR_PRIVATE2_AUTHEN - GPR access control */
  18674. /*! @{ */
  18675. #define CCM_GPR_PRIVATE2_AUTHEN_TZ_USER_MASK (0x1U)
  18676. #define CCM_GPR_PRIVATE2_AUTHEN_TZ_USER_SHIFT (0U)
  18677. /*! TZ_USER - User access
  18678. * 0b1..Clock can be changed in user mode.
  18679. * 0b0..Clock cannot be changed in user mode.
  18680. */
  18681. #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)
  18682. #define CCM_GPR_PRIVATE2_AUTHEN_TZ_NS_MASK (0x2U)
  18683. #define CCM_GPR_PRIVATE2_AUTHEN_TZ_NS_SHIFT (1U)
  18684. /*! TZ_NS - Non-secure access
  18685. * 0b0..Cannot be changed in Non-secure mode.
  18686. * 0b1..Can be changed in Non-secure mode.
  18687. */
  18688. #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)
  18689. #define CCM_GPR_PRIVATE2_AUTHEN_LOCK_TZ_MASK (0x10U)
  18690. #define CCM_GPR_PRIVATE2_AUTHEN_LOCK_TZ_SHIFT (4U)
  18691. /*! LOCK_TZ - Lock truszone setting
  18692. * 0b0..Trustzone setting is not locked.
  18693. * 0b1..Trustzone setting is locked.
  18694. */
  18695. #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)
  18696. #define CCM_GPR_PRIVATE2_AUTHEN_WHITE_LIST_MASK (0xF00U)
  18697. #define CCM_GPR_PRIVATE2_AUTHEN_WHITE_LIST_SHIFT (8U)
  18698. /*! WHITE_LIST - Whitelist
  18699. * 0b0000..This domain is NOT allowed to change clock.
  18700. * 0b0001..This domain is allowed to change clock.
  18701. */
  18702. #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)
  18703. #define CCM_GPR_PRIVATE2_AUTHEN_LOCK_LIST_MASK (0x1000U)
  18704. #define CCM_GPR_PRIVATE2_AUTHEN_LOCK_LIST_SHIFT (12U)
  18705. /*! LOCK_LIST - Lock Whitelist
  18706. * 0b0..Whitelist is not locked.
  18707. * 0b1..Whitelist is locked.
  18708. */
  18709. #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)
  18710. #define CCM_GPR_PRIVATE2_AUTHEN_DOMAIN_MODE_MASK (0x10000U)
  18711. #define CCM_GPR_PRIVATE2_AUTHEN_DOMAIN_MODE_SHIFT (16U)
  18712. /*! DOMAIN_MODE - Low power and access control by Domain
  18713. * 0b1..Clock works in Domain Mode.
  18714. * 0b0..Clock does NOT work in Domain Mode.
  18715. */
  18716. #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)
  18717. #define CCM_GPR_PRIVATE2_AUTHEN_LOCK_MODE_MASK (0x100000U)
  18718. #define CCM_GPR_PRIVATE2_AUTHEN_LOCK_MODE_SHIFT (20U)
  18719. /*! LOCK_MODE - Lock low power and access mode
  18720. * 0b0..MODE is not locked.
  18721. * 0b1..MODE is locked.
  18722. */
  18723. #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)
  18724. /*! @} */
  18725. /*! @name GPR_PRIVATE2_AUTHEN_SET - GPR access control */
  18726. /*! @{ */
  18727. #define CCM_GPR_PRIVATE2_AUTHEN_SET_TZ_USER_MASK (0x1U)
  18728. #define CCM_GPR_PRIVATE2_AUTHEN_SET_TZ_USER_SHIFT (0U)
  18729. /*! TZ_USER - User access
  18730. */
  18731. #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)
  18732. #define CCM_GPR_PRIVATE2_AUTHEN_SET_TZ_NS_MASK (0x2U)
  18733. #define CCM_GPR_PRIVATE2_AUTHEN_SET_TZ_NS_SHIFT (1U)
  18734. /*! TZ_NS - Non-secure access
  18735. */
  18736. #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)
  18737. #define CCM_GPR_PRIVATE2_AUTHEN_SET_LOCK_TZ_MASK (0x10U)
  18738. #define CCM_GPR_PRIVATE2_AUTHEN_SET_LOCK_TZ_SHIFT (4U)
  18739. /*! LOCK_TZ - Lock truszone setting
  18740. */
  18741. #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)
  18742. #define CCM_GPR_PRIVATE2_AUTHEN_SET_WHITE_LIST_MASK (0xF00U)
  18743. #define CCM_GPR_PRIVATE2_AUTHEN_SET_WHITE_LIST_SHIFT (8U)
  18744. /*! WHITE_LIST - Whitelist
  18745. */
  18746. #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)
  18747. #define CCM_GPR_PRIVATE2_AUTHEN_SET_LOCK_LIST_MASK (0x1000U)
  18748. #define CCM_GPR_PRIVATE2_AUTHEN_SET_LOCK_LIST_SHIFT (12U)
  18749. /*! LOCK_LIST - Lock Whitelist
  18750. */
  18751. #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)
  18752. #define CCM_GPR_PRIVATE2_AUTHEN_SET_DOMAIN_MODE_MASK (0x10000U)
  18753. #define CCM_GPR_PRIVATE2_AUTHEN_SET_DOMAIN_MODE_SHIFT (16U)
  18754. /*! DOMAIN_MODE - Low power and access control by Domain
  18755. */
  18756. #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)
  18757. #define CCM_GPR_PRIVATE2_AUTHEN_SET_LOCK_MODE_MASK (0x100000U)
  18758. #define CCM_GPR_PRIVATE2_AUTHEN_SET_LOCK_MODE_SHIFT (20U)
  18759. /*! LOCK_MODE - Lock low power and access mode
  18760. */
  18761. #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)
  18762. /*! @} */
  18763. /*! @name GPR_PRIVATE2_AUTHEN_CLR - GPR access control */
  18764. /*! @{ */
  18765. #define CCM_GPR_PRIVATE2_AUTHEN_CLR_TZ_USER_MASK (0x1U)
  18766. #define CCM_GPR_PRIVATE2_AUTHEN_CLR_TZ_USER_SHIFT (0U)
  18767. /*! TZ_USER - User access
  18768. */
  18769. #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)
  18770. #define CCM_GPR_PRIVATE2_AUTHEN_CLR_TZ_NS_MASK (0x2U)
  18771. #define CCM_GPR_PRIVATE2_AUTHEN_CLR_TZ_NS_SHIFT (1U)
  18772. /*! TZ_NS - Non-secure access
  18773. */
  18774. #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)
  18775. #define CCM_GPR_PRIVATE2_AUTHEN_CLR_LOCK_TZ_MASK (0x10U)
  18776. #define CCM_GPR_PRIVATE2_AUTHEN_CLR_LOCK_TZ_SHIFT (4U)
  18777. /*! LOCK_TZ - Lock truszone setting
  18778. */
  18779. #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)
  18780. #define CCM_GPR_PRIVATE2_AUTHEN_CLR_WHITE_LIST_MASK (0xF00U)
  18781. #define CCM_GPR_PRIVATE2_AUTHEN_CLR_WHITE_LIST_SHIFT (8U)
  18782. /*! WHITE_LIST - Whitelist
  18783. */
  18784. #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)
  18785. #define CCM_GPR_PRIVATE2_AUTHEN_CLR_LOCK_LIST_MASK (0x1000U)
  18786. #define CCM_GPR_PRIVATE2_AUTHEN_CLR_LOCK_LIST_SHIFT (12U)
  18787. /*! LOCK_LIST - Lock Whitelist
  18788. */
  18789. #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)
  18790. #define CCM_GPR_PRIVATE2_AUTHEN_CLR_DOMAIN_MODE_MASK (0x10000U)
  18791. #define CCM_GPR_PRIVATE2_AUTHEN_CLR_DOMAIN_MODE_SHIFT (16U)
  18792. /*! DOMAIN_MODE - Low power and access control by Domain
  18793. */
  18794. #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)
  18795. #define CCM_GPR_PRIVATE2_AUTHEN_CLR_LOCK_MODE_MASK (0x100000U)
  18796. #define CCM_GPR_PRIVATE2_AUTHEN_CLR_LOCK_MODE_SHIFT (20U)
  18797. /*! LOCK_MODE - Lock low power and access mode
  18798. */
  18799. #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)
  18800. /*! @} */
  18801. /*! @name GPR_PRIVATE2_AUTHEN_TOG - GPR access control */
  18802. /*! @{ */
  18803. #define CCM_GPR_PRIVATE2_AUTHEN_TOG_TZ_USER_MASK (0x1U)
  18804. #define CCM_GPR_PRIVATE2_AUTHEN_TOG_TZ_USER_SHIFT (0U)
  18805. /*! TZ_USER - User access
  18806. */
  18807. #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)
  18808. #define CCM_GPR_PRIVATE2_AUTHEN_TOG_TZ_NS_MASK (0x2U)
  18809. #define CCM_GPR_PRIVATE2_AUTHEN_TOG_TZ_NS_SHIFT (1U)
  18810. /*! TZ_NS - Non-secure access
  18811. */
  18812. #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)
  18813. #define CCM_GPR_PRIVATE2_AUTHEN_TOG_LOCK_TZ_MASK (0x10U)
  18814. #define CCM_GPR_PRIVATE2_AUTHEN_TOG_LOCK_TZ_SHIFT (4U)
  18815. /*! LOCK_TZ - Lock truszone setting
  18816. */
  18817. #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)
  18818. #define CCM_GPR_PRIVATE2_AUTHEN_TOG_WHITE_LIST_MASK (0xF00U)
  18819. #define CCM_GPR_PRIVATE2_AUTHEN_TOG_WHITE_LIST_SHIFT (8U)
  18820. /*! WHITE_LIST - Whitelist
  18821. */
  18822. #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)
  18823. #define CCM_GPR_PRIVATE2_AUTHEN_TOG_LOCK_LIST_MASK (0x1000U)
  18824. #define CCM_GPR_PRIVATE2_AUTHEN_TOG_LOCK_LIST_SHIFT (12U)
  18825. /*! LOCK_LIST - Lock Whitelist
  18826. */
  18827. #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)
  18828. #define CCM_GPR_PRIVATE2_AUTHEN_TOG_DOMAIN_MODE_MASK (0x10000U)
  18829. #define CCM_GPR_PRIVATE2_AUTHEN_TOG_DOMAIN_MODE_SHIFT (16U)
  18830. /*! DOMAIN_MODE - Low power and access control by Domain
  18831. */
  18832. #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)
  18833. #define CCM_GPR_PRIVATE2_AUTHEN_TOG_LOCK_MODE_MASK (0x100000U)
  18834. #define CCM_GPR_PRIVATE2_AUTHEN_TOG_LOCK_MODE_SHIFT (20U)
  18835. /*! LOCK_MODE - Lock low power and access mode
  18836. */
  18837. #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)
  18838. /*! @} */
  18839. /*! @name GPR_PRIVATE3 - General Purpose Register */
  18840. /*! @{ */
  18841. #define CCM_GPR_PRIVATE3_GPR_MASK (0xFFFFFFFFU)
  18842. #define CCM_GPR_PRIVATE3_GPR_SHIFT (0U)
  18843. /*! GPR - GP register
  18844. */
  18845. #define CCM_GPR_PRIVATE3_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE3_GPR_SHIFT)) & CCM_GPR_PRIVATE3_GPR_MASK)
  18846. /*! @} */
  18847. /*! @name GPR_PRIVATE3_SET - General Purpose Register */
  18848. /*! @{ */
  18849. #define CCM_GPR_PRIVATE3_SET_GPR_MASK (0xFFFFFFFFU)
  18850. #define CCM_GPR_PRIVATE3_SET_GPR_SHIFT (0U)
  18851. /*! GPR - GP register
  18852. */
  18853. #define CCM_GPR_PRIVATE3_SET_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE3_SET_GPR_SHIFT)) & CCM_GPR_PRIVATE3_SET_GPR_MASK)
  18854. /*! @} */
  18855. /*! @name GPR_PRIVATE3_CLR - General Purpose Register */
  18856. /*! @{ */
  18857. #define CCM_GPR_PRIVATE3_CLR_GPR_MASK (0xFFFFFFFFU)
  18858. #define CCM_GPR_PRIVATE3_CLR_GPR_SHIFT (0U)
  18859. /*! GPR - GP register
  18860. */
  18861. #define CCM_GPR_PRIVATE3_CLR_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE3_CLR_GPR_SHIFT)) & CCM_GPR_PRIVATE3_CLR_GPR_MASK)
  18862. /*! @} */
  18863. /*! @name GPR_PRIVATE3_TOG - General Purpose Register */
  18864. /*! @{ */
  18865. #define CCM_GPR_PRIVATE3_TOG_GPR_MASK (0xFFFFFFFFU)
  18866. #define CCM_GPR_PRIVATE3_TOG_GPR_SHIFT (0U)
  18867. /*! GPR - GP register
  18868. */
  18869. #define CCM_GPR_PRIVATE3_TOG_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE3_TOG_GPR_SHIFT)) & CCM_GPR_PRIVATE3_TOG_GPR_MASK)
  18870. /*! @} */
  18871. /*! @name GPR_PRIVATE3_AUTHEN - GPR access control */
  18872. /*! @{ */
  18873. #define CCM_GPR_PRIVATE3_AUTHEN_TZ_USER_MASK (0x1U)
  18874. #define CCM_GPR_PRIVATE3_AUTHEN_TZ_USER_SHIFT (0U)
  18875. /*! TZ_USER - User access
  18876. * 0b1..Clock can be changed in user mode.
  18877. * 0b0..Clock cannot be changed in user mode.
  18878. */
  18879. #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)
  18880. #define CCM_GPR_PRIVATE3_AUTHEN_TZ_NS_MASK (0x2U)
  18881. #define CCM_GPR_PRIVATE3_AUTHEN_TZ_NS_SHIFT (1U)
  18882. /*! TZ_NS - Non-secure access
  18883. * 0b0..Cannot be changed in Non-secure mode.
  18884. * 0b1..Can be changed in Non-secure mode.
  18885. */
  18886. #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)
  18887. #define CCM_GPR_PRIVATE3_AUTHEN_LOCK_TZ_MASK (0x10U)
  18888. #define CCM_GPR_PRIVATE3_AUTHEN_LOCK_TZ_SHIFT (4U)
  18889. /*! LOCK_TZ - Lock truszone setting
  18890. * 0b0..Trustzone setting is not locked.
  18891. * 0b1..Trustzone setting is locked.
  18892. */
  18893. #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)
  18894. #define CCM_GPR_PRIVATE3_AUTHEN_WHITE_LIST_MASK (0xF00U)
  18895. #define CCM_GPR_PRIVATE3_AUTHEN_WHITE_LIST_SHIFT (8U)
  18896. /*! WHITE_LIST - Whitelist
  18897. * 0b0000..This domain is NOT allowed to change clock.
  18898. * 0b0001..This domain is allowed to change clock.
  18899. */
  18900. #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)
  18901. #define CCM_GPR_PRIVATE3_AUTHEN_LOCK_LIST_MASK (0x1000U)
  18902. #define CCM_GPR_PRIVATE3_AUTHEN_LOCK_LIST_SHIFT (12U)
  18903. /*! LOCK_LIST - Lock Whitelist
  18904. * 0b0..Whitelist is not locked.
  18905. * 0b1..Whitelist is locked.
  18906. */
  18907. #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)
  18908. #define CCM_GPR_PRIVATE3_AUTHEN_DOMAIN_MODE_MASK (0x10000U)
  18909. #define CCM_GPR_PRIVATE3_AUTHEN_DOMAIN_MODE_SHIFT (16U)
  18910. /*! DOMAIN_MODE - Low power and access control by Domain
  18911. * 0b1..Clock works in Domain Mode.
  18912. * 0b0..Clock does NOT work in Domain Mode.
  18913. */
  18914. #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)
  18915. #define CCM_GPR_PRIVATE3_AUTHEN_LOCK_MODE_MASK (0x100000U)
  18916. #define CCM_GPR_PRIVATE3_AUTHEN_LOCK_MODE_SHIFT (20U)
  18917. /*! LOCK_MODE - Lock low power and access mode
  18918. * 0b0..MODE is not locked.
  18919. * 0b1..MODE is locked.
  18920. */
  18921. #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)
  18922. /*! @} */
  18923. /*! @name GPR_PRIVATE3_AUTHEN_SET - GPR access control */
  18924. /*! @{ */
  18925. #define CCM_GPR_PRIVATE3_AUTHEN_SET_TZ_USER_MASK (0x1U)
  18926. #define CCM_GPR_PRIVATE3_AUTHEN_SET_TZ_USER_SHIFT (0U)
  18927. /*! TZ_USER - User access
  18928. */
  18929. #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)
  18930. #define CCM_GPR_PRIVATE3_AUTHEN_SET_TZ_NS_MASK (0x2U)
  18931. #define CCM_GPR_PRIVATE3_AUTHEN_SET_TZ_NS_SHIFT (1U)
  18932. /*! TZ_NS - Non-secure access
  18933. */
  18934. #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)
  18935. #define CCM_GPR_PRIVATE3_AUTHEN_SET_LOCK_TZ_MASK (0x10U)
  18936. #define CCM_GPR_PRIVATE3_AUTHEN_SET_LOCK_TZ_SHIFT (4U)
  18937. /*! LOCK_TZ - Lock truszone setting
  18938. */
  18939. #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)
  18940. #define CCM_GPR_PRIVATE3_AUTHEN_SET_WHITE_LIST_MASK (0xF00U)
  18941. #define CCM_GPR_PRIVATE3_AUTHEN_SET_WHITE_LIST_SHIFT (8U)
  18942. /*! WHITE_LIST - Whitelist
  18943. */
  18944. #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)
  18945. #define CCM_GPR_PRIVATE3_AUTHEN_SET_LOCK_LIST_MASK (0x1000U)
  18946. #define CCM_GPR_PRIVATE3_AUTHEN_SET_LOCK_LIST_SHIFT (12U)
  18947. /*! LOCK_LIST - Lock Whitelist
  18948. */
  18949. #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)
  18950. #define CCM_GPR_PRIVATE3_AUTHEN_SET_DOMAIN_MODE_MASK (0x10000U)
  18951. #define CCM_GPR_PRIVATE3_AUTHEN_SET_DOMAIN_MODE_SHIFT (16U)
  18952. /*! DOMAIN_MODE - Low power and access control by Domain
  18953. */
  18954. #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)
  18955. #define CCM_GPR_PRIVATE3_AUTHEN_SET_LOCK_MODE_MASK (0x100000U)
  18956. #define CCM_GPR_PRIVATE3_AUTHEN_SET_LOCK_MODE_SHIFT (20U)
  18957. /*! LOCK_MODE - Lock low power and access mode
  18958. */
  18959. #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)
  18960. /*! @} */
  18961. /*! @name GPR_PRIVATE3_AUTHEN_CLR - GPR access control */
  18962. /*! @{ */
  18963. #define CCM_GPR_PRIVATE3_AUTHEN_CLR_TZ_USER_MASK (0x1U)
  18964. #define CCM_GPR_PRIVATE3_AUTHEN_CLR_TZ_USER_SHIFT (0U)
  18965. /*! TZ_USER - User access
  18966. */
  18967. #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)
  18968. #define CCM_GPR_PRIVATE3_AUTHEN_CLR_TZ_NS_MASK (0x2U)
  18969. #define CCM_GPR_PRIVATE3_AUTHEN_CLR_TZ_NS_SHIFT (1U)
  18970. /*! TZ_NS - Non-secure access
  18971. */
  18972. #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)
  18973. #define CCM_GPR_PRIVATE3_AUTHEN_CLR_LOCK_TZ_MASK (0x10U)
  18974. #define CCM_GPR_PRIVATE3_AUTHEN_CLR_LOCK_TZ_SHIFT (4U)
  18975. /*! LOCK_TZ - Lock truszone setting
  18976. */
  18977. #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)
  18978. #define CCM_GPR_PRIVATE3_AUTHEN_CLR_WHITE_LIST_MASK (0xF00U)
  18979. #define CCM_GPR_PRIVATE3_AUTHEN_CLR_WHITE_LIST_SHIFT (8U)
  18980. /*! WHITE_LIST - Whitelist
  18981. */
  18982. #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)
  18983. #define CCM_GPR_PRIVATE3_AUTHEN_CLR_LOCK_LIST_MASK (0x1000U)
  18984. #define CCM_GPR_PRIVATE3_AUTHEN_CLR_LOCK_LIST_SHIFT (12U)
  18985. /*! LOCK_LIST - Lock Whitelist
  18986. */
  18987. #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)
  18988. #define CCM_GPR_PRIVATE3_AUTHEN_CLR_DOMAIN_MODE_MASK (0x10000U)
  18989. #define CCM_GPR_PRIVATE3_AUTHEN_CLR_DOMAIN_MODE_SHIFT (16U)
  18990. /*! DOMAIN_MODE - Low power and access control by Domain
  18991. */
  18992. #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)
  18993. #define CCM_GPR_PRIVATE3_AUTHEN_CLR_LOCK_MODE_MASK (0x100000U)
  18994. #define CCM_GPR_PRIVATE3_AUTHEN_CLR_LOCK_MODE_SHIFT (20U)
  18995. /*! LOCK_MODE - Lock low power and access mode
  18996. */
  18997. #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)
  18998. /*! @} */
  18999. /*! @name GPR_PRIVATE3_AUTHEN_TOG - GPR access control */
  19000. /*! @{ */
  19001. #define CCM_GPR_PRIVATE3_AUTHEN_TOG_TZ_USER_MASK (0x1U)
  19002. #define CCM_GPR_PRIVATE3_AUTHEN_TOG_TZ_USER_SHIFT (0U)
  19003. /*! TZ_USER - User access
  19004. */
  19005. #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)
  19006. #define CCM_GPR_PRIVATE3_AUTHEN_TOG_TZ_NS_MASK (0x2U)
  19007. #define CCM_GPR_PRIVATE3_AUTHEN_TOG_TZ_NS_SHIFT (1U)
  19008. /*! TZ_NS - Non-secure access
  19009. */
  19010. #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)
  19011. #define CCM_GPR_PRIVATE3_AUTHEN_TOG_LOCK_TZ_MASK (0x10U)
  19012. #define CCM_GPR_PRIVATE3_AUTHEN_TOG_LOCK_TZ_SHIFT (4U)
  19013. /*! LOCK_TZ - Lock truszone setting
  19014. */
  19015. #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)
  19016. #define CCM_GPR_PRIVATE3_AUTHEN_TOG_WHITE_LIST_MASK (0xF00U)
  19017. #define CCM_GPR_PRIVATE3_AUTHEN_TOG_WHITE_LIST_SHIFT (8U)
  19018. /*! WHITE_LIST - Whitelist
  19019. */
  19020. #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)
  19021. #define CCM_GPR_PRIVATE3_AUTHEN_TOG_LOCK_LIST_MASK (0x1000U)
  19022. #define CCM_GPR_PRIVATE3_AUTHEN_TOG_LOCK_LIST_SHIFT (12U)
  19023. /*! LOCK_LIST - Lock Whitelist
  19024. */
  19025. #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)
  19026. #define CCM_GPR_PRIVATE3_AUTHEN_TOG_DOMAIN_MODE_MASK (0x10000U)
  19027. #define CCM_GPR_PRIVATE3_AUTHEN_TOG_DOMAIN_MODE_SHIFT (16U)
  19028. /*! DOMAIN_MODE - Low power and access control by Domain
  19029. */
  19030. #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)
  19031. #define CCM_GPR_PRIVATE3_AUTHEN_TOG_LOCK_MODE_MASK (0x100000U)
  19032. #define CCM_GPR_PRIVATE3_AUTHEN_TOG_LOCK_MODE_SHIFT (20U)
  19033. /*! LOCK_MODE - Lock low power and access mode
  19034. */
  19035. #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)
  19036. /*! @} */
  19037. /*! @name GPR_PRIVATE4 - General Purpose Register */
  19038. /*! @{ */
  19039. #define CCM_GPR_PRIVATE4_GPR_MASK (0xFFFFFFFFU)
  19040. #define CCM_GPR_PRIVATE4_GPR_SHIFT (0U)
  19041. /*! GPR - GP register
  19042. */
  19043. #define CCM_GPR_PRIVATE4_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE4_GPR_SHIFT)) & CCM_GPR_PRIVATE4_GPR_MASK)
  19044. /*! @} */
  19045. /*! @name GPR_PRIVATE4_SET - General Purpose Register */
  19046. /*! @{ */
  19047. #define CCM_GPR_PRIVATE4_SET_GPR_MASK (0xFFFFFFFFU)
  19048. #define CCM_GPR_PRIVATE4_SET_GPR_SHIFT (0U)
  19049. /*! GPR - GP register
  19050. */
  19051. #define CCM_GPR_PRIVATE4_SET_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE4_SET_GPR_SHIFT)) & CCM_GPR_PRIVATE4_SET_GPR_MASK)
  19052. /*! @} */
  19053. /*! @name GPR_PRIVATE4_CLR - General Purpose Register */
  19054. /*! @{ */
  19055. #define CCM_GPR_PRIVATE4_CLR_GPR_MASK (0xFFFFFFFFU)
  19056. #define CCM_GPR_PRIVATE4_CLR_GPR_SHIFT (0U)
  19057. /*! GPR - GP register
  19058. */
  19059. #define CCM_GPR_PRIVATE4_CLR_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE4_CLR_GPR_SHIFT)) & CCM_GPR_PRIVATE4_CLR_GPR_MASK)
  19060. /*! @} */
  19061. /*! @name GPR_PRIVATE4_TOG - General Purpose Register */
  19062. /*! @{ */
  19063. #define CCM_GPR_PRIVATE4_TOG_GPR_MASK (0xFFFFFFFFU)
  19064. #define CCM_GPR_PRIVATE4_TOG_GPR_SHIFT (0U)
  19065. /*! GPR - GP register
  19066. */
  19067. #define CCM_GPR_PRIVATE4_TOG_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE4_TOG_GPR_SHIFT)) & CCM_GPR_PRIVATE4_TOG_GPR_MASK)
  19068. /*! @} */
  19069. /*! @name GPR_PRIVATE4_AUTHEN - GPR access control */
  19070. /*! @{ */
  19071. #define CCM_GPR_PRIVATE4_AUTHEN_TZ_USER_MASK (0x1U)
  19072. #define CCM_GPR_PRIVATE4_AUTHEN_TZ_USER_SHIFT (0U)
  19073. /*! TZ_USER - User access
  19074. * 0b1..Clock can be changed in user mode.
  19075. * 0b0..Clock cannot be changed in user mode.
  19076. */
  19077. #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)
  19078. #define CCM_GPR_PRIVATE4_AUTHEN_TZ_NS_MASK (0x2U)
  19079. #define CCM_GPR_PRIVATE4_AUTHEN_TZ_NS_SHIFT (1U)
  19080. /*! TZ_NS - Non-secure access
  19081. * 0b0..Cannot be changed in Non-secure mode.
  19082. * 0b1..Can be changed in Non-secure mode.
  19083. */
  19084. #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)
  19085. #define CCM_GPR_PRIVATE4_AUTHEN_LOCK_TZ_MASK (0x10U)
  19086. #define CCM_GPR_PRIVATE4_AUTHEN_LOCK_TZ_SHIFT (4U)
  19087. /*! LOCK_TZ - Lock truszone setting
  19088. * 0b0..Trustzone setting is not locked.
  19089. * 0b1..Trustzone setting is locked.
  19090. */
  19091. #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)
  19092. #define CCM_GPR_PRIVATE4_AUTHEN_WHITE_LIST_MASK (0xF00U)
  19093. #define CCM_GPR_PRIVATE4_AUTHEN_WHITE_LIST_SHIFT (8U)
  19094. /*! WHITE_LIST - Whitelist
  19095. * 0b0000..This domain is NOT allowed to change clock.
  19096. * 0b0001..This domain is allowed to change clock.
  19097. */
  19098. #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)
  19099. #define CCM_GPR_PRIVATE4_AUTHEN_LOCK_LIST_MASK (0x1000U)
  19100. #define CCM_GPR_PRIVATE4_AUTHEN_LOCK_LIST_SHIFT (12U)
  19101. /*! LOCK_LIST - Lock Whitelist
  19102. * 0b0..Whitelist is not locked.
  19103. * 0b1..Whitelist is locked.
  19104. */
  19105. #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)
  19106. #define CCM_GPR_PRIVATE4_AUTHEN_DOMAIN_MODE_MASK (0x10000U)
  19107. #define CCM_GPR_PRIVATE4_AUTHEN_DOMAIN_MODE_SHIFT (16U)
  19108. /*! DOMAIN_MODE - Low power and access control by Domain
  19109. * 0b1..Clock works in Domain Mode.
  19110. * 0b0..Clock does NOT work in Domain Mode.
  19111. */
  19112. #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)
  19113. #define CCM_GPR_PRIVATE4_AUTHEN_LOCK_MODE_MASK (0x100000U)
  19114. #define CCM_GPR_PRIVATE4_AUTHEN_LOCK_MODE_SHIFT (20U)
  19115. /*! LOCK_MODE - Lock low power and access mode
  19116. * 0b0..MODE is not locked.
  19117. * 0b1..MODE is locked.
  19118. */
  19119. #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)
  19120. /*! @} */
  19121. /*! @name GPR_PRIVATE4_AUTHEN_SET - GPR access control */
  19122. /*! @{ */
  19123. #define CCM_GPR_PRIVATE4_AUTHEN_SET_TZ_USER_MASK (0x1U)
  19124. #define CCM_GPR_PRIVATE4_AUTHEN_SET_TZ_USER_SHIFT (0U)
  19125. /*! TZ_USER - User access
  19126. */
  19127. #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)
  19128. #define CCM_GPR_PRIVATE4_AUTHEN_SET_TZ_NS_MASK (0x2U)
  19129. #define CCM_GPR_PRIVATE4_AUTHEN_SET_TZ_NS_SHIFT (1U)
  19130. /*! TZ_NS - Non-secure access
  19131. */
  19132. #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)
  19133. #define CCM_GPR_PRIVATE4_AUTHEN_SET_LOCK_TZ_MASK (0x10U)
  19134. #define CCM_GPR_PRIVATE4_AUTHEN_SET_LOCK_TZ_SHIFT (4U)
  19135. /*! LOCK_TZ - Lock truszone setting
  19136. */
  19137. #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)
  19138. #define CCM_GPR_PRIVATE4_AUTHEN_SET_WHITE_LIST_MASK (0xF00U)
  19139. #define CCM_GPR_PRIVATE4_AUTHEN_SET_WHITE_LIST_SHIFT (8U)
  19140. /*! WHITE_LIST - Whitelist
  19141. */
  19142. #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)
  19143. #define CCM_GPR_PRIVATE4_AUTHEN_SET_LOCK_LIST_MASK (0x1000U)
  19144. #define CCM_GPR_PRIVATE4_AUTHEN_SET_LOCK_LIST_SHIFT (12U)
  19145. /*! LOCK_LIST - Lock Whitelist
  19146. */
  19147. #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)
  19148. #define CCM_GPR_PRIVATE4_AUTHEN_SET_DOMAIN_MODE_MASK (0x10000U)
  19149. #define CCM_GPR_PRIVATE4_AUTHEN_SET_DOMAIN_MODE_SHIFT (16U)
  19150. /*! DOMAIN_MODE - Low power and access control by Domain
  19151. */
  19152. #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)
  19153. #define CCM_GPR_PRIVATE4_AUTHEN_SET_LOCK_MODE_MASK (0x100000U)
  19154. #define CCM_GPR_PRIVATE4_AUTHEN_SET_LOCK_MODE_SHIFT (20U)
  19155. /*! LOCK_MODE - Lock low power and access mode
  19156. */
  19157. #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)
  19158. /*! @} */
  19159. /*! @name GPR_PRIVATE4_AUTHEN_CLR - GPR access control */
  19160. /*! @{ */
  19161. #define CCM_GPR_PRIVATE4_AUTHEN_CLR_TZ_USER_MASK (0x1U)
  19162. #define CCM_GPR_PRIVATE4_AUTHEN_CLR_TZ_USER_SHIFT (0U)
  19163. /*! TZ_USER - User access
  19164. */
  19165. #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)
  19166. #define CCM_GPR_PRIVATE4_AUTHEN_CLR_TZ_NS_MASK (0x2U)
  19167. #define CCM_GPR_PRIVATE4_AUTHEN_CLR_TZ_NS_SHIFT (1U)
  19168. /*! TZ_NS - Non-secure access
  19169. */
  19170. #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)
  19171. #define CCM_GPR_PRIVATE4_AUTHEN_CLR_LOCK_TZ_MASK (0x10U)
  19172. #define CCM_GPR_PRIVATE4_AUTHEN_CLR_LOCK_TZ_SHIFT (4U)
  19173. /*! LOCK_TZ - Lock truszone setting
  19174. */
  19175. #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)
  19176. #define CCM_GPR_PRIVATE4_AUTHEN_CLR_WHITE_LIST_MASK (0xF00U)
  19177. #define CCM_GPR_PRIVATE4_AUTHEN_CLR_WHITE_LIST_SHIFT (8U)
  19178. /*! WHITE_LIST - Whitelist
  19179. */
  19180. #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)
  19181. #define CCM_GPR_PRIVATE4_AUTHEN_CLR_LOCK_LIST_MASK (0x1000U)
  19182. #define CCM_GPR_PRIVATE4_AUTHEN_CLR_LOCK_LIST_SHIFT (12U)
  19183. /*! LOCK_LIST - Lock Whitelist
  19184. */
  19185. #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)
  19186. #define CCM_GPR_PRIVATE4_AUTHEN_CLR_DOMAIN_MODE_MASK (0x10000U)
  19187. #define CCM_GPR_PRIVATE4_AUTHEN_CLR_DOMAIN_MODE_SHIFT (16U)
  19188. /*! DOMAIN_MODE - Low power and access control by Domain
  19189. */
  19190. #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)
  19191. #define CCM_GPR_PRIVATE4_AUTHEN_CLR_LOCK_MODE_MASK (0x100000U)
  19192. #define CCM_GPR_PRIVATE4_AUTHEN_CLR_LOCK_MODE_SHIFT (20U)
  19193. /*! LOCK_MODE - Lock low power and access mode
  19194. */
  19195. #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)
  19196. /*! @} */
  19197. /*! @name GPR_PRIVATE4_AUTHEN_TOG - GPR access control */
  19198. /*! @{ */
  19199. #define CCM_GPR_PRIVATE4_AUTHEN_TOG_TZ_USER_MASK (0x1U)
  19200. #define CCM_GPR_PRIVATE4_AUTHEN_TOG_TZ_USER_SHIFT (0U)
  19201. /*! TZ_USER - User access
  19202. */
  19203. #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)
  19204. #define CCM_GPR_PRIVATE4_AUTHEN_TOG_TZ_NS_MASK (0x2U)
  19205. #define CCM_GPR_PRIVATE4_AUTHEN_TOG_TZ_NS_SHIFT (1U)
  19206. /*! TZ_NS - Non-secure access
  19207. */
  19208. #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)
  19209. #define CCM_GPR_PRIVATE4_AUTHEN_TOG_LOCK_TZ_MASK (0x10U)
  19210. #define CCM_GPR_PRIVATE4_AUTHEN_TOG_LOCK_TZ_SHIFT (4U)
  19211. /*! LOCK_TZ - Lock truszone setting
  19212. */
  19213. #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)
  19214. #define CCM_GPR_PRIVATE4_AUTHEN_TOG_WHITE_LIST_MASK (0xF00U)
  19215. #define CCM_GPR_PRIVATE4_AUTHEN_TOG_WHITE_LIST_SHIFT (8U)
  19216. /*! WHITE_LIST - Whitelist
  19217. */
  19218. #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)
  19219. #define CCM_GPR_PRIVATE4_AUTHEN_TOG_LOCK_LIST_MASK (0x1000U)
  19220. #define CCM_GPR_PRIVATE4_AUTHEN_TOG_LOCK_LIST_SHIFT (12U)
  19221. /*! LOCK_LIST - Lock Whitelist
  19222. */
  19223. #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)
  19224. #define CCM_GPR_PRIVATE4_AUTHEN_TOG_DOMAIN_MODE_MASK (0x10000U)
  19225. #define CCM_GPR_PRIVATE4_AUTHEN_TOG_DOMAIN_MODE_SHIFT (16U)
  19226. /*! DOMAIN_MODE - Low power and access control by Domain
  19227. */
  19228. #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)
  19229. #define CCM_GPR_PRIVATE4_AUTHEN_TOG_LOCK_MODE_MASK (0x100000U)
  19230. #define CCM_GPR_PRIVATE4_AUTHEN_TOG_LOCK_MODE_SHIFT (20U)
  19231. /*! LOCK_MODE - Lock low power and access mode
  19232. */
  19233. #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)
  19234. /*! @} */
  19235. /*! @name GPR_PRIVATE5 - General Purpose Register */
  19236. /*! @{ */
  19237. #define CCM_GPR_PRIVATE5_GPR_MASK (0xFFFFFFFFU)
  19238. #define CCM_GPR_PRIVATE5_GPR_SHIFT (0U)
  19239. /*! GPR - GP register
  19240. */
  19241. #define CCM_GPR_PRIVATE5_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE5_GPR_SHIFT)) & CCM_GPR_PRIVATE5_GPR_MASK)
  19242. /*! @} */
  19243. /*! @name GPR_PRIVATE5_SET - General Purpose Register */
  19244. /*! @{ */
  19245. #define CCM_GPR_PRIVATE5_SET_GPR_MASK (0xFFFFFFFFU)
  19246. #define CCM_GPR_PRIVATE5_SET_GPR_SHIFT (0U)
  19247. /*! GPR - GP register
  19248. */
  19249. #define CCM_GPR_PRIVATE5_SET_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE5_SET_GPR_SHIFT)) & CCM_GPR_PRIVATE5_SET_GPR_MASK)
  19250. /*! @} */
  19251. /*! @name GPR_PRIVATE5_CLR - General Purpose Register */
  19252. /*! @{ */
  19253. #define CCM_GPR_PRIVATE5_CLR_GPR_MASK (0xFFFFFFFFU)
  19254. #define CCM_GPR_PRIVATE5_CLR_GPR_SHIFT (0U)
  19255. /*! GPR - GP register
  19256. */
  19257. #define CCM_GPR_PRIVATE5_CLR_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE5_CLR_GPR_SHIFT)) & CCM_GPR_PRIVATE5_CLR_GPR_MASK)
  19258. /*! @} */
  19259. /*! @name GPR_PRIVATE5_TOG - General Purpose Register */
  19260. /*! @{ */
  19261. #define CCM_GPR_PRIVATE5_TOG_GPR_MASK (0xFFFFFFFFU)
  19262. #define CCM_GPR_PRIVATE5_TOG_GPR_SHIFT (0U)
  19263. /*! GPR - GP register
  19264. */
  19265. #define CCM_GPR_PRIVATE5_TOG_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE5_TOG_GPR_SHIFT)) & CCM_GPR_PRIVATE5_TOG_GPR_MASK)
  19266. /*! @} */
  19267. /*! @name GPR_PRIVATE5_AUTHEN - GPR access control */
  19268. /*! @{ */
  19269. #define CCM_GPR_PRIVATE5_AUTHEN_TZ_USER_MASK (0x1U)
  19270. #define CCM_GPR_PRIVATE5_AUTHEN_TZ_USER_SHIFT (0U)
  19271. /*! TZ_USER - User access
  19272. * 0b1..Clock can be changed in user mode.
  19273. * 0b0..Clock cannot be changed in user mode.
  19274. */
  19275. #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)
  19276. #define CCM_GPR_PRIVATE5_AUTHEN_TZ_NS_MASK (0x2U)
  19277. #define CCM_GPR_PRIVATE5_AUTHEN_TZ_NS_SHIFT (1U)
  19278. /*! TZ_NS - Non-secure access
  19279. * 0b0..Cannot be changed in Non-secure mode.
  19280. * 0b1..Can be changed in Non-secure mode.
  19281. */
  19282. #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)
  19283. #define CCM_GPR_PRIVATE5_AUTHEN_LOCK_TZ_MASK (0x10U)
  19284. #define CCM_GPR_PRIVATE5_AUTHEN_LOCK_TZ_SHIFT (4U)
  19285. /*! LOCK_TZ - Lock truszone setting
  19286. * 0b0..Trustzone setting is not locked.
  19287. * 0b1..Trustzone setting is locked.
  19288. */
  19289. #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)
  19290. #define CCM_GPR_PRIVATE5_AUTHEN_WHITE_LIST_MASK (0xF00U)
  19291. #define CCM_GPR_PRIVATE5_AUTHEN_WHITE_LIST_SHIFT (8U)
  19292. /*! WHITE_LIST - Whitelist
  19293. * 0b0000..This domain is NOT allowed to change clock.
  19294. * 0b0001..This domain is allowed to change clock.
  19295. */
  19296. #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)
  19297. #define CCM_GPR_PRIVATE5_AUTHEN_LOCK_LIST_MASK (0x1000U)
  19298. #define CCM_GPR_PRIVATE5_AUTHEN_LOCK_LIST_SHIFT (12U)
  19299. /*! LOCK_LIST - Lock Whitelist
  19300. * 0b0..Whitelist is not locked.
  19301. * 0b1..Whitelist is locked.
  19302. */
  19303. #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)
  19304. #define CCM_GPR_PRIVATE5_AUTHEN_DOMAIN_MODE_MASK (0x10000U)
  19305. #define CCM_GPR_PRIVATE5_AUTHEN_DOMAIN_MODE_SHIFT (16U)
  19306. /*! DOMAIN_MODE - Low power and access control by Domain
  19307. * 0b1..Clock works in Domain Mode.
  19308. * 0b0..Clock does NOT work in Domain Mode.
  19309. */
  19310. #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)
  19311. #define CCM_GPR_PRIVATE5_AUTHEN_LOCK_MODE_MASK (0x100000U)
  19312. #define CCM_GPR_PRIVATE5_AUTHEN_LOCK_MODE_SHIFT (20U)
  19313. /*! LOCK_MODE - Lock low power and access mode
  19314. * 0b0..MODE is not locked.
  19315. * 0b1..MODE is locked.
  19316. */
  19317. #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)
  19318. /*! @} */
  19319. /*! @name GPR_PRIVATE5_AUTHEN_SET - GPR access control */
  19320. /*! @{ */
  19321. #define CCM_GPR_PRIVATE5_AUTHEN_SET_TZ_USER_MASK (0x1U)
  19322. #define CCM_GPR_PRIVATE5_AUTHEN_SET_TZ_USER_SHIFT (0U)
  19323. /*! TZ_USER - User access
  19324. */
  19325. #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)
  19326. #define CCM_GPR_PRIVATE5_AUTHEN_SET_TZ_NS_MASK (0x2U)
  19327. #define CCM_GPR_PRIVATE5_AUTHEN_SET_TZ_NS_SHIFT (1U)
  19328. /*! TZ_NS - Non-secure access
  19329. */
  19330. #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)
  19331. #define CCM_GPR_PRIVATE5_AUTHEN_SET_LOCK_TZ_MASK (0x10U)
  19332. #define CCM_GPR_PRIVATE5_AUTHEN_SET_LOCK_TZ_SHIFT (4U)
  19333. /*! LOCK_TZ - Lock truszone setting
  19334. */
  19335. #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)
  19336. #define CCM_GPR_PRIVATE5_AUTHEN_SET_WHITE_LIST_MASK (0xF00U)
  19337. #define CCM_GPR_PRIVATE5_AUTHEN_SET_WHITE_LIST_SHIFT (8U)
  19338. /*! WHITE_LIST - Whitelist
  19339. */
  19340. #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)
  19341. #define CCM_GPR_PRIVATE5_AUTHEN_SET_LOCK_LIST_MASK (0x1000U)
  19342. #define CCM_GPR_PRIVATE5_AUTHEN_SET_LOCK_LIST_SHIFT (12U)
  19343. /*! LOCK_LIST - Lock Whitelist
  19344. */
  19345. #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)
  19346. #define CCM_GPR_PRIVATE5_AUTHEN_SET_DOMAIN_MODE_MASK (0x10000U)
  19347. #define CCM_GPR_PRIVATE5_AUTHEN_SET_DOMAIN_MODE_SHIFT (16U)
  19348. /*! DOMAIN_MODE - Low power and access control by Domain
  19349. */
  19350. #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)
  19351. #define CCM_GPR_PRIVATE5_AUTHEN_SET_LOCK_MODE_MASK (0x100000U)
  19352. #define CCM_GPR_PRIVATE5_AUTHEN_SET_LOCK_MODE_SHIFT (20U)
  19353. /*! LOCK_MODE - Lock low power and access mode
  19354. */
  19355. #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)
  19356. /*! @} */
  19357. /*! @name GPR_PRIVATE5_AUTHEN_CLR - GPR access control */
  19358. /*! @{ */
  19359. #define CCM_GPR_PRIVATE5_AUTHEN_CLR_TZ_USER_MASK (0x1U)
  19360. #define CCM_GPR_PRIVATE5_AUTHEN_CLR_TZ_USER_SHIFT (0U)
  19361. /*! TZ_USER - User access
  19362. */
  19363. #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)
  19364. #define CCM_GPR_PRIVATE5_AUTHEN_CLR_TZ_NS_MASK (0x2U)
  19365. #define CCM_GPR_PRIVATE5_AUTHEN_CLR_TZ_NS_SHIFT (1U)
  19366. /*! TZ_NS - Non-secure access
  19367. */
  19368. #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)
  19369. #define CCM_GPR_PRIVATE5_AUTHEN_CLR_LOCK_TZ_MASK (0x10U)
  19370. #define CCM_GPR_PRIVATE5_AUTHEN_CLR_LOCK_TZ_SHIFT (4U)
  19371. /*! LOCK_TZ - Lock truszone setting
  19372. */
  19373. #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)
  19374. #define CCM_GPR_PRIVATE5_AUTHEN_CLR_WHITE_LIST_MASK (0xF00U)
  19375. #define CCM_GPR_PRIVATE5_AUTHEN_CLR_WHITE_LIST_SHIFT (8U)
  19376. /*! WHITE_LIST - Whitelist
  19377. */
  19378. #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)
  19379. #define CCM_GPR_PRIVATE5_AUTHEN_CLR_LOCK_LIST_MASK (0x1000U)
  19380. #define CCM_GPR_PRIVATE5_AUTHEN_CLR_LOCK_LIST_SHIFT (12U)
  19381. /*! LOCK_LIST - Lock Whitelist
  19382. */
  19383. #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)
  19384. #define CCM_GPR_PRIVATE5_AUTHEN_CLR_DOMAIN_MODE_MASK (0x10000U)
  19385. #define CCM_GPR_PRIVATE5_AUTHEN_CLR_DOMAIN_MODE_SHIFT (16U)
  19386. /*! DOMAIN_MODE - Low power and access control by Domain
  19387. */
  19388. #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)
  19389. #define CCM_GPR_PRIVATE5_AUTHEN_CLR_LOCK_MODE_MASK (0x100000U)
  19390. #define CCM_GPR_PRIVATE5_AUTHEN_CLR_LOCK_MODE_SHIFT (20U)
  19391. /*! LOCK_MODE - Lock low power and access mode
  19392. */
  19393. #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)
  19394. /*! @} */
  19395. /*! @name GPR_PRIVATE5_AUTHEN_TOG - GPR access control */
  19396. /*! @{ */
  19397. #define CCM_GPR_PRIVATE5_AUTHEN_TOG_TZ_USER_MASK (0x1U)
  19398. #define CCM_GPR_PRIVATE5_AUTHEN_TOG_TZ_USER_SHIFT (0U)
  19399. /*! TZ_USER - User access
  19400. */
  19401. #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)
  19402. #define CCM_GPR_PRIVATE5_AUTHEN_TOG_TZ_NS_MASK (0x2U)
  19403. #define CCM_GPR_PRIVATE5_AUTHEN_TOG_TZ_NS_SHIFT (1U)
  19404. /*! TZ_NS - Non-secure access
  19405. */
  19406. #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)
  19407. #define CCM_GPR_PRIVATE5_AUTHEN_TOG_LOCK_TZ_MASK (0x10U)
  19408. #define CCM_GPR_PRIVATE5_AUTHEN_TOG_LOCK_TZ_SHIFT (4U)
  19409. /*! LOCK_TZ - Lock truszone setting
  19410. */
  19411. #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)
  19412. #define CCM_GPR_PRIVATE5_AUTHEN_TOG_WHITE_LIST_MASK (0xF00U)
  19413. #define CCM_GPR_PRIVATE5_AUTHEN_TOG_WHITE_LIST_SHIFT (8U)
  19414. /*! WHITE_LIST - Whitelist
  19415. */
  19416. #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)
  19417. #define CCM_GPR_PRIVATE5_AUTHEN_TOG_LOCK_LIST_MASK (0x1000U)
  19418. #define CCM_GPR_PRIVATE5_AUTHEN_TOG_LOCK_LIST_SHIFT (12U)
  19419. /*! LOCK_LIST - Lock Whitelist
  19420. */
  19421. #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)
  19422. #define CCM_GPR_PRIVATE5_AUTHEN_TOG_DOMAIN_MODE_MASK (0x10000U)
  19423. #define CCM_GPR_PRIVATE5_AUTHEN_TOG_DOMAIN_MODE_SHIFT (16U)
  19424. /*! DOMAIN_MODE - Low power and access control by Domain
  19425. */
  19426. #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)
  19427. #define CCM_GPR_PRIVATE5_AUTHEN_TOG_LOCK_MODE_MASK (0x100000U)
  19428. #define CCM_GPR_PRIVATE5_AUTHEN_TOG_LOCK_MODE_SHIFT (20U)
  19429. /*! LOCK_MODE - Lock low power and access mode
  19430. */
  19431. #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)
  19432. /*! @} */
  19433. /*! @name GPR_PRIVATE6 - General Purpose Register */
  19434. /*! @{ */
  19435. #define CCM_GPR_PRIVATE6_GPR_MASK (0xFFFFFFFFU)
  19436. #define CCM_GPR_PRIVATE6_GPR_SHIFT (0U)
  19437. /*! GPR - GP register
  19438. */
  19439. #define CCM_GPR_PRIVATE6_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE6_GPR_SHIFT)) & CCM_GPR_PRIVATE6_GPR_MASK)
  19440. /*! @} */
  19441. /*! @name GPR_PRIVATE6_SET - General Purpose Register */
  19442. /*! @{ */
  19443. #define CCM_GPR_PRIVATE6_SET_GPR_MASK (0xFFFFFFFFU)
  19444. #define CCM_GPR_PRIVATE6_SET_GPR_SHIFT (0U)
  19445. /*! GPR - GP register
  19446. */
  19447. #define CCM_GPR_PRIVATE6_SET_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE6_SET_GPR_SHIFT)) & CCM_GPR_PRIVATE6_SET_GPR_MASK)
  19448. /*! @} */
  19449. /*! @name GPR_PRIVATE6_CLR - General Purpose Register */
  19450. /*! @{ */
  19451. #define CCM_GPR_PRIVATE6_CLR_GPR_MASK (0xFFFFFFFFU)
  19452. #define CCM_GPR_PRIVATE6_CLR_GPR_SHIFT (0U)
  19453. /*! GPR - GP register
  19454. */
  19455. #define CCM_GPR_PRIVATE6_CLR_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE6_CLR_GPR_SHIFT)) & CCM_GPR_PRIVATE6_CLR_GPR_MASK)
  19456. /*! @} */
  19457. /*! @name GPR_PRIVATE6_TOG - General Purpose Register */
  19458. /*! @{ */
  19459. #define CCM_GPR_PRIVATE6_TOG_GPR_MASK (0xFFFFFFFFU)
  19460. #define CCM_GPR_PRIVATE6_TOG_GPR_SHIFT (0U)
  19461. /*! GPR - GP register
  19462. */
  19463. #define CCM_GPR_PRIVATE6_TOG_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE6_TOG_GPR_SHIFT)) & CCM_GPR_PRIVATE6_TOG_GPR_MASK)
  19464. /*! @} */
  19465. /*! @name GPR_PRIVATE6_AUTHEN - GPR access control */
  19466. /*! @{ */
  19467. #define CCM_GPR_PRIVATE6_AUTHEN_TZ_USER_MASK (0x1U)
  19468. #define CCM_GPR_PRIVATE6_AUTHEN_TZ_USER_SHIFT (0U)
  19469. /*! TZ_USER - User access
  19470. * 0b1..Clock can be changed in user mode.
  19471. * 0b0..Clock cannot be changed in user mode.
  19472. */
  19473. #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)
  19474. #define CCM_GPR_PRIVATE6_AUTHEN_TZ_NS_MASK (0x2U)
  19475. #define CCM_GPR_PRIVATE6_AUTHEN_TZ_NS_SHIFT (1U)
  19476. /*! TZ_NS - Non-secure access
  19477. * 0b0..Cannot be changed in Non-secure mode.
  19478. * 0b1..Can be changed in Non-secure mode.
  19479. */
  19480. #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)
  19481. #define CCM_GPR_PRIVATE6_AUTHEN_LOCK_TZ_MASK (0x10U)
  19482. #define CCM_GPR_PRIVATE6_AUTHEN_LOCK_TZ_SHIFT (4U)
  19483. /*! LOCK_TZ - Lock truszone setting
  19484. * 0b0..Trustzone setting is not locked.
  19485. * 0b1..Trustzone setting is locked.
  19486. */
  19487. #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)
  19488. #define CCM_GPR_PRIVATE6_AUTHEN_WHITE_LIST_MASK (0xF00U)
  19489. #define CCM_GPR_PRIVATE6_AUTHEN_WHITE_LIST_SHIFT (8U)
  19490. /*! WHITE_LIST - Whitelist
  19491. * 0b0000..This domain is NOT allowed to change clock.
  19492. * 0b0001..This domain is allowed to change clock.
  19493. */
  19494. #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)
  19495. #define CCM_GPR_PRIVATE6_AUTHEN_LOCK_LIST_MASK (0x1000U)
  19496. #define CCM_GPR_PRIVATE6_AUTHEN_LOCK_LIST_SHIFT (12U)
  19497. /*! LOCK_LIST - Lock Whitelist
  19498. * 0b0..Whitelist is not locked.
  19499. * 0b1..Whitelist is locked.
  19500. */
  19501. #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)
  19502. #define CCM_GPR_PRIVATE6_AUTHEN_DOMAIN_MODE_MASK (0x10000U)
  19503. #define CCM_GPR_PRIVATE6_AUTHEN_DOMAIN_MODE_SHIFT (16U)
  19504. /*! DOMAIN_MODE - Low power and access control by Domain
  19505. * 0b1..Clock works in Domain Mode.
  19506. * 0b0..Clock does NOT work in Domain Mode.
  19507. */
  19508. #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)
  19509. #define CCM_GPR_PRIVATE6_AUTHEN_LOCK_MODE_MASK (0x100000U)
  19510. #define CCM_GPR_PRIVATE6_AUTHEN_LOCK_MODE_SHIFT (20U)
  19511. /*! LOCK_MODE - Lock low power and access mode
  19512. * 0b0..MODE is not locked.
  19513. * 0b1..MODE is locked.
  19514. */
  19515. #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)
  19516. /*! @} */
  19517. /*! @name GPR_PRIVATE6_AUTHEN_SET - GPR access control */
  19518. /*! @{ */
  19519. #define CCM_GPR_PRIVATE6_AUTHEN_SET_TZ_USER_MASK (0x1U)
  19520. #define CCM_GPR_PRIVATE6_AUTHEN_SET_TZ_USER_SHIFT (0U)
  19521. /*! TZ_USER - User access
  19522. */
  19523. #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)
  19524. #define CCM_GPR_PRIVATE6_AUTHEN_SET_TZ_NS_MASK (0x2U)
  19525. #define CCM_GPR_PRIVATE6_AUTHEN_SET_TZ_NS_SHIFT (1U)
  19526. /*! TZ_NS - Non-secure access
  19527. */
  19528. #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)
  19529. #define CCM_GPR_PRIVATE6_AUTHEN_SET_LOCK_TZ_MASK (0x10U)
  19530. #define CCM_GPR_PRIVATE6_AUTHEN_SET_LOCK_TZ_SHIFT (4U)
  19531. /*! LOCK_TZ - Lock truszone setting
  19532. */
  19533. #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)
  19534. #define CCM_GPR_PRIVATE6_AUTHEN_SET_WHITE_LIST_MASK (0xF00U)
  19535. #define CCM_GPR_PRIVATE6_AUTHEN_SET_WHITE_LIST_SHIFT (8U)
  19536. /*! WHITE_LIST - Whitelist
  19537. */
  19538. #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)
  19539. #define CCM_GPR_PRIVATE6_AUTHEN_SET_LOCK_LIST_MASK (0x1000U)
  19540. #define CCM_GPR_PRIVATE6_AUTHEN_SET_LOCK_LIST_SHIFT (12U)
  19541. /*! LOCK_LIST - Lock Whitelist
  19542. */
  19543. #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)
  19544. #define CCM_GPR_PRIVATE6_AUTHEN_SET_DOMAIN_MODE_MASK (0x10000U)
  19545. #define CCM_GPR_PRIVATE6_AUTHEN_SET_DOMAIN_MODE_SHIFT (16U)
  19546. /*! DOMAIN_MODE - Low power and access control by Domain
  19547. */
  19548. #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)
  19549. #define CCM_GPR_PRIVATE6_AUTHEN_SET_LOCK_MODE_MASK (0x100000U)
  19550. #define CCM_GPR_PRIVATE6_AUTHEN_SET_LOCK_MODE_SHIFT (20U)
  19551. /*! LOCK_MODE - Lock low power and access mode
  19552. */
  19553. #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)
  19554. /*! @} */
  19555. /*! @name GPR_PRIVATE6_AUTHEN_CLR - GPR access control */
  19556. /*! @{ */
  19557. #define CCM_GPR_PRIVATE6_AUTHEN_CLR_TZ_USER_MASK (0x1U)
  19558. #define CCM_GPR_PRIVATE6_AUTHEN_CLR_TZ_USER_SHIFT (0U)
  19559. /*! TZ_USER - User access
  19560. */
  19561. #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)
  19562. #define CCM_GPR_PRIVATE6_AUTHEN_CLR_TZ_NS_MASK (0x2U)
  19563. #define CCM_GPR_PRIVATE6_AUTHEN_CLR_TZ_NS_SHIFT (1U)
  19564. /*! TZ_NS - Non-secure access
  19565. */
  19566. #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)
  19567. #define CCM_GPR_PRIVATE6_AUTHEN_CLR_LOCK_TZ_MASK (0x10U)
  19568. #define CCM_GPR_PRIVATE6_AUTHEN_CLR_LOCK_TZ_SHIFT (4U)
  19569. /*! LOCK_TZ - Lock truszone setting
  19570. */
  19571. #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)
  19572. #define CCM_GPR_PRIVATE6_AUTHEN_CLR_WHITE_LIST_MASK (0xF00U)
  19573. #define CCM_GPR_PRIVATE6_AUTHEN_CLR_WHITE_LIST_SHIFT (8U)
  19574. /*! WHITE_LIST - Whitelist
  19575. */
  19576. #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)
  19577. #define CCM_GPR_PRIVATE6_AUTHEN_CLR_LOCK_LIST_MASK (0x1000U)
  19578. #define CCM_GPR_PRIVATE6_AUTHEN_CLR_LOCK_LIST_SHIFT (12U)
  19579. /*! LOCK_LIST - Lock Whitelist
  19580. */
  19581. #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)
  19582. #define CCM_GPR_PRIVATE6_AUTHEN_CLR_DOMAIN_MODE_MASK (0x10000U)
  19583. #define CCM_GPR_PRIVATE6_AUTHEN_CLR_DOMAIN_MODE_SHIFT (16U)
  19584. /*! DOMAIN_MODE - Low power and access control by Domain
  19585. */
  19586. #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)
  19587. #define CCM_GPR_PRIVATE6_AUTHEN_CLR_LOCK_MODE_MASK (0x100000U)
  19588. #define CCM_GPR_PRIVATE6_AUTHEN_CLR_LOCK_MODE_SHIFT (20U)
  19589. /*! LOCK_MODE - Lock low power and access mode
  19590. */
  19591. #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)
  19592. /*! @} */
  19593. /*! @name GPR_PRIVATE6_AUTHEN_TOG - GPR access control */
  19594. /*! @{ */
  19595. #define CCM_GPR_PRIVATE6_AUTHEN_TOG_TZ_USER_MASK (0x1U)
  19596. #define CCM_GPR_PRIVATE6_AUTHEN_TOG_TZ_USER_SHIFT (0U)
  19597. /*! TZ_USER - User access
  19598. */
  19599. #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)
  19600. #define CCM_GPR_PRIVATE6_AUTHEN_TOG_TZ_NS_MASK (0x2U)
  19601. #define CCM_GPR_PRIVATE6_AUTHEN_TOG_TZ_NS_SHIFT (1U)
  19602. /*! TZ_NS - Non-secure access
  19603. */
  19604. #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)
  19605. #define CCM_GPR_PRIVATE6_AUTHEN_TOG_LOCK_TZ_MASK (0x10U)
  19606. #define CCM_GPR_PRIVATE6_AUTHEN_TOG_LOCK_TZ_SHIFT (4U)
  19607. /*! LOCK_TZ - Lock truszone setting
  19608. */
  19609. #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)
  19610. #define CCM_GPR_PRIVATE6_AUTHEN_TOG_WHITE_LIST_MASK (0xF00U)
  19611. #define CCM_GPR_PRIVATE6_AUTHEN_TOG_WHITE_LIST_SHIFT (8U)
  19612. /*! WHITE_LIST - Whitelist
  19613. */
  19614. #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)
  19615. #define CCM_GPR_PRIVATE6_AUTHEN_TOG_LOCK_LIST_MASK (0x1000U)
  19616. #define CCM_GPR_PRIVATE6_AUTHEN_TOG_LOCK_LIST_SHIFT (12U)
  19617. /*! LOCK_LIST - Lock Whitelist
  19618. */
  19619. #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)
  19620. #define CCM_GPR_PRIVATE6_AUTHEN_TOG_DOMAIN_MODE_MASK (0x10000U)
  19621. #define CCM_GPR_PRIVATE6_AUTHEN_TOG_DOMAIN_MODE_SHIFT (16U)
  19622. /*! DOMAIN_MODE - Low power and access control by Domain
  19623. */
  19624. #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)
  19625. #define CCM_GPR_PRIVATE6_AUTHEN_TOG_LOCK_MODE_MASK (0x100000U)
  19626. #define CCM_GPR_PRIVATE6_AUTHEN_TOG_LOCK_MODE_SHIFT (20U)
  19627. /*! LOCK_MODE - Lock low power and access mode
  19628. */
  19629. #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)
  19630. /*! @} */
  19631. /*! @name GPR_PRIVATE7 - General Purpose Register */
  19632. /*! @{ */
  19633. #define CCM_GPR_PRIVATE7_GPR_MASK (0xFFFFFFFFU)
  19634. #define CCM_GPR_PRIVATE7_GPR_SHIFT (0U)
  19635. /*! GPR - GP register
  19636. */
  19637. #define CCM_GPR_PRIVATE7_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE7_GPR_SHIFT)) & CCM_GPR_PRIVATE7_GPR_MASK)
  19638. /*! @} */
  19639. /*! @name GPR_PRIVATE7_SET - General Purpose Register */
  19640. /*! @{ */
  19641. #define CCM_GPR_PRIVATE7_SET_GPR_MASK (0xFFFFFFFFU)
  19642. #define CCM_GPR_PRIVATE7_SET_GPR_SHIFT (0U)
  19643. /*! GPR - GP register
  19644. */
  19645. #define CCM_GPR_PRIVATE7_SET_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE7_SET_GPR_SHIFT)) & CCM_GPR_PRIVATE7_SET_GPR_MASK)
  19646. /*! @} */
  19647. /*! @name GPR_PRIVATE7_CLR - General Purpose Register */
  19648. /*! @{ */
  19649. #define CCM_GPR_PRIVATE7_CLR_GPR_MASK (0xFFFFFFFFU)
  19650. #define CCM_GPR_PRIVATE7_CLR_GPR_SHIFT (0U)
  19651. /*! GPR - GP register
  19652. */
  19653. #define CCM_GPR_PRIVATE7_CLR_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE7_CLR_GPR_SHIFT)) & CCM_GPR_PRIVATE7_CLR_GPR_MASK)
  19654. /*! @} */
  19655. /*! @name GPR_PRIVATE7_TOG - General Purpose Register */
  19656. /*! @{ */
  19657. #define CCM_GPR_PRIVATE7_TOG_GPR_MASK (0xFFFFFFFFU)
  19658. #define CCM_GPR_PRIVATE7_TOG_GPR_SHIFT (0U)
  19659. /*! GPR - GP register
  19660. */
  19661. #define CCM_GPR_PRIVATE7_TOG_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE7_TOG_GPR_SHIFT)) & CCM_GPR_PRIVATE7_TOG_GPR_MASK)
  19662. /*! @} */
  19663. /*! @name GPR_PRIVATE7_AUTHEN - GPR access control */
  19664. /*! @{ */
  19665. #define CCM_GPR_PRIVATE7_AUTHEN_TZ_USER_MASK (0x1U)
  19666. #define CCM_GPR_PRIVATE7_AUTHEN_TZ_USER_SHIFT (0U)
  19667. /*! TZ_USER - User access
  19668. * 0b1..Clock can be changed in user mode.
  19669. * 0b0..Clock cannot be changed in user mode.
  19670. */
  19671. #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)
  19672. #define CCM_GPR_PRIVATE7_AUTHEN_TZ_NS_MASK (0x2U)
  19673. #define CCM_GPR_PRIVATE7_AUTHEN_TZ_NS_SHIFT (1U)
  19674. /*! TZ_NS - Non-secure access
  19675. * 0b0..Cannot be changed in Non-secure mode.
  19676. * 0b1..Can be changed in Non-secure mode.
  19677. */
  19678. #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)
  19679. #define CCM_GPR_PRIVATE7_AUTHEN_LOCK_TZ_MASK (0x10U)
  19680. #define CCM_GPR_PRIVATE7_AUTHEN_LOCK_TZ_SHIFT (4U)
  19681. /*! LOCK_TZ - Lock truszone setting
  19682. * 0b0..Trustzone setting is not locked.
  19683. * 0b1..Trustzone setting is locked.
  19684. */
  19685. #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)
  19686. #define CCM_GPR_PRIVATE7_AUTHEN_WHITE_LIST_MASK (0xF00U)
  19687. #define CCM_GPR_PRIVATE7_AUTHEN_WHITE_LIST_SHIFT (8U)
  19688. /*! WHITE_LIST - Whitelist
  19689. * 0b0000..This domain is NOT allowed to change clock.
  19690. * 0b0001..This domain is allowed to change clock.
  19691. */
  19692. #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)
  19693. #define CCM_GPR_PRIVATE7_AUTHEN_LOCK_LIST_MASK (0x1000U)
  19694. #define CCM_GPR_PRIVATE7_AUTHEN_LOCK_LIST_SHIFT (12U)
  19695. /*! LOCK_LIST - Lock Whitelist
  19696. * 0b0..Whitelist is not locked.
  19697. * 0b1..Whitelist is locked.
  19698. */
  19699. #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)
  19700. #define CCM_GPR_PRIVATE7_AUTHEN_DOMAIN_MODE_MASK (0x10000U)
  19701. #define CCM_GPR_PRIVATE7_AUTHEN_DOMAIN_MODE_SHIFT (16U)
  19702. /*! DOMAIN_MODE - Low power and access control by Domain
  19703. * 0b1..Clock works in Domain Mode.
  19704. * 0b0..Clock does NOT work in Domain Mode.
  19705. */
  19706. #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)
  19707. #define CCM_GPR_PRIVATE7_AUTHEN_LOCK_MODE_MASK (0x100000U)
  19708. #define CCM_GPR_PRIVATE7_AUTHEN_LOCK_MODE_SHIFT (20U)
  19709. /*! LOCK_MODE - Lock low power and access mode
  19710. * 0b0..MODE is not locked.
  19711. * 0b1..MODE is locked.
  19712. */
  19713. #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)
  19714. /*! @} */
  19715. /*! @name GPR_PRIVATE7_AUTHEN_SET - GPR access control */
  19716. /*! @{ */
  19717. #define CCM_GPR_PRIVATE7_AUTHEN_SET_TZ_USER_MASK (0x1U)
  19718. #define CCM_GPR_PRIVATE7_AUTHEN_SET_TZ_USER_SHIFT (0U)
  19719. /*! TZ_USER - User access
  19720. */
  19721. #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)
  19722. #define CCM_GPR_PRIVATE7_AUTHEN_SET_TZ_NS_MASK (0x2U)
  19723. #define CCM_GPR_PRIVATE7_AUTHEN_SET_TZ_NS_SHIFT (1U)
  19724. /*! TZ_NS - Non-secure access
  19725. */
  19726. #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)
  19727. #define CCM_GPR_PRIVATE7_AUTHEN_SET_LOCK_TZ_MASK (0x10U)
  19728. #define CCM_GPR_PRIVATE7_AUTHEN_SET_LOCK_TZ_SHIFT (4U)
  19729. /*! LOCK_TZ - Lock truszone setting
  19730. */
  19731. #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)
  19732. #define CCM_GPR_PRIVATE7_AUTHEN_SET_WHITE_LIST_MASK (0xF00U)
  19733. #define CCM_GPR_PRIVATE7_AUTHEN_SET_WHITE_LIST_SHIFT (8U)
  19734. /*! WHITE_LIST - Whitelist
  19735. */
  19736. #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)
  19737. #define CCM_GPR_PRIVATE7_AUTHEN_SET_LOCK_LIST_MASK (0x1000U)
  19738. #define CCM_GPR_PRIVATE7_AUTHEN_SET_LOCK_LIST_SHIFT (12U)
  19739. /*! LOCK_LIST - Lock Whitelist
  19740. */
  19741. #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)
  19742. #define CCM_GPR_PRIVATE7_AUTHEN_SET_DOMAIN_MODE_MASK (0x10000U)
  19743. #define CCM_GPR_PRIVATE7_AUTHEN_SET_DOMAIN_MODE_SHIFT (16U)
  19744. /*! DOMAIN_MODE - Low power and access control by Domain
  19745. */
  19746. #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)
  19747. #define CCM_GPR_PRIVATE7_AUTHEN_SET_LOCK_MODE_MASK (0x100000U)
  19748. #define CCM_GPR_PRIVATE7_AUTHEN_SET_LOCK_MODE_SHIFT (20U)
  19749. /*! LOCK_MODE - Lock low power and access mode
  19750. */
  19751. #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)
  19752. /*! @} */
  19753. /*! @name GPR_PRIVATE7_AUTHEN_CLR - GPR access control */
  19754. /*! @{ */
  19755. #define CCM_GPR_PRIVATE7_AUTHEN_CLR_TZ_USER_MASK (0x1U)
  19756. #define CCM_GPR_PRIVATE7_AUTHEN_CLR_TZ_USER_SHIFT (0U)
  19757. /*! TZ_USER - User access
  19758. */
  19759. #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)
  19760. #define CCM_GPR_PRIVATE7_AUTHEN_CLR_TZ_NS_MASK (0x2U)
  19761. #define CCM_GPR_PRIVATE7_AUTHEN_CLR_TZ_NS_SHIFT (1U)
  19762. /*! TZ_NS - Non-secure access
  19763. */
  19764. #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)
  19765. #define CCM_GPR_PRIVATE7_AUTHEN_CLR_LOCK_TZ_MASK (0x10U)
  19766. #define CCM_GPR_PRIVATE7_AUTHEN_CLR_LOCK_TZ_SHIFT (4U)
  19767. /*! LOCK_TZ - Lock truszone setting
  19768. */
  19769. #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)
  19770. #define CCM_GPR_PRIVATE7_AUTHEN_CLR_WHITE_LIST_MASK (0xF00U)
  19771. #define CCM_GPR_PRIVATE7_AUTHEN_CLR_WHITE_LIST_SHIFT (8U)
  19772. /*! WHITE_LIST - Whitelist
  19773. */
  19774. #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)
  19775. #define CCM_GPR_PRIVATE7_AUTHEN_CLR_LOCK_LIST_MASK (0x1000U)
  19776. #define CCM_GPR_PRIVATE7_AUTHEN_CLR_LOCK_LIST_SHIFT (12U)
  19777. /*! LOCK_LIST - Lock Whitelist
  19778. */
  19779. #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)
  19780. #define CCM_GPR_PRIVATE7_AUTHEN_CLR_DOMAIN_MODE_MASK (0x10000U)
  19781. #define CCM_GPR_PRIVATE7_AUTHEN_CLR_DOMAIN_MODE_SHIFT (16U)
  19782. /*! DOMAIN_MODE - Low power and access control by Domain
  19783. */
  19784. #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)
  19785. #define CCM_GPR_PRIVATE7_AUTHEN_CLR_LOCK_MODE_MASK (0x100000U)
  19786. #define CCM_GPR_PRIVATE7_AUTHEN_CLR_LOCK_MODE_SHIFT (20U)
  19787. /*! LOCK_MODE - Lock low power and access mode
  19788. */
  19789. #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)
  19790. /*! @} */
  19791. /*! @name GPR_PRIVATE7_AUTHEN_TOG - GPR access control */
  19792. /*! @{ */
  19793. #define CCM_GPR_PRIVATE7_AUTHEN_TOG_TZ_USER_MASK (0x1U)
  19794. #define CCM_GPR_PRIVATE7_AUTHEN_TOG_TZ_USER_SHIFT (0U)
  19795. /*! TZ_USER - User access
  19796. */
  19797. #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)
  19798. #define CCM_GPR_PRIVATE7_AUTHEN_TOG_TZ_NS_MASK (0x2U)
  19799. #define CCM_GPR_PRIVATE7_AUTHEN_TOG_TZ_NS_SHIFT (1U)
  19800. /*! TZ_NS - Non-secure access
  19801. */
  19802. #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)
  19803. #define CCM_GPR_PRIVATE7_AUTHEN_TOG_LOCK_TZ_MASK (0x10U)
  19804. #define CCM_GPR_PRIVATE7_AUTHEN_TOG_LOCK_TZ_SHIFT (4U)
  19805. /*! LOCK_TZ - Lock truszone setting
  19806. */
  19807. #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)
  19808. #define CCM_GPR_PRIVATE7_AUTHEN_TOG_WHITE_LIST_MASK (0xF00U)
  19809. #define CCM_GPR_PRIVATE7_AUTHEN_TOG_WHITE_LIST_SHIFT (8U)
  19810. /*! WHITE_LIST - Whitelist
  19811. */
  19812. #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)
  19813. #define CCM_GPR_PRIVATE7_AUTHEN_TOG_LOCK_LIST_MASK (0x1000U)
  19814. #define CCM_GPR_PRIVATE7_AUTHEN_TOG_LOCK_LIST_SHIFT (12U)
  19815. /*! LOCK_LIST - Lock Whitelist
  19816. */
  19817. #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)
  19818. #define CCM_GPR_PRIVATE7_AUTHEN_TOG_DOMAIN_MODE_MASK (0x10000U)
  19819. #define CCM_GPR_PRIVATE7_AUTHEN_TOG_DOMAIN_MODE_SHIFT (16U)
  19820. /*! DOMAIN_MODE - Low power and access control by Domain
  19821. */
  19822. #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)
  19823. #define CCM_GPR_PRIVATE7_AUTHEN_TOG_LOCK_MODE_MASK (0x100000U)
  19824. #define CCM_GPR_PRIVATE7_AUTHEN_TOG_LOCK_MODE_SHIFT (20U)
  19825. /*! LOCK_MODE - Lock low power and access mode
  19826. */
  19827. #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)
  19828. /*! @} */
  19829. /*! @name OSCPLL_DIRECT - Clock source direct control */
  19830. /*! @{ */
  19831. #define CCM_OSCPLL_DIRECT_ON_MASK (0x1U)
  19832. #define CCM_OSCPLL_DIRECT_ON_SHIFT (0U)
  19833. /*! ON - turn on clock source
  19834. * 0b0..OSCPLL is OFF
  19835. * 0b1..OSCPLL is ON
  19836. */
  19837. #define CCM_OSCPLL_DIRECT_ON(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_DIRECT_ON_SHIFT)) & CCM_OSCPLL_DIRECT_ON_MASK)
  19838. /*! @} */
  19839. /* The count of CCM_OSCPLL_DIRECT */
  19840. #define CCM_OSCPLL_DIRECT_COUNT (29U)
  19841. /*! @name OSCPLL_DOMAIN - Clock source domain control */
  19842. /*! @{ */
  19843. #define CCM_OSCPLL_DOMAIN_LEVEL_MASK (0x7U)
  19844. #define CCM_OSCPLL_DOMAIN_LEVEL_SHIFT (0U)
  19845. /*! LEVEL - Current dependence level
  19846. * 0b000..This clock source is not needed in any mode, and can be turned off
  19847. * 0b001..This clock source is needed in RUN mode, but not needed in WAIT, STOP mode
  19848. * 0b010..This clock source is needed in RUN and WAIT mode, but not needed in STOP mode
  19849. * 0b011..This clock source is needed in RUN, WAIT and STOP mode
  19850. * 0b100..This clock source is always on in any mode (including SUSPEND)
  19851. * 0b101, 0b110, 0b111..Reserved
  19852. */
  19853. #define CCM_OSCPLL_DOMAIN_LEVEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_DOMAIN_LEVEL_SHIFT)) & CCM_OSCPLL_DOMAIN_LEVEL_MASK)
  19854. #define CCM_OSCPLL_DOMAIN_LEVEL0_MASK (0x70000U)
  19855. #define CCM_OSCPLL_DOMAIN_LEVEL0_SHIFT (16U)
  19856. /*! LEVEL0 - Dependence level
  19857. * 0b000..This clock source is not needed in any mode, and can be turned off
  19858. * 0b001..This clock source is needed in RUN mode, but not needed in WAIT, STOP mode
  19859. * 0b010..This clock source is needed in RUN and WAIT mode, but not needed in STOP mode
  19860. * 0b011..This clock source is needed in RUN, WAIT and STOP mode
  19861. * 0b100..This clock source is always on in any mode (including SUSPEND)
  19862. * 0b101, 0b110, 0b111..Reserved
  19863. */
  19864. #define CCM_OSCPLL_DOMAIN_LEVEL0(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_DOMAIN_LEVEL0_SHIFT)) & CCM_OSCPLL_DOMAIN_LEVEL0_MASK)
  19865. #define CCM_OSCPLL_DOMAIN_LEVEL1_MASK (0x700000U)
  19866. #define CCM_OSCPLL_DOMAIN_LEVEL1_SHIFT (20U)
  19867. /*! LEVEL1 - Depend level
  19868. * 0b000..This clock source is not needed in any mode, and can be turned off
  19869. * 0b001..This clock source is needed in RUN mode, but not needed in WAIT, STOP mode
  19870. * 0b010..This clock source is needed in RUN and WAIT mode, but not needed in STOP mode
  19871. * 0b011..This clock source is needed in RUN, WAIT and STOP mode
  19872. * 0b100..This clock source is always on in any mode (including SUSPEND)
  19873. * 0b101, 0b110, 0b111..Reserved
  19874. */
  19875. #define CCM_OSCPLL_DOMAIN_LEVEL1(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_DOMAIN_LEVEL1_SHIFT)) & CCM_OSCPLL_DOMAIN_LEVEL1_MASK)
  19876. #define CCM_OSCPLL_DOMAIN_LEVEL2_MASK (0x7000000U)
  19877. #define CCM_OSCPLL_DOMAIN_LEVEL2_SHIFT (24U)
  19878. /*! LEVEL2 - Depend level
  19879. * 0b000..This clock source is not needed in any mode, and can be turned off
  19880. * 0b001..This clock source is needed in RUN mode, but not needed in WAIT, STOP mode
  19881. * 0b010..This clock source is needed in RUN and WAIT mode, but not needed in STOP mode
  19882. * 0b011..This clock source is needed in RUN, WAIT and STOP mode
  19883. * 0b100..This clock source is always on in any mode (including SUSPEND)
  19884. * 0b101, 0b110, 0b111..Reserved
  19885. */
  19886. #define CCM_OSCPLL_DOMAIN_LEVEL2(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_DOMAIN_LEVEL2_SHIFT)) & CCM_OSCPLL_DOMAIN_LEVEL2_MASK)
  19887. #define CCM_OSCPLL_DOMAIN_LEVEL3_MASK (0x70000000U)
  19888. #define CCM_OSCPLL_DOMAIN_LEVEL3_SHIFT (28U)
  19889. /*! LEVEL3 - Depend level
  19890. * 0b000..This clock source is not needed in any mode, and can be turned off
  19891. * 0b001..This clock source is needed in RUN mode, but not needed in WAIT, STOP mode
  19892. * 0b010..This clock source is needed in RUN and WAIT mode, but not needed in STOP mode
  19893. * 0b011..This clock source is needed in RUN, WAIT and STOP mode
  19894. * 0b100..This clock source is always on in any mode (including SUSPEND)
  19895. * 0b101, 0b110, 0b111..Reserved
  19896. */
  19897. #define CCM_OSCPLL_DOMAIN_LEVEL3(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_DOMAIN_LEVEL3_SHIFT)) & CCM_OSCPLL_DOMAIN_LEVEL3_MASK)
  19898. /*! @} */
  19899. /* The count of CCM_OSCPLL_DOMAIN */
  19900. #define CCM_OSCPLL_DOMAIN_COUNT (29U)
  19901. /*! @name OSCPLL_SETPOINT - Clock source Setpoint setting */
  19902. /*! @{ */
  19903. #define CCM_OSCPLL_SETPOINT_SETPOINT_MASK (0xFFFFU)
  19904. #define CCM_OSCPLL_SETPOINT_SETPOINT_SHIFT (0U)
  19905. /*! SETPOINT - Setpoint
  19906. */
  19907. #define CCM_OSCPLL_SETPOINT_SETPOINT(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_SETPOINT_SETPOINT_SHIFT)) & CCM_OSCPLL_SETPOINT_SETPOINT_MASK)
  19908. #define CCM_OSCPLL_SETPOINT_STANDBY_MASK (0xFFFF0000U)
  19909. #define CCM_OSCPLL_SETPOINT_STANDBY_SHIFT (16U)
  19910. /*! STANDBY - Standby
  19911. */
  19912. #define CCM_OSCPLL_SETPOINT_STANDBY(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_SETPOINT_STANDBY_SHIFT)) & CCM_OSCPLL_SETPOINT_STANDBY_MASK)
  19913. /*! @} */
  19914. /* The count of CCM_OSCPLL_SETPOINT */
  19915. #define CCM_OSCPLL_SETPOINT_COUNT (29U)
  19916. /*! @name OSCPLL_STATUS0 - Clock source working status */
  19917. /*! @{ */
  19918. #define CCM_OSCPLL_STATUS0_ON_MASK (0x1U)
  19919. #define CCM_OSCPLL_STATUS0_ON_SHIFT (0U)
  19920. /*! ON - Clock source current state
  19921. * 0b0..Clock source is OFF
  19922. * 0b1..Clock source is ON
  19923. */
  19924. #define CCM_OSCPLL_STATUS0_ON(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_STATUS0_ON_SHIFT)) & CCM_OSCPLL_STATUS0_ON_MASK)
  19925. #define CCM_OSCPLL_STATUS0_STATUS_EARLY_MASK (0x10U)
  19926. #define CCM_OSCPLL_STATUS0_STATUS_EARLY_SHIFT (4U)
  19927. /*! STATUS_EARLY - Clock source active
  19928. * 0b1..Clock source is active
  19929. * 0b0..Clock source is not active
  19930. */
  19931. #define CCM_OSCPLL_STATUS0_STATUS_EARLY(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_STATUS0_STATUS_EARLY_SHIFT)) & CCM_OSCPLL_STATUS0_STATUS_EARLY_MASK)
  19932. #define CCM_OSCPLL_STATUS0_STATUS_LATE_MASK (0x20U)
  19933. #define CCM_OSCPLL_STATUS0_STATUS_LATE_SHIFT (5U)
  19934. /*! STATUS_LATE - Clock source ready
  19935. * 0b1..Clock source is ready to use
  19936. * 0b0..Clock source is not ready to use
  19937. */
  19938. #define CCM_OSCPLL_STATUS0_STATUS_LATE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_STATUS0_STATUS_LATE_SHIFT)) & CCM_OSCPLL_STATUS0_STATUS_LATE_MASK)
  19939. #define CCM_OSCPLL_STATUS0_ACTIVE_DOMAIN_MASK (0xF00U)
  19940. #define CCM_OSCPLL_STATUS0_ACTIVE_DOMAIN_SHIFT (8U)
  19941. /*! ACTIVE_DOMAIN - Domains that own this clock source
  19942. * 0b0000..Clock not owned by any domain
  19943. * 0b0001..Clock owned by Domain0
  19944. * 0b0010..Clock owned by Domain1
  19945. * 0b0011..Clock owned by Domain0 and Domain1
  19946. * 0b0100..Clock owned by Domain2
  19947. * 0b0101..Clock owned by Domain0 and Domain2
  19948. * 0b0110..Clock owned by Domain1 and Domain2
  19949. * 0b0111..Clock owned by Domain0, Domain1 and Domain 2
  19950. * 0b1000..Clock owned by Domain3
  19951. * 0b1001..Clock owned by Domain0 and Domain3
  19952. * 0b1010..Clock owned by Domain1 and Domain3
  19953. * 0b1011..Clock owned by Domain2 and Domain3
  19954. * 0b1100..Clock owned by Domain0, Domain 1, and Domain3
  19955. * 0b1101..Clock owned by Domain0, Domain 2, and Domain3
  19956. * 0b1110..Clock owned by Domain1, Domain 2, and Domain3
  19957. * 0b1111..Clock owned by all domains
  19958. */
  19959. #define CCM_OSCPLL_STATUS0_ACTIVE_DOMAIN(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_STATUS0_ACTIVE_DOMAIN_SHIFT)) & CCM_OSCPLL_STATUS0_ACTIVE_DOMAIN_MASK)
  19960. #define CCM_OSCPLL_STATUS0_DOMAIN_ENABLE_MASK (0xF000U)
  19961. #define CCM_OSCPLL_STATUS0_DOMAIN_ENABLE_SHIFT (12U)
  19962. /*! DOMAIN_ENABLE - Enable status from each domain
  19963. * 0b0000..No domain request
  19964. * 0b0001..Request from Domain0
  19965. * 0b0010..Request from Domain1
  19966. * 0b0011..Request from Domain0 and Domain1
  19967. * 0b0100..Request from Domain2
  19968. * 0b0101..Request from Domain0 and Domain2
  19969. * 0b0110..Request from Domain1 and Domain2
  19970. * 0b0111..Request from Domain0, Domain1 and Domain 2
  19971. * 0b1000..Request from Domain3
  19972. * 0b1001..Request from Domain0 and Domain3
  19973. * 0b1010..Request from Domain1 and Domain3
  19974. * 0b1011..Request from Domain2 and Domain3
  19975. * 0b1100..Request from Domain0, Domain 1, and Domain3
  19976. * 0b1101..Request from Domain0, Domain 2, and Domain3
  19977. * 0b1110..Request from Domain1, Domain 2, and Domain3
  19978. * 0b1111..Request from all domains
  19979. */
  19980. #define CCM_OSCPLL_STATUS0_DOMAIN_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_STATUS0_DOMAIN_ENABLE_SHIFT)) & CCM_OSCPLL_STATUS0_DOMAIN_ENABLE_MASK)
  19981. #define CCM_OSCPLL_STATUS0_IN_USE_MASK (0x10000000U)
  19982. #define CCM_OSCPLL_STATUS0_IN_USE_SHIFT (28U)
  19983. /*! IN_USE - In use
  19984. * 0b1..Clock source is being used by clock roots
  19985. * 0b0..Clock source is not being used by clock roots
  19986. */
  19987. #define CCM_OSCPLL_STATUS0_IN_USE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_STATUS0_IN_USE_SHIFT)) & CCM_OSCPLL_STATUS0_IN_USE_MASK)
  19988. /*! @} */
  19989. /* The count of CCM_OSCPLL_STATUS0 */
  19990. #define CCM_OSCPLL_STATUS0_COUNT (29U)
  19991. /*! @name OSCPLL_STATUS1 - Clock source low power status */
  19992. /*! @{ */
  19993. #define CCM_OSCPLL_STATUS1_CPU0_MODE_MASK (0x3U)
  19994. #define CCM_OSCPLL_STATUS1_CPU0_MODE_SHIFT (0U)
  19995. /*! CPU0_MODE - Domain0 Low Power Mode
  19996. * 0b00..Run
  19997. * 0b01..Wait
  19998. * 0b10..Stop
  19999. * 0b11..Suspend
  20000. */
  20001. #define CCM_OSCPLL_STATUS1_CPU0_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_STATUS1_CPU0_MODE_SHIFT)) & CCM_OSCPLL_STATUS1_CPU0_MODE_MASK)
  20002. #define CCM_OSCPLL_STATUS1_CPU0_MODE_REQUEST_MASK (0x4U)
  20003. #define CCM_OSCPLL_STATUS1_CPU0_MODE_REQUEST_SHIFT (2U)
  20004. /*! CPU0_MODE_REQUEST - Domain0 request enter Low Power Mode
  20005. * 0b1..Request from domain to enter Low Power Mode
  20006. * 0b0..No request
  20007. */
  20008. #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)
  20009. #define CCM_OSCPLL_STATUS1_CPU0_MODE_DONE_MASK (0x8U)
  20010. #define CCM_OSCPLL_STATUS1_CPU0_MODE_DONE_SHIFT (3U)
  20011. /*! CPU0_MODE_DONE - Domain0 Low Power Mode task done
  20012. * 0b1..Clock is gated-off
  20013. * 0b0..Clock is not gated
  20014. */
  20015. #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)
  20016. #define CCM_OSCPLL_STATUS1_CPU1_MODE_MASK (0x30U)
  20017. #define CCM_OSCPLL_STATUS1_CPU1_MODE_SHIFT (4U)
  20018. /*! CPU1_MODE - Domain1 Low Power Mode
  20019. * 0b00..Run
  20020. * 0b01..Wait
  20021. * 0b10..Stop
  20022. * 0b11..Suspend
  20023. */
  20024. #define CCM_OSCPLL_STATUS1_CPU1_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_STATUS1_CPU1_MODE_SHIFT)) & CCM_OSCPLL_STATUS1_CPU1_MODE_MASK)
  20025. #define CCM_OSCPLL_STATUS1_CPU1_MODE_REQUEST_MASK (0x40U)
  20026. #define CCM_OSCPLL_STATUS1_CPU1_MODE_REQUEST_SHIFT (6U)
  20027. /*! CPU1_MODE_REQUEST - Domain1 request enter Low Power Mode
  20028. * 0b1..Request from domain to enter Low Power Mode
  20029. * 0b0..No request
  20030. */
  20031. #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)
  20032. #define CCM_OSCPLL_STATUS1_CPU1_MODE_DONE_MASK (0x80U)
  20033. #define CCM_OSCPLL_STATUS1_CPU1_MODE_DONE_SHIFT (7U)
  20034. /*! CPU1_MODE_DONE - Domain1 Low Power Mode task done
  20035. * 0b1..Clock is gated-off
  20036. * 0b0..Clock is not gated
  20037. */
  20038. #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)
  20039. #define CCM_OSCPLL_STATUS1_CPU2_MODE_MASK (0x300U)
  20040. #define CCM_OSCPLL_STATUS1_CPU2_MODE_SHIFT (8U)
  20041. /*! CPU2_MODE - Domain2 Low Power Mode
  20042. * 0b00..Run
  20043. * 0b01..Wait
  20044. * 0b10..Stop
  20045. * 0b11..Suspend
  20046. */
  20047. #define CCM_OSCPLL_STATUS1_CPU2_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_STATUS1_CPU2_MODE_SHIFT)) & CCM_OSCPLL_STATUS1_CPU2_MODE_MASK)
  20048. #define CCM_OSCPLL_STATUS1_CPU2_MODE_REQUEST_MASK (0x400U)
  20049. #define CCM_OSCPLL_STATUS1_CPU2_MODE_REQUEST_SHIFT (10U)
  20050. /*! CPU2_MODE_REQUEST - Domain2 request enter Low Power Mode
  20051. * 0b1..Request from domain to enter Low Power Mode
  20052. * 0b0..No request
  20053. */
  20054. #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)
  20055. #define CCM_OSCPLL_STATUS1_CPU2_MODE_DONE_MASK (0x800U)
  20056. #define CCM_OSCPLL_STATUS1_CPU2_MODE_DONE_SHIFT (11U)
  20057. /*! CPU2_MODE_DONE - Domain2 Low Power Mode task done
  20058. * 0b1..Clock is gated-off
  20059. * 0b0..Clock is not gated
  20060. */
  20061. #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)
  20062. #define CCM_OSCPLL_STATUS1_CPU3_MODE_MASK (0x3000U)
  20063. #define CCM_OSCPLL_STATUS1_CPU3_MODE_SHIFT (12U)
  20064. /*! CPU3_MODE - Domain3 Low Power Mode
  20065. * 0b00..Run
  20066. * 0b01..Wait
  20067. * 0b10..Stop
  20068. * 0b11..Suspend
  20069. */
  20070. #define CCM_OSCPLL_STATUS1_CPU3_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_STATUS1_CPU3_MODE_SHIFT)) & CCM_OSCPLL_STATUS1_CPU3_MODE_MASK)
  20071. #define CCM_OSCPLL_STATUS1_CPU3_MODE_REQUEST_MASK (0x4000U)
  20072. #define CCM_OSCPLL_STATUS1_CPU3_MODE_REQUEST_SHIFT (14U)
  20073. /*! CPU3_MODE_REQUEST - Domain3 request enter Low Power Mode
  20074. * 0b1..Request from domain to enter Low Power Mode
  20075. * 0b0..No request
  20076. */
  20077. #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)
  20078. #define CCM_OSCPLL_STATUS1_CPU3_MODE_DONE_MASK (0x8000U)
  20079. #define CCM_OSCPLL_STATUS1_CPU3_MODE_DONE_SHIFT (15U)
  20080. /*! CPU3_MODE_DONE - Domain3 Low Power Mode task done
  20081. * 0b1..Clock is gated-off
  20082. * 0b0..Clock is not gated
  20083. */
  20084. #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)
  20085. #define CCM_OSCPLL_STATUS1_TARGET_SETPOINT_MASK (0xF0000U)
  20086. #define CCM_OSCPLL_STATUS1_TARGET_SETPOINT_SHIFT (16U)
  20087. /*! TARGET_SETPOINT - Next Setpoint to change to
  20088. */
  20089. #define CCM_OSCPLL_STATUS1_TARGET_SETPOINT(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_STATUS1_TARGET_SETPOINT_SHIFT)) & CCM_OSCPLL_STATUS1_TARGET_SETPOINT_MASK)
  20090. #define CCM_OSCPLL_STATUS1_CURRENT_SETPOINT_MASK (0xF00000U)
  20091. #define CCM_OSCPLL_STATUS1_CURRENT_SETPOINT_SHIFT (20U)
  20092. /*! CURRENT_SETPOINT - Current Setpoint
  20093. */
  20094. #define CCM_OSCPLL_STATUS1_CURRENT_SETPOINT(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_STATUS1_CURRENT_SETPOINT_SHIFT)) & CCM_OSCPLL_STATUS1_CURRENT_SETPOINT_MASK)
  20095. #define CCM_OSCPLL_STATUS1_SETPOINT_OFF_REQUEST_MASK (0x1000000U)
  20096. #define CCM_OSCPLL_STATUS1_SETPOINT_OFF_REQUEST_SHIFT (24U)
  20097. /*! SETPOINT_OFF_REQUEST - Clock gate turn off request from GPC Setpoint
  20098. * 0b1..Clock gate requested to be turned off
  20099. * 0b0..No request
  20100. */
  20101. #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)
  20102. #define CCM_OSCPLL_STATUS1_SETPOINT_OFF_DONE_MASK (0x2000000U)
  20103. #define CCM_OSCPLL_STATUS1_SETPOINT_OFF_DONE_SHIFT (25U)
  20104. /*! SETPOINT_OFF_DONE - Clock source turn off finish from GPC Setpoint
  20105. * 0b1..Clock source is turned off
  20106. * 0b0..Clock source is not turned off
  20107. */
  20108. #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)
  20109. #define CCM_OSCPLL_STATUS1_SETPOINT_ON_REQUEST_MASK (0x4000000U)
  20110. #define CCM_OSCPLL_STATUS1_SETPOINT_ON_REQUEST_SHIFT (26U)
  20111. /*! SETPOINT_ON_REQUEST - Clock gate turn on request from GPC Setpoint
  20112. * 0b1..Clock gate requested to be turned on
  20113. * 0b0..No request
  20114. */
  20115. #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)
  20116. #define CCM_OSCPLL_STATUS1_SETPOINT_ON_DONE_MASK (0x8000000U)
  20117. #define CCM_OSCPLL_STATUS1_SETPOINT_ON_DONE_SHIFT (27U)
  20118. /*! SETPOINT_ON_DONE - Clock gate turn on finish from GPC Setpoint
  20119. * 0b1..Request to turn on clock gate
  20120. * 0b0..No request
  20121. */
  20122. #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)
  20123. #define CCM_OSCPLL_STATUS1_STANDBY_IN_REQUEST_MASK (0x10000000U)
  20124. #define CCM_OSCPLL_STATUS1_STANDBY_IN_REQUEST_SHIFT (28U)
  20125. /*! STANDBY_IN_REQUEST - Clock gate turn off request from GPC standby
  20126. * 0b1..Clock gate requested to be turned off
  20127. * 0b0..No request
  20128. */
  20129. #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)
  20130. #define CCM_OSCPLL_STATUS1_STANDBY_IN_DONE_MASK (0x20000000U)
  20131. #define CCM_OSCPLL_STATUS1_STANDBY_IN_DONE_SHIFT (29U)
  20132. /*! STANDBY_IN_DONE - Clock source turn off finish from GPC standby
  20133. * 0b1..Clock source is turned off
  20134. * 0b0..Clock source is not turned off
  20135. */
  20136. #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)
  20137. #define CCM_OSCPLL_STATUS1_STANDBY_OUT_DONE_MASK (0x40000000U)
  20138. #define CCM_OSCPLL_STATUS1_STANDBY_OUT_DONE_SHIFT (30U)
  20139. /*! STANDBY_OUT_DONE - Clock gate turn on finish from GPC standby
  20140. * 0b1..Request to turn on Clock gate is complete
  20141. * 0b0..Request to turn on Clock gate is not complete
  20142. */
  20143. #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)
  20144. #define CCM_OSCPLL_STATUS1_STANDBY_OUT_REQUEST_MASK (0x80000000U)
  20145. #define CCM_OSCPLL_STATUS1_STANDBY_OUT_REQUEST_SHIFT (31U)
  20146. /*! STANDBY_OUT_REQUEST - Clock gate turn on request from GPC standby
  20147. * 0b1..Clock gate requested to be turned on
  20148. * 0b0..No request
  20149. */
  20150. #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)
  20151. /*! @} */
  20152. /* The count of CCM_OSCPLL_STATUS1 */
  20153. #define CCM_OSCPLL_STATUS1_COUNT (29U)
  20154. /*! @name OSCPLL_CONFIG - Clock source configuration */
  20155. /*! @{ */
  20156. #define CCM_OSCPLL_CONFIG_AUTOMODE_PRESENT_MASK (0x2U)
  20157. #define CCM_OSCPLL_CONFIG_AUTOMODE_PRESENT_SHIFT (1U)
  20158. /*! AUTOMODE_PRESENT - Automode Present
  20159. * 0b1..Present
  20160. * 0b0..Not present
  20161. */
  20162. #define CCM_OSCPLL_CONFIG_AUTOMODE_PRESENT(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_CONFIG_AUTOMODE_PRESENT_SHIFT)) & CCM_OSCPLL_CONFIG_AUTOMODE_PRESENT_MASK)
  20163. #define CCM_OSCPLL_CONFIG_SETPOINT_PRESENT_MASK (0x10U)
  20164. #define CCM_OSCPLL_CONFIG_SETPOINT_PRESENT_SHIFT (4U)
  20165. /*! SETPOINT_PRESENT - Setpoint present
  20166. * 0b1..Setpoint is implemented.
  20167. * 0b0..Setpoint is not implemented.
  20168. */
  20169. #define CCM_OSCPLL_CONFIG_SETPOINT_PRESENT(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_CONFIG_SETPOINT_PRESENT_SHIFT)) & CCM_OSCPLL_CONFIG_SETPOINT_PRESENT_MASK)
  20170. /*! @} */
  20171. /* The count of CCM_OSCPLL_CONFIG */
  20172. #define CCM_OSCPLL_CONFIG_COUNT (29U)
  20173. /*! @name OSCPLL_AUTHEN - Clock source access control */
  20174. /*! @{ */
  20175. #define CCM_OSCPLL_AUTHEN_TZ_USER_MASK (0x1U)
  20176. #define CCM_OSCPLL_AUTHEN_TZ_USER_SHIFT (0U)
  20177. /*! TZ_USER - User access
  20178. * 0b1..Clock can be changed in user mode.
  20179. * 0b0..Clock cannot be changed in user mode.
  20180. */
  20181. #define CCM_OSCPLL_AUTHEN_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_AUTHEN_TZ_USER_SHIFT)) & CCM_OSCPLL_AUTHEN_TZ_USER_MASK)
  20182. #define CCM_OSCPLL_AUTHEN_TZ_NS_MASK (0x2U)
  20183. #define CCM_OSCPLL_AUTHEN_TZ_NS_SHIFT (1U)
  20184. /*! TZ_NS - Non-secure access
  20185. * 0b0..Cannot be changed in Non-secure mode.
  20186. * 0b1..Can be changed in Non-secure mode.
  20187. */
  20188. #define CCM_OSCPLL_AUTHEN_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_AUTHEN_TZ_NS_SHIFT)) & CCM_OSCPLL_AUTHEN_TZ_NS_MASK)
  20189. #define CCM_OSCPLL_AUTHEN_LOCK_TZ_MASK (0x10U)
  20190. #define CCM_OSCPLL_AUTHEN_LOCK_TZ_SHIFT (4U)
  20191. /*! LOCK_TZ - lock truszone setting
  20192. * 0b0..Trustzone setting is not locked.
  20193. * 0b1..Trustzone setting is locked.
  20194. */
  20195. #define CCM_OSCPLL_AUTHEN_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_AUTHEN_LOCK_TZ_SHIFT)) & CCM_OSCPLL_AUTHEN_LOCK_TZ_MASK)
  20196. #define CCM_OSCPLL_AUTHEN_WHITE_LIST_MASK (0xF00U)
  20197. #define CCM_OSCPLL_AUTHEN_WHITE_LIST_SHIFT (8U)
  20198. /*! WHITE_LIST - Whitelist
  20199. */
  20200. #define CCM_OSCPLL_AUTHEN_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_AUTHEN_WHITE_LIST_SHIFT)) & CCM_OSCPLL_AUTHEN_WHITE_LIST_MASK)
  20201. #define CCM_OSCPLL_AUTHEN_LOCK_LIST_MASK (0x1000U)
  20202. #define CCM_OSCPLL_AUTHEN_LOCK_LIST_SHIFT (12U)
  20203. /*! LOCK_LIST - Lock Whitelist
  20204. * 0b0..Whitelist is not locked.
  20205. * 0b1..Whitelist is locked.
  20206. */
  20207. #define CCM_OSCPLL_AUTHEN_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_AUTHEN_LOCK_LIST_SHIFT)) & CCM_OSCPLL_AUTHEN_LOCK_LIST_MASK)
  20208. #define CCM_OSCPLL_AUTHEN_DOMAIN_MODE_MASK (0x10000U)
  20209. #define CCM_OSCPLL_AUTHEN_DOMAIN_MODE_SHIFT (16U)
  20210. /*! DOMAIN_MODE - Low power and access control by domain
  20211. * 0b1..Clock works in Domain Mode.
  20212. * 0b0..Clock does not work in Domain Mode.
  20213. */
  20214. #define CCM_OSCPLL_AUTHEN_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_AUTHEN_DOMAIN_MODE_SHIFT)) & CCM_OSCPLL_AUTHEN_DOMAIN_MODE_MASK)
  20215. #define CCM_OSCPLL_AUTHEN_SETPOINT_MODE_MASK (0x20000U)
  20216. #define CCM_OSCPLL_AUTHEN_SETPOINT_MODE_SHIFT (17U)
  20217. /*! SETPOINT_MODE - LPCG works in Setpoint controlled Mode.
  20218. */
  20219. #define CCM_OSCPLL_AUTHEN_SETPOINT_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_AUTHEN_SETPOINT_MODE_SHIFT)) & CCM_OSCPLL_AUTHEN_SETPOINT_MODE_MASK)
  20220. #define CCM_OSCPLL_AUTHEN_CPULPM_MASK (0x40000U)
  20221. #define CCM_OSCPLL_AUTHEN_CPULPM_SHIFT (18U)
  20222. /*! CPULPM - CPU Low Power Mode
  20223. * 0b1..PLL functions in Low Power Mode
  20224. * 0b0..PLL does not function in Low power Mode
  20225. */
  20226. #define CCM_OSCPLL_AUTHEN_CPULPM(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_AUTHEN_CPULPM_SHIFT)) & CCM_OSCPLL_AUTHEN_CPULPM_MASK)
  20227. #define CCM_OSCPLL_AUTHEN_LOCK_MODE_MASK (0x100000U)
  20228. #define CCM_OSCPLL_AUTHEN_LOCK_MODE_SHIFT (20U)
  20229. /*! LOCK_MODE - Lock low power and access mode
  20230. * 0b0..MODE is not locked.
  20231. * 0b1..MODE is locked.
  20232. */
  20233. #define CCM_OSCPLL_AUTHEN_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_AUTHEN_LOCK_MODE_SHIFT)) & CCM_OSCPLL_AUTHEN_LOCK_MODE_MASK)
  20234. /*! @} */
  20235. /* The count of CCM_OSCPLL_AUTHEN */
  20236. #define CCM_OSCPLL_AUTHEN_COUNT (29U)
  20237. /*! @name LPCG_DIRECT - LPCG direct control */
  20238. /*! @{ */
  20239. #define CCM_LPCG_DIRECT_ON_MASK (0x1U)
  20240. #define CCM_LPCG_DIRECT_ON_SHIFT (0U)
  20241. /*! ON - LPCG on
  20242. * 0b0..LPCG is OFF.
  20243. * 0b1..LPCG is ON.
  20244. */
  20245. #define CCM_LPCG_DIRECT_ON(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_DIRECT_ON_SHIFT)) & CCM_LPCG_DIRECT_ON_MASK)
  20246. /*! @} */
  20247. /* The count of CCM_LPCG_DIRECT */
  20248. #define CCM_LPCG_DIRECT_COUNT (138U)
  20249. /*! @name LPCG_DOMAIN - LPCG domain control */
  20250. /*! @{ */
  20251. #define CCM_LPCG_DOMAIN_LEVEL_MASK (0x7U)
  20252. #define CCM_LPCG_DOMAIN_LEVEL_SHIFT (0U)
  20253. /*! LEVEL - Current dependence level
  20254. * 0b000..This clock source is not needed in any mode, and can be turned off
  20255. * 0b001..This clock source is needed in RUN mode, but not needed in WAIT, STOP mode
  20256. * 0b010..This clock source is needed in RUN and WAIT mode, but not needed in STOP mode
  20257. * 0b011..This clock source is needed in RUN, WAIT and STOP mode
  20258. * 0b100..This clock source is always on in any mode (including SUSPEND)
  20259. * 0b101, 0b110, 0b111..Reserved
  20260. */
  20261. #define CCM_LPCG_DOMAIN_LEVEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_DOMAIN_LEVEL_SHIFT)) & CCM_LPCG_DOMAIN_LEVEL_MASK)
  20262. #define CCM_LPCG_DOMAIN_LEVEL0_MASK (0x70000U)
  20263. #define CCM_LPCG_DOMAIN_LEVEL0_SHIFT (16U)
  20264. /*! LEVEL0 - Depend level
  20265. * 0b000..This clock source is not needed in any mode, and can be turned off
  20266. * 0b001..This clock source is needed in RUN mode, but not needed in WAIT, STOP mode
  20267. * 0b010..This clock source is needed in RUN and WAIT mode, but not needed in STOP mode
  20268. * 0b011..This clock source is needed in RUN, WAIT and STOP mode
  20269. * 0b100..This clock source is always on in any mode (including SUSPEND)
  20270. * 0b101, 0b110, 0b111..Reserved
  20271. */
  20272. #define CCM_LPCG_DOMAIN_LEVEL0(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_DOMAIN_LEVEL0_SHIFT)) & CCM_LPCG_DOMAIN_LEVEL0_MASK)
  20273. #define CCM_LPCG_DOMAIN_LEVEL1_MASK (0x700000U)
  20274. #define CCM_LPCG_DOMAIN_LEVEL1_SHIFT (20U)
  20275. /*! LEVEL1 - Depend level
  20276. * 0b000..This clock source is not needed in any mode, and can be turned off
  20277. * 0b001..This clock source is needed in RUN mode, but not needed in WAIT, STOP mode
  20278. * 0b010..This clock source is needed in RUN and WAIT mode, but not needed in STOP mode
  20279. * 0b011..This clock source is needed in RUN, WAIT and STOP mode
  20280. * 0b100..This clock source is always on in any mode (including SUSPEND)
  20281. * 0b101, 0b110, 0b111..Reserved
  20282. */
  20283. #define CCM_LPCG_DOMAIN_LEVEL1(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_DOMAIN_LEVEL1_SHIFT)) & CCM_LPCG_DOMAIN_LEVEL1_MASK)
  20284. #define CCM_LPCG_DOMAIN_LEVEL2_MASK (0x7000000U)
  20285. #define CCM_LPCG_DOMAIN_LEVEL2_SHIFT (24U)
  20286. /*! LEVEL2 - Depend level
  20287. * 0b000..This clock source is not needed in any mode, and can be turned off
  20288. * 0b001..This clock source is needed in RUN mode, but not needed in WAIT, STOP mode
  20289. * 0b010..This clock source is needed in RUN and WAIT mode, but not needed in STOP mode
  20290. * 0b011..This clock source is needed in RUN, WAIT and STOP mode
  20291. * 0b100..This clock source is always on in any mode (including SUSPEND)
  20292. * 0b101, 0b110, 0b111..Reserved
  20293. */
  20294. #define CCM_LPCG_DOMAIN_LEVEL2(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_DOMAIN_LEVEL2_SHIFT)) & CCM_LPCG_DOMAIN_LEVEL2_MASK)
  20295. #define CCM_LPCG_DOMAIN_LEVEL3_MASK (0x70000000U)
  20296. #define CCM_LPCG_DOMAIN_LEVEL3_SHIFT (28U)
  20297. /*! LEVEL3 - Depend level
  20298. * 0b000..This clock source is not needed in any mode, and can be turned off
  20299. * 0b001..This clock source is needed in RUN mode, but not needed in WAIT, STOP mode
  20300. * 0b010..This clock source is needed in RUN and WAIT mode, but not needed in STOP mode
  20301. * 0b011..This clock source is needed in RUN, WAIT and STOP mode
  20302. * 0b100..This clock source is always on in any mode (including SUSPEND)
  20303. * 0b101, 0b110, 0b111..Reserved
  20304. */
  20305. #define CCM_LPCG_DOMAIN_LEVEL3(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_DOMAIN_LEVEL3_SHIFT)) & CCM_LPCG_DOMAIN_LEVEL3_MASK)
  20306. /*! @} */
  20307. /* The count of CCM_LPCG_DOMAIN */
  20308. #define CCM_LPCG_DOMAIN_COUNT (138U)
  20309. /*! @name LPCG_SETPOINT - LPCG Setpoint setting */
  20310. /*! @{ */
  20311. #define CCM_LPCG_SETPOINT_SETPOINT_MASK (0xFFFFU)
  20312. #define CCM_LPCG_SETPOINT_SETPOINT_SHIFT (0U)
  20313. /*! SETPOINT - Setpoints
  20314. */
  20315. #define CCM_LPCG_SETPOINT_SETPOINT(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_SETPOINT_SETPOINT_SHIFT)) & CCM_LPCG_SETPOINT_SETPOINT_MASK)
  20316. #define CCM_LPCG_SETPOINT_STANDBY_MASK (0xFFFF0000U)
  20317. #define CCM_LPCG_SETPOINT_STANDBY_SHIFT (16U)
  20318. /*! STANDBY - Standby
  20319. */
  20320. #define CCM_LPCG_SETPOINT_STANDBY(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_SETPOINT_STANDBY_SHIFT)) & CCM_LPCG_SETPOINT_STANDBY_MASK)
  20321. /*! @} */
  20322. /* The count of CCM_LPCG_SETPOINT */
  20323. #define CCM_LPCG_SETPOINT_COUNT (138U)
  20324. /*! @name LPCG_STATUS0 - LPCG working status */
  20325. /*! @{ */
  20326. #define CCM_LPCG_STATUS0_ON_MASK (0x1U)
  20327. #define CCM_LPCG_STATUS0_ON_SHIFT (0U)
  20328. /*! ON - LPCG current state
  20329. * 0b0..LPCG is OFF.
  20330. * 0b1..LPCG is ON.
  20331. */
  20332. #define CCM_LPCG_STATUS0_ON(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_STATUS0_ON_SHIFT)) & CCM_LPCG_STATUS0_ON_MASK)
  20333. #define CCM_LPCG_STATUS0_ACTIVE_DOMAIN_MASK (0xF00U)
  20334. #define CCM_LPCG_STATUS0_ACTIVE_DOMAIN_SHIFT (8U)
  20335. /*! ACTIVE_DOMAIN - Domains that own this clock gate
  20336. * 0b0000..Clock not owned by any domain
  20337. * 0b0001..Clock owned by Domain0
  20338. * 0b0010..Clock owned by Domain1
  20339. * 0b0011..Clock owned by Domain0 and Domain1
  20340. * 0b0100..Clock owned by Domain2
  20341. * 0b0101..Clock owned by Domain0 and Domain2
  20342. * 0b0110..Clock owned by Domain1 and Domain2
  20343. * 0b0111..Clock owned by Domain0, Domain1 and Domain 2
  20344. * 0b1000..Clock owned by Domain3
  20345. * 0b1001..Clock owned by Domain0 and Domain3
  20346. * 0b1010..Clock owned by Domain1 and Domain3
  20347. * 0b1011..Clock owned by Domain2 and Domain3
  20348. * 0b1100..Clock owned by Domain0, Domain 1, and Domain3
  20349. * 0b1101..Clock owned by Domain0, Domain 2, and Domain3
  20350. * 0b1110..Clock owned by Domain1, Domain 2, and Domain3
  20351. * 0b1111..Clock owned by all domains
  20352. */
  20353. #define CCM_LPCG_STATUS0_ACTIVE_DOMAIN(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_STATUS0_ACTIVE_DOMAIN_SHIFT)) & CCM_LPCG_STATUS0_ACTIVE_DOMAIN_MASK)
  20354. #define CCM_LPCG_STATUS0_DOMAIN_ENABLE_MASK (0xF000U)
  20355. #define CCM_LPCG_STATUS0_DOMAIN_ENABLE_SHIFT (12U)
  20356. /*! DOMAIN_ENABLE - Enable status from each domain
  20357. * 0b0000..No domain request
  20358. * 0b0001..Request from Domain0
  20359. * 0b0010..Request from Domain1
  20360. * 0b0011..Request from Domain0 and Domain1
  20361. * 0b0100..Request from Domain2
  20362. * 0b0101..Request from Domain0 and Domain2
  20363. * 0b0110..Request from Domain1 and Domain2
  20364. * 0b0111..Request from Domain0, Domain1 and Domain 2
  20365. * 0b1000..Request from Domain3
  20366. * 0b1001..Request from Domain0 and Domain3
  20367. * 0b1010..Request from Domain1 and Domain3
  20368. * 0b1011..Request from Domain2 and Domain3
  20369. * 0b1100..Request from Domain0, Domain 1, and Domain3
  20370. * 0b1101..Request from Domain0, Domain 2, and Domain3
  20371. * 0b1110..Request from Domain1, Domain 2, and Domain3
  20372. * 0b1111..Request from all domains
  20373. */
  20374. #define CCM_LPCG_STATUS0_DOMAIN_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_STATUS0_DOMAIN_ENABLE_SHIFT)) & CCM_LPCG_STATUS0_DOMAIN_ENABLE_MASK)
  20375. /*! @} */
  20376. /* The count of CCM_LPCG_STATUS0 */
  20377. #define CCM_LPCG_STATUS0_COUNT (138U)
  20378. /*! @name LPCG_STATUS1 - LPCG low power status */
  20379. /*! @{ */
  20380. #define CCM_LPCG_STATUS1_CPU0_MODE_MASK (0x3U)
  20381. #define CCM_LPCG_STATUS1_CPU0_MODE_SHIFT (0U)
  20382. /*! CPU0_MODE - Domain0 Low Power Mode
  20383. * 0b00..Run
  20384. * 0b01..Wait
  20385. * 0b10..Stop
  20386. * 0b11..Suspend
  20387. */
  20388. #define CCM_LPCG_STATUS1_CPU0_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_STATUS1_CPU0_MODE_SHIFT)) & CCM_LPCG_STATUS1_CPU0_MODE_MASK)
  20389. #define CCM_LPCG_STATUS1_CPU0_MODE_REQUEST_MASK (0x4U)
  20390. #define CCM_LPCG_STATUS1_CPU0_MODE_REQUEST_SHIFT (2U)
  20391. /*! CPU0_MODE_REQUEST - Domain0 request enter Low Power Mode
  20392. * 0b1..Request from domain to enter Low Power Mode
  20393. * 0b0..No request
  20394. */
  20395. #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)
  20396. #define CCM_LPCG_STATUS1_CPU0_MODE_DONE_MASK (0x8U)
  20397. #define CCM_LPCG_STATUS1_CPU0_MODE_DONE_SHIFT (3U)
  20398. /*! CPU0_MODE_DONE - Domain0 Low Power Mode task done
  20399. * 0b1..Clock is gated-off
  20400. * 0b0..Clock is not gated
  20401. */
  20402. #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)
  20403. #define CCM_LPCG_STATUS1_CPU1_MODE_MASK (0x30U)
  20404. #define CCM_LPCG_STATUS1_CPU1_MODE_SHIFT (4U)
  20405. /*! CPU1_MODE - Domain1 Low Power Mode
  20406. * 0b00..Run
  20407. * 0b01..Wait
  20408. * 0b10..Stop
  20409. * 0b11..Suspend
  20410. */
  20411. #define CCM_LPCG_STATUS1_CPU1_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_STATUS1_CPU1_MODE_SHIFT)) & CCM_LPCG_STATUS1_CPU1_MODE_MASK)
  20412. #define CCM_LPCG_STATUS1_CPU1_MODE_REQUEST_MASK (0x40U)
  20413. #define CCM_LPCG_STATUS1_CPU1_MODE_REQUEST_SHIFT (6U)
  20414. /*! CPU1_MODE_REQUEST - Domain1 request enter Low Power Mode
  20415. * 0b1..Request from domain to enter Low Power Mode
  20416. * 0b0..No request
  20417. */
  20418. #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)
  20419. #define CCM_LPCG_STATUS1_CPU1_MODE_DONE_MASK (0x80U)
  20420. #define CCM_LPCG_STATUS1_CPU1_MODE_DONE_SHIFT (7U)
  20421. /*! CPU1_MODE_DONE - Domain1 Low Power Mode task done
  20422. * 0b1..Clock is gated-off
  20423. * 0b0..Clock is not gated
  20424. */
  20425. #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)
  20426. #define CCM_LPCG_STATUS1_CPU2_MODE_MASK (0x300U)
  20427. #define CCM_LPCG_STATUS1_CPU2_MODE_SHIFT (8U)
  20428. /*! CPU2_MODE - Domain2 Low Power Mode
  20429. * 0b00..Run
  20430. * 0b01..Wait
  20431. * 0b10..Stop
  20432. * 0b11..Suspend
  20433. */
  20434. #define CCM_LPCG_STATUS1_CPU2_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_STATUS1_CPU2_MODE_SHIFT)) & CCM_LPCG_STATUS1_CPU2_MODE_MASK)
  20435. #define CCM_LPCG_STATUS1_CPU2_MODE_REQUEST_MASK (0x400U)
  20436. #define CCM_LPCG_STATUS1_CPU2_MODE_REQUEST_SHIFT (10U)
  20437. /*! CPU2_MODE_REQUEST - Domain2 request enter Low Power Mode
  20438. * 0b1..Request from domain to enter Low Power Mode
  20439. * 0b0..No request
  20440. */
  20441. #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)
  20442. #define CCM_LPCG_STATUS1_CPU2_MODE_DONE_MASK (0x800U)
  20443. #define CCM_LPCG_STATUS1_CPU2_MODE_DONE_SHIFT (11U)
  20444. /*! CPU2_MODE_DONE - Domain2 Low Power Mode task done
  20445. * 0b1..Clock is gated-off
  20446. * 0b0..Clock is not gated
  20447. */
  20448. #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)
  20449. #define CCM_LPCG_STATUS1_CPU3_MODE_MASK (0x3000U)
  20450. #define CCM_LPCG_STATUS1_CPU3_MODE_SHIFT (12U)
  20451. /*! CPU3_MODE - Domain3 Low Power Mode
  20452. * 0b00..Run
  20453. * 0b01..Wait
  20454. * 0b10..Stop
  20455. * 0b11..Suspend
  20456. */
  20457. #define CCM_LPCG_STATUS1_CPU3_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_STATUS1_CPU3_MODE_SHIFT)) & CCM_LPCG_STATUS1_CPU3_MODE_MASK)
  20458. #define CCM_LPCG_STATUS1_CPU3_MODE_REQUEST_MASK (0x4000U)
  20459. #define CCM_LPCG_STATUS1_CPU3_MODE_REQUEST_SHIFT (14U)
  20460. /*! CPU3_MODE_REQUEST - Domain3 request enter Low Power Mode
  20461. * 0b1..Request from domain to enter Low Power Mode
  20462. * 0b0..No request
  20463. */
  20464. #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)
  20465. #define CCM_LPCG_STATUS1_CPU3_MODE_DONE_MASK (0x8000U)
  20466. #define CCM_LPCG_STATUS1_CPU3_MODE_DONE_SHIFT (15U)
  20467. /*! CPU3_MODE_DONE - Domain3 Low Power Mode task done
  20468. * 0b1..Clock is gated-off
  20469. * 0b0..Clock is not gated
  20470. */
  20471. #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)
  20472. #define CCM_LPCG_STATUS1_TARGET_SETPOINT_MASK (0xF0000U)
  20473. #define CCM_LPCG_STATUS1_TARGET_SETPOINT_SHIFT (16U)
  20474. /*! TARGET_SETPOINT - Next Setpoint to change to
  20475. */
  20476. #define CCM_LPCG_STATUS1_TARGET_SETPOINT(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_STATUS1_TARGET_SETPOINT_SHIFT)) & CCM_LPCG_STATUS1_TARGET_SETPOINT_MASK)
  20477. #define CCM_LPCG_STATUS1_CURRENT_SETPOINT_MASK (0xF00000U)
  20478. #define CCM_LPCG_STATUS1_CURRENT_SETPOINT_SHIFT (20U)
  20479. /*! CURRENT_SETPOINT - Current Setpoint
  20480. */
  20481. #define CCM_LPCG_STATUS1_CURRENT_SETPOINT(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_STATUS1_CURRENT_SETPOINT_SHIFT)) & CCM_LPCG_STATUS1_CURRENT_SETPOINT_MASK)
  20482. #define CCM_LPCG_STATUS1_SETPOINT_OFF_REQUEST_MASK (0x1000000U)
  20483. #define CCM_LPCG_STATUS1_SETPOINT_OFF_REQUEST_SHIFT (24U)
  20484. /*! SETPOINT_OFF_REQUEST - Clock gate turn off request from GPC Setpoint
  20485. * 0b1..Clock gate requested to be turned off
  20486. * 0b0..No request
  20487. */
  20488. #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)
  20489. #define CCM_LPCG_STATUS1_SETPOINT_OFF_DONE_MASK (0x2000000U)
  20490. #define CCM_LPCG_STATUS1_SETPOINT_OFF_DONE_SHIFT (25U)
  20491. /*! SETPOINT_OFF_DONE - Clock gate turn off finish from GPC Setpoint
  20492. * 0b1..Clock gate is turned off
  20493. * 0b0..Clock gate is not turned off
  20494. */
  20495. #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)
  20496. #define CCM_LPCG_STATUS1_SETPOINT_ON_REQUEST_MASK (0x4000000U)
  20497. #define CCM_LPCG_STATUS1_SETPOINT_ON_REQUEST_SHIFT (26U)
  20498. /*! SETPOINT_ON_REQUEST - Clock gate turn on request from GPC Setpoint
  20499. * 0b1..Clock gate requested to be turned on
  20500. * 0b0..No request
  20501. */
  20502. #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)
  20503. #define CCM_LPCG_STATUS1_SETPOINT_ON_DONE_MASK (0x8000000U)
  20504. #define CCM_LPCG_STATUS1_SETPOINT_ON_DONE_SHIFT (27U)
  20505. /*! SETPOINT_ON_DONE - Clock gate turn on finish from GPC Setpoint
  20506. * 0b1..Clock gate is turned on
  20507. * 0b0..Clock gate is not turned on
  20508. */
  20509. #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)
  20510. /*! @} */
  20511. /* The count of CCM_LPCG_STATUS1 */
  20512. #define CCM_LPCG_STATUS1_COUNT (138U)
  20513. /*! @name LPCG_CONFIG - LPCG configuration */
  20514. /*! @{ */
  20515. #define CCM_LPCG_CONFIG_SETPOINT_PRESENT_MASK (0x10U)
  20516. #define CCM_LPCG_CONFIG_SETPOINT_PRESENT_SHIFT (4U)
  20517. /*! SETPOINT_PRESENT - Setpoint present
  20518. * 0b1..Setpoint is implemented.
  20519. * 0b0..Setpoint is not implemented.
  20520. */
  20521. #define CCM_LPCG_CONFIG_SETPOINT_PRESENT(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_CONFIG_SETPOINT_PRESENT_SHIFT)) & CCM_LPCG_CONFIG_SETPOINT_PRESENT_MASK)
  20522. /*! @} */
  20523. /* The count of CCM_LPCG_CONFIG */
  20524. #define CCM_LPCG_CONFIG_COUNT (138U)
  20525. /*! @name LPCG_AUTHEN - LPCG access control */
  20526. /*! @{ */
  20527. #define CCM_LPCG_AUTHEN_TZ_USER_MASK (0x1U)
  20528. #define CCM_LPCG_AUTHEN_TZ_USER_SHIFT (0U)
  20529. /*! TZ_USER - User access
  20530. * 0b1..LPCG can be changed in user mode.
  20531. * 0b0..LPCG cannot be changed in user mode.
  20532. */
  20533. #define CCM_LPCG_AUTHEN_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_AUTHEN_TZ_USER_SHIFT)) & CCM_LPCG_AUTHEN_TZ_USER_MASK)
  20534. #define CCM_LPCG_AUTHEN_TZ_NS_MASK (0x2U)
  20535. #define CCM_LPCG_AUTHEN_TZ_NS_SHIFT (1U)
  20536. /*! TZ_NS - Non-secure access
  20537. * 0b0..Cannot be changed in Non-secure mode.
  20538. * 0b1..Can be changed in Non-secure mode.
  20539. */
  20540. #define CCM_LPCG_AUTHEN_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_AUTHEN_TZ_NS_SHIFT)) & CCM_LPCG_AUTHEN_TZ_NS_MASK)
  20541. #define CCM_LPCG_AUTHEN_LOCK_TZ_MASK (0x10U)
  20542. #define CCM_LPCG_AUTHEN_LOCK_TZ_SHIFT (4U)
  20543. /*! LOCK_TZ - lock truszone setting
  20544. * 0b0..Trustzone setting is not locked.
  20545. * 0b1..Trustzone setting is locked.
  20546. */
  20547. #define CCM_LPCG_AUTHEN_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_AUTHEN_LOCK_TZ_SHIFT)) & CCM_LPCG_AUTHEN_LOCK_TZ_MASK)
  20548. #define CCM_LPCG_AUTHEN_WHITE_LIST_MASK (0xF00U)
  20549. #define CCM_LPCG_AUTHEN_WHITE_LIST_SHIFT (8U)
  20550. /*! WHITE_LIST - Whitelist
  20551. */
  20552. #define CCM_LPCG_AUTHEN_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_AUTHEN_WHITE_LIST_SHIFT)) & CCM_LPCG_AUTHEN_WHITE_LIST_MASK)
  20553. #define CCM_LPCG_AUTHEN_LOCK_LIST_MASK (0x1000U)
  20554. #define CCM_LPCG_AUTHEN_LOCK_LIST_SHIFT (12U)
  20555. /*! LOCK_LIST - Lock Whitelist
  20556. * 0b0..Whitelist is not locked.
  20557. * 0b1..Whitelist is locked.
  20558. */
  20559. #define CCM_LPCG_AUTHEN_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_AUTHEN_LOCK_LIST_SHIFT)) & CCM_LPCG_AUTHEN_LOCK_LIST_MASK)
  20560. #define CCM_LPCG_AUTHEN_DOMAIN_MODE_MASK (0x10000U)
  20561. #define CCM_LPCG_AUTHEN_DOMAIN_MODE_SHIFT (16U)
  20562. /*! DOMAIN_MODE - Low power and access control by domain
  20563. * 0b1..Clock works in Domain Mode
  20564. * 0b0..Clock does not work in Domain Mode
  20565. */
  20566. #define CCM_LPCG_AUTHEN_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_AUTHEN_DOMAIN_MODE_SHIFT)) & CCM_LPCG_AUTHEN_DOMAIN_MODE_MASK)
  20567. #define CCM_LPCG_AUTHEN_SETPOINT_MODE_MASK (0x20000U)
  20568. #define CCM_LPCG_AUTHEN_SETPOINT_MODE_SHIFT (17U)
  20569. /*! SETPOINT_MODE - Low power and access control by Setpoint
  20570. * 0b1..LPCG is functioning in Setpoint controlled Mode
  20571. * 0b0..LPCG is not functioning in Setpoint controlled Mode
  20572. */
  20573. #define CCM_LPCG_AUTHEN_SETPOINT_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_AUTHEN_SETPOINT_MODE_SHIFT)) & CCM_LPCG_AUTHEN_SETPOINT_MODE_MASK)
  20574. #define CCM_LPCG_AUTHEN_CPULPM_MASK (0x40000U)
  20575. #define CCM_LPCG_AUTHEN_CPULPM_SHIFT (18U)
  20576. /*! CPULPM - CPU Low Power Mode
  20577. * 0b1..LPCG is functioning in Low Power Mode
  20578. * 0b0..LPCG is not functioning in Low power Mode
  20579. */
  20580. #define CCM_LPCG_AUTHEN_CPULPM(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_AUTHEN_CPULPM_SHIFT)) & CCM_LPCG_AUTHEN_CPULPM_MASK)
  20581. #define CCM_LPCG_AUTHEN_LOCK_MODE_MASK (0x100000U)
  20582. #define CCM_LPCG_AUTHEN_LOCK_MODE_SHIFT (20U)
  20583. /*! LOCK_MODE - Lock low power and access mode
  20584. * 0b0..MODE is not locked.
  20585. * 0b1..MODE is locked.
  20586. */
  20587. #define CCM_LPCG_AUTHEN_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_AUTHEN_LOCK_MODE_SHIFT)) & CCM_LPCG_AUTHEN_LOCK_MODE_MASK)
  20588. /*! @} */
  20589. /* The count of CCM_LPCG_AUTHEN */
  20590. #define CCM_LPCG_AUTHEN_COUNT (138U)
  20591. /*!
  20592. * @}
  20593. */ /* end of group CCM_Register_Masks */
  20594. /* CCM - Peripheral instance base addresses */
  20595. /** Peripheral CCM base address */
  20596. #define CCM_BASE (0x40CC0000u)
  20597. /** Peripheral CCM base pointer */
  20598. #define CCM ((CCM_Type *)CCM_BASE)
  20599. /** Array initializer of CCM peripheral base addresses */
  20600. #define CCM_BASE_ADDRS { CCM_BASE }
  20601. /** Array initializer of CCM peripheral base pointers */
  20602. #define CCM_BASE_PTRS { CCM }
  20603. /*!
  20604. * @}
  20605. */ /* end of group CCM_Peripheral_Access_Layer */
  20606. /* ----------------------------------------------------------------------------
  20607. -- CCM_OBS Peripheral Access Layer
  20608. ---------------------------------------------------------------------------- */
  20609. /*!
  20610. * @addtogroup CCM_OBS_Peripheral_Access_Layer CCM_OBS Peripheral Access Layer
  20611. * @{
  20612. */
  20613. /** CCM_OBS - Register Layout Typedef */
  20614. typedef struct {
  20615. struct { /* offset: 0x0, array step: 0x80 */
  20616. __IO uint32_t CONTROL; /**< Observe control, array offset: 0x0, array step: 0x80 */
  20617. __IO uint32_t CONTROL_SET; /**< Observe control, array offset: 0x4, array step: 0x80 */
  20618. __IO uint32_t CONTROL_CLR; /**< Observe control, array offset: 0x8, array step: 0x80 */
  20619. __IO uint32_t CONTROL_TOG; /**< Observe control, array offset: 0xC, array step: 0x80 */
  20620. uint8_t RESERVED_0[16];
  20621. __I uint32_t STATUS0; /**< Observe status, array offset: 0x20, array step: 0x80 */
  20622. uint8_t RESERVED_1[12];
  20623. __IO uint32_t AUTHEN; /**< Observe access control, array offset: 0x30, array step: 0x80 */
  20624. __IO uint32_t AUTHEN_SET; /**< Observe access control, array offset: 0x34, array step: 0x80 */
  20625. __IO uint32_t AUTHEN_CLR; /**< Observe access control, array offset: 0x38, array step: 0x80 */
  20626. __IO uint32_t AUTHEN_TOG; /**< Observe access control, array offset: 0x3C, array step: 0x80 */
  20627. __I uint32_t FREQUENCY_CURRENT; /**< Current frequency detected, array offset: 0x40, array step: 0x80 */
  20628. __I uint32_t FREQUENCY_MIN; /**< Minimum frequency detected, array offset: 0x44, array step: 0x80 */
  20629. __I uint32_t FREQUENCY_MAX; /**< Maximum frequency detected, array offset: 0x48, array step: 0x80 */
  20630. uint8_t RESERVED_2[52];
  20631. } OBSERVE[6];
  20632. } CCM_OBS_Type;
  20633. /* ----------------------------------------------------------------------------
  20634. -- CCM_OBS Register Masks
  20635. ---------------------------------------------------------------------------- */
  20636. /*!
  20637. * @addtogroup CCM_OBS_Register_Masks CCM_OBS Register Masks
  20638. * @{
  20639. */
  20640. /*! @name OBSERVE_CONTROL - Observe control */
  20641. /*! @{ */
  20642. #define CCM_OBS_OBSERVE_CONTROL_SELECT_MASK (0x1FFU)
  20643. #define CCM_OBS_OBSERVE_CONTROL_SELECT_SHIFT (0U)
  20644. /*! SELECT - Observe signal selector
  20645. */
  20646. #define CCM_OBS_OBSERVE_CONTROL_SELECT(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_CONTROL_SELECT_SHIFT)) & CCM_OBS_OBSERVE_CONTROL_SELECT_MASK)
  20647. #define CCM_OBS_OBSERVE_CONTROL_RAW_MASK (0x1000U)
  20648. #define CCM_OBS_OBSERVE_CONTROL_RAW_SHIFT (12U)
  20649. /*! RAW - Observe raw signal
  20650. * 0b0..Select divided signal.
  20651. * 0b1..Select raw signal.
  20652. */
  20653. #define CCM_OBS_OBSERVE_CONTROL_RAW(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_CONTROL_RAW_SHIFT)) & CCM_OBS_OBSERVE_CONTROL_RAW_MASK)
  20654. #define CCM_OBS_OBSERVE_CONTROL_INV_MASK (0x2000U)
  20655. #define CCM_OBS_OBSERVE_CONTROL_INV_SHIFT (13U)
  20656. /*! INV - Invert
  20657. * 0b0..Clock phase remain same.
  20658. * 0b1..Invert clock phase before measurement or send to IO.
  20659. */
  20660. #define CCM_OBS_OBSERVE_CONTROL_INV(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_CONTROL_INV_SHIFT)) & CCM_OBS_OBSERVE_CONTROL_INV_MASK)
  20661. #define CCM_OBS_OBSERVE_CONTROL_RESET_MASK (0x8000U)
  20662. #define CCM_OBS_OBSERVE_CONTROL_RESET_SHIFT (15U)
  20663. /*! RESET - Reset observe divider
  20664. * 0b0..No reset
  20665. * 0b1..Reset observe divider
  20666. */
  20667. #define CCM_OBS_OBSERVE_CONTROL_RESET(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_CONTROL_RESET_SHIFT)) & CCM_OBS_OBSERVE_CONTROL_RESET_MASK)
  20668. #define CCM_OBS_OBSERVE_CONTROL_DIVIDE_MASK (0xFF0000U)
  20669. #define CCM_OBS_OBSERVE_CONTROL_DIVIDE_SHIFT (16U)
  20670. /*! DIVIDE - Divider for observe signal
  20671. */
  20672. #define CCM_OBS_OBSERVE_CONTROL_DIVIDE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_CONTROL_DIVIDE_SHIFT)) & CCM_OBS_OBSERVE_CONTROL_DIVIDE_MASK)
  20673. #define CCM_OBS_OBSERVE_CONTROL_OFF_MASK (0x1000000U)
  20674. #define CCM_OBS_OBSERVE_CONTROL_OFF_SHIFT (24U)
  20675. /*! OFF - Turn off
  20676. * 0b0..observe slice is on
  20677. * 0b1..observe slice is off
  20678. */
  20679. #define CCM_OBS_OBSERVE_CONTROL_OFF(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_CONTROL_OFF_SHIFT)) & CCM_OBS_OBSERVE_CONTROL_OFF_MASK)
  20680. /*! @} */
  20681. /* The count of CCM_OBS_OBSERVE_CONTROL */
  20682. #define CCM_OBS_OBSERVE_CONTROL_COUNT (6U)
  20683. /*! @name OBSERVE_CONTROL_SET - Observe control */
  20684. /*! @{ */
  20685. #define CCM_OBS_OBSERVE_CONTROL_SET_SELECT_MASK (0x1FFU)
  20686. #define CCM_OBS_OBSERVE_CONTROL_SET_SELECT_SHIFT (0U)
  20687. /*! SELECT - Observe signal selector
  20688. */
  20689. #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)
  20690. #define CCM_OBS_OBSERVE_CONTROL_SET_RAW_MASK (0x1000U)
  20691. #define CCM_OBS_OBSERVE_CONTROL_SET_RAW_SHIFT (12U)
  20692. /*! RAW - Observe raw signal
  20693. */
  20694. #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)
  20695. #define CCM_OBS_OBSERVE_CONTROL_SET_INV_MASK (0x2000U)
  20696. #define CCM_OBS_OBSERVE_CONTROL_SET_INV_SHIFT (13U)
  20697. /*! INV - Invert
  20698. */
  20699. #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)
  20700. #define CCM_OBS_OBSERVE_CONTROL_SET_RESET_MASK (0x8000U)
  20701. #define CCM_OBS_OBSERVE_CONTROL_SET_RESET_SHIFT (15U)
  20702. /*! RESET - Reset observe divider
  20703. */
  20704. #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)
  20705. #define CCM_OBS_OBSERVE_CONTROL_SET_DIVIDE_MASK (0xFF0000U)
  20706. #define CCM_OBS_OBSERVE_CONTROL_SET_DIVIDE_SHIFT (16U)
  20707. /*! DIVIDE - Divider for observe signal
  20708. */
  20709. #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)
  20710. #define CCM_OBS_OBSERVE_CONTROL_SET_OFF_MASK (0x1000000U)
  20711. #define CCM_OBS_OBSERVE_CONTROL_SET_OFF_SHIFT (24U)
  20712. /*! OFF - Turn off
  20713. */
  20714. #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)
  20715. /*! @} */
  20716. /* The count of CCM_OBS_OBSERVE_CONTROL_SET */
  20717. #define CCM_OBS_OBSERVE_CONTROL_SET_COUNT (6U)
  20718. /*! @name OBSERVE_CONTROL_CLR - Observe control */
  20719. /*! @{ */
  20720. #define CCM_OBS_OBSERVE_CONTROL_CLR_SELECT_MASK (0x1FFU)
  20721. #define CCM_OBS_OBSERVE_CONTROL_CLR_SELECT_SHIFT (0U)
  20722. /*! SELECT - Observe signal selector
  20723. */
  20724. #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)
  20725. #define CCM_OBS_OBSERVE_CONTROL_CLR_RAW_MASK (0x1000U)
  20726. #define CCM_OBS_OBSERVE_CONTROL_CLR_RAW_SHIFT (12U)
  20727. /*! RAW - Observe raw signal
  20728. */
  20729. #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)
  20730. #define CCM_OBS_OBSERVE_CONTROL_CLR_INV_MASK (0x2000U)
  20731. #define CCM_OBS_OBSERVE_CONTROL_CLR_INV_SHIFT (13U)
  20732. /*! INV - Invert
  20733. */
  20734. #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)
  20735. #define CCM_OBS_OBSERVE_CONTROL_CLR_RESET_MASK (0x8000U)
  20736. #define CCM_OBS_OBSERVE_CONTROL_CLR_RESET_SHIFT (15U)
  20737. /*! RESET - Reset observe divider
  20738. */
  20739. #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)
  20740. #define CCM_OBS_OBSERVE_CONTROL_CLR_DIVIDE_MASK (0xFF0000U)
  20741. #define CCM_OBS_OBSERVE_CONTROL_CLR_DIVIDE_SHIFT (16U)
  20742. /*! DIVIDE - Divider for observe signal
  20743. */
  20744. #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)
  20745. #define CCM_OBS_OBSERVE_CONTROL_CLR_OFF_MASK (0x1000000U)
  20746. #define CCM_OBS_OBSERVE_CONTROL_CLR_OFF_SHIFT (24U)
  20747. /*! OFF - Turn off
  20748. */
  20749. #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)
  20750. /*! @} */
  20751. /* The count of CCM_OBS_OBSERVE_CONTROL_CLR */
  20752. #define CCM_OBS_OBSERVE_CONTROL_CLR_COUNT (6U)
  20753. /*! @name OBSERVE_CONTROL_TOG - Observe control */
  20754. /*! @{ */
  20755. #define CCM_OBS_OBSERVE_CONTROL_TOG_SELECT_MASK (0x1FFU)
  20756. #define CCM_OBS_OBSERVE_CONTROL_TOG_SELECT_SHIFT (0U)
  20757. /*! SELECT - Observe signal selector
  20758. */
  20759. #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)
  20760. #define CCM_OBS_OBSERVE_CONTROL_TOG_RAW_MASK (0x1000U)
  20761. #define CCM_OBS_OBSERVE_CONTROL_TOG_RAW_SHIFT (12U)
  20762. /*! RAW - Observe raw signal
  20763. */
  20764. #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)
  20765. #define CCM_OBS_OBSERVE_CONTROL_TOG_INV_MASK (0x2000U)
  20766. #define CCM_OBS_OBSERVE_CONTROL_TOG_INV_SHIFT (13U)
  20767. /*! INV - Invert
  20768. */
  20769. #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)
  20770. #define CCM_OBS_OBSERVE_CONTROL_TOG_RESET_MASK (0x8000U)
  20771. #define CCM_OBS_OBSERVE_CONTROL_TOG_RESET_SHIFT (15U)
  20772. /*! RESET - Reset observe divider
  20773. */
  20774. #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)
  20775. #define CCM_OBS_OBSERVE_CONTROL_TOG_DIVIDE_MASK (0xFF0000U)
  20776. #define CCM_OBS_OBSERVE_CONTROL_TOG_DIVIDE_SHIFT (16U)
  20777. /*! DIVIDE - Divider for observe signal
  20778. */
  20779. #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)
  20780. #define CCM_OBS_OBSERVE_CONTROL_TOG_OFF_MASK (0x1000000U)
  20781. #define CCM_OBS_OBSERVE_CONTROL_TOG_OFF_SHIFT (24U)
  20782. /*! OFF - Turn off
  20783. */
  20784. #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)
  20785. /*! @} */
  20786. /* The count of CCM_OBS_OBSERVE_CONTROL_TOG */
  20787. #define CCM_OBS_OBSERVE_CONTROL_TOG_COUNT (6U)
  20788. /*! @name OBSERVE_STATUS0 - Observe status */
  20789. /*! @{ */
  20790. #define CCM_OBS_OBSERVE_STATUS0_SELECT_MASK (0x1FFU)
  20791. #define CCM_OBS_OBSERVE_STATUS0_SELECT_SHIFT (0U)
  20792. /*! SELECT - Select value
  20793. */
  20794. #define CCM_OBS_OBSERVE_STATUS0_SELECT(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_STATUS0_SELECT_SHIFT)) & CCM_OBS_OBSERVE_STATUS0_SELECT_MASK)
  20795. #define CCM_OBS_OBSERVE_STATUS0_RAW_MASK (0x1000U)
  20796. #define CCM_OBS_OBSERVE_STATUS0_RAW_SHIFT (12U)
  20797. /*! RAW - Observe raw signal
  20798. * 0b0..Divided signal is selected
  20799. * 0b1..Raw signal is selected
  20800. */
  20801. #define CCM_OBS_OBSERVE_STATUS0_RAW(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_STATUS0_RAW_SHIFT)) & CCM_OBS_OBSERVE_STATUS0_RAW_MASK)
  20802. #define CCM_OBS_OBSERVE_STATUS0_INV_MASK (0x2000U)
  20803. #define CCM_OBS_OBSERVE_STATUS0_INV_SHIFT (13U)
  20804. /*! INV - Polarity of the observe target
  20805. * 0b1..Polarity of the observe target is inverted
  20806. * 0b0..Polarity is not inverted
  20807. */
  20808. #define CCM_OBS_OBSERVE_STATUS0_INV(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_STATUS0_INV_SHIFT)) & CCM_OBS_OBSERVE_STATUS0_INV_MASK)
  20809. #define CCM_OBS_OBSERVE_STATUS0_RESET_MASK (0x8000U)
  20810. #define CCM_OBS_OBSERVE_STATUS0_RESET_SHIFT (15U)
  20811. /*! RESET - Reset state
  20812. * 0b1..Observe divider is in reset state
  20813. * 0b0..Observe divider is not in reset state
  20814. */
  20815. #define CCM_OBS_OBSERVE_STATUS0_RESET(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_STATUS0_RESET_SHIFT)) & CCM_OBS_OBSERVE_STATUS0_RESET_MASK)
  20816. #define CCM_OBS_OBSERVE_STATUS0_DIVIDE_MASK (0xFF0000U)
  20817. #define CCM_OBS_OBSERVE_STATUS0_DIVIDE_SHIFT (16U)
  20818. /*! DIVIDE - Divide value status. The clock will be divided by DIVIDE + 1.
  20819. */
  20820. #define CCM_OBS_OBSERVE_STATUS0_DIVIDE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_STATUS0_DIVIDE_SHIFT)) & CCM_OBS_OBSERVE_STATUS0_DIVIDE_MASK)
  20821. #define CCM_OBS_OBSERVE_STATUS0_OFF_MASK (0x1000000U)
  20822. #define CCM_OBS_OBSERVE_STATUS0_OFF_SHIFT (24U)
  20823. /*! OFF - Turn off slice
  20824. * 0b0..observe slice is on
  20825. * 0b1..observe slice is off
  20826. */
  20827. #define CCM_OBS_OBSERVE_STATUS0_OFF(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_STATUS0_OFF_SHIFT)) & CCM_OBS_OBSERVE_STATUS0_OFF_MASK)
  20828. /*! @} */
  20829. /* The count of CCM_OBS_OBSERVE_STATUS0 */
  20830. #define CCM_OBS_OBSERVE_STATUS0_COUNT (6U)
  20831. /*! @name OBSERVE_AUTHEN - Observe access control */
  20832. /*! @{ */
  20833. #define CCM_OBS_OBSERVE_AUTHEN_TZ_USER_MASK (0x1U)
  20834. #define CCM_OBS_OBSERVE_AUTHEN_TZ_USER_SHIFT (0U)
  20835. /*! TZ_USER - User access
  20836. * 0b1..Clock can be changed in user mode.
  20837. * 0b0..Clock cannot be changed in user mode.
  20838. */
  20839. #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)
  20840. #define CCM_OBS_OBSERVE_AUTHEN_TZ_NS_MASK (0x2U)
  20841. #define CCM_OBS_OBSERVE_AUTHEN_TZ_NS_SHIFT (1U)
  20842. /*! TZ_NS - Non-secure access
  20843. * 0b0..Cannot be changed in Non-secure mode.
  20844. * 0b1..Can be changed in Non-secure mode.
  20845. */
  20846. #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)
  20847. #define CCM_OBS_OBSERVE_AUTHEN_LOCK_TZ_MASK (0x10U)
  20848. #define CCM_OBS_OBSERVE_AUTHEN_LOCK_TZ_SHIFT (4U)
  20849. /*! LOCK_TZ - Lock truszone setting
  20850. * 0b0..Trustzone setting is not locked.
  20851. * 0b1..Trustzone setting is locked.
  20852. */
  20853. #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)
  20854. #define CCM_OBS_OBSERVE_AUTHEN_WHITE_LIST_MASK (0xF00U)
  20855. #define CCM_OBS_OBSERVE_AUTHEN_WHITE_LIST_SHIFT (8U)
  20856. /*! WHITE_LIST - White list
  20857. * 0b1111..All domain can change.
  20858. * 0b0010..Domain 1 can change.
  20859. * 0b0011..Domain 0 and domain 1 can change.
  20860. * 0b0000..No domain can change.
  20861. * 0b0100..Domain 2 can change.
  20862. * 0b0001..Domain 0 can change.
  20863. */
  20864. #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)
  20865. #define CCM_OBS_OBSERVE_AUTHEN_LOCK_LIST_MASK (0x1000U)
  20866. #define CCM_OBS_OBSERVE_AUTHEN_LOCK_LIST_SHIFT (12U)
  20867. /*! LOCK_LIST - Lock white list
  20868. * 0b0..White list is not locked.
  20869. * 0b1..White list is locked.
  20870. */
  20871. #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)
  20872. #define CCM_OBS_OBSERVE_AUTHEN_DOMAIN_MODE_MASK (0x10000U)
  20873. #define CCM_OBS_OBSERVE_AUTHEN_DOMAIN_MODE_SHIFT (16U)
  20874. /*! DOMAIN_MODE - Low power and access control by domain
  20875. * 0b1..Clock works in domain mode.
  20876. * 0b0..Clock does not work in domain mode.
  20877. */
  20878. #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)
  20879. #define CCM_OBS_OBSERVE_AUTHEN_LOCK_MODE_MASK (0x100000U)
  20880. #define CCM_OBS_OBSERVE_AUTHEN_LOCK_MODE_SHIFT (20U)
  20881. /*! LOCK_MODE - Lock low power and access mode
  20882. * 0b0..MODE is not locked.
  20883. * 0b1..MODE is locked.
  20884. */
  20885. #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)
  20886. /*! @} */
  20887. /* The count of CCM_OBS_OBSERVE_AUTHEN */
  20888. #define CCM_OBS_OBSERVE_AUTHEN_COUNT (6U)
  20889. /*! @name OBSERVE_AUTHEN_SET - Observe access control */
  20890. /*! @{ */
  20891. #define CCM_OBS_OBSERVE_AUTHEN_SET_TZ_USER_MASK (0x1U)
  20892. #define CCM_OBS_OBSERVE_AUTHEN_SET_TZ_USER_SHIFT (0U)
  20893. /*! TZ_USER - User access
  20894. */
  20895. #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)
  20896. #define CCM_OBS_OBSERVE_AUTHEN_SET_TZ_NS_MASK (0x2U)
  20897. #define CCM_OBS_OBSERVE_AUTHEN_SET_TZ_NS_SHIFT (1U)
  20898. /*! TZ_NS - Non-secure access
  20899. */
  20900. #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)
  20901. #define CCM_OBS_OBSERVE_AUTHEN_SET_LOCK_TZ_MASK (0x10U)
  20902. #define CCM_OBS_OBSERVE_AUTHEN_SET_LOCK_TZ_SHIFT (4U)
  20903. /*! LOCK_TZ - Lock truszone setting
  20904. */
  20905. #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)
  20906. #define CCM_OBS_OBSERVE_AUTHEN_SET_WHITE_LIST_MASK (0xF00U)
  20907. #define CCM_OBS_OBSERVE_AUTHEN_SET_WHITE_LIST_SHIFT (8U)
  20908. /*! WHITE_LIST - White list
  20909. */
  20910. #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)
  20911. #define CCM_OBS_OBSERVE_AUTHEN_SET_LOCK_LIST_MASK (0x1000U)
  20912. #define CCM_OBS_OBSERVE_AUTHEN_SET_LOCK_LIST_SHIFT (12U)
  20913. /*! LOCK_LIST - Lock white list
  20914. */
  20915. #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)
  20916. #define CCM_OBS_OBSERVE_AUTHEN_SET_DOMAIN_MODE_MASK (0x10000U)
  20917. #define CCM_OBS_OBSERVE_AUTHEN_SET_DOMAIN_MODE_SHIFT (16U)
  20918. /*! DOMAIN_MODE - Low power and access control by domain
  20919. */
  20920. #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)
  20921. #define CCM_OBS_OBSERVE_AUTHEN_SET_LOCK_MODE_MASK (0x100000U)
  20922. #define CCM_OBS_OBSERVE_AUTHEN_SET_LOCK_MODE_SHIFT (20U)
  20923. /*! LOCK_MODE - Lock low power and access mode
  20924. */
  20925. #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)
  20926. /*! @} */
  20927. /* The count of CCM_OBS_OBSERVE_AUTHEN_SET */
  20928. #define CCM_OBS_OBSERVE_AUTHEN_SET_COUNT (6U)
  20929. /*! @name OBSERVE_AUTHEN_CLR - Observe access control */
  20930. /*! @{ */
  20931. #define CCM_OBS_OBSERVE_AUTHEN_CLR_TZ_USER_MASK (0x1U)
  20932. #define CCM_OBS_OBSERVE_AUTHEN_CLR_TZ_USER_SHIFT (0U)
  20933. /*! TZ_USER - User access
  20934. */
  20935. #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)
  20936. #define CCM_OBS_OBSERVE_AUTHEN_CLR_TZ_NS_MASK (0x2U)
  20937. #define CCM_OBS_OBSERVE_AUTHEN_CLR_TZ_NS_SHIFT (1U)
  20938. /*! TZ_NS - Non-secure access
  20939. */
  20940. #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)
  20941. #define CCM_OBS_OBSERVE_AUTHEN_CLR_LOCK_TZ_MASK (0x10U)
  20942. #define CCM_OBS_OBSERVE_AUTHEN_CLR_LOCK_TZ_SHIFT (4U)
  20943. /*! LOCK_TZ - Lock truszone setting
  20944. */
  20945. #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)
  20946. #define CCM_OBS_OBSERVE_AUTHEN_CLR_WHITE_LIST_MASK (0xF00U)
  20947. #define CCM_OBS_OBSERVE_AUTHEN_CLR_WHITE_LIST_SHIFT (8U)
  20948. /*! WHITE_LIST - White list
  20949. */
  20950. #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)
  20951. #define CCM_OBS_OBSERVE_AUTHEN_CLR_LOCK_LIST_MASK (0x1000U)
  20952. #define CCM_OBS_OBSERVE_AUTHEN_CLR_LOCK_LIST_SHIFT (12U)
  20953. /*! LOCK_LIST - Lock white list
  20954. */
  20955. #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)
  20956. #define CCM_OBS_OBSERVE_AUTHEN_CLR_DOMAIN_MODE_MASK (0x10000U)
  20957. #define CCM_OBS_OBSERVE_AUTHEN_CLR_DOMAIN_MODE_SHIFT (16U)
  20958. /*! DOMAIN_MODE - Low power and access control by domain
  20959. */
  20960. #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)
  20961. #define CCM_OBS_OBSERVE_AUTHEN_CLR_LOCK_MODE_MASK (0x100000U)
  20962. #define CCM_OBS_OBSERVE_AUTHEN_CLR_LOCK_MODE_SHIFT (20U)
  20963. /*! LOCK_MODE - Lock low power and access mode
  20964. */
  20965. #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)
  20966. /*! @} */
  20967. /* The count of CCM_OBS_OBSERVE_AUTHEN_CLR */
  20968. #define CCM_OBS_OBSERVE_AUTHEN_CLR_COUNT (6U)
  20969. /*! @name OBSERVE_AUTHEN_TOG - Observe access control */
  20970. /*! @{ */
  20971. #define CCM_OBS_OBSERVE_AUTHEN_TOG_TZ_USER_MASK (0x1U)
  20972. #define CCM_OBS_OBSERVE_AUTHEN_TOG_TZ_USER_SHIFT (0U)
  20973. /*! TZ_USER - User access
  20974. */
  20975. #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)
  20976. #define CCM_OBS_OBSERVE_AUTHEN_TOG_TZ_NS_MASK (0x2U)
  20977. #define CCM_OBS_OBSERVE_AUTHEN_TOG_TZ_NS_SHIFT (1U)
  20978. /*! TZ_NS - Non-secure access
  20979. */
  20980. #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)
  20981. #define CCM_OBS_OBSERVE_AUTHEN_TOG_LOCK_TZ_MASK (0x10U)
  20982. #define CCM_OBS_OBSERVE_AUTHEN_TOG_LOCK_TZ_SHIFT (4U)
  20983. /*! LOCK_TZ - Lock truszone setting
  20984. */
  20985. #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)
  20986. #define CCM_OBS_OBSERVE_AUTHEN_TOG_WHITE_LIST_MASK (0xF00U)
  20987. #define CCM_OBS_OBSERVE_AUTHEN_TOG_WHITE_LIST_SHIFT (8U)
  20988. /*! WHITE_LIST - White list
  20989. */
  20990. #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)
  20991. #define CCM_OBS_OBSERVE_AUTHEN_TOG_LOCK_LIST_MASK (0x1000U)
  20992. #define CCM_OBS_OBSERVE_AUTHEN_TOG_LOCK_LIST_SHIFT (12U)
  20993. /*! LOCK_LIST - Lock white list
  20994. */
  20995. #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)
  20996. #define CCM_OBS_OBSERVE_AUTHEN_TOG_DOMAIN_MODE_MASK (0x10000U)
  20997. #define CCM_OBS_OBSERVE_AUTHEN_TOG_DOMAIN_MODE_SHIFT (16U)
  20998. /*! DOMAIN_MODE - Low power and access control by domain
  20999. */
  21000. #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)
  21001. #define CCM_OBS_OBSERVE_AUTHEN_TOG_LOCK_MODE_MASK (0x100000U)
  21002. #define CCM_OBS_OBSERVE_AUTHEN_TOG_LOCK_MODE_SHIFT (20U)
  21003. /*! LOCK_MODE - Lock low power and access mode
  21004. */
  21005. #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)
  21006. /*! @} */
  21007. /* The count of CCM_OBS_OBSERVE_AUTHEN_TOG */
  21008. #define CCM_OBS_OBSERVE_AUTHEN_TOG_COUNT (6U)
  21009. /*! @name OBSERVE_FREQUENCY_CURRENT - Current frequency detected */
  21010. /*! @{ */
  21011. #define CCM_OBS_OBSERVE_FREQUENCY_CURRENT_FREQUENCY_MASK (0xFFFFFFFFU)
  21012. #define CCM_OBS_OBSERVE_FREQUENCY_CURRENT_FREQUENCY_SHIFT (0U)
  21013. /*! FREQUENCY - Frequency
  21014. */
  21015. #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)
  21016. /*! @} */
  21017. /* The count of CCM_OBS_OBSERVE_FREQUENCY_CURRENT */
  21018. #define CCM_OBS_OBSERVE_FREQUENCY_CURRENT_COUNT (6U)
  21019. /*! @name OBSERVE_FREQUENCY_MIN - Minimum frequency detected */
  21020. /*! @{ */
  21021. #define CCM_OBS_OBSERVE_FREQUENCY_MIN_FREQUENCY_MASK (0xFFFFFFFFU)
  21022. #define CCM_OBS_OBSERVE_FREQUENCY_MIN_FREQUENCY_SHIFT (0U)
  21023. /*! FREQUENCY - Frequency
  21024. */
  21025. #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)
  21026. /*! @} */
  21027. /* The count of CCM_OBS_OBSERVE_FREQUENCY_MIN */
  21028. #define CCM_OBS_OBSERVE_FREQUENCY_MIN_COUNT (6U)
  21029. /*! @name OBSERVE_FREQUENCY_MAX - Maximum frequency detected */
  21030. /*! @{ */
  21031. #define CCM_OBS_OBSERVE_FREQUENCY_MAX_FREQUENCY_MASK (0xFFFFFFFFU)
  21032. #define CCM_OBS_OBSERVE_FREQUENCY_MAX_FREQUENCY_SHIFT (0U)
  21033. /*! FREQUENCY - Frequency
  21034. */
  21035. #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)
  21036. /*! @} */
  21037. /* The count of CCM_OBS_OBSERVE_FREQUENCY_MAX */
  21038. #define CCM_OBS_OBSERVE_FREQUENCY_MAX_COUNT (6U)
  21039. /*!
  21040. * @}
  21041. */ /* end of group CCM_OBS_Register_Masks */
  21042. /* CCM_OBS - Peripheral instance base addresses */
  21043. /** Peripheral CCM_OBS base address */
  21044. #define CCM_OBS_BASE (0x40150000u)
  21045. /** Peripheral CCM_OBS base pointer */
  21046. #define CCM_OBS ((CCM_OBS_Type *)CCM_OBS_BASE)
  21047. /** Array initializer of CCM_OBS peripheral base addresses */
  21048. #define CCM_OBS_BASE_ADDRS { CCM_OBS_BASE }
  21049. /** Array initializer of CCM_OBS peripheral base pointers */
  21050. #define CCM_OBS_BASE_PTRS { CCM_OBS }
  21051. /*!
  21052. * @}
  21053. */ /* end of group CCM_OBS_Peripheral_Access_Layer */
  21054. /* ----------------------------------------------------------------------------
  21055. -- CDOG Peripheral Access Layer
  21056. ---------------------------------------------------------------------------- */
  21057. /*!
  21058. * @addtogroup CDOG_Peripheral_Access_Layer CDOG Peripheral Access Layer
  21059. * @{
  21060. */
  21061. /** CDOG - Register Layout Typedef */
  21062. typedef struct {
  21063. __IO uint32_t CONTROL; /**< Control, offset: 0x0 */
  21064. __IO uint32_t RELOAD; /**< Instruction Timer reload, offset: 0x4 */
  21065. __IO uint32_t INSTRUCTION_TIMER; /**< Instruction Timer, offset: 0x8 */
  21066. __O uint32_t SECURE_COUNTER; /**< Secure Counter, offset: 0xC */
  21067. __I uint32_t STATUS; /**< Status 1, offset: 0x10 */
  21068. __I uint32_t STATUS2; /**< Status 2, offset: 0x14 */
  21069. __IO uint32_t FLAGS; /**< Flags, offset: 0x18 */
  21070. __IO uint32_t PERSISTENT; /**< Persistent Data Storage, offset: 0x1C */
  21071. __O uint32_t START; /**< START Command, offset: 0x20 */
  21072. __O uint32_t STOP; /**< STOP Command, offset: 0x24 */
  21073. __O uint32_t RESTART; /**< RESTART Command, offset: 0x28 */
  21074. __O uint32_t ADD; /**< ADD Command, offset: 0x2C */
  21075. __O uint32_t ADD1; /**< ADD1 Command, offset: 0x30 */
  21076. __O uint32_t ADD16; /**< ADD16 Command, offset: 0x34 */
  21077. __O uint32_t ADD256; /**< ADD256 Command, offset: 0x38 */
  21078. __O uint32_t SUB; /**< SUB Command, offset: 0x3C */
  21079. __O uint32_t SUB1; /**< SUB1 Command, offset: 0x40 */
  21080. __O uint32_t SUB16; /**< SUB16 Command, offset: 0x44 */
  21081. __O uint32_t SUB256; /**< SUB256 Command, offset: 0x48 */
  21082. } CDOG_Type;
  21083. /* ----------------------------------------------------------------------------
  21084. -- CDOG Register Masks
  21085. ---------------------------------------------------------------------------- */
  21086. /*!
  21087. * @addtogroup CDOG_Register_Masks CDOG Register Masks
  21088. * @{
  21089. */
  21090. /*! @name CONTROL - Control */
  21091. /*! @{ */
  21092. #define CDOG_CONTROL_LOCK_CTRL_MASK (0x3U)
  21093. #define CDOG_CONTROL_LOCK_CTRL_SHIFT (0U)
  21094. /*! LOCK_CTRL - Lock control
  21095. * 0b01..Locked
  21096. * 0b10..Unlocked
  21097. */
  21098. #define CDOG_CONTROL_LOCK_CTRL(x) (((uint32_t)(((uint32_t)(x)) << CDOG_CONTROL_LOCK_CTRL_SHIFT)) & CDOG_CONTROL_LOCK_CTRL_MASK)
  21099. #define CDOG_CONTROL_TIMEOUT_CTRL_MASK (0x1CU)
  21100. #define CDOG_CONTROL_TIMEOUT_CTRL_SHIFT (2U)
  21101. /*! TIMEOUT_CTRL - TIMEOUT fault control
  21102. * 0b100..Disable both reset and interrupt
  21103. * 0b001..Enable reset
  21104. * 0b010..Enable interrupt
  21105. */
  21106. #define CDOG_CONTROL_TIMEOUT_CTRL(x) (((uint32_t)(((uint32_t)(x)) << CDOG_CONTROL_TIMEOUT_CTRL_SHIFT)) & CDOG_CONTROL_TIMEOUT_CTRL_MASK)
  21107. #define CDOG_CONTROL_MISCOMPARE_CTRL_MASK (0xE0U)
  21108. #define CDOG_CONTROL_MISCOMPARE_CTRL_SHIFT (5U)
  21109. /*! MISCOMPARE_CTRL - MISCOMPARE fault control
  21110. * 0b100..Disable both reset and interrupt
  21111. * 0b001..Enable reset
  21112. * 0b010..Enable interrupt
  21113. */
  21114. #define CDOG_CONTROL_MISCOMPARE_CTRL(x) (((uint32_t)(((uint32_t)(x)) << CDOG_CONTROL_MISCOMPARE_CTRL_SHIFT)) & CDOG_CONTROL_MISCOMPARE_CTRL_MASK)
  21115. #define CDOG_CONTROL_SEQUENCE_CTRL_MASK (0x700U)
  21116. #define CDOG_CONTROL_SEQUENCE_CTRL_SHIFT (8U)
  21117. /*! SEQUENCE_CTRL - SEQUENCE fault control
  21118. * 0b001..Enable reset
  21119. * 0b010..Enable interrupt
  21120. * 0b100..Disable both reset and interrupt
  21121. */
  21122. #define CDOG_CONTROL_SEQUENCE_CTRL(x) (((uint32_t)(((uint32_t)(x)) << CDOG_CONTROL_SEQUENCE_CTRL_SHIFT)) & CDOG_CONTROL_SEQUENCE_CTRL_MASK)
  21123. #define CDOG_CONTROL_CONTROL_CTRL_MASK (0x3800U)
  21124. #define CDOG_CONTROL_CONTROL_CTRL_SHIFT (11U)
  21125. /*! CONTROL_CTRL - CONTROL fault control
  21126. * 0b001..Enable reset
  21127. * 0b100..Disable reset
  21128. */
  21129. #define CDOG_CONTROL_CONTROL_CTRL(x) (((uint32_t)(((uint32_t)(x)) << CDOG_CONTROL_CONTROL_CTRL_SHIFT)) & CDOG_CONTROL_CONTROL_CTRL_MASK)
  21130. #define CDOG_CONTROL_STATE_CTRL_MASK (0x1C000U)
  21131. #define CDOG_CONTROL_STATE_CTRL_SHIFT (14U)
  21132. /*! STATE_CTRL - STATE fault control
  21133. * 0b001..Enable reset
  21134. * 0b010..Enable interrupt
  21135. * 0b100..Disable both reset and interrupt
  21136. */
  21137. #define CDOG_CONTROL_STATE_CTRL(x) (((uint32_t)(((uint32_t)(x)) << CDOG_CONTROL_STATE_CTRL_SHIFT)) & CDOG_CONTROL_STATE_CTRL_MASK)
  21138. #define CDOG_CONTROL_ADDRESS_CTRL_MASK (0xE0000U)
  21139. #define CDOG_CONTROL_ADDRESS_CTRL_SHIFT (17U)
  21140. /*! ADDRESS_CTRL - ADDRESS fault control
  21141. * 0b001..Enable reset
  21142. * 0b010..Enable interrupt
  21143. * 0b100..Disable both reset and interrupt
  21144. */
  21145. #define CDOG_CONTROL_ADDRESS_CTRL(x) (((uint32_t)(((uint32_t)(x)) << CDOG_CONTROL_ADDRESS_CTRL_SHIFT)) & CDOG_CONTROL_ADDRESS_CTRL_MASK)
  21146. #define CDOG_CONTROL_IRQ_PAUSE_MASK (0x30000000U)
  21147. #define CDOG_CONTROL_IRQ_PAUSE_SHIFT (28U)
  21148. /*! IRQ_PAUSE - IRQ pause control
  21149. * 0b01..Keep the timer running
  21150. * 0b10..Stop the timer
  21151. */
  21152. #define CDOG_CONTROL_IRQ_PAUSE(x) (((uint32_t)(((uint32_t)(x)) << CDOG_CONTROL_IRQ_PAUSE_SHIFT)) & CDOG_CONTROL_IRQ_PAUSE_MASK)
  21153. #define CDOG_CONTROL_DEBUG_HALT_CTRL_MASK (0xC0000000U)
  21154. #define CDOG_CONTROL_DEBUG_HALT_CTRL_SHIFT (30U)
  21155. /*! DEBUG_HALT_CTRL - DEBUG_HALT control
  21156. * 0b01..Keep the timer running
  21157. * 0b10..Stop the timer
  21158. */
  21159. #define CDOG_CONTROL_DEBUG_HALT_CTRL(x) (((uint32_t)(((uint32_t)(x)) << CDOG_CONTROL_DEBUG_HALT_CTRL_SHIFT)) & CDOG_CONTROL_DEBUG_HALT_CTRL_MASK)
  21160. /*! @} */
  21161. /*! @name RELOAD - Instruction Timer reload */
  21162. /*! @{ */
  21163. #define CDOG_RELOAD_RLOAD_MASK (0xFFFFFFFFU)
  21164. #define CDOG_RELOAD_RLOAD_SHIFT (0U)
  21165. /*! RLOAD - Instruction Timer reload value
  21166. */
  21167. #define CDOG_RELOAD_RLOAD(x) (((uint32_t)(((uint32_t)(x)) << CDOG_RELOAD_RLOAD_SHIFT)) & CDOG_RELOAD_RLOAD_MASK)
  21168. /*! @} */
  21169. /*! @name INSTRUCTION_TIMER - Instruction Timer */
  21170. /*! @{ */
  21171. #define CDOG_INSTRUCTION_TIMER_INSTIM_MASK (0xFFFFFFFFU)
  21172. #define CDOG_INSTRUCTION_TIMER_INSTIM_SHIFT (0U)
  21173. /*! INSTIM - Current value of the Instruction Timer
  21174. */
  21175. #define CDOG_INSTRUCTION_TIMER_INSTIM(x) (((uint32_t)(((uint32_t)(x)) << CDOG_INSTRUCTION_TIMER_INSTIM_SHIFT)) & CDOG_INSTRUCTION_TIMER_INSTIM_MASK)
  21176. /*! @} */
  21177. /*! @name SECURE_COUNTER - Secure Counter */
  21178. /*! @{ */
  21179. #define CDOG_SECURE_COUNTER_SECCNT_MASK (0xFFFFFFFFU)
  21180. #define CDOG_SECURE_COUNTER_SECCNT_SHIFT (0U)
  21181. /*! SECCNT - Secure Counter
  21182. */
  21183. #define CDOG_SECURE_COUNTER_SECCNT(x) (((uint32_t)(((uint32_t)(x)) << CDOG_SECURE_COUNTER_SECCNT_SHIFT)) & CDOG_SECURE_COUNTER_SECCNT_MASK)
  21184. /*! @} */
  21185. /*! @name STATUS - Status 1 */
  21186. /*! @{ */
  21187. #define CDOG_STATUS_NUMTOF_MASK (0xFFU)
  21188. #define CDOG_STATUS_NUMTOF_SHIFT (0U)
  21189. /*! NUMTOF - Number of TIMEOUT faults since the last POR
  21190. */
  21191. #define CDOG_STATUS_NUMTOF(x) (((uint32_t)(((uint32_t)(x)) << CDOG_STATUS_NUMTOF_SHIFT)) & CDOG_STATUS_NUMTOF_MASK)
  21192. #define CDOG_STATUS_NUMMISCOMPF_MASK (0xFF00U)
  21193. #define CDOG_STATUS_NUMMISCOMPF_SHIFT (8U)
  21194. /*! NUMMISCOMPF - Number of MISCOMPARE faults since the last POR
  21195. */
  21196. #define CDOG_STATUS_NUMMISCOMPF(x) (((uint32_t)(((uint32_t)(x)) << CDOG_STATUS_NUMMISCOMPF_SHIFT)) & CDOG_STATUS_NUMMISCOMPF_MASK)
  21197. #define CDOG_STATUS_NUMILSEQF_MASK (0xFF0000U)
  21198. #define CDOG_STATUS_NUMILSEQF_SHIFT (16U)
  21199. /*! NUMILSEQF - Number of SEQUENCE faults since the last POR
  21200. */
  21201. #define CDOG_STATUS_NUMILSEQF(x) (((uint32_t)(((uint32_t)(x)) << CDOG_STATUS_NUMILSEQF_SHIFT)) & CDOG_STATUS_NUMILSEQF_MASK)
  21202. #define CDOG_STATUS_CURST_MASK (0xF0000000U)
  21203. #define CDOG_STATUS_CURST_SHIFT (28U)
  21204. /*! CURST - Current State
  21205. */
  21206. #define CDOG_STATUS_CURST(x) (((uint32_t)(((uint32_t)(x)) << CDOG_STATUS_CURST_SHIFT)) & CDOG_STATUS_CURST_MASK)
  21207. /*! @} */
  21208. /*! @name STATUS2 - Status 2 */
  21209. /*! @{ */
  21210. #define CDOG_STATUS2_NUMCNTF_MASK (0xFFU)
  21211. #define CDOG_STATUS2_NUMCNTF_SHIFT (0U)
  21212. /*! NUMCNTF - Number of CONTROL faults since the last POR
  21213. */
  21214. #define CDOG_STATUS2_NUMCNTF(x) (((uint32_t)(((uint32_t)(x)) << CDOG_STATUS2_NUMCNTF_SHIFT)) & CDOG_STATUS2_NUMCNTF_MASK)
  21215. #define CDOG_STATUS2_NUMILLSTF_MASK (0xFF00U)
  21216. #define CDOG_STATUS2_NUMILLSTF_SHIFT (8U)
  21217. /*! NUMILLSTF - Number of STATE faults since the last POR
  21218. */
  21219. #define CDOG_STATUS2_NUMILLSTF(x) (((uint32_t)(((uint32_t)(x)) << CDOG_STATUS2_NUMILLSTF_SHIFT)) & CDOG_STATUS2_NUMILLSTF_MASK)
  21220. #define CDOG_STATUS2_NUMILLA_MASK (0xFF0000U)
  21221. #define CDOG_STATUS2_NUMILLA_SHIFT (16U)
  21222. /*! NUMILLA - Number of ADDRESS faults since the last POR
  21223. */
  21224. #define CDOG_STATUS2_NUMILLA(x) (((uint32_t)(((uint32_t)(x)) << CDOG_STATUS2_NUMILLA_SHIFT)) & CDOG_STATUS2_NUMILLA_MASK)
  21225. /*! @} */
  21226. /*! @name FLAGS - Flags */
  21227. /*! @{ */
  21228. #define CDOG_FLAGS_TO_FLAG_MASK (0x1U)
  21229. #define CDOG_FLAGS_TO_FLAG_SHIFT (0U)
  21230. /*! TO_FLAG - TIMEOUT fault flag
  21231. * 0b0..A TIMEOUT fault has not occurred
  21232. * 0b1..A TIMEOUT fault has occurred
  21233. */
  21234. #define CDOG_FLAGS_TO_FLAG(x) (((uint32_t)(((uint32_t)(x)) << CDOG_FLAGS_TO_FLAG_SHIFT)) & CDOG_FLAGS_TO_FLAG_MASK)
  21235. #define CDOG_FLAGS_MISCOM_FLAG_MASK (0x2U)
  21236. #define CDOG_FLAGS_MISCOM_FLAG_SHIFT (1U)
  21237. /*! MISCOM_FLAG - MISCOMPARE fault flag
  21238. * 0b0..A MISCOMPARE fault has not occurred
  21239. * 0b1..A MISCOMPARE fault has occurred
  21240. */
  21241. #define CDOG_FLAGS_MISCOM_FLAG(x) (((uint32_t)(((uint32_t)(x)) << CDOG_FLAGS_MISCOM_FLAG_SHIFT)) & CDOG_FLAGS_MISCOM_FLAG_MASK)
  21242. #define CDOG_FLAGS_SEQ_FLAG_MASK (0x4U)
  21243. #define CDOG_FLAGS_SEQ_FLAG_SHIFT (2U)
  21244. /*! SEQ_FLAG - SEQUENCE fault flag
  21245. * 0b0..A SEQUENCE fault has not occurred
  21246. * 0b1..A SEQUENCE fault has occurred
  21247. */
  21248. #define CDOG_FLAGS_SEQ_FLAG(x) (((uint32_t)(((uint32_t)(x)) << CDOG_FLAGS_SEQ_FLAG_SHIFT)) & CDOG_FLAGS_SEQ_FLAG_MASK)
  21249. #define CDOG_FLAGS_CNT_FLAG_MASK (0x8U)
  21250. #define CDOG_FLAGS_CNT_FLAG_SHIFT (3U)
  21251. /*! CNT_FLAG - CONTROL fault flag
  21252. * 0b0..A CONTROL fault has not occurred
  21253. * 0b1..A CONTROL fault has occurred
  21254. */
  21255. #define CDOG_FLAGS_CNT_FLAG(x) (((uint32_t)(((uint32_t)(x)) << CDOG_FLAGS_CNT_FLAG_SHIFT)) & CDOG_FLAGS_CNT_FLAG_MASK)
  21256. #define CDOG_FLAGS_STATE_FLAG_MASK (0x10U)
  21257. #define CDOG_FLAGS_STATE_FLAG_SHIFT (4U)
  21258. /*! STATE_FLAG - STATE fault flag
  21259. * 0b0..A STATE fault has not occurred
  21260. * 0b1..A STATE fault has occurred
  21261. */
  21262. #define CDOG_FLAGS_STATE_FLAG(x) (((uint32_t)(((uint32_t)(x)) << CDOG_FLAGS_STATE_FLAG_SHIFT)) & CDOG_FLAGS_STATE_FLAG_MASK)
  21263. #define CDOG_FLAGS_ADDR_FLAG_MASK (0x20U)
  21264. #define CDOG_FLAGS_ADDR_FLAG_SHIFT (5U)
  21265. /*! ADDR_FLAG - ADDRESS fault flag
  21266. * 0b0..An ADDRESS fault has not occurred
  21267. * 0b1..An ADDRESS fault has occurred
  21268. */
  21269. #define CDOG_FLAGS_ADDR_FLAG(x) (((uint32_t)(((uint32_t)(x)) << CDOG_FLAGS_ADDR_FLAG_SHIFT)) & CDOG_FLAGS_ADDR_FLAG_MASK)
  21270. #define CDOG_FLAGS_POR_FLAG_MASK (0x10000U)
  21271. #define CDOG_FLAGS_POR_FLAG_SHIFT (16U)
  21272. /*! POR_FLAG - Power-on reset flag
  21273. * 0b0..A Power-on reset event has not occurred
  21274. * 0b1..A Power-on reset event has occurred
  21275. */
  21276. #define CDOG_FLAGS_POR_FLAG(x) (((uint32_t)(((uint32_t)(x)) << CDOG_FLAGS_POR_FLAG_SHIFT)) & CDOG_FLAGS_POR_FLAG_MASK)
  21277. /*! @} */
  21278. /*! @name PERSISTENT - Persistent Data Storage */
  21279. /*! @{ */
  21280. #define CDOG_PERSISTENT_PERSIS_MASK (0xFFFFFFFFU)
  21281. #define CDOG_PERSISTENT_PERSIS_SHIFT (0U)
  21282. /*! PERSIS - Persistent Storage
  21283. */
  21284. #define CDOG_PERSISTENT_PERSIS(x) (((uint32_t)(((uint32_t)(x)) << CDOG_PERSISTENT_PERSIS_SHIFT)) & CDOG_PERSISTENT_PERSIS_MASK)
  21285. /*! @} */
  21286. /*! @name START - START Command */
  21287. /*! @{ */
  21288. #define CDOG_START_STRT_MASK (0xFFFFFFFFU)
  21289. #define CDOG_START_STRT_SHIFT (0U)
  21290. /*! STRT - Start command
  21291. */
  21292. #define CDOG_START_STRT(x) (((uint32_t)(((uint32_t)(x)) << CDOG_START_STRT_SHIFT)) & CDOG_START_STRT_MASK)
  21293. /*! @} */
  21294. /*! @name STOP - STOP Command */
  21295. /*! @{ */
  21296. #define CDOG_STOP_STP_MASK (0xFFFFFFFFU)
  21297. #define CDOG_STOP_STP_SHIFT (0U)
  21298. /*! STP - Stop command
  21299. */
  21300. #define CDOG_STOP_STP(x) (((uint32_t)(((uint32_t)(x)) << CDOG_STOP_STP_SHIFT)) & CDOG_STOP_STP_MASK)
  21301. /*! @} */
  21302. /*! @name RESTART - RESTART Command */
  21303. /*! @{ */
  21304. #define CDOG_RESTART_RSTRT_MASK (0xFFFFFFFFU)
  21305. #define CDOG_RESTART_RSTRT_SHIFT (0U)
  21306. /*! RSTRT - Restart command
  21307. */
  21308. #define CDOG_RESTART_RSTRT(x) (((uint32_t)(((uint32_t)(x)) << CDOG_RESTART_RSTRT_SHIFT)) & CDOG_RESTART_RSTRT_MASK)
  21309. /*! @} */
  21310. /*! @name ADD - ADD Command */
  21311. /*! @{ */
  21312. #define CDOG_ADD_AD_MASK (0xFFFFFFFFU)
  21313. #define CDOG_ADD_AD_SHIFT (0U)
  21314. /*! AD - ADD Write Value
  21315. */
  21316. #define CDOG_ADD_AD(x) (((uint32_t)(((uint32_t)(x)) << CDOG_ADD_AD_SHIFT)) & CDOG_ADD_AD_MASK)
  21317. /*! @} */
  21318. /*! @name ADD1 - ADD1 Command */
  21319. /*! @{ */
  21320. #define CDOG_ADD1_AD1_MASK (0xFFFFFFFFU)
  21321. #define CDOG_ADD1_AD1_SHIFT (0U)
  21322. /*! AD1 - ADD 1
  21323. */
  21324. #define CDOG_ADD1_AD1(x) (((uint32_t)(((uint32_t)(x)) << CDOG_ADD1_AD1_SHIFT)) & CDOG_ADD1_AD1_MASK)
  21325. /*! @} */
  21326. /*! @name ADD16 - ADD16 Command */
  21327. /*! @{ */
  21328. #define CDOG_ADD16_AD16_MASK (0xFFFFFFFFU)
  21329. #define CDOG_ADD16_AD16_SHIFT (0U)
  21330. /*! AD16 - ADD 16
  21331. */
  21332. #define CDOG_ADD16_AD16(x) (((uint32_t)(((uint32_t)(x)) << CDOG_ADD16_AD16_SHIFT)) & CDOG_ADD16_AD16_MASK)
  21333. /*! @} */
  21334. /*! @name ADD256 - ADD256 Command */
  21335. /*! @{ */
  21336. #define CDOG_ADD256_AD256_MASK (0xFFFFFFFFU)
  21337. #define CDOG_ADD256_AD256_SHIFT (0U)
  21338. /*! AD256 - ADD 256
  21339. */
  21340. #define CDOG_ADD256_AD256(x) (((uint32_t)(((uint32_t)(x)) << CDOG_ADD256_AD256_SHIFT)) & CDOG_ADD256_AD256_MASK)
  21341. /*! @} */
  21342. /*! @name SUB - SUB Command */
  21343. /*! @{ */
  21344. #define CDOG_SUB_S0B_MASK (0xFFFFFFFFU)
  21345. #define CDOG_SUB_S0B_SHIFT (0U)
  21346. /*! S0B - Subtract Write Value
  21347. */
  21348. #define CDOG_SUB_S0B(x) (((uint32_t)(((uint32_t)(x)) << CDOG_SUB_S0B_SHIFT)) & CDOG_SUB_S0B_MASK)
  21349. /*! @} */
  21350. /*! @name SUB1 - SUB1 Command */
  21351. /*! @{ */
  21352. #define CDOG_SUB1_S1B_MASK (0xFFFFFFFFU)
  21353. #define CDOG_SUB1_S1B_SHIFT (0U)
  21354. /*! S1B - Subtract 1
  21355. */
  21356. #define CDOG_SUB1_S1B(x) (((uint32_t)(((uint32_t)(x)) << CDOG_SUB1_S1B_SHIFT)) & CDOG_SUB1_S1B_MASK)
  21357. /*! @} */
  21358. /*! @name SUB16 - SUB16 Command */
  21359. /*! @{ */
  21360. #define CDOG_SUB16_SB16_MASK (0xFFFFFFFFU)
  21361. #define CDOG_SUB16_SB16_SHIFT (0U)
  21362. /*! SB16 - Subtract 16
  21363. */
  21364. #define CDOG_SUB16_SB16(x) (((uint32_t)(((uint32_t)(x)) << CDOG_SUB16_SB16_SHIFT)) & CDOG_SUB16_SB16_MASK)
  21365. /*! @} */
  21366. /*! @name SUB256 - SUB256 Command */
  21367. /*! @{ */
  21368. #define CDOG_SUB256_SB256_MASK (0xFFFFFFFFU)
  21369. #define CDOG_SUB256_SB256_SHIFT (0U)
  21370. /*! SB256 - Subtract 256
  21371. */
  21372. #define CDOG_SUB256_SB256(x) (((uint32_t)(((uint32_t)(x)) << CDOG_SUB256_SB256_SHIFT)) & CDOG_SUB256_SB256_MASK)
  21373. /*! @} */
  21374. /*!
  21375. * @}
  21376. */ /* end of group CDOG_Register_Masks */
  21377. /* CDOG - Peripheral instance base addresses */
  21378. /** Peripheral CDOG base address */
  21379. #define CDOG_BASE (0x41900000u)
  21380. /** Peripheral CDOG base pointer */
  21381. #define CDOG ((CDOG_Type *)CDOG_BASE)
  21382. /** Array initializer of CDOG peripheral base addresses */
  21383. #define CDOG_BASE_ADDRS { CDOG_BASE }
  21384. /** Array initializer of CDOG peripheral base pointers */
  21385. #define CDOG_BASE_PTRS { CDOG }
  21386. /*!
  21387. * @}
  21388. */ /* end of group CDOG_Peripheral_Access_Layer */
  21389. /* ----------------------------------------------------------------------------
  21390. -- CMP Peripheral Access Layer
  21391. ---------------------------------------------------------------------------- */
  21392. /*!
  21393. * @addtogroup CMP_Peripheral_Access_Layer CMP Peripheral Access Layer
  21394. * @{
  21395. */
  21396. /** CMP - Register Layout Typedef */
  21397. typedef struct {
  21398. __I uint32_t VERID; /**< Version ID Register, offset: 0x0 */
  21399. __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */
  21400. __IO uint32_t C0; /**< CMP Control Register 0, offset: 0x8 */
  21401. __IO uint32_t C1; /**< CMP Control Register 1, offset: 0xC */
  21402. __IO uint32_t C2; /**< CMP Control Register 2, offset: 0x10 */
  21403. __IO uint32_t C3; /**< CMP Control Register 3, offset: 0x14 */
  21404. } CMP_Type;
  21405. /* ----------------------------------------------------------------------------
  21406. -- CMP Register Masks
  21407. ---------------------------------------------------------------------------- */
  21408. /*!
  21409. * @addtogroup CMP_Register_Masks CMP Register Masks
  21410. * @{
  21411. */
  21412. /*! @name VERID - Version ID Register */
  21413. /*! @{ */
  21414. #define CMP_VERID_FEATURE_MASK (0xFFFFU)
  21415. #define CMP_VERID_FEATURE_SHIFT (0U)
  21416. /*! FEATURE - Feature Specification Number. This read only filed returns the feature set number.
  21417. */
  21418. #define CMP_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << CMP_VERID_FEATURE_SHIFT)) & CMP_VERID_FEATURE_MASK)
  21419. #define CMP_VERID_MINOR_MASK (0xFF0000U)
  21420. #define CMP_VERID_MINOR_SHIFT (16U)
  21421. /*! MINOR - Minor Version Number. This read only field returns the minor version number for the module specification.
  21422. */
  21423. #define CMP_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << CMP_VERID_MINOR_SHIFT)) & CMP_VERID_MINOR_MASK)
  21424. #define CMP_VERID_MAJOR_MASK (0xFF000000U)
  21425. #define CMP_VERID_MAJOR_SHIFT (24U)
  21426. /*! MAJOR - Major Version Number. This read only field returns the major version number for the module specification.
  21427. */
  21428. #define CMP_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << CMP_VERID_MAJOR_SHIFT)) & CMP_VERID_MAJOR_MASK)
  21429. /*! @} */
  21430. /*! @name PARAM - Parameter Register */
  21431. /*! @{ */
  21432. #define CMP_PARAM_PARAM_MASK (0xFFFFFFFFU)
  21433. #define CMP_PARAM_PARAM_SHIFT (0U)
  21434. /*! PARAM - Parameter Registers. This read only filed returns the feature parameters implemented along with the Version ID register.
  21435. */
  21436. #define CMP_PARAM_PARAM(x) (((uint32_t)(((uint32_t)(x)) << CMP_PARAM_PARAM_SHIFT)) & CMP_PARAM_PARAM_MASK)
  21437. /*! @} */
  21438. /*! @name C0 - CMP Control Register 0 */
  21439. /*! @{ */
  21440. #define CMP_C0_HYSTCTR_MASK (0x3U)
  21441. #define CMP_C0_HYSTCTR_SHIFT (0U)
  21442. /*! HYSTCTR - Comparator hard block hysteresis control. See chip data sheet to get the actual hystersis value with each level
  21443. * 0b00..The hard block output has level 0 hysteresis internally.
  21444. * 0b01..The hard block output has level 1 hysteresis internally.
  21445. * 0b10..The hard block output has level 2 hysteresis internally.
  21446. * 0b11..The hard block output has level 3 hysteresis internally.
  21447. */
  21448. #define CMP_C0_HYSTCTR(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_HYSTCTR_SHIFT)) & CMP_C0_HYSTCTR_MASK)
  21449. #define CMP_C0_FILTER_CNT_MASK (0x70U)
  21450. #define CMP_C0_FILTER_CNT_SHIFT (4U)
  21451. /*! FILTER_CNT - Filter Sample Count
  21452. * 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.
  21453. * 0b001..1 consecutive sample must agree (comparator output is simply sampled).
  21454. * 0b010..2 consecutive samples must agree.
  21455. * 0b011..3 consecutive samples must agree.
  21456. * 0b100..4 consecutive samples must agree.
  21457. * 0b101..5 consecutive samples must agree.
  21458. * 0b110..6 consecutive samples must agree.
  21459. * 0b111..7 consecutive samples must agree.
  21460. */
  21461. #define CMP_C0_FILTER_CNT(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_FILTER_CNT_SHIFT)) & CMP_C0_FILTER_CNT_MASK)
  21462. #define CMP_C0_EN_MASK (0x100U)
  21463. #define CMP_C0_EN_SHIFT (8U)
  21464. /*! EN - Comparator Module Enable
  21465. * 0b0..Analog Comparator is disabled.
  21466. * 0b1..Analog Comparator is enabled.
  21467. */
  21468. #define CMP_C0_EN(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_EN_SHIFT)) & CMP_C0_EN_MASK)
  21469. #define CMP_C0_OPE_MASK (0x200U)
  21470. #define CMP_C0_OPE_SHIFT (9U)
  21471. /*! OPE - Comparator Output Pin Enable
  21472. * 0b0..When OPE is 0, the comparator output (after window/filter settings dependent on software configuration) is not available to a packaged pin.
  21473. * 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.
  21474. */
  21475. #define CMP_C0_OPE(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_OPE_SHIFT)) & CMP_C0_OPE_MASK)
  21476. #define CMP_C0_COS_MASK (0x400U)
  21477. #define CMP_C0_COS_SHIFT (10U)
  21478. /*! COS - Comparator Output Select
  21479. * 0b0..Set CMPO to equal COUT (filtered comparator output).
  21480. * 0b1..Set CMPO to equal COUTA (unfiltered comparator output).
  21481. */
  21482. #define CMP_C0_COS(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_COS_SHIFT)) & CMP_C0_COS_MASK)
  21483. #define CMP_C0_INVT_MASK (0x800U)
  21484. #define CMP_C0_INVT_SHIFT (11U)
  21485. /*! INVT - Comparator invert
  21486. * 0b0..Does not invert the comparator output.
  21487. * 0b1..Inverts the comparator output.
  21488. */
  21489. #define CMP_C0_INVT(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_INVT_SHIFT)) & CMP_C0_INVT_MASK)
  21490. #define CMP_C0_PMODE_MASK (0x1000U)
  21491. #define CMP_C0_PMODE_SHIFT (12U)
  21492. /*! PMODE - Power Mode Select
  21493. * 0b0..Low Speed (LS) comparison mode is selected.
  21494. * 0b1..High Speed (HS) comparison mode is selected.
  21495. */
  21496. #define CMP_C0_PMODE(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_PMODE_SHIFT)) & CMP_C0_PMODE_MASK)
  21497. #define CMP_C0_WE_MASK (0x4000U)
  21498. #define CMP_C0_WE_SHIFT (14U)
  21499. /*! WE - Windowing Enable
  21500. * 0b0..Windowing mode is not selected.
  21501. * 0b1..Windowing mode is selected.
  21502. */
  21503. #define CMP_C0_WE(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_WE_SHIFT)) & CMP_C0_WE_MASK)
  21504. #define CMP_C0_SE_MASK (0x8000U)
  21505. #define CMP_C0_SE_SHIFT (15U)
  21506. /*! SE - Sample Enable
  21507. * 0b0..Sampling mode is not selected.
  21508. * 0b1..Sampling mode is selected.
  21509. */
  21510. #define CMP_C0_SE(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_SE_SHIFT)) & CMP_C0_SE_MASK)
  21511. #define CMP_C0_FPR_MASK (0xFF0000U)
  21512. #define CMP_C0_FPR_SHIFT (16U)
  21513. /*! FPR - Filter Sample Period
  21514. */
  21515. #define CMP_C0_FPR(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_FPR_SHIFT)) & CMP_C0_FPR_MASK)
  21516. #define CMP_C0_COUT_MASK (0x1000000U)
  21517. #define CMP_C0_COUT_SHIFT (24U)
  21518. /*! COUT - Analog Comparator Output
  21519. */
  21520. #define CMP_C0_COUT(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_COUT_SHIFT)) & CMP_C0_COUT_MASK)
  21521. #define CMP_C0_CFF_MASK (0x2000000U)
  21522. #define CMP_C0_CFF_SHIFT (25U)
  21523. /*! CFF - Analog Comparator Flag Falling
  21524. * 0b0..A falling edge has not been detected on COUT.
  21525. * 0b1..A falling edge on COUT has occurred.
  21526. */
  21527. #define CMP_C0_CFF(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_CFF_SHIFT)) & CMP_C0_CFF_MASK)
  21528. #define CMP_C0_CFR_MASK (0x4000000U)
  21529. #define CMP_C0_CFR_SHIFT (26U)
  21530. /*! CFR - Analog Comparator Flag Rising
  21531. * 0b0..A rising edge has not been detected on COUT.
  21532. * 0b1..A rising edge on COUT has occurred.
  21533. */
  21534. #define CMP_C0_CFR(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_CFR_SHIFT)) & CMP_C0_CFR_MASK)
  21535. #define CMP_C0_IEF_MASK (0x8000000U)
  21536. #define CMP_C0_IEF_SHIFT (27U)
  21537. /*! IEF - Comparator Interrupt Enable Falling
  21538. * 0b0..Interrupt is disabled.
  21539. * 0b1..Interrupt is enabled.
  21540. */
  21541. #define CMP_C0_IEF(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_IEF_SHIFT)) & CMP_C0_IEF_MASK)
  21542. #define CMP_C0_IER_MASK (0x10000000U)
  21543. #define CMP_C0_IER_SHIFT (28U)
  21544. /*! IER - Comparator Interrupt Enable Rising
  21545. * 0b0..Interrupt is disabled.
  21546. * 0b1..Interrupt is enabled.
  21547. */
  21548. #define CMP_C0_IER(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_IER_SHIFT)) & CMP_C0_IER_MASK)
  21549. #define CMP_C0_DMAEN_MASK (0x40000000U)
  21550. #define CMP_C0_DMAEN_SHIFT (30U)
  21551. /*! DMAEN - DMA Enable
  21552. * 0b0..DMA is disabled.
  21553. * 0b1..DMA is enabled.
  21554. */
  21555. #define CMP_C0_DMAEN(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_DMAEN_SHIFT)) & CMP_C0_DMAEN_MASK)
  21556. #define CMP_C0_LINKEN_MASK (0x80000000U)
  21557. #define CMP_C0_LINKEN_SHIFT (31U)
  21558. /*! LINKEN - CMP to DAC link enable.
  21559. * 0b0..CMP to DAC link is disabled
  21560. * 0b1..CMP to DAC link is enabled.
  21561. */
  21562. #define CMP_C0_LINKEN(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_LINKEN_SHIFT)) & CMP_C0_LINKEN_MASK)
  21563. /*! @} */
  21564. /*! @name C1 - CMP Control Register 1 */
  21565. /*! @{ */
  21566. #define CMP_C1_VOSEL_MASK (0xFFU)
  21567. #define CMP_C1_VOSEL_SHIFT (0U)
  21568. /*! VOSEL - DAC Output Voltage Select
  21569. */
  21570. #define CMP_C1_VOSEL(x) (((uint32_t)(((uint32_t)(x)) << CMP_C1_VOSEL_SHIFT)) & CMP_C1_VOSEL_MASK)
  21571. #define CMP_C1_DMODE_MASK (0x100U)
  21572. #define CMP_C1_DMODE_SHIFT (8U)
  21573. /*! DMODE - DAC Mode Selection
  21574. * 0b0..DAC is selected to work in low speed and low power mode.
  21575. * 0b1..DAC is selected to work in high speed high power mode.
  21576. */
  21577. #define CMP_C1_DMODE(x) (((uint32_t)(((uint32_t)(x)) << CMP_C1_DMODE_SHIFT)) & CMP_C1_DMODE_MASK)
  21578. #define CMP_C1_VRSEL_MASK (0x200U)
  21579. #define CMP_C1_VRSEL_SHIFT (9U)
  21580. /*! VRSEL - Supply Voltage Reference Source Select
  21581. * 0b0..Vin1 is selected as resistor ladder network supply reference Vin. Vin1 is from internal PMC.
  21582. * 0b1..Vin2 is selected as resistor ladder network supply reference Vin. Vin2 is from PAD.
  21583. */
  21584. #define CMP_C1_VRSEL(x) (((uint32_t)(((uint32_t)(x)) << CMP_C1_VRSEL_SHIFT)) & CMP_C1_VRSEL_MASK)
  21585. #define CMP_C1_DACEN_MASK (0x400U)
  21586. #define CMP_C1_DACEN_SHIFT (10U)
  21587. /*! DACEN - DAC Enable
  21588. * 0b0..DAC is disabled.
  21589. * 0b1..DAC is enabled.
  21590. */
  21591. #define CMP_C1_DACEN(x) (((uint32_t)(((uint32_t)(x)) << CMP_C1_DACEN_SHIFT)) & CMP_C1_DACEN_MASK)
  21592. #define CMP_C1_CHN0_MASK (0x10000U)
  21593. #define CMP_C1_CHN0_SHIFT (16U)
  21594. /*! CHN0 - Channel 0 input enable
  21595. */
  21596. #define CMP_C1_CHN0(x) (((uint32_t)(((uint32_t)(x)) << CMP_C1_CHN0_SHIFT)) & CMP_C1_CHN0_MASK)
  21597. #define CMP_C1_CHN1_MASK (0x20000U)
  21598. #define CMP_C1_CHN1_SHIFT (17U)
  21599. /*! CHN1 - Channel 1 input enable
  21600. */
  21601. #define CMP_C1_CHN1(x) (((uint32_t)(((uint32_t)(x)) << CMP_C1_CHN1_SHIFT)) & CMP_C1_CHN1_MASK)
  21602. #define CMP_C1_CHN2_MASK (0x40000U)
  21603. #define CMP_C1_CHN2_SHIFT (18U)
  21604. /*! CHN2 - Channel 2 input enable
  21605. */
  21606. #define CMP_C1_CHN2(x) (((uint32_t)(((uint32_t)(x)) << CMP_C1_CHN2_SHIFT)) & CMP_C1_CHN2_MASK)
  21607. #define CMP_C1_CHN3_MASK (0x80000U)
  21608. #define CMP_C1_CHN3_SHIFT (19U)
  21609. /*! CHN3 - Channel 3 input enable
  21610. */
  21611. #define CMP_C1_CHN3(x) (((uint32_t)(((uint32_t)(x)) << CMP_C1_CHN3_SHIFT)) & CMP_C1_CHN3_MASK)
  21612. #define CMP_C1_CHN4_MASK (0x100000U)
  21613. #define CMP_C1_CHN4_SHIFT (20U)
  21614. /*! CHN4 - Channel 4 input enable
  21615. */
  21616. #define CMP_C1_CHN4(x) (((uint32_t)(((uint32_t)(x)) << CMP_C1_CHN4_SHIFT)) & CMP_C1_CHN4_MASK)
  21617. #define CMP_C1_CHN5_MASK (0x200000U)
  21618. #define CMP_C1_CHN5_SHIFT (21U)
  21619. /*! CHN5 - Channel 5 input enable
  21620. */
  21621. #define CMP_C1_CHN5(x) (((uint32_t)(((uint32_t)(x)) << CMP_C1_CHN5_SHIFT)) & CMP_C1_CHN5_MASK)
  21622. #define CMP_C1_MSEL_MASK (0x7000000U)
  21623. #define CMP_C1_MSEL_SHIFT (24U)
  21624. /*! MSEL - Minus Input MUX Control
  21625. * 0b000..Internal Negative Input 0 for Minus Channel -- Internal Minus Input
  21626. * 0b001..External Input 1 for Minus Channel -- Reference Input 0
  21627. * 0b010..External Input 2 for Minus Channel -- Reference Input 1
  21628. * 0b011..External Input 3 for Minus Channel -- Reference Input 2
  21629. * 0b100..External Input 4 for Minus Channel -- Reference Input 3
  21630. * 0b101..External Input 5 for Minus Channel -- Reference Input 4
  21631. * 0b110..External Input 6 for Minus Channel -- Reference Input 5
  21632. * 0b111..Internal 8b DAC output
  21633. */
  21634. #define CMP_C1_MSEL(x) (((uint32_t)(((uint32_t)(x)) << CMP_C1_MSEL_SHIFT)) & CMP_C1_MSEL_MASK)
  21635. #define CMP_C1_PSEL_MASK (0x70000000U)
  21636. #define CMP_C1_PSEL_SHIFT (28U)
  21637. /*! PSEL - Plus Input MUX Control
  21638. * 0b000..Internal Positive Input 0 for Plus Channel -- Internal Plus Input
  21639. * 0b001..External Input 1 for Plus Channel -- Reference Input 0
  21640. * 0b010..External Input 2 for Plus Channel -- Reference Input 1
  21641. * 0b011..External Input 3 for Plus Channel -- Reference Input 2
  21642. * 0b100..External Input 4 for Plus Channel -- Reference Input 3
  21643. * 0b101..External Input 5 for Plus Channel -- Reference Input 4
  21644. * 0b110..External Input 6 for Plus Channel -- Reference Input 5
  21645. * 0b111..Internal 8b DAC output
  21646. */
  21647. #define CMP_C1_PSEL(x) (((uint32_t)(((uint32_t)(x)) << CMP_C1_PSEL_SHIFT)) & CMP_C1_PSEL_MASK)
  21648. /*! @} */
  21649. /*! @name C2 - CMP Control Register 2 */
  21650. /*! @{ */
  21651. #define CMP_C2_ACOn_MASK (0x3FU)
  21652. #define CMP_C2_ACOn_SHIFT (0U)
  21653. /*! ACOn - ACOn
  21654. */
  21655. #define CMP_C2_ACOn(x) (((uint32_t)(((uint32_t)(x)) << CMP_C2_ACOn_SHIFT)) & CMP_C2_ACOn_MASK)
  21656. #define CMP_C2_INITMOD_MASK (0x3F00U)
  21657. #define CMP_C2_INITMOD_SHIFT (8U)
  21658. /*! INITMOD - Comparator and DAC initialization delay modulus.
  21659. */
  21660. #define CMP_C2_INITMOD(x) (((uint32_t)(((uint32_t)(x)) << CMP_C2_INITMOD_SHIFT)) & CMP_C2_INITMOD_MASK)
  21661. #define CMP_C2_NSAM_MASK (0xC000U)
  21662. #define CMP_C2_NSAM_SHIFT (14U)
  21663. /*! NSAM - Number of sample clocks
  21664. * 0b00..The comparison result is sampled as soon as the active channel is scanned in one round-robin clock.
  21665. * 0b01..The sampling takes place 1 round-robin clock cycle after the next cycle of the round-robin clock.
  21666. * 0b10..The sampling takes place 2 round-robin clock cycles after the next cycle of the round-robin clock.
  21667. * 0b11..The sampling takes place 3 round-robin clock cycles after the next cycle of the round-robin clock.
  21668. */
  21669. #define CMP_C2_NSAM(x) (((uint32_t)(((uint32_t)(x)) << CMP_C2_NSAM_SHIFT)) & CMP_C2_NSAM_MASK)
  21670. #define CMP_C2_CH0F_MASK (0x10000U)
  21671. #define CMP_C2_CH0F_SHIFT (16U)
  21672. /*! CH0F - CH0F
  21673. */
  21674. #define CMP_C2_CH0F(x) (((uint32_t)(((uint32_t)(x)) << CMP_C2_CH0F_SHIFT)) & CMP_C2_CH0F_MASK)
  21675. #define CMP_C2_CH1F_MASK (0x20000U)
  21676. #define CMP_C2_CH1F_SHIFT (17U)
  21677. /*! CH1F - CH1F
  21678. */
  21679. #define CMP_C2_CH1F(x) (((uint32_t)(((uint32_t)(x)) << CMP_C2_CH1F_SHIFT)) & CMP_C2_CH1F_MASK)
  21680. #define CMP_C2_CH2F_MASK (0x40000U)
  21681. #define CMP_C2_CH2F_SHIFT (18U)
  21682. /*! CH2F - CH2F
  21683. */
  21684. #define CMP_C2_CH2F(x) (((uint32_t)(((uint32_t)(x)) << CMP_C2_CH2F_SHIFT)) & CMP_C2_CH2F_MASK)
  21685. #define CMP_C2_CH3F_MASK (0x80000U)
  21686. #define CMP_C2_CH3F_SHIFT (19U)
  21687. /*! CH3F - CH3F
  21688. */
  21689. #define CMP_C2_CH3F(x) (((uint32_t)(((uint32_t)(x)) << CMP_C2_CH3F_SHIFT)) & CMP_C2_CH3F_MASK)
  21690. #define CMP_C2_CH4F_MASK (0x100000U)
  21691. #define CMP_C2_CH4F_SHIFT (20U)
  21692. /*! CH4F - CH4F
  21693. */
  21694. #define CMP_C2_CH4F(x) (((uint32_t)(((uint32_t)(x)) << CMP_C2_CH4F_SHIFT)) & CMP_C2_CH4F_MASK)
  21695. #define CMP_C2_CH5F_MASK (0x200000U)
  21696. #define CMP_C2_CH5F_SHIFT (21U)
  21697. /*! CH5F - CH5F
  21698. */
  21699. #define CMP_C2_CH5F(x) (((uint32_t)(((uint32_t)(x)) << CMP_C2_CH5F_SHIFT)) & CMP_C2_CH5F_MASK)
  21700. #define CMP_C2_FXMXCH_MASK (0xE000000U)
  21701. #define CMP_C2_FXMXCH_SHIFT (25U)
  21702. /*! FXMXCH - Fixed channel selection
  21703. * 0b000..External Reference Input 0 is selected as the fixed reference input for the fixed mux port.
  21704. * 0b001..External Reference Input 1 is selected as the fixed reference input for the fixed mux port.
  21705. * 0b010..External Reference Input 2 is selected as the fixed reference input for the fixed mux port.
  21706. * 0b011..External Reference Input 3 is selected as the fixed reference input for the fixed mux port.
  21707. * 0b100..External Reference Input 4 is selected as the fixed reference input for the fixed mux port.
  21708. * 0b101..External Reference Input 5 is selected as the fixed reference input for the fixed mux port.
  21709. * 0b110..Reserved.
  21710. * 0b111..The 8bit DAC is selected as the fixed reference input for the fixed mux port.
  21711. */
  21712. #define CMP_C2_FXMXCH(x) (((uint32_t)(((uint32_t)(x)) << CMP_C2_FXMXCH_SHIFT)) & CMP_C2_FXMXCH_MASK)
  21713. #define CMP_C2_FXMP_MASK (0x20000000U)
  21714. #define CMP_C2_FXMP_SHIFT (29U)
  21715. /*! FXMP - Fixed MUX Port
  21716. * 0b0..The Plus port is fixed. Only the inputs to the Minus port are swept in each round.
  21717. * 0b1..The Minus port is fixed. Only the inputs to the Plus port are swept in each round.
  21718. */
  21719. #define CMP_C2_FXMP(x) (((uint32_t)(((uint32_t)(x)) << CMP_C2_FXMP_SHIFT)) & CMP_C2_FXMP_MASK)
  21720. #define CMP_C2_RRIE_MASK (0x40000000U)
  21721. #define CMP_C2_RRIE_SHIFT (30U)
  21722. /*! RRIE - Round-Robin interrupt enable
  21723. * 0b0..The round-robin interrupt is disabled.
  21724. * 0b1..The round-robin interrupt is enabled when a comparison result changes from the last sample.
  21725. */
  21726. #define CMP_C2_RRIE(x) (((uint32_t)(((uint32_t)(x)) << CMP_C2_RRIE_SHIFT)) & CMP_C2_RRIE_MASK)
  21727. /*! @} */
  21728. /*! @name C3 - CMP Control Register 3 */
  21729. /*! @{ */
  21730. #define CMP_C3_ACPH2TC_MASK (0x70U)
  21731. #define CMP_C3_ACPH2TC_SHIFT (4U)
  21732. /*! ACPH2TC - Analog Comparator Phase2 Timing Control.
  21733. * 0b000..Phase2 active time in one sampling period equals to T
  21734. * 0b001..Phase2 active time in one sampling period equals to 2*T
  21735. * 0b010..Phase2 active time in one sampling period equals to 4*T
  21736. * 0b011..Phase2 active time in one sampling period equals to 8*T
  21737. * 0b100..Phase2 active time in one sampling period equals to 16*T
  21738. * 0b101..Phase2 active time in one sampling period equals to 32*T
  21739. * 0b110..Phase2 active time in one sampling period equals to 64*T
  21740. * 0b111..Phase2 active time in one sampling period equals to 16*T
  21741. */
  21742. #define CMP_C3_ACPH2TC(x) (((uint32_t)(((uint32_t)(x)) << CMP_C3_ACPH2TC_SHIFT)) & CMP_C3_ACPH2TC_MASK)
  21743. #define CMP_C3_ACPH1TC_MASK (0x700U)
  21744. #define CMP_C3_ACPH1TC_SHIFT (8U)
  21745. /*! ACPH1TC - Analog Comparator Phase1 Timing Control.
  21746. * 0b000..Phase1 active time in one sampling period equals to T
  21747. * 0b001..Phase1 active time in one sampling period equals to 2*T
  21748. * 0b010..Phase1 active time in one sampling period equals to 4*T
  21749. * 0b011..Phase1 active time in one sampling period equals to 8*T
  21750. * 0b100..Phase1 active time in one sampling period equals to T
  21751. * 0b101..Phase1 active time in one sampling period equals to T
  21752. * 0b110..Phase1 active time in one sampling period equals to T
  21753. * 0b111..Phase1 active time in one sampling period equals to 0
  21754. */
  21755. #define CMP_C3_ACPH1TC(x) (((uint32_t)(((uint32_t)(x)) << CMP_C3_ACPH1TC_SHIFT)) & CMP_C3_ACPH1TC_MASK)
  21756. #define CMP_C3_ACSAT_MASK (0x7000U)
  21757. #define CMP_C3_ACSAT_SHIFT (12U)
  21758. /*! ACSAT - Analog Comparator Sampling Time control.
  21759. * 0b000..The sampling time equals to T
  21760. * 0b001..The sampling time equasl to 2*T
  21761. * 0b010..The sampling time equasl to 4*T
  21762. * 0b011..The sampling time equasl to 8*T
  21763. * 0b100..The sampling time equasl to 16*T
  21764. * 0b101..The sampling time equasl to 32*T
  21765. * 0b110..The sampling time equasl to 64*T
  21766. * 0b111..The sampling time equasl to 256*T
  21767. */
  21768. #define CMP_C3_ACSAT(x) (((uint32_t)(((uint32_t)(x)) << CMP_C3_ACSAT_SHIFT)) & CMP_C3_ACSAT_MASK)
  21769. #define CMP_C3_DMCS_MASK (0x10000U)
  21770. #define CMP_C3_DMCS_SHIFT (16U)
  21771. /*! DMCS - Discrete Mode Clock Selection
  21772. * 0b0..Slow clock is selected for the timing generation.
  21773. * 0b1..Fast clock is selected for the timing generation.
  21774. */
  21775. #define CMP_C3_DMCS(x) (((uint32_t)(((uint32_t)(x)) << CMP_C3_DMCS_SHIFT)) & CMP_C3_DMCS_MASK)
  21776. #define CMP_C3_RDIVE_MASK (0x100000U)
  21777. #define CMP_C3_RDIVE_SHIFT (20U)
  21778. /*! RDIVE - Resistor Divider Enable
  21779. * 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.
  21780. * 0b1..The resistor is enabled because the inputs are above 1.8v.
  21781. */
  21782. #define CMP_C3_RDIVE(x) (((uint32_t)(((uint32_t)(x)) << CMP_C3_RDIVE_SHIFT)) & CMP_C3_RDIVE_MASK)
  21783. #define CMP_C3_NCHCTEN_MASK (0x1000000U)
  21784. #define CMP_C3_NCHCTEN_SHIFT (24U)
  21785. /*! NCHCTEN - Negative Channel Continuous Mode Enable.
  21786. * 0b0..Negative channel is in Discrete Mode and special timing needs to be configured.
  21787. * 0b1..Negative channel is in Continuous Mode and no special timing is requried.
  21788. */
  21789. #define CMP_C3_NCHCTEN(x) (((uint32_t)(((uint32_t)(x)) << CMP_C3_NCHCTEN_SHIFT)) & CMP_C3_NCHCTEN_MASK)
  21790. #define CMP_C3_PCHCTEN_MASK (0x10000000U)
  21791. #define CMP_C3_PCHCTEN_SHIFT (28U)
  21792. /*! PCHCTEN - Positive Channel Continuous Mode Enable.
  21793. * 0b0..Positive channel is in Discrete Mode and special timing needs to be configured.
  21794. * 0b1..Positive channel is in Continuous Mode and no special timing is requried.
  21795. */
  21796. #define CMP_C3_PCHCTEN(x) (((uint32_t)(((uint32_t)(x)) << CMP_C3_PCHCTEN_SHIFT)) & CMP_C3_PCHCTEN_MASK)
  21797. /*! @} */
  21798. /*!
  21799. * @}
  21800. */ /* end of group CMP_Register_Masks */
  21801. /* CMP - Peripheral instance base addresses */
  21802. /** Peripheral CMP1 base address */
  21803. #define CMP1_BASE (0x401A4000u)
  21804. /** Peripheral CMP1 base pointer */
  21805. #define CMP1 ((CMP_Type *)CMP1_BASE)
  21806. /** Peripheral CMP2 base address */
  21807. #define CMP2_BASE (0x401A8000u)
  21808. /** Peripheral CMP2 base pointer */
  21809. #define CMP2 ((CMP_Type *)CMP2_BASE)
  21810. /** Peripheral CMP3 base address */
  21811. #define CMP3_BASE (0x401AC000u)
  21812. /** Peripheral CMP3 base pointer */
  21813. #define CMP3 ((CMP_Type *)CMP3_BASE)
  21814. /** Peripheral CMP4 base address */
  21815. #define CMP4_BASE (0x401B0000u)
  21816. /** Peripheral CMP4 base pointer */
  21817. #define CMP4 ((CMP_Type *)CMP4_BASE)
  21818. /** Array initializer of CMP peripheral base addresses */
  21819. #define CMP_BASE_ADDRS { 0u, CMP1_BASE, CMP2_BASE, CMP3_BASE, CMP4_BASE }
  21820. /** Array initializer of CMP peripheral base pointers */
  21821. #define CMP_BASE_PTRS { (CMP_Type *)0u, CMP1, CMP2, CMP3, CMP4 }
  21822. /** Interrupt vectors for the CMP peripheral type */
  21823. #define CMP_IRQS { NotAvail_IRQn, ACMP1_IRQn, ACMP2_IRQn, ACMP3_IRQn, ACMP4_IRQn }
  21824. /*!
  21825. * @}
  21826. */ /* end of group CMP_Peripheral_Access_Layer */
  21827. /* ----------------------------------------------------------------------------
  21828. -- CSI Peripheral Access Layer
  21829. ---------------------------------------------------------------------------- */
  21830. /*!
  21831. * @addtogroup CSI_Peripheral_Access_Layer CSI Peripheral Access Layer
  21832. * @{
  21833. */
  21834. /** CSI - Register Layout Typedef */
  21835. typedef struct {
  21836. __IO uint32_t CR1; /**< CSI Control Register 1, offset: 0x0 */
  21837. __IO uint32_t CR2; /**< CSI Control Register 2, offset: 0x4 */
  21838. __IO uint32_t CR3; /**< CSI Control Register 3, offset: 0x8 */
  21839. __I uint32_t STATFIFO; /**< CSI Statistic FIFO Register, offset: 0xC */
  21840. __I uint32_t RFIFO; /**< CSI RX FIFO Register, offset: 0x10 */
  21841. __IO uint32_t RXCNT; /**< CSI RX Count Register, offset: 0x14 */
  21842. __IO uint32_t SR; /**< CSI Status Register, offset: 0x18 */
  21843. uint8_t RESERVED_0[4];
  21844. __IO uint32_t DMASA_STATFIFO; /**< CSI DMA Start Address Register - for STATFIFO, offset: 0x20 */
  21845. __IO uint32_t DMATS_STATFIFO; /**< CSI DMA Transfer Size Register - for STATFIFO, offset: 0x24 */
  21846. __IO uint32_t DMASA_FB1; /**< CSI DMA Start Address Register - for Frame Buffer1, offset: 0x28 */
  21847. __IO uint32_t DMASA_FB2; /**< CSI DMA Transfer Size Register - for Frame Buffer2, offset: 0x2C */
  21848. __IO uint32_t FBUF_PARA; /**< CSI Frame Buffer Parameter Register, offset: 0x30 */
  21849. __IO uint32_t IMAG_PARA; /**< CSI Image Parameter Register, offset: 0x34 */
  21850. uint8_t RESERVED_1[16];
  21851. __IO uint32_t CR18; /**< CSI Control Register 18, offset: 0x48 */
  21852. __IO uint32_t CR19; /**< CSI Control Register 19, offset: 0x4C */
  21853. __IO uint32_t CR20; /**< CSI Control Register 20, offset: 0x50 */
  21854. __IO uint32_t CR[256]; /**< CSI Control Register, array offset: 0x54, array step: 0x4 */
  21855. } CSI_Type;
  21856. /* ----------------------------------------------------------------------------
  21857. -- CSI Register Masks
  21858. ---------------------------------------------------------------------------- */
  21859. /*!
  21860. * @addtogroup CSI_Register_Masks CSI Register Masks
  21861. * @{
  21862. */
  21863. /*! @name CR1 - CSI Control Register 1 */
  21864. /*! @{ */
  21865. #define CSI_CR1_PIXEL_BIT_MASK (0x1U)
  21866. #define CSI_CR1_PIXEL_BIT_SHIFT (0U)
  21867. /*! PIXEL_BIT
  21868. * 0b0..8-bit data for each pixel
  21869. * 0b1..10-bit data for each pixel
  21870. */
  21871. #define CSI_CR1_PIXEL_BIT(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR1_PIXEL_BIT_SHIFT)) & CSI_CR1_PIXEL_BIT_MASK)
  21872. #define CSI_CR1_REDGE_MASK (0x2U)
  21873. #define CSI_CR1_REDGE_SHIFT (1U)
  21874. /*! REDGE
  21875. * 0b0..Pixel data is latched at the falling edge of CSI_PIXCLK
  21876. * 0b1..Pixel data is latched at the rising edge of CSI_PIXCLK
  21877. */
  21878. #define CSI_CR1_REDGE(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR1_REDGE_SHIFT)) & CSI_CR1_REDGE_MASK)
  21879. #define CSI_CR1_INV_PCLK_MASK (0x4U)
  21880. #define CSI_CR1_INV_PCLK_SHIFT (2U)
  21881. /*! INV_PCLK
  21882. * 0b0..CSI_PIXCLK is directly applied to internal circuitry
  21883. * 0b1..CSI_PIXCLK is inverted before applied to internal circuitry
  21884. */
  21885. #define CSI_CR1_INV_PCLK(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR1_INV_PCLK_SHIFT)) & CSI_CR1_INV_PCLK_MASK)
  21886. #define CSI_CR1_INV_DATA_MASK (0x8U)
  21887. #define CSI_CR1_INV_DATA_SHIFT (3U)
  21888. /*! INV_DATA
  21889. * 0b0..CSI_D[7:0] data lines are directly applied to internal circuitry
  21890. * 0b1..CSI_D[7:0] data lines are inverted before applied to internal circuitry
  21891. */
  21892. #define CSI_CR1_INV_DATA(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR1_INV_DATA_SHIFT)) & CSI_CR1_INV_DATA_MASK)
  21893. #define CSI_CR1_GCLK_MODE_MASK (0x10U)
  21894. #define CSI_CR1_GCLK_MODE_SHIFT (4U)
  21895. /*! GCLK_MODE
  21896. * 0b0..Non-gated clock mode. All incoming pixel clocks are valid. HSYNC is ignored.
  21897. * 0b1..Gated clock mode. Pixel clock signal is valid only when HSYNC is active.
  21898. */
  21899. #define CSI_CR1_GCLK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR1_GCLK_MODE_SHIFT)) & CSI_CR1_GCLK_MODE_MASK)
  21900. #define CSI_CR1_CLR_RXFIFO_MASK (0x20U)
  21901. #define CSI_CR1_CLR_RXFIFO_SHIFT (5U)
  21902. #define CSI_CR1_CLR_RXFIFO(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR1_CLR_RXFIFO_SHIFT)) & CSI_CR1_CLR_RXFIFO_MASK)
  21903. #define CSI_CR1_CLR_STATFIFO_MASK (0x40U)
  21904. #define CSI_CR1_CLR_STATFIFO_SHIFT (6U)
  21905. #define CSI_CR1_CLR_STATFIFO(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR1_CLR_STATFIFO_SHIFT)) & CSI_CR1_CLR_STATFIFO_MASK)
  21906. #define CSI_CR1_PACK_DIR_MASK (0x80U)
  21907. #define CSI_CR1_PACK_DIR_SHIFT (7U)
  21908. /*! PACK_DIR
  21909. * 0b0..Pack from LSB first. For image data, 0x11, 0x22, 0x33, 0x44, it will appear as 0x44332211 in RX FIFO. For
  21910. * stat data, 0xAAAA, 0xBBBB, it will appear as 0xBBBBAAAA in STAT FIFO.
  21911. * 0b1..Pack from MSB first. For image data, 0x11, 0x22, 0x33, 0x44, it will appear as 0x11223344 in RX FIFO. For
  21912. * stat data, 0xAAAA, 0xBBBB, it will appear as 0xAAAABBBB in STAT FIFO.
  21913. */
  21914. #define CSI_CR1_PACK_DIR(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR1_PACK_DIR_SHIFT)) & CSI_CR1_PACK_DIR_MASK)
  21915. #define CSI_CR1_FCC_MASK (0x100U)
  21916. #define CSI_CR1_FCC_SHIFT (8U)
  21917. /*! FCC
  21918. * 0b0..Asynchronous FIFO clear is selected.
  21919. * 0b1..Synchronous FIFO clear is selected.
  21920. */
  21921. #define CSI_CR1_FCC(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR1_FCC_SHIFT)) & CSI_CR1_FCC_MASK)
  21922. #define CSI_CR1_CCIR_EN_MASK (0x400U)
  21923. #define CSI_CR1_CCIR_EN_SHIFT (10U)
  21924. /*! CCIR_EN
  21925. * 0b0..Traditional interface is selected.
  21926. * 0b1..BT.656 interface is selected.
  21927. */
  21928. #define CSI_CR1_CCIR_EN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR1_CCIR_EN_SHIFT)) & CSI_CR1_CCIR_EN_MASK)
  21929. #define CSI_CR1_HSYNC_POL_MASK (0x800U)
  21930. #define CSI_CR1_HSYNC_POL_SHIFT (11U)
  21931. /*! HSYNC_POL
  21932. * 0b0..HSYNC is active low
  21933. * 0b1..HSYNC is active high
  21934. */
  21935. #define CSI_CR1_HSYNC_POL(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR1_HSYNC_POL_SHIFT)) & CSI_CR1_HSYNC_POL_MASK)
  21936. #define CSI_CR1_HISTOGRAM_CALC_DONE_IE_MASK (0x1000U)
  21937. #define CSI_CR1_HISTOGRAM_CALC_DONE_IE_SHIFT (12U)
  21938. /*! HISTOGRAM_CALC_DONE_IE
  21939. * 0b0..Histogram done interrupt disable
  21940. * 0b1..Histogram done interrupt enable
  21941. */
  21942. #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)
  21943. #define CSI_CR1_SOF_INTEN_MASK (0x10000U)
  21944. #define CSI_CR1_SOF_INTEN_SHIFT (16U)
  21945. /*! SOF_INTEN
  21946. * 0b0..SOF interrupt disable
  21947. * 0b1..SOF interrupt enable
  21948. */
  21949. #define CSI_CR1_SOF_INTEN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR1_SOF_INTEN_SHIFT)) & CSI_CR1_SOF_INTEN_MASK)
  21950. #define CSI_CR1_SOF_POL_MASK (0x20000U)
  21951. #define CSI_CR1_SOF_POL_SHIFT (17U)
  21952. /*! SOF_POL
  21953. * 0b0..SOF interrupt is generated on SOF falling edge
  21954. * 0b1..SOF interrupt is generated on SOF rising edge
  21955. */
  21956. #define CSI_CR1_SOF_POL(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR1_SOF_POL_SHIFT)) & CSI_CR1_SOF_POL_MASK)
  21957. #define CSI_CR1_RXFF_INTEN_MASK (0x40000U)
  21958. #define CSI_CR1_RXFF_INTEN_SHIFT (18U)
  21959. /*! RXFF_INTEN
  21960. * 0b0..RxFIFO full interrupt disable
  21961. * 0b1..RxFIFO full interrupt enable
  21962. */
  21963. #define CSI_CR1_RXFF_INTEN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR1_RXFF_INTEN_SHIFT)) & CSI_CR1_RXFF_INTEN_MASK)
  21964. #define CSI_CR1_FB1_DMA_DONE_INTEN_MASK (0x80000U)
  21965. #define CSI_CR1_FB1_DMA_DONE_INTEN_SHIFT (19U)
  21966. /*! FB1_DMA_DONE_INTEN
  21967. * 0b0..Frame Buffer1 DMA Transfer Done interrupt disable
  21968. * 0b1..Frame Buffer1 DMA Transfer Done interrupt enable
  21969. */
  21970. #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)
  21971. #define CSI_CR1_FB2_DMA_DONE_INTEN_MASK (0x100000U)
  21972. #define CSI_CR1_FB2_DMA_DONE_INTEN_SHIFT (20U)
  21973. /*! FB2_DMA_DONE_INTEN
  21974. * 0b0..Frame Buffer2 DMA Transfer Done interrupt disable
  21975. * 0b1..Frame Buffer2 DMA Transfer Done interrupt enable
  21976. */
  21977. #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)
  21978. #define CSI_CR1_STATFF_INTEN_MASK (0x200000U)
  21979. #define CSI_CR1_STATFF_INTEN_SHIFT (21U)
  21980. /*! STATFF_INTEN
  21981. * 0b0..STATFIFO full interrupt disable
  21982. * 0b1..STATFIFO full interrupt enable
  21983. */
  21984. #define CSI_CR1_STATFF_INTEN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR1_STATFF_INTEN_SHIFT)) & CSI_CR1_STATFF_INTEN_MASK)
  21985. #define CSI_CR1_SFF_DMA_DONE_INTEN_MASK (0x400000U)
  21986. #define CSI_CR1_SFF_DMA_DONE_INTEN_SHIFT (22U)
  21987. /*! SFF_DMA_DONE_INTEN
  21988. * 0b0..STATFIFO DMA Transfer Done interrupt disable
  21989. * 0b1..STATFIFO DMA Transfer Done interrupt enable
  21990. */
  21991. #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)
  21992. #define CSI_CR1_RF_OR_INTEN_MASK (0x1000000U)
  21993. #define CSI_CR1_RF_OR_INTEN_SHIFT (24U)
  21994. /*! RF_OR_INTEN
  21995. * 0b0..RxFIFO overrun interrupt is disabled
  21996. * 0b1..RxFIFO overrun interrupt is enabled
  21997. */
  21998. #define CSI_CR1_RF_OR_INTEN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR1_RF_OR_INTEN_SHIFT)) & CSI_CR1_RF_OR_INTEN_MASK)
  21999. #define CSI_CR1_SF_OR_INTEN_MASK (0x2000000U)
  22000. #define CSI_CR1_SF_OR_INTEN_SHIFT (25U)
  22001. /*! SF_OR_INTEN
  22002. * 0b0..STATFIFO overrun interrupt is disabled
  22003. * 0b1..STATFIFO overrun interrupt is enabled
  22004. */
  22005. #define CSI_CR1_SF_OR_INTEN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR1_SF_OR_INTEN_SHIFT)) & CSI_CR1_SF_OR_INTEN_MASK)
  22006. #define CSI_CR1_COF_INT_EN_MASK (0x4000000U)
  22007. #define CSI_CR1_COF_INT_EN_SHIFT (26U)
  22008. /*! COF_INT_EN
  22009. * 0b0..COF interrupt is disabled
  22010. * 0b1..COF interrupt is enabled
  22011. */
  22012. #define CSI_CR1_COF_INT_EN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR1_COF_INT_EN_SHIFT)) & CSI_CR1_COF_INT_EN_MASK)
  22013. #define CSI_CR1_VIDEO_MODE_MASK (0x8000000U)
  22014. #define CSI_CR1_VIDEO_MODE_SHIFT (27U)
  22015. /*! VIDEO_MODE
  22016. * 0b0..Progressive mode is selected
  22017. * 0b1..Interlace mode is selected
  22018. */
  22019. #define CSI_CR1_VIDEO_MODE(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR1_VIDEO_MODE_SHIFT)) & CSI_CR1_VIDEO_MODE_MASK)
  22020. #define CSI_CR1_EOF_INT_EN_MASK (0x20000000U)
  22021. #define CSI_CR1_EOF_INT_EN_SHIFT (29U)
  22022. /*! EOF_INT_EN
  22023. * 0b0..EOF interrupt is disabled.
  22024. * 0b1..EOF interrupt is generated when RX count value is reached.
  22025. */
  22026. #define CSI_CR1_EOF_INT_EN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR1_EOF_INT_EN_SHIFT)) & CSI_CR1_EOF_INT_EN_MASK)
  22027. #define CSI_CR1_EXT_VSYNC_MASK (0x40000000U)
  22028. #define CSI_CR1_EXT_VSYNC_SHIFT (30U)
  22029. /*! EXT_VSYNC
  22030. * 0b0..Internal VSYNC mode
  22031. * 0b1..External VSYNC mode
  22032. */
  22033. #define CSI_CR1_EXT_VSYNC(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR1_EXT_VSYNC_SHIFT)) & CSI_CR1_EXT_VSYNC_MASK)
  22034. #define CSI_CR1_SWAP16_EN_MASK (0x80000000U)
  22035. #define CSI_CR1_SWAP16_EN_SHIFT (31U)
  22036. /*! SWAP16_EN
  22037. * 0b0..Disable swapping
  22038. * 0b1..Enable swapping
  22039. */
  22040. #define CSI_CR1_SWAP16_EN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR1_SWAP16_EN_SHIFT)) & CSI_CR1_SWAP16_EN_MASK)
  22041. /*! @} */
  22042. /*! @name CR2 - CSI Control Register 2 */
  22043. /*! @{ */
  22044. #define CSI_CR2_HSC_MASK (0xFFU)
  22045. #define CSI_CR2_HSC_SHIFT (0U)
  22046. #define CSI_CR2_HSC(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR2_HSC_SHIFT)) & CSI_CR2_HSC_MASK)
  22047. #define CSI_CR2_VSC_MASK (0xFF00U)
  22048. #define CSI_CR2_VSC_SHIFT (8U)
  22049. #define CSI_CR2_VSC(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR2_VSC_SHIFT)) & CSI_CR2_VSC_MASK)
  22050. #define CSI_CR2_LVRM_MASK (0x70000U)
  22051. #define CSI_CR2_LVRM_SHIFT (16U)
  22052. /*! LVRM
  22053. * 0b000..512 x 384
  22054. * 0b001..448 x 336
  22055. * 0b010..384 x 288
  22056. * 0b011..384 x 256
  22057. * 0b100..320 x 240
  22058. * 0b101..288 x 216
  22059. * 0b110..400 x 300
  22060. */
  22061. #define CSI_CR2_LVRM(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR2_LVRM_SHIFT)) & CSI_CR2_LVRM_MASK)
  22062. #define CSI_CR2_BTS_MASK (0x180000U)
  22063. #define CSI_CR2_BTS_SHIFT (19U)
  22064. /*! BTS
  22065. * 0b00..GR
  22066. * 0b01..RG
  22067. * 0b10..BG
  22068. * 0b11..GB
  22069. */
  22070. #define CSI_CR2_BTS(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR2_BTS_SHIFT)) & CSI_CR2_BTS_MASK)
  22071. #define CSI_CR2_SCE_MASK (0x800000U)
  22072. #define CSI_CR2_SCE_SHIFT (23U)
  22073. /*! SCE
  22074. * 0b0..Skip count disable
  22075. * 0b1..Skip count enable
  22076. */
  22077. #define CSI_CR2_SCE(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR2_SCE_SHIFT)) & CSI_CR2_SCE_MASK)
  22078. #define CSI_CR2_AFS_MASK (0x3000000U)
  22079. #define CSI_CR2_AFS_SHIFT (24U)
  22080. /*! AFS
  22081. * 0b00..Abs Diff on consecutive green pixels
  22082. * 0b01..Abs Diff on every third green pixels
  22083. * 0b1x..Abs Diff on every four green pixels
  22084. */
  22085. #define CSI_CR2_AFS(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR2_AFS_SHIFT)) & CSI_CR2_AFS_MASK)
  22086. #define CSI_CR2_DRM_MASK (0x4000000U)
  22087. #define CSI_CR2_DRM_SHIFT (26U)
  22088. /*! DRM
  22089. * 0b0..Stats grid of 8 x 6
  22090. * 0b1..Stats grid of 8 x 12
  22091. */
  22092. #define CSI_CR2_DRM(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR2_DRM_SHIFT)) & CSI_CR2_DRM_MASK)
  22093. #define CSI_CR2_DMA_BURST_TYPE_SFF_MASK (0x30000000U)
  22094. #define CSI_CR2_DMA_BURST_TYPE_SFF_SHIFT (28U)
  22095. /*! DMA_BURST_TYPE_SFF
  22096. * 0bx0..INCR8
  22097. * 0b01..INCR4
  22098. * 0b11..INCR16
  22099. */
  22100. #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)
  22101. #define CSI_CR2_DMA_BURST_TYPE_RFF_MASK (0xC0000000U)
  22102. #define CSI_CR2_DMA_BURST_TYPE_RFF_SHIFT (30U)
  22103. /*! DMA_BURST_TYPE_RFF
  22104. * 0bx0..INCR8
  22105. * 0b01..INCR4
  22106. * 0b11..INCR16
  22107. */
  22108. #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)
  22109. /*! @} */
  22110. /*! @name CR3 - CSI Control Register 3 */
  22111. /*! @{ */
  22112. #define CSI_CR3_ECC_AUTO_EN_MASK (0x1U)
  22113. #define CSI_CR3_ECC_AUTO_EN_SHIFT (0U)
  22114. /*! ECC_AUTO_EN
  22115. * 0b0..Auto Error correction is disabled.
  22116. * 0b1..Auto Error correction is enabled.
  22117. */
  22118. #define CSI_CR3_ECC_AUTO_EN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR3_ECC_AUTO_EN_SHIFT)) & CSI_CR3_ECC_AUTO_EN_MASK)
  22119. #define CSI_CR3_ECC_INT_EN_MASK (0x2U)
  22120. #define CSI_CR3_ECC_INT_EN_SHIFT (1U)
  22121. /*! ECC_INT_EN
  22122. * 0b0..No interrupt is generated when error is detected. Only the status bit ECC_INT is set.
  22123. * 0b1..Interrupt is generated when error is detected.
  22124. */
  22125. #define CSI_CR3_ECC_INT_EN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR3_ECC_INT_EN_SHIFT)) & CSI_CR3_ECC_INT_EN_MASK)
  22126. #define CSI_CR3_ZERO_PACK_EN_MASK (0x4U)
  22127. #define CSI_CR3_ZERO_PACK_EN_SHIFT (2U)
  22128. /*! ZERO_PACK_EN
  22129. * 0b0..Zero packing disabled
  22130. * 0b1..Zero packing enabled
  22131. */
  22132. #define CSI_CR3_ZERO_PACK_EN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR3_ZERO_PACK_EN_SHIFT)) & CSI_CR3_ZERO_PACK_EN_MASK)
  22133. #define CSI_CR3_SENSOR_16BITS_MASK (0x8U)
  22134. #define CSI_CR3_SENSOR_16BITS_SHIFT (3U)
  22135. /*! SENSOR_16BITS
  22136. * 0b0..Only one 8-bit sensor is connected.
  22137. * 0b1..One 16-bit sensor is connected.
  22138. */
  22139. #define CSI_CR3_SENSOR_16BITS(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR3_SENSOR_16BITS_SHIFT)) & CSI_CR3_SENSOR_16BITS_MASK)
  22140. #define CSI_CR3_RxFF_LEVEL_MASK (0x70U)
  22141. #define CSI_CR3_RxFF_LEVEL_SHIFT (4U)
  22142. /*! RxFF_LEVEL
  22143. * 0b000..4 Double words
  22144. * 0b001..8 Double words
  22145. * 0b010..16 Double words
  22146. * 0b011..24 Double words
  22147. * 0b100..32 Double words
  22148. * 0b101..48 Double words
  22149. * 0b110..64 Double words
  22150. * 0b111..96 Double words
  22151. */
  22152. #define CSI_CR3_RxFF_LEVEL(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR3_RxFF_LEVEL_SHIFT)) & CSI_CR3_RxFF_LEVEL_MASK)
  22153. #define CSI_CR3_HRESP_ERR_EN_MASK (0x80U)
  22154. #define CSI_CR3_HRESP_ERR_EN_SHIFT (7U)
  22155. /*! HRESP_ERR_EN
  22156. * 0b0..Disable hresponse error interrupt
  22157. * 0b1..Enable hresponse error interrupt
  22158. */
  22159. #define CSI_CR3_HRESP_ERR_EN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR3_HRESP_ERR_EN_SHIFT)) & CSI_CR3_HRESP_ERR_EN_MASK)
  22160. #define CSI_CR3_STATFF_LEVEL_MASK (0x700U)
  22161. #define CSI_CR3_STATFF_LEVEL_SHIFT (8U)
  22162. /*! STATFF_LEVEL
  22163. * 0b000..4 Double words
  22164. * 0b001..8 Double words
  22165. * 0b010..12 Double words
  22166. * 0b011..16 Double words
  22167. * 0b100..24 Double words
  22168. * 0b101..32 Double words
  22169. * 0b110..48 Double words
  22170. * 0b111..64 Double words
  22171. */
  22172. #define CSI_CR3_STATFF_LEVEL(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR3_STATFF_LEVEL_SHIFT)) & CSI_CR3_STATFF_LEVEL_MASK)
  22173. #define CSI_CR3_DMA_REQ_EN_SFF_MASK (0x800U)
  22174. #define CSI_CR3_DMA_REQ_EN_SFF_SHIFT (11U)
  22175. /*! DMA_REQ_EN_SFF
  22176. * 0b0..Disable the dma request
  22177. * 0b1..Enable the dma request
  22178. */
  22179. #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)
  22180. #define CSI_CR3_DMA_REQ_EN_RFF_MASK (0x1000U)
  22181. #define CSI_CR3_DMA_REQ_EN_RFF_SHIFT (12U)
  22182. /*! DMA_REQ_EN_RFF
  22183. * 0b0..Disable the dma request
  22184. * 0b1..Enable the dma request
  22185. */
  22186. #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)
  22187. #define CSI_CR3_DMA_REFLASH_SFF_MASK (0x2000U)
  22188. #define CSI_CR3_DMA_REFLASH_SFF_SHIFT (13U)
  22189. /*! DMA_REFLASH_SFF
  22190. * 0b0..No reflashing
  22191. * 0b1..Reflash the embedded DMA controller
  22192. */
  22193. #define CSI_CR3_DMA_REFLASH_SFF(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR3_DMA_REFLASH_SFF_SHIFT)) & CSI_CR3_DMA_REFLASH_SFF_MASK)
  22194. #define CSI_CR3_DMA_REFLASH_RFF_MASK (0x4000U)
  22195. #define CSI_CR3_DMA_REFLASH_RFF_SHIFT (14U)
  22196. /*! DMA_REFLASH_RFF
  22197. * 0b0..No reflashing
  22198. * 0b1..Reflash the embedded DMA controller
  22199. */
  22200. #define CSI_CR3_DMA_REFLASH_RFF(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR3_DMA_REFLASH_RFF_SHIFT)) & CSI_CR3_DMA_REFLASH_RFF_MASK)
  22201. #define CSI_CR3_FRMCNT_RST_MASK (0x8000U)
  22202. #define CSI_CR3_FRMCNT_RST_SHIFT (15U)
  22203. /*! FRMCNT_RST
  22204. * 0b0..Do not reset
  22205. * 0b1..Reset frame counter immediately
  22206. */
  22207. #define CSI_CR3_FRMCNT_RST(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR3_FRMCNT_RST_SHIFT)) & CSI_CR3_FRMCNT_RST_MASK)
  22208. #define CSI_CR3_FRMCNT_MASK (0xFFFF0000U)
  22209. #define CSI_CR3_FRMCNT_SHIFT (16U)
  22210. #define CSI_CR3_FRMCNT(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR3_FRMCNT_SHIFT)) & CSI_CR3_FRMCNT_MASK)
  22211. /*! @} */
  22212. /*! @name STATFIFO - CSI Statistic FIFO Register */
  22213. /*! @{ */
  22214. #define CSI_STATFIFO_STAT_MASK (0xFFFFFFFFU)
  22215. #define CSI_STATFIFO_STAT_SHIFT (0U)
  22216. #define CSI_STATFIFO_STAT(x) (((uint32_t)(((uint32_t)(x)) << CSI_STATFIFO_STAT_SHIFT)) & CSI_STATFIFO_STAT_MASK)
  22217. /*! @} */
  22218. /*! @name RFIFO - CSI RX FIFO Register */
  22219. /*! @{ */
  22220. #define CSI_RFIFO_IMAGE_MASK (0xFFFFFFFFU)
  22221. #define CSI_RFIFO_IMAGE_SHIFT (0U)
  22222. #define CSI_RFIFO_IMAGE(x) (((uint32_t)(((uint32_t)(x)) << CSI_RFIFO_IMAGE_SHIFT)) & CSI_RFIFO_IMAGE_MASK)
  22223. /*! @} */
  22224. /*! @name RXCNT - CSI RX Count Register */
  22225. /*! @{ */
  22226. #define CSI_RXCNT_RXCNT_MASK (0x3FFFFFU)
  22227. #define CSI_RXCNT_RXCNT_SHIFT (0U)
  22228. #define CSI_RXCNT_RXCNT(x) (((uint32_t)(((uint32_t)(x)) << CSI_RXCNT_RXCNT_SHIFT)) & CSI_RXCNT_RXCNT_MASK)
  22229. /*! @} */
  22230. /*! @name SR - CSI Status Register */
  22231. /*! @{ */
  22232. #define CSI_SR_DRDY_MASK (0x1U)
  22233. #define CSI_SR_DRDY_SHIFT (0U)
  22234. /*! DRDY
  22235. * 0b0..No data (word) is ready
  22236. * 0b1..At least 1 datum (word) is ready in RXFIFO.
  22237. */
  22238. #define CSI_SR_DRDY(x) (((uint32_t)(((uint32_t)(x)) << CSI_SR_DRDY_SHIFT)) & CSI_SR_DRDY_MASK)
  22239. #define CSI_SR_ECC_INT_MASK (0x2U)
  22240. #define CSI_SR_ECC_INT_SHIFT (1U)
  22241. /*! ECC_INT
  22242. * 0b0..No error detected
  22243. * 0b1..Error is detected in BT.656 coding
  22244. */
  22245. #define CSI_SR_ECC_INT(x) (((uint32_t)(((uint32_t)(x)) << CSI_SR_ECC_INT_SHIFT)) & CSI_SR_ECC_INT_MASK)
  22246. #define CSI_SR_HISTOGRAM_CALC_DONE_INT_MASK (0x4U)
  22247. #define CSI_SR_HISTOGRAM_CALC_DONE_INT_SHIFT (2U)
  22248. /*! HISTOGRAM_CALC_DONE_INT
  22249. * 0b0..Histogram calculation is not finished
  22250. * 0b1..Histogram calculation is done and driver can access the PIXEL_COUNTERS(CSI_CSICR21~CSI_CSICR276) to get the gray level
  22251. */
  22252. #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)
  22253. #define CSI_SR_HRESP_ERR_INT_MASK (0x80U)
  22254. #define CSI_SR_HRESP_ERR_INT_SHIFT (7U)
  22255. /*! HRESP_ERR_INT
  22256. * 0b0..No hresponse error.
  22257. * 0b1..Hresponse error is detected.
  22258. */
  22259. #define CSI_SR_HRESP_ERR_INT(x) (((uint32_t)(((uint32_t)(x)) << CSI_SR_HRESP_ERR_INT_SHIFT)) & CSI_SR_HRESP_ERR_INT_MASK)
  22260. #define CSI_SR_COF_INT_MASK (0x2000U)
  22261. #define CSI_SR_COF_INT_SHIFT (13U)
  22262. /*! COF_INT
  22263. * 0b0..Video field has no change.
  22264. * 0b1..Change of video field is detected.
  22265. */
  22266. #define CSI_SR_COF_INT(x) (((uint32_t)(((uint32_t)(x)) << CSI_SR_COF_INT_SHIFT)) & CSI_SR_COF_INT_MASK)
  22267. #define CSI_SR_F1_INT_MASK (0x4000U)
  22268. #define CSI_SR_F1_INT_SHIFT (14U)
  22269. /*! F1_INT
  22270. * 0b0..Field 1 of video is not detected.
  22271. * 0b1..Field 1 of video is about to start.
  22272. */
  22273. #define CSI_SR_F1_INT(x) (((uint32_t)(((uint32_t)(x)) << CSI_SR_F1_INT_SHIFT)) & CSI_SR_F1_INT_MASK)
  22274. #define CSI_SR_F2_INT_MASK (0x8000U)
  22275. #define CSI_SR_F2_INT_SHIFT (15U)
  22276. /*! F2_INT
  22277. * 0b0..Field 2 of video is not detected
  22278. * 0b1..Field 2 of video is about to start
  22279. */
  22280. #define CSI_SR_F2_INT(x) (((uint32_t)(((uint32_t)(x)) << CSI_SR_F2_INT_SHIFT)) & CSI_SR_F2_INT_MASK)
  22281. #define CSI_SR_SOF_INT_MASK (0x10000U)
  22282. #define CSI_SR_SOF_INT_SHIFT (16U)
  22283. /*! SOF_INT
  22284. * 0b0..SOF is not detected.
  22285. * 0b1..SOF is detected.
  22286. */
  22287. #define CSI_SR_SOF_INT(x) (((uint32_t)(((uint32_t)(x)) << CSI_SR_SOF_INT_SHIFT)) & CSI_SR_SOF_INT_MASK)
  22288. #define CSI_SR_EOF_INT_MASK (0x20000U)
  22289. #define CSI_SR_EOF_INT_SHIFT (17U)
  22290. /*! EOF_INT
  22291. * 0b0..EOF is not detected.
  22292. * 0b1..EOF is detected.
  22293. */
  22294. #define CSI_SR_EOF_INT(x) (((uint32_t)(((uint32_t)(x)) << CSI_SR_EOF_INT_SHIFT)) & CSI_SR_EOF_INT_MASK)
  22295. #define CSI_SR_RxFF_INT_MASK (0x40000U)
  22296. #define CSI_SR_RxFF_INT_SHIFT (18U)
  22297. /*! RxFF_INT
  22298. * 0b0..RxFIFO is not full.
  22299. * 0b1..RxFIFO is full.
  22300. */
  22301. #define CSI_SR_RxFF_INT(x) (((uint32_t)(((uint32_t)(x)) << CSI_SR_RxFF_INT_SHIFT)) & CSI_SR_RxFF_INT_MASK)
  22302. #define CSI_SR_DMA_TSF_DONE_FB1_MASK (0x80000U)
  22303. #define CSI_SR_DMA_TSF_DONE_FB1_SHIFT (19U)
  22304. /*! DMA_TSF_DONE_FB1
  22305. * 0b0..DMA transfer is not completed.
  22306. * 0b1..DMA transfer is completed.
  22307. */
  22308. #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)
  22309. #define CSI_SR_DMA_TSF_DONE_FB2_MASK (0x100000U)
  22310. #define CSI_SR_DMA_TSF_DONE_FB2_SHIFT (20U)
  22311. /*! DMA_TSF_DONE_FB2
  22312. * 0b0..DMA transfer is not completed.
  22313. * 0b1..DMA transfer is completed.
  22314. */
  22315. #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)
  22316. #define CSI_SR_STATFF_INT_MASK (0x200000U)
  22317. #define CSI_SR_STATFF_INT_SHIFT (21U)
  22318. /*! STATFF_INT
  22319. * 0b0..STATFIFO is not full.
  22320. * 0b1..STATFIFO is full.
  22321. */
  22322. #define CSI_SR_STATFF_INT(x) (((uint32_t)(((uint32_t)(x)) << CSI_SR_STATFF_INT_SHIFT)) & CSI_SR_STATFF_INT_MASK)
  22323. #define CSI_SR_DMA_TSF_DONE_SFF_MASK (0x400000U)
  22324. #define CSI_SR_DMA_TSF_DONE_SFF_SHIFT (22U)
  22325. /*! DMA_TSF_DONE_SFF
  22326. * 0b0..DMA transfer is not completed.
  22327. * 0b1..DMA transfer is completed.
  22328. */
  22329. #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)
  22330. #define CSI_SR_RF_OR_INT_MASK (0x1000000U)
  22331. #define CSI_SR_RF_OR_INT_SHIFT (24U)
  22332. /*! RF_OR_INT
  22333. * 0b0..RXFIFO has not overflowed.
  22334. * 0b1..RXFIFO has overflowed.
  22335. */
  22336. #define CSI_SR_RF_OR_INT(x) (((uint32_t)(((uint32_t)(x)) << CSI_SR_RF_OR_INT_SHIFT)) & CSI_SR_RF_OR_INT_MASK)
  22337. #define CSI_SR_SF_OR_INT_MASK (0x2000000U)
  22338. #define CSI_SR_SF_OR_INT_SHIFT (25U)
  22339. /*! SF_OR_INT
  22340. * 0b0..STATFIFO has not overflowed.
  22341. * 0b1..STATFIFO has overflowed.
  22342. */
  22343. #define CSI_SR_SF_OR_INT(x) (((uint32_t)(((uint32_t)(x)) << CSI_SR_SF_OR_INT_SHIFT)) & CSI_SR_SF_OR_INT_MASK)
  22344. #define CSI_SR_DMA_FIELD1_DONE_MASK (0x4000000U)
  22345. #define CSI_SR_DMA_FIELD1_DONE_SHIFT (26U)
  22346. #define CSI_SR_DMA_FIELD1_DONE(x) (((uint32_t)(((uint32_t)(x)) << CSI_SR_DMA_FIELD1_DONE_SHIFT)) & CSI_SR_DMA_FIELD1_DONE_MASK)
  22347. #define CSI_SR_DMA_FIELD0_DONE_MASK (0x8000000U)
  22348. #define CSI_SR_DMA_FIELD0_DONE_SHIFT (27U)
  22349. #define CSI_SR_DMA_FIELD0_DONE(x) (((uint32_t)(((uint32_t)(x)) << CSI_SR_DMA_FIELD0_DONE_SHIFT)) & CSI_SR_DMA_FIELD0_DONE_MASK)
  22350. #define CSI_SR_BASEADDR_CHHANGE_ERROR_MASK (0x10000000U)
  22351. #define CSI_SR_BASEADDR_CHHANGE_ERROR_SHIFT (28U)
  22352. #define CSI_SR_BASEADDR_CHHANGE_ERROR(x) (((uint32_t)(((uint32_t)(x)) << CSI_SR_BASEADDR_CHHANGE_ERROR_SHIFT)) & CSI_SR_BASEADDR_CHHANGE_ERROR_MASK)
  22353. /*! @} */
  22354. /*! @name DMASA_STATFIFO - CSI DMA Start Address Register - for STATFIFO */
  22355. /*! @{ */
  22356. #define CSI_DMASA_STATFIFO_DMA_START_ADDR_SFF_MASK (0xFFFFFFFCU)
  22357. #define CSI_DMASA_STATFIFO_DMA_START_ADDR_SFF_SHIFT (2U)
  22358. #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)
  22359. /*! @} */
  22360. /*! @name DMATS_STATFIFO - CSI DMA Transfer Size Register - for STATFIFO */
  22361. /*! @{ */
  22362. #define CSI_DMATS_STATFIFO_DMA_TSF_SIZE_SFF_MASK (0xFFFFFFFFU)
  22363. #define CSI_DMATS_STATFIFO_DMA_TSF_SIZE_SFF_SHIFT (0U)
  22364. #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)
  22365. /*! @} */
  22366. /*! @name DMASA_FB1 - CSI DMA Start Address Register - for Frame Buffer1 */
  22367. /*! @{ */
  22368. #define CSI_DMASA_FB1_DMA_START_ADDR_FB1_MASK (0xFFFFFFFCU)
  22369. #define CSI_DMASA_FB1_DMA_START_ADDR_FB1_SHIFT (2U)
  22370. #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)
  22371. /*! @} */
  22372. /*! @name DMASA_FB2 - CSI DMA Transfer Size Register - for Frame Buffer2 */
  22373. /*! @{ */
  22374. #define CSI_DMASA_FB2_DMA_START_ADDR_FB2_MASK (0xFFFFFFFCU)
  22375. #define CSI_DMASA_FB2_DMA_START_ADDR_FB2_SHIFT (2U)
  22376. #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)
  22377. /*! @} */
  22378. /*! @name FBUF_PARA - CSI Frame Buffer Parameter Register */
  22379. /*! @{ */
  22380. #define CSI_FBUF_PARA_FBUF_STRIDE_MASK (0xFFFFU)
  22381. #define CSI_FBUF_PARA_FBUF_STRIDE_SHIFT (0U)
  22382. #define CSI_FBUF_PARA_FBUF_STRIDE(x) (((uint32_t)(((uint32_t)(x)) << CSI_FBUF_PARA_FBUF_STRIDE_SHIFT)) & CSI_FBUF_PARA_FBUF_STRIDE_MASK)
  22383. #define CSI_FBUF_PARA_DEINTERLACE_STRIDE_MASK (0xFFFF0000U)
  22384. #define CSI_FBUF_PARA_DEINTERLACE_STRIDE_SHIFT (16U)
  22385. #define CSI_FBUF_PARA_DEINTERLACE_STRIDE(x) (((uint32_t)(((uint32_t)(x)) << CSI_FBUF_PARA_DEINTERLACE_STRIDE_SHIFT)) & CSI_FBUF_PARA_DEINTERLACE_STRIDE_MASK)
  22386. /*! @} */
  22387. /*! @name IMAG_PARA - CSI Image Parameter Register */
  22388. /*! @{ */
  22389. #define CSI_IMAG_PARA_IMAGE_HEIGHT_MASK (0xFFFFU)
  22390. #define CSI_IMAG_PARA_IMAGE_HEIGHT_SHIFT (0U)
  22391. #define CSI_IMAG_PARA_IMAGE_HEIGHT(x) (((uint32_t)(((uint32_t)(x)) << CSI_IMAG_PARA_IMAGE_HEIGHT_SHIFT)) & CSI_IMAG_PARA_IMAGE_HEIGHT_MASK)
  22392. #define CSI_IMAG_PARA_IMAGE_WIDTH_MASK (0xFFFF0000U)
  22393. #define CSI_IMAG_PARA_IMAGE_WIDTH_SHIFT (16U)
  22394. #define CSI_IMAG_PARA_IMAGE_WIDTH(x) (((uint32_t)(((uint32_t)(x)) << CSI_IMAG_PARA_IMAGE_WIDTH_SHIFT)) & CSI_IMAG_PARA_IMAGE_WIDTH_MASK)
  22395. /*! @} */
  22396. /*! @name CR18 - CSI Control Register 18 */
  22397. /*! @{ */
  22398. #define CSI_CR18_NTSC_EN_MASK (0x1U)
  22399. #define CSI_CR18_NTSC_EN_SHIFT (0U)
  22400. /*! NTSC_EN
  22401. * 0b0..PAL
  22402. * 0b1..NTSC
  22403. */
  22404. #define CSI_CR18_NTSC_EN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR18_NTSC_EN_SHIFT)) & CSI_CR18_NTSC_EN_MASK)
  22405. #define CSI_CR18_TVDECODER_IN_EN_MASK (0x2U)
  22406. #define CSI_CR18_TVDECODER_IN_EN_SHIFT (1U)
  22407. #define CSI_CR18_TVDECODER_IN_EN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR18_TVDECODER_IN_EN_SHIFT)) & CSI_CR18_TVDECODER_IN_EN_MASK)
  22408. #define CSI_CR18_DEINTERLACE_EN_MASK (0x4U)
  22409. #define CSI_CR18_DEINTERLACE_EN_SHIFT (2U)
  22410. /*! DEINTERLACE_EN
  22411. * 0b0..Deinterlace disabled
  22412. * 0b1..Deinterlace enabled
  22413. */
  22414. #define CSI_CR18_DEINTERLACE_EN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR18_DEINTERLACE_EN_SHIFT)) & CSI_CR18_DEINTERLACE_EN_MASK)
  22415. #define CSI_CR18_PARALLEL24_EN_MASK (0x8U)
  22416. #define CSI_CR18_PARALLEL24_EN_SHIFT (3U)
  22417. /*! PARALLEL24_EN
  22418. * 0b0..Input is disabled
  22419. * 0b1..Input is enabled
  22420. */
  22421. #define CSI_CR18_PARALLEL24_EN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR18_PARALLEL24_EN_SHIFT)) & CSI_CR18_PARALLEL24_EN_MASK)
  22422. #define CSI_CR18_BASEADDR_SWITCH_EN_MASK (0x10U)
  22423. #define CSI_CR18_BASEADDR_SWITCH_EN_SHIFT (4U)
  22424. #define CSI_CR18_BASEADDR_SWITCH_EN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR18_BASEADDR_SWITCH_EN_SHIFT)) & CSI_CR18_BASEADDR_SWITCH_EN_MASK)
  22425. #define CSI_CR18_BASEADDR_SWITCH_SEL_MASK (0x20U)
  22426. #define CSI_CR18_BASEADDR_SWITCH_SEL_SHIFT (5U)
  22427. /*! BASEADDR_SWITCH_SEL
  22428. * 0b0..Switching base address at the edge of the vsync
  22429. * 0b1..Switching base address at the edge of the first data of each frame
  22430. */
  22431. #define CSI_CR18_BASEADDR_SWITCH_SEL(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR18_BASEADDR_SWITCH_SEL_SHIFT)) & CSI_CR18_BASEADDR_SWITCH_SEL_MASK)
  22432. #define CSI_CR18_FIELD0_DONE_IE_MASK (0x40U)
  22433. #define CSI_CR18_FIELD0_DONE_IE_SHIFT (6U)
  22434. /*! FIELD0_DONE_IE
  22435. * 0b0..Interrupt disabled
  22436. * 0b1..Interrupt enabled
  22437. */
  22438. #define CSI_CR18_FIELD0_DONE_IE(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR18_FIELD0_DONE_IE_SHIFT)) & CSI_CR18_FIELD0_DONE_IE_MASK)
  22439. #define CSI_CR18_DMA_FIELD1_DONE_IE_MASK (0x80U)
  22440. #define CSI_CR18_DMA_FIELD1_DONE_IE_SHIFT (7U)
  22441. /*! DMA_FIELD1_DONE_IE
  22442. * 0b0..Interrupt disabled
  22443. * 0b1..Interrupt enabled
  22444. */
  22445. #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)
  22446. #define CSI_CR18_LAST_DMA_REQ_SEL_MASK (0x100U)
  22447. #define CSI_CR18_LAST_DMA_REQ_SEL_SHIFT (8U)
  22448. /*! LAST_DMA_REQ_SEL
  22449. * 0b0..fifo_full_level
  22450. * 0b1..hburst_length
  22451. */
  22452. #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)
  22453. #define CSI_CR18_BASEADDR_CHANGE_ERROR_IE_MASK (0x200U)
  22454. #define CSI_CR18_BASEADDR_CHANGE_ERROR_IE_SHIFT (9U)
  22455. /*! BASEADDR_CHANGE_ERROR_IE
  22456. * 0b0..Interrupt disabled
  22457. * 0b1..Interrupt enabled
  22458. */
  22459. #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)
  22460. #define CSI_CR18_RGB888A_FORMAT_SEL_MASK (0x400U)
  22461. #define CSI_CR18_RGB888A_FORMAT_SEL_SHIFT (10U)
  22462. /*! RGB888A_FORMAT_SEL
  22463. * 0b0..{8'h0, data[23:0]}
  22464. * 0b1..{data[23:0], 8'h0}
  22465. */
  22466. #define CSI_CR18_RGB888A_FORMAT_SEL(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR18_RGB888A_FORMAT_SEL_SHIFT)) & CSI_CR18_RGB888A_FORMAT_SEL_MASK)
  22467. #define CSI_CR18_AHB_HPROT_MASK (0xF000U)
  22468. #define CSI_CR18_AHB_HPROT_SHIFT (12U)
  22469. #define CSI_CR18_AHB_HPROT(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR18_AHB_HPROT_SHIFT)) & CSI_CR18_AHB_HPROT_MASK)
  22470. #define CSI_CR18_MASK_OPTION_MASK (0xC0000U)
  22471. #define CSI_CR18_MASK_OPTION_SHIFT (18U)
  22472. /*! MASK_OPTION
  22473. * 0b00..Writing to memory (OCRAM or external DDR) from first completely frame, when using this option, the CSI_ENABLE should be 1.
  22474. * 0b01..Writing to memory when CSI_ENABLE is 1.
  22475. * 0b10..Writing to memory from second completely frame, when using this option, the CSI_ENABLE should be 1.
  22476. * 0b11..Writing to memory when data comes in, not matter the CSI_ENABLE is 1 or 0.
  22477. */
  22478. #define CSI_CR18_MASK_OPTION(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR18_MASK_OPTION_SHIFT)) & CSI_CR18_MASK_OPTION_MASK)
  22479. #define CSI_CR18_MIPI_DOUBLE_CMPNT_MASK (0x100000U)
  22480. #define CSI_CR18_MIPI_DOUBLE_CMPNT_SHIFT (20U)
  22481. /*! MIPI_DOUBLE_CMPNT
  22482. * 0b0..Single component per clock cycle (half pixel per clock cycle)
  22483. * 0b1..Double component per clock cycle (a pixel per clock cycle)
  22484. */
  22485. #define CSI_CR18_MIPI_DOUBLE_CMPNT(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR18_MIPI_DOUBLE_CMPNT_SHIFT)) & CSI_CR18_MIPI_DOUBLE_CMPNT_MASK)
  22486. #define CSI_CR18_MIPI_YU_SWAP_MASK (0x200000U)
  22487. #define CSI_CR18_MIPI_YU_SWAP_SHIFT (21U)
  22488. /*! MIPI_YU_SWAP - It only works in MIPI CSI YUV422 double component mode.
  22489. */
  22490. #define CSI_CR18_MIPI_YU_SWAP(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR18_MIPI_YU_SWAP_SHIFT)) & CSI_CR18_MIPI_YU_SWAP_MASK)
  22491. #define CSI_CR18_DATA_FROM_MIPI_MASK (0x400000U)
  22492. #define CSI_CR18_DATA_FROM_MIPI_SHIFT (22U)
  22493. /*! DATA_FROM_MIPI
  22494. * 0b0..Data from parallel sensor
  22495. * 0b1..Data from MIPI
  22496. */
  22497. #define CSI_CR18_DATA_FROM_MIPI(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR18_DATA_FROM_MIPI_SHIFT)) & CSI_CR18_DATA_FROM_MIPI_MASK)
  22498. #define CSI_CR18_LINE_STRIDE_EN_MASK (0x1000000U)
  22499. #define CSI_CR18_LINE_STRIDE_EN_SHIFT (24U)
  22500. #define CSI_CR18_LINE_STRIDE_EN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR18_LINE_STRIDE_EN_SHIFT)) & CSI_CR18_LINE_STRIDE_EN_MASK)
  22501. #define CSI_CR18_MIPI_DATA_FORMAT_MASK (0x7E000000U)
  22502. #define CSI_CR18_MIPI_DATA_FORMAT_SHIFT (25U)
  22503. /*! MIPI_DATA_FORMAT - Image Data Format
  22504. */
  22505. #define CSI_CR18_MIPI_DATA_FORMAT(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR18_MIPI_DATA_FORMAT_SHIFT)) & CSI_CR18_MIPI_DATA_FORMAT_MASK)
  22506. #define CSI_CR18_CSI_ENABLE_MASK (0x80000000U)
  22507. #define CSI_CR18_CSI_ENABLE_SHIFT (31U)
  22508. #define CSI_CR18_CSI_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR18_CSI_ENABLE_SHIFT)) & CSI_CR18_CSI_ENABLE_MASK)
  22509. /*! @} */
  22510. /*! @name CR19 - CSI Control Register 19 */
  22511. /*! @{ */
  22512. #define CSI_CR19_DMA_RFIFO_HIGHEST_FIFO_LEVEL_MASK (0xFFU)
  22513. #define CSI_CR19_DMA_RFIFO_HIGHEST_FIFO_LEVEL_SHIFT (0U)
  22514. #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)
  22515. /*! @} */
  22516. /*! @name CR20 - CSI Control Register 20 */
  22517. /*! @{ */
  22518. #define CSI_CR20_THRESHOLD_MASK (0xFFU)
  22519. #define CSI_CR20_THRESHOLD_SHIFT (0U)
  22520. #define CSI_CR20_THRESHOLD(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR20_THRESHOLD_SHIFT)) & CSI_CR20_THRESHOLD_MASK)
  22521. #define CSI_CR20_BINARY_EN_MASK (0x100U)
  22522. #define CSI_CR20_BINARY_EN_SHIFT (8U)
  22523. /*! BINARY_EN
  22524. * 0b0..Output is Y8 format(8 bits each pixel)
  22525. * 0b1..Output is Y1 format(1 bit each pixel)
  22526. */
  22527. #define CSI_CR20_BINARY_EN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR20_BINARY_EN_SHIFT)) & CSI_CR20_BINARY_EN_MASK)
  22528. #define CSI_CR20_QR_DATA_FORMAT_MASK (0xE00U)
  22529. #define CSI_CR20_QR_DATA_FORMAT_SHIFT (9U)
  22530. /*! QR_DATA_FORMAT
  22531. * 0b000..YU YV one cycle per 1 pixel input
  22532. * 0b001..UY VY one cycle per1 pixel input
  22533. * 0b010..Y U Y V two cycles per 1 pixel input
  22534. * 0b011..U Y V Y two cycles per 1 pixel input
  22535. * 0b100..YUV one cycle per 1 pixel input
  22536. * 0b101..Y U V three cycles per 1 pixel input
  22537. */
  22538. #define CSI_CR20_QR_DATA_FORMAT(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR20_QR_DATA_FORMAT_SHIFT)) & CSI_CR20_QR_DATA_FORMAT_MASK)
  22539. #define CSI_CR20_BIG_END_MASK (0x1000U)
  22540. #define CSI_CR20_BIG_END_SHIFT (12U)
  22541. /*! BIG_END
  22542. * 0b0..The newest (most recent) data will be assigned the lowest position when store to memory.
  22543. * 0b1..The newest (most recent) data will be assigned the highest position when store to memory.
  22544. */
  22545. #define CSI_CR20_BIG_END(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR20_BIG_END_SHIFT)) & CSI_CR20_BIG_END_MASK)
  22546. #define CSI_CR20_10BIT_NEW_EN_MASK (0x20000000U)
  22547. #define CSI_CR20_10BIT_NEW_EN_SHIFT (29U)
  22548. /*! 10BIT_NEW_EN
  22549. * 0b0..When input 8bits data, it will use the data[9:2]
  22550. * 0b1..If input is 10bits data, it will use the data[7:0] (optional)
  22551. */
  22552. #define CSI_CR20_10BIT_NEW_EN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR20_10BIT_NEW_EN_SHIFT)) & CSI_CR20_10BIT_NEW_EN_MASK)
  22553. #define CSI_CR20_HISTOGRAM_EN_MASK (0x40000000U)
  22554. #define CSI_CR20_HISTOGRAM_EN_SHIFT (30U)
  22555. /*! HISTOGRAM_EN
  22556. * 0b0..Histogram disable
  22557. * 0b1..Histogram enable
  22558. */
  22559. #define CSI_CR20_HISTOGRAM_EN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR20_HISTOGRAM_EN_SHIFT)) & CSI_CR20_HISTOGRAM_EN_MASK)
  22560. #define CSI_CR20_QRCODE_EN_MASK (0x80000000U)
  22561. #define CSI_CR20_QRCODE_EN_SHIFT (31U)
  22562. /*! QRCODE_EN
  22563. * 0b0..Normal mode
  22564. * 0b1..Gray scale mode
  22565. */
  22566. #define CSI_CR20_QRCODE_EN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR20_QRCODE_EN_SHIFT)) & CSI_CR20_QRCODE_EN_MASK)
  22567. /*! @} */
  22568. /*! @name CR - CSI Control Register */
  22569. /*! @{ */
  22570. #define CSI_CR_PIXEL_COUNTERS_MASK (0xFFFFFFU)
  22571. #define CSI_CR_PIXEL_COUNTERS_SHIFT (0U)
  22572. #define CSI_CR_PIXEL_COUNTERS(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR_PIXEL_COUNTERS_SHIFT)) & CSI_CR_PIXEL_COUNTERS_MASK)
  22573. /*! @} */
  22574. /* The count of CSI_CR */
  22575. #define CSI_CR_COUNT (256U)
  22576. /*!
  22577. * @}
  22578. */ /* end of group CSI_Register_Masks */
  22579. /* CSI - Peripheral instance base addresses */
  22580. /** Peripheral CSI base address */
  22581. #define CSI_BASE (0x40800000u)
  22582. /** Peripheral CSI base pointer */
  22583. #define CSI ((CSI_Type *)CSI_BASE)
  22584. /** Array initializer of CSI peripheral base addresses */
  22585. #define CSI_BASE_ADDRS { CSI_BASE }
  22586. /** Array initializer of CSI peripheral base pointers */
  22587. #define CSI_BASE_PTRS { CSI }
  22588. /** Interrupt vectors for the CSI peripheral type */
  22589. #define CSI_IRQS { CSI_IRQn }
  22590. /* Backward compatibility */
  22591. #define CSI_CSICR1_PIXEL_BIT_MASK CSI_CR1_PIXEL_BIT_MASK
  22592. #define CSI_CSICR1_PIXEL_BIT_SHIFT CSI_CR1_PIXEL_BIT_SHIFT
  22593. #define CSI_CSICR1_PIXEL_BIT(x) CSI_CR1_PIXEL_BIT(x)
  22594. #define CSI_CSICR1_REDGE_MASK CSI_CR1_REDGE_MASK
  22595. #define CSI_CSICR1_REDGE_SHIFT CSI_CR1_REDGE_SHIFT
  22596. #define CSI_CSICR1_REDGE(x) CSI_CR1_REDGE(x)
  22597. #define CSI_CSICR1_INV_PCLK_MASK CSI_CR1_INV_PCLK_MASK
  22598. #define CSI_CSICR1_INV_PCLK_SHIFT CSI_CR1_INV_PCLK_SHIFT
  22599. #define CSI_CSICR1_INV_PCLK(x) CSI_CR1_INV_PCLK(x)
  22600. #define CSI_CSICR1_INV_DATA_MASK CSI_CR1_INV_DATA_MASK
  22601. #define CSI_CSICR1_INV_DATA_SHIFT CSI_CR1_INV_DATA_SHIFT
  22602. #define CSI_CSICR1_INV_DATA(x) CSI_CR1_INV_DATA(x)
  22603. #define CSI_CSICR1_GCLK_MODE_MASK CSI_CR1_GCLK_MODE_MASK
  22604. #define CSI_CSICR1_GCLK_MODE_SHIFT CSI_CR1_GCLK_MODE_SHIFT
  22605. #define CSI_CSICR1_GCLK_MODE(x) CSI_CR1_GCLK_MODE(x)
  22606. #define CSI_CSICR1_CLR_RXFIFO_MASK CSI_CR1_CLR_RXFIFO_MASK
  22607. #define CSI_CSICR1_CLR_RXFIFO_SHIFT CSI_CR1_CLR_RXFIFO_SHIFT
  22608. #define CSI_CSICR1_CLR_RXFIFO(x) CSI_CR1_CLR_RXFIFO(x)
  22609. #define CSI_CSICR1_CLR_STATFIFO_MASK CSI_CR1_CLR_STATFIFO_MASK
  22610. #define CSI_CSICR1_CLR_STATFIFO_SHIFT CSI_CR1_CLR_STATFIFO_SHIFT
  22611. #define CSI_CSICR1_CLR_STATFIFO(x) CSI_CR1_CLR_STATFIFO(x)
  22612. #define CSI_CSICR1_PACK_DIR_MASK CSI_CR1_PACK_DIR_MASK
  22613. #define CSI_CSICR1_PACK_DIR_SHIFT CSI_CR1_PACK_DIR_SHIFT
  22614. #define CSI_CSICR1_PACK_DIR(x) CSI_CR1_PACK_DIR(x)
  22615. #define CSI_CSICR1_FCC_MASK CSI_CR1_FCC_MASK
  22616. #define CSI_CSICR1_FCC_SHIFT CSI_CR1_FCC_SHIFT
  22617. #define CSI_CSICR1_FCC(x) CSI_CR1_FCC(x)
  22618. #define CSI_CSICR1_CCIR_EN_MASK CSI_CR1_CCIR_EN_MASK
  22619. #define CSI_CSICR1_CCIR_EN_SHIFT CSI_CR1_CCIR_EN_SHIFT
  22620. #define CSI_CSICR1_CCIR_EN(x) CSI_CR1_CCIR_EN(x)
  22621. #define CSI_CSICR1_HSYNC_POL_MASK CSI_CR1_HSYNC_POL_MASK
  22622. #define CSI_CSICR1_HSYNC_POL_SHIFT CSI_CR1_HSYNC_POL_SHIFT
  22623. #define CSI_CSICR1_HSYNC_POL(x) CSI_CR1_HSYNC_POL(x)
  22624. #define CSI_CSICR1_HISTOGRAM_CALC_DONE_IE_MASK CSI_CR1_HISTOGRAM_CALC_DONE_IE_MASK
  22625. #define CSI_CSICR1_HISTOGRAM_CALC_DONE_IE_SHIFT CSI_CR1_HISTOGRAM_CALC_DONE_IE_SHIFT
  22626. #define CSI_CSICR1_HISTOGRAM_CALC_DONE_IE(x) CSI_CR1_HISTOGRAM_CALC_DONE_IE(x)
  22627. #define CSI_CSICR1_SOF_INTEN_MASK CSI_CR1_SOF_INTEN_MASK
  22628. #define CSI_CSICR1_SOF_INTEN_SHIFT CSI_CR1_SOF_INTEN_SHIFT
  22629. #define CSI_CSICR1_SOF_INTEN(x) CSI_CR1_SOF_INTEN(x)
  22630. #define CSI_CSICR1_SOF_POL_MASK CSI_CR1_SOF_POL_MASK
  22631. #define CSI_CSICR1_SOF_POL_SHIFT CSI_CR1_SOF_POL_SHIFT
  22632. #define CSI_CSICR1_SOF_POL(x) CSI_CR1_SOF_POL(x)
  22633. #define CSI_CSICR1_RXFF_INTEN_MASK CSI_CR1_RXFF_INTEN_MASK
  22634. #define CSI_CSICR1_RXFF_INTEN_SHIFT CSI_CR1_RXFF_INTEN_SHIFT
  22635. #define CSI_CSICR1_RXFF_INTEN(x) CSI_CR1_RXFF_INTEN(x)
  22636. #define CSI_CSICR1_FB1_DMA_DONE_INTEN_MASK CSI_CR1_FB1_DMA_DONE_INTEN_MASK
  22637. #define CSI_CSICR1_FB1_DMA_DONE_INTEN_SHIFT CSI_CR1_FB1_DMA_DONE_INTEN_SHIFT
  22638. #define CSI_CSICR1_FB1_DMA_DONE_INTEN(x) CSI_CR1_FB1_DMA_DONE_INTEN(x)
  22639. #define CSI_CSICR1_FB2_DMA_DONE_INTEN_MASK CSI_CR1_FB2_DMA_DONE_INTEN_MASK
  22640. #define CSI_CSICR1_FB2_DMA_DONE_INTEN_SHIFT CSI_CR1_FB2_DMA_DONE_INTEN_SHIFT
  22641. #define CSI_CSICR1_FB2_DMA_DONE_INTEN(x) CSI_CR1_FB2_DMA_DONE_INTEN(x)
  22642. #define CSI_CSICR1_STATFF_INTEN_MASK CSI_CR1_STATFF_INTEN_MASK
  22643. #define CSI_CSICR1_STATFF_INTEN_SHIFT CSI_CR1_STATFF_INTEN_SHIFT
  22644. #define CSI_CSICR1_STATFF_INTEN(x) CSI_CR1_STATFF_INTEN(x)
  22645. #define CSI_CSICR1_SFF_DMA_DONE_INTEN_MASK CSI_CR1_SFF_DMA_DONE_INTEN_MASK
  22646. #define CSI_CSICR1_SFF_DMA_DONE_INTEN_SHIFT CSI_CR1_SFF_DMA_DONE_INTEN_SHIFT
  22647. #define CSI_CSICR1_SFF_DMA_DONE_INTEN(x) CSI_CR1_SFF_DMA_DONE_INTEN(x)
  22648. #define CSI_CSICR1_RF_OR_INTEN_MASK CSI_CR1_RF_OR_INTEN_MASK
  22649. #define CSI_CSICR1_RF_OR_INTEN_SHIFT CSI_CR1_RF_OR_INTEN_SHIFT
  22650. #define CSI_CSICR1_RF_OR_INTEN(x) CSI_CR1_RF_OR_INTEN(x)
  22651. #define CSI_CSICR1_SF_OR_INTEN_MASK CSI_CR1_SF_OR_INTEN_MASK
  22652. #define CSI_CSICR1_SF_OR_INTEN_SHIFT CSI_CR1_SF_OR_INTEN_SHIFT
  22653. #define CSI_CSICR1_SF_OR_INTEN(x) CSI_CR1_SF_OR_INTEN(x)
  22654. #define CSI_CSICR1_COF_INT_EN_MASK CSI_CR1_COF_INT_EN_MASK
  22655. #define CSI_CSICR1_COF_INT_EN_SHIFT CSI_CR1_COF_INT_EN_SHIFT
  22656. #define CSI_CSICR1_COF_INT_EN(x) CSI_CR1_COF_INT_EN(x)
  22657. #define CSI_CSICR1_VIDEO_MODE_MASK CSI_CR1_VIDEO_MODE_MASK
  22658. #define CSI_CSICR1_VIDEO_MODE_SHIFT CSI_CR1_VIDEO_MODE_SHIFT
  22659. #define CSI_CSICR1_VIDEO_MODE(x) CSI_CR1_VIDEO_MODE(x)
  22660. #define CSI_CSICR1_EOF_INT_EN_MASK CSI_CR1_EOF_INT_EN_MASK
  22661. #define CSI_CSICR1_EOF_INT_EN_SHIFT CSI_CR1_EOF_INT_EN_SHIFT
  22662. #define CSI_CSICR1_EOF_INT_EN(x) CSI_CR1_EOF_INT_EN(x)
  22663. #define CSI_CSICR1_EXT_VSYNC_MASK CSI_CR1_EXT_VSYNC_MASK
  22664. #define CSI_CSICR1_EXT_VSYNC_SHIFT CSI_CR1_EXT_VSYNC_SHIFT
  22665. #define CSI_CSICR1_EXT_VSYNC(x) CSI_CR1_EXT_VSYNC(x)
  22666. #define CSI_CSICR1_SWAP16_EN_MASK CSI_CR1_SWAP16_EN_MASK
  22667. #define CSI_CSICR1_SWAP16_EN_SHIFT CSI_CR1_SWAP16_EN_SHIFT
  22668. #define CSI_CSICR1_SWAP16_EN(x) CSI_CR1_SWAP16_EN(x)
  22669. #define CSI_CSICR2_HSC_MASK CSI_CR2_HSC_MASK
  22670. #define CSI_CSICR2_HSC_SHIFT CSI_CR2_HSC_SHIFT
  22671. #define CSI_CSICR2_HSC(x) CSI_CR2_HSC(x)
  22672. #define CSI_CSICR2_VSC_MASK CSI_CR2_VSC_MASK
  22673. #define CSI_CSICR2_VSC_SHIFT CSI_CR2_VSC_SHIFT
  22674. #define CSI_CSICR2_VSC(x) CSI_CR2_VSC(x)
  22675. #define CSI_CSICR2_LVRM_MASK CSI_CR2_LVRM_MASK
  22676. #define CSI_CSICR2_LVRM_SHIFT CSI_CR2_LVRM_SHIFT
  22677. #define CSI_CSICR2_LVRM(x) CSI_CR2_LVRM(x)
  22678. #define CSI_CSICR2_BTS_MASK CSI_CR2_BTS_MASK
  22679. #define CSI_CSICR2_BTS_SHIFT CSI_CR2_BTS_SHIFT
  22680. #define CSI_CSICR2_BTS(x) CSI_CR2_BTS(x)
  22681. #define CSI_CSICR2_SCE_MASK CSI_CR2_SCE_MASK
  22682. #define CSI_CSICR2_SCE_SHIFT CSI_CR2_SCE_SHIFT
  22683. #define CSI_CSICR2_SCE(x) CSI_CR2_SCE(x)
  22684. #define CSI_CSICR2_AFS_MASK CSI_CR2_AFS_MASK
  22685. #define CSI_CSICR2_AFS_SHIFT CSI_CR2_AFS_SHIFT
  22686. #define CSI_CSICR2_AFS(x) CSI_CR2_AFS(x)
  22687. #define CSI_CSICR2_DRM_MASK CSI_CR2_DRM_MASK
  22688. #define CSI_CSICR2_DRM_SHIFT CSI_CR2_DRM_SHIFT
  22689. #define CSI_CSICR2_DRM(x) CSI_CR2_DRM(x)
  22690. #define CSI_CSICR2_DMA_BURST_TYPE_SFF_MASK CSI_CR2_DMA_BURST_TYPE_SFF_MASK
  22691. #define CSI_CSICR2_DMA_BURST_TYPE_SFF_SHIFT CSI_CR2_DMA_BURST_TYPE_SFF_SHIFT
  22692. #define CSI_CSICR2_DMA_BURST_TYPE_SFF(x) CSI_CR2_DMA_BURST_TYPE_SFF(x)
  22693. #define CSI_CSICR2_DMA_BURST_TYPE_RFF_MASK CSI_CR2_DMA_BURST_TYPE_RFF_MASK
  22694. #define CSI_CSICR2_DMA_BURST_TYPE_RFF_SHIFT CSI_CR2_DMA_BURST_TYPE_RFF_SHIFT
  22695. #define CSI_CSICR2_DMA_BURST_TYPE_RFF(x) CSI_CR2_DMA_BURST_TYPE_RFF(x)
  22696. #define CSI_CSICR3_ECC_AUTO_EN_MASK CSI_CR3_ECC_AUTO_EN_MASK
  22697. #define CSI_CSICR3_ECC_AUTO_EN_SHIFT CSI_CR3_ECC_AUTO_EN_SHIFT
  22698. #define CSI_CSICR3_ECC_AUTO_EN(x) CSI_CR3_ECC_AUTO_EN(x)
  22699. #define CSI_CSICR3_ECC_INT_EN_MASK CSI_CR3_ECC_INT_EN_MASK
  22700. #define CSI_CSICR3_ECC_INT_EN_SHIFT CSI_CR3_ECC_INT_EN_SHIFT
  22701. #define CSI_CSICR3_ECC_INT_EN(x) CSI_CR3_ECC_INT_EN(x)
  22702. #define CSI_CSICR3_ZERO_PACK_EN_MASK CSI_CR3_ZERO_PACK_EN_MASK
  22703. #define CSI_CSICR3_ZERO_PACK_EN_SHIFT CSI_CR3_ZERO_PACK_EN_SHIFT
  22704. #define CSI_CSICR3_ZERO_PACK_EN(x) CSI_CR3_ZERO_PACK_EN(x)
  22705. #define CSI_CSICR3_SENSOR_16BITS_MASK CSI_CR3_SENSOR_16BITS_MASK
  22706. #define CSI_CSICR3_SENSOR_16BITS_SHIFT CSI_CR3_SENSOR_16BITS_SHIFT
  22707. #define CSI_CSICR3_SENSOR_16BITS(x) CSI_CR3_SENSOR_16BITS(x)
  22708. #define CSI_CSICR3_RxFF_LEVEL_MASK CSI_CR3_RxFF_LEVEL_MASK
  22709. #define CSI_CSICR3_RxFF_LEVEL_SHIFT CSI_CR3_RxFF_LEVEL_SHIFT
  22710. #define CSI_CSICR3_RxFF_LEVEL(x) CSI_CR3_RxFF_LEVEL(x)
  22711. #define CSI_CSICR3_HRESP_ERR_EN_MASK CSI_CR3_HRESP_ERR_EN_MASK
  22712. #define CSI_CSICR3_HRESP_ERR_EN_SHIFT CSI_CR3_HRESP_ERR_EN_SHIFT
  22713. #define CSI_CSICR3_HRESP_ERR_EN(x) CSI_CR3_HRESP_ERR_EN(x)
  22714. #define CSI_CSICR3_STATFF_LEVEL_MASK CSI_CR3_STATFF_LEVEL_MASK
  22715. #define CSI_CSICR3_STATFF_LEVEL_SHIFT CSI_CR3_STATFF_LEVEL_SHIFT
  22716. #define CSI_CSICR3_STATFF_LEVEL(x) CSI_CR3_STATFF_LEVEL(x)
  22717. #define CSI_CSICR3_DMA_REQ_EN_SFF_MASK CSI_CR3_DMA_REQ_EN_SFF_MASK
  22718. #define CSI_CSICR3_DMA_REQ_EN_SFF_SHIFT CSI_CR3_DMA_REQ_EN_SFF_SHIFT
  22719. #define CSI_CSICR3_DMA_REQ_EN_SFF(x) CSI_CR3_DMA_REQ_EN_SFF(x)
  22720. #define CSI_CSICR3_DMA_REQ_EN_RFF_MASK CSI_CR3_DMA_REQ_EN_RFF_MASK
  22721. #define CSI_CSICR3_DMA_REQ_EN_RFF_SHIFT CSI_CR3_DMA_REQ_EN_RFF_SHIFT
  22722. #define CSI_CSICR3_DMA_REQ_EN_RFF(x) CSI_CR3_DMA_REQ_EN_RFF(x)
  22723. #define CSI_CSICR3_DMA_REFLASH_SFF_MASK CSI_CR3_DMA_REFLASH_SFF_MASK
  22724. #define CSI_CSICR3_DMA_REFLASH_SFF_SHIFT CSI_CR3_DMA_REFLASH_SFF_SHIFT
  22725. #define CSI_CSICR3_DMA_REFLASH_SFF(x) CSI_CR3_DMA_REFLASH_SFF(x)
  22726. #define CSI_CSICR3_DMA_REFLASH_RFF_MASK CSI_CR3_DMA_REFLASH_RFF_MASK
  22727. #define CSI_CSICR3_DMA_REFLASH_RFF_SHIFT CSI_CR3_DMA_REFLASH_RFF_SHIFT
  22728. #define CSI_CSICR3_DMA_REFLASH_RFF(x) CSI_CR3_DMA_REFLASH_RFF(x)
  22729. #define CSI_CSICR3_FRMCNT_RST_MASK CSI_CR3_FRMCNT_RST_MASK
  22730. #define CSI_CSICR3_FRMCNT_RST_SHIFT CSI_CR3_FRMCNT_RST_SHIFT
  22731. #define CSI_CSICR3_FRMCNT_RST(x) CSI_CR3_FRMCNT_RST(x)
  22732. #define CSI_CSICR3_FRMCNT_MASK CSI_CR3_FRMCNT_MASK
  22733. #define CSI_CSICR3_FRMCNT_SHIFT CSI_CR3_FRMCNT_SHIFT
  22734. #define CSI_CSICR3_FRMCNT(x) CSI_CR3_FRMCNT(x)
  22735. #define CSI_CSISTATFIFO_STAT_MASK CSI_STATFIFO_STAT_MASK
  22736. #define CSI_CSISTATFIFO_STAT_SHIFT CSI_STATFIFO_STAT_SHIFT
  22737. #define CSI_CSISTATFIFO_STAT(x) CSI_STATFIFO_STAT(x)
  22738. #define CSI_CSIRFIFO_IMAGE_MASK CSI_RFIFO_IMAGE_MASK
  22739. #define CSI_CSIRFIFO_IMAGE_SHIFT CSI_RFIFO_IMAGE_SHIFT
  22740. #define CSI_CSIRFIFO_IMAGE(x) CSI_RFIFO_IMAGE(x)
  22741. #define CSI_CSIRXCNT_RXCNT_MASK CSI_RXCNT_RXCNT_MASK
  22742. #define CSI_CSIRXCNT_RXCNT_SHIFT CSI_RXCNT_RXCNT_SHIFT
  22743. #define CSI_CSIRXCNT_RXCNT(x) CSI_RXCNT_RXCNT(x)
  22744. #define CSI_CSISR_DRDY_MASK CSI_SR_DRDY_MASK
  22745. #define CSI_CSISR_DRDY_SHIFT CSI_SR_DRDY_SHIFT
  22746. #define CSI_CSISR_DRDY(x) CSI_SR_DRDY(x)
  22747. #define CSI_CSISR_ECC_INT_MASK CSI_SR_ECC_INT_MASK
  22748. #define CSI_CSISR_ECC_INT_SHIFT CSI_SR_ECC_INT_SHIFT
  22749. #define CSI_CSISR_ECC_INT(x) CSI_SR_ECC_INT(x)
  22750. #define CSI_CSISR_HISTOGRAM_CALC_DONE_INT_MASK CSI_SR_HISTOGRAM_CALC_DONE_INT_MASK
  22751. #define CSI_CSISR_HISTOGRAM_CALC_DONE_INT_SHIFT CSI_SR_HISTOGRAM_CALC_DONE_INT_SHIFT
  22752. #define CSI_CSISR_HISTOGRAM_CALC_DONE_INT(x) CSI_SR_HISTOGRAM_CALC_DONE_INT(x)
  22753. #define CSI_CSISR_HRESP_ERR_INT_MASK CSI_SR_HRESP_ERR_INT_MASK
  22754. #define CSI_CSISR_HRESP_ERR_INT_SHIFT CSI_SR_HRESP_ERR_INT_SHIFT
  22755. #define CSI_CSISR_HRESP_ERR_INT(x) CSI_SR_HRESP_ERR_INT(x)
  22756. #define CSI_CSISR_COF_INT_MASK CSI_SR_COF_INT_MASK
  22757. #define CSI_CSISR_COF_INT_SHIFT CSI_SR_COF_INT_SHIFT
  22758. #define CSI_CSISR_COF_INT(x) CSI_SR_COF_INT(x)
  22759. #define CSI_CSISR_F1_INT_MASK CSI_SR_F1_INT_MASK
  22760. #define CSI_CSISR_F1_INT_SHIFT CSI_SR_F1_INT_SHIFT
  22761. #define CSI_CSISR_F1_INT(x) CSI_SR_F1_INT(x)
  22762. #define CSI_CSISR_F2_INT_MASK CSI_SR_F2_INT_MASK
  22763. #define CSI_CSISR_F2_INT_SHIFT CSI_SR_F2_INT_SHIFT
  22764. #define CSI_CSISR_F2_INT(x) CSI_SR_F2_INT(x)
  22765. #define CSI_CSISR_SOF_INT_MASK CSI_SR_SOF_INT_MASK
  22766. #define CSI_CSISR_SOF_INT_SHIFT CSI_SR_SOF_INT_SHIFT
  22767. #define CSI_CSISR_SOF_INT(x) CSI_SR_SOF_INT(x)
  22768. #define CSI_CSISR_EOF_INT_MASK CSI_SR_EOF_INT_MASK
  22769. #define CSI_CSISR_EOF_INT_SHIFT CSI_SR_EOF_INT_SHIFT
  22770. #define CSI_CSISR_EOF_INT(x) CSI_SR_EOF_INT(x)
  22771. #define CSI_CSISR_RxFF_INT_MASK CSI_SR_RxFF_INT_MASK
  22772. #define CSI_CSISR_RxFF_INT_SHIFT CSI_SR_RxFF_INT_SHIFT
  22773. #define CSI_CSISR_RxFF_INT(x) CSI_SR_RxFF_INT(x)
  22774. #define CSI_CSISR_DMA_TSF_DONE_FB1_MASK CSI_SR_DMA_TSF_DONE_FB1_MASK
  22775. #define CSI_CSISR_DMA_TSF_DONE_FB1_SHIFT CSI_SR_DMA_TSF_DONE_FB1_SHIFT
  22776. #define CSI_CSISR_DMA_TSF_DONE_FB1(x) CSI_SR_DMA_TSF_DONE_FB1(x)
  22777. #define CSI_CSISR_DMA_TSF_DONE_FB2_MASK CSI_SR_DMA_TSF_DONE_FB2_MASK
  22778. #define CSI_CSISR_DMA_TSF_DONE_FB2_SHIFT CSI_SR_DMA_TSF_DONE_FB2_SHIFT
  22779. #define CSI_CSISR_DMA_TSF_DONE_FB2(x) CSI_SR_DMA_TSF_DONE_FB2(x)
  22780. #define CSI_CSISR_STATFF_INT_MASK CSI_SR_STATFF_INT_MASK
  22781. #define CSI_CSISR_STATFF_INT_SHIFT CSI_SR_STATFF_INT_SHIFT
  22782. #define CSI_CSISR_STATFF_INT(x) CSI_SR_STATFF_INT(x)
  22783. #define CSI_CSISR_DMA_TSF_DONE_SFF_MASK CSI_SR_DMA_TSF_DONE_SFF_MASK
  22784. #define CSI_CSISR_DMA_TSF_DONE_SFF_SHIFT CSI_SR_DMA_TSF_DONE_SFF_SHIFT
  22785. #define CSI_CSISR_DMA_TSF_DONE_SFF(x) CSI_SR_DMA_TSF_DONE_SFF(x)
  22786. #define CSI_CSISR_RF_OR_INT_MASK CSI_SR_RF_OR_INT_MASK
  22787. #define CSI_CSISR_RF_OR_INT_SHIFT CSI_SR_RF_OR_INT_SHIFT
  22788. #define CSI_CSISR_RF_OR_INT(x) CSI_SR_RF_OR_INT(x)
  22789. #define CSI_CSISR_SF_OR_INT_MASK CSI_SR_SF_OR_INT_MASK
  22790. #define CSI_CSISR_SF_OR_INT_SHIFT CSI_SR_SF_OR_INT_SHIFT
  22791. #define CSI_CSISR_SF_OR_INT(x) CSI_SR_SF_OR_INT(x)
  22792. #define CSI_CSISR_DMA_FIELD1_DONE_MASK CSI_SR_DMA_FIELD1_DONE_MASK
  22793. #define CSI_CSISR_DMA_FIELD1_DONE_SHIFT CSI_SR_DMA_FIELD1_DONE_SHIFT
  22794. #define CSI_CSISR_DMA_FIELD1_DONE(x) CSI_SR_DMA_FIELD1_DONE(x)
  22795. #define CSI_CSISR_DMA_FIELD0_DONE_MASK CSI_SR_DMA_FIELD0_DONE_MASK
  22796. #define CSI_CSISR_DMA_FIELD0_DONE_SHIFT CSI_SR_DMA_FIELD0_DONE_SHIFT
  22797. #define CSI_CSISR_DMA_FIELD0_DONE(x) CSI_SR_DMA_FIELD0_DONE(x)
  22798. #define CSI_CSISR_BASEADDR_CHHANGE_ERROR_MASK CSI_SR_BASEADDR_CHHANGE_ERROR_MASK
  22799. #define CSI_CSISR_BASEADDR_CHHANGE_ERROR_SHIFT CSI_SR_BASEADDR_CHHANGE_ERROR_SHIFT
  22800. #define CSI_CSISR_BASEADDR_CHHANGE_ERROR(x) CSI_SR_BASEADDR_CHHANGE_ERROR(x)
  22801. #define CSI_CSIDMASA_STATFIFO_DMA_START_ADDR_SFF_MASK CSI_DMASA_STATFIFO_DMA_START_ADDR_SFF_MASK
  22802. #define CSI_CSIDMASA_STATFIFO_DMA_START_ADDR_SFF_SHIFT CSI_DMASA_STATFIFO_DMA_START_ADDR_SFF_SHIFT
  22803. #define CSI_CSIDMASA_STATFIFO_DMA_START_ADDR_SFF(x) CSI_DMASA_STATFIFO_DMA_START_ADDR_SFF(x)
  22804. #define CSI_CSIDMATS_STATFIFO_DMA_TSF_SIZE_SFF_MASK CSI_DMATS_STATFIFO_DMA_TSF_SIZE_SFF_MASK
  22805. #define CSI_CSIDMATS_STATFIFO_DMA_TSF_SIZE_SFF_SHIFT CSI_DMATS_STATFIFO_DMA_TSF_SIZE_SFF_SHIFT
  22806. #define CSI_CSIDMATS_STATFIFO_DMA_TSF_SIZE_SFF(x) CSI_DMATS_STATFIFO_DMA_TSF_SIZE_SFF(x)
  22807. #define CSI_CSIDMASA_FB1_DMA_START_ADDR_FB1_MASK CSI_DMASA_FB1_DMA_START_ADDR_FB1_MASK
  22808. #define CSI_CSIDMASA_FB1_DMA_START_ADDR_FB1_SHIFT CSI_DMASA_FB1_DMA_START_ADDR_FB1_SHIFT
  22809. #define CSI_CSIDMASA_FB1_DMA_START_ADDR_FB1(x) CSI_DMASA_FB1_DMA_START_ADDR_FB1(x)
  22810. #define CSI_CSIDMASA_FB2_DMA_START_ADDR_FB2_MASK CSI_DMASA_FB2_DMA_START_ADDR_FB2_MASK
  22811. #define CSI_CSIDMASA_FB2_DMA_START_ADDR_FB2_SHIFT CSI_DMASA_FB2_DMA_START_ADDR_FB2_SHIFT
  22812. #define CSI_CSIDMASA_FB2_DMA_START_ADDR_FB2(x) CSI_DMASA_FB2_DMA_START_ADDR_FB2(x)
  22813. #define CSI_CSIFBUF_PARA_FBUF_STRIDE_MASK CSI_FBUF_PARA_FBUF_STRIDE_MASK
  22814. #define CSI_CSIFBUF_PARA_FBUF_STRIDE_SHIFT CSI_FBUF_PARA_FBUF_STRIDE_SHIFT
  22815. #define CSI_CSIFBUF_PARA_FBUF_STRIDE(x) CSI_FBUF_PARA_FBUF_STRIDE(x)
  22816. #define CSI_CSIFBUF_PARA_DEINTERLACE_STRIDE_MASK CSI_FBUF_PARA_DEINTERLACE_STRIDE_MASK
  22817. #define CSI_CSIFBUF_PARA_DEINTERLACE_STRIDE_SHIFT CSI_FBUF_PARA_DEINTERLACE_STRIDE_SHIFT
  22818. #define CSI_CSIFBUF_PARA_DEINTERLACE_STRIDE(x) CSI_FBUF_PARA_DEINTERLACE_STRIDE(x)
  22819. #define CSI_CSIIMAG_PARA_IMAGE_HEIGHT_MASK CSI_IMAG_PARA_IMAGE_HEIGHT_MASK
  22820. #define CSI_CSIIMAG_PARA_IMAGE_HEIGHT_SHIFT CSI_IMAG_PARA_IMAGE_HEIGHT_SHIFT
  22821. #define CSI_CSIIMAG_PARA_IMAGE_HEIGHT(x) CSI_IMAG_PARA_IMAGE_HEIGHT(x)
  22822. #define CSI_CSIIMAG_PARA_IMAGE_WIDTH_MASK CSI_IMAG_PARA_IMAGE_WIDTH_MASK
  22823. #define CSI_CSIIMAG_PARA_IMAGE_WIDTH_SHIFT CSI_IMAG_PARA_IMAGE_WIDTH_SHIFT
  22824. #define CSI_CSIIMAG_PARA_IMAGE_WIDTH(x) CSI_IMAG_PARA_IMAGE_WIDTH(x)
  22825. #define CSI_CSICR18_NTSC_EN_MASK CSI_CR18_NTSC_EN_MASK
  22826. #define CSI_CSICR18_NTSC_EN_SHIFT CSI_CR18_NTSC_EN_SHIFT
  22827. #define CSI_CSICR18_NTSC_EN(x) CSI_CR18_NTSC_EN(x)
  22828. #define CSI_CSICR18_TVDECODER_IN_EN_MASK CSI_CR18_TVDECODER_IN_EN_MASK
  22829. #define CSI_CSICR18_TVDECODER_IN_EN_SHIFT CSI_CR18_TVDECODER_IN_EN_SHIFT
  22830. #define CSI_CSICR18_TVDECODER_IN_EN(x) CSI_CR18_TVDECODER_IN_EN(x)
  22831. #define CSI_CSICR18_DEINTERLACE_EN_MASK CSI_CR18_DEINTERLACE_EN_MASK
  22832. #define CSI_CSICR18_DEINTERLACE_EN_SHIFT CSI_CR18_DEINTERLACE_EN_SHIFT
  22833. #define CSI_CSICR18_DEINTERLACE_EN(x) CSI_CR18_DEINTERLACE_EN(x)
  22834. #define CSI_CSICR18_PARALLEL24_EN_MASK CSI_CR18_PARALLEL24_EN_MASK
  22835. #define CSI_CSICR18_PARALLEL24_EN_SHIFT CSI_CR18_PARALLEL24_EN_SHIFT
  22836. #define CSI_CSICR18_PARALLEL24_EN(x) CSI_CR18_PARALLEL24_EN(x)
  22837. #define CSI_CSICR18_BASEADDR_SWITCH_EN_MASK CSI_CR18_BASEADDR_SWITCH_EN_MASK
  22838. #define CSI_CSICR18_BASEADDR_SWITCH_EN_SHIFT CSI_CR18_BASEADDR_SWITCH_EN_SHIFT
  22839. #define CSI_CSICR18_BASEADDR_SWITCH_EN(x) CSI_CR18_BASEADDR_SWITCH_EN(x)
  22840. #define CSI_CSICR18_BASEADDR_SWITCH_SEL_MASK CSI_CR18_BASEADDR_SWITCH_SEL_MASK
  22841. #define CSI_CSICR18_BASEADDR_SWITCH_SEL_SHIFT CSI_CR18_BASEADDR_SWITCH_SEL_SHIFT
  22842. #define CSI_CSICR18_BASEADDR_SWITCH_SEL(x) CSI_CR18_BASEADDR_SWITCH_SEL(x)
  22843. #define CSI_CSICR18_FIELD0_DONE_IE_MASK CSI_CR18_FIELD0_DONE_IE_MASK
  22844. #define CSI_CSICR18_FIELD0_DONE_IE_SHIFT CSI_CR18_FIELD0_DONE_IE_SHIFT
  22845. #define CSI_CSICR18_FIELD0_DONE_IE(x) CSI_CR18_FIELD0_DONE_IE(x)
  22846. #define CSI_CSICR18_DMA_FIELD1_DONE_IE_MASK CSI_CR18_DMA_FIELD1_DONE_IE_MASK
  22847. #define CSI_CSICR18_DMA_FIELD1_DONE_IE_SHIFT CSI_CR18_DMA_FIELD1_DONE_IE_SHIFT
  22848. #define CSI_CSICR18_DMA_FIELD1_DONE_IE(x) CSI_CR18_DMA_FIELD1_DONE_IE(x)
  22849. #define CSI_CSICR18_LAST_DMA_REQ_SEL_MASK CSI_CR18_LAST_DMA_REQ_SEL_MASK
  22850. #define CSI_CSICR18_LAST_DMA_REQ_SEL_SHIFT CSI_CR18_LAST_DMA_REQ_SEL_SHIFT
  22851. #define CSI_CSICR18_LAST_DMA_REQ_SEL(x) CSI_CR18_LAST_DMA_REQ_SEL(x)
  22852. #define CSI_CSICR18_BASEADDR_CHANGE_ERROR_IE_MASK CSI_CR18_BASEADDR_CHANGE_ERROR_IE_MASK
  22853. #define CSI_CSICR18_BASEADDR_CHANGE_ERROR_IE_SHIFT CSI_CR18_BASEADDR_CHANGE_ERROR_IE_SHIFT
  22854. #define CSI_CSICR18_BASEADDR_CHANGE_ERROR_IE(x) CSI_CR18_BASEADDR_CHANGE_ERROR_IE(x)
  22855. #define CSI_CSICR18_RGB888A_FORMAT_SEL_MASK CSI_CR18_RGB888A_FORMAT_SEL_MASK
  22856. #define CSI_CSICR18_RGB888A_FORMAT_SEL_SHIFT CSI_CR18_RGB888A_FORMAT_SEL_SHIFT
  22857. #define CSI_CSICR18_RGB888A_FORMAT_SEL(x) CSI_CR18_RGB888A_FORMAT_SEL(x)
  22858. #define CSI_CSICR18_AHB_HPROT_MASK CSI_CR18_AHB_HPROT_MASK
  22859. #define CSI_CSICR18_AHB_HPROT_SHIFT CSI_CR18_AHB_HPROT_SHIFT
  22860. #define CSI_CSICR18_AHB_HPROT(x) CSI_CR18_AHB_HPROT(x)
  22861. #define CSI_CSICR18_MASK_OPTION_MASK CSI_CR18_MASK_OPTION_MASK
  22862. #define CSI_CSICR18_MASK_OPTION_SHIFT CSI_CR18_MASK_OPTION_SHIFT
  22863. #define CSI_CSICR18_MASK_OPTION(x) CSI_CR18_MASK_OPTION(x)
  22864. #define CSI_CSICR18_MIPI_DOUBLE_CMPNT_MASK CSI_CR18_MIPI_DOUBLE_CMPNT_MASK
  22865. #define CSI_CSICR18_MIPI_DOUBLE_CMPNT_SHIFT CSI_CR18_MIPI_DOUBLE_CMPNT_SHIFT
  22866. #define CSI_CSICR18_MIPI_DOUBLE_CMPNT(x) CSI_CR18_MIPI_DOUBLE_CMPNT(x)
  22867. #define CSI_CSICR18_MIPI_YU_SWAP_MASK CSI_CR18_MIPI_YU_SWAP_MASK
  22868. #define CSI_CSICR18_MIPI_YU_SWAP_SHIFT CSI_CR18_MIPI_YU_SWAP_SHIFT
  22869. #define CSI_CSICR18_MIPI_YU_SWAP(x) CSI_CR18_MIPI_YU_SWAP(x)
  22870. #define CSI_CSICR18_DATA_FROM_MIPI_MASK CSI_CR18_DATA_FROM_MIPI_MASK
  22871. #define CSI_CSICR18_DATA_FROM_MIPI_SHIFT CSI_CR18_DATA_FROM_MIPI_SHIFT
  22872. #define CSI_CSICR18_DATA_FROM_MIPI(x) CSI_CR18_DATA_FROM_MIPI(x)
  22873. #define CSI_CSICR18_LINE_STRIDE_EN_MASK CSI_CR18_LINE_STRIDE_EN_MASK
  22874. #define CSI_CSICR18_LINE_STRIDE_EN_SHIFT CSI_CR18_LINE_STRIDE_EN_SHIFT
  22875. #define CSI_CSICR18_LINE_STRIDE_EN(x) CSI_CR18_LINE_STRIDE_EN(x)
  22876. #define CSI_CSICR18_MIPI_DATA_FORMAT_MASK CSI_CR18_MIPI_DATA_FORMAT_MASK
  22877. #define CSI_CSICR18_MIPI_DATA_FORMAT_SHIFT CSI_CR18_MIPI_DATA_FORMAT_SHIFT
  22878. #define CSI_CSICR18_MIPI_DATA_FORMAT(x) CSI_CR18_MIPI_DATA_FORMAT(x)
  22879. #define CSI_CSICR18_CSI_ENABLE_MASK CSI_CR18_CSI_ENABLE_MASK
  22880. #define CSI_CSICR18_CSI_ENABLE_SHIFT CSI_CR18_CSI_ENABLE_SHIFT
  22881. #define CSI_CSICR18_CSI_ENABLE(x) CSI_CR18_CSI_ENABLE(x)
  22882. #define CSI_CSICR19_DMA_RFIFO_HIGHEST_FIFO_LEVEL_MASK CSI_CR19_DMA_RFIFO_HIGHEST_FIFO_LEVEL_MASK
  22883. #define CSI_CSICR19_DMA_RFIFO_HIGHEST_FIFO_LEVEL_SHIFT CSI_CR19_DMA_RFIFO_HIGHEST_FIFO_LEVEL_SHIFT
  22884. #define CSI_CSICR19_DMA_RFIFO_HIGHEST_FIFO_LEVEL(x) CSI_CR19_DMA_RFIFO_HIGHEST_FIFO_LEVEL(x)
  22885. #define CSI_CSICR20_THRESHOLD_MASK CSI_CR20_THRESHOLD_MASK
  22886. #define CSI_CSICR20_THRESHOLD_SHIFT CSI_CR20_THRESHOLD_SHIFT
  22887. #define CSI_CSICR20_THRESHOLD(x) CSI_CR20_THRESHOLD(x)
  22888. #define CSI_CSICR20_BINARY_EN_MASK CSI_CR20_BINARY_EN_MASK
  22889. #define CSI_CSICR20_BINARY_EN_SHIFT CSI_CR20_BINARY_EN_SHIFT
  22890. #define CSI_CSICR20_BINARY_EN(x) CSI_CR20_BINARY_EN(x)
  22891. #define CSI_CSICR20_QR_DATA_FORMAT_MASK CSI_CR20_QR_DATA_FORMAT_MASK
  22892. #define CSI_CSICR20_QR_DATA_FORMAT_SHIFT CSI_CR20_QR_DATA_FORMAT_SHIFT
  22893. #define CSI_CSICR20_QR_DATA_FORMAT(x) CSI_CR20_QR_DATA_FORMAT(x)
  22894. #define CSI_CSICR20_BIG_END_MASK CSI_CR20_BIG_END_MASK
  22895. #define CSI_CSICR20_BIG_END_SHIFT CSI_CR20_BIG_END_SHIFT
  22896. #define CSI_CSICR20_BIG_END(x) CSI_CR20_BIG_END(x)
  22897. #define CSI_CSICR20_10BIT_NEW_EN_MASK CSI_CR20_10BIT_NEW_EN_MASK
  22898. #define CSI_CSICR20_10BIT_NEW_EN_SHIFT CSI_CR20_10BIT_NEW_EN_SHIFT
  22899. #define CSI_CSICR20_10BIT_NEW_EN(x) CSI_CR20_10BIT_NEW_EN(x)
  22900. #define CSI_CSICR20_HISTOGRAM_EN_MASK CSI_CR20_HISTOGRAM_EN_MASK
  22901. #define CSI_CSICR20_HISTOGRAM_EN_SHIFT CSI_CR20_HISTOGRAM_EN_SHIFT
  22902. #define CSI_CSICR20_HISTOGRAM_EN(x) CSI_CR20_HISTOGRAM_EN(x)
  22903. #define CSI_CSICR20_QRCODE_EN_MASK CSI_CR20_QRCODE_EN_MASK
  22904. #define CSI_CSICR20_QRCODE_EN_SHIFT CSI_CR20_QRCODE_EN_SHIFT
  22905. #define CSI_CSICR20_QRCODE_EN(x) CSI_CR20_QRCODE_EN(x)
  22906. #define CSI_CSICR21_PIXEL_COUNTERS_MASK CSI_CR21_PIXEL_COUNTERS_MASK
  22907. #define CSI_CSICR21_PIXEL_COUNTERS_SHIFT CSI_CR21_PIXEL_COUNTERS_SHIFT
  22908. #define CSI_CSICR21_PIXEL_COUNTERS(x) CSI_CR21_PIXEL_COUNTERS(x)
  22909. #define CSI_CSICR22_PIXEL_COUNTERS_MASK CSI_CR22_PIXEL_COUNTERS_MASK
  22910. #define CSI_CSICR22_PIXEL_COUNTERS_SHIFT CSI_CR22_PIXEL_COUNTERS_SHIFT
  22911. #define CSI_CSICR22_PIXEL_COUNTERS(x) CSI_CR22_PIXEL_COUNTERS(x)
  22912. #define CSI_CSICR23_PIXEL_COUNTERS_MASK CSI_CR23_PIXEL_COUNTERS_MASK
  22913. #define CSI_CSICR23_PIXEL_COUNTERS_SHIFT CSI_CR23_PIXEL_COUNTERS_SHIFT
  22914. #define CSI_CSICR23_PIXEL_COUNTERS(x) CSI_CR23_PIXEL_COUNTERS(x)
  22915. #define CSI_CSICR24_PIXEL_COUNTERS_MASK CSI_CR24_PIXEL_COUNTERS_MASK
  22916. #define CSI_CSICR24_PIXEL_COUNTERS_SHIFT CSI_CR24_PIXEL_COUNTERS_SHIFT
  22917. #define CSI_CSICR24_PIXEL_COUNTERS(x) CSI_CR24_PIXEL_COUNTERS(x)
  22918. #define CSI_CSICR25_PIXEL_COUNTERS_MASK CSI_CR25_PIXEL_COUNTERS_MASK
  22919. #define CSI_CSICR25_PIXEL_COUNTERS_SHIFT CSI_CR25_PIXEL_COUNTERS_SHIFT
  22920. #define CSI_CSICR25_PIXEL_COUNTERS(x) CSI_CR25_PIXEL_COUNTERS(x)
  22921. #define CSI_CSICR26_PIXEL_COUNTERS_MASK CSI_CR26_PIXEL_COUNTERS_MASK
  22922. #define CSI_CSICR26_PIXEL_COUNTERS_SHIFT CSI_CR26_PIXEL_COUNTERS_SHIFT
  22923. #define CSI_CSICR26_PIXEL_COUNTERS(x) CSI_CR26_PIXEL_COUNTERS(x)
  22924. #define CSI_CSICR27_PIXEL_COUNTERS_MASK CSI_CR27_PIXEL_COUNTERS_MASK
  22925. #define CSI_CSICR27_PIXEL_COUNTERS_SHIFT CSI_CR27_PIXEL_COUNTERS_SHIFT
  22926. #define CSI_CSICR27_PIXEL_COUNTERS(x) CSI_CR27_PIXEL_COUNTERS(x)
  22927. #define CSI_CSICR28_PIXEL_COUNTERS_MASK CSI_CR28_PIXEL_COUNTERS_MASK
  22928. #define CSI_CSICR28_PIXEL_COUNTERS_SHIFT CSI_CR28_PIXEL_COUNTERS_SHIFT
  22929. #define CSI_CSICR28_PIXEL_COUNTERS(x) CSI_CR28_PIXEL_COUNTERS(x)
  22930. #define CSI_CSICR29_PIXEL_COUNTERS_MASK CSI_CR29_PIXEL_COUNTERS_MASK
  22931. #define CSI_CSICR29_PIXEL_COUNTERS_SHIFT CSI_CR29_PIXEL_COUNTERS_SHIFT
  22932. #define CSI_CSICR29_PIXEL_COUNTERS(x) CSI_CR29_PIXEL_COUNTERS(x)
  22933. #define CSI_CSICR30_PIXEL_COUNTERS_MASK CSI_CR30_PIXEL_COUNTERS_MASK
  22934. #define CSI_CSICR30_PIXEL_COUNTERS_SHIFT CSI_CR30_PIXEL_COUNTERS_SHIFT
  22935. #define CSI_CSICR30_PIXEL_COUNTERS(x) CSI_CR30_PIXEL_COUNTERS(x)
  22936. #define CSI_CSICR31_PIXEL_COUNTERS_MASK CSI_CR31_PIXEL_COUNTERS_MASK
  22937. #define CSI_CSICR31_PIXEL_COUNTERS_SHIFT CSI_CR31_PIXEL_COUNTERS_SHIFT
  22938. #define CSI_CSICR31_PIXEL_COUNTERS(x) CSI_CR31_PIXEL_COUNTERS(x)
  22939. #define CSI_CSICR32_PIXEL_COUNTERS_MASK CSI_CR32_PIXEL_COUNTERS_MASK
  22940. #define CSI_CSICR32_PIXEL_COUNTERS_SHIFT CSI_CR32_PIXEL_COUNTERS_SHIFT
  22941. #define CSI_CSICR32_PIXEL_COUNTERS(x) CSI_CR32_PIXEL_COUNTERS(x)
  22942. #define CSI_CSICR33_PIXEL_COUNTERS_MASK CSI_CR33_PIXEL_COUNTERS_MASK
  22943. #define CSI_CSICR33_PIXEL_COUNTERS_SHIFT CSI_CR33_PIXEL_COUNTERS_SHIFT
  22944. #define CSI_CSICR33_PIXEL_COUNTERS(x) CSI_CR33_PIXEL_COUNTERS(x)
  22945. #define CSI_CSICR34_PIXEL_COUNTERS_MASK CSI_CR34_PIXEL_COUNTERS_MASK
  22946. #define CSI_CSICR34_PIXEL_COUNTERS_SHIFT CSI_CR34_PIXEL_COUNTERS_SHIFT
  22947. #define CSI_CSICR34_PIXEL_COUNTERS(x) CSI_CR34_PIXEL_COUNTERS(x)
  22948. #define CSI_CSICR35_PIXEL_COUNTERS_MASK CSI_CR35_PIXEL_COUNTERS_MASK
  22949. #define CSI_CSICR35_PIXEL_COUNTERS_SHIFT CSI_CR35_PIXEL_COUNTERS_SHIFT
  22950. #define CSI_CSICR35_PIXEL_COUNTERS(x) CSI_CR35_PIXEL_COUNTERS(x)
  22951. #define CSI_CSICR36_PIXEL_COUNTERS_MASK CSI_CR36_PIXEL_COUNTERS_MASK
  22952. #define CSI_CSICR36_PIXEL_COUNTERS_SHIFT CSI_CR36_PIXEL_COUNTERS_SHIFT
  22953. #define CSI_CSICR36_PIXEL_COUNTERS(x) CSI_CR36_PIXEL_COUNTERS(x)
  22954. #define CSI_CSICR37_PIXEL_COUNTERS_MASK CSI_CR37_PIXEL_COUNTERS_MASK
  22955. #define CSI_CSICR37_PIXEL_COUNTERS_SHIFT CSI_CR37_PIXEL_COUNTERS_SHIFT
  22956. #define CSI_CSICR37_PIXEL_COUNTERS(x) CSI_CR37_PIXEL_COUNTERS(x)
  22957. #define CSI_CSICR38_PIXEL_COUNTERS_MASK CSI_CR38_PIXEL_COUNTERS_MASK
  22958. #define CSI_CSICR38_PIXEL_COUNTERS_SHIFT CSI_CR38_PIXEL_COUNTERS_SHIFT
  22959. #define CSI_CSICR38_PIXEL_COUNTERS(x) CSI_CR38_PIXEL_COUNTERS(x)
  22960. #define CSI_CSICR39_PIXEL_COUNTERS_MASK CSI_CR39_PIXEL_COUNTERS_MASK
  22961. #define CSI_CSICR39_PIXEL_COUNTERS_SHIFT CSI_CR39_PIXEL_COUNTERS_SHIFT
  22962. #define CSI_CSICR39_PIXEL_COUNTERS(x) CSI_CR39_PIXEL_COUNTERS(x)
  22963. #define CSI_CSICR40_PIXEL_COUNTERS_MASK CSI_CR40_PIXEL_COUNTERS_MASK
  22964. #define CSI_CSICR40_PIXEL_COUNTERS_SHIFT CSI_CR40_PIXEL_COUNTERS_SHIFT
  22965. #define CSI_CSICR40_PIXEL_COUNTERS(x) CSI_CR40_PIXEL_COUNTERS(x)
  22966. #define CSI_CSICR41_PIXEL_COUNTERS_MASK CSI_CR41_PIXEL_COUNTERS_MASK
  22967. #define CSI_CSICR41_PIXEL_COUNTERS_SHIFT CSI_CR41_PIXEL_COUNTERS_SHIFT
  22968. #define CSI_CSICR41_PIXEL_COUNTERS(x) CSI_CR41_PIXEL_COUNTERS(x)
  22969. #define CSI_CSICR42_PIXEL_COUNTERS_MASK CSI_CR42_PIXEL_COUNTERS_MASK
  22970. #define CSI_CSICR42_PIXEL_COUNTERS_SHIFT CSI_CR42_PIXEL_COUNTERS_SHIFT
  22971. #define CSI_CSICR42_PIXEL_COUNTERS(x) CSI_CR42_PIXEL_COUNTERS(x)
  22972. #define CSI_CSICR43_PIXEL_COUNTERS_MASK CSI_CR43_PIXEL_COUNTERS_MASK
  22973. #define CSI_CSICR43_PIXEL_COUNTERS_SHIFT CSI_CR43_PIXEL_COUNTERS_SHIFT
  22974. #define CSI_CSICR43_PIXEL_COUNTERS(x) CSI_CR43_PIXEL_COUNTERS(x)
  22975. #define CSI_CSICR44_PIXEL_COUNTERS_MASK CSI_CR44_PIXEL_COUNTERS_MASK
  22976. #define CSI_CSICR44_PIXEL_COUNTERS_SHIFT CSI_CR44_PIXEL_COUNTERS_SHIFT
  22977. #define CSI_CSICR44_PIXEL_COUNTERS(x) CSI_CR44_PIXEL_COUNTERS(x)
  22978. #define CSI_CSICR45_PIXEL_COUNTERS_MASK CSI_CR45_PIXEL_COUNTERS_MASK
  22979. #define CSI_CSICR45_PIXEL_COUNTERS_SHIFT CSI_CR45_PIXEL_COUNTERS_SHIFT
  22980. #define CSI_CSICR45_PIXEL_COUNTERS(x) CSI_CR45_PIXEL_COUNTERS(x)
  22981. #define CSI_CSICR46_PIXEL_COUNTERS_MASK CSI_CR46_PIXEL_COUNTERS_MASK
  22982. #define CSI_CSICR46_PIXEL_COUNTERS_SHIFT CSI_CR46_PIXEL_COUNTERS_SHIFT
  22983. #define CSI_CSICR46_PIXEL_COUNTERS(x) CSI_CR46_PIXEL_COUNTERS(x)
  22984. #define CSI_CSICR47_PIXEL_COUNTERS_MASK CSI_CR47_PIXEL_COUNTERS_MASK
  22985. #define CSI_CSICR47_PIXEL_COUNTERS_SHIFT CSI_CR47_PIXEL_COUNTERS_SHIFT
  22986. #define CSI_CSICR47_PIXEL_COUNTERS(x) CSI_CR47_PIXEL_COUNTERS(x)
  22987. #define CSI_CSICR48_PIXEL_COUNTERS_MASK CSI_CR48_PIXEL_COUNTERS_MASK
  22988. #define CSI_CSICR48_PIXEL_COUNTERS_SHIFT CSI_CR48_PIXEL_COUNTERS_SHIFT
  22989. #define CSI_CSICR48_PIXEL_COUNTERS(x) CSI_CR48_PIXEL_COUNTERS(x)
  22990. #define CSI_CSICR49_PIXEL_COUNTERS_MASK CSI_CR49_PIXEL_COUNTERS_MASK
  22991. #define CSI_CSICR49_PIXEL_COUNTERS_SHIFT CSI_CR49_PIXEL_COUNTERS_SHIFT
  22992. #define CSI_CSICR49_PIXEL_COUNTERS(x) CSI_CR49_PIXEL_COUNTERS(x)
  22993. #define CSI_CSICR50_PIXEL_COUNTERS_MASK CSI_CR50_PIXEL_COUNTERS_MASK
  22994. #define CSI_CSICR50_PIXEL_COUNTERS_SHIFT CSI_CR50_PIXEL_COUNTERS_SHIFT
  22995. #define CSI_CSICR50_PIXEL_COUNTERS(x) CSI_CR50_PIXEL_COUNTERS(x)
  22996. #define CSI_CSICR51_PIXEL_COUNTERS_MASK CSI_CR51_PIXEL_COUNTERS_MASK
  22997. #define CSI_CSICR51_PIXEL_COUNTERS_SHIFT CSI_CR51_PIXEL_COUNTERS_SHIFT
  22998. #define CSI_CSICR51_PIXEL_COUNTERS(x) CSI_CR51_PIXEL_COUNTERS(x)
  22999. #define CSI_CSICR52_PIXEL_COUNTERS_MASK CSI_CR52_PIXEL_COUNTERS_MASK
  23000. #define CSI_CSICR52_PIXEL_COUNTERS_SHIFT CSI_CR52_PIXEL_COUNTERS_SHIFT
  23001. #define CSI_CSICR52_PIXEL_COUNTERS(x) CSI_CR52_PIXEL_COUNTERS(x)
  23002. #define CSI_CSICR53_PIXEL_COUNTERS_MASK CSI_CR53_PIXEL_COUNTERS_MASK
  23003. #define CSI_CSICR53_PIXEL_COUNTERS_SHIFT CSI_CR53_PIXEL_COUNTERS_SHIFT
  23004. #define CSI_CSICR53_PIXEL_COUNTERS(x) CSI_CR53_PIXEL_COUNTERS(x)
  23005. #define CSI_CSICR54_PIXEL_COUNTERS_MASK CSI_CR54_PIXEL_COUNTERS_MASK
  23006. #define CSI_CSICR54_PIXEL_COUNTERS_SHIFT CSI_CR54_PIXEL_COUNTERS_SHIFT
  23007. #define CSI_CSICR54_PIXEL_COUNTERS(x) CSI_CR54_PIXEL_COUNTERS(x)
  23008. #define CSI_CSICR55_PIXEL_COUNTERS_MASK CSI_CR55_PIXEL_COUNTERS_MASK
  23009. #define CSI_CSICR55_PIXEL_COUNTERS_SHIFT CSI_CR55_PIXEL_COUNTERS_SHIFT
  23010. #define CSI_CSICR55_PIXEL_COUNTERS(x) CSI_CR55_PIXEL_COUNTERS(x)
  23011. #define CSI_CSICR56_PIXEL_COUNTERS_MASK CSI_CR56_PIXEL_COUNTERS_MASK
  23012. #define CSI_CSICR56_PIXEL_COUNTERS_SHIFT CSI_CR56_PIXEL_COUNTERS_SHIFT
  23013. #define CSI_CSICR56_PIXEL_COUNTERS(x) CSI_CR56_PIXEL_COUNTERS(x)
  23014. #define CSI_CSICR57_PIXEL_COUNTERS_MASK CSI_CR57_PIXEL_COUNTERS_MASK
  23015. #define CSI_CSICR57_PIXEL_COUNTERS_SHIFT CSI_CR57_PIXEL_COUNTERS_SHIFT
  23016. #define CSI_CSICR57_PIXEL_COUNTERS(x) CSI_CR57_PIXEL_COUNTERS(x)
  23017. #define CSI_CSICR58_PIXEL_COUNTERS_MASK CSI_CR58_PIXEL_COUNTERS_MASK
  23018. #define CSI_CSICR58_PIXEL_COUNTERS_SHIFT CSI_CR58_PIXEL_COUNTERS_SHIFT
  23019. #define CSI_CSICR58_PIXEL_COUNTERS(x) CSI_CR58_PIXEL_COUNTERS(x)
  23020. #define CSI_CSICR59_PIXEL_COUNTERS_MASK CSI_CR59_PIXEL_COUNTERS_MASK
  23021. #define CSI_CSICR59_PIXEL_COUNTERS_SHIFT CSI_CR59_PIXEL_COUNTERS_SHIFT
  23022. #define CSI_CSICR59_PIXEL_COUNTERS(x) CSI_CR59_PIXEL_COUNTERS(x)
  23023. #define CSI_CSICR60_PIXEL_COUNTERS_MASK CSI_CR60_PIXEL_COUNTERS_MASK
  23024. #define CSI_CSICR60_PIXEL_COUNTERS_SHIFT CSI_CR60_PIXEL_COUNTERS_SHIFT
  23025. #define CSI_CSICR60_PIXEL_COUNTERS(x) CSI_CR60_PIXEL_COUNTERS(x)
  23026. #define CSI_CSICR61_PIXEL_COUNTERS_MASK CSI_CR61_PIXEL_COUNTERS_MASK
  23027. #define CSI_CSICR61_PIXEL_COUNTERS_SHIFT CSI_CR61_PIXEL_COUNTERS_SHIFT
  23028. #define CSI_CSICR61_PIXEL_COUNTERS(x) CSI_CR61_PIXEL_COUNTERS(x)
  23029. #define CSI_CSICR62_PIXEL_COUNTERS_MASK CSI_CR62_PIXEL_COUNTERS_MASK
  23030. #define CSI_CSICR62_PIXEL_COUNTERS_SHIFT CSI_CR62_PIXEL_COUNTERS_SHIFT
  23031. #define CSI_CSICR62_PIXEL_COUNTERS(x) CSI_CR62_PIXEL_COUNTERS(x)
  23032. #define CSI_CSICR63_PIXEL_COUNTERS_MASK CSI_CR63_PIXEL_COUNTERS_MASK
  23033. #define CSI_CSICR63_PIXEL_COUNTERS_SHIFT CSI_CR63_PIXEL_COUNTERS_SHIFT
  23034. #define CSI_CSICR63_PIXEL_COUNTERS(x) CSI_CR63_PIXEL_COUNTERS(x)
  23035. #define CSI_CSICR64_PIXEL_COUNTERS_MASK CSI_CR64_PIXEL_COUNTERS_MASK
  23036. #define CSI_CSICR64_PIXEL_COUNTERS_SHIFT CSI_CR64_PIXEL_COUNTERS_SHIFT
  23037. #define CSI_CSICR64_PIXEL_COUNTERS(x) CSI_CR64_PIXEL_COUNTERS(x)
  23038. #define CSI_CSICR65_PIXEL_COUNTERS_MASK CSI_CR65_PIXEL_COUNTERS_MASK
  23039. #define CSI_CSICR65_PIXEL_COUNTERS_SHIFT CSI_CR65_PIXEL_COUNTERS_SHIFT
  23040. #define CSI_CSICR65_PIXEL_COUNTERS(x) CSI_CR65_PIXEL_COUNTERS(x)
  23041. #define CSI_CSICR66_PIXEL_COUNTERS_MASK CSI_CR66_PIXEL_COUNTERS_MASK
  23042. #define CSI_CSICR66_PIXEL_COUNTERS_SHIFT CSI_CR66_PIXEL_COUNTERS_SHIFT
  23043. #define CSI_CSICR66_PIXEL_COUNTERS(x) CSI_CR66_PIXEL_COUNTERS(x)
  23044. #define CSI_CSICR67_PIXEL_COUNTERS_MASK CSI_CR67_PIXEL_COUNTERS_MASK
  23045. #define CSI_CSICR67_PIXEL_COUNTERS_SHIFT CSI_CR67_PIXEL_COUNTERS_SHIFT
  23046. #define CSI_CSICR67_PIXEL_COUNTERS(x) CSI_CR67_PIXEL_COUNTERS(x)
  23047. #define CSI_CSICR68_PIXEL_COUNTERS_MASK CSI_CR68_PIXEL_COUNTERS_MASK
  23048. #define CSI_CSICR68_PIXEL_COUNTERS_SHIFT CSI_CR68_PIXEL_COUNTERS_SHIFT
  23049. #define CSI_CSICR68_PIXEL_COUNTERS(x) CSI_CR68_PIXEL_COUNTERS(x)
  23050. #define CSI_CSICR69_PIXEL_COUNTERS_MASK CSI_CR69_PIXEL_COUNTERS_MASK
  23051. #define CSI_CSICR69_PIXEL_COUNTERS_SHIFT CSI_CR69_PIXEL_COUNTERS_SHIFT
  23052. #define CSI_CSICR69_PIXEL_COUNTERS(x) CSI_CR69_PIXEL_COUNTERS(x)
  23053. #define CSI_CSICR70_PIXEL_COUNTERS_MASK CSI_CR70_PIXEL_COUNTERS_MASK
  23054. #define CSI_CSICR70_PIXEL_COUNTERS_SHIFT CSI_CR70_PIXEL_COUNTERS_SHIFT
  23055. #define CSI_CSICR70_PIXEL_COUNTERS(x) CSI_CR70_PIXEL_COUNTERS(x)
  23056. #define CSI_CSICR71_PIXEL_COUNTERS_MASK CSI_CR71_PIXEL_COUNTERS_MASK
  23057. #define CSI_CSICR71_PIXEL_COUNTERS_SHIFT CSI_CR71_PIXEL_COUNTERS_SHIFT
  23058. #define CSI_CSICR71_PIXEL_COUNTERS(x) CSI_CR71_PIXEL_COUNTERS(x)
  23059. #define CSI_CSICR72_PIXEL_COUNTERS_MASK CSI_CR72_PIXEL_COUNTERS_MASK
  23060. #define CSI_CSICR72_PIXEL_COUNTERS_SHIFT CSI_CR72_PIXEL_COUNTERS_SHIFT
  23061. #define CSI_CSICR72_PIXEL_COUNTERS(x) CSI_CR72_PIXEL_COUNTERS(x)
  23062. #define CSI_CSICR73_PIXEL_COUNTERS_MASK CSI_CR73_PIXEL_COUNTERS_MASK
  23063. #define CSI_CSICR73_PIXEL_COUNTERS_SHIFT CSI_CR73_PIXEL_COUNTERS_SHIFT
  23064. #define CSI_CSICR73_PIXEL_COUNTERS(x) CSI_CR73_PIXEL_COUNTERS(x)
  23065. #define CSI_CSICR74_PIXEL_COUNTERS_MASK CSI_CR74_PIXEL_COUNTERS_MASK
  23066. #define CSI_CSICR74_PIXEL_COUNTERS_SHIFT CSI_CR74_PIXEL_COUNTERS_SHIFT
  23067. #define CSI_CSICR74_PIXEL_COUNTERS(x) CSI_CR74_PIXEL_COUNTERS(x)
  23068. #define CSI_CSICR75_PIXEL_COUNTERS_MASK CSI_CR75_PIXEL_COUNTERS_MASK
  23069. #define CSI_CSICR75_PIXEL_COUNTERS_SHIFT CSI_CR75_PIXEL_COUNTERS_SHIFT
  23070. #define CSI_CSICR75_PIXEL_COUNTERS(x) CSI_CR75_PIXEL_COUNTERS(x)
  23071. #define CSI_CSICR76_PIXEL_COUNTERS_MASK CSI_CR76_PIXEL_COUNTERS_MASK
  23072. #define CSI_CSICR76_PIXEL_COUNTERS_SHIFT CSI_CR76_PIXEL_COUNTERS_SHIFT
  23073. #define CSI_CSICR76_PIXEL_COUNTERS(x) CSI_CR76_PIXEL_COUNTERS(x)
  23074. #define CSI_CSICR77_PIXEL_COUNTERS_MASK CSI_CR77_PIXEL_COUNTERS_MASK
  23075. #define CSI_CSICR77_PIXEL_COUNTERS_SHIFT CSI_CR77_PIXEL_COUNTERS_SHIFT
  23076. #define CSI_CSICR77_PIXEL_COUNTERS(x) CSI_CR77_PIXEL_COUNTERS(x)
  23077. #define CSI_CSICR78_PIXEL_COUNTERS_MASK CSI_CR78_PIXEL_COUNTERS_MASK
  23078. #define CSI_CSICR78_PIXEL_COUNTERS_SHIFT CSI_CR78_PIXEL_COUNTERS_SHIFT
  23079. #define CSI_CSICR78_PIXEL_COUNTERS(x) CSI_CR78_PIXEL_COUNTERS(x)
  23080. #define CSI_CSICR79_PIXEL_COUNTERS_MASK CSI_CR79_PIXEL_COUNTERS_MASK
  23081. #define CSI_CSICR79_PIXEL_COUNTERS_SHIFT CSI_CR79_PIXEL_COUNTERS_SHIFT
  23082. #define CSI_CSICR79_PIXEL_COUNTERS(x) CSI_CR79_PIXEL_COUNTERS(x)
  23083. #define CSI_CSICR80_PIXEL_COUNTERS_MASK CSI_CR80_PIXEL_COUNTERS_MASK
  23084. #define CSI_CSICR80_PIXEL_COUNTERS_SHIFT CSI_CR80_PIXEL_COUNTERS_SHIFT
  23085. #define CSI_CSICR80_PIXEL_COUNTERS(x) CSI_CR80_PIXEL_COUNTERS(x)
  23086. #define CSI_CSICR81_PIXEL_COUNTERS_MASK CSI_CR81_PIXEL_COUNTERS_MASK
  23087. #define CSI_CSICR81_PIXEL_COUNTERS_SHIFT CSI_CR81_PIXEL_COUNTERS_SHIFT
  23088. #define CSI_CSICR81_PIXEL_COUNTERS(x) CSI_CR81_PIXEL_COUNTERS(x)
  23089. #define CSI_CSICR82_PIXEL_COUNTERS_MASK CSI_CR82_PIXEL_COUNTERS_MASK
  23090. #define CSI_CSICR82_PIXEL_COUNTERS_SHIFT CSI_CR82_PIXEL_COUNTERS_SHIFT
  23091. #define CSI_CSICR82_PIXEL_COUNTERS(x) CSI_CR82_PIXEL_COUNTERS(x)
  23092. #define CSI_CSICR83_PIXEL_COUNTERS_MASK CSI_CR83_PIXEL_COUNTERS_MASK
  23093. #define CSI_CSICR83_PIXEL_COUNTERS_SHIFT CSI_CR83_PIXEL_COUNTERS_SHIFT
  23094. #define CSI_CSICR83_PIXEL_COUNTERS(x) CSI_CR83_PIXEL_COUNTERS(x)
  23095. #define CSI_CSICR84_PIXEL_COUNTERS_MASK CSI_CR84_PIXEL_COUNTERS_MASK
  23096. #define CSI_CSICR84_PIXEL_COUNTERS_SHIFT CSI_CR84_PIXEL_COUNTERS_SHIFT
  23097. #define CSI_CSICR84_PIXEL_COUNTERS(x) CSI_CR84_PIXEL_COUNTERS(x)
  23098. #define CSI_CSICR85_PIXEL_COUNTERS_MASK CSI_CR85_PIXEL_COUNTERS_MASK
  23099. #define CSI_CSICR85_PIXEL_COUNTERS_SHIFT CSI_CR85_PIXEL_COUNTERS_SHIFT
  23100. #define CSI_CSICR85_PIXEL_COUNTERS(x) CSI_CR85_PIXEL_COUNTERS(x)
  23101. #define CSI_CSICR86_PIXEL_COUNTERS_MASK CSI_CR86_PIXEL_COUNTERS_MASK
  23102. #define CSI_CSICR86_PIXEL_COUNTERS_SHIFT CSI_CR86_PIXEL_COUNTERS_SHIFT
  23103. #define CSI_CSICR86_PIXEL_COUNTERS(x) CSI_CR86_PIXEL_COUNTERS(x)
  23104. #define CSI_CSICR87_PIXEL_COUNTERS_MASK CSI_CR87_PIXEL_COUNTERS_MASK
  23105. #define CSI_CSICR87_PIXEL_COUNTERS_SHIFT CSI_CR87_PIXEL_COUNTERS_SHIFT
  23106. #define CSI_CSICR87_PIXEL_COUNTERS(x) CSI_CR87_PIXEL_COUNTERS(x)
  23107. #define CSI_CSICR88_PIXEL_COUNTERS_MASK CSI_CR88_PIXEL_COUNTERS_MASK
  23108. #define CSI_CSICR88_PIXEL_COUNTERS_SHIFT CSI_CR88_PIXEL_COUNTERS_SHIFT
  23109. #define CSI_CSICR88_PIXEL_COUNTERS(x) CSI_CR88_PIXEL_COUNTERS(x)
  23110. #define CSI_CSICR89_PIXEL_COUNTERS_MASK CSI_CR89_PIXEL_COUNTERS_MASK
  23111. #define CSI_CSICR89_PIXEL_COUNTERS_SHIFT CSI_CR89_PIXEL_COUNTERS_SHIFT
  23112. #define CSI_CSICR89_PIXEL_COUNTERS(x) CSI_CR89_PIXEL_COUNTERS(x)
  23113. #define CSI_CSICR90_PIXEL_COUNTERS_MASK CSI_CR90_PIXEL_COUNTERS_MASK
  23114. #define CSI_CSICR90_PIXEL_COUNTERS_SHIFT CSI_CR90_PIXEL_COUNTERS_SHIFT
  23115. #define CSI_CSICR90_PIXEL_COUNTERS(x) CSI_CR90_PIXEL_COUNTERS(x)
  23116. #define CSI_CSICR91_PIXEL_COUNTERS_MASK CSI_CR91_PIXEL_COUNTERS_MASK
  23117. #define CSI_CSICR91_PIXEL_COUNTERS_SHIFT CSI_CR91_PIXEL_COUNTERS_SHIFT
  23118. #define CSI_CSICR91_PIXEL_COUNTERS(x) CSI_CR91_PIXEL_COUNTERS(x)
  23119. #define CSI_CSICR92_PIXEL_COUNTERS_MASK CSI_CR92_PIXEL_COUNTERS_MASK
  23120. #define CSI_CSICR92_PIXEL_COUNTERS_SHIFT CSI_CR92_PIXEL_COUNTERS_SHIFT
  23121. #define CSI_CSICR92_PIXEL_COUNTERS(x) CSI_CR92_PIXEL_COUNTERS(x)
  23122. #define CSI_CSICR93_PIXEL_COUNTERS_MASK CSI_CR93_PIXEL_COUNTERS_MASK
  23123. #define CSI_CSICR93_PIXEL_COUNTERS_SHIFT CSI_CR93_PIXEL_COUNTERS_SHIFT
  23124. #define CSI_CSICR93_PIXEL_COUNTERS(x) CSI_CR93_PIXEL_COUNTERS(x)
  23125. #define CSI_CSICR94_PIXEL_COUNTERS_MASK CSI_CR94_PIXEL_COUNTERS_MASK
  23126. #define CSI_CSICR94_PIXEL_COUNTERS_SHIFT CSI_CR94_PIXEL_COUNTERS_SHIFT
  23127. #define CSI_CSICR94_PIXEL_COUNTERS(x) CSI_CR94_PIXEL_COUNTERS(x)
  23128. #define CSI_CSICR95_PIXEL_COUNTERS_MASK CSI_CR95_PIXEL_COUNTERS_MASK
  23129. #define CSI_CSICR95_PIXEL_COUNTERS_SHIFT CSI_CR95_PIXEL_COUNTERS_SHIFT
  23130. #define CSI_CSICR95_PIXEL_COUNTERS(x) CSI_CR95_PIXEL_COUNTERS(x)
  23131. #define CSI_CSICR96_PIXEL_COUNTERS_MASK CSI_CR96_PIXEL_COUNTERS_MASK
  23132. #define CSI_CSICR96_PIXEL_COUNTERS_SHIFT CSI_CR96_PIXEL_COUNTERS_SHIFT
  23133. #define CSI_CSICR96_PIXEL_COUNTERS(x) CSI_CR96_PIXEL_COUNTERS(x)
  23134. #define CSI_CSICR97_PIXEL_COUNTERS_MASK CSI_CR97_PIXEL_COUNTERS_MASK
  23135. #define CSI_CSICR97_PIXEL_COUNTERS_SHIFT CSI_CR97_PIXEL_COUNTERS_SHIFT
  23136. #define CSI_CSICR97_PIXEL_COUNTERS(x) CSI_CR97_PIXEL_COUNTERS(x)
  23137. #define CSI_CSICR98_PIXEL_COUNTERS_MASK CSI_CR98_PIXEL_COUNTERS_MASK
  23138. #define CSI_CSICR98_PIXEL_COUNTERS_SHIFT CSI_CR98_PIXEL_COUNTERS_SHIFT
  23139. #define CSI_CSICR98_PIXEL_COUNTERS(x) CSI_CR98_PIXEL_COUNTERS(x)
  23140. #define CSI_CSICR99_PIXEL_COUNTERS_MASK CSI_CR99_PIXEL_COUNTERS_MASK
  23141. #define CSI_CSICR99_PIXEL_COUNTERS_SHIFT CSI_CR99_PIXEL_COUNTERS_SHIFT
  23142. #define CSI_CSICR99_PIXEL_COUNTERS(x) CSI_CR99_PIXEL_COUNTERS(x)
  23143. #define CSI_CSICR100_PIXEL_COUNTERS_MASK CSI_CR100_PIXEL_COUNTERS_MASK
  23144. #define CSI_CSICR100_PIXEL_COUNTERS_SHIFT CSI_CR100_PIXEL_COUNTERS_SHIFT
  23145. #define CSI_CSICR100_PIXEL_COUNTERS(x) CSI_CR100_PIXEL_COUNTERS(x)
  23146. #define CSI_CSICR101_PIXEL_COUNTERS_MASK CSI_CR101_PIXEL_COUNTERS_MASK
  23147. #define CSI_CSICR101_PIXEL_COUNTERS_SHIFT CSI_CR101_PIXEL_COUNTERS_SHIFT
  23148. #define CSI_CSICR101_PIXEL_COUNTERS(x) CSI_CR101_PIXEL_COUNTERS(x)
  23149. #define CSI_CSICR102_PIXEL_COUNTERS_MASK CSI_CR102_PIXEL_COUNTERS_MASK
  23150. #define CSI_CSICR102_PIXEL_COUNTERS_SHIFT CSI_CR102_PIXEL_COUNTERS_SHIFT
  23151. #define CSI_CSICR102_PIXEL_COUNTERS(x) CSI_CR102_PIXEL_COUNTERS(x)
  23152. #define CSI_CSICR103_PIXEL_COUNTERS_MASK CSI_CR103_PIXEL_COUNTERS_MASK
  23153. #define CSI_CSICR103_PIXEL_COUNTERS_SHIFT CSI_CR103_PIXEL_COUNTERS_SHIFT
  23154. #define CSI_CSICR103_PIXEL_COUNTERS(x) CSI_CR103_PIXEL_COUNTERS(x)
  23155. #define CSI_CSICR104_PIXEL_COUNTERS_MASK CSI_CR104_PIXEL_COUNTERS_MASK
  23156. #define CSI_CSICR104_PIXEL_COUNTERS_SHIFT CSI_CR104_PIXEL_COUNTERS_SHIFT
  23157. #define CSI_CSICR104_PIXEL_COUNTERS(x) CSI_CR104_PIXEL_COUNTERS(x)
  23158. #define CSI_CSICR105_PIXEL_COUNTERS_MASK CSI_CR105_PIXEL_COUNTERS_MASK
  23159. #define CSI_CSICR105_PIXEL_COUNTERS_SHIFT CSI_CR105_PIXEL_COUNTERS_SHIFT
  23160. #define CSI_CSICR105_PIXEL_COUNTERS(x) CSI_CR105_PIXEL_COUNTERS(x)
  23161. #define CSI_CSICR106_PIXEL_COUNTERS_MASK CSI_CR106_PIXEL_COUNTERS_MASK
  23162. #define CSI_CSICR106_PIXEL_COUNTERS_SHIFT CSI_CR106_PIXEL_COUNTERS_SHIFT
  23163. #define CSI_CSICR106_PIXEL_COUNTERS(x) CSI_CR106_PIXEL_COUNTERS(x)
  23164. #define CSI_CSICR107_PIXEL_COUNTERS_MASK CSI_CR107_PIXEL_COUNTERS_MASK
  23165. #define CSI_CSICR107_PIXEL_COUNTERS_SHIFT CSI_CR107_PIXEL_COUNTERS_SHIFT
  23166. #define CSI_CSICR107_PIXEL_COUNTERS(x) CSI_CR107_PIXEL_COUNTERS(x)
  23167. #define CSI_CSICR108_PIXEL_COUNTERS_MASK CSI_CR108_PIXEL_COUNTERS_MASK
  23168. #define CSI_CSICR108_PIXEL_COUNTERS_SHIFT CSI_CR108_PIXEL_COUNTERS_SHIFT
  23169. #define CSI_CSICR108_PIXEL_COUNTERS(x) CSI_CR108_PIXEL_COUNTERS(x)
  23170. #define CSI_CSICR109_PIXEL_COUNTERS_MASK CSI_CR109_PIXEL_COUNTERS_MASK
  23171. #define CSI_CSICR109_PIXEL_COUNTERS_SHIFT CSI_CR109_PIXEL_COUNTERS_SHIFT
  23172. #define CSI_CSICR109_PIXEL_COUNTERS(x) CSI_CR109_PIXEL_COUNTERS(x)
  23173. #define CSI_CSICR110_PIXEL_COUNTERS_MASK CSI_CR110_PIXEL_COUNTERS_MASK
  23174. #define CSI_CSICR110_PIXEL_COUNTERS_SHIFT CSI_CR110_PIXEL_COUNTERS_SHIFT
  23175. #define CSI_CSICR110_PIXEL_COUNTERS(x) CSI_CR110_PIXEL_COUNTERS(x)
  23176. #define CSI_CSICR111_PIXEL_COUNTERS_MASK CSI_CR111_PIXEL_COUNTERS_MASK
  23177. #define CSI_CSICR111_PIXEL_COUNTERS_SHIFT CSI_CR111_PIXEL_COUNTERS_SHIFT
  23178. #define CSI_CSICR111_PIXEL_COUNTERS(x) CSI_CR111_PIXEL_COUNTERS(x)
  23179. #define CSI_CSICR112_PIXEL_COUNTERS_MASK CSI_CR112_PIXEL_COUNTERS_MASK
  23180. #define CSI_CSICR112_PIXEL_COUNTERS_SHIFT CSI_CR112_PIXEL_COUNTERS_SHIFT
  23181. #define CSI_CSICR112_PIXEL_COUNTERS(x) CSI_CR112_PIXEL_COUNTERS(x)
  23182. #define CSI_CSICR113_PIXEL_COUNTERS_MASK CSI_CR113_PIXEL_COUNTERS_MASK
  23183. #define CSI_CSICR113_PIXEL_COUNTERS_SHIFT CSI_CR113_PIXEL_COUNTERS_SHIFT
  23184. #define CSI_CSICR113_PIXEL_COUNTERS(x) CSI_CR113_PIXEL_COUNTERS(x)
  23185. #define CSI_CSICR114_PIXEL_COUNTERS_MASK CSI_CR114_PIXEL_COUNTERS_MASK
  23186. #define CSI_CSICR114_PIXEL_COUNTERS_SHIFT CSI_CR114_PIXEL_COUNTERS_SHIFT
  23187. #define CSI_CSICR114_PIXEL_COUNTERS(x) CSI_CR114_PIXEL_COUNTERS(x)
  23188. #define CSI_CSICR115_PIXEL_COUNTERS_MASK CSI_CR115_PIXEL_COUNTERS_MASK
  23189. #define CSI_CSICR115_PIXEL_COUNTERS_SHIFT CSI_CR115_PIXEL_COUNTERS_SHIFT
  23190. #define CSI_CSICR115_PIXEL_COUNTERS(x) CSI_CR115_PIXEL_COUNTERS(x)
  23191. #define CSI_CSICR116_PIXEL_COUNTERS_MASK CSI_CR116_PIXEL_COUNTERS_MASK
  23192. #define CSI_CSICR116_PIXEL_COUNTERS_SHIFT CSI_CR116_PIXEL_COUNTERS_SHIFT
  23193. #define CSI_CSICR116_PIXEL_COUNTERS(x) CSI_CR116_PIXEL_COUNTERS(x)
  23194. #define CSI_CSICR117_PIXEL_COUNTERS_MASK CSI_CR117_PIXEL_COUNTERS_MASK
  23195. #define CSI_CSICR117_PIXEL_COUNTERS_SHIFT CSI_CR117_PIXEL_COUNTERS_SHIFT
  23196. #define CSI_CSICR117_PIXEL_COUNTERS(x) CSI_CR117_PIXEL_COUNTERS(x)
  23197. #define CSI_CSICR118_PIXEL_COUNTERS_MASK CSI_CR118_PIXEL_COUNTERS_MASK
  23198. #define CSI_CSICR118_PIXEL_COUNTERS_SHIFT CSI_CR118_PIXEL_COUNTERS_SHIFT
  23199. #define CSI_CSICR118_PIXEL_COUNTERS(x) CSI_CR118_PIXEL_COUNTERS(x)
  23200. #define CSI_CSICR119_PIXEL_COUNTERS_MASK CSI_CR119_PIXEL_COUNTERS_MASK
  23201. #define CSI_CSICR119_PIXEL_COUNTERS_SHIFT CSI_CR119_PIXEL_COUNTERS_SHIFT
  23202. #define CSI_CSICR119_PIXEL_COUNTERS(x) CSI_CR119_PIXEL_COUNTERS(x)
  23203. #define CSI_CSICR120_PIXEL_COUNTERS_MASK CSI_CR120_PIXEL_COUNTERS_MASK
  23204. #define CSI_CSICR120_PIXEL_COUNTERS_SHIFT CSI_CR120_PIXEL_COUNTERS_SHIFT
  23205. #define CSI_CSICR120_PIXEL_COUNTERS(x) CSI_CR120_PIXEL_COUNTERS(x)
  23206. #define CSI_CSICR121_PIXEL_COUNTERS_MASK CSI_CR121_PIXEL_COUNTERS_MASK
  23207. #define CSI_CSICR121_PIXEL_COUNTERS_SHIFT CSI_CR121_PIXEL_COUNTERS_SHIFT
  23208. #define CSI_CSICR121_PIXEL_COUNTERS(x) CSI_CR121_PIXEL_COUNTERS(x)
  23209. #define CSI_CSICR122_PIXEL_COUNTERS_MASK CSI_CR122_PIXEL_COUNTERS_MASK
  23210. #define CSI_CSICR122_PIXEL_COUNTERS_SHIFT CSI_CR122_PIXEL_COUNTERS_SHIFT
  23211. #define CSI_CSICR122_PIXEL_COUNTERS(x) CSI_CR122_PIXEL_COUNTERS(x)
  23212. #define CSI_CSICR123_PIXEL_COUNTERS_MASK CSI_CR123_PIXEL_COUNTERS_MASK
  23213. #define CSI_CSICR123_PIXEL_COUNTERS_SHIFT CSI_CR123_PIXEL_COUNTERS_SHIFT
  23214. #define CSI_CSICR123_PIXEL_COUNTERS(x) CSI_CR123_PIXEL_COUNTERS(x)
  23215. #define CSI_CSICR124_PIXEL_COUNTERS_MASK CSI_CR124_PIXEL_COUNTERS_MASK
  23216. #define CSI_CSICR124_PIXEL_COUNTERS_SHIFT CSI_CR124_PIXEL_COUNTERS_SHIFT
  23217. #define CSI_CSICR124_PIXEL_COUNTERS(x) CSI_CR124_PIXEL_COUNTERS(x)
  23218. #define CSI_CSICR125_PIXEL_COUNTERS_MASK CSI_CR125_PIXEL_COUNTERS_MASK
  23219. #define CSI_CSICR125_PIXEL_COUNTERS_SHIFT CSI_CR125_PIXEL_COUNTERS_SHIFT
  23220. #define CSI_CSICR125_PIXEL_COUNTERS(x) CSI_CR125_PIXEL_COUNTERS(x)
  23221. #define CSI_CSICR126_PIXEL_COUNTERS_MASK CSI_CR126_PIXEL_COUNTERS_MASK
  23222. #define CSI_CSICR126_PIXEL_COUNTERS_SHIFT CSI_CR126_PIXEL_COUNTERS_SHIFT
  23223. #define CSI_CSICR126_PIXEL_COUNTERS(x) CSI_CR126_PIXEL_COUNTERS(x)
  23224. #define CSI_CSICR127_PIXEL_COUNTERS_MASK CSI_CR127_PIXEL_COUNTERS_MASK
  23225. #define CSI_CSICR127_PIXEL_COUNTERS_SHIFT CSI_CR127_PIXEL_COUNTERS_SHIFT
  23226. #define CSI_CSICR127_PIXEL_COUNTERS(x) CSI_CR127_PIXEL_COUNTERS(x)
  23227. #define CSI_CSICR128_PIXEL_COUNTERS_MASK CSI_CR128_PIXEL_COUNTERS_MASK
  23228. #define CSI_CSICR128_PIXEL_COUNTERS_SHIFT CSI_CR128_PIXEL_COUNTERS_SHIFT
  23229. #define CSI_CSICR128_PIXEL_COUNTERS(x) CSI_CR128_PIXEL_COUNTERS(x)
  23230. #define CSI_CSICR129_PIXEL_COUNTERS_MASK CSI_CR129_PIXEL_COUNTERS_MASK
  23231. #define CSI_CSICR129_PIXEL_COUNTERS_SHIFT CSI_CR129_PIXEL_COUNTERS_SHIFT
  23232. #define CSI_CSICR129_PIXEL_COUNTERS(x) CSI_CR129_PIXEL_COUNTERS(x)
  23233. #define CSI_CSICR130_PIXEL_COUNTERS_MASK CSI_CR130_PIXEL_COUNTERS_MASK
  23234. #define CSI_CSICR130_PIXEL_COUNTERS_SHIFT CSI_CR130_PIXEL_COUNTERS_SHIFT
  23235. #define CSI_CSICR130_PIXEL_COUNTERS(x) CSI_CR130_PIXEL_COUNTERS(x)
  23236. #define CSI_CSICR131_PIXEL_COUNTERS_MASK CSI_CR131_PIXEL_COUNTERS_MASK
  23237. #define CSI_CSICR131_PIXEL_COUNTERS_SHIFT CSI_CR131_PIXEL_COUNTERS_SHIFT
  23238. #define CSI_CSICR131_PIXEL_COUNTERS(x) CSI_CR131_PIXEL_COUNTERS(x)
  23239. #define CSI_CSICR132_PIXEL_COUNTERS_MASK CSI_CR132_PIXEL_COUNTERS_MASK
  23240. #define CSI_CSICR132_PIXEL_COUNTERS_SHIFT CSI_CR132_PIXEL_COUNTERS_SHIFT
  23241. #define CSI_CSICR132_PIXEL_COUNTERS(x) CSI_CR132_PIXEL_COUNTERS(x)
  23242. #define CSI_CSICR133_PIXEL_COUNTERS_MASK CSI_CR133_PIXEL_COUNTERS_MASK
  23243. #define CSI_CSICR133_PIXEL_COUNTERS_SHIFT CSI_CR133_PIXEL_COUNTERS_SHIFT
  23244. #define CSI_CSICR133_PIXEL_COUNTERS(x) CSI_CR133_PIXEL_COUNTERS(x)
  23245. #define CSI_CSICR134_PIXEL_COUNTERS_MASK CSI_CR134_PIXEL_COUNTERS_MASK
  23246. #define CSI_CSICR134_PIXEL_COUNTERS_SHIFT CSI_CR134_PIXEL_COUNTERS_SHIFT
  23247. #define CSI_CSICR134_PIXEL_COUNTERS(x) CSI_CR134_PIXEL_COUNTERS(x)
  23248. #define CSI_CSICR135_PIXEL_COUNTERS_MASK CSI_CR135_PIXEL_COUNTERS_MASK
  23249. #define CSI_CSICR135_PIXEL_COUNTERS_SHIFT CSI_CR135_PIXEL_COUNTERS_SHIFT
  23250. #define CSI_CSICR135_PIXEL_COUNTERS(x) CSI_CR135_PIXEL_COUNTERS(x)
  23251. #define CSI_CSICR136_PIXEL_COUNTERS_MASK CSI_CR136_PIXEL_COUNTERS_MASK
  23252. #define CSI_CSICR136_PIXEL_COUNTERS_SHIFT CSI_CR136_PIXEL_COUNTERS_SHIFT
  23253. #define CSI_CSICR136_PIXEL_COUNTERS(x) CSI_CR136_PIXEL_COUNTERS(x)
  23254. #define CSI_CSICR137_PIXEL_COUNTERS_MASK CSI_CR137_PIXEL_COUNTERS_MASK
  23255. #define CSI_CSICR137_PIXEL_COUNTERS_SHIFT CSI_CR137_PIXEL_COUNTERS_SHIFT
  23256. #define CSI_CSICR137_PIXEL_COUNTERS(x) CSI_CR137_PIXEL_COUNTERS(x)
  23257. #define CSI_CSICR138_PIXEL_COUNTERS_MASK CSI_CR138_PIXEL_COUNTERS_MASK
  23258. #define CSI_CSICR138_PIXEL_COUNTERS_SHIFT CSI_CR138_PIXEL_COUNTERS_SHIFT
  23259. #define CSI_CSICR138_PIXEL_COUNTERS(x) CSI_CR138_PIXEL_COUNTERS(x)
  23260. #define CSI_CSICR139_PIXEL_COUNTERS_MASK CSI_CR139_PIXEL_COUNTERS_MASK
  23261. #define CSI_CSICR139_PIXEL_COUNTERS_SHIFT CSI_CR139_PIXEL_COUNTERS_SHIFT
  23262. #define CSI_CSICR139_PIXEL_COUNTERS(x) CSI_CR139_PIXEL_COUNTERS(x)
  23263. #define CSI_CSICR140_PIXEL_COUNTERS_MASK CSI_CR140_PIXEL_COUNTERS_MASK
  23264. #define CSI_CSICR140_PIXEL_COUNTERS_SHIFT CSI_CR140_PIXEL_COUNTERS_SHIFT
  23265. #define CSI_CSICR140_PIXEL_COUNTERS(x) CSI_CR140_PIXEL_COUNTERS(x)
  23266. #define CSI_CSICR141_PIXEL_COUNTERS_MASK CSI_CR141_PIXEL_COUNTERS_MASK
  23267. #define CSI_CSICR141_PIXEL_COUNTERS_SHIFT CSI_CR141_PIXEL_COUNTERS_SHIFT
  23268. #define CSI_CSICR141_PIXEL_COUNTERS(x) CSI_CR141_PIXEL_COUNTERS(x)
  23269. #define CSI_CSICR142_PIXEL_COUNTERS_MASK CSI_CR142_PIXEL_COUNTERS_MASK
  23270. #define CSI_CSICR142_PIXEL_COUNTERS_SHIFT CSI_CR142_PIXEL_COUNTERS_SHIFT
  23271. #define CSI_CSICR142_PIXEL_COUNTERS(x) CSI_CR142_PIXEL_COUNTERS(x)
  23272. #define CSI_CSICR143_PIXEL_COUNTERS_MASK CSI_CR143_PIXEL_COUNTERS_MASK
  23273. #define CSI_CSICR143_PIXEL_COUNTERS_SHIFT CSI_CR143_PIXEL_COUNTERS_SHIFT
  23274. #define CSI_CSICR143_PIXEL_COUNTERS(x) CSI_CR143_PIXEL_COUNTERS(x)
  23275. #define CSI_CSICR144_PIXEL_COUNTERS_MASK CSI_CR144_PIXEL_COUNTERS_MASK
  23276. #define CSI_CSICR144_PIXEL_COUNTERS_SHIFT CSI_CR144_PIXEL_COUNTERS_SHIFT
  23277. #define CSI_CSICR144_PIXEL_COUNTERS(x) CSI_CR144_PIXEL_COUNTERS(x)
  23278. #define CSI_CSICR145_PIXEL_COUNTERS_MASK CSI_CR145_PIXEL_COUNTERS_MASK
  23279. #define CSI_CSICR145_PIXEL_COUNTERS_SHIFT CSI_CR145_PIXEL_COUNTERS_SHIFT
  23280. #define CSI_CSICR145_PIXEL_COUNTERS(x) CSI_CR145_PIXEL_COUNTERS(x)
  23281. #define CSI_CSICR146_PIXEL_COUNTERS_MASK CSI_CR146_PIXEL_COUNTERS_MASK
  23282. #define CSI_CSICR146_PIXEL_COUNTERS_SHIFT CSI_CR146_PIXEL_COUNTERS_SHIFT
  23283. #define CSI_CSICR146_PIXEL_COUNTERS(x) CSI_CR146_PIXEL_COUNTERS(x)
  23284. #define CSI_CSICR147_PIXEL_COUNTERS_MASK CSI_CR147_PIXEL_COUNTERS_MASK
  23285. #define CSI_CSICR147_PIXEL_COUNTERS_SHIFT CSI_CR147_PIXEL_COUNTERS_SHIFT
  23286. #define CSI_CSICR147_PIXEL_COUNTERS(x) CSI_CR147_PIXEL_COUNTERS(x)
  23287. #define CSI_CSICR148_PIXEL_COUNTERS_MASK CSI_CR148_PIXEL_COUNTERS_MASK
  23288. #define CSI_CSICR148_PIXEL_COUNTERS_SHIFT CSI_CR148_PIXEL_COUNTERS_SHIFT
  23289. #define CSI_CSICR148_PIXEL_COUNTERS(x) CSI_CR148_PIXEL_COUNTERS(x)
  23290. #define CSI_CSICR149_PIXEL_COUNTERS_MASK CSI_CR149_PIXEL_COUNTERS_MASK
  23291. #define CSI_CSICR149_PIXEL_COUNTERS_SHIFT CSI_CR149_PIXEL_COUNTERS_SHIFT
  23292. #define CSI_CSICR149_PIXEL_COUNTERS(x) CSI_CR149_PIXEL_COUNTERS(x)
  23293. #define CSI_CSICR150_PIXEL_COUNTERS_MASK CSI_CR150_PIXEL_COUNTERS_MASK
  23294. #define CSI_CSICR150_PIXEL_COUNTERS_SHIFT CSI_CR150_PIXEL_COUNTERS_SHIFT
  23295. #define CSI_CSICR150_PIXEL_COUNTERS(x) CSI_CR150_PIXEL_COUNTERS(x)
  23296. #define CSI_CSICR151_PIXEL_COUNTERS_MASK CSI_CR151_PIXEL_COUNTERS_MASK
  23297. #define CSI_CSICR151_PIXEL_COUNTERS_SHIFT CSI_CR151_PIXEL_COUNTERS_SHIFT
  23298. #define CSI_CSICR151_PIXEL_COUNTERS(x) CSI_CR151_PIXEL_COUNTERS(x)
  23299. #define CSI_CSICR152_PIXEL_COUNTERS_MASK CSI_CR152_PIXEL_COUNTERS_MASK
  23300. #define CSI_CSICR152_PIXEL_COUNTERS_SHIFT CSI_CR152_PIXEL_COUNTERS_SHIFT
  23301. #define CSI_CSICR152_PIXEL_COUNTERS(x) CSI_CR152_PIXEL_COUNTERS(x)
  23302. #define CSI_CSICR153_PIXEL_COUNTERS_MASK CSI_CR153_PIXEL_COUNTERS_MASK
  23303. #define CSI_CSICR153_PIXEL_COUNTERS_SHIFT CSI_CR153_PIXEL_COUNTERS_SHIFT
  23304. #define CSI_CSICR153_PIXEL_COUNTERS(x) CSI_CR153_PIXEL_COUNTERS(x)
  23305. #define CSI_CSICR154_PIXEL_COUNTERS_MASK CSI_CR154_PIXEL_COUNTERS_MASK
  23306. #define CSI_CSICR154_PIXEL_COUNTERS_SHIFT CSI_CR154_PIXEL_COUNTERS_SHIFT
  23307. #define CSI_CSICR154_PIXEL_COUNTERS(x) CSI_CR154_PIXEL_COUNTERS(x)
  23308. #define CSI_CSICR155_PIXEL_COUNTERS_MASK CSI_CR155_PIXEL_COUNTERS_MASK
  23309. #define CSI_CSICR155_PIXEL_COUNTERS_SHIFT CSI_CR155_PIXEL_COUNTERS_SHIFT
  23310. #define CSI_CSICR155_PIXEL_COUNTERS(x) CSI_CR155_PIXEL_COUNTERS(x)
  23311. #define CSI_CSICR156_PIXEL_COUNTERS_MASK CSI_CR156_PIXEL_COUNTERS_MASK
  23312. #define CSI_CSICR156_PIXEL_COUNTERS_SHIFT CSI_CR156_PIXEL_COUNTERS_SHIFT
  23313. #define CSI_CSICR156_PIXEL_COUNTERS(x) CSI_CR156_PIXEL_COUNTERS(x)
  23314. #define CSI_CSICR157_PIXEL_COUNTERS_MASK CSI_CR157_PIXEL_COUNTERS_MASK
  23315. #define CSI_CSICR157_PIXEL_COUNTERS_SHIFT CSI_CR157_PIXEL_COUNTERS_SHIFT
  23316. #define CSI_CSICR157_PIXEL_COUNTERS(x) CSI_CR157_PIXEL_COUNTERS(x)
  23317. #define CSI_CSICR158_PIXEL_COUNTERS_MASK CSI_CR158_PIXEL_COUNTERS_MASK
  23318. #define CSI_CSICR158_PIXEL_COUNTERS_SHIFT CSI_CR158_PIXEL_COUNTERS_SHIFT
  23319. #define CSI_CSICR158_PIXEL_COUNTERS(x) CSI_CR158_PIXEL_COUNTERS(x)
  23320. #define CSI_CSICR159_PIXEL_COUNTERS_MASK CSI_CR159_PIXEL_COUNTERS_MASK
  23321. #define CSI_CSICR159_PIXEL_COUNTERS_SHIFT CSI_CR159_PIXEL_COUNTERS_SHIFT
  23322. #define CSI_CSICR159_PIXEL_COUNTERS(x) CSI_CR159_PIXEL_COUNTERS(x)
  23323. #define CSI_CSICR160_PIXEL_COUNTERS_MASK CSI_CR160_PIXEL_COUNTERS_MASK
  23324. #define CSI_CSICR160_PIXEL_COUNTERS_SHIFT CSI_CR160_PIXEL_COUNTERS_SHIFT
  23325. #define CSI_CSICR160_PIXEL_COUNTERS(x) CSI_CR160_PIXEL_COUNTERS(x)
  23326. #define CSI_CSICR161_PIXEL_COUNTERS_MASK CSI_CR161_PIXEL_COUNTERS_MASK
  23327. #define CSI_CSICR161_PIXEL_COUNTERS_SHIFT CSI_CR161_PIXEL_COUNTERS_SHIFT
  23328. #define CSI_CSICR161_PIXEL_COUNTERS(x) CSI_CR161_PIXEL_COUNTERS(x)
  23329. #define CSI_CSICR162_PIXEL_COUNTERS_MASK CSI_CR162_PIXEL_COUNTERS_MASK
  23330. #define CSI_CSICR162_PIXEL_COUNTERS_SHIFT CSI_CR162_PIXEL_COUNTERS_SHIFT
  23331. #define CSI_CSICR162_PIXEL_COUNTERS(x) CSI_CR162_PIXEL_COUNTERS(x)
  23332. #define CSI_CSICR163_PIXEL_COUNTERS_MASK CSI_CR163_PIXEL_COUNTERS_MASK
  23333. #define CSI_CSICR163_PIXEL_COUNTERS_SHIFT CSI_CR163_PIXEL_COUNTERS_SHIFT
  23334. #define CSI_CSICR163_PIXEL_COUNTERS(x) CSI_CR163_PIXEL_COUNTERS(x)
  23335. #define CSI_CSICR164_PIXEL_COUNTERS_MASK CSI_CR164_PIXEL_COUNTERS_MASK
  23336. #define CSI_CSICR164_PIXEL_COUNTERS_SHIFT CSI_CR164_PIXEL_COUNTERS_SHIFT
  23337. #define CSI_CSICR164_PIXEL_COUNTERS(x) CSI_CR164_PIXEL_COUNTERS(x)
  23338. #define CSI_CSICR165_PIXEL_COUNTERS_MASK CSI_CR165_PIXEL_COUNTERS_MASK
  23339. #define CSI_CSICR165_PIXEL_COUNTERS_SHIFT CSI_CR165_PIXEL_COUNTERS_SHIFT
  23340. #define CSI_CSICR165_PIXEL_COUNTERS(x) CSI_CR165_PIXEL_COUNTERS(x)
  23341. #define CSI_CSICR166_PIXEL_COUNTERS_MASK CSI_CR166_PIXEL_COUNTERS_MASK
  23342. #define CSI_CSICR166_PIXEL_COUNTERS_SHIFT CSI_CR166_PIXEL_COUNTERS_SHIFT
  23343. #define CSI_CSICR166_PIXEL_COUNTERS(x) CSI_CR166_PIXEL_COUNTERS(x)
  23344. #define CSI_CSICR167_PIXEL_COUNTERS_MASK CSI_CR167_PIXEL_COUNTERS_MASK
  23345. #define CSI_CSICR167_PIXEL_COUNTERS_SHIFT CSI_CR167_PIXEL_COUNTERS_SHIFT
  23346. #define CSI_CSICR167_PIXEL_COUNTERS(x) CSI_CR167_PIXEL_COUNTERS(x)
  23347. #define CSI_CSICR168_PIXEL_COUNTERS_MASK CSI_CR168_PIXEL_COUNTERS_MASK
  23348. #define CSI_CSICR168_PIXEL_COUNTERS_SHIFT CSI_CR168_PIXEL_COUNTERS_SHIFT
  23349. #define CSI_CSICR168_PIXEL_COUNTERS(x) CSI_CR168_PIXEL_COUNTERS(x)
  23350. #define CSI_CSICR169_PIXEL_COUNTERS_MASK CSI_CR169_PIXEL_COUNTERS_MASK
  23351. #define CSI_CSICR169_PIXEL_COUNTERS_SHIFT CSI_CR169_PIXEL_COUNTERS_SHIFT
  23352. #define CSI_CSICR169_PIXEL_COUNTERS(x) CSI_CR169_PIXEL_COUNTERS(x)
  23353. #define CSI_CSICR170_PIXEL_COUNTERS_MASK CSI_CR170_PIXEL_COUNTERS_MASK
  23354. #define CSI_CSICR170_PIXEL_COUNTERS_SHIFT CSI_CR170_PIXEL_COUNTERS_SHIFT
  23355. #define CSI_CSICR170_PIXEL_COUNTERS(x) CSI_CR170_PIXEL_COUNTERS(x)
  23356. #define CSI_CSICR171_PIXEL_COUNTERS_MASK CSI_CR171_PIXEL_COUNTERS_MASK
  23357. #define CSI_CSICR171_PIXEL_COUNTERS_SHIFT CSI_CR171_PIXEL_COUNTERS_SHIFT
  23358. #define CSI_CSICR171_PIXEL_COUNTERS(x) CSI_CR171_PIXEL_COUNTERS(x)
  23359. #define CSI_CSICR172_PIXEL_COUNTERS_MASK CSI_CR172_PIXEL_COUNTERS_MASK
  23360. #define CSI_CSICR172_PIXEL_COUNTERS_SHIFT CSI_CR172_PIXEL_COUNTERS_SHIFT
  23361. #define CSI_CSICR172_PIXEL_COUNTERS(x) CSI_CR172_PIXEL_COUNTERS(x)
  23362. #define CSI_CSICR173_PIXEL_COUNTERS_MASK CSI_CR173_PIXEL_COUNTERS_MASK
  23363. #define CSI_CSICR173_PIXEL_COUNTERS_SHIFT CSI_CR173_PIXEL_COUNTERS_SHIFT
  23364. #define CSI_CSICR173_PIXEL_COUNTERS(x) CSI_CR173_PIXEL_COUNTERS(x)
  23365. #define CSI_CSICR174_PIXEL_COUNTERS_MASK CSI_CR174_PIXEL_COUNTERS_MASK
  23366. #define CSI_CSICR174_PIXEL_COUNTERS_SHIFT CSI_CR174_PIXEL_COUNTERS_SHIFT
  23367. #define CSI_CSICR174_PIXEL_COUNTERS(x) CSI_CR174_PIXEL_COUNTERS(x)
  23368. #define CSI_CSICR175_PIXEL_COUNTERS_MASK CSI_CR175_PIXEL_COUNTERS_MASK
  23369. #define CSI_CSICR175_PIXEL_COUNTERS_SHIFT CSI_CR175_PIXEL_COUNTERS_SHIFT
  23370. #define CSI_CSICR175_PIXEL_COUNTERS(x) CSI_CR175_PIXEL_COUNTERS(x)
  23371. #define CSI_CSICR176_PIXEL_COUNTERS_MASK CSI_CR176_PIXEL_COUNTERS_MASK
  23372. #define CSI_CSICR176_PIXEL_COUNTERS_SHIFT CSI_CR176_PIXEL_COUNTERS_SHIFT
  23373. #define CSI_CSICR176_PIXEL_COUNTERS(x) CSI_CR176_PIXEL_COUNTERS(x)
  23374. #define CSI_CSICR177_PIXEL_COUNTERS_MASK CSI_CR177_PIXEL_COUNTERS_MASK
  23375. #define CSI_CSICR177_PIXEL_COUNTERS_SHIFT CSI_CR177_PIXEL_COUNTERS_SHIFT
  23376. #define CSI_CSICR177_PIXEL_COUNTERS(x) CSI_CR177_PIXEL_COUNTERS(x)
  23377. #define CSI_CSICR178_PIXEL_COUNTERS_MASK CSI_CR178_PIXEL_COUNTERS_MASK
  23378. #define CSI_CSICR178_PIXEL_COUNTERS_SHIFT CSI_CR178_PIXEL_COUNTERS_SHIFT
  23379. #define CSI_CSICR178_PIXEL_COUNTERS(x) CSI_CR178_PIXEL_COUNTERS(x)
  23380. #define CSI_CSICR179_PIXEL_COUNTERS_MASK CSI_CR179_PIXEL_COUNTERS_MASK
  23381. #define CSI_CSICR179_PIXEL_COUNTERS_SHIFT CSI_CR179_PIXEL_COUNTERS_SHIFT
  23382. #define CSI_CSICR179_PIXEL_COUNTERS(x) CSI_CR179_PIXEL_COUNTERS(x)
  23383. #define CSI_CSICR180_PIXEL_COUNTERS_MASK CSI_CR180_PIXEL_COUNTERS_MASK
  23384. #define CSI_CSICR180_PIXEL_COUNTERS_SHIFT CSI_CR180_PIXEL_COUNTERS_SHIFT
  23385. #define CSI_CSICR180_PIXEL_COUNTERS(x) CSI_CR180_PIXEL_COUNTERS(x)
  23386. #define CSI_CSICR181_PIXEL_COUNTERS_MASK CSI_CR181_PIXEL_COUNTERS_MASK
  23387. #define CSI_CSICR181_PIXEL_COUNTERS_SHIFT CSI_CR181_PIXEL_COUNTERS_SHIFT
  23388. #define CSI_CSICR181_PIXEL_COUNTERS(x) CSI_CR181_PIXEL_COUNTERS(x)
  23389. #define CSI_CSICR182_PIXEL_COUNTERS_MASK CSI_CR182_PIXEL_COUNTERS_MASK
  23390. #define CSI_CSICR182_PIXEL_COUNTERS_SHIFT CSI_CR182_PIXEL_COUNTERS_SHIFT
  23391. #define CSI_CSICR182_PIXEL_COUNTERS(x) CSI_CR182_PIXEL_COUNTERS(x)
  23392. #define CSI_CSICR183_PIXEL_COUNTERS_MASK CSI_CR183_PIXEL_COUNTERS_MASK
  23393. #define CSI_CSICR183_PIXEL_COUNTERS_SHIFT CSI_CR183_PIXEL_COUNTERS_SHIFT
  23394. #define CSI_CSICR183_PIXEL_COUNTERS(x) CSI_CR183_PIXEL_COUNTERS(x)
  23395. #define CSI_CSICR184_PIXEL_COUNTERS_MASK CSI_CR184_PIXEL_COUNTERS_MASK
  23396. #define CSI_CSICR184_PIXEL_COUNTERS_SHIFT CSI_CR184_PIXEL_COUNTERS_SHIFT
  23397. #define CSI_CSICR184_PIXEL_COUNTERS(x) CSI_CR184_PIXEL_COUNTERS(x)
  23398. #define CSI_CSICR185_PIXEL_COUNTERS_MASK CSI_CR185_PIXEL_COUNTERS_MASK
  23399. #define CSI_CSICR185_PIXEL_COUNTERS_SHIFT CSI_CR185_PIXEL_COUNTERS_SHIFT
  23400. #define CSI_CSICR185_PIXEL_COUNTERS(x) CSI_CR185_PIXEL_COUNTERS(x)
  23401. #define CSI_CSICR186_PIXEL_COUNTERS_MASK CSI_CR186_PIXEL_COUNTERS_MASK
  23402. #define CSI_CSICR186_PIXEL_COUNTERS_SHIFT CSI_CR186_PIXEL_COUNTERS_SHIFT
  23403. #define CSI_CSICR186_PIXEL_COUNTERS(x) CSI_CR186_PIXEL_COUNTERS(x)
  23404. #define CSI_CSICR187_PIXEL_COUNTERS_MASK CSI_CR187_PIXEL_COUNTERS_MASK
  23405. #define CSI_CSICR187_PIXEL_COUNTERS_SHIFT CSI_CR187_PIXEL_COUNTERS_SHIFT
  23406. #define CSI_CSICR187_PIXEL_COUNTERS(x) CSI_CR187_PIXEL_COUNTERS(x)
  23407. #define CSI_CSICR188_PIXEL_COUNTERS_MASK CSI_CR188_PIXEL_COUNTERS_MASK
  23408. #define CSI_CSICR188_PIXEL_COUNTERS_SHIFT CSI_CR188_PIXEL_COUNTERS_SHIFT
  23409. #define CSI_CSICR188_PIXEL_COUNTERS(x) CSI_CR188_PIXEL_COUNTERS(x)
  23410. #define CSI_CSICR189_PIXEL_COUNTERS_MASK CSI_CR189_PIXEL_COUNTERS_MASK
  23411. #define CSI_CSICR189_PIXEL_COUNTERS_SHIFT CSI_CR189_PIXEL_COUNTERS_SHIFT
  23412. #define CSI_CSICR189_PIXEL_COUNTERS(x) CSI_CR189_PIXEL_COUNTERS(x)
  23413. #define CSI_CSICR190_PIXEL_COUNTERS_MASK CSI_CR190_PIXEL_COUNTERS_MASK
  23414. #define CSI_CSICR190_PIXEL_COUNTERS_SHIFT CSI_CR190_PIXEL_COUNTERS_SHIFT
  23415. #define CSI_CSICR190_PIXEL_COUNTERS(x) CSI_CR190_PIXEL_COUNTERS(x)
  23416. #define CSI_CSICR191_PIXEL_COUNTERS_MASK CSI_CR191_PIXEL_COUNTERS_MASK
  23417. #define CSI_CSICR191_PIXEL_COUNTERS_SHIFT CSI_CR191_PIXEL_COUNTERS_SHIFT
  23418. #define CSI_CSICR191_PIXEL_COUNTERS(x) CSI_CR191_PIXEL_COUNTERS(x)
  23419. #define CSI_CSICR192_PIXEL_COUNTERS_MASK CSI_CR192_PIXEL_COUNTERS_MASK
  23420. #define CSI_CSICR192_PIXEL_COUNTERS_SHIFT CSI_CR192_PIXEL_COUNTERS_SHIFT
  23421. #define CSI_CSICR192_PIXEL_COUNTERS(x) CSI_CR192_PIXEL_COUNTERS(x)
  23422. #define CSI_CSICR193_PIXEL_COUNTERS_MASK CSI_CR193_PIXEL_COUNTERS_MASK
  23423. #define CSI_CSICR193_PIXEL_COUNTERS_SHIFT CSI_CR193_PIXEL_COUNTERS_SHIFT
  23424. #define CSI_CSICR193_PIXEL_COUNTERS(x) CSI_CR193_PIXEL_COUNTERS(x)
  23425. #define CSI_CSICR194_PIXEL_COUNTERS_MASK CSI_CR194_PIXEL_COUNTERS_MASK
  23426. #define CSI_CSICR194_PIXEL_COUNTERS_SHIFT CSI_CR194_PIXEL_COUNTERS_SHIFT
  23427. #define CSI_CSICR194_PIXEL_COUNTERS(x) CSI_CR194_PIXEL_COUNTERS(x)
  23428. #define CSI_CSICR195_PIXEL_COUNTERS_MASK CSI_CR195_PIXEL_COUNTERS_MASK
  23429. #define CSI_CSICR195_PIXEL_COUNTERS_SHIFT CSI_CR195_PIXEL_COUNTERS_SHIFT
  23430. #define CSI_CSICR195_PIXEL_COUNTERS(x) CSI_CR195_PIXEL_COUNTERS(x)
  23431. #define CSI_CSICR196_PIXEL_COUNTERS_MASK CSI_CR196_PIXEL_COUNTERS_MASK
  23432. #define CSI_CSICR196_PIXEL_COUNTERS_SHIFT CSI_CR196_PIXEL_COUNTERS_SHIFT
  23433. #define CSI_CSICR196_PIXEL_COUNTERS(x) CSI_CR196_PIXEL_COUNTERS(x)
  23434. #define CSI_CSICR197_PIXEL_COUNTERS_MASK CSI_CR197_PIXEL_COUNTERS_MASK
  23435. #define CSI_CSICR197_PIXEL_COUNTERS_SHIFT CSI_CR197_PIXEL_COUNTERS_SHIFT
  23436. #define CSI_CSICR197_PIXEL_COUNTERS(x) CSI_CR197_PIXEL_COUNTERS(x)
  23437. #define CSI_CSICR198_PIXEL_COUNTERS_MASK CSI_CR198_PIXEL_COUNTERS_MASK
  23438. #define CSI_CSICR198_PIXEL_COUNTERS_SHIFT CSI_CR198_PIXEL_COUNTERS_SHIFT
  23439. #define CSI_CSICR198_PIXEL_COUNTERS(x) CSI_CR198_PIXEL_COUNTERS(x)
  23440. #define CSI_CSICR199_PIXEL_COUNTERS_MASK CSI_CR199_PIXEL_COUNTERS_MASK
  23441. #define CSI_CSICR199_PIXEL_COUNTERS_SHIFT CSI_CR199_PIXEL_COUNTERS_SHIFT
  23442. #define CSI_CSICR199_PIXEL_COUNTERS(x) CSI_CR199_PIXEL_COUNTERS(x)
  23443. #define CSI_CSICR200_PIXEL_COUNTERS_MASK CSI_CR200_PIXEL_COUNTERS_MASK
  23444. #define CSI_CSICR200_PIXEL_COUNTERS_SHIFT CSI_CR200_PIXEL_COUNTERS_SHIFT
  23445. #define CSI_CSICR200_PIXEL_COUNTERS(x) CSI_CR200_PIXEL_COUNTERS(x)
  23446. #define CSI_CSICR201_PIXEL_COUNTERS_MASK CSI_CR201_PIXEL_COUNTERS_MASK
  23447. #define CSI_CSICR201_PIXEL_COUNTERS_SHIFT CSI_CR201_PIXEL_COUNTERS_SHIFT
  23448. #define CSI_CSICR201_PIXEL_COUNTERS(x) CSI_CR201_PIXEL_COUNTERS(x)
  23449. #define CSI_CSICR202_PIXEL_COUNTERS_MASK CSI_CR202_PIXEL_COUNTERS_MASK
  23450. #define CSI_CSICR202_PIXEL_COUNTERS_SHIFT CSI_CR202_PIXEL_COUNTERS_SHIFT
  23451. #define CSI_CSICR202_PIXEL_COUNTERS(x) CSI_CR202_PIXEL_COUNTERS(x)
  23452. #define CSI_CSICR203_PIXEL_COUNTERS_MASK CSI_CR203_PIXEL_COUNTERS_MASK
  23453. #define CSI_CSICR203_PIXEL_COUNTERS_SHIFT CSI_CR203_PIXEL_COUNTERS_SHIFT
  23454. #define CSI_CSICR203_PIXEL_COUNTERS(x) CSI_CR203_PIXEL_COUNTERS(x)
  23455. #define CSI_CSICR204_PIXEL_COUNTERS_MASK CSI_CR204_PIXEL_COUNTERS_MASK
  23456. #define CSI_CSICR204_PIXEL_COUNTERS_SHIFT CSI_CR204_PIXEL_COUNTERS_SHIFT
  23457. #define CSI_CSICR204_PIXEL_COUNTERS(x) CSI_CR204_PIXEL_COUNTERS(x)
  23458. #define CSI_CSICR205_PIXEL_COUNTERS_MASK CSI_CR205_PIXEL_COUNTERS_MASK
  23459. #define CSI_CSICR205_PIXEL_COUNTERS_SHIFT CSI_CR205_PIXEL_COUNTERS_SHIFT
  23460. #define CSI_CSICR205_PIXEL_COUNTERS(x) CSI_CR205_PIXEL_COUNTERS(x)
  23461. #define CSI_CSICR206_PIXEL_COUNTERS_MASK CSI_CR206_PIXEL_COUNTERS_MASK
  23462. #define CSI_CSICR206_PIXEL_COUNTERS_SHIFT CSI_CR206_PIXEL_COUNTERS_SHIFT
  23463. #define CSI_CSICR206_PIXEL_COUNTERS(x) CSI_CR206_PIXEL_COUNTERS(x)
  23464. #define CSI_CSICR207_PIXEL_COUNTERS_MASK CSI_CR207_PIXEL_COUNTERS_MASK
  23465. #define CSI_CSICR207_PIXEL_COUNTERS_SHIFT CSI_CR207_PIXEL_COUNTERS_SHIFT
  23466. #define CSI_CSICR207_PIXEL_COUNTERS(x) CSI_CR207_PIXEL_COUNTERS(x)
  23467. #define CSI_CSICR208_PIXEL_COUNTERS_MASK CSI_CR208_PIXEL_COUNTERS_MASK
  23468. #define CSI_CSICR208_PIXEL_COUNTERS_SHIFT CSI_CR208_PIXEL_COUNTERS_SHIFT
  23469. #define CSI_CSICR208_PIXEL_COUNTERS(x) CSI_CR208_PIXEL_COUNTERS(x)
  23470. #define CSI_CSICR209_PIXEL_COUNTERS_MASK CSI_CR209_PIXEL_COUNTERS_MASK
  23471. #define CSI_CSICR209_PIXEL_COUNTERS_SHIFT CSI_CR209_PIXEL_COUNTERS_SHIFT
  23472. #define CSI_CSICR209_PIXEL_COUNTERS(x) CSI_CR209_PIXEL_COUNTERS(x)
  23473. #define CSI_CSICR210_PIXEL_COUNTERS_MASK CSI_CR210_PIXEL_COUNTERS_MASK
  23474. #define CSI_CSICR210_PIXEL_COUNTERS_SHIFT CSI_CR210_PIXEL_COUNTERS_SHIFT
  23475. #define CSI_CSICR210_PIXEL_COUNTERS(x) CSI_CR210_PIXEL_COUNTERS(x)
  23476. #define CSI_CSICR211_PIXEL_COUNTERS_MASK CSI_CR211_PIXEL_COUNTERS_MASK
  23477. #define CSI_CSICR211_PIXEL_COUNTERS_SHIFT CSI_CR211_PIXEL_COUNTERS_SHIFT
  23478. #define CSI_CSICR211_PIXEL_COUNTERS(x) CSI_CR211_PIXEL_COUNTERS(x)
  23479. #define CSI_CSICR212_PIXEL_COUNTERS_MASK CSI_CR212_PIXEL_COUNTERS_MASK
  23480. #define CSI_CSICR212_PIXEL_COUNTERS_SHIFT CSI_CR212_PIXEL_COUNTERS_SHIFT
  23481. #define CSI_CSICR212_PIXEL_COUNTERS(x) CSI_CR212_PIXEL_COUNTERS(x)
  23482. #define CSI_CSICR213_PIXEL_COUNTERS_MASK CSI_CR213_PIXEL_COUNTERS_MASK
  23483. #define CSI_CSICR213_PIXEL_COUNTERS_SHIFT CSI_CR213_PIXEL_COUNTERS_SHIFT
  23484. #define CSI_CSICR213_PIXEL_COUNTERS(x) CSI_CR213_PIXEL_COUNTERS(x)
  23485. #define CSI_CSICR214_PIXEL_COUNTERS_MASK CSI_CR214_PIXEL_COUNTERS_MASK
  23486. #define CSI_CSICR214_PIXEL_COUNTERS_SHIFT CSI_CR214_PIXEL_COUNTERS_SHIFT
  23487. #define CSI_CSICR214_PIXEL_COUNTERS(x) CSI_CR214_PIXEL_COUNTERS(x)
  23488. #define CSI_CSICR215_PIXEL_COUNTERS_MASK CSI_CR215_PIXEL_COUNTERS_MASK
  23489. #define CSI_CSICR215_PIXEL_COUNTERS_SHIFT CSI_CR215_PIXEL_COUNTERS_SHIFT
  23490. #define CSI_CSICR215_PIXEL_COUNTERS(x) CSI_CR215_PIXEL_COUNTERS(x)
  23491. #define CSI_CSICR216_PIXEL_COUNTERS_MASK CSI_CR216_PIXEL_COUNTERS_MASK
  23492. #define CSI_CSICR216_PIXEL_COUNTERS_SHIFT CSI_CR216_PIXEL_COUNTERS_SHIFT
  23493. #define CSI_CSICR216_PIXEL_COUNTERS(x) CSI_CR216_PIXEL_COUNTERS(x)
  23494. #define CSI_CSICR217_PIXEL_COUNTERS_MASK CSI_CR217_PIXEL_COUNTERS_MASK
  23495. #define CSI_CSICR217_PIXEL_COUNTERS_SHIFT CSI_CR217_PIXEL_COUNTERS_SHIFT
  23496. #define CSI_CSICR217_PIXEL_COUNTERS(x) CSI_CR217_PIXEL_COUNTERS(x)
  23497. #define CSI_CSICR218_PIXEL_COUNTERS_MASK CSI_CR218_PIXEL_COUNTERS_MASK
  23498. #define CSI_CSICR218_PIXEL_COUNTERS_SHIFT CSI_CR218_PIXEL_COUNTERS_SHIFT
  23499. #define CSI_CSICR218_PIXEL_COUNTERS(x) CSI_CR218_PIXEL_COUNTERS(x)
  23500. #define CSI_CSICR219_PIXEL_COUNTERS_MASK CSI_CR219_PIXEL_COUNTERS_MASK
  23501. #define CSI_CSICR219_PIXEL_COUNTERS_SHIFT CSI_CR219_PIXEL_COUNTERS_SHIFT
  23502. #define CSI_CSICR219_PIXEL_COUNTERS(x) CSI_CR219_PIXEL_COUNTERS(x)
  23503. #define CSI_CSICR220_PIXEL_COUNTERS_MASK CSI_CR220_PIXEL_COUNTERS_MASK
  23504. #define CSI_CSICR220_PIXEL_COUNTERS_SHIFT CSI_CR220_PIXEL_COUNTERS_SHIFT
  23505. #define CSI_CSICR220_PIXEL_COUNTERS(x) CSI_CR220_PIXEL_COUNTERS(x)
  23506. #define CSI_CSICR221_PIXEL_COUNTERS_MASK CSI_CR221_PIXEL_COUNTERS_MASK
  23507. #define CSI_CSICR221_PIXEL_COUNTERS_SHIFT CSI_CR221_PIXEL_COUNTERS_SHIFT
  23508. #define CSI_CSICR221_PIXEL_COUNTERS(x) CSI_CR221_PIXEL_COUNTERS(x)
  23509. #define CSI_CSICR222_PIXEL_COUNTERS_MASK CSI_CR222_PIXEL_COUNTERS_MASK
  23510. #define CSI_CSICR222_PIXEL_COUNTERS_SHIFT CSI_CR222_PIXEL_COUNTERS_SHIFT
  23511. #define CSI_CSICR222_PIXEL_COUNTERS(x) CSI_CR222_PIXEL_COUNTERS(x)
  23512. #define CSI_CSICR223_PIXEL_COUNTERS_MASK CSI_CR223_PIXEL_COUNTERS_MASK
  23513. #define CSI_CSICR223_PIXEL_COUNTERS_SHIFT CSI_CR223_PIXEL_COUNTERS_SHIFT
  23514. #define CSI_CSICR223_PIXEL_COUNTERS(x) CSI_CR223_PIXEL_COUNTERS(x)
  23515. #define CSI_CSICR224_PIXEL_COUNTERS_MASK CSI_CR224_PIXEL_COUNTERS_MASK
  23516. #define CSI_CSICR224_PIXEL_COUNTERS_SHIFT CSI_CR224_PIXEL_COUNTERS_SHIFT
  23517. #define CSI_CSICR224_PIXEL_COUNTERS(x) CSI_CR224_PIXEL_COUNTERS(x)
  23518. #define CSI_CSICR225_PIXEL_COUNTERS_MASK CSI_CR225_PIXEL_COUNTERS_MASK
  23519. #define CSI_CSICR225_PIXEL_COUNTERS_SHIFT CSI_CR225_PIXEL_COUNTERS_SHIFT
  23520. #define CSI_CSICR225_PIXEL_COUNTERS(x) CSI_CR225_PIXEL_COUNTERS(x)
  23521. #define CSI_CSICR226_PIXEL_COUNTERS_MASK CSI_CR226_PIXEL_COUNTERS_MASK
  23522. #define CSI_CSICR226_PIXEL_COUNTERS_SHIFT CSI_CR226_PIXEL_COUNTERS_SHIFT
  23523. #define CSI_CSICR226_PIXEL_COUNTERS(x) CSI_CR226_PIXEL_COUNTERS(x)
  23524. #define CSI_CSICR227_PIXEL_COUNTERS_MASK CSI_CR227_PIXEL_COUNTERS_MASK
  23525. #define CSI_CSICR227_PIXEL_COUNTERS_SHIFT CSI_CR227_PIXEL_COUNTERS_SHIFT
  23526. #define CSI_CSICR227_PIXEL_COUNTERS(x) CSI_CR227_PIXEL_COUNTERS(x)
  23527. #define CSI_CSICR228_PIXEL_COUNTERS_MASK CSI_CR228_PIXEL_COUNTERS_MASK
  23528. #define CSI_CSICR228_PIXEL_COUNTERS_SHIFT CSI_CR228_PIXEL_COUNTERS_SHIFT
  23529. #define CSI_CSICR228_PIXEL_COUNTERS(x) CSI_CR228_PIXEL_COUNTERS(x)
  23530. #define CSI_CSICR229_PIXEL_COUNTERS_MASK CSI_CR229_PIXEL_COUNTERS_MASK
  23531. #define CSI_CSICR229_PIXEL_COUNTERS_SHIFT CSI_CR229_PIXEL_COUNTERS_SHIFT
  23532. #define CSI_CSICR229_PIXEL_COUNTERS(x) CSI_CR229_PIXEL_COUNTERS(x)
  23533. #define CSI_CSICR230_PIXEL_COUNTERS_MASK CSI_CR230_PIXEL_COUNTERS_MASK
  23534. #define CSI_CSICR230_PIXEL_COUNTERS_SHIFT CSI_CR230_PIXEL_COUNTERS_SHIFT
  23535. #define CSI_CSICR230_PIXEL_COUNTERS(x) CSI_CR230_PIXEL_COUNTERS(x)
  23536. #define CSI_CSICR231_PIXEL_COUNTERS_MASK CSI_CR231_PIXEL_COUNTERS_MASK
  23537. #define CSI_CSICR231_PIXEL_COUNTERS_SHIFT CSI_CR231_PIXEL_COUNTERS_SHIFT
  23538. #define CSI_CSICR231_PIXEL_COUNTERS(x) CSI_CR231_PIXEL_COUNTERS(x)
  23539. #define CSI_CSICR232_PIXEL_COUNTERS_MASK CSI_CR232_PIXEL_COUNTERS_MASK
  23540. #define CSI_CSICR232_PIXEL_COUNTERS_SHIFT CSI_CR232_PIXEL_COUNTERS_SHIFT
  23541. #define CSI_CSICR232_PIXEL_COUNTERS(x) CSI_CR232_PIXEL_COUNTERS(x)
  23542. #define CSI_CSICR233_PIXEL_COUNTERS_MASK CSI_CR233_PIXEL_COUNTERS_MASK
  23543. #define CSI_CSICR233_PIXEL_COUNTERS_SHIFT CSI_CR233_PIXEL_COUNTERS_SHIFT
  23544. #define CSI_CSICR233_PIXEL_COUNTERS(x) CSI_CR233_PIXEL_COUNTERS(x)
  23545. #define CSI_CSICR234_PIXEL_COUNTERS_MASK CSI_CR234_PIXEL_COUNTERS_MASK
  23546. #define CSI_CSICR234_PIXEL_COUNTERS_SHIFT CSI_CR234_PIXEL_COUNTERS_SHIFT
  23547. #define CSI_CSICR234_PIXEL_COUNTERS(x) CSI_CR234_PIXEL_COUNTERS(x)
  23548. #define CSI_CSICR235_PIXEL_COUNTERS_MASK CSI_CR235_PIXEL_COUNTERS_MASK
  23549. #define CSI_CSICR235_PIXEL_COUNTERS_SHIFT CSI_CR235_PIXEL_COUNTERS_SHIFT
  23550. #define CSI_CSICR235_PIXEL_COUNTERS(x) CSI_CR235_PIXEL_COUNTERS(x)
  23551. #define CSI_CSICR236_PIXEL_COUNTERS_MASK CSI_CR236_PIXEL_COUNTERS_MASK
  23552. #define CSI_CSICR236_PIXEL_COUNTERS_SHIFT CSI_CR236_PIXEL_COUNTERS_SHIFT
  23553. #define CSI_CSICR236_PIXEL_COUNTERS(x) CSI_CR236_PIXEL_COUNTERS(x)
  23554. #define CSI_CSICR237_PIXEL_COUNTERS_MASK CSI_CR237_PIXEL_COUNTERS_MASK
  23555. #define CSI_CSICR237_PIXEL_COUNTERS_SHIFT CSI_CR237_PIXEL_COUNTERS_SHIFT
  23556. #define CSI_CSICR237_PIXEL_COUNTERS(x) CSI_CR237_PIXEL_COUNTERS(x)
  23557. #define CSI_CSICR238_PIXEL_COUNTERS_MASK CSI_CR238_PIXEL_COUNTERS_MASK
  23558. #define CSI_CSICR238_PIXEL_COUNTERS_SHIFT CSI_CR238_PIXEL_COUNTERS_SHIFT
  23559. #define CSI_CSICR238_PIXEL_COUNTERS(x) CSI_CR238_PIXEL_COUNTERS(x)
  23560. #define CSI_CSICR239_PIXEL_COUNTERS_MASK CSI_CR239_PIXEL_COUNTERS_MASK
  23561. #define CSI_CSICR239_PIXEL_COUNTERS_SHIFT CSI_CR239_PIXEL_COUNTERS_SHIFT
  23562. #define CSI_CSICR239_PIXEL_COUNTERS(x) CSI_CR239_PIXEL_COUNTERS(x)
  23563. #define CSI_CSICR240_PIXEL_COUNTERS_MASK CSI_CR240_PIXEL_COUNTERS_MASK
  23564. #define CSI_CSICR240_PIXEL_COUNTERS_SHIFT CSI_CR240_PIXEL_COUNTERS_SHIFT
  23565. #define CSI_CSICR240_PIXEL_COUNTERS(x) CSI_CR240_PIXEL_COUNTERS(x)
  23566. #define CSI_CSICR241_PIXEL_COUNTERS_MASK CSI_CR241_PIXEL_COUNTERS_MASK
  23567. #define CSI_CSICR241_PIXEL_COUNTERS_SHIFT CSI_CR241_PIXEL_COUNTERS_SHIFT
  23568. #define CSI_CSICR241_PIXEL_COUNTERS(x) CSI_CR241_PIXEL_COUNTERS(x)
  23569. #define CSI_CSICR242_PIXEL_COUNTERS_MASK CSI_CR242_PIXEL_COUNTERS_MASK
  23570. #define CSI_CSICR242_PIXEL_COUNTERS_SHIFT CSI_CR242_PIXEL_COUNTERS_SHIFT
  23571. #define CSI_CSICR242_PIXEL_COUNTERS(x) CSI_CR242_PIXEL_COUNTERS(x)
  23572. #define CSI_CSICR243_PIXEL_COUNTERS_MASK CSI_CR243_PIXEL_COUNTERS_MASK
  23573. #define CSI_CSICR243_PIXEL_COUNTERS_SHIFT CSI_CR243_PIXEL_COUNTERS_SHIFT
  23574. #define CSI_CSICR243_PIXEL_COUNTERS(x) CSI_CR243_PIXEL_COUNTERS(x)
  23575. #define CSI_CSICR244_PIXEL_COUNTERS_MASK CSI_CR244_PIXEL_COUNTERS_MASK
  23576. #define CSI_CSICR244_PIXEL_COUNTERS_SHIFT CSI_CR244_PIXEL_COUNTERS_SHIFT
  23577. #define CSI_CSICR244_PIXEL_COUNTERS(x) CSI_CR244_PIXEL_COUNTERS(x)
  23578. #define CSI_CSICR245_PIXEL_COUNTERS_MASK CSI_CR245_PIXEL_COUNTERS_MASK
  23579. #define CSI_CSICR245_PIXEL_COUNTERS_SHIFT CSI_CR245_PIXEL_COUNTERS_SHIFT
  23580. #define CSI_CSICR245_PIXEL_COUNTERS(x) CSI_CR245_PIXEL_COUNTERS(x)
  23581. #define CSI_CSICR246_PIXEL_COUNTERS_MASK CSI_CR246_PIXEL_COUNTERS_MASK
  23582. #define CSI_CSICR246_PIXEL_COUNTERS_SHIFT CSI_CR246_PIXEL_COUNTERS_SHIFT
  23583. #define CSI_CSICR246_PIXEL_COUNTERS(x) CSI_CR246_PIXEL_COUNTERS(x)
  23584. #define CSI_CSICR247_PIXEL_COUNTERS_MASK CSI_CR247_PIXEL_COUNTERS_MASK
  23585. #define CSI_CSICR247_PIXEL_COUNTERS_SHIFT CSI_CR247_PIXEL_COUNTERS_SHIFT
  23586. #define CSI_CSICR247_PIXEL_COUNTERS(x) CSI_CR247_PIXEL_COUNTERS(x)
  23587. #define CSI_CSICR248_PIXEL_COUNTERS_MASK CSI_CR248_PIXEL_COUNTERS_MASK
  23588. #define CSI_CSICR248_PIXEL_COUNTERS_SHIFT CSI_CR248_PIXEL_COUNTERS_SHIFT
  23589. #define CSI_CSICR248_PIXEL_COUNTERS(x) CSI_CR248_PIXEL_COUNTERS(x)
  23590. #define CSI_CSICR249_PIXEL_COUNTERS_MASK CSI_CR249_PIXEL_COUNTERS_MASK
  23591. #define CSI_CSICR249_PIXEL_COUNTERS_SHIFT CSI_CR249_PIXEL_COUNTERS_SHIFT
  23592. #define CSI_CSICR249_PIXEL_COUNTERS(x) CSI_CR249_PIXEL_COUNTERS(x)
  23593. #define CSI_CSICR250_PIXEL_COUNTERS_MASK CSI_CR250_PIXEL_COUNTERS_MASK
  23594. #define CSI_CSICR250_PIXEL_COUNTERS_SHIFT CSI_CR250_PIXEL_COUNTERS_SHIFT
  23595. #define CSI_CSICR250_PIXEL_COUNTERS(x) CSI_CR250_PIXEL_COUNTERS(x)
  23596. #define CSI_CSICR251_PIXEL_COUNTERS_MASK CSI_CR251_PIXEL_COUNTERS_MASK
  23597. #define CSI_CSICR251_PIXEL_COUNTERS_SHIFT CSI_CR251_PIXEL_COUNTERS_SHIFT
  23598. #define CSI_CSICR251_PIXEL_COUNTERS(x) CSI_CR251_PIXEL_COUNTERS(x)
  23599. #define CSI_CSICR252_PIXEL_COUNTERS_MASK CSI_CR252_PIXEL_COUNTERS_MASK
  23600. #define CSI_CSICR252_PIXEL_COUNTERS_SHIFT CSI_CR252_PIXEL_COUNTERS_SHIFT
  23601. #define CSI_CSICR252_PIXEL_COUNTERS(x) CSI_CR252_PIXEL_COUNTERS(x)
  23602. #define CSI_CSICR253_PIXEL_COUNTERS_MASK CSI_CR253_PIXEL_COUNTERS_MASK
  23603. #define CSI_CSICR253_PIXEL_COUNTERS_SHIFT CSI_CR253_PIXEL_COUNTERS_SHIFT
  23604. #define CSI_CSICR253_PIXEL_COUNTERS(x) CSI_CR253_PIXEL_COUNTERS(x)
  23605. #define CSI_CSICR254_PIXEL_COUNTERS_MASK CSI_CR254_PIXEL_COUNTERS_MASK
  23606. #define CSI_CSICR254_PIXEL_COUNTERS_SHIFT CSI_CR254_PIXEL_COUNTERS_SHIFT
  23607. #define CSI_CSICR254_PIXEL_COUNTERS(x) CSI_CR254_PIXEL_COUNTERS(x)
  23608. #define CSI_CSICR255_PIXEL_COUNTERS_MASK CSI_CR255_PIXEL_COUNTERS_MASK
  23609. #define CSI_CSICR255_PIXEL_COUNTERS_SHIFT CSI_CR255_PIXEL_COUNTERS_SHIFT
  23610. #define CSI_CSICR255_PIXEL_COUNTERS(x) CSI_CR255_PIXEL_COUNTERS(x)
  23611. #define CSI_CSICR256_PIXEL_COUNTERS_MASK CSI_CR256_PIXEL_COUNTERS_MASK
  23612. #define CSI_CSICR256_PIXEL_COUNTERS_SHIFT CSI_CR256_PIXEL_COUNTERS_SHIFT
  23613. #define CSI_CSICR256_PIXEL_COUNTERS(x) CSI_CR256_PIXEL_COUNTERS(x)
  23614. #define CSI_CSICR257_PIXEL_COUNTERS_MASK CSI_CR257_PIXEL_COUNTERS_MASK
  23615. #define CSI_CSICR257_PIXEL_COUNTERS_SHIFT CSI_CR257_PIXEL_COUNTERS_SHIFT
  23616. #define CSI_CSICR257_PIXEL_COUNTERS(x) CSI_CR257_PIXEL_COUNTERS(x)
  23617. #define CSI_CSICR258_PIXEL_COUNTERS_MASK CSI_CR258_PIXEL_COUNTERS_MASK
  23618. #define CSI_CSICR258_PIXEL_COUNTERS_SHIFT CSI_CR258_PIXEL_COUNTERS_SHIFT
  23619. #define CSI_CSICR258_PIXEL_COUNTERS(x) CSI_CR258_PIXEL_COUNTERS(x)
  23620. #define CSI_CSICR259_PIXEL_COUNTERS_MASK CSI_CR259_PIXEL_COUNTERS_MASK
  23621. #define CSI_CSICR259_PIXEL_COUNTERS_SHIFT CSI_CR259_PIXEL_COUNTERS_SHIFT
  23622. #define CSI_CSICR259_PIXEL_COUNTERS(x) CSI_CR259_PIXEL_COUNTERS(x)
  23623. #define CSI_CSICR260_PIXEL_COUNTERS_MASK CSI_CR260_PIXEL_COUNTERS_MASK
  23624. #define CSI_CSICR260_PIXEL_COUNTERS_SHIFT CSI_CR260_PIXEL_COUNTERS_SHIFT
  23625. #define CSI_CSICR260_PIXEL_COUNTERS(x) CSI_CR260_PIXEL_COUNTERS(x)
  23626. #define CSI_CSICR261_PIXEL_COUNTERS_MASK CSI_CR261_PIXEL_COUNTERS_MASK
  23627. #define CSI_CSICR261_PIXEL_COUNTERS_SHIFT CSI_CR261_PIXEL_COUNTERS_SHIFT
  23628. #define CSI_CSICR261_PIXEL_COUNTERS(x) CSI_CR261_PIXEL_COUNTERS(x)
  23629. #define CSI_CSICR262_PIXEL_COUNTERS_MASK CSI_CR262_PIXEL_COUNTERS_MASK
  23630. #define CSI_CSICR262_PIXEL_COUNTERS_SHIFT CSI_CR262_PIXEL_COUNTERS_SHIFT
  23631. #define CSI_CSICR262_PIXEL_COUNTERS(x) CSI_CR262_PIXEL_COUNTERS(x)
  23632. #define CSI_CSICR263_PIXEL_COUNTERS_MASK CSI_CR263_PIXEL_COUNTERS_MASK
  23633. #define CSI_CSICR263_PIXEL_COUNTERS_SHIFT CSI_CR263_PIXEL_COUNTERS_SHIFT
  23634. #define CSI_CSICR263_PIXEL_COUNTERS(x) CSI_CR263_PIXEL_COUNTERS(x)
  23635. #define CSI_CSICR264_PIXEL_COUNTERS_MASK CSI_CR264_PIXEL_COUNTERS_MASK
  23636. #define CSI_CSICR264_PIXEL_COUNTERS_SHIFT CSI_CR264_PIXEL_COUNTERS_SHIFT
  23637. #define CSI_CSICR264_PIXEL_COUNTERS(x) CSI_CR264_PIXEL_COUNTERS(x)
  23638. #define CSI_CSICR265_PIXEL_COUNTERS_MASK CSI_CR265_PIXEL_COUNTERS_MASK
  23639. #define CSI_CSICR265_PIXEL_COUNTERS_SHIFT CSI_CR265_PIXEL_COUNTERS_SHIFT
  23640. #define CSI_CSICR265_PIXEL_COUNTERS(x) CSI_CR265_PIXEL_COUNTERS(x)
  23641. #define CSI_CSICR266_PIXEL_COUNTERS_MASK CSI_CR266_PIXEL_COUNTERS_MASK
  23642. #define CSI_CSICR266_PIXEL_COUNTERS_SHIFT CSI_CR266_PIXEL_COUNTERS_SHIFT
  23643. #define CSI_CSICR266_PIXEL_COUNTERS(x) CSI_CR266_PIXEL_COUNTERS(x)
  23644. #define CSI_CSICR267_PIXEL_COUNTERS_MASK CSI_CR267_PIXEL_COUNTERS_MASK
  23645. #define CSI_CSICR267_PIXEL_COUNTERS_SHIFT CSI_CR267_PIXEL_COUNTERS_SHIFT
  23646. #define CSI_CSICR267_PIXEL_COUNTERS(x) CSI_CR267_PIXEL_COUNTERS(x)
  23647. #define CSI_CSICR268_PIXEL_COUNTERS_MASK CSI_CR268_PIXEL_COUNTERS_MASK
  23648. #define CSI_CSICR268_PIXEL_COUNTERS_SHIFT CSI_CR268_PIXEL_COUNTERS_SHIFT
  23649. #define CSI_CSICR268_PIXEL_COUNTERS(x) CSI_CR268_PIXEL_COUNTERS(x)
  23650. #define CSI_CSICR269_PIXEL_COUNTERS_MASK CSI_CR269_PIXEL_COUNTERS_MASK
  23651. #define CSI_CSICR269_PIXEL_COUNTERS_SHIFT CSI_CR269_PIXEL_COUNTERS_SHIFT
  23652. #define CSI_CSICR269_PIXEL_COUNTERS(x) CSI_CR269_PIXEL_COUNTERS(x)
  23653. #define CSI_CSICR270_PIXEL_COUNTERS_MASK CSI_CR270_PIXEL_COUNTERS_MASK
  23654. #define CSI_CSICR270_PIXEL_COUNTERS_SHIFT CSI_CR270_PIXEL_COUNTERS_SHIFT
  23655. #define CSI_CSICR270_PIXEL_COUNTERS(x) CSI_CR270_PIXEL_COUNTERS(x)
  23656. #define CSI_CSICR271_PIXEL_COUNTERS_MASK CSI_CR271_PIXEL_COUNTERS_MASK
  23657. #define CSI_CSICR271_PIXEL_COUNTERS_SHIFT CSI_CR271_PIXEL_COUNTERS_SHIFT
  23658. #define CSI_CSICR271_PIXEL_COUNTERS(x) CSI_CR271_PIXEL_COUNTERS(x)
  23659. #define CSI_CSICR272_PIXEL_COUNTERS_MASK CSI_CR272_PIXEL_COUNTERS_MASK
  23660. #define CSI_CSICR272_PIXEL_COUNTERS_SHIFT CSI_CR272_PIXEL_COUNTERS_SHIFT
  23661. #define CSI_CSICR272_PIXEL_COUNTERS(x) CSI_CR272_PIXEL_COUNTERS(x)
  23662. #define CSI_CSICR273_PIXEL_COUNTERS_MASK CSI_CR273_PIXEL_COUNTERS_MASK
  23663. #define CSI_CSICR273_PIXEL_COUNTERS_SHIFT CSI_CR273_PIXEL_COUNTERS_SHIFT
  23664. #define CSI_CSICR273_PIXEL_COUNTERS(x) CSI_CR273_PIXEL_COUNTERS(x)
  23665. #define CSI_CSICR274_PIXEL_COUNTERS_MASK CSI_CR274_PIXEL_COUNTERS_MASK
  23666. #define CSI_CSICR274_PIXEL_COUNTERS_SHIFT CSI_CR274_PIXEL_COUNTERS_SHIFT
  23667. #define CSI_CSICR274_PIXEL_COUNTERS(x) CSI_CR274_PIXEL_COUNTERS(x)
  23668. #define CSI_CSICR275_PIXEL_COUNTERS_MASK CSI_CR275_PIXEL_COUNTERS_MASK
  23669. #define CSI_CSICR275_PIXEL_COUNTERS_SHIFT CSI_CR275_PIXEL_COUNTERS_SHIFT
  23670. #define CSI_CSICR275_PIXEL_COUNTERS(x) CSI_CR275_PIXEL_COUNTERS(x)
  23671. #define CSI_CSICR276_PIXEL_COUNTERS_MASK CSI_CR276_PIXEL_COUNTERS_MASK
  23672. #define CSI_CSICR276_PIXEL_COUNTERS_SHIFT CSI_CR276_PIXEL_COUNTERS_SHIFT
  23673. #define CSI_CSICR276_PIXEL_COUNTERS(x) CSI_CR276_PIXEL_COUNTERS(x)
  23674. /*!
  23675. * @}
  23676. */ /* end of group CSI_Peripheral_Access_Layer */
  23677. /* ----------------------------------------------------------------------------
  23678. -- DAC Peripheral Access Layer
  23679. ---------------------------------------------------------------------------- */
  23680. /*!
  23681. * @addtogroup DAC_Peripheral_Access_Layer DAC Peripheral Access Layer
  23682. * @{
  23683. */
  23684. /** DAC - Register Layout Typedef */
  23685. typedef struct {
  23686. __I uint32_t VERID; /**< Version Identifier Register, offset: 0x0 */
  23687. __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */
  23688. __O uint32_t DATA; /**< DAC Data Register, offset: 0x8 */
  23689. __IO uint32_t CR; /**< DAC Status and Control Register, offset: 0xC */
  23690. __I uint32_t PTR; /**< DAC FIFO Pointer Register, offset: 0x10 */
  23691. __IO uint32_t CR2; /**< DAC Status and Control Register 2, offset: 0x14 */
  23692. } DAC_Type;
  23693. /* ----------------------------------------------------------------------------
  23694. -- DAC Register Masks
  23695. ---------------------------------------------------------------------------- */
  23696. /*!
  23697. * @addtogroup DAC_Register_Masks DAC Register Masks
  23698. * @{
  23699. */
  23700. /*! @name VERID - Version Identifier Register */
  23701. /*! @{ */
  23702. #define DAC_VERID_FEATURE_MASK (0xFFFFU)
  23703. #define DAC_VERID_FEATURE_SHIFT (0U)
  23704. /*! FEATURE - Feature Identification Number
  23705. * 0b0000000000000000..Standard feature set
  23706. * 0b0000000000000001..C40 feature set
  23707. * 0b0000000000000010..5V DAC feature set
  23708. * 0b0000000000000100..ADC BIST feature set
  23709. */
  23710. #define DAC_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << DAC_VERID_FEATURE_SHIFT)) & DAC_VERID_FEATURE_MASK)
  23711. #define DAC_VERID_MINOR_MASK (0xFF0000U)
  23712. #define DAC_VERID_MINOR_SHIFT (16U)
  23713. /*! MINOR - Minor version number
  23714. */
  23715. #define DAC_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << DAC_VERID_MINOR_SHIFT)) & DAC_VERID_MINOR_MASK)
  23716. #define DAC_VERID_MAJOR_MASK (0xFF000000U)
  23717. #define DAC_VERID_MAJOR_SHIFT (24U)
  23718. /*! MAJOR - Major version number
  23719. */
  23720. #define DAC_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << DAC_VERID_MAJOR_SHIFT)) & DAC_VERID_MAJOR_MASK)
  23721. /*! @} */
  23722. /*! @name PARAM - Parameter Register */
  23723. /*! @{ */
  23724. #define DAC_PARAM_FIFOSZ_MASK (0x7U)
  23725. #define DAC_PARAM_FIFOSZ_SHIFT (0U)
  23726. /*! FIFOSZ - FIFO size
  23727. * 0b000..FIFO depth is 2
  23728. * 0b001..FIFO depth is 4
  23729. * 0b010..FIFO depth is 8
  23730. * 0b011..FIFO depth is 16
  23731. * 0b100..FIFO depth is 32
  23732. * 0b101..FIFO depth is 64
  23733. * 0b110..FIFO depth is 128
  23734. * 0b111..FIFO depth is 256
  23735. */
  23736. #define DAC_PARAM_FIFOSZ(x) (((uint32_t)(((uint32_t)(x)) << DAC_PARAM_FIFOSZ_SHIFT)) & DAC_PARAM_FIFOSZ_MASK)
  23737. /*! @} */
  23738. /*! @name DATA - DAC Data Register */
  23739. /*! @{ */
  23740. #define DAC_DATA_DATA0_MASK (0xFFFU)
  23741. #define DAC_DATA_DATA0_SHIFT (0U)
  23742. /*! DATA0 - FIFO DATA0
  23743. */
  23744. #define DAC_DATA_DATA0(x) (((uint32_t)(((uint32_t)(x)) << DAC_DATA_DATA0_SHIFT)) & DAC_DATA_DATA0_MASK)
  23745. /*! @} */
  23746. /*! @name CR - DAC Status and Control Register */
  23747. /*! @{ */
  23748. #define DAC_CR_FULLF_MASK (0x1U)
  23749. #define DAC_CR_FULLF_SHIFT (0U)
  23750. /*! FULLF - Full Flag
  23751. * 0b0..FIFO is not full.
  23752. * 0b1..FIFO is full.
  23753. */
  23754. #define DAC_CR_FULLF(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR_FULLF_SHIFT)) & DAC_CR_FULLF_MASK)
  23755. #define DAC_CR_NEMPTF_MASK (0x2U)
  23756. #define DAC_CR_NEMPTF_SHIFT (1U)
  23757. /*! NEMPTF - Nearly Empty Flag
  23758. * 0b0..More than one data is available in the FIFO.
  23759. * 0b1..One data is available in the FIFO.
  23760. */
  23761. #define DAC_CR_NEMPTF(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR_NEMPTF_SHIFT)) & DAC_CR_NEMPTF_MASK)
  23762. #define DAC_CR_WMF_MASK (0x4U)
  23763. #define DAC_CR_WMF_SHIFT (2U)
  23764. /*! WMF - FIFO Watermark Status Flag
  23765. * 0b0..The DAC buffer read pointer has not reached the watermark level.
  23766. * 0b1..The DAC buffer read pointer has reached the watermark level.
  23767. */
  23768. #define DAC_CR_WMF(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR_WMF_SHIFT)) & DAC_CR_WMF_MASK)
  23769. #define DAC_CR_UDFF_MASK (0x8U)
  23770. #define DAC_CR_UDFF_SHIFT (3U)
  23771. /*! UDFF - Underflow Flag
  23772. * 0b0..No underflow has occurred since the last time the flag was cleared.
  23773. * 0b1..At least one trigger underflow has occurred since the last time the flag was cleared.
  23774. */
  23775. #define DAC_CR_UDFF(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR_UDFF_SHIFT)) & DAC_CR_UDFF_MASK)
  23776. #define DAC_CR_OVFF_MASK (0x10U)
  23777. #define DAC_CR_OVFF_SHIFT (4U)
  23778. /*! OVFF - Overflow Flag
  23779. * 0b0..No overflow has occurred since the last time the flag was cleared.
  23780. * 0b1..At least one FIFO overflow has occurred since the last time the flag was cleared.
  23781. */
  23782. #define DAC_CR_OVFF(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR_OVFF_SHIFT)) & DAC_CR_OVFF_MASK)
  23783. #define DAC_CR_FULLIE_MASK (0x100U)
  23784. #define DAC_CR_FULLIE_SHIFT (8U)
  23785. /*! FULLIE - Full Interrupt Enable
  23786. * 0b0..FIFO Full interrupt is disabled.
  23787. * 0b1..FIFO Full interrupt is enabled.
  23788. */
  23789. #define DAC_CR_FULLIE(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR_FULLIE_SHIFT)) & DAC_CR_FULLIE_MASK)
  23790. #define DAC_CR_EMPTIE_MASK (0x200U)
  23791. #define DAC_CR_EMPTIE_SHIFT (9U)
  23792. /*! EMPTIE - Nearly Empty Interrupt Enable
  23793. * 0b0..FIFO Nearly Empty interrupt is disabled.
  23794. * 0b1..FIFO Nearly Empty interrupt is enabled.
  23795. */
  23796. #define DAC_CR_EMPTIE(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR_EMPTIE_SHIFT)) & DAC_CR_EMPTIE_MASK)
  23797. #define DAC_CR_WTMIE_MASK (0x400U)
  23798. #define DAC_CR_WTMIE_SHIFT (10U)
  23799. /*! WTMIE - Watermark Interrupt Enable
  23800. * 0b0..Watermark interrupt is disabled.
  23801. * 0b1..Watermark interrupt is enabled.
  23802. */
  23803. #define DAC_CR_WTMIE(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR_WTMIE_SHIFT)) & DAC_CR_WTMIE_MASK)
  23804. #define DAC_CR_SWTRG_MASK (0x1000U)
  23805. #define DAC_CR_SWTRG_SHIFT (12U)
  23806. /*! SWTRG - DAC Software Trigger
  23807. * 0b0..The DAC soft trigger is not valid.
  23808. * 0b1..The DAC soft trigger is valid.
  23809. */
  23810. #define DAC_CR_SWTRG(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR_SWTRG_SHIFT)) & DAC_CR_SWTRG_MASK)
  23811. #define DAC_CR_TRGSEL_MASK (0x2000U)
  23812. #define DAC_CR_TRGSEL_SHIFT (13U)
  23813. /*! TRGSEL - DAC Trigger Select
  23814. * 0b0..The DAC hardware trigger is selected.
  23815. * 0b1..The DAC software trigger is selected.
  23816. */
  23817. #define DAC_CR_TRGSEL(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR_TRGSEL_SHIFT)) & DAC_CR_TRGSEL_MASK)
  23818. #define DAC_CR_DACRFS_MASK (0x4000U)
  23819. #define DAC_CR_DACRFS_SHIFT (14U)
  23820. /*! DACRFS - DAC Reference Select
  23821. * 0b0..The DAC selects DACREF_1 as the reference voltage.
  23822. * 0b1..The DAC selects DACREF_2 as the reference voltage.
  23823. */
  23824. #define DAC_CR_DACRFS(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR_DACRFS_SHIFT)) & DAC_CR_DACRFS_MASK)
  23825. #define DAC_CR_DACEN_MASK (0x8000U)
  23826. #define DAC_CR_DACEN_SHIFT (15U)
  23827. /*! DACEN - DAC Enable
  23828. * 0b0..The DAC system is disabled.
  23829. * 0b1..The DAC system is enabled.
  23830. */
  23831. #define DAC_CR_DACEN(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR_DACEN_SHIFT)) & DAC_CR_DACEN_MASK)
  23832. #define DAC_CR_FIFOEN_MASK (0x10000U)
  23833. #define DAC_CR_FIFOEN_SHIFT (16U)
  23834. /*! FIFOEN - FIFO Enable
  23835. * 0b0..FIFO is disabled and only one level buffer is enabled. Any data written from this buffer goes to conversion.
  23836. * 0b1..FIFO is enabled. Data will first read from FIFO to buffer then go to conversion.
  23837. */
  23838. #define DAC_CR_FIFOEN(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR_FIFOEN_SHIFT)) & DAC_CR_FIFOEN_MASK)
  23839. #define DAC_CR_SWMD_MASK (0x20000U)
  23840. #define DAC_CR_SWMD_SHIFT (17U)
  23841. /*! SWMD - DAC FIFO Mode Select
  23842. * 0b0..Normal mode
  23843. * 0b1..Swing back mode
  23844. */
  23845. #define DAC_CR_SWMD(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR_SWMD_SHIFT)) & DAC_CR_SWMD_MASK)
  23846. #define DAC_CR_UVIE_MASK (0x40000U)
  23847. #define DAC_CR_UVIE_SHIFT (18U)
  23848. /*! UVIE - Underflow and overflow interrupt enable
  23849. * 0b0..Underflow and overflow interrupt is disabled.
  23850. * 0b1..Underflow and overflow interrupt is enabled.
  23851. */
  23852. #define DAC_CR_UVIE(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR_UVIE_SHIFT)) & DAC_CR_UVIE_MASK)
  23853. #define DAC_CR_FIFORST_MASK (0x200000U)
  23854. #define DAC_CR_FIFORST_SHIFT (21U)
  23855. /*! FIFORST - FIFO Reset
  23856. * 0b0..No effect
  23857. * 0b1..FIFO reset
  23858. */
  23859. #define DAC_CR_FIFORST(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR_FIFORST_SHIFT)) & DAC_CR_FIFORST_MASK)
  23860. #define DAC_CR_SWRST_MASK (0x400000U)
  23861. #define DAC_CR_SWRST_SHIFT (22U)
  23862. /*! SWRST - Software reset
  23863. */
  23864. #define DAC_CR_SWRST(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR_SWRST_SHIFT)) & DAC_CR_SWRST_MASK)
  23865. #define DAC_CR_DMAEN_MASK (0x800000U)
  23866. #define DAC_CR_DMAEN_SHIFT (23U)
  23867. /*! DMAEN - DMA Enable Select
  23868. * 0b0..DMA is disabled.
  23869. * 0b1..DMA is enabled. When DMA is enabled, the DMA request will be generated by original interrupts. The
  23870. * interrupts will not be presented on this module at the same time.
  23871. */
  23872. #define DAC_CR_DMAEN(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR_DMAEN_SHIFT)) & DAC_CR_DMAEN_MASK)
  23873. #define DAC_CR_WML_MASK (0xFF000000U)
  23874. #define DAC_CR_WML_SHIFT (24U)
  23875. /*! WML - Watermark Level Select
  23876. */
  23877. #define DAC_CR_WML(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR_WML_SHIFT)) & DAC_CR_WML_MASK)
  23878. /*! @} */
  23879. /*! @name PTR - DAC FIFO Pointer Register */
  23880. /*! @{ */
  23881. #define DAC_PTR_DACWFP_MASK (0xFFU)
  23882. #define DAC_PTR_DACWFP_SHIFT (0U)
  23883. /*! DACWFP - DACWFP
  23884. */
  23885. #define DAC_PTR_DACWFP(x) (((uint32_t)(((uint32_t)(x)) << DAC_PTR_DACWFP_SHIFT)) & DAC_PTR_DACWFP_MASK)
  23886. #define DAC_PTR_DACRFP_MASK (0xFF0000U)
  23887. #define DAC_PTR_DACRFP_SHIFT (16U)
  23888. /*! DACRFP - DACRFP
  23889. */
  23890. #define DAC_PTR_DACRFP(x) (((uint32_t)(((uint32_t)(x)) << DAC_PTR_DACRFP_SHIFT)) & DAC_PTR_DACRFP_MASK)
  23891. /*! @} */
  23892. /*! @name CR2 - DAC Status and Control Register 2 */
  23893. /*! @{ */
  23894. #define DAC_CR2_BFEN_MASK (0x1U)
  23895. #define DAC_CR2_BFEN_SHIFT (0U)
  23896. /*! BFEN - Buffer Enable
  23897. * 0b0..Opamp is not used as buffer
  23898. * 0b1..Opamp is used as buffer
  23899. */
  23900. #define DAC_CR2_BFEN(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR2_BFEN_SHIFT)) & DAC_CR2_BFEN_MASK)
  23901. #define DAC_CR2_OEN_MASK (0x2U)
  23902. #define DAC_CR2_OEN_SHIFT (1U)
  23903. /*! OEN - Optional Enable
  23904. * 0b0..Output buffer is not bypassed
  23905. * 0b1..Output buffer is bypassed
  23906. */
  23907. #define DAC_CR2_OEN(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR2_OEN_SHIFT)) & DAC_CR2_OEN_MASK)
  23908. #define DAC_CR2_BFMS_MASK (0x4U)
  23909. #define DAC_CR2_BFMS_SHIFT (2U)
  23910. /*! BFMS - Buffer Middle Speed Select
  23911. * 0b0..Buffer middle speed not selected
  23912. * 0b1..Buffer middle speed selected
  23913. */
  23914. #define DAC_CR2_BFMS(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR2_BFMS_SHIFT)) & DAC_CR2_BFMS_MASK)
  23915. #define DAC_CR2_BFHS_MASK (0x8U)
  23916. #define DAC_CR2_BFHS_SHIFT (3U)
  23917. /*! BFHS - Buffer High Speed Select
  23918. * 0b0..Buffer high speed not selected
  23919. * 0b1..Buffer high speed selected
  23920. */
  23921. #define DAC_CR2_BFHS(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR2_BFHS_SHIFT)) & DAC_CR2_BFHS_MASK)
  23922. #define DAC_CR2_IREF2_MASK (0x10U)
  23923. #define DAC_CR2_IREF2_SHIFT (4U)
  23924. /*! IREF2 - Internal PTAT (Proportional To Absolute Temperature) Current Reference Select
  23925. * 0b0..Internal PTAT Current Reference not selected
  23926. * 0b1..Internal PTAT Current Reference selected
  23927. */
  23928. #define DAC_CR2_IREF2(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR2_IREF2_SHIFT)) & DAC_CR2_IREF2_MASK)
  23929. #define DAC_CR2_IREF1_MASK (0x20U)
  23930. #define DAC_CR2_IREF1_SHIFT (5U)
  23931. /*! IREF1 - Internal ZTC (Zero Temperature Coefficient) Current Reference Select
  23932. * 0b0..Internal ZTC Current Reference not selected
  23933. * 0b1..Internal ZTC Current Reference selected
  23934. */
  23935. #define DAC_CR2_IREF1(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR2_IREF1_SHIFT)) & DAC_CR2_IREF1_MASK)
  23936. #define DAC_CR2_IREF_MASK (0x40U)
  23937. #define DAC_CR2_IREF_SHIFT (6U)
  23938. /*! IREF - Internal Current Reference Select
  23939. * 0b0..Internal Current Reference not selected
  23940. * 0b1..Internal Current Reference selected
  23941. */
  23942. #define DAC_CR2_IREF(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR2_IREF_SHIFT)) & DAC_CR2_IREF_MASK)
  23943. /*! @} */
  23944. /*!
  23945. * @}
  23946. */ /* end of group DAC_Register_Masks */
  23947. /* DAC - Peripheral instance base addresses */
  23948. /** Peripheral DAC base address */
  23949. #define DAC_BASE (0x40064000u)
  23950. /** Peripheral DAC base pointer */
  23951. #define DAC ((DAC_Type *)DAC_BASE)
  23952. /** Array initializer of DAC peripheral base addresses */
  23953. #define DAC_BASE_ADDRS { DAC_BASE }
  23954. /** Array initializer of DAC peripheral base pointers */
  23955. #define DAC_BASE_PTRS { DAC }
  23956. /** Interrupt vectors for the DAC peripheral type */
  23957. #define DAC_IRQS { DAC_IRQn }
  23958. /*!
  23959. * @}
  23960. */ /* end of group DAC_Peripheral_Access_Layer */
  23961. /* ----------------------------------------------------------------------------
  23962. -- DCDC Peripheral Access Layer
  23963. ---------------------------------------------------------------------------- */
  23964. /*!
  23965. * @addtogroup DCDC_Peripheral_Access_Layer DCDC Peripheral Access Layer
  23966. * @{
  23967. */
  23968. /** DCDC - Register Layout Typedef */
  23969. typedef struct {
  23970. __IO uint32_t CTRL0; /**< DCDC Control Register 0, offset: 0x0 */
  23971. __IO uint32_t CTRL1; /**< DCDC Control Register 1, offset: 0x4 */
  23972. __IO uint32_t REG0; /**< DCDC Register 0, offset: 0x8 */
  23973. __IO uint32_t REG1; /**< DCDC Register 1, offset: 0xC */
  23974. __IO uint32_t REG2; /**< DCDC Register 2, offset: 0x10 */
  23975. __IO uint32_t REG3; /**< DCDC Register 3, offset: 0x14 */
  23976. __IO uint32_t REG4; /**< DCDC Register 4, offset: 0x18 */
  23977. __IO uint32_t REG5; /**< DCDC Register 5, offset: 0x1C */
  23978. __IO uint32_t REG6; /**< DCDC Register 6, offset: 0x20 */
  23979. __IO uint32_t REG7; /**< DCDC Register 7, offset: 0x24 */
  23980. __IO uint32_t REG7P; /**< DCDC Register 7 plus, offset: 0x28 */
  23981. __IO uint32_t REG8; /**< DCDC Register 8, offset: 0x2C */
  23982. __IO uint32_t REG9; /**< DCDC Register 9, offset: 0x30 */
  23983. __IO uint32_t REG10; /**< DCDC Register 10, offset: 0x34 */
  23984. __IO uint32_t REG11; /**< DCDC Register 11, offset: 0x38 */
  23985. __IO uint32_t REG12; /**< DCDC Register 12, offset: 0x3C */
  23986. __IO uint32_t REG13; /**< DCDC Register 13, offset: 0x40 */
  23987. __IO uint32_t REG14; /**< DCDC Register 14, offset: 0x44 */
  23988. __IO uint32_t REG15; /**< DCDC Register 15, offset: 0x48 */
  23989. __IO uint32_t REG16; /**< DCDC Register 16, offset: 0x4C */
  23990. __IO uint32_t REG17; /**< DCDC Register 17, offset: 0x50 */
  23991. __IO uint32_t REG18; /**< DCDC Register 18, offset: 0x54 */
  23992. __IO uint32_t REG19; /**< DCDC Register 19, offset: 0x58 */
  23993. __IO uint32_t REG20; /**< DCDC Register 20, offset: 0x5C */
  23994. __IO uint32_t REG21; /**< DCDC Register 21, offset: 0x60 */
  23995. __IO uint32_t REG22; /**< DCDC Register 22, offset: 0x64 */
  23996. __IO uint32_t REG23; /**< DCDC Register 23, offset: 0x68 */
  23997. __IO uint32_t REG24; /**< DCDC Register 24, offset: 0x6C */
  23998. } DCDC_Type;
  23999. /* ----------------------------------------------------------------------------
  24000. -- DCDC Register Masks
  24001. ---------------------------------------------------------------------------- */
  24002. /*!
  24003. * @addtogroup DCDC_Register_Masks DCDC Register Masks
  24004. * @{
  24005. */
  24006. /*! @name CTRL0 - DCDC Control Register 0 */
  24007. /*! @{ */
  24008. #define DCDC_CTRL0_ENABLE_MASK (0x1U)
  24009. #define DCDC_CTRL0_ENABLE_SHIFT (0U)
  24010. /*! ENABLE
  24011. * 0b0..Disable (Bypass)
  24012. * 0b1..Enable
  24013. */
  24014. #define DCDC_CTRL0_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << DCDC_CTRL0_ENABLE_SHIFT)) & DCDC_CTRL0_ENABLE_MASK)
  24015. #define DCDC_CTRL0_DIG_EN_MASK (0x2U)
  24016. #define DCDC_CTRL0_DIG_EN_SHIFT (1U)
  24017. /*! DIG_EN
  24018. * 0b0..Reserved
  24019. * 0b1..Enable
  24020. */
  24021. #define DCDC_CTRL0_DIG_EN(x) (((uint32_t)(((uint32_t)(x)) << DCDC_CTRL0_DIG_EN_SHIFT)) & DCDC_CTRL0_DIG_EN_MASK)
  24022. #define DCDC_CTRL0_STBY_EN_MASK (0x4U)
  24023. #define DCDC_CTRL0_STBY_EN_SHIFT (2U)
  24024. /*! STBY_EN
  24025. * 0b1..Enter into standby mode
  24026. */
  24027. #define DCDC_CTRL0_STBY_EN(x) (((uint32_t)(((uint32_t)(x)) << DCDC_CTRL0_STBY_EN_SHIFT)) & DCDC_CTRL0_STBY_EN_MASK)
  24028. #define DCDC_CTRL0_LP_MODE_EN_MASK (0x8U)
  24029. #define DCDC_CTRL0_LP_MODE_EN_SHIFT (3U)
  24030. /*! LP_MODE_EN
  24031. * 0b1..Enter into low-power mode
  24032. */
  24033. #define DCDC_CTRL0_LP_MODE_EN(x) (((uint32_t)(((uint32_t)(x)) << DCDC_CTRL0_LP_MODE_EN_SHIFT)) & DCDC_CTRL0_LP_MODE_EN_MASK)
  24034. #define DCDC_CTRL0_STBY_LP_MODE_EN_MASK (0x10U)
  24035. #define DCDC_CTRL0_STBY_LP_MODE_EN_SHIFT (4U)
  24036. /*! STBY_LP_MODE_EN
  24037. * 0b0..Disable DCDC entry into low-power mode from a GPC standby request
  24038. * 0b1..Enable DCDC to enter into low-power mode from a GPC standby request
  24039. */
  24040. #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)
  24041. #define DCDC_CTRL0_ENABLE_DCDC_CNT_MASK (0x20U)
  24042. #define DCDC_CTRL0_ENABLE_DCDC_CNT_SHIFT (5U)
  24043. /*! ENABLE_DCDC_CNT - Enable internal count for DCDC_OK timeout
  24044. * 0b0..Wait DCDC_OK for ACK
  24045. * 0b1..Enable internal count for DCDC_OK timeout
  24046. */
  24047. #define DCDC_CTRL0_ENABLE_DCDC_CNT(x) (((uint32_t)(((uint32_t)(x)) << DCDC_CTRL0_ENABLE_DCDC_CNT_SHIFT)) & DCDC_CTRL0_ENABLE_DCDC_CNT_MASK)
  24048. #define DCDC_CTRL0_TRIM_HOLD_MASK (0x40U)
  24049. #define DCDC_CTRL0_TRIM_HOLD_SHIFT (6U)
  24050. /*! TRIM_HOLD - Hold trim input
  24051. * 0b0..Sample trim input
  24052. * 0b1..Hold trim input
  24053. */
  24054. #define DCDC_CTRL0_TRIM_HOLD(x) (((uint32_t)(((uint32_t)(x)) << DCDC_CTRL0_TRIM_HOLD_SHIFT)) & DCDC_CTRL0_TRIM_HOLD_MASK)
  24055. #define DCDC_CTRL0_DEBUG_BITS_MASK (0x7FF80000U)
  24056. #define DCDC_CTRL0_DEBUG_BITS_SHIFT (19U)
  24057. /*! DEBUG_BITS - DEBUG_BITS[11:0]
  24058. */
  24059. #define DCDC_CTRL0_DEBUG_BITS(x) (((uint32_t)(((uint32_t)(x)) << DCDC_CTRL0_DEBUG_BITS_SHIFT)) & DCDC_CTRL0_DEBUG_BITS_MASK)
  24060. #define DCDC_CTRL0_CONTROL_MODE_MASK (0x80000000U)
  24061. #define DCDC_CTRL0_CONTROL_MODE_SHIFT (31U)
  24062. /*! CONTROL_MODE - Control mode
  24063. * 0b0..Software control mode
  24064. * 0b1..Hardware control mode (controlled by GPC Setpoints)
  24065. */
  24066. #define DCDC_CTRL0_CONTROL_MODE(x) (((uint32_t)(((uint32_t)(x)) << DCDC_CTRL0_CONTROL_MODE_SHIFT)) & DCDC_CTRL0_CONTROL_MODE_MASK)
  24067. /*! @} */
  24068. /*! @name CTRL1 - DCDC Control Register 1 */
  24069. /*! @{ */
  24070. #define DCDC_CTRL1_VDD1P8CTRL_TRG_MASK (0x1FU)
  24071. #define DCDC_CTRL1_VDD1P8CTRL_TRG_SHIFT (0U)
  24072. /*! VDD1P8CTRL_TRG
  24073. * 0b11111..2.275V
  24074. * 0b01100..1.8V
  24075. * 0b00000..1.5V
  24076. */
  24077. #define DCDC_CTRL1_VDD1P8CTRL_TRG(x) (((uint32_t)(((uint32_t)(x)) << DCDC_CTRL1_VDD1P8CTRL_TRG_SHIFT)) & DCDC_CTRL1_VDD1P8CTRL_TRG_MASK)
  24078. #define DCDC_CTRL1_VDD1P0CTRL_TRG_MASK (0x1F00U)
  24079. #define DCDC_CTRL1_VDD1P0CTRL_TRG_SHIFT (8U)
  24080. /*! VDD1P0CTRL_TRG
  24081. * 0b11111..1.375V
  24082. * 0b10000..1.0V
  24083. * 0b00000..0.6V
  24084. */
  24085. #define DCDC_CTRL1_VDD1P0CTRL_TRG(x) (((uint32_t)(((uint32_t)(x)) << DCDC_CTRL1_VDD1P0CTRL_TRG_SHIFT)) & DCDC_CTRL1_VDD1P0CTRL_TRG_MASK)
  24086. #define DCDC_CTRL1_VDD1P8CTRL_STBY_TRG_MASK (0x1F0000U)
  24087. #define DCDC_CTRL1_VDD1P8CTRL_STBY_TRG_SHIFT (16U)
  24088. /*! VDD1P8CTRL_STBY_TRG
  24089. * 0b11111..2.3V
  24090. * 0b01011..1.8V
  24091. * 0b00000..1.525V
  24092. */
  24093. #define DCDC_CTRL1_VDD1P8CTRL_STBY_TRG(x) (((uint32_t)(((uint32_t)(x)) << DCDC_CTRL1_VDD1P8CTRL_STBY_TRG_SHIFT)) & DCDC_CTRL1_VDD1P8CTRL_STBY_TRG_MASK)
  24094. #define DCDC_CTRL1_VDD1P0CTRL_STBY_TRG_MASK (0x1F000000U)
  24095. #define DCDC_CTRL1_VDD1P0CTRL_STBY_TRG_SHIFT (24U)
  24096. /*! VDD1P0CTRL_STBY_TRG
  24097. * 0b11111..1.4V
  24098. * 0b01111..1.0V
  24099. * 0b00000..0.625V
  24100. */
  24101. #define DCDC_CTRL1_VDD1P0CTRL_STBY_TRG(x) (((uint32_t)(((uint32_t)(x)) << DCDC_CTRL1_VDD1P0CTRL_STBY_TRG_SHIFT)) & DCDC_CTRL1_VDD1P0CTRL_STBY_TRG_MASK)
  24102. /*! @} */
  24103. /*! @name REG0 - DCDC Register 0 */
  24104. /*! @{ */
  24105. #define DCDC_REG0_PWD_ZCD_MASK (0x1U)
  24106. #define DCDC_REG0_PWD_ZCD_SHIFT (0U)
  24107. /*! PWD_ZCD - Power Down Zero Cross Detection
  24108. * 0b0..Zero cross detetion function powered up
  24109. * 0b1..Zero cross detetion function powered down
  24110. */
  24111. #define DCDC_REG0_PWD_ZCD(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_PWD_ZCD_SHIFT)) & DCDC_REG0_PWD_ZCD_MASK)
  24112. #define DCDC_REG0_DISABLE_AUTO_CLK_SWITCH_MASK (0x2U)
  24113. #define DCDC_REG0_DISABLE_AUTO_CLK_SWITCH_SHIFT (1U)
  24114. /*! DISABLE_AUTO_CLK_SWITCH - Disable Auto Clock Switch
  24115. * 0b0..If DISABLE_AUTO_CLK_SWITCH is set to 0 and 24M xtal is OK, the clock source will switch from internal
  24116. * ring oscillator to 24M xtal automatically
  24117. * 0b1..If DISABLE_AUTO_CLK_SWITCH is set to 1, SEL_CLK will determine which clock source the DCDC uses
  24118. */
  24119. #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)
  24120. #define DCDC_REG0_SEL_CLK_MASK (0x4U)
  24121. #define DCDC_REG0_SEL_CLK_SHIFT (2U)
  24122. /*! SEL_CLK - Select Clock
  24123. * 0b0..DCDC uses internal ring oscillator
  24124. * 0b1..DCDC uses 24M xtal
  24125. */
  24126. #define DCDC_REG0_SEL_CLK(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_SEL_CLK_SHIFT)) & DCDC_REG0_SEL_CLK_MASK)
  24127. #define DCDC_REG0_PWD_OSC_INT_MASK (0x8U)
  24128. #define DCDC_REG0_PWD_OSC_INT_SHIFT (3U)
  24129. /*! PWD_OSC_INT - Power down internal ring oscillator
  24130. * 0b0..Internal ring oscillator powered up
  24131. * 0b1..Internal ring oscillator powered down
  24132. */
  24133. #define DCDC_REG0_PWD_OSC_INT(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_PWD_OSC_INT_SHIFT)) & DCDC_REG0_PWD_OSC_INT_MASK)
  24134. #define DCDC_REG0_PWD_CUR_SNS_CMP_MASK (0x10U)
  24135. #define DCDC_REG0_PWD_CUR_SNS_CMP_SHIFT (4U)
  24136. /*! PWD_CUR_SNS_CMP - Power down signal of the current detector
  24137. * 0b0..Current Detector powered up
  24138. * 0b1..Current Detector powered down
  24139. */
  24140. #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)
  24141. #define DCDC_REG0_CUR_SNS_THRSH_MASK (0xE0U)
  24142. #define DCDC_REG0_CUR_SNS_THRSH_SHIFT (5U)
  24143. /*! CUR_SNS_THRSH - Current Sense (detector) Threshold
  24144. */
  24145. #define DCDC_REG0_CUR_SNS_THRSH(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_CUR_SNS_THRSH_SHIFT)) & DCDC_REG0_CUR_SNS_THRSH_MASK)
  24146. #define DCDC_REG0_PWD_OVERCUR_DET_MASK (0x100U)
  24147. #define DCDC_REG0_PWD_OVERCUR_DET_SHIFT (8U)
  24148. /*! PWD_OVERCUR_DET - Power down overcurrent detection comparator
  24149. * 0b0..Overcurrent detection comparator is enabled
  24150. * 0b1..Overcurrent detection comparator is disabled
  24151. */
  24152. #define DCDC_REG0_PWD_OVERCUR_DET(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_PWD_OVERCUR_DET_SHIFT)) & DCDC_REG0_PWD_OVERCUR_DET_MASK)
  24153. #define DCDC_REG0_PWD_CMP_DCDC_IN_DET_MASK (0x800U)
  24154. #define DCDC_REG0_PWD_CMP_DCDC_IN_DET_SHIFT (11U)
  24155. /*! PWD_CMP_DCDC_IN_DET
  24156. * 0b0..Low voltage detection comparator is enabled
  24157. * 0b1..Low voltage detection comparator is disabled
  24158. */
  24159. #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)
  24160. #define DCDC_REG0_PWD_HIGH_VDD1P8_DET_MASK (0x10000U)
  24161. #define DCDC_REG0_PWD_HIGH_VDD1P8_DET_SHIFT (16U)
  24162. /*! PWD_HIGH_VDD1P8_DET - Power Down High Voltage Detection for VDD1P8
  24163. * 0b0..Overvoltage detection comparator for the VDD1P8 output is enabled
  24164. * 0b1..Overvoltage detection comparator for the VDD1P8 output is disabled
  24165. */
  24166. #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)
  24167. #define DCDC_REG0_PWD_HIGH_VDD1P0_DET_MASK (0x20000U)
  24168. #define DCDC_REG0_PWD_HIGH_VDD1P0_DET_SHIFT (17U)
  24169. /*! PWD_HIGH_VDD1P0_DET - Power Down High Voltage Detection for VDD1P0
  24170. * 0b0..Overvoltage detection comparator for the VDD1P0 output is enabled
  24171. * 0b1..Overvoltage detection comparator for the VDD1P0 output is disabled
  24172. */
  24173. #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)
  24174. #define DCDC_REG0_LP_HIGH_HYS_MASK (0x200000U)
  24175. #define DCDC_REG0_LP_HIGH_HYS_SHIFT (21U)
  24176. /*! LP_HIGH_HYS - Low Power High Hysteric Value
  24177. * 0b0..Adjust hysteretic value in low power to 12.5mV
  24178. * 0b1..Adjust hysteretic value in low power to 25mV
  24179. */
  24180. #define DCDC_REG0_LP_HIGH_HYS(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_LP_HIGH_HYS_SHIFT)) & DCDC_REG0_LP_HIGH_HYS_MASK)
  24181. #define DCDC_REG0_PWD_CMP_OFFSET_MASK (0x4000000U)
  24182. #define DCDC_REG0_PWD_CMP_OFFSET_SHIFT (26U)
  24183. /*! PWD_CMP_OFFSET - power down the out-of-range detection comparator
  24184. * 0b0..Out-of-range comparator powered up
  24185. * 0b1..Out-of-range comparator powered down
  24186. */
  24187. #define DCDC_REG0_PWD_CMP_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_PWD_CMP_OFFSET_SHIFT)) & DCDC_REG0_PWD_CMP_OFFSET_MASK)
  24188. #define DCDC_REG0_XTALOK_DISABLE_MASK (0x8000000U)
  24189. #define DCDC_REG0_XTALOK_DISABLE_SHIFT (27U)
  24190. /*! XTALOK_DISABLE - Disable xtalok detection circuit
  24191. * 0b0..Enable xtalok detection circuit
  24192. * 0b1..Disable xtalok detection circuit and always outputs OK signal "1"
  24193. */
  24194. #define DCDC_REG0_XTALOK_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_XTALOK_DISABLE_SHIFT)) & DCDC_REG0_XTALOK_DISABLE_MASK)
  24195. #define DCDC_REG0_XTAL_24M_OK_MASK (0x20000000U)
  24196. #define DCDC_REG0_XTAL_24M_OK_SHIFT (29U)
  24197. /*! XTAL_24M_OK - 24M XTAL OK
  24198. * 0b0..DCDC uses internal ring oscillator
  24199. * 0b1..DCDC uses xtal 24M
  24200. */
  24201. #define DCDC_REG0_XTAL_24M_OK(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_XTAL_24M_OK_SHIFT)) & DCDC_REG0_XTAL_24M_OK_MASK)
  24202. #define DCDC_REG0_STS_DC_OK_MASK (0x80000000U)
  24203. #define DCDC_REG0_STS_DC_OK_SHIFT (31U)
  24204. /*! STS_DC_OK - DCDC Output OK
  24205. * 0b0..DCDC is settling
  24206. * 0b1..DCDC already settled
  24207. */
  24208. #define DCDC_REG0_STS_DC_OK(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_STS_DC_OK_SHIFT)) & DCDC_REG0_STS_DC_OK_MASK)
  24209. /*! @} */
  24210. /*! @name REG1 - DCDC Register 1 */
  24211. /*! @{ */
  24212. #define DCDC_REG1_DM_CTRL_MASK (0x8U)
  24213. #define DCDC_REG1_DM_CTRL_SHIFT (3U)
  24214. /*! DM_CTRL - DM Control
  24215. * 0b0..No change to ripple when the discontinuous current is present in DCM.
  24216. * 0b1..Improves ripple when the inductor current goes to zero in DCM.
  24217. */
  24218. #define DCDC_REG1_DM_CTRL(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG1_DM_CTRL_SHIFT)) & DCDC_REG1_DM_CTRL_MASK)
  24219. #define DCDC_REG1_RLOAD_REG_EN_LPSR_MASK (0x10U)
  24220. #define DCDC_REG1_RLOAD_REG_EN_LPSR_SHIFT (4U)
  24221. /*! RLOAD_REG_EN_LPSR - Load Resistor Enable
  24222. * 0b0..Disconnect load resistor
  24223. * 0b1..Connect load resistor
  24224. */
  24225. #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)
  24226. #define DCDC_REG1_VBG_TRIM_MASK (0x7C0U)
  24227. #define DCDC_REG1_VBG_TRIM_SHIFT (6U)
  24228. /*! VBG_TRIM - Trim Bandgap Voltage
  24229. * 0b00000..0.452V
  24230. * 0b10000..0.5V
  24231. * 0b11111..0.545V
  24232. */
  24233. #define DCDC_REG1_VBG_TRIM(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG1_VBG_TRIM_SHIFT)) & DCDC_REG1_VBG_TRIM_MASK)
  24234. #define DCDC_REG1_LP_CMP_ISRC_SEL_MASK (0x1800U)
  24235. #define DCDC_REG1_LP_CMP_ISRC_SEL_SHIFT (11U)
  24236. /*! LP_CMP_ISRC_SEL - Low Power Comparator Current Bias
  24237. * 0b00..50nA
  24238. * 0b01..100nA
  24239. * 0b10..200nA
  24240. * 0b11..400nA
  24241. */
  24242. #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)
  24243. #define DCDC_REG1_LOOPCTRL_CM_HST_THRESH_MASK (0x8000000U)
  24244. #define DCDC_REG1_LOOPCTRL_CM_HST_THRESH_SHIFT (27U)
  24245. /*! LOOPCTRL_CM_HST_THRESH - Increase Threshold Detection
  24246. */
  24247. #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)
  24248. #define DCDC_REG1_LOOPCTRL_DF_HST_THRESH_MASK (0x10000000U)
  24249. #define DCDC_REG1_LOOPCTRL_DF_HST_THRESH_SHIFT (28U)
  24250. /*! LOOPCTRL_DF_HST_THRESH - Increase Threshold Detection
  24251. */
  24252. #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)
  24253. #define DCDC_REG1_LOOPCTRL_EN_CM_HYST_MASK (0x20000000U)
  24254. #define DCDC_REG1_LOOPCTRL_EN_CM_HYST_SHIFT (29U)
  24255. /*! LOOPCTRL_EN_CM_HYST
  24256. * 0b0..Disable hysteresis in switching converter common mode analog comparators
  24257. * 0b1..Enable hysteresis in switching converter common mode analog comparators
  24258. */
  24259. #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)
  24260. #define DCDC_REG1_LOOPCTRL_EN_DF_HYST_MASK (0x40000000U)
  24261. #define DCDC_REG1_LOOPCTRL_EN_DF_HYST_SHIFT (30U)
  24262. /*! LOOPCTRL_EN_DF_HYST
  24263. * 0b0..Disable hysteresis in switching converter differential mode analog comparators
  24264. * 0b1..Enable hysteresis in switching converter differential mode analog comparators
  24265. */
  24266. #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)
  24267. /*! @} */
  24268. /*! @name REG2 - DCDC Register 2 */
  24269. /*! @{ */
  24270. #define DCDC_REG2_LOOPCTRL_DC_C_MASK (0x3U)
  24271. #define DCDC_REG2_LOOPCTRL_DC_C_SHIFT (0U)
  24272. #define DCDC_REG2_LOOPCTRL_DC_C(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG2_LOOPCTRL_DC_C_SHIFT)) & DCDC_REG2_LOOPCTRL_DC_C_MASK)
  24273. #define DCDC_REG2_LOOPCTRL_DC_R_MASK (0x3CU)
  24274. #define DCDC_REG2_LOOPCTRL_DC_R_SHIFT (2U)
  24275. #define DCDC_REG2_LOOPCTRL_DC_R(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG2_LOOPCTRL_DC_R_SHIFT)) & DCDC_REG2_LOOPCTRL_DC_R_MASK)
  24276. #define DCDC_REG2_LOOPCTRL_DC_FF_MASK (0x1C0U)
  24277. #define DCDC_REG2_LOOPCTRL_DC_FF_SHIFT (6U)
  24278. #define DCDC_REG2_LOOPCTRL_DC_FF(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG2_LOOPCTRL_DC_FF_SHIFT)) & DCDC_REG2_LOOPCTRL_DC_FF_MASK)
  24279. #define DCDC_REG2_LOOPCTRL_EN_RCSCALE_MASK (0xE00U)
  24280. #define DCDC_REG2_LOOPCTRL_EN_RCSCALE_SHIFT (9U)
  24281. /*! LOOPCTRL_EN_RCSCALE - Enable RC Scale
  24282. */
  24283. #define DCDC_REG2_LOOPCTRL_EN_RCSCALE(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG2_LOOPCTRL_EN_RCSCALE_SHIFT)) & DCDC_REG2_LOOPCTRL_EN_RCSCALE_MASK)
  24284. #define DCDC_REG2_LOOPCTRL_RCSCALE_THRSH_MASK (0x1000U)
  24285. #define DCDC_REG2_LOOPCTRL_RCSCALE_THRSH_SHIFT (12U)
  24286. #define DCDC_REG2_LOOPCTRL_RCSCALE_THRSH(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG2_LOOPCTRL_RCSCALE_THRSH_SHIFT)) & DCDC_REG2_LOOPCTRL_RCSCALE_THRSH_MASK)
  24287. #define DCDC_REG2_LOOPCTRL_HYST_SIGN_MASK (0x2000U)
  24288. #define DCDC_REG2_LOOPCTRL_HYST_SIGN_SHIFT (13U)
  24289. #define DCDC_REG2_LOOPCTRL_HYST_SIGN(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG2_LOOPCTRL_HYST_SIGN_SHIFT)) & DCDC_REG2_LOOPCTRL_HYST_SIGN_MASK)
  24290. #define DCDC_REG2_BATTMONITOR_EN_BATADJ_MASK (0x8000U)
  24291. #define DCDC_REG2_BATTMONITOR_EN_BATADJ_SHIFT (15U)
  24292. #define DCDC_REG2_BATTMONITOR_EN_BATADJ(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG2_BATTMONITOR_EN_BATADJ_SHIFT)) & DCDC_REG2_BATTMONITOR_EN_BATADJ_MASK)
  24293. #define DCDC_REG2_BATTMONITOR_BATT_VAL_MASK (0x3FF0000U)
  24294. #define DCDC_REG2_BATTMONITOR_BATT_VAL_SHIFT (16U)
  24295. #define DCDC_REG2_BATTMONITOR_BATT_VAL(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG2_BATTMONITOR_BATT_VAL_SHIFT)) & DCDC_REG2_BATTMONITOR_BATT_VAL_MASK)
  24296. #define DCDC_REG2_DCM_SET_CTRL_MASK (0x10000000U)
  24297. #define DCDC_REG2_DCM_SET_CTRL_SHIFT (28U)
  24298. /*! DCM_SET_CTRL - DCM Set Control
  24299. */
  24300. #define DCDC_REG2_DCM_SET_CTRL(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG2_DCM_SET_CTRL_SHIFT)) & DCDC_REG2_DCM_SET_CTRL_MASK)
  24301. #define DCDC_REG2_LOOPCTRL_TOGGLE_DIF_MASK (0x40000000U)
  24302. #define DCDC_REG2_LOOPCTRL_TOGGLE_DIF_SHIFT (30U)
  24303. #define DCDC_REG2_LOOPCTRL_TOGGLE_DIF(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG2_LOOPCTRL_TOGGLE_DIF_SHIFT)) & DCDC_REG2_LOOPCTRL_TOGGLE_DIF_MASK)
  24304. /*! @} */
  24305. /*! @name REG3 - DCDC Register 3 */
  24306. /*! @{ */
  24307. #define DCDC_REG3_IN_BROWNOUT_MASK (0x4000U)
  24308. #define DCDC_REG3_IN_BROWNOUT_SHIFT (14U)
  24309. /*! IN_BROWNOUT
  24310. * 0b1..DCDC_IN is lower than 2.6V
  24311. */
  24312. #define DCDC_REG3_IN_BROWNOUT(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG3_IN_BROWNOUT_SHIFT)) & DCDC_REG3_IN_BROWNOUT_MASK)
  24313. #define DCDC_REG3_OVERVOLT_VDD1P8_DET_OUT_MASK (0x8000U)
  24314. #define DCDC_REG3_OVERVOLT_VDD1P8_DET_OUT_SHIFT (15U)
  24315. /*! OVERVOLT_VDD1P8_DET_OUT
  24316. * 0b1..VDD1P8 Overvoltage
  24317. */
  24318. #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)
  24319. #define DCDC_REG3_OVERVOLT_VDD1P0_DET_OUT_MASK (0x10000U)
  24320. #define DCDC_REG3_OVERVOLT_VDD1P0_DET_OUT_SHIFT (16U)
  24321. /*! OVERVOLT_VDD1P0_DET_OUT
  24322. * 0b1..VDD1P0 Overvoltage
  24323. */
  24324. #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)
  24325. #define DCDC_REG3_OVERCUR_DETECT_OUT_MASK (0x20000U)
  24326. #define DCDC_REG3_OVERCUR_DETECT_OUT_SHIFT (17U)
  24327. /*! OVERCUR_DETECT_OUT
  24328. * 0b1..Overcurrent
  24329. */
  24330. #define DCDC_REG3_OVERCUR_DETECT_OUT(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG3_OVERCUR_DETECT_OUT_SHIFT)) & DCDC_REG3_OVERCUR_DETECT_OUT_MASK)
  24331. #define DCDC_REG3_ENABLE_FF_MASK (0x40000U)
  24332. #define DCDC_REG3_ENABLE_FF_SHIFT (18U)
  24333. /*! ENABLE_FF
  24334. * 0b1..Enable feed-forward (FF) function that can speed up transient settling.
  24335. */
  24336. #define DCDC_REG3_ENABLE_FF(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG3_ENABLE_FF_SHIFT)) & DCDC_REG3_ENABLE_FF_MASK)
  24337. #define DCDC_REG3_DISABLE_PULSE_SKIP_MASK (0x80000U)
  24338. #define DCDC_REG3_DISABLE_PULSE_SKIP_SHIFT (19U)
  24339. /*! DISABLE_PULSE_SKIP - Disable Pulse Skip
  24340. * 0b0..Stop charging if the duty cycle is lower than what is set by NEGLIMIT_IN
  24341. */
  24342. #define DCDC_REG3_DISABLE_PULSE_SKIP(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG3_DISABLE_PULSE_SKIP_SHIFT)) & DCDC_REG3_DISABLE_PULSE_SKIP_MASK)
  24343. #define DCDC_REG3_DISABLE_IDLE_SKIP_MASK (0x100000U)
  24344. #define DCDC_REG3_DISABLE_IDLE_SKIP_SHIFT (20U)
  24345. /*! DISABLE_IDLE_SKIP
  24346. * 0b0..Enable the idle skip function. The DCDC will be idle when out-of-range comparator detects the output
  24347. * voltage is higher than the target by 25mV. This function requires the out-of-range comparator to be enabled
  24348. * (PWD_CMP_OFFSET=0).
  24349. */
  24350. #define DCDC_REG3_DISABLE_IDLE_SKIP(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG3_DISABLE_IDLE_SKIP_SHIFT)) & DCDC_REG3_DISABLE_IDLE_SKIP_MASK)
  24351. #define DCDC_REG3_DOUBLE_IBIAS_CMP_LP_LPSR_MASK (0x200000U)
  24352. #define DCDC_REG3_DOUBLE_IBIAS_CMP_LP_LPSR_SHIFT (21U)
  24353. /*! DOUBLE_IBIAS_CMP_LP_LPSR
  24354. * 0b1..Double the bias current of the comparator for low-voltage detector in LP (low-power) mode
  24355. */
  24356. #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)
  24357. #define DCDC_REG3_REG_FBK_SEL_MASK (0xC00000U)
  24358. #define DCDC_REG3_REG_FBK_SEL_SHIFT (22U)
  24359. #define DCDC_REG3_REG_FBK_SEL(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG3_REG_FBK_SEL_SHIFT)) & DCDC_REG3_REG_FBK_SEL_MASK)
  24360. #define DCDC_REG3_MINPWR_DC_HALFCLK_MASK (0x1000000U)
  24361. #define DCDC_REG3_MINPWR_DC_HALFCLK_SHIFT (24U)
  24362. /*! MINPWR_DC_HALFCLK
  24363. * 0b0..DCDC clock remains at full frequency for continuous mode
  24364. * 0b1..DCDC clock set to half frequency for continuous mode
  24365. */
  24366. #define DCDC_REG3_MINPWR_DC_HALFCLK(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG3_MINPWR_DC_HALFCLK_SHIFT)) & DCDC_REG3_MINPWR_DC_HALFCLK_MASK)
  24367. #define DCDC_REG3_MINPWR_HALF_FETS_MASK (0x4000000U)
  24368. #define DCDC_REG3_MINPWR_HALF_FETS_SHIFT (26U)
  24369. #define DCDC_REG3_MINPWR_HALF_FETS(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG3_MINPWR_HALF_FETS_SHIFT)) & DCDC_REG3_MINPWR_HALF_FETS_MASK)
  24370. #define DCDC_REG3_MISC_DELAY_TIMING_MASK (0x8000000U)
  24371. #define DCDC_REG3_MISC_DELAY_TIMING_SHIFT (27U)
  24372. /*! MISC_DELAY_TIMING - Miscellaneous Delay Timing
  24373. */
  24374. #define DCDC_REG3_MISC_DELAY_TIMING(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG3_MISC_DELAY_TIMING_SHIFT)) & DCDC_REG3_MISC_DELAY_TIMING_MASK)
  24375. #define DCDC_REG3_VDD1P0CTRL_DISABLE_STEP_MASK (0x20000000U)
  24376. #define DCDC_REG3_VDD1P0CTRL_DISABLE_STEP_SHIFT (29U)
  24377. /*! VDD1P0CTRL_DISABLE_STEP - Disable Step for VDD1P0
  24378. * 0b0..Enable stepping for VDD1P0
  24379. * 0b1..Disable stepping for VDD1P0
  24380. */
  24381. #define DCDC_REG3_VDD1P0CTRL_DISABLE_STEP(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG3_VDD1P0CTRL_DISABLE_STEP_SHIFT)) & DCDC_REG3_VDD1P0CTRL_DISABLE_STEP_MASK)
  24382. #define DCDC_REG3_VDD1P8CTRL_DISABLE_STEP_MASK (0x40000000U)
  24383. #define DCDC_REG3_VDD1P8CTRL_DISABLE_STEP_SHIFT (30U)
  24384. /*! VDD1P8CTRL_DISABLE_STEP - Disable Step for VDD1P8
  24385. * 0b0..Enable stepping for VDD1P8
  24386. * 0b1..Disable stepping for VDD1P8
  24387. */
  24388. #define DCDC_REG3_VDD1P8CTRL_DISABLE_STEP(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG3_VDD1P8CTRL_DISABLE_STEP_SHIFT)) & DCDC_REG3_VDD1P8CTRL_DISABLE_STEP_MASK)
  24389. /*! @} */
  24390. /*! @name REG4 - DCDC Register 4 */
  24391. /*! @{ */
  24392. #define DCDC_REG4_ENABLE_SP_MASK (0xFFFFU)
  24393. #define DCDC_REG4_ENABLE_SP_SHIFT (0U)
  24394. #define DCDC_REG4_ENABLE_SP(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG4_ENABLE_SP_SHIFT)) & DCDC_REG4_ENABLE_SP_MASK)
  24395. /*! @} */
  24396. /*! @name REG5 - DCDC Register 5 */
  24397. /*! @{ */
  24398. #define DCDC_REG5_DIG_EN_SP_MASK (0xFFFFU)
  24399. #define DCDC_REG5_DIG_EN_SP_SHIFT (0U)
  24400. #define DCDC_REG5_DIG_EN_SP(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG5_DIG_EN_SP_SHIFT)) & DCDC_REG5_DIG_EN_SP_MASK)
  24401. /*! @} */
  24402. /*! @name REG6 - DCDC Register 6 */
  24403. /*! @{ */
  24404. #define DCDC_REG6_LP_MODE_SP_MASK (0xFFFFU)
  24405. #define DCDC_REG6_LP_MODE_SP_SHIFT (0U)
  24406. #define DCDC_REG6_LP_MODE_SP(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG6_LP_MODE_SP_SHIFT)) & DCDC_REG6_LP_MODE_SP_MASK)
  24407. /*! @} */
  24408. /*! @name REG7 - DCDC Register 7 */
  24409. /*! @{ */
  24410. #define DCDC_REG7_STBY_EN_SP_MASK (0xFFFFU)
  24411. #define DCDC_REG7_STBY_EN_SP_SHIFT (0U)
  24412. #define DCDC_REG7_STBY_EN_SP(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG7_STBY_EN_SP_SHIFT)) & DCDC_REG7_STBY_EN_SP_MASK)
  24413. /*! @} */
  24414. /*! @name REG7P - DCDC Register 7 plus */
  24415. /*! @{ */
  24416. #define DCDC_REG7P_STBY_LP_MODE_SP_MASK (0xFFFFU)
  24417. #define DCDC_REG7P_STBY_LP_MODE_SP_SHIFT (0U)
  24418. #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)
  24419. /*! @} */
  24420. /*! @name REG8 - DCDC Register 8 */
  24421. /*! @{ */
  24422. #define DCDC_REG8_ANA_TRG_SP0_MASK (0xFFFFFFFFU)
  24423. #define DCDC_REG8_ANA_TRG_SP0_SHIFT (0U)
  24424. #define DCDC_REG8_ANA_TRG_SP0(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG8_ANA_TRG_SP0_SHIFT)) & DCDC_REG8_ANA_TRG_SP0_MASK)
  24425. /*! @} */
  24426. /*! @name REG9 - DCDC Register 9 */
  24427. /*! @{ */
  24428. #define DCDC_REG9_ANA_TRG_SP1_MASK (0xFFFFFFFFU)
  24429. #define DCDC_REG9_ANA_TRG_SP1_SHIFT (0U)
  24430. #define DCDC_REG9_ANA_TRG_SP1(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG9_ANA_TRG_SP1_SHIFT)) & DCDC_REG9_ANA_TRG_SP1_MASK)
  24431. /*! @} */
  24432. /*! @name REG10 - DCDC Register 10 */
  24433. /*! @{ */
  24434. #define DCDC_REG10_ANA_TRG_SP2_MASK (0xFFFFFFFFU)
  24435. #define DCDC_REG10_ANA_TRG_SP2_SHIFT (0U)
  24436. #define DCDC_REG10_ANA_TRG_SP2(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG10_ANA_TRG_SP2_SHIFT)) & DCDC_REG10_ANA_TRG_SP2_MASK)
  24437. /*! @} */
  24438. /*! @name REG11 - DCDC Register 11 */
  24439. /*! @{ */
  24440. #define DCDC_REG11_ANA_TRG_SP3_MASK (0xFFFFFFFFU)
  24441. #define DCDC_REG11_ANA_TRG_SP3_SHIFT (0U)
  24442. #define DCDC_REG11_ANA_TRG_SP3(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG11_ANA_TRG_SP3_SHIFT)) & DCDC_REG11_ANA_TRG_SP3_MASK)
  24443. /*! @} */
  24444. /*! @name REG12 - DCDC Register 12 */
  24445. /*! @{ */
  24446. #define DCDC_REG12_DIG_TRG_SP0_MASK (0xFFFFFFFFU)
  24447. #define DCDC_REG12_DIG_TRG_SP0_SHIFT (0U)
  24448. #define DCDC_REG12_DIG_TRG_SP0(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG12_DIG_TRG_SP0_SHIFT)) & DCDC_REG12_DIG_TRG_SP0_MASK)
  24449. /*! @} */
  24450. /*! @name REG13 - DCDC Register 13 */
  24451. /*! @{ */
  24452. #define DCDC_REG13_DIG_TRG_SP1_MASK (0xFFFFFFFFU)
  24453. #define DCDC_REG13_DIG_TRG_SP1_SHIFT (0U)
  24454. #define DCDC_REG13_DIG_TRG_SP1(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG13_DIG_TRG_SP1_SHIFT)) & DCDC_REG13_DIG_TRG_SP1_MASK)
  24455. /*! @} */
  24456. /*! @name REG14 - DCDC Register 14 */
  24457. /*! @{ */
  24458. #define DCDC_REG14_DIG_TRG_SP2_MASK (0xFFFFFFFFU)
  24459. #define DCDC_REG14_DIG_TRG_SP2_SHIFT (0U)
  24460. #define DCDC_REG14_DIG_TRG_SP2(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG14_DIG_TRG_SP2_SHIFT)) & DCDC_REG14_DIG_TRG_SP2_MASK)
  24461. /*! @} */
  24462. /*! @name REG15 - DCDC Register 15 */
  24463. /*! @{ */
  24464. #define DCDC_REG15_DIG_TRG_SP3_MASK (0xFFFFFFFFU)
  24465. #define DCDC_REG15_DIG_TRG_SP3_SHIFT (0U)
  24466. #define DCDC_REG15_DIG_TRG_SP3(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG15_DIG_TRG_SP3_SHIFT)) & DCDC_REG15_DIG_TRG_SP3_MASK)
  24467. /*! @} */
  24468. /*! @name REG16 - DCDC Register 16 */
  24469. /*! @{ */
  24470. #define DCDC_REG16_ANA_STBY_TRG_SP0_MASK (0xFFFFFFFFU)
  24471. #define DCDC_REG16_ANA_STBY_TRG_SP0_SHIFT (0U)
  24472. #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)
  24473. /*! @} */
  24474. /*! @name REG17 - DCDC Register 17 */
  24475. /*! @{ */
  24476. #define DCDC_REG17_ANA_STBY_TRG_SP1_MASK (0xFFFFFFFFU)
  24477. #define DCDC_REG17_ANA_STBY_TRG_SP1_SHIFT (0U)
  24478. #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)
  24479. /*! @} */
  24480. /*! @name REG18 - DCDC Register 18 */
  24481. /*! @{ */
  24482. #define DCDC_REG18_ANA_STBY_TRG_SP2_MASK (0xFFFFFFFFU)
  24483. #define DCDC_REG18_ANA_STBY_TRG_SP2_SHIFT (0U)
  24484. #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)
  24485. /*! @} */
  24486. /*! @name REG19 - DCDC Register 19 */
  24487. /*! @{ */
  24488. #define DCDC_REG19_ANA_STBY_TRG_SP3_MASK (0xFFFFFFFFU)
  24489. #define DCDC_REG19_ANA_STBY_TRG_SP3_SHIFT (0U)
  24490. #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)
  24491. /*! @} */
  24492. /*! @name REG20 - DCDC Register 20 */
  24493. /*! @{ */
  24494. #define DCDC_REG20_DIG_STBY_TRG_SP0_MASK (0xFFFFFFFFU)
  24495. #define DCDC_REG20_DIG_STBY_TRG_SP0_SHIFT (0U)
  24496. #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)
  24497. /*! @} */
  24498. /*! @name REG21 - DCDC Register 21 */
  24499. /*! @{ */
  24500. #define DCDC_REG21_DIG_STBY_TRG_SP1_MASK (0xFFFFFFFFU)
  24501. #define DCDC_REG21_DIG_STBY_TRG_SP1_SHIFT (0U)
  24502. #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)
  24503. /*! @} */
  24504. /*! @name REG22 - DCDC Register 22 */
  24505. /*! @{ */
  24506. #define DCDC_REG22_DIG_STBY_TRG_SP2_MASK (0xFFFFFFFFU)
  24507. #define DCDC_REG22_DIG_STBY_TRG_SP2_SHIFT (0U)
  24508. #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)
  24509. /*! @} */
  24510. /*! @name REG23 - DCDC Register 23 */
  24511. /*! @{ */
  24512. #define DCDC_REG23_DIG_STBY_TRG_SP3_MASK (0xFFFFFFFFU)
  24513. #define DCDC_REG23_DIG_STBY_TRG_SP3_SHIFT (0U)
  24514. #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)
  24515. /*! @} */
  24516. /*! @name REG24 - DCDC Register 24 */
  24517. /*! @{ */
  24518. #define DCDC_REG24_OK_COUNT_MASK (0xFFFFFFFFU)
  24519. #define DCDC_REG24_OK_COUNT_SHIFT (0U)
  24520. #define DCDC_REG24_OK_COUNT(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG24_OK_COUNT_SHIFT)) & DCDC_REG24_OK_COUNT_MASK)
  24521. /*! @} */
  24522. /*!
  24523. * @}
  24524. */ /* end of group DCDC_Register_Masks */
  24525. /* DCDC - Peripheral instance base addresses */
  24526. /** Peripheral DCDC base address */
  24527. #define DCDC_BASE (0x40CA8000u)
  24528. /** Peripheral DCDC base pointer */
  24529. #define DCDC ((DCDC_Type *)DCDC_BASE)
  24530. /** Array initializer of DCDC peripheral base addresses */
  24531. #define DCDC_BASE_ADDRS { DCDC_BASE }
  24532. /** Array initializer of DCDC peripheral base pointers */
  24533. #define DCDC_BASE_PTRS { DCDC }
  24534. /*!
  24535. * @}
  24536. */ /* end of group DCDC_Peripheral_Access_Layer */
  24537. /* ----------------------------------------------------------------------------
  24538. -- DCIC Peripheral Access Layer
  24539. ---------------------------------------------------------------------------- */
  24540. /*!
  24541. * @addtogroup DCIC_Peripheral_Access_Layer DCIC Peripheral Access Layer
  24542. * @{
  24543. */
  24544. /** DCIC - Register Layout Typedef */
  24545. typedef struct {
  24546. __IO uint32_t DCICC; /**< DCIC Control Register, offset: 0x0 */
  24547. __IO uint32_t DCICIC; /**< DCIC Interrupt Control Register, offset: 0x4 */
  24548. __IO uint32_t DCICS; /**< DCIC Status Register, offset: 0x8 */
  24549. uint8_t RESERVED_0[4];
  24550. struct { /* offset: 0x10, array step: 0x10 */
  24551. __IO uint32_t DCICRC; /**< DCIC ROI Config Register, array offset: 0x10, array step: 0x10 */
  24552. __IO uint32_t DCICRS; /**< DCIC ROI Size Register, array offset: 0x14, array step: 0x10 */
  24553. __IO uint32_t DCICRRS; /**< DCIC ROI Reference Signature Register, array offset: 0x18, array step: 0x10 */
  24554. __I uint32_t DCICRCS; /**< DCIC ROI Calculated Signature Register, array offset: 0x1C, array step: 0x10 */
  24555. } REGION[16];
  24556. } DCIC_Type;
  24557. /* ----------------------------------------------------------------------------
  24558. -- DCIC Register Masks
  24559. ---------------------------------------------------------------------------- */
  24560. /*!
  24561. * @addtogroup DCIC_Register_Masks DCIC Register Masks
  24562. * @{
  24563. */
  24564. /*! @name DCICC - DCIC Control Register */
  24565. /*! @{ */
  24566. #define DCIC_DCICC_IC_EN_MASK (0x1U)
  24567. #define DCIC_DCICC_IC_EN_SHIFT (0U)
  24568. /*! IC_EN
  24569. * 0b0..Disabled
  24570. * 0b1..Enabled
  24571. */
  24572. #define DCIC_DCICC_IC_EN(x) (((uint32_t)(((uint32_t)(x)) << DCIC_DCICC_IC_EN_SHIFT)) & DCIC_DCICC_IC_EN_MASK)
  24573. #define DCIC_DCICC_DE_POL_MASK (0x10U)
  24574. #define DCIC_DCICC_DE_POL_SHIFT (4U)
  24575. /*! DE_POL
  24576. * 0b0..Active High.
  24577. * 0b1..Active Low.
  24578. */
  24579. #define DCIC_DCICC_DE_POL(x) (((uint32_t)(((uint32_t)(x)) << DCIC_DCICC_DE_POL_SHIFT)) & DCIC_DCICC_DE_POL_MASK)
  24580. #define DCIC_DCICC_HSYNC_POL_MASK (0x20U)
  24581. #define DCIC_DCICC_HSYNC_POL_SHIFT (5U)
  24582. /*! HSYNC_POL
  24583. * 0b0..Active High.
  24584. * 0b1..Active Low.
  24585. */
  24586. #define DCIC_DCICC_HSYNC_POL(x) (((uint32_t)(((uint32_t)(x)) << DCIC_DCICC_HSYNC_POL_SHIFT)) & DCIC_DCICC_HSYNC_POL_MASK)
  24587. #define DCIC_DCICC_VSYNC_POL_MASK (0x40U)
  24588. #define DCIC_DCICC_VSYNC_POL_SHIFT (6U)
  24589. /*! VSYNC_POL
  24590. * 0b0..Active High.
  24591. * 0b1..Active Low.
  24592. */
  24593. #define DCIC_DCICC_VSYNC_POL(x) (((uint32_t)(((uint32_t)(x)) << DCIC_DCICC_VSYNC_POL_SHIFT)) & DCIC_DCICC_VSYNC_POL_MASK)
  24594. #define DCIC_DCICC_CLK_POL_MASK (0x80U)
  24595. #define DCIC_DCICC_CLK_POL_SHIFT (7U)
  24596. /*! CLK_POL
  24597. * 0b0..Not inverted (default).
  24598. * 0b1..Inverted.
  24599. */
  24600. #define DCIC_DCICC_CLK_POL(x) (((uint32_t)(((uint32_t)(x)) << DCIC_DCICC_CLK_POL_SHIFT)) & DCIC_DCICC_CLK_POL_MASK)
  24601. /*! @} */
  24602. /*! @name DCICIC - DCIC Interrupt Control Register */
  24603. /*! @{ */
  24604. #define DCIC_DCICIC_EI_MASK_MASK (0x1U)
  24605. #define DCIC_DCICIC_EI_MASK_SHIFT (0U)
  24606. /*! EI_MASK
  24607. * 0b0..Mask disabled - Interrupt assertion enabled
  24608. * 0b1..Mask enabled - Interrupt assertion disabled
  24609. */
  24610. #define DCIC_DCICIC_EI_MASK(x) (((uint32_t)(((uint32_t)(x)) << DCIC_DCICIC_EI_MASK_SHIFT)) & DCIC_DCICIC_EI_MASK_MASK)
  24611. #define DCIC_DCICIC_FI_MASK_MASK (0x2U)
  24612. #define DCIC_DCICIC_FI_MASK_SHIFT (1U)
  24613. /*! FI_MASK
  24614. * 0b0..Mask disabled - Interrupt assertion enabled
  24615. * 0b1..Mask enabled - Interrupt assertion disabled
  24616. */
  24617. #define DCIC_DCICIC_FI_MASK(x) (((uint32_t)(((uint32_t)(x)) << DCIC_DCICIC_FI_MASK_SHIFT)) & DCIC_DCICIC_FI_MASK_MASK)
  24618. #define DCIC_DCICIC_FREEZE_MASK_MASK (0x8U)
  24619. #define DCIC_DCICIC_FREEZE_MASK_SHIFT (3U)
  24620. /*! FREEZE_MASK
  24621. * 0b0..Masks change allowed
  24622. * 0b1..Masks are frozen
  24623. */
  24624. #define DCIC_DCICIC_FREEZE_MASK(x) (((uint32_t)(((uint32_t)(x)) << DCIC_DCICIC_FREEZE_MASK_SHIFT)) & DCIC_DCICIC_FREEZE_MASK_MASK)
  24625. #define DCIC_DCICIC_EXT_SIG_EN_MASK (0x10000U)
  24626. #define DCIC_DCICIC_EXT_SIG_EN_SHIFT (16U)
  24627. /*! EXT_SIG_EN
  24628. * 0b0..Disabled
  24629. * 0b1..Enabled
  24630. */
  24631. #define DCIC_DCICIC_EXT_SIG_EN(x) (((uint32_t)(((uint32_t)(x)) << DCIC_DCICIC_EXT_SIG_EN_SHIFT)) & DCIC_DCICIC_EXT_SIG_EN_MASK)
  24632. /*! @} */
  24633. /*! @name DCICS - DCIC Status Register */
  24634. /*! @{ */
  24635. #define DCIC_DCICS_ROI_MATCH_STAT_MASK (0xFFFFU)
  24636. #define DCIC_DCICS_ROI_MATCH_STAT_SHIFT (0U)
  24637. /*! ROI_MATCH_STAT
  24638. * 0b0000000000000000..ROI calculated CRC matches expected signature
  24639. * 0b0000000000000001..Mismatch at ROI calculated CRC
  24640. */
  24641. #define DCIC_DCICS_ROI_MATCH_STAT(x) (((uint32_t)(((uint32_t)(x)) << DCIC_DCICS_ROI_MATCH_STAT_SHIFT)) & DCIC_DCICS_ROI_MATCH_STAT_MASK)
  24642. #define DCIC_DCICS_EI_STAT_MASK (0x10000U)
  24643. #define DCIC_DCICS_EI_STAT_SHIFT (16U)
  24644. /*! EI_STAT
  24645. * 0b0..No pending Interrupt
  24646. * 0b1..Pending Interrupt
  24647. */
  24648. #define DCIC_DCICS_EI_STAT(x) (((uint32_t)(((uint32_t)(x)) << DCIC_DCICS_EI_STAT_SHIFT)) & DCIC_DCICS_EI_STAT_MASK)
  24649. #define DCIC_DCICS_FI_STAT_MASK (0x20000U)
  24650. #define DCIC_DCICS_FI_STAT_SHIFT (17U)
  24651. /*! FI_STAT
  24652. * 0b0..No pending Interrupt
  24653. * 0b1..Pending Interrupt
  24654. */
  24655. #define DCIC_DCICS_FI_STAT(x) (((uint32_t)(((uint32_t)(x)) << DCIC_DCICS_FI_STAT_SHIFT)) & DCIC_DCICS_FI_STAT_MASK)
  24656. /*! @} */
  24657. /*! @name DCICRC - DCIC ROI Config Register */
  24658. /*! @{ */
  24659. #define DCIC_DCICRC_START_OFFSET_X_MASK (0x1FFFU)
  24660. #define DCIC_DCICRC_START_OFFSET_X_SHIFT (0U)
  24661. #define DCIC_DCICRC_START_OFFSET_X(x) (((uint32_t)(((uint32_t)(x)) << DCIC_DCICRC_START_OFFSET_X_SHIFT)) & DCIC_DCICRC_START_OFFSET_X_MASK)
  24662. #define DCIC_DCICRC_START_OFFSET_Y_MASK (0xFFF0000U)
  24663. #define DCIC_DCICRC_START_OFFSET_Y_SHIFT (16U)
  24664. #define DCIC_DCICRC_START_OFFSET_Y(x) (((uint32_t)(((uint32_t)(x)) << DCIC_DCICRC_START_OFFSET_Y_SHIFT)) & DCIC_DCICRC_START_OFFSET_Y_MASK)
  24665. #define DCIC_DCICRC_ROI_FREEZE_MASK (0x40000000U)
  24666. #define DCIC_DCICRC_ROI_FREEZE_SHIFT (30U)
  24667. /*! ROI_FREEZE
  24668. * 0b0..ROI configuration can be changed
  24669. * 0b1..ROI configuration is frozen
  24670. */
  24671. #define DCIC_DCICRC_ROI_FREEZE(x) (((uint32_t)(((uint32_t)(x)) << DCIC_DCICRC_ROI_FREEZE_SHIFT)) & DCIC_DCICRC_ROI_FREEZE_MASK)
  24672. #define DCIC_DCICRC_ROI_EN_MASK (0x80000000U)
  24673. #define DCIC_DCICRC_ROI_EN_SHIFT (31U)
  24674. /*! ROI_EN
  24675. * 0b0..Disabled
  24676. * 0b1..Enabled
  24677. */
  24678. #define DCIC_DCICRC_ROI_EN(x) (((uint32_t)(((uint32_t)(x)) << DCIC_DCICRC_ROI_EN_SHIFT)) & DCIC_DCICRC_ROI_EN_MASK)
  24679. /*! @} */
  24680. /* The count of DCIC_DCICRC */
  24681. #define DCIC_DCICRC_COUNT (16U)
  24682. /*! @name DCICRS - DCIC ROI Size Register */
  24683. /*! @{ */
  24684. #define DCIC_DCICRS_END_OFFSET_X_MASK (0x1FFFU)
  24685. #define DCIC_DCICRS_END_OFFSET_X_SHIFT (0U)
  24686. #define DCIC_DCICRS_END_OFFSET_X(x) (((uint32_t)(((uint32_t)(x)) << DCIC_DCICRS_END_OFFSET_X_SHIFT)) & DCIC_DCICRS_END_OFFSET_X_MASK)
  24687. #define DCIC_DCICRS_END_OFFSET_Y_MASK (0xFFF0000U)
  24688. #define DCIC_DCICRS_END_OFFSET_Y_SHIFT (16U)
  24689. #define DCIC_DCICRS_END_OFFSET_Y(x) (((uint32_t)(((uint32_t)(x)) << DCIC_DCICRS_END_OFFSET_Y_SHIFT)) & DCIC_DCICRS_END_OFFSET_Y_MASK)
  24690. /*! @} */
  24691. /* The count of DCIC_DCICRS */
  24692. #define DCIC_DCICRS_COUNT (16U)
  24693. /*! @name DCICRRS - DCIC ROI Reference Signature Register */
  24694. /*! @{ */
  24695. #define DCIC_DCICRRS_REFERENCE_SIGNATURE_MASK (0xFFFFFFFFU)
  24696. #define DCIC_DCICRRS_REFERENCE_SIGNATURE_SHIFT (0U)
  24697. #define DCIC_DCICRRS_REFERENCE_SIGNATURE(x) (((uint32_t)(((uint32_t)(x)) << DCIC_DCICRRS_REFERENCE_SIGNATURE_SHIFT)) & DCIC_DCICRRS_REFERENCE_SIGNATURE_MASK)
  24698. /*! @} */
  24699. /* The count of DCIC_DCICRRS */
  24700. #define DCIC_DCICRRS_COUNT (16U)
  24701. /*! @name DCICRCS - DCIC ROI Calculated Signature Register */
  24702. /*! @{ */
  24703. #define DCIC_DCICRCS_CALCULATED_SIGNATURE_MASK (0xFFFFFFFFU)
  24704. #define DCIC_DCICRCS_CALCULATED_SIGNATURE_SHIFT (0U)
  24705. #define DCIC_DCICRCS_CALCULATED_SIGNATURE(x) (((uint32_t)(((uint32_t)(x)) << DCIC_DCICRCS_CALCULATED_SIGNATURE_SHIFT)) & DCIC_DCICRCS_CALCULATED_SIGNATURE_MASK)
  24706. /*! @} */
  24707. /* The count of DCIC_DCICRCS */
  24708. #define DCIC_DCICRCS_COUNT (16U)
  24709. /*!
  24710. * @}
  24711. */ /* end of group DCIC_Register_Masks */
  24712. /* DCIC - Peripheral instance base addresses */
  24713. /** Peripheral DCIC1 base address */
  24714. #define DCIC1_BASE (0x40819000u)
  24715. /** Peripheral DCIC1 base pointer */
  24716. #define DCIC1 ((DCIC_Type *)DCIC1_BASE)
  24717. /** Peripheral DCIC2 base address */
  24718. #define DCIC2_BASE (0x4081A000u)
  24719. /** Peripheral DCIC2 base pointer */
  24720. #define DCIC2 ((DCIC_Type *)DCIC2_BASE)
  24721. /** Array initializer of DCIC peripheral base addresses */
  24722. #define DCIC_BASE_ADDRS { 0u, DCIC1_BASE, DCIC2_BASE }
  24723. /** Array initializer of DCIC peripheral base pointers */
  24724. #define DCIC_BASE_PTRS { (DCIC_Type *)0u, DCIC1, DCIC2 }
  24725. /*!
  24726. * @}
  24727. */ /* end of group DCIC_Peripheral_Access_Layer */
  24728. /* ----------------------------------------------------------------------------
  24729. -- DMA Peripheral Access Layer
  24730. ---------------------------------------------------------------------------- */
  24731. /*!
  24732. * @addtogroup DMA_Peripheral_Access_Layer DMA Peripheral Access Layer
  24733. * @{
  24734. */
  24735. /** DMA - Register Layout Typedef */
  24736. typedef struct {
  24737. __IO uint32_t CR; /**< Control, offset: 0x0 */
  24738. __I uint32_t ES; /**< Error Status, offset: 0x4 */
  24739. uint8_t RESERVED_0[4];
  24740. __IO uint32_t ERQ; /**< Enable Request, offset: 0xC */
  24741. uint8_t RESERVED_1[4];
  24742. __IO uint32_t EEI; /**< Enable Error Interrupt, offset: 0x14 */
  24743. __O uint8_t CEEI; /**< Clear Enable Error Interrupt, offset: 0x18 */
  24744. __O uint8_t SEEI; /**< Set Enable Error Interrupt, offset: 0x19 */
  24745. __O uint8_t CERQ; /**< Clear Enable Request, offset: 0x1A */
  24746. __O uint8_t SERQ; /**< Set Enable Request, offset: 0x1B */
  24747. __O uint8_t CDNE; /**< Clear DONE Status Bit, offset: 0x1C */
  24748. __O uint8_t SSRT; /**< Set START Bit, offset: 0x1D */
  24749. __O uint8_t CERR; /**< Clear Error, offset: 0x1E */
  24750. __O uint8_t CINT; /**< Clear Interrupt Request, offset: 0x1F */
  24751. uint8_t RESERVED_2[4];
  24752. __IO uint32_t INT; /**< Interrupt Request, offset: 0x24 */
  24753. uint8_t RESERVED_3[4];
  24754. __IO uint32_t ERR; /**< Error, offset: 0x2C */
  24755. uint8_t RESERVED_4[4];
  24756. __I uint32_t HRS; /**< Hardware Request Status, offset: 0x34 */
  24757. uint8_t RESERVED_5[12];
  24758. __IO uint32_t EARS; /**< Enable Asynchronous Request in Stop, offset: 0x44 */
  24759. uint8_t RESERVED_6[184];
  24760. __IO uint8_t DCHPRI3; /**< Channel Priority, offset: 0x100 */
  24761. __IO uint8_t DCHPRI2; /**< Channel Priority, offset: 0x101 */
  24762. __IO uint8_t DCHPRI1; /**< Channel Priority, offset: 0x102 */
  24763. __IO uint8_t DCHPRI0; /**< Channel Priority, offset: 0x103 */
  24764. __IO uint8_t DCHPRI7; /**< Channel Priority, offset: 0x104 */
  24765. __IO uint8_t DCHPRI6; /**< Channel Priority, offset: 0x105 */
  24766. __IO uint8_t DCHPRI5; /**< Channel Priority, offset: 0x106 */
  24767. __IO uint8_t DCHPRI4; /**< Channel Priority, offset: 0x107 */
  24768. __IO uint8_t DCHPRI11; /**< Channel Priority, offset: 0x108 */
  24769. __IO uint8_t DCHPRI10; /**< Channel Priority, offset: 0x109 */
  24770. __IO uint8_t DCHPRI9; /**< Channel Priority, offset: 0x10A */
  24771. __IO uint8_t DCHPRI8; /**< Channel Priority, offset: 0x10B */
  24772. __IO uint8_t DCHPRI15; /**< Channel Priority, offset: 0x10C */
  24773. __IO uint8_t DCHPRI14; /**< Channel Priority, offset: 0x10D */
  24774. __IO uint8_t DCHPRI13; /**< Channel Priority, offset: 0x10E */
  24775. __IO uint8_t DCHPRI12; /**< Channel Priority, offset: 0x10F */
  24776. __IO uint8_t DCHPRI19; /**< Channel Priority, offset: 0x110 */
  24777. __IO uint8_t DCHPRI18; /**< Channel Priority, offset: 0x111 */
  24778. __IO uint8_t DCHPRI17; /**< Channel Priority, offset: 0x112 */
  24779. __IO uint8_t DCHPRI16; /**< Channel Priority, offset: 0x113 */
  24780. __IO uint8_t DCHPRI23; /**< Channel Priority, offset: 0x114 */
  24781. __IO uint8_t DCHPRI22; /**< Channel Priority, offset: 0x115 */
  24782. __IO uint8_t DCHPRI21; /**< Channel Priority, offset: 0x116 */
  24783. __IO uint8_t DCHPRI20; /**< Channel Priority, offset: 0x117 */
  24784. __IO uint8_t DCHPRI27; /**< Channel Priority, offset: 0x118 */
  24785. __IO uint8_t DCHPRI26; /**< Channel Priority, offset: 0x119 */
  24786. __IO uint8_t DCHPRI25; /**< Channel Priority, offset: 0x11A */
  24787. __IO uint8_t DCHPRI24; /**< Channel Priority, offset: 0x11B */
  24788. __IO uint8_t DCHPRI31; /**< Channel Priority, offset: 0x11C */
  24789. __IO uint8_t DCHPRI30; /**< Channel Priority, offset: 0x11D */
  24790. __IO uint8_t DCHPRI29; /**< Channel Priority, offset: 0x11E */
  24791. __IO uint8_t DCHPRI28; /**< Channel Priority, offset: 0x11F */
  24792. uint8_t RESERVED_7[3808];
  24793. struct { /* offset: 0x1000, array step: 0x20 */
  24794. __IO uint32_t SADDR; /**< TCD Source Address, array offset: 0x1000, array step: 0x20 */
  24795. __IO uint16_t SOFF; /**< TCD Signed Source Address Offset, array offset: 0x1004, array step: 0x20 */
  24796. __IO uint16_t ATTR; /**< TCD Transfer Attributes, array offset: 0x1006, array step: 0x20 */
  24797. union { /* offset: 0x1008, array step: 0x20 */
  24798. __IO uint32_t NBYTES_MLNO; /**< TCD Minor Byte Count (Minor Loop Mapping Disabled), array offset: 0x1008, array step: 0x20 */
  24799. __IO uint32_t NBYTES_MLOFFNO; /**< TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled), array offset: 0x1008, array step: 0x20 */
  24800. __IO uint32_t NBYTES_MLOFFYES; /**< TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled), array offset: 0x1008, array step: 0x20 */
  24801. };
  24802. __IO int32_t SLAST; /**< TCD Last Source Address Adjustment, array offset: 0x100C, array step: 0x20 */
  24803. __IO uint32_t DADDR; /**< TCD Destination Address, array offset: 0x1010, array step: 0x20 */
  24804. __IO uint16_t DOFF; /**< TCD Signed Destination Address Offset, array offset: 0x1014, array step: 0x20 */
  24805. union { /* offset: 0x1016, array step: 0x20 */
  24806. __IO uint16_t CITER_ELINKNO; /**< TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled), array offset: 0x1016, array step: 0x20 */
  24807. __IO uint16_t CITER_ELINKYES; /**< TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled), array offset: 0x1016, array step: 0x20 */
  24808. };
  24809. __IO int32_t DLAST_SGA; /**< TCD Last Destination Address Adjustment/Scatter Gather Address, array offset: 0x1018, array step: 0x20 */
  24810. __IO uint16_t CSR; /**< TCD Control and Status, array offset: 0x101C, array step: 0x20 */
  24811. union { /* offset: 0x101E, array step: 0x20 */
  24812. __IO uint16_t BITER_ELINKNO; /**< TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled), array offset: 0x101E, array step: 0x20 */
  24813. __IO uint16_t BITER_ELINKYES; /**< TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled), array offset: 0x101E, array step: 0x20 */
  24814. };
  24815. } TCD[32];
  24816. } DMA_Type;
  24817. /* ----------------------------------------------------------------------------
  24818. -- DMA Register Masks
  24819. ---------------------------------------------------------------------------- */
  24820. /*!
  24821. * @addtogroup DMA_Register_Masks DMA Register Masks
  24822. * @{
  24823. */
  24824. /*! @name CR - Control */
  24825. /*! @{ */
  24826. #define DMA_CR_EDBG_MASK (0x2U)
  24827. #define DMA_CR_EDBG_SHIFT (1U)
  24828. /*! EDBG - Enable Debug
  24829. * 0b0..When the chip is in Debug mode, the eDMA continues to operate.
  24830. * 0b1..When the chip is in debug mode, the DMA stalls the start of a new channel. Executing channels are allowed to complete.
  24831. */
  24832. #define DMA_CR_EDBG(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_EDBG_SHIFT)) & DMA_CR_EDBG_MASK)
  24833. #define DMA_CR_ERCA_MASK (0x4U)
  24834. #define DMA_CR_ERCA_SHIFT (2U)
  24835. /*! ERCA - Enable Round Robin Channel Arbitration
  24836. * 0b0..Fixed priority arbitration within each group
  24837. * 0b1..Round robin arbitration within each group
  24838. */
  24839. #define DMA_CR_ERCA(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_ERCA_SHIFT)) & DMA_CR_ERCA_MASK)
  24840. #define DMA_CR_ERGA_MASK (0x8U)
  24841. #define DMA_CR_ERGA_SHIFT (3U)
  24842. /*! ERGA - Enable Round Robin Group Arbitration
  24843. * 0b0..Fixed priority arbitration
  24844. * 0b1..Round robin arbitration
  24845. */
  24846. #define DMA_CR_ERGA(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_ERGA_SHIFT)) & DMA_CR_ERGA_MASK)
  24847. #define DMA_CR_HOE_MASK (0x10U)
  24848. #define DMA_CR_HOE_SHIFT (4U)
  24849. /*! HOE - Halt On Error
  24850. * 0b0..Normal operation
  24851. * 0b1..Error causes HALT field to be automatically set to 1
  24852. */
  24853. #define DMA_CR_HOE(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_HOE_SHIFT)) & DMA_CR_HOE_MASK)
  24854. #define DMA_CR_HALT_MASK (0x20U)
  24855. #define DMA_CR_HALT_SHIFT (5U)
  24856. /*! HALT - Halt eDMA Operations
  24857. * 0b0..Normal operation
  24858. * 0b1..eDMA operations halted
  24859. */
  24860. #define DMA_CR_HALT(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_HALT_SHIFT)) & DMA_CR_HALT_MASK)
  24861. #define DMA_CR_CLM_MASK (0x40U)
  24862. #define DMA_CR_CLM_SHIFT (6U)
  24863. /*! CLM - Continuous Link Mode
  24864. * 0b0..Continuous link mode is off
  24865. * 0b1..Continuous link mode is on
  24866. */
  24867. #define DMA_CR_CLM(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_CLM_SHIFT)) & DMA_CR_CLM_MASK)
  24868. #define DMA_CR_EMLM_MASK (0x80U)
  24869. #define DMA_CR_EMLM_SHIFT (7U)
  24870. /*! EMLM - Enable Minor Loop Mapping
  24871. * 0b0..Disabled
  24872. * 0b1..Enabled
  24873. */
  24874. #define DMA_CR_EMLM(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_EMLM_SHIFT)) & DMA_CR_EMLM_MASK)
  24875. #define DMA_CR_GRP0PRI_MASK (0x100U)
  24876. #define DMA_CR_GRP0PRI_SHIFT (8U)
  24877. /*! GRP0PRI - Channel Group 0 Priority
  24878. */
  24879. #define DMA_CR_GRP0PRI(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_GRP0PRI_SHIFT)) & DMA_CR_GRP0PRI_MASK)
  24880. #define DMA_CR_GRP1PRI_MASK (0x400U)
  24881. #define DMA_CR_GRP1PRI_SHIFT (10U)
  24882. /*! GRP1PRI - Channel Group 1 Priority
  24883. */
  24884. #define DMA_CR_GRP1PRI(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_GRP1PRI_SHIFT)) & DMA_CR_GRP1PRI_MASK)
  24885. #define DMA_CR_ECX_MASK (0x10000U)
  24886. #define DMA_CR_ECX_SHIFT (16U)
  24887. /*! ECX - Error Cancel Transfer
  24888. * 0b0..Normal operation
  24889. * 0b1..Cancel the remaining data transfer
  24890. */
  24891. #define DMA_CR_ECX(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_ECX_SHIFT)) & DMA_CR_ECX_MASK)
  24892. #define DMA_CR_CX_MASK (0x20000U)
  24893. #define DMA_CR_CX_SHIFT (17U)
  24894. /*! CX - Cancel Transfer
  24895. * 0b0..Normal operation
  24896. * 0b1..Cancel the remaining data transfer
  24897. */
  24898. #define DMA_CR_CX(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_CX_SHIFT)) & DMA_CR_CX_MASK)
  24899. #define DMA_CR_VERSION_MASK (0x7F000000U)
  24900. #define DMA_CR_VERSION_SHIFT (24U)
  24901. /*! VERSION - eDMA version number
  24902. */
  24903. #define DMA_CR_VERSION(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_VERSION_SHIFT)) & DMA_CR_VERSION_MASK)
  24904. #define DMA_CR_ACTIVE_MASK (0x80000000U)
  24905. #define DMA_CR_ACTIVE_SHIFT (31U)
  24906. /*! ACTIVE - eDMA Active Status
  24907. * 0b0..eDMA is idle
  24908. * 0b1..eDMA is executing a channel
  24909. */
  24910. #define DMA_CR_ACTIVE(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_ACTIVE_SHIFT)) & DMA_CR_ACTIVE_MASK)
  24911. /*! @} */
  24912. /*! @name ES - Error Status */
  24913. /*! @{ */
  24914. #define DMA_ES_DBE_MASK (0x1U)
  24915. #define DMA_ES_DBE_SHIFT (0U)
  24916. /*! DBE - Destination Bus Error
  24917. * 0b0..No destination bus error.
  24918. * 0b1..The most-recently recorded error was a bus error on a destination write.
  24919. */
  24920. #define DMA_ES_DBE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_DBE_SHIFT)) & DMA_ES_DBE_MASK)
  24921. #define DMA_ES_SBE_MASK (0x2U)
  24922. #define DMA_ES_SBE_SHIFT (1U)
  24923. /*! SBE - Source Bus Error
  24924. * 0b0..No source bus error.
  24925. * 0b1..The most-recently recorded error was a bus error on a source read.
  24926. */
  24927. #define DMA_ES_SBE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_SBE_SHIFT)) & DMA_ES_SBE_MASK)
  24928. #define DMA_ES_SGE_MASK (0x4U)
  24929. #define DMA_ES_SGE_SHIFT (2U)
  24930. /*! SGE - Scatter/Gather Configuration Error
  24931. * 0b0..No scatter/gather configuration error.
  24932. * 0b1..The most-recently recorded error was a configuration error detected in the TCDn_DLASTSGA field.
  24933. */
  24934. #define DMA_ES_SGE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_SGE_SHIFT)) & DMA_ES_SGE_MASK)
  24935. #define DMA_ES_NCE_MASK (0x8U)
  24936. #define DMA_ES_NCE_SHIFT (3U)
  24937. /*! NCE - NBYTES/CITER Configuration Error
  24938. * 0b0..No NBYTES/CITER configuration error.
  24939. * 0b1..The most-recently recorded error was a configuration error detected in the TCDn_NBYTES or TCDn_CITER
  24940. * fields. TCDn_NBYTES is not a multiple of TCDn_ATTR[SSIZE] and TCDn_ATTR[DSIZE], or TCDn_CITER[CITER] = 0, or
  24941. * TCDn_CITER[ELINK] is not equal to TCDn_BITER[ELINK].
  24942. */
  24943. #define DMA_ES_NCE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_NCE_SHIFT)) & DMA_ES_NCE_MASK)
  24944. #define DMA_ES_DOE_MASK (0x10U)
  24945. #define DMA_ES_DOE_SHIFT (4U)
  24946. /*! DOE - Destination Offset Error
  24947. * 0b0..No destination offset configuration error.
  24948. * 0b1..The most-recently recorded error was a configuration error detected in the TCDn_DOFF field. TCDn_DOFF is inconsistent with TCDn_ATTR[DSIZE].
  24949. */
  24950. #define DMA_ES_DOE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_DOE_SHIFT)) & DMA_ES_DOE_MASK)
  24951. #define DMA_ES_DAE_MASK (0x20U)
  24952. #define DMA_ES_DAE_SHIFT (5U)
  24953. /*! DAE - Destination Address Error
  24954. * 0b0..No destination address configuration error.
  24955. * 0b1..The most-recently recorded error was a configuration error detected in the TCDn_DADDR field. TCDn_DADDR
  24956. * is inconsistent with TCDn_ATTR[DSIZE].
  24957. */
  24958. #define DMA_ES_DAE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_DAE_SHIFT)) & DMA_ES_DAE_MASK)
  24959. #define DMA_ES_SOE_MASK (0x40U)
  24960. #define DMA_ES_SOE_SHIFT (6U)
  24961. /*! SOE - Source Offset Error
  24962. * 0b0..No source offset configuration error.
  24963. * 0b1..The most-recently recorded error was a configuration error detected in the TCDn_SOFF field. TCDn_SOFF is inconsistent with TCDn_ATTR[SSIZE].
  24964. */
  24965. #define DMA_ES_SOE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_SOE_SHIFT)) & DMA_ES_SOE_MASK)
  24966. #define DMA_ES_SAE_MASK (0x80U)
  24967. #define DMA_ES_SAE_SHIFT (7U)
  24968. /*! SAE - Source Address Error
  24969. * 0b0..No source address configuration error.
  24970. * 0b1..The most-recently recorded error was a configuration error detected in the TCDn_SADDR field. TCDn_SADDR
  24971. * is inconsistent with TCDn_ATTR[SSIZE].
  24972. */
  24973. #define DMA_ES_SAE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_SAE_SHIFT)) & DMA_ES_SAE_MASK)
  24974. #define DMA_ES_ERRCHN_MASK (0x1F00U)
  24975. #define DMA_ES_ERRCHN_SHIFT (8U)
  24976. /*! ERRCHN - Error Channel Number or Canceled Channel Number
  24977. */
  24978. #define DMA_ES_ERRCHN(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_ERRCHN_SHIFT)) & DMA_ES_ERRCHN_MASK)
  24979. #define DMA_ES_CPE_MASK (0x4000U)
  24980. #define DMA_ES_CPE_SHIFT (14U)
  24981. /*! CPE - Channel Priority Error
  24982. * 0b0..No channel priority error.
  24983. * 0b1..The most-recently recorded error was a configuration error in the channel priorities within a group.
  24984. * Channel priorities within a group are not unique.
  24985. */
  24986. #define DMA_ES_CPE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_CPE_SHIFT)) & DMA_ES_CPE_MASK)
  24987. #define DMA_ES_GPE_MASK (0x8000U)
  24988. #define DMA_ES_GPE_SHIFT (15U)
  24989. /*! GPE - Group Priority Error
  24990. * 0b0..No group priority error.
  24991. * 0b1..The most-recently recorded error was a configuration error among the group priorities. All group priorities are not unique.
  24992. */
  24993. #define DMA_ES_GPE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_GPE_SHIFT)) & DMA_ES_GPE_MASK)
  24994. #define DMA_ES_ECX_MASK (0x10000U)
  24995. #define DMA_ES_ECX_SHIFT (16U)
  24996. /*! ECX - Transfer Canceled
  24997. * 0b0..No canceled transfers
  24998. * 0b1..The most-recently recorded entry was a canceled transfer initiated by the error cancel transfer field
  24999. */
  25000. #define DMA_ES_ECX(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_ECX_SHIFT)) & DMA_ES_ECX_MASK)
  25001. #define DMA_ES_VLD_MASK (0x80000000U)
  25002. #define DMA_ES_VLD_SHIFT (31U)
  25003. /*! VLD - Logical OR of all ERR status fields
  25004. * 0b0..No ERR fields are 1
  25005. * 0b1..At least one ERR field has a value of 1, indicating a valid error exists that has not been cleared
  25006. */
  25007. #define DMA_ES_VLD(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_VLD_SHIFT)) & DMA_ES_VLD_MASK)
  25008. /*! @} */
  25009. /*! @name ERQ - Enable Request */
  25010. /*! @{ */
  25011. #define DMA_ERQ_ERQ0_MASK (0x1U)
  25012. #define DMA_ERQ_ERQ0_SHIFT (0U)
  25013. /*! ERQ0 - Enable DMA Request 0
  25014. * 0b0..The DMA request signal for channel 0 is disabled
  25015. * 0b1..The DMA request signal for channel 0 is enabled
  25016. */
  25017. #define DMA_ERQ_ERQ0(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ0_SHIFT)) & DMA_ERQ_ERQ0_MASK)
  25018. #define DMA_ERQ_ERQ1_MASK (0x2U)
  25019. #define DMA_ERQ_ERQ1_SHIFT (1U)
  25020. /*! ERQ1 - Enable DMA Request 1
  25021. * 0b0..The DMA request signal for channel 1 is disabled
  25022. * 0b1..The DMA request signal for channel 1 is enabled
  25023. */
  25024. #define DMA_ERQ_ERQ1(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ1_SHIFT)) & DMA_ERQ_ERQ1_MASK)
  25025. #define DMA_ERQ_ERQ2_MASK (0x4U)
  25026. #define DMA_ERQ_ERQ2_SHIFT (2U)
  25027. /*! ERQ2 - Enable DMA Request 2
  25028. * 0b0..The DMA request signal for channel 2 is disabled
  25029. * 0b1..The DMA request signal for channel 2 is enabled
  25030. */
  25031. #define DMA_ERQ_ERQ2(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ2_SHIFT)) & DMA_ERQ_ERQ2_MASK)
  25032. #define DMA_ERQ_ERQ3_MASK (0x8U)
  25033. #define DMA_ERQ_ERQ3_SHIFT (3U)
  25034. /*! ERQ3 - Enable DMA Request 3
  25035. * 0b0..The DMA request signal for channel 3 is disabled
  25036. * 0b1..The DMA request signal for channel 3 is enabled
  25037. */
  25038. #define DMA_ERQ_ERQ3(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ3_SHIFT)) & DMA_ERQ_ERQ3_MASK)
  25039. #define DMA_ERQ_ERQ4_MASK (0x10U)
  25040. #define DMA_ERQ_ERQ4_SHIFT (4U)
  25041. /*! ERQ4 - Enable DMA Request 4
  25042. * 0b0..The DMA request signal for channel 4 is disabled
  25043. * 0b1..The DMA request signal for channel 4 is enabled
  25044. */
  25045. #define DMA_ERQ_ERQ4(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ4_SHIFT)) & DMA_ERQ_ERQ4_MASK)
  25046. #define DMA_ERQ_ERQ5_MASK (0x20U)
  25047. #define DMA_ERQ_ERQ5_SHIFT (5U)
  25048. /*! ERQ5 - Enable DMA Request 5
  25049. * 0b0..The DMA request signal for channel 5 is disabled
  25050. * 0b1..The DMA request signal for channel 5 is enabled
  25051. */
  25052. #define DMA_ERQ_ERQ5(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ5_SHIFT)) & DMA_ERQ_ERQ5_MASK)
  25053. #define DMA_ERQ_ERQ6_MASK (0x40U)
  25054. #define DMA_ERQ_ERQ6_SHIFT (6U)
  25055. /*! ERQ6 - Enable DMA Request 6
  25056. * 0b0..The DMA request signal for channel 6 is disabled
  25057. * 0b1..The DMA request signal for channel 6 is enabled
  25058. */
  25059. #define DMA_ERQ_ERQ6(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ6_SHIFT)) & DMA_ERQ_ERQ6_MASK)
  25060. #define DMA_ERQ_ERQ7_MASK (0x80U)
  25061. #define DMA_ERQ_ERQ7_SHIFT (7U)
  25062. /*! ERQ7 - Enable DMA Request 7
  25063. * 0b0..The DMA request signal for channel 7 is disabled
  25064. * 0b1..The DMA request signal for channel 7 is enabled
  25065. */
  25066. #define DMA_ERQ_ERQ7(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ7_SHIFT)) & DMA_ERQ_ERQ7_MASK)
  25067. #define DMA_ERQ_ERQ8_MASK (0x100U)
  25068. #define DMA_ERQ_ERQ8_SHIFT (8U)
  25069. /*! ERQ8 - Enable DMA Request 8
  25070. * 0b0..The DMA request signal for channel 8 is disabled
  25071. * 0b1..The DMA request signal for channel 8 is enabled
  25072. */
  25073. #define DMA_ERQ_ERQ8(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ8_SHIFT)) & DMA_ERQ_ERQ8_MASK)
  25074. #define DMA_ERQ_ERQ9_MASK (0x200U)
  25075. #define DMA_ERQ_ERQ9_SHIFT (9U)
  25076. /*! ERQ9 - Enable DMA Request 9
  25077. * 0b0..The DMA request signal for channel 9 is disabled
  25078. * 0b1..The DMA request signal for channel 9 is enabled
  25079. */
  25080. #define DMA_ERQ_ERQ9(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ9_SHIFT)) & DMA_ERQ_ERQ9_MASK)
  25081. #define DMA_ERQ_ERQ10_MASK (0x400U)
  25082. #define DMA_ERQ_ERQ10_SHIFT (10U)
  25083. /*! ERQ10 - Enable DMA Request 10
  25084. * 0b0..The DMA request signal for channel 10 is disabled
  25085. * 0b1..The DMA request signal for channel 10 is enabled
  25086. */
  25087. #define DMA_ERQ_ERQ10(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ10_SHIFT)) & DMA_ERQ_ERQ10_MASK)
  25088. #define DMA_ERQ_ERQ11_MASK (0x800U)
  25089. #define DMA_ERQ_ERQ11_SHIFT (11U)
  25090. /*! ERQ11 - Enable DMA Request 11
  25091. * 0b0..The DMA request signal for channel 11 is disabled
  25092. * 0b1..The DMA request signal for channel 11 is enabled
  25093. */
  25094. #define DMA_ERQ_ERQ11(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ11_SHIFT)) & DMA_ERQ_ERQ11_MASK)
  25095. #define DMA_ERQ_ERQ12_MASK (0x1000U)
  25096. #define DMA_ERQ_ERQ12_SHIFT (12U)
  25097. /*! ERQ12 - Enable DMA Request 12
  25098. * 0b0..The DMA request signal for channel 12 is disabled
  25099. * 0b1..The DMA request signal for channel 12 is enabled
  25100. */
  25101. #define DMA_ERQ_ERQ12(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ12_SHIFT)) & DMA_ERQ_ERQ12_MASK)
  25102. #define DMA_ERQ_ERQ13_MASK (0x2000U)
  25103. #define DMA_ERQ_ERQ13_SHIFT (13U)
  25104. /*! ERQ13 - Enable DMA Request 13
  25105. * 0b0..The DMA request signal for channel 13 is disabled
  25106. * 0b1..The DMA request signal for channel 13 is enabled
  25107. */
  25108. #define DMA_ERQ_ERQ13(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ13_SHIFT)) & DMA_ERQ_ERQ13_MASK)
  25109. #define DMA_ERQ_ERQ14_MASK (0x4000U)
  25110. #define DMA_ERQ_ERQ14_SHIFT (14U)
  25111. /*! ERQ14 - Enable DMA Request 14
  25112. * 0b0..The DMA request signal for channel 14 is disabled
  25113. * 0b1..The DMA request signal for channel 14 is enabled
  25114. */
  25115. #define DMA_ERQ_ERQ14(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ14_SHIFT)) & DMA_ERQ_ERQ14_MASK)
  25116. #define DMA_ERQ_ERQ15_MASK (0x8000U)
  25117. #define DMA_ERQ_ERQ15_SHIFT (15U)
  25118. /*! ERQ15 - Enable DMA Request 15
  25119. * 0b0..The DMA request signal for channel 15 is disabled
  25120. * 0b1..The DMA request signal for channel 15 is enabled
  25121. */
  25122. #define DMA_ERQ_ERQ15(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ15_SHIFT)) & DMA_ERQ_ERQ15_MASK)
  25123. #define DMA_ERQ_ERQ16_MASK (0x10000U)
  25124. #define DMA_ERQ_ERQ16_SHIFT (16U)
  25125. /*! ERQ16 - Enable DMA Request 16
  25126. * 0b0..The DMA request signal for channel 16 is disabled
  25127. * 0b1..The DMA request signal for channel 16 is enabled
  25128. */
  25129. #define DMA_ERQ_ERQ16(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ16_SHIFT)) & DMA_ERQ_ERQ16_MASK)
  25130. #define DMA_ERQ_ERQ17_MASK (0x20000U)
  25131. #define DMA_ERQ_ERQ17_SHIFT (17U)
  25132. /*! ERQ17 - Enable DMA Request 17
  25133. * 0b0..The DMA request signal for channel 17 is disabled
  25134. * 0b1..The DMA request signal for channel 17 is enabled
  25135. */
  25136. #define DMA_ERQ_ERQ17(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ17_SHIFT)) & DMA_ERQ_ERQ17_MASK)
  25137. #define DMA_ERQ_ERQ18_MASK (0x40000U)
  25138. #define DMA_ERQ_ERQ18_SHIFT (18U)
  25139. /*! ERQ18 - Enable DMA Request 18
  25140. * 0b0..The DMA request signal for channel 18 is disabled
  25141. * 0b1..The DMA request signal for channel 18 is enabled
  25142. */
  25143. #define DMA_ERQ_ERQ18(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ18_SHIFT)) & DMA_ERQ_ERQ18_MASK)
  25144. #define DMA_ERQ_ERQ19_MASK (0x80000U)
  25145. #define DMA_ERQ_ERQ19_SHIFT (19U)
  25146. /*! ERQ19 - Enable DMA Request 19
  25147. * 0b0..The DMA request signal for channel 19 is disabled
  25148. * 0b1..The DMA request signal for channel 19 is enabled
  25149. */
  25150. #define DMA_ERQ_ERQ19(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ19_SHIFT)) & DMA_ERQ_ERQ19_MASK)
  25151. #define DMA_ERQ_ERQ20_MASK (0x100000U)
  25152. #define DMA_ERQ_ERQ20_SHIFT (20U)
  25153. /*! ERQ20 - Enable DMA Request 20
  25154. * 0b0..The DMA request signal for channel 20 is disabled
  25155. * 0b1..The DMA request signal for channel 20 is enabled
  25156. */
  25157. #define DMA_ERQ_ERQ20(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ20_SHIFT)) & DMA_ERQ_ERQ20_MASK)
  25158. #define DMA_ERQ_ERQ21_MASK (0x200000U)
  25159. #define DMA_ERQ_ERQ21_SHIFT (21U)
  25160. /*! ERQ21 - Enable DMA Request 21
  25161. * 0b0..The DMA request signal for channel 21 is disabled
  25162. * 0b1..The DMA request signal for channel 21 is enabled
  25163. */
  25164. #define DMA_ERQ_ERQ21(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ21_SHIFT)) & DMA_ERQ_ERQ21_MASK)
  25165. #define DMA_ERQ_ERQ22_MASK (0x400000U)
  25166. #define DMA_ERQ_ERQ22_SHIFT (22U)
  25167. /*! ERQ22 - Enable DMA Request 22
  25168. * 0b0..The DMA request signal for channel 22 is disabled
  25169. * 0b1..The DMA request signal for channel 22 is enabled
  25170. */
  25171. #define DMA_ERQ_ERQ22(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ22_SHIFT)) & DMA_ERQ_ERQ22_MASK)
  25172. #define DMA_ERQ_ERQ23_MASK (0x800000U)
  25173. #define DMA_ERQ_ERQ23_SHIFT (23U)
  25174. /*! ERQ23 - Enable DMA Request 23
  25175. * 0b0..The DMA request signal for channel 23 is disabled
  25176. * 0b1..The DMA request signal for channel 23 is enabled
  25177. */
  25178. #define DMA_ERQ_ERQ23(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ23_SHIFT)) & DMA_ERQ_ERQ23_MASK)
  25179. #define DMA_ERQ_ERQ24_MASK (0x1000000U)
  25180. #define DMA_ERQ_ERQ24_SHIFT (24U)
  25181. /*! ERQ24 - Enable DMA Request 24
  25182. * 0b0..The DMA request signal for channel 24 is disabled
  25183. * 0b1..The DMA request signal for channel 24 is enabled
  25184. */
  25185. #define DMA_ERQ_ERQ24(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ24_SHIFT)) & DMA_ERQ_ERQ24_MASK)
  25186. #define DMA_ERQ_ERQ25_MASK (0x2000000U)
  25187. #define DMA_ERQ_ERQ25_SHIFT (25U)
  25188. /*! ERQ25 - Enable DMA Request 25
  25189. * 0b0..The DMA request signal for channel 25 is disabled
  25190. * 0b1..The DMA request signal for channel 25 is enabled
  25191. */
  25192. #define DMA_ERQ_ERQ25(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ25_SHIFT)) & DMA_ERQ_ERQ25_MASK)
  25193. #define DMA_ERQ_ERQ26_MASK (0x4000000U)
  25194. #define DMA_ERQ_ERQ26_SHIFT (26U)
  25195. /*! ERQ26 - Enable DMA Request 26
  25196. * 0b0..The DMA request signal for channel 26 is disabled
  25197. * 0b1..The DMA request signal for channel 26 is enabled
  25198. */
  25199. #define DMA_ERQ_ERQ26(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ26_SHIFT)) & DMA_ERQ_ERQ26_MASK)
  25200. #define DMA_ERQ_ERQ27_MASK (0x8000000U)
  25201. #define DMA_ERQ_ERQ27_SHIFT (27U)
  25202. /*! ERQ27 - Enable DMA Request 27
  25203. * 0b0..The DMA request signal for channel 27 is disabled
  25204. * 0b1..The DMA request signal for channel 27 is enabled
  25205. */
  25206. #define DMA_ERQ_ERQ27(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ27_SHIFT)) & DMA_ERQ_ERQ27_MASK)
  25207. #define DMA_ERQ_ERQ28_MASK (0x10000000U)
  25208. #define DMA_ERQ_ERQ28_SHIFT (28U)
  25209. /*! ERQ28 - Enable DMA Request 28
  25210. * 0b0..The DMA request signal for channel 28 is disabled
  25211. * 0b1..The DMA request signal for channel 28 is enabled
  25212. */
  25213. #define DMA_ERQ_ERQ28(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ28_SHIFT)) & DMA_ERQ_ERQ28_MASK)
  25214. #define DMA_ERQ_ERQ29_MASK (0x20000000U)
  25215. #define DMA_ERQ_ERQ29_SHIFT (29U)
  25216. /*! ERQ29 - Enable DMA Request 29
  25217. * 0b0..The DMA request signal for channel 29 is disabled
  25218. * 0b1..The DMA request signal for channel 29 is enabled
  25219. */
  25220. #define DMA_ERQ_ERQ29(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ29_SHIFT)) & DMA_ERQ_ERQ29_MASK)
  25221. #define DMA_ERQ_ERQ30_MASK (0x40000000U)
  25222. #define DMA_ERQ_ERQ30_SHIFT (30U)
  25223. /*! ERQ30 - Enable DMA Request 30
  25224. * 0b0..The DMA request signal for channel 30 is disabled
  25225. * 0b1..The DMA request signal for channel 30 is enabled
  25226. */
  25227. #define DMA_ERQ_ERQ30(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ30_SHIFT)) & DMA_ERQ_ERQ30_MASK)
  25228. #define DMA_ERQ_ERQ31_MASK (0x80000000U)
  25229. #define DMA_ERQ_ERQ31_SHIFT (31U)
  25230. /*! ERQ31 - Enable DMA Request 31
  25231. * 0b0..The DMA request signal for channel 31 is disabled
  25232. * 0b1..The DMA request signal for channel 31 is enabled
  25233. */
  25234. #define DMA_ERQ_ERQ31(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ31_SHIFT)) & DMA_ERQ_ERQ31_MASK)
  25235. /*! @} */
  25236. /*! @name EEI - Enable Error Interrupt */
  25237. /*! @{ */
  25238. #define DMA_EEI_EEI0_MASK (0x1U)
  25239. #define DMA_EEI_EEI0_SHIFT (0U)
  25240. /*! EEI0 - Enable Error Interrupt 0
  25241. * 0b0..An error on channel 0 does not generate an error interrupt
  25242. * 0b1..An error on channel 0 generates an error interrupt request
  25243. */
  25244. #define DMA_EEI_EEI0(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI0_SHIFT)) & DMA_EEI_EEI0_MASK)
  25245. #define DMA_EEI_EEI1_MASK (0x2U)
  25246. #define DMA_EEI_EEI1_SHIFT (1U)
  25247. /*! EEI1 - Enable Error Interrupt 1
  25248. * 0b0..An error on channel 1 does not generate an error interrupt
  25249. * 0b1..An error on channel 1 generates an error interrupt request
  25250. */
  25251. #define DMA_EEI_EEI1(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI1_SHIFT)) & DMA_EEI_EEI1_MASK)
  25252. #define DMA_EEI_EEI2_MASK (0x4U)
  25253. #define DMA_EEI_EEI2_SHIFT (2U)
  25254. /*! EEI2 - Enable Error Interrupt 2
  25255. * 0b0..An error on channel 2 does not generate an error interrupt
  25256. * 0b1..An error on channel 2 generates an error interrupt request
  25257. */
  25258. #define DMA_EEI_EEI2(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI2_SHIFT)) & DMA_EEI_EEI2_MASK)
  25259. #define DMA_EEI_EEI3_MASK (0x8U)
  25260. #define DMA_EEI_EEI3_SHIFT (3U)
  25261. /*! EEI3 - Enable Error Interrupt 3
  25262. * 0b0..An error on channel 3 does not generate an error interrupt
  25263. * 0b1..An error on channel 3 generates an error interrupt request
  25264. */
  25265. #define DMA_EEI_EEI3(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI3_SHIFT)) & DMA_EEI_EEI3_MASK)
  25266. #define DMA_EEI_EEI4_MASK (0x10U)
  25267. #define DMA_EEI_EEI4_SHIFT (4U)
  25268. /*! EEI4 - Enable Error Interrupt 4
  25269. * 0b0..An error on channel 4 does not generate an error interrupt
  25270. * 0b1..An error on channel 4 generates an error interrupt request
  25271. */
  25272. #define DMA_EEI_EEI4(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI4_SHIFT)) & DMA_EEI_EEI4_MASK)
  25273. #define DMA_EEI_EEI5_MASK (0x20U)
  25274. #define DMA_EEI_EEI5_SHIFT (5U)
  25275. /*! EEI5 - Enable Error Interrupt 5
  25276. * 0b0..An error on channel 5 does not generate an error interrupt
  25277. * 0b1..An error on channel 5 generates an error interrupt request
  25278. */
  25279. #define DMA_EEI_EEI5(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI5_SHIFT)) & DMA_EEI_EEI5_MASK)
  25280. #define DMA_EEI_EEI6_MASK (0x40U)
  25281. #define DMA_EEI_EEI6_SHIFT (6U)
  25282. /*! EEI6 - Enable Error Interrupt 6
  25283. * 0b0..An error on channel 6 does not generate an error interrupt
  25284. * 0b1..An error on channel 6 generates an error interrupt request
  25285. */
  25286. #define DMA_EEI_EEI6(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI6_SHIFT)) & DMA_EEI_EEI6_MASK)
  25287. #define DMA_EEI_EEI7_MASK (0x80U)
  25288. #define DMA_EEI_EEI7_SHIFT (7U)
  25289. /*! EEI7 - Enable Error Interrupt 7
  25290. * 0b0..An error on channel 7 does not generate an error interrupt
  25291. * 0b1..An error on channel 7 generates an error interrupt request
  25292. */
  25293. #define DMA_EEI_EEI7(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI7_SHIFT)) & DMA_EEI_EEI7_MASK)
  25294. #define DMA_EEI_EEI8_MASK (0x100U)
  25295. #define DMA_EEI_EEI8_SHIFT (8U)
  25296. /*! EEI8 - Enable Error Interrupt 8
  25297. * 0b0..An error on channel 8 does not generate an error interrupt
  25298. * 0b1..An error on channel 8 generates an error interrupt request
  25299. */
  25300. #define DMA_EEI_EEI8(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI8_SHIFT)) & DMA_EEI_EEI8_MASK)
  25301. #define DMA_EEI_EEI9_MASK (0x200U)
  25302. #define DMA_EEI_EEI9_SHIFT (9U)
  25303. /*! EEI9 - Enable Error Interrupt 9
  25304. * 0b0..An error on channel 9 does not generate an error interrupt
  25305. * 0b1..An error on channel 9 generates an error interrupt request
  25306. */
  25307. #define DMA_EEI_EEI9(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI9_SHIFT)) & DMA_EEI_EEI9_MASK)
  25308. #define DMA_EEI_EEI10_MASK (0x400U)
  25309. #define DMA_EEI_EEI10_SHIFT (10U)
  25310. /*! EEI10 - Enable Error Interrupt 10
  25311. * 0b0..An error on channel 10 does not generate an error interrupt
  25312. * 0b1..An error on channel 10 generates an error interrupt request
  25313. */
  25314. #define DMA_EEI_EEI10(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI10_SHIFT)) & DMA_EEI_EEI10_MASK)
  25315. #define DMA_EEI_EEI11_MASK (0x800U)
  25316. #define DMA_EEI_EEI11_SHIFT (11U)
  25317. /*! EEI11 - Enable Error Interrupt 11
  25318. * 0b0..An error on channel 11 does not generate an error interrupt
  25319. * 0b1..An error on channel 11 generates an error interrupt request
  25320. */
  25321. #define DMA_EEI_EEI11(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI11_SHIFT)) & DMA_EEI_EEI11_MASK)
  25322. #define DMA_EEI_EEI12_MASK (0x1000U)
  25323. #define DMA_EEI_EEI12_SHIFT (12U)
  25324. /*! EEI12 - Enable Error Interrupt 12
  25325. * 0b0..An error on channel 12 does not generate an error interrupt
  25326. * 0b1..An error on channel 12 generates an error interrupt request
  25327. */
  25328. #define DMA_EEI_EEI12(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI12_SHIFT)) & DMA_EEI_EEI12_MASK)
  25329. #define DMA_EEI_EEI13_MASK (0x2000U)
  25330. #define DMA_EEI_EEI13_SHIFT (13U)
  25331. /*! EEI13 - Enable Error Interrupt 13
  25332. * 0b0..An error on channel 13 does not generate an error interrupt
  25333. * 0b1..An error on channel 13 generates an error interrupt request
  25334. */
  25335. #define DMA_EEI_EEI13(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI13_SHIFT)) & DMA_EEI_EEI13_MASK)
  25336. #define DMA_EEI_EEI14_MASK (0x4000U)
  25337. #define DMA_EEI_EEI14_SHIFT (14U)
  25338. /*! EEI14 - Enable Error Interrupt 14
  25339. * 0b0..An error on channel 14 does not generate an error interrupt
  25340. * 0b1..An error on channel 14 generates an error interrupt request
  25341. */
  25342. #define DMA_EEI_EEI14(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI14_SHIFT)) & DMA_EEI_EEI14_MASK)
  25343. #define DMA_EEI_EEI15_MASK (0x8000U)
  25344. #define DMA_EEI_EEI15_SHIFT (15U)
  25345. /*! EEI15 - Enable Error Interrupt 15
  25346. * 0b0..An error on channel 15 does not generate an error interrupt
  25347. * 0b1..An error on channel 15 generates an error interrupt request
  25348. */
  25349. #define DMA_EEI_EEI15(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI15_SHIFT)) & DMA_EEI_EEI15_MASK)
  25350. #define DMA_EEI_EEI16_MASK (0x10000U)
  25351. #define DMA_EEI_EEI16_SHIFT (16U)
  25352. /*! EEI16 - Enable Error Interrupt 16
  25353. * 0b0..An error on channel 16 does not generate an error interrupt
  25354. * 0b1..An error on channel 16 generates an error interrupt request
  25355. */
  25356. #define DMA_EEI_EEI16(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI16_SHIFT)) & DMA_EEI_EEI16_MASK)
  25357. #define DMA_EEI_EEI17_MASK (0x20000U)
  25358. #define DMA_EEI_EEI17_SHIFT (17U)
  25359. /*! EEI17 - Enable Error Interrupt 17
  25360. * 0b0..An error on channel 17 does not generate an error interrupt
  25361. * 0b1..An error on channel 17 generates an error interrupt request
  25362. */
  25363. #define DMA_EEI_EEI17(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI17_SHIFT)) & DMA_EEI_EEI17_MASK)
  25364. #define DMA_EEI_EEI18_MASK (0x40000U)
  25365. #define DMA_EEI_EEI18_SHIFT (18U)
  25366. /*! EEI18 - Enable Error Interrupt 18
  25367. * 0b0..An error on channel 18 does not generate an error interrupt
  25368. * 0b1..An error on channel 18 generates an error interrupt request
  25369. */
  25370. #define DMA_EEI_EEI18(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI18_SHIFT)) & DMA_EEI_EEI18_MASK)
  25371. #define DMA_EEI_EEI19_MASK (0x80000U)
  25372. #define DMA_EEI_EEI19_SHIFT (19U)
  25373. /*! EEI19 - Enable Error Interrupt 19
  25374. * 0b0..An error on channel 19 does not generate an error interrupt
  25375. * 0b1..An error on channel 19 generates an error interrupt request
  25376. */
  25377. #define DMA_EEI_EEI19(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI19_SHIFT)) & DMA_EEI_EEI19_MASK)
  25378. #define DMA_EEI_EEI20_MASK (0x100000U)
  25379. #define DMA_EEI_EEI20_SHIFT (20U)
  25380. /*! EEI20 - Enable Error Interrupt 20
  25381. * 0b0..An error on channel 20 does not generate an error interrupt
  25382. * 0b1..An error on channel 20 generates an error interrupt request
  25383. */
  25384. #define DMA_EEI_EEI20(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI20_SHIFT)) & DMA_EEI_EEI20_MASK)
  25385. #define DMA_EEI_EEI21_MASK (0x200000U)
  25386. #define DMA_EEI_EEI21_SHIFT (21U)
  25387. /*! EEI21 - Enable Error Interrupt 21
  25388. * 0b0..An error on channel 21 does not generate an error interrupt
  25389. * 0b1..An error on channel 21 generates an error interrupt request
  25390. */
  25391. #define DMA_EEI_EEI21(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI21_SHIFT)) & DMA_EEI_EEI21_MASK)
  25392. #define DMA_EEI_EEI22_MASK (0x400000U)
  25393. #define DMA_EEI_EEI22_SHIFT (22U)
  25394. /*! EEI22 - Enable Error Interrupt 22
  25395. * 0b0..An error on channel 22 does not generate an error interrupt
  25396. * 0b1..An error on channel 22 generates an error interrupt request
  25397. */
  25398. #define DMA_EEI_EEI22(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI22_SHIFT)) & DMA_EEI_EEI22_MASK)
  25399. #define DMA_EEI_EEI23_MASK (0x800000U)
  25400. #define DMA_EEI_EEI23_SHIFT (23U)
  25401. /*! EEI23 - Enable Error Interrupt 23
  25402. * 0b0..An error on channel 23 does not generate an error interrupt
  25403. * 0b1..An error on channel 23 generates an error interrupt request
  25404. */
  25405. #define DMA_EEI_EEI23(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI23_SHIFT)) & DMA_EEI_EEI23_MASK)
  25406. #define DMA_EEI_EEI24_MASK (0x1000000U)
  25407. #define DMA_EEI_EEI24_SHIFT (24U)
  25408. /*! EEI24 - Enable Error Interrupt 24
  25409. * 0b0..An error on channel 24 does not generate an error interrupt
  25410. * 0b1..An error on channel 24 generates an error interrupt request
  25411. */
  25412. #define DMA_EEI_EEI24(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI24_SHIFT)) & DMA_EEI_EEI24_MASK)
  25413. #define DMA_EEI_EEI25_MASK (0x2000000U)
  25414. #define DMA_EEI_EEI25_SHIFT (25U)
  25415. /*! EEI25 - Enable Error Interrupt 25
  25416. * 0b0..An error on channel 25 does not generate an error interrupt
  25417. * 0b1..An error on channel 25 generates an error interrupt request
  25418. */
  25419. #define DMA_EEI_EEI25(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI25_SHIFT)) & DMA_EEI_EEI25_MASK)
  25420. #define DMA_EEI_EEI26_MASK (0x4000000U)
  25421. #define DMA_EEI_EEI26_SHIFT (26U)
  25422. /*! EEI26 - Enable Error Interrupt 26
  25423. * 0b0..An error on channel 26 does not generate an error interrupt
  25424. * 0b1..An error on channel 26 generates an error interrupt request
  25425. */
  25426. #define DMA_EEI_EEI26(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI26_SHIFT)) & DMA_EEI_EEI26_MASK)
  25427. #define DMA_EEI_EEI27_MASK (0x8000000U)
  25428. #define DMA_EEI_EEI27_SHIFT (27U)
  25429. /*! EEI27 - Enable Error Interrupt 27
  25430. * 0b0..An error on channel 27 does not generate an error interrupt
  25431. * 0b1..An error on channel 27 generates an error interrupt request
  25432. */
  25433. #define DMA_EEI_EEI27(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI27_SHIFT)) & DMA_EEI_EEI27_MASK)
  25434. #define DMA_EEI_EEI28_MASK (0x10000000U)
  25435. #define DMA_EEI_EEI28_SHIFT (28U)
  25436. /*! EEI28 - Enable Error Interrupt 28
  25437. * 0b0..An error on channel 28 does not generate an error interrupt
  25438. * 0b1..An error on channel 28 generates an error interrupt request
  25439. */
  25440. #define DMA_EEI_EEI28(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI28_SHIFT)) & DMA_EEI_EEI28_MASK)
  25441. #define DMA_EEI_EEI29_MASK (0x20000000U)
  25442. #define DMA_EEI_EEI29_SHIFT (29U)
  25443. /*! EEI29 - Enable Error Interrupt 29
  25444. * 0b0..An error on channel 29 does not generate an error interrupt
  25445. * 0b1..An error on channel 29 generates an error interrupt request
  25446. */
  25447. #define DMA_EEI_EEI29(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI29_SHIFT)) & DMA_EEI_EEI29_MASK)
  25448. #define DMA_EEI_EEI30_MASK (0x40000000U)
  25449. #define DMA_EEI_EEI30_SHIFT (30U)
  25450. /*! EEI30 - Enable Error Interrupt 30
  25451. * 0b0..An error on channel 30 does not generate an error interrupt
  25452. * 0b1..An error on channel 30 generates an error interrupt request
  25453. */
  25454. #define DMA_EEI_EEI30(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI30_SHIFT)) & DMA_EEI_EEI30_MASK)
  25455. #define DMA_EEI_EEI31_MASK (0x80000000U)
  25456. #define DMA_EEI_EEI31_SHIFT (31U)
  25457. /*! EEI31 - Enable Error Interrupt 31
  25458. * 0b0..An error on channel 31 does not generate an error interrupt
  25459. * 0b1..An error on channel 31 generates an error interrupt request
  25460. */
  25461. #define DMA_EEI_EEI31(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI31_SHIFT)) & DMA_EEI_EEI31_MASK)
  25462. /*! @} */
  25463. /*! @name CEEI - Clear Enable Error Interrupt */
  25464. /*! @{ */
  25465. #define DMA_CEEI_CEEI_MASK (0x1FU)
  25466. #define DMA_CEEI_CEEI_SHIFT (0U)
  25467. /*! CEEI - Clear Enable Error Interrupt
  25468. */
  25469. #define DMA_CEEI_CEEI(x) (((uint8_t)(((uint8_t)(x)) << DMA_CEEI_CEEI_SHIFT)) & DMA_CEEI_CEEI_MASK)
  25470. #define DMA_CEEI_CAEE_MASK (0x40U)
  25471. #define DMA_CEEI_CAEE_SHIFT (6U)
  25472. /*! CAEE - Clear All Enable Error Interrupts
  25473. * 0b0..Write 0 only to the EEI field specified in the CEEI field
  25474. * 0b1..Write 0 to all fields in EEI
  25475. */
  25476. #define DMA_CEEI_CAEE(x) (((uint8_t)(((uint8_t)(x)) << DMA_CEEI_CAEE_SHIFT)) & DMA_CEEI_CAEE_MASK)
  25477. #define DMA_CEEI_NOP_MASK (0x80U)
  25478. #define DMA_CEEI_NOP_SHIFT (7U)
  25479. /*! NOP - No Op Enable
  25480. * 0b0..Normal operation
  25481. * 0b1..No operation, ignore the other fields in this register
  25482. */
  25483. #define DMA_CEEI_NOP(x) (((uint8_t)(((uint8_t)(x)) << DMA_CEEI_NOP_SHIFT)) & DMA_CEEI_NOP_MASK)
  25484. /*! @} */
  25485. /*! @name SEEI - Set Enable Error Interrupt */
  25486. /*! @{ */
  25487. #define DMA_SEEI_SEEI_MASK (0x1FU)
  25488. #define DMA_SEEI_SEEI_SHIFT (0U)
  25489. /*! SEEI - Set Enable Error Interrupt
  25490. */
  25491. #define DMA_SEEI_SEEI(x) (((uint8_t)(((uint8_t)(x)) << DMA_SEEI_SEEI_SHIFT)) & DMA_SEEI_SEEI_MASK)
  25492. #define DMA_SEEI_SAEE_MASK (0x40U)
  25493. #define DMA_SEEI_SAEE_SHIFT (6U)
  25494. /*! SAEE - Set All Enable Error Interrupts
  25495. * 0b0..Write 1 only to the EEI field specified in the SEEI field
  25496. * 0b1..Writes 1 to all fields in EEI
  25497. */
  25498. #define DMA_SEEI_SAEE(x) (((uint8_t)(((uint8_t)(x)) << DMA_SEEI_SAEE_SHIFT)) & DMA_SEEI_SAEE_MASK)
  25499. #define DMA_SEEI_NOP_MASK (0x80U)
  25500. #define DMA_SEEI_NOP_SHIFT (7U)
  25501. /*! NOP - No Op Enable
  25502. * 0b0..Normal operation
  25503. * 0b1..No operation, ignore the other fields in this register
  25504. */
  25505. #define DMA_SEEI_NOP(x) (((uint8_t)(((uint8_t)(x)) << DMA_SEEI_NOP_SHIFT)) & DMA_SEEI_NOP_MASK)
  25506. /*! @} */
  25507. /*! @name CERQ - Clear Enable Request */
  25508. /*! @{ */
  25509. #define DMA_CERQ_CERQ_MASK (0x1FU)
  25510. #define DMA_CERQ_CERQ_SHIFT (0U)
  25511. /*! CERQ - Clear Enable Request
  25512. */
  25513. #define DMA_CERQ_CERQ(x) (((uint8_t)(((uint8_t)(x)) << DMA_CERQ_CERQ_SHIFT)) & DMA_CERQ_CERQ_MASK)
  25514. #define DMA_CERQ_CAER_MASK (0x40U)
  25515. #define DMA_CERQ_CAER_SHIFT (6U)
  25516. /*! CAER - Clear All Enable Requests
  25517. * 0b0..Write 0 to only the ERQ field specified in the CERQ field
  25518. * 0b1..Write 0 to all fields in ERQ
  25519. */
  25520. #define DMA_CERQ_CAER(x) (((uint8_t)(((uint8_t)(x)) << DMA_CERQ_CAER_SHIFT)) & DMA_CERQ_CAER_MASK)
  25521. #define DMA_CERQ_NOP_MASK (0x80U)
  25522. #define DMA_CERQ_NOP_SHIFT (7U)
  25523. /*! NOP - No Op Enable
  25524. * 0b0..Normal operation
  25525. * 0b1..No operation, ignore the other fields in this register
  25526. */
  25527. #define DMA_CERQ_NOP(x) (((uint8_t)(((uint8_t)(x)) << DMA_CERQ_NOP_SHIFT)) & DMA_CERQ_NOP_MASK)
  25528. /*! @} */
  25529. /*! @name SERQ - Set Enable Request */
  25530. /*! @{ */
  25531. #define DMA_SERQ_SERQ_MASK (0x1FU)
  25532. #define DMA_SERQ_SERQ_SHIFT (0U)
  25533. /*! SERQ - Set Enable Request
  25534. */
  25535. #define DMA_SERQ_SERQ(x) (((uint8_t)(((uint8_t)(x)) << DMA_SERQ_SERQ_SHIFT)) & DMA_SERQ_SERQ_MASK)
  25536. #define DMA_SERQ_SAER_MASK (0x40U)
  25537. #define DMA_SERQ_SAER_SHIFT (6U)
  25538. /*! SAER - Set All Enable Requests
  25539. * 0b0..Write 1 to only the ERQ field specified in the SERQ field
  25540. * 0b1..Write 1 to all fields in ERQ
  25541. */
  25542. #define DMA_SERQ_SAER(x) (((uint8_t)(((uint8_t)(x)) << DMA_SERQ_SAER_SHIFT)) & DMA_SERQ_SAER_MASK)
  25543. #define DMA_SERQ_NOP_MASK (0x80U)
  25544. #define DMA_SERQ_NOP_SHIFT (7U)
  25545. /*! NOP - No Op Enable
  25546. * 0b0..Normal operation
  25547. * 0b1..No operation, ignore the other fields in this register
  25548. */
  25549. #define DMA_SERQ_NOP(x) (((uint8_t)(((uint8_t)(x)) << DMA_SERQ_NOP_SHIFT)) & DMA_SERQ_NOP_MASK)
  25550. /*! @} */
  25551. /*! @name CDNE - Clear DONE Status Bit */
  25552. /*! @{ */
  25553. #define DMA_CDNE_CDNE_MASK (0x1FU)
  25554. #define DMA_CDNE_CDNE_SHIFT (0U)
  25555. /*! CDNE - Clear DONE field
  25556. */
  25557. #define DMA_CDNE_CDNE(x) (((uint8_t)(((uint8_t)(x)) << DMA_CDNE_CDNE_SHIFT)) & DMA_CDNE_CDNE_MASK)
  25558. #define DMA_CDNE_CADN_MASK (0x40U)
  25559. #define DMA_CDNE_CADN_SHIFT (6U)
  25560. /*! CADN - Clears All DONE fields
  25561. * 0b0..Writes 0 to only the TCDn_CSR[DONE] field specified in the CDNE field
  25562. * 0b1..Writes 0 to all bits in TCDn_CSR[DONE]
  25563. */
  25564. #define DMA_CDNE_CADN(x) (((uint8_t)(((uint8_t)(x)) << DMA_CDNE_CADN_SHIFT)) & DMA_CDNE_CADN_MASK)
  25565. #define DMA_CDNE_NOP_MASK (0x80U)
  25566. #define DMA_CDNE_NOP_SHIFT (7U)
  25567. /*! NOP - No Op Enable
  25568. * 0b0..Normal operation
  25569. * 0b1..No operation; all other fields in this register are ignored.
  25570. */
  25571. #define DMA_CDNE_NOP(x) (((uint8_t)(((uint8_t)(x)) << DMA_CDNE_NOP_SHIFT)) & DMA_CDNE_NOP_MASK)
  25572. /*! @} */
  25573. /*! @name SSRT - Set START Bit */
  25574. /*! @{ */
  25575. #define DMA_SSRT_SSRT_MASK (0x1FU)
  25576. #define DMA_SSRT_SSRT_SHIFT (0U)
  25577. /*! SSRT - Set START field
  25578. */
  25579. #define DMA_SSRT_SSRT(x) (((uint8_t)(((uint8_t)(x)) << DMA_SSRT_SSRT_SHIFT)) & DMA_SSRT_SSRT_MASK)
  25580. #define DMA_SSRT_SAST_MASK (0x40U)
  25581. #define DMA_SSRT_SAST_SHIFT (6U)
  25582. /*! SAST - Set All START fields (activates all channels)
  25583. * 0b0..Write 1 to only the TCDn_CSR[START] field specified in the SSRT field
  25584. * 0b1..Write 1 to all bits in TCDn_CSR[START]
  25585. */
  25586. #define DMA_SSRT_SAST(x) (((uint8_t)(((uint8_t)(x)) << DMA_SSRT_SAST_SHIFT)) & DMA_SSRT_SAST_MASK)
  25587. #define DMA_SSRT_NOP_MASK (0x80U)
  25588. #define DMA_SSRT_NOP_SHIFT (7U)
  25589. /*! NOP - No Op Enable
  25590. * 0b0..Normal operation
  25591. * 0b1..No operation; all other fields in this register are ignored.
  25592. */
  25593. #define DMA_SSRT_NOP(x) (((uint8_t)(((uint8_t)(x)) << DMA_SSRT_NOP_SHIFT)) & DMA_SSRT_NOP_MASK)
  25594. /*! @} */
  25595. /*! @name CERR - Clear Error */
  25596. /*! @{ */
  25597. #define DMA_CERR_CERR_MASK (0x1FU)
  25598. #define DMA_CERR_CERR_SHIFT (0U)
  25599. /*! CERR - Clear Error Indicator
  25600. */
  25601. #define DMA_CERR_CERR(x) (((uint8_t)(((uint8_t)(x)) << DMA_CERR_CERR_SHIFT)) & DMA_CERR_CERR_MASK)
  25602. #define DMA_CERR_CAEI_MASK (0x40U)
  25603. #define DMA_CERR_CAEI_SHIFT (6U)
  25604. /*! CAEI - Clear All Error Indicators
  25605. * 0b0..Write 0 to only the ERR field specified in the CERR field
  25606. * 0b1..Write 0 to all fields in ERR
  25607. */
  25608. #define DMA_CERR_CAEI(x) (((uint8_t)(((uint8_t)(x)) << DMA_CERR_CAEI_SHIFT)) & DMA_CERR_CAEI_MASK)
  25609. #define DMA_CERR_NOP_MASK (0x80U)
  25610. #define DMA_CERR_NOP_SHIFT (7U)
  25611. /*! NOP - No Op Enable
  25612. * 0b0..Normal operation
  25613. * 0b1..No operation; all other fields in this register are ignored.
  25614. */
  25615. #define DMA_CERR_NOP(x) (((uint8_t)(((uint8_t)(x)) << DMA_CERR_NOP_SHIFT)) & DMA_CERR_NOP_MASK)
  25616. /*! @} */
  25617. /*! @name CINT - Clear Interrupt Request */
  25618. /*! @{ */
  25619. #define DMA_CINT_CINT_MASK (0x1FU)
  25620. #define DMA_CINT_CINT_SHIFT (0U)
  25621. /*! CINT - Clear Interrupt Request
  25622. */
  25623. #define DMA_CINT_CINT(x) (((uint8_t)(((uint8_t)(x)) << DMA_CINT_CINT_SHIFT)) & DMA_CINT_CINT_MASK)
  25624. #define DMA_CINT_CAIR_MASK (0x40U)
  25625. #define DMA_CINT_CAIR_SHIFT (6U)
  25626. /*! CAIR - Clear All Interrupt Requests
  25627. * 0b0..Clear only the INT field specified in the CINT field
  25628. * 0b1..Clear all bits in INT
  25629. */
  25630. #define DMA_CINT_CAIR(x) (((uint8_t)(((uint8_t)(x)) << DMA_CINT_CAIR_SHIFT)) & DMA_CINT_CAIR_MASK)
  25631. #define DMA_CINT_NOP_MASK (0x80U)
  25632. #define DMA_CINT_NOP_SHIFT (7U)
  25633. /*! NOP - No Op Enable
  25634. * 0b0..Normal operation
  25635. * 0b1..No operation; all other fields in this register are ignored.
  25636. */
  25637. #define DMA_CINT_NOP(x) (((uint8_t)(((uint8_t)(x)) << DMA_CINT_NOP_SHIFT)) & DMA_CINT_NOP_MASK)
  25638. /*! @} */
  25639. /*! @name INT - Interrupt Request */
  25640. /*! @{ */
  25641. #define DMA_INT_INT0_MASK (0x1U)
  25642. #define DMA_INT_INT0_SHIFT (0U)
  25643. /*! INT0 - Interrupt Request 0
  25644. * 0b0..The interrupt request for channel 0 is cleared
  25645. * 0b1..The interrupt request for channel 0 is active
  25646. */
  25647. #define DMA_INT_INT0(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT0_SHIFT)) & DMA_INT_INT0_MASK)
  25648. #define DMA_INT_INT1_MASK (0x2U)
  25649. #define DMA_INT_INT1_SHIFT (1U)
  25650. /*! INT1 - Interrupt Request 1
  25651. * 0b0..The interrupt request for channel 1 is cleared
  25652. * 0b1..The interrupt request for channel 1 is active
  25653. */
  25654. #define DMA_INT_INT1(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT1_SHIFT)) & DMA_INT_INT1_MASK)
  25655. #define DMA_INT_INT2_MASK (0x4U)
  25656. #define DMA_INT_INT2_SHIFT (2U)
  25657. /*! INT2 - Interrupt Request 2
  25658. * 0b0..The interrupt request for channel 2 is cleared
  25659. * 0b1..The interrupt request for channel 2 is active
  25660. */
  25661. #define DMA_INT_INT2(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT2_SHIFT)) & DMA_INT_INT2_MASK)
  25662. #define DMA_INT_INT3_MASK (0x8U)
  25663. #define DMA_INT_INT3_SHIFT (3U)
  25664. /*! INT3 - Interrupt Request 3
  25665. * 0b0..The interrupt request for channel 3 is cleared
  25666. * 0b1..The interrupt request for channel 3 is active
  25667. */
  25668. #define DMA_INT_INT3(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT3_SHIFT)) & DMA_INT_INT3_MASK)
  25669. #define DMA_INT_INT4_MASK (0x10U)
  25670. #define DMA_INT_INT4_SHIFT (4U)
  25671. /*! INT4 - Interrupt Request 4
  25672. * 0b0..The interrupt request for channel 4 is cleared
  25673. * 0b1..The interrupt request for channel 4 is active
  25674. */
  25675. #define DMA_INT_INT4(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT4_SHIFT)) & DMA_INT_INT4_MASK)
  25676. #define DMA_INT_INT5_MASK (0x20U)
  25677. #define DMA_INT_INT5_SHIFT (5U)
  25678. /*! INT5 - Interrupt Request 5
  25679. * 0b0..The interrupt request for channel 5 is cleared
  25680. * 0b1..The interrupt request for channel 5 is active
  25681. */
  25682. #define DMA_INT_INT5(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT5_SHIFT)) & DMA_INT_INT5_MASK)
  25683. #define DMA_INT_INT6_MASK (0x40U)
  25684. #define DMA_INT_INT6_SHIFT (6U)
  25685. /*! INT6 - Interrupt Request 6
  25686. * 0b0..The interrupt request for channel 6 is cleared
  25687. * 0b1..The interrupt request for channel 6 is active
  25688. */
  25689. #define DMA_INT_INT6(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT6_SHIFT)) & DMA_INT_INT6_MASK)
  25690. #define DMA_INT_INT7_MASK (0x80U)
  25691. #define DMA_INT_INT7_SHIFT (7U)
  25692. /*! INT7 - Interrupt Request 7
  25693. * 0b0..The interrupt request for channel 7 is cleared
  25694. * 0b1..The interrupt request for channel 7 is active
  25695. */
  25696. #define DMA_INT_INT7(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT7_SHIFT)) & DMA_INT_INT7_MASK)
  25697. #define DMA_INT_INT8_MASK (0x100U)
  25698. #define DMA_INT_INT8_SHIFT (8U)
  25699. /*! INT8 - Interrupt Request 8
  25700. * 0b0..The interrupt request for channel 8 is cleared
  25701. * 0b1..The interrupt request for channel 8 is active
  25702. */
  25703. #define DMA_INT_INT8(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT8_SHIFT)) & DMA_INT_INT8_MASK)
  25704. #define DMA_INT_INT9_MASK (0x200U)
  25705. #define DMA_INT_INT9_SHIFT (9U)
  25706. /*! INT9 - Interrupt Request 9
  25707. * 0b0..The interrupt request for channel 9 is cleared
  25708. * 0b1..The interrupt request for channel 9 is active
  25709. */
  25710. #define DMA_INT_INT9(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT9_SHIFT)) & DMA_INT_INT9_MASK)
  25711. #define DMA_INT_INT10_MASK (0x400U)
  25712. #define DMA_INT_INT10_SHIFT (10U)
  25713. /*! INT10 - Interrupt Request 10
  25714. * 0b0..The interrupt request for channel 10 is cleared
  25715. * 0b1..The interrupt request for channel 10 is active
  25716. */
  25717. #define DMA_INT_INT10(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT10_SHIFT)) & DMA_INT_INT10_MASK)
  25718. #define DMA_INT_INT11_MASK (0x800U)
  25719. #define DMA_INT_INT11_SHIFT (11U)
  25720. /*! INT11 - Interrupt Request 11
  25721. * 0b0..The interrupt request for channel 11 is cleared
  25722. * 0b1..The interrupt request for channel 11 is active
  25723. */
  25724. #define DMA_INT_INT11(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT11_SHIFT)) & DMA_INT_INT11_MASK)
  25725. #define DMA_INT_INT12_MASK (0x1000U)
  25726. #define DMA_INT_INT12_SHIFT (12U)
  25727. /*! INT12 - Interrupt Request 12
  25728. * 0b0..The interrupt request for channel 12 is cleared
  25729. * 0b1..The interrupt request for channel 12 is active
  25730. */
  25731. #define DMA_INT_INT12(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT12_SHIFT)) & DMA_INT_INT12_MASK)
  25732. #define DMA_INT_INT13_MASK (0x2000U)
  25733. #define DMA_INT_INT13_SHIFT (13U)
  25734. /*! INT13 - Interrupt Request 13
  25735. * 0b0..The interrupt request for channel 13 is cleared
  25736. * 0b1..The interrupt request for channel 13 is active
  25737. */
  25738. #define DMA_INT_INT13(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT13_SHIFT)) & DMA_INT_INT13_MASK)
  25739. #define DMA_INT_INT14_MASK (0x4000U)
  25740. #define DMA_INT_INT14_SHIFT (14U)
  25741. /*! INT14 - Interrupt Request 14
  25742. * 0b0..The interrupt request for channel 14 is cleared
  25743. * 0b1..The interrupt request for channel 14 is active
  25744. */
  25745. #define DMA_INT_INT14(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT14_SHIFT)) & DMA_INT_INT14_MASK)
  25746. #define DMA_INT_INT15_MASK (0x8000U)
  25747. #define DMA_INT_INT15_SHIFT (15U)
  25748. /*! INT15 - Interrupt Request 15
  25749. * 0b0..The interrupt request for channel 15 is cleared
  25750. * 0b1..The interrupt request for channel 15 is active
  25751. */
  25752. #define DMA_INT_INT15(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT15_SHIFT)) & DMA_INT_INT15_MASK)
  25753. #define DMA_INT_INT16_MASK (0x10000U)
  25754. #define DMA_INT_INT16_SHIFT (16U)
  25755. /*! INT16 - Interrupt Request 16
  25756. * 0b0..The interrupt request for channel 16 is cleared
  25757. * 0b1..The interrupt request for channel 16 is active
  25758. */
  25759. #define DMA_INT_INT16(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT16_SHIFT)) & DMA_INT_INT16_MASK)
  25760. #define DMA_INT_INT17_MASK (0x20000U)
  25761. #define DMA_INT_INT17_SHIFT (17U)
  25762. /*! INT17 - Interrupt Request 17
  25763. * 0b0..The interrupt request for channel 17 is cleared
  25764. * 0b1..The interrupt request for channel 17 is active
  25765. */
  25766. #define DMA_INT_INT17(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT17_SHIFT)) & DMA_INT_INT17_MASK)
  25767. #define DMA_INT_INT18_MASK (0x40000U)
  25768. #define DMA_INT_INT18_SHIFT (18U)
  25769. /*! INT18 - Interrupt Request 18
  25770. * 0b0..The interrupt request for channel 18 is cleared
  25771. * 0b1..The interrupt request for channel 18 is active
  25772. */
  25773. #define DMA_INT_INT18(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT18_SHIFT)) & DMA_INT_INT18_MASK)
  25774. #define DMA_INT_INT19_MASK (0x80000U)
  25775. #define DMA_INT_INT19_SHIFT (19U)
  25776. /*! INT19 - Interrupt Request 19
  25777. * 0b0..The interrupt request for channel 19 is cleared
  25778. * 0b1..The interrupt request for channel 19 is active
  25779. */
  25780. #define DMA_INT_INT19(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT19_SHIFT)) & DMA_INT_INT19_MASK)
  25781. #define DMA_INT_INT20_MASK (0x100000U)
  25782. #define DMA_INT_INT20_SHIFT (20U)
  25783. /*! INT20 - Interrupt Request 20
  25784. * 0b0..The interrupt request for channel 20 is cleared
  25785. * 0b1..The interrupt request for channel 20 is active
  25786. */
  25787. #define DMA_INT_INT20(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT20_SHIFT)) & DMA_INT_INT20_MASK)
  25788. #define DMA_INT_INT21_MASK (0x200000U)
  25789. #define DMA_INT_INT21_SHIFT (21U)
  25790. /*! INT21 - Interrupt Request 21
  25791. * 0b0..The interrupt request for channel 21 is cleared
  25792. * 0b1..The interrupt request for channel 21 is active
  25793. */
  25794. #define DMA_INT_INT21(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT21_SHIFT)) & DMA_INT_INT21_MASK)
  25795. #define DMA_INT_INT22_MASK (0x400000U)
  25796. #define DMA_INT_INT22_SHIFT (22U)
  25797. /*! INT22 - Interrupt Request 22
  25798. * 0b0..The interrupt request for channel 22 is cleared
  25799. * 0b1..The interrupt request for channel 22 is active
  25800. */
  25801. #define DMA_INT_INT22(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT22_SHIFT)) & DMA_INT_INT22_MASK)
  25802. #define DMA_INT_INT23_MASK (0x800000U)
  25803. #define DMA_INT_INT23_SHIFT (23U)
  25804. /*! INT23 - Interrupt Request 23
  25805. * 0b0..The interrupt request for channel 23 is cleared
  25806. * 0b1..The interrupt request for channel 23 is active
  25807. */
  25808. #define DMA_INT_INT23(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT23_SHIFT)) & DMA_INT_INT23_MASK)
  25809. #define DMA_INT_INT24_MASK (0x1000000U)
  25810. #define DMA_INT_INT24_SHIFT (24U)
  25811. /*! INT24 - Interrupt Request 24
  25812. * 0b0..The interrupt request for channel 24 is cleared
  25813. * 0b1..The interrupt request for channel 24 is active
  25814. */
  25815. #define DMA_INT_INT24(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT24_SHIFT)) & DMA_INT_INT24_MASK)
  25816. #define DMA_INT_INT25_MASK (0x2000000U)
  25817. #define DMA_INT_INT25_SHIFT (25U)
  25818. /*! INT25 - Interrupt Request 25
  25819. * 0b0..The interrupt request for channel 25 is cleared
  25820. * 0b1..The interrupt request for channel 25 is active
  25821. */
  25822. #define DMA_INT_INT25(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT25_SHIFT)) & DMA_INT_INT25_MASK)
  25823. #define DMA_INT_INT26_MASK (0x4000000U)
  25824. #define DMA_INT_INT26_SHIFT (26U)
  25825. /*! INT26 - Interrupt Request 26
  25826. * 0b0..The interrupt request for channel 26 is cleared
  25827. * 0b1..The interrupt request for channel 26 is active
  25828. */
  25829. #define DMA_INT_INT26(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT26_SHIFT)) & DMA_INT_INT26_MASK)
  25830. #define DMA_INT_INT27_MASK (0x8000000U)
  25831. #define DMA_INT_INT27_SHIFT (27U)
  25832. /*! INT27 - Interrupt Request 27
  25833. * 0b0..The interrupt request for channel 27 is cleared
  25834. * 0b1..The interrupt request for channel 27 is active
  25835. */
  25836. #define DMA_INT_INT27(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT27_SHIFT)) & DMA_INT_INT27_MASK)
  25837. #define DMA_INT_INT28_MASK (0x10000000U)
  25838. #define DMA_INT_INT28_SHIFT (28U)
  25839. /*! INT28 - Interrupt Request 28
  25840. * 0b0..The interrupt request for channel 28 is cleared
  25841. * 0b1..The interrupt request for channel 28 is active
  25842. */
  25843. #define DMA_INT_INT28(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT28_SHIFT)) & DMA_INT_INT28_MASK)
  25844. #define DMA_INT_INT29_MASK (0x20000000U)
  25845. #define DMA_INT_INT29_SHIFT (29U)
  25846. /*! INT29 - Interrupt Request 29
  25847. * 0b0..The interrupt request for channel 29 is cleared
  25848. * 0b1..The interrupt request for channel 29 is active
  25849. */
  25850. #define DMA_INT_INT29(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT29_SHIFT)) & DMA_INT_INT29_MASK)
  25851. #define DMA_INT_INT30_MASK (0x40000000U)
  25852. #define DMA_INT_INT30_SHIFT (30U)
  25853. /*! INT30 - Interrupt Request 30
  25854. * 0b0..The interrupt request for channel 30 is cleared
  25855. * 0b1..The interrupt request for channel 30 is active
  25856. */
  25857. #define DMA_INT_INT30(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT30_SHIFT)) & DMA_INT_INT30_MASK)
  25858. #define DMA_INT_INT31_MASK (0x80000000U)
  25859. #define DMA_INT_INT31_SHIFT (31U)
  25860. /*! INT31 - Interrupt Request 31
  25861. * 0b0..The interrupt request for channel 31 is cleared
  25862. * 0b1..The interrupt request for channel 31 is active
  25863. */
  25864. #define DMA_INT_INT31(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT31_SHIFT)) & DMA_INT_INT31_MASK)
  25865. /*! @} */
  25866. /*! @name ERR - Error */
  25867. /*! @{ */
  25868. #define DMA_ERR_ERR0_MASK (0x1U)
  25869. #define DMA_ERR_ERR0_SHIFT (0U)
  25870. /*! ERR0 - Error In Channel 0
  25871. * 0b0..No error in this channel has occurred
  25872. * 0b1..An error in this channel has occurred
  25873. */
  25874. #define DMA_ERR_ERR0(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR0_SHIFT)) & DMA_ERR_ERR0_MASK)
  25875. #define DMA_ERR_ERR1_MASK (0x2U)
  25876. #define DMA_ERR_ERR1_SHIFT (1U)
  25877. /*! ERR1 - Error In Channel 1
  25878. * 0b0..No error in this channel has occurred
  25879. * 0b1..An error in this channel has occurred
  25880. */
  25881. #define DMA_ERR_ERR1(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR1_SHIFT)) & DMA_ERR_ERR1_MASK)
  25882. #define DMA_ERR_ERR2_MASK (0x4U)
  25883. #define DMA_ERR_ERR2_SHIFT (2U)
  25884. /*! ERR2 - Error In Channel 2
  25885. * 0b0..No error in this channel has occurred
  25886. * 0b1..An error in this channel has occurred
  25887. */
  25888. #define DMA_ERR_ERR2(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR2_SHIFT)) & DMA_ERR_ERR2_MASK)
  25889. #define DMA_ERR_ERR3_MASK (0x8U)
  25890. #define DMA_ERR_ERR3_SHIFT (3U)
  25891. /*! ERR3 - Error In Channel 3
  25892. * 0b0..No error in this channel has occurred
  25893. * 0b1..An error in this channel has occurred
  25894. */
  25895. #define DMA_ERR_ERR3(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR3_SHIFT)) & DMA_ERR_ERR3_MASK)
  25896. #define DMA_ERR_ERR4_MASK (0x10U)
  25897. #define DMA_ERR_ERR4_SHIFT (4U)
  25898. /*! ERR4 - Error In Channel 4
  25899. * 0b0..No error in this channel has occurred
  25900. * 0b1..An error in this channel has occurred
  25901. */
  25902. #define DMA_ERR_ERR4(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR4_SHIFT)) & DMA_ERR_ERR4_MASK)
  25903. #define DMA_ERR_ERR5_MASK (0x20U)
  25904. #define DMA_ERR_ERR5_SHIFT (5U)
  25905. /*! ERR5 - Error In Channel 5
  25906. * 0b0..No error in this channel has occurred
  25907. * 0b1..An error in this channel has occurred
  25908. */
  25909. #define DMA_ERR_ERR5(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR5_SHIFT)) & DMA_ERR_ERR5_MASK)
  25910. #define DMA_ERR_ERR6_MASK (0x40U)
  25911. #define DMA_ERR_ERR6_SHIFT (6U)
  25912. /*! ERR6 - Error In Channel 6
  25913. * 0b0..No error in this channel has occurred
  25914. * 0b1..An error in this channel has occurred
  25915. */
  25916. #define DMA_ERR_ERR6(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR6_SHIFT)) & DMA_ERR_ERR6_MASK)
  25917. #define DMA_ERR_ERR7_MASK (0x80U)
  25918. #define DMA_ERR_ERR7_SHIFT (7U)
  25919. /*! ERR7 - Error In Channel 7
  25920. * 0b0..No error in this channel has occurred
  25921. * 0b1..An error in this channel has occurred
  25922. */
  25923. #define DMA_ERR_ERR7(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR7_SHIFT)) & DMA_ERR_ERR7_MASK)
  25924. #define DMA_ERR_ERR8_MASK (0x100U)
  25925. #define DMA_ERR_ERR8_SHIFT (8U)
  25926. /*! ERR8 - Error In Channel 8
  25927. * 0b0..No error in this channel has occurred
  25928. * 0b1..An error in this channel has occurred
  25929. */
  25930. #define DMA_ERR_ERR8(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR8_SHIFT)) & DMA_ERR_ERR8_MASK)
  25931. #define DMA_ERR_ERR9_MASK (0x200U)
  25932. #define DMA_ERR_ERR9_SHIFT (9U)
  25933. /*! ERR9 - Error In Channel 9
  25934. * 0b0..No error in this channel has occurred
  25935. * 0b1..An error in this channel has occurred
  25936. */
  25937. #define DMA_ERR_ERR9(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR9_SHIFT)) & DMA_ERR_ERR9_MASK)
  25938. #define DMA_ERR_ERR10_MASK (0x400U)
  25939. #define DMA_ERR_ERR10_SHIFT (10U)
  25940. /*! ERR10 - Error In Channel 10
  25941. * 0b0..No error in this channel has occurred
  25942. * 0b1..An error in this channel has occurred
  25943. */
  25944. #define DMA_ERR_ERR10(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR10_SHIFT)) & DMA_ERR_ERR10_MASK)
  25945. #define DMA_ERR_ERR11_MASK (0x800U)
  25946. #define DMA_ERR_ERR11_SHIFT (11U)
  25947. /*! ERR11 - Error In Channel 11
  25948. * 0b0..No error in this channel has occurred
  25949. * 0b1..An error in this channel has occurred
  25950. */
  25951. #define DMA_ERR_ERR11(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR11_SHIFT)) & DMA_ERR_ERR11_MASK)
  25952. #define DMA_ERR_ERR12_MASK (0x1000U)
  25953. #define DMA_ERR_ERR12_SHIFT (12U)
  25954. /*! ERR12 - Error In Channel 12
  25955. * 0b0..No error in this channel has occurred
  25956. * 0b1..An error in this channel has occurred
  25957. */
  25958. #define DMA_ERR_ERR12(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR12_SHIFT)) & DMA_ERR_ERR12_MASK)
  25959. #define DMA_ERR_ERR13_MASK (0x2000U)
  25960. #define DMA_ERR_ERR13_SHIFT (13U)
  25961. /*! ERR13 - Error In Channel 13
  25962. * 0b0..No error in this channel has occurred
  25963. * 0b1..An error in this channel has occurred
  25964. */
  25965. #define DMA_ERR_ERR13(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR13_SHIFT)) & DMA_ERR_ERR13_MASK)
  25966. #define DMA_ERR_ERR14_MASK (0x4000U)
  25967. #define DMA_ERR_ERR14_SHIFT (14U)
  25968. /*! ERR14 - Error In Channel 14
  25969. * 0b0..No error in this channel has occurred
  25970. * 0b1..An error in this channel has occurred
  25971. */
  25972. #define DMA_ERR_ERR14(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR14_SHIFT)) & DMA_ERR_ERR14_MASK)
  25973. #define DMA_ERR_ERR15_MASK (0x8000U)
  25974. #define DMA_ERR_ERR15_SHIFT (15U)
  25975. /*! ERR15 - Error In Channel 15
  25976. * 0b0..No error in this channel has occurred
  25977. * 0b1..An error in this channel has occurred
  25978. */
  25979. #define DMA_ERR_ERR15(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR15_SHIFT)) & DMA_ERR_ERR15_MASK)
  25980. #define DMA_ERR_ERR16_MASK (0x10000U)
  25981. #define DMA_ERR_ERR16_SHIFT (16U)
  25982. /*! ERR16 - Error In Channel 16
  25983. * 0b0..No error in this channel has occurred
  25984. * 0b1..An error in this channel has occurred
  25985. */
  25986. #define DMA_ERR_ERR16(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR16_SHIFT)) & DMA_ERR_ERR16_MASK)
  25987. #define DMA_ERR_ERR17_MASK (0x20000U)
  25988. #define DMA_ERR_ERR17_SHIFT (17U)
  25989. /*! ERR17 - Error In Channel 17
  25990. * 0b0..No error in this channel has occurred
  25991. * 0b1..An error in this channel has occurred
  25992. */
  25993. #define DMA_ERR_ERR17(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR17_SHIFT)) & DMA_ERR_ERR17_MASK)
  25994. #define DMA_ERR_ERR18_MASK (0x40000U)
  25995. #define DMA_ERR_ERR18_SHIFT (18U)
  25996. /*! ERR18 - Error In Channel 18
  25997. * 0b0..No error in this channel has occurred
  25998. * 0b1..An error in this channel has occurred
  25999. */
  26000. #define DMA_ERR_ERR18(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR18_SHIFT)) & DMA_ERR_ERR18_MASK)
  26001. #define DMA_ERR_ERR19_MASK (0x80000U)
  26002. #define DMA_ERR_ERR19_SHIFT (19U)
  26003. /*! ERR19 - Error In Channel 19
  26004. * 0b0..No error in this channel has occurred
  26005. * 0b1..An error in this channel has occurred
  26006. */
  26007. #define DMA_ERR_ERR19(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR19_SHIFT)) & DMA_ERR_ERR19_MASK)
  26008. #define DMA_ERR_ERR20_MASK (0x100000U)
  26009. #define DMA_ERR_ERR20_SHIFT (20U)
  26010. /*! ERR20 - Error In Channel 20
  26011. * 0b0..No error in this channel has occurred
  26012. * 0b1..An error in this channel has occurred
  26013. */
  26014. #define DMA_ERR_ERR20(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR20_SHIFT)) & DMA_ERR_ERR20_MASK)
  26015. #define DMA_ERR_ERR21_MASK (0x200000U)
  26016. #define DMA_ERR_ERR21_SHIFT (21U)
  26017. /*! ERR21 - Error In Channel 21
  26018. * 0b0..No error in this channel has occurred
  26019. * 0b1..An error in this channel has occurred
  26020. */
  26021. #define DMA_ERR_ERR21(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR21_SHIFT)) & DMA_ERR_ERR21_MASK)
  26022. #define DMA_ERR_ERR22_MASK (0x400000U)
  26023. #define DMA_ERR_ERR22_SHIFT (22U)
  26024. /*! ERR22 - Error In Channel 22
  26025. * 0b0..No error in this channel has occurred
  26026. * 0b1..An error in this channel has occurred
  26027. */
  26028. #define DMA_ERR_ERR22(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR22_SHIFT)) & DMA_ERR_ERR22_MASK)
  26029. #define DMA_ERR_ERR23_MASK (0x800000U)
  26030. #define DMA_ERR_ERR23_SHIFT (23U)
  26031. /*! ERR23 - Error In Channel 23
  26032. * 0b0..No error in this channel has occurred
  26033. * 0b1..An error in this channel has occurred
  26034. */
  26035. #define DMA_ERR_ERR23(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR23_SHIFT)) & DMA_ERR_ERR23_MASK)
  26036. #define DMA_ERR_ERR24_MASK (0x1000000U)
  26037. #define DMA_ERR_ERR24_SHIFT (24U)
  26038. /*! ERR24 - Error In Channel 24
  26039. * 0b0..No error in this channel has occurred
  26040. * 0b1..An error in this channel has occurred
  26041. */
  26042. #define DMA_ERR_ERR24(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR24_SHIFT)) & DMA_ERR_ERR24_MASK)
  26043. #define DMA_ERR_ERR25_MASK (0x2000000U)
  26044. #define DMA_ERR_ERR25_SHIFT (25U)
  26045. /*! ERR25 - Error In Channel 25
  26046. * 0b0..No error in this channel has occurred
  26047. * 0b1..An error in this channel has occurred
  26048. */
  26049. #define DMA_ERR_ERR25(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR25_SHIFT)) & DMA_ERR_ERR25_MASK)
  26050. #define DMA_ERR_ERR26_MASK (0x4000000U)
  26051. #define DMA_ERR_ERR26_SHIFT (26U)
  26052. /*! ERR26 - Error In Channel 26
  26053. * 0b0..No error in this channel has occurred
  26054. * 0b1..An error in this channel has occurred
  26055. */
  26056. #define DMA_ERR_ERR26(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR26_SHIFT)) & DMA_ERR_ERR26_MASK)
  26057. #define DMA_ERR_ERR27_MASK (0x8000000U)
  26058. #define DMA_ERR_ERR27_SHIFT (27U)
  26059. /*! ERR27 - Error In Channel 27
  26060. * 0b0..No error in this channel has occurred
  26061. * 0b1..An error in this channel has occurred
  26062. */
  26063. #define DMA_ERR_ERR27(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR27_SHIFT)) & DMA_ERR_ERR27_MASK)
  26064. #define DMA_ERR_ERR28_MASK (0x10000000U)
  26065. #define DMA_ERR_ERR28_SHIFT (28U)
  26066. /*! ERR28 - Error In Channel 28
  26067. * 0b0..No error in this channel has occurred
  26068. * 0b1..An error in this channel has occurred
  26069. */
  26070. #define DMA_ERR_ERR28(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR28_SHIFT)) & DMA_ERR_ERR28_MASK)
  26071. #define DMA_ERR_ERR29_MASK (0x20000000U)
  26072. #define DMA_ERR_ERR29_SHIFT (29U)
  26073. /*! ERR29 - Error In Channel 29
  26074. * 0b0..No error in this channel has occurred
  26075. * 0b1..An error in this channel has occurred
  26076. */
  26077. #define DMA_ERR_ERR29(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR29_SHIFT)) & DMA_ERR_ERR29_MASK)
  26078. #define DMA_ERR_ERR30_MASK (0x40000000U)
  26079. #define DMA_ERR_ERR30_SHIFT (30U)
  26080. /*! ERR30 - Error In Channel 30
  26081. * 0b0..No error in this channel has occurred
  26082. * 0b1..An error in this channel has occurred
  26083. */
  26084. #define DMA_ERR_ERR30(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR30_SHIFT)) & DMA_ERR_ERR30_MASK)
  26085. #define DMA_ERR_ERR31_MASK (0x80000000U)
  26086. #define DMA_ERR_ERR31_SHIFT (31U)
  26087. /*! ERR31 - Error In Channel 31
  26088. * 0b0..No error in this channel has occurred
  26089. * 0b1..An error in this channel has occurred
  26090. */
  26091. #define DMA_ERR_ERR31(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR31_SHIFT)) & DMA_ERR_ERR31_MASK)
  26092. /*! @} */
  26093. /*! @name HRS - Hardware Request Status */
  26094. /*! @{ */
  26095. #define DMA_HRS_HRS0_MASK (0x1U)
  26096. #define DMA_HRS_HRS0_SHIFT (0U)
  26097. /*! HRS0 - Hardware Request Status Channel 0
  26098. * 0b0..A hardware service request for channel 0 is not present
  26099. * 0b1..A hardware service request for channel 0 is present
  26100. */
  26101. #define DMA_HRS_HRS0(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS0_SHIFT)) & DMA_HRS_HRS0_MASK)
  26102. #define DMA_HRS_HRS1_MASK (0x2U)
  26103. #define DMA_HRS_HRS1_SHIFT (1U)
  26104. /*! HRS1 - Hardware Request Status Channel 1
  26105. * 0b0..A hardware service request for channel 1 is not present
  26106. * 0b1..A hardware service request for channel 1 is present
  26107. */
  26108. #define DMA_HRS_HRS1(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS1_SHIFT)) & DMA_HRS_HRS1_MASK)
  26109. #define DMA_HRS_HRS2_MASK (0x4U)
  26110. #define DMA_HRS_HRS2_SHIFT (2U)
  26111. /*! HRS2 - Hardware Request Status Channel 2
  26112. * 0b0..A hardware service request for channel 2 is not present
  26113. * 0b1..A hardware service request for channel 2 is present
  26114. */
  26115. #define DMA_HRS_HRS2(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS2_SHIFT)) & DMA_HRS_HRS2_MASK)
  26116. #define DMA_HRS_HRS3_MASK (0x8U)
  26117. #define DMA_HRS_HRS3_SHIFT (3U)
  26118. /*! HRS3 - Hardware Request Status Channel 3
  26119. * 0b0..A hardware service request for channel 3 is not present
  26120. * 0b1..A hardware service request for channel 3 is present
  26121. */
  26122. #define DMA_HRS_HRS3(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS3_SHIFT)) & DMA_HRS_HRS3_MASK)
  26123. #define DMA_HRS_HRS4_MASK (0x10U)
  26124. #define DMA_HRS_HRS4_SHIFT (4U)
  26125. /*! HRS4 - Hardware Request Status Channel 4
  26126. * 0b0..A hardware service request for channel 4 is not present
  26127. * 0b1..A hardware service request for channel 4 is present
  26128. */
  26129. #define DMA_HRS_HRS4(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS4_SHIFT)) & DMA_HRS_HRS4_MASK)
  26130. #define DMA_HRS_HRS5_MASK (0x20U)
  26131. #define DMA_HRS_HRS5_SHIFT (5U)
  26132. /*! HRS5 - Hardware Request Status Channel 5
  26133. * 0b0..A hardware service request for channel 5 is not present
  26134. * 0b1..A hardware service request for channel 5 is present
  26135. */
  26136. #define DMA_HRS_HRS5(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS5_SHIFT)) & DMA_HRS_HRS5_MASK)
  26137. #define DMA_HRS_HRS6_MASK (0x40U)
  26138. #define DMA_HRS_HRS6_SHIFT (6U)
  26139. /*! HRS6 - Hardware Request Status Channel 6
  26140. * 0b0..A hardware service request for channel 6 is not present
  26141. * 0b1..A hardware service request for channel 6 is present
  26142. */
  26143. #define DMA_HRS_HRS6(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS6_SHIFT)) & DMA_HRS_HRS6_MASK)
  26144. #define DMA_HRS_HRS7_MASK (0x80U)
  26145. #define DMA_HRS_HRS7_SHIFT (7U)
  26146. /*! HRS7 - Hardware Request Status Channel 7
  26147. * 0b0..A hardware service request for channel 7 is not present
  26148. * 0b1..A hardware service request for channel 7 is present
  26149. */
  26150. #define DMA_HRS_HRS7(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS7_SHIFT)) & DMA_HRS_HRS7_MASK)
  26151. #define DMA_HRS_HRS8_MASK (0x100U)
  26152. #define DMA_HRS_HRS8_SHIFT (8U)
  26153. /*! HRS8 - Hardware Request Status Channel 8
  26154. * 0b0..A hardware service request for channel 8 is not present
  26155. * 0b1..A hardware service request for channel 8 is present
  26156. */
  26157. #define DMA_HRS_HRS8(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS8_SHIFT)) & DMA_HRS_HRS8_MASK)
  26158. #define DMA_HRS_HRS9_MASK (0x200U)
  26159. #define DMA_HRS_HRS9_SHIFT (9U)
  26160. /*! HRS9 - Hardware Request Status Channel 9
  26161. * 0b0..A hardware service request for channel 9 is not present
  26162. * 0b1..A hardware service request for channel 9 is present
  26163. */
  26164. #define DMA_HRS_HRS9(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS9_SHIFT)) & DMA_HRS_HRS9_MASK)
  26165. #define DMA_HRS_HRS10_MASK (0x400U)
  26166. #define DMA_HRS_HRS10_SHIFT (10U)
  26167. /*! HRS10 - Hardware Request Status Channel 10
  26168. * 0b0..A hardware service request for channel 10 is not present
  26169. * 0b1..A hardware service request for channel 10 is present
  26170. */
  26171. #define DMA_HRS_HRS10(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS10_SHIFT)) & DMA_HRS_HRS10_MASK)
  26172. #define DMA_HRS_HRS11_MASK (0x800U)
  26173. #define DMA_HRS_HRS11_SHIFT (11U)
  26174. /*! HRS11 - Hardware Request Status Channel 11
  26175. * 0b0..A hardware service request for channel 11 is not present
  26176. * 0b1..A hardware service request for channel 11 is present
  26177. */
  26178. #define DMA_HRS_HRS11(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS11_SHIFT)) & DMA_HRS_HRS11_MASK)
  26179. #define DMA_HRS_HRS12_MASK (0x1000U)
  26180. #define DMA_HRS_HRS12_SHIFT (12U)
  26181. /*! HRS12 - Hardware Request Status Channel 12
  26182. * 0b0..A hardware service request for channel 12 is not present
  26183. * 0b1..A hardware service request for channel 12 is present
  26184. */
  26185. #define DMA_HRS_HRS12(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS12_SHIFT)) & DMA_HRS_HRS12_MASK)
  26186. #define DMA_HRS_HRS13_MASK (0x2000U)
  26187. #define DMA_HRS_HRS13_SHIFT (13U)
  26188. /*! HRS13 - Hardware Request Status Channel 13
  26189. * 0b0..A hardware service request for channel 13 is not present
  26190. * 0b1..A hardware service request for channel 13 is present
  26191. */
  26192. #define DMA_HRS_HRS13(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS13_SHIFT)) & DMA_HRS_HRS13_MASK)
  26193. #define DMA_HRS_HRS14_MASK (0x4000U)
  26194. #define DMA_HRS_HRS14_SHIFT (14U)
  26195. /*! HRS14 - Hardware Request Status Channel 14
  26196. * 0b0..A hardware service request for channel 14 is not present
  26197. * 0b1..A hardware service request for channel 14 is present
  26198. */
  26199. #define DMA_HRS_HRS14(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS14_SHIFT)) & DMA_HRS_HRS14_MASK)
  26200. #define DMA_HRS_HRS15_MASK (0x8000U)
  26201. #define DMA_HRS_HRS15_SHIFT (15U)
  26202. /*! HRS15 - Hardware Request Status Channel 15
  26203. * 0b0..A hardware service request for channel 15 is not present
  26204. * 0b1..A hardware service request for channel 15 is present
  26205. */
  26206. #define DMA_HRS_HRS15(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS15_SHIFT)) & DMA_HRS_HRS15_MASK)
  26207. #define DMA_HRS_HRS16_MASK (0x10000U)
  26208. #define DMA_HRS_HRS16_SHIFT (16U)
  26209. /*! HRS16 - Hardware Request Status Channel 16
  26210. * 0b0..A hardware service request for channel 16 is not present
  26211. * 0b1..A hardware service request for channel 16 is present
  26212. */
  26213. #define DMA_HRS_HRS16(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS16_SHIFT)) & DMA_HRS_HRS16_MASK)
  26214. #define DMA_HRS_HRS17_MASK (0x20000U)
  26215. #define DMA_HRS_HRS17_SHIFT (17U)
  26216. /*! HRS17 - Hardware Request Status Channel 17
  26217. * 0b0..A hardware service request for channel 17 is not present
  26218. * 0b1..A hardware service request for channel 17 is present
  26219. */
  26220. #define DMA_HRS_HRS17(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS17_SHIFT)) & DMA_HRS_HRS17_MASK)
  26221. #define DMA_HRS_HRS18_MASK (0x40000U)
  26222. #define DMA_HRS_HRS18_SHIFT (18U)
  26223. /*! HRS18 - Hardware Request Status Channel 18
  26224. * 0b0..A hardware service request for channel 18 is not present
  26225. * 0b1..A hardware service request for channel 18 is present
  26226. */
  26227. #define DMA_HRS_HRS18(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS18_SHIFT)) & DMA_HRS_HRS18_MASK)
  26228. #define DMA_HRS_HRS19_MASK (0x80000U)
  26229. #define DMA_HRS_HRS19_SHIFT (19U)
  26230. /*! HRS19 - Hardware Request Status Channel 19
  26231. * 0b0..A hardware service request for channel 19 is not present
  26232. * 0b1..A hardware service request for channel 19 is present
  26233. */
  26234. #define DMA_HRS_HRS19(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS19_SHIFT)) & DMA_HRS_HRS19_MASK)
  26235. #define DMA_HRS_HRS20_MASK (0x100000U)
  26236. #define DMA_HRS_HRS20_SHIFT (20U)
  26237. /*! HRS20 - Hardware Request Status Channel 20
  26238. * 0b0..A hardware service request for channel 20 is not present
  26239. * 0b1..A hardware service request for channel 20 is present
  26240. */
  26241. #define DMA_HRS_HRS20(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS20_SHIFT)) & DMA_HRS_HRS20_MASK)
  26242. #define DMA_HRS_HRS21_MASK (0x200000U)
  26243. #define DMA_HRS_HRS21_SHIFT (21U)
  26244. /*! HRS21 - Hardware Request Status Channel 21
  26245. * 0b0..A hardware service request for channel 21 is not present
  26246. * 0b1..A hardware service request for channel 21 is present
  26247. */
  26248. #define DMA_HRS_HRS21(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS21_SHIFT)) & DMA_HRS_HRS21_MASK)
  26249. #define DMA_HRS_HRS22_MASK (0x400000U)
  26250. #define DMA_HRS_HRS22_SHIFT (22U)
  26251. /*! HRS22 - Hardware Request Status Channel 22
  26252. * 0b0..A hardware service request for channel 22 is not present
  26253. * 0b1..A hardware service request for channel 22 is present
  26254. */
  26255. #define DMA_HRS_HRS22(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS22_SHIFT)) & DMA_HRS_HRS22_MASK)
  26256. #define DMA_HRS_HRS23_MASK (0x800000U)
  26257. #define DMA_HRS_HRS23_SHIFT (23U)
  26258. /*! HRS23 - Hardware Request Status Channel 23
  26259. * 0b0..A hardware service request for channel 23 is not present
  26260. * 0b1..A hardware service request for channel 23 is present
  26261. */
  26262. #define DMA_HRS_HRS23(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS23_SHIFT)) & DMA_HRS_HRS23_MASK)
  26263. #define DMA_HRS_HRS24_MASK (0x1000000U)
  26264. #define DMA_HRS_HRS24_SHIFT (24U)
  26265. /*! HRS24 - Hardware Request Status Channel 24
  26266. * 0b0..A hardware service request for channel 24 is not present
  26267. * 0b1..A hardware service request for channel 24 is present
  26268. */
  26269. #define DMA_HRS_HRS24(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS24_SHIFT)) & DMA_HRS_HRS24_MASK)
  26270. #define DMA_HRS_HRS25_MASK (0x2000000U)
  26271. #define DMA_HRS_HRS25_SHIFT (25U)
  26272. /*! HRS25 - Hardware Request Status Channel 25
  26273. * 0b0..A hardware service request for channel 25 is not present
  26274. * 0b1..A hardware service request for channel 25 is present
  26275. */
  26276. #define DMA_HRS_HRS25(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS25_SHIFT)) & DMA_HRS_HRS25_MASK)
  26277. #define DMA_HRS_HRS26_MASK (0x4000000U)
  26278. #define DMA_HRS_HRS26_SHIFT (26U)
  26279. /*! HRS26 - Hardware Request Status Channel 26
  26280. * 0b0..A hardware service request for channel 26 is not present
  26281. * 0b1..A hardware service request for channel 26 is present
  26282. */
  26283. #define DMA_HRS_HRS26(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS26_SHIFT)) & DMA_HRS_HRS26_MASK)
  26284. #define DMA_HRS_HRS27_MASK (0x8000000U)
  26285. #define DMA_HRS_HRS27_SHIFT (27U)
  26286. /*! HRS27 - Hardware Request Status Channel 27
  26287. * 0b0..A hardware service request for channel 27 is not present
  26288. * 0b1..A hardware service request for channel 27 is present
  26289. */
  26290. #define DMA_HRS_HRS27(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS27_SHIFT)) & DMA_HRS_HRS27_MASK)
  26291. #define DMA_HRS_HRS28_MASK (0x10000000U)
  26292. #define DMA_HRS_HRS28_SHIFT (28U)
  26293. /*! HRS28 - Hardware Request Status Channel 28
  26294. * 0b0..A hardware service request for channel 28 is not present
  26295. * 0b1..A hardware service request for channel 28 is present
  26296. */
  26297. #define DMA_HRS_HRS28(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS28_SHIFT)) & DMA_HRS_HRS28_MASK)
  26298. #define DMA_HRS_HRS29_MASK (0x20000000U)
  26299. #define DMA_HRS_HRS29_SHIFT (29U)
  26300. /*! HRS29 - Hardware Request Status Channel 29
  26301. * 0b0..A hardware service request for channel 29 is not preset
  26302. * 0b1..A hardware service request for channel 29 is present
  26303. */
  26304. #define DMA_HRS_HRS29(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS29_SHIFT)) & DMA_HRS_HRS29_MASK)
  26305. #define DMA_HRS_HRS30_MASK (0x40000000U)
  26306. #define DMA_HRS_HRS30_SHIFT (30U)
  26307. /*! HRS30 - Hardware Request Status Channel 30
  26308. * 0b0..A hardware service request for channel 30 is not present
  26309. * 0b1..A hardware service request for channel 30 is present
  26310. */
  26311. #define DMA_HRS_HRS30(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS30_SHIFT)) & DMA_HRS_HRS30_MASK)
  26312. #define DMA_HRS_HRS31_MASK (0x80000000U)
  26313. #define DMA_HRS_HRS31_SHIFT (31U)
  26314. /*! HRS31 - Hardware Request Status Channel 31
  26315. * 0b0..A hardware service request for channel 31 is not present
  26316. * 0b1..A hardware service request for channel 31 is present
  26317. */
  26318. #define DMA_HRS_HRS31(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS31_SHIFT)) & DMA_HRS_HRS31_MASK)
  26319. /*! @} */
  26320. /*! @name EARS - Enable Asynchronous Request in Stop */
  26321. /*! @{ */
  26322. #define DMA_EARS_EDREQ_0_MASK (0x1U)
  26323. #define DMA_EARS_EDREQ_0_SHIFT (0U)
  26324. /*! EDREQ_0 - Enable asynchronous DMA request in stop mode for channel 0.
  26325. * 0b0..Disable asynchronous DMA request for channel 0
  26326. * 0b1..Enable asynchronous DMA request for channel 0
  26327. */
  26328. #define DMA_EARS_EDREQ_0(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_0_SHIFT)) & DMA_EARS_EDREQ_0_MASK)
  26329. #define DMA_EARS_EDREQ_1_MASK (0x2U)
  26330. #define DMA_EARS_EDREQ_1_SHIFT (1U)
  26331. /*! EDREQ_1 - Enable asynchronous DMA request in stop mode for channel 1.
  26332. * 0b0..Disable asynchronous DMA request for channel 1
  26333. * 0b1..Enable asynchronous DMA request for channel 1
  26334. */
  26335. #define DMA_EARS_EDREQ_1(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_1_SHIFT)) & DMA_EARS_EDREQ_1_MASK)
  26336. #define DMA_EARS_EDREQ_2_MASK (0x4U)
  26337. #define DMA_EARS_EDREQ_2_SHIFT (2U)
  26338. /*! EDREQ_2 - Enable asynchronous DMA request in stop mode for channel 2.
  26339. * 0b0..Disable asynchronous DMA request for channel 2
  26340. * 0b1..Enable asynchronous DMA request for channel 2
  26341. */
  26342. #define DMA_EARS_EDREQ_2(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_2_SHIFT)) & DMA_EARS_EDREQ_2_MASK)
  26343. #define DMA_EARS_EDREQ_3_MASK (0x8U)
  26344. #define DMA_EARS_EDREQ_3_SHIFT (3U)
  26345. /*! EDREQ_3 - Enable asynchronous DMA request in stop mode for channel 3.
  26346. * 0b0..Disable asynchronous DMA request for channel 3
  26347. * 0b1..Enable asynchronous DMA request for channel 3
  26348. */
  26349. #define DMA_EARS_EDREQ_3(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_3_SHIFT)) & DMA_EARS_EDREQ_3_MASK)
  26350. #define DMA_EARS_EDREQ_4_MASK (0x10U)
  26351. #define DMA_EARS_EDREQ_4_SHIFT (4U)
  26352. /*! EDREQ_4 - Enable asynchronous DMA request in stop mode for channel 4.
  26353. * 0b0..Disable asynchronous DMA request for channel 4
  26354. * 0b1..Enable asynchronous DMA request for channel 4
  26355. */
  26356. #define DMA_EARS_EDREQ_4(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_4_SHIFT)) & DMA_EARS_EDREQ_4_MASK)
  26357. #define DMA_EARS_EDREQ_5_MASK (0x20U)
  26358. #define DMA_EARS_EDREQ_5_SHIFT (5U)
  26359. /*! EDREQ_5 - Enable asynchronous DMA request in stop mode for channel 5.
  26360. * 0b0..Disable asynchronous DMA request for channel 5
  26361. * 0b1..Enable asynchronous DMA request for channel 5
  26362. */
  26363. #define DMA_EARS_EDREQ_5(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_5_SHIFT)) & DMA_EARS_EDREQ_5_MASK)
  26364. #define DMA_EARS_EDREQ_6_MASK (0x40U)
  26365. #define DMA_EARS_EDREQ_6_SHIFT (6U)
  26366. /*! EDREQ_6 - Enable asynchronous DMA request in stop mode for channel 6.
  26367. * 0b0..Disable asynchronous DMA request for channel 6
  26368. * 0b1..Enable asynchronous DMA request for channel 6
  26369. */
  26370. #define DMA_EARS_EDREQ_6(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_6_SHIFT)) & DMA_EARS_EDREQ_6_MASK)
  26371. #define DMA_EARS_EDREQ_7_MASK (0x80U)
  26372. #define DMA_EARS_EDREQ_7_SHIFT (7U)
  26373. /*! EDREQ_7 - Enable asynchronous DMA request in stop mode for channel 7.
  26374. * 0b0..Disable asynchronous DMA request for channel 7
  26375. * 0b1..Enable asynchronous DMA request for channel 7
  26376. */
  26377. #define DMA_EARS_EDREQ_7(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_7_SHIFT)) & DMA_EARS_EDREQ_7_MASK)
  26378. #define DMA_EARS_EDREQ_8_MASK (0x100U)
  26379. #define DMA_EARS_EDREQ_8_SHIFT (8U)
  26380. /*! EDREQ_8 - Enable asynchronous DMA request in stop mode for channel 8.
  26381. * 0b0..Disable asynchronous DMA request for channel 8
  26382. * 0b1..Enable asynchronous DMA request for channel 8
  26383. */
  26384. #define DMA_EARS_EDREQ_8(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_8_SHIFT)) & DMA_EARS_EDREQ_8_MASK)
  26385. #define DMA_EARS_EDREQ_9_MASK (0x200U)
  26386. #define DMA_EARS_EDREQ_9_SHIFT (9U)
  26387. /*! EDREQ_9 - Enable asynchronous DMA request in stop mode for channel 9.
  26388. * 0b0..Disable asynchronous DMA request for channel 9
  26389. * 0b1..Enable asynchronous DMA request for channel 9
  26390. */
  26391. #define DMA_EARS_EDREQ_9(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_9_SHIFT)) & DMA_EARS_EDREQ_9_MASK)
  26392. #define DMA_EARS_EDREQ_10_MASK (0x400U)
  26393. #define DMA_EARS_EDREQ_10_SHIFT (10U)
  26394. /*! EDREQ_10 - Enable asynchronous DMA request in stop mode for channel 10.
  26395. * 0b0..Disable asynchronous DMA request for channel 10
  26396. * 0b1..Enable asynchronous DMA request for channel 10
  26397. */
  26398. #define DMA_EARS_EDREQ_10(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_10_SHIFT)) & DMA_EARS_EDREQ_10_MASK)
  26399. #define DMA_EARS_EDREQ_11_MASK (0x800U)
  26400. #define DMA_EARS_EDREQ_11_SHIFT (11U)
  26401. /*! EDREQ_11 - Enable asynchronous DMA request in stop mode for channel 11.
  26402. * 0b0..Disable asynchronous DMA request for channel 11
  26403. * 0b1..Enable asynchronous DMA request for channel 11
  26404. */
  26405. #define DMA_EARS_EDREQ_11(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_11_SHIFT)) & DMA_EARS_EDREQ_11_MASK)
  26406. #define DMA_EARS_EDREQ_12_MASK (0x1000U)
  26407. #define DMA_EARS_EDREQ_12_SHIFT (12U)
  26408. /*! EDREQ_12 - Enable asynchronous DMA request in stop mode for channel 12.
  26409. * 0b0..Disable asynchronous DMA request for channel 12
  26410. * 0b1..Enable asynchronous DMA request for channel 12
  26411. */
  26412. #define DMA_EARS_EDREQ_12(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_12_SHIFT)) & DMA_EARS_EDREQ_12_MASK)
  26413. #define DMA_EARS_EDREQ_13_MASK (0x2000U)
  26414. #define DMA_EARS_EDREQ_13_SHIFT (13U)
  26415. /*! EDREQ_13 - Enable asynchronous DMA request in stop mode for channel 13.
  26416. * 0b0..Disable asynchronous DMA request for channel 13
  26417. * 0b1..Enable asynchronous DMA request for channel 13
  26418. */
  26419. #define DMA_EARS_EDREQ_13(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_13_SHIFT)) & DMA_EARS_EDREQ_13_MASK)
  26420. #define DMA_EARS_EDREQ_14_MASK (0x4000U)
  26421. #define DMA_EARS_EDREQ_14_SHIFT (14U)
  26422. /*! EDREQ_14 - Enable asynchronous DMA request in stop mode for channel 14.
  26423. * 0b0..Disable asynchronous DMA request for channel 14
  26424. * 0b1..Enable asynchronous DMA request for channel 14
  26425. */
  26426. #define DMA_EARS_EDREQ_14(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_14_SHIFT)) & DMA_EARS_EDREQ_14_MASK)
  26427. #define DMA_EARS_EDREQ_15_MASK (0x8000U)
  26428. #define DMA_EARS_EDREQ_15_SHIFT (15U)
  26429. /*! EDREQ_15 - Enable asynchronous DMA request in stop mode for channel 15.
  26430. * 0b0..Disable asynchronous DMA request for channel 15
  26431. * 0b1..Enable asynchronous DMA request for channel 15
  26432. */
  26433. #define DMA_EARS_EDREQ_15(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_15_SHIFT)) & DMA_EARS_EDREQ_15_MASK)
  26434. #define DMA_EARS_EDREQ_16_MASK (0x10000U)
  26435. #define DMA_EARS_EDREQ_16_SHIFT (16U)
  26436. /*! EDREQ_16 - Enable asynchronous DMA request in stop mode for channel 16.
  26437. * 0b0..Disable asynchronous DMA request for channel 16
  26438. * 0b1..Enable asynchronous DMA request for channel 16
  26439. */
  26440. #define DMA_EARS_EDREQ_16(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_16_SHIFT)) & DMA_EARS_EDREQ_16_MASK)
  26441. #define DMA_EARS_EDREQ_17_MASK (0x20000U)
  26442. #define DMA_EARS_EDREQ_17_SHIFT (17U)
  26443. /*! EDREQ_17 - Enable asynchronous DMA request in stop mode for channel 17.
  26444. * 0b0..Disable asynchronous DMA request for channel 17
  26445. * 0b1..Enable asynchronous DMA request for channel 17
  26446. */
  26447. #define DMA_EARS_EDREQ_17(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_17_SHIFT)) & DMA_EARS_EDREQ_17_MASK)
  26448. #define DMA_EARS_EDREQ_18_MASK (0x40000U)
  26449. #define DMA_EARS_EDREQ_18_SHIFT (18U)
  26450. /*! EDREQ_18 - Enable asynchronous DMA request in stop mode for channel 18.
  26451. * 0b0..Disable asynchronous DMA request for channel 18
  26452. * 0b1..Enable asynchronous DMA request for channel 18
  26453. */
  26454. #define DMA_EARS_EDREQ_18(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_18_SHIFT)) & DMA_EARS_EDREQ_18_MASK)
  26455. #define DMA_EARS_EDREQ_19_MASK (0x80000U)
  26456. #define DMA_EARS_EDREQ_19_SHIFT (19U)
  26457. /*! EDREQ_19 - Enable asynchronous DMA request in stop mode for channel 19.
  26458. * 0b0..Disable asynchronous DMA request for channel 19
  26459. * 0b1..Enable asynchronous DMA request for channel 19
  26460. */
  26461. #define DMA_EARS_EDREQ_19(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_19_SHIFT)) & DMA_EARS_EDREQ_19_MASK)
  26462. #define DMA_EARS_EDREQ_20_MASK (0x100000U)
  26463. #define DMA_EARS_EDREQ_20_SHIFT (20U)
  26464. /*! EDREQ_20 - Enable asynchronous DMA request in stop mode for channel 20.
  26465. * 0b0..Disable asynchronous DMA request for channel 20
  26466. * 0b1..Enable asynchronous DMA request for channel 20
  26467. */
  26468. #define DMA_EARS_EDREQ_20(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_20_SHIFT)) & DMA_EARS_EDREQ_20_MASK)
  26469. #define DMA_EARS_EDREQ_21_MASK (0x200000U)
  26470. #define DMA_EARS_EDREQ_21_SHIFT (21U)
  26471. /*! EDREQ_21 - Enable asynchronous DMA request in stop mode for channel 21.
  26472. * 0b0..Disable asynchronous DMA request for channel 21
  26473. * 0b1..Enable asynchronous DMA request for channel 21
  26474. */
  26475. #define DMA_EARS_EDREQ_21(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_21_SHIFT)) & DMA_EARS_EDREQ_21_MASK)
  26476. #define DMA_EARS_EDREQ_22_MASK (0x400000U)
  26477. #define DMA_EARS_EDREQ_22_SHIFT (22U)
  26478. /*! EDREQ_22 - Enable asynchronous DMA request in stop mode for channel 22.
  26479. * 0b0..Disable asynchronous DMA request for channel 22
  26480. * 0b1..Enable asynchronous DMA request for channel 22
  26481. */
  26482. #define DMA_EARS_EDREQ_22(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_22_SHIFT)) & DMA_EARS_EDREQ_22_MASK)
  26483. #define DMA_EARS_EDREQ_23_MASK (0x800000U)
  26484. #define DMA_EARS_EDREQ_23_SHIFT (23U)
  26485. /*! EDREQ_23 - Enable asynchronous DMA request in stop mode for channel 23.
  26486. * 0b0..Disable asynchronous DMA request for channel 23
  26487. * 0b1..Enable asynchronous DMA request for channel 23
  26488. */
  26489. #define DMA_EARS_EDREQ_23(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_23_SHIFT)) & DMA_EARS_EDREQ_23_MASK)
  26490. #define DMA_EARS_EDREQ_24_MASK (0x1000000U)
  26491. #define DMA_EARS_EDREQ_24_SHIFT (24U)
  26492. /*! EDREQ_24 - Enable asynchronous DMA request in stop mode for channel 24.
  26493. * 0b0..Disable asynchronous DMA request for channel 24
  26494. * 0b1..Enable asynchronous DMA request for channel 24
  26495. */
  26496. #define DMA_EARS_EDREQ_24(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_24_SHIFT)) & DMA_EARS_EDREQ_24_MASK)
  26497. #define DMA_EARS_EDREQ_25_MASK (0x2000000U)
  26498. #define DMA_EARS_EDREQ_25_SHIFT (25U)
  26499. /*! EDREQ_25 - Enable asynchronous DMA request in stop mode for channel 25.
  26500. * 0b0..Disable asynchronous DMA request for channel 25
  26501. * 0b1..Enable asynchronous DMA request for channel 25
  26502. */
  26503. #define DMA_EARS_EDREQ_25(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_25_SHIFT)) & DMA_EARS_EDREQ_25_MASK)
  26504. #define DMA_EARS_EDREQ_26_MASK (0x4000000U)
  26505. #define DMA_EARS_EDREQ_26_SHIFT (26U)
  26506. /*! EDREQ_26 - Enable asynchronous DMA request in stop mode for channel 26.
  26507. * 0b0..Disable asynchronous DMA request for channel 26
  26508. * 0b1..Enable asynchronous DMA request for channel 26
  26509. */
  26510. #define DMA_EARS_EDREQ_26(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_26_SHIFT)) & DMA_EARS_EDREQ_26_MASK)
  26511. #define DMA_EARS_EDREQ_27_MASK (0x8000000U)
  26512. #define DMA_EARS_EDREQ_27_SHIFT (27U)
  26513. /*! EDREQ_27 - Enable asynchronous DMA request in stop mode for channel 27.
  26514. * 0b0..Disable asynchronous DMA request for channel 27
  26515. * 0b1..Enable asynchronous DMA request for channel 27
  26516. */
  26517. #define DMA_EARS_EDREQ_27(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_27_SHIFT)) & DMA_EARS_EDREQ_27_MASK)
  26518. #define DMA_EARS_EDREQ_28_MASK (0x10000000U)
  26519. #define DMA_EARS_EDREQ_28_SHIFT (28U)
  26520. /*! EDREQ_28 - Enable asynchronous DMA request in stop mode for channel 28.
  26521. * 0b0..Disable asynchronous DMA request for channel 28
  26522. * 0b1..Enable asynchronous DMA request for channel 28
  26523. */
  26524. #define DMA_EARS_EDREQ_28(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_28_SHIFT)) & DMA_EARS_EDREQ_28_MASK)
  26525. #define DMA_EARS_EDREQ_29_MASK (0x20000000U)
  26526. #define DMA_EARS_EDREQ_29_SHIFT (29U)
  26527. /*! EDREQ_29 - Enable asynchronous DMA request in stop mode for channel 29.
  26528. * 0b0..Disable asynchronous DMA request for channel 29
  26529. * 0b1..Enable asynchronous DMA request for channel 29
  26530. */
  26531. #define DMA_EARS_EDREQ_29(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_29_SHIFT)) & DMA_EARS_EDREQ_29_MASK)
  26532. #define DMA_EARS_EDREQ_30_MASK (0x40000000U)
  26533. #define DMA_EARS_EDREQ_30_SHIFT (30U)
  26534. /*! EDREQ_30 - Enable asynchronous DMA request in stop mode for channel 30.
  26535. * 0b0..Disable asynchronous DMA request for channel 30
  26536. * 0b1..Enable asynchronous DMA request for channel 30
  26537. */
  26538. #define DMA_EARS_EDREQ_30(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_30_SHIFT)) & DMA_EARS_EDREQ_30_MASK)
  26539. #define DMA_EARS_EDREQ_31_MASK (0x80000000U)
  26540. #define DMA_EARS_EDREQ_31_SHIFT (31U)
  26541. /*! EDREQ_31 - Enable asynchronous DMA request in stop mode for channel 31.
  26542. * 0b0..Disable asynchronous DMA request for channel 31
  26543. * 0b1..Enable asynchronous DMA request for channel 31
  26544. */
  26545. #define DMA_EARS_EDREQ_31(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_31_SHIFT)) & DMA_EARS_EDREQ_31_MASK)
  26546. /*! @} */
  26547. /*! @name DCHPRI3 - Channel Priority */
  26548. /*! @{ */
  26549. #define DMA_DCHPRI3_CHPRI_MASK (0xFU)
  26550. #define DMA_DCHPRI3_CHPRI_SHIFT (0U)
  26551. /*! CHPRI - Channel n Arbitration Priority
  26552. */
  26553. #define DMA_DCHPRI3_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI3_CHPRI_SHIFT)) & DMA_DCHPRI3_CHPRI_MASK)
  26554. #define DMA_DCHPRI3_GRPPRI_MASK (0x30U)
  26555. #define DMA_DCHPRI3_GRPPRI_SHIFT (4U)
  26556. /*! GRPPRI - Channel n Current Group Priority
  26557. */
  26558. #define DMA_DCHPRI3_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI3_GRPPRI_SHIFT)) & DMA_DCHPRI3_GRPPRI_MASK)
  26559. #define DMA_DCHPRI3_DPA_MASK (0x40U)
  26560. #define DMA_DCHPRI3_DPA_SHIFT (6U)
  26561. /*! DPA - Disable Preempt Ability. This field resets to 0.
  26562. * 0b0..Channel n can suspend a lower priority channel
  26563. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  26564. */
  26565. #define DMA_DCHPRI3_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI3_DPA_SHIFT)) & DMA_DCHPRI3_DPA_MASK)
  26566. #define DMA_DCHPRI3_ECP_MASK (0x80U)
  26567. #define DMA_DCHPRI3_ECP_SHIFT (7U)
  26568. /*! ECP - Enable Channel Preemption. This field resets to 0.
  26569. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  26570. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  26571. */
  26572. #define DMA_DCHPRI3_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI3_ECP_SHIFT)) & DMA_DCHPRI3_ECP_MASK)
  26573. /*! @} */
  26574. /*! @name DCHPRI2 - Channel Priority */
  26575. /*! @{ */
  26576. #define DMA_DCHPRI2_CHPRI_MASK (0xFU)
  26577. #define DMA_DCHPRI2_CHPRI_SHIFT (0U)
  26578. /*! CHPRI - Channel n Arbitration Priority
  26579. */
  26580. #define DMA_DCHPRI2_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI2_CHPRI_SHIFT)) & DMA_DCHPRI2_CHPRI_MASK)
  26581. #define DMA_DCHPRI2_GRPPRI_MASK (0x30U)
  26582. #define DMA_DCHPRI2_GRPPRI_SHIFT (4U)
  26583. /*! GRPPRI - Channel n Current Group Priority
  26584. */
  26585. #define DMA_DCHPRI2_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI2_GRPPRI_SHIFT)) & DMA_DCHPRI2_GRPPRI_MASK)
  26586. #define DMA_DCHPRI2_DPA_MASK (0x40U)
  26587. #define DMA_DCHPRI2_DPA_SHIFT (6U)
  26588. /*! DPA - Disable Preempt Ability. This field resets to 0.
  26589. * 0b0..Channel n can suspend a lower priority channel
  26590. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  26591. */
  26592. #define DMA_DCHPRI2_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI2_DPA_SHIFT)) & DMA_DCHPRI2_DPA_MASK)
  26593. #define DMA_DCHPRI2_ECP_MASK (0x80U)
  26594. #define DMA_DCHPRI2_ECP_SHIFT (7U)
  26595. /*! ECP - Enable Channel Preemption. This field resets to 0.
  26596. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  26597. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  26598. */
  26599. #define DMA_DCHPRI2_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI2_ECP_SHIFT)) & DMA_DCHPRI2_ECP_MASK)
  26600. /*! @} */
  26601. /*! @name DCHPRI1 - Channel Priority */
  26602. /*! @{ */
  26603. #define DMA_DCHPRI1_CHPRI_MASK (0xFU)
  26604. #define DMA_DCHPRI1_CHPRI_SHIFT (0U)
  26605. /*! CHPRI - Channel n Arbitration Priority
  26606. */
  26607. #define DMA_DCHPRI1_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI1_CHPRI_SHIFT)) & DMA_DCHPRI1_CHPRI_MASK)
  26608. #define DMA_DCHPRI1_GRPPRI_MASK (0x30U)
  26609. #define DMA_DCHPRI1_GRPPRI_SHIFT (4U)
  26610. /*! GRPPRI - Channel n Current Group Priority
  26611. */
  26612. #define DMA_DCHPRI1_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI1_GRPPRI_SHIFT)) & DMA_DCHPRI1_GRPPRI_MASK)
  26613. #define DMA_DCHPRI1_DPA_MASK (0x40U)
  26614. #define DMA_DCHPRI1_DPA_SHIFT (6U)
  26615. /*! DPA - Disable Preempt Ability. This field resets to 0.
  26616. * 0b0..Channel n can suspend a lower priority channel
  26617. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  26618. */
  26619. #define DMA_DCHPRI1_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI1_DPA_SHIFT)) & DMA_DCHPRI1_DPA_MASK)
  26620. #define DMA_DCHPRI1_ECP_MASK (0x80U)
  26621. #define DMA_DCHPRI1_ECP_SHIFT (7U)
  26622. /*! ECP - Enable Channel Preemption. This field resets to 0.
  26623. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  26624. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  26625. */
  26626. #define DMA_DCHPRI1_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI1_ECP_SHIFT)) & DMA_DCHPRI1_ECP_MASK)
  26627. /*! @} */
  26628. /*! @name DCHPRI0 - Channel Priority */
  26629. /*! @{ */
  26630. #define DMA_DCHPRI0_CHPRI_MASK (0xFU)
  26631. #define DMA_DCHPRI0_CHPRI_SHIFT (0U)
  26632. /*! CHPRI - Channel n Arbitration Priority
  26633. */
  26634. #define DMA_DCHPRI0_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI0_CHPRI_SHIFT)) & DMA_DCHPRI0_CHPRI_MASK)
  26635. #define DMA_DCHPRI0_GRPPRI_MASK (0x30U)
  26636. #define DMA_DCHPRI0_GRPPRI_SHIFT (4U)
  26637. /*! GRPPRI - Channel n Current Group Priority
  26638. */
  26639. #define DMA_DCHPRI0_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI0_GRPPRI_SHIFT)) & DMA_DCHPRI0_GRPPRI_MASK)
  26640. #define DMA_DCHPRI0_DPA_MASK (0x40U)
  26641. #define DMA_DCHPRI0_DPA_SHIFT (6U)
  26642. /*! DPA - Disable Preempt Ability. This field resets to 0.
  26643. * 0b0..Channel n can suspend a lower priority channel
  26644. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  26645. */
  26646. #define DMA_DCHPRI0_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI0_DPA_SHIFT)) & DMA_DCHPRI0_DPA_MASK)
  26647. #define DMA_DCHPRI0_ECP_MASK (0x80U)
  26648. #define DMA_DCHPRI0_ECP_SHIFT (7U)
  26649. /*! ECP - Enable Channel Preemption. This field resets to 0.
  26650. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  26651. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  26652. */
  26653. #define DMA_DCHPRI0_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI0_ECP_SHIFT)) & DMA_DCHPRI0_ECP_MASK)
  26654. /*! @} */
  26655. /*! @name DCHPRI7 - Channel Priority */
  26656. /*! @{ */
  26657. #define DMA_DCHPRI7_CHPRI_MASK (0xFU)
  26658. #define DMA_DCHPRI7_CHPRI_SHIFT (0U)
  26659. /*! CHPRI - Channel n Arbitration Priority
  26660. */
  26661. #define DMA_DCHPRI7_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI7_CHPRI_SHIFT)) & DMA_DCHPRI7_CHPRI_MASK)
  26662. #define DMA_DCHPRI7_GRPPRI_MASK (0x30U)
  26663. #define DMA_DCHPRI7_GRPPRI_SHIFT (4U)
  26664. /*! GRPPRI - Channel n Current Group Priority
  26665. */
  26666. #define DMA_DCHPRI7_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI7_GRPPRI_SHIFT)) & DMA_DCHPRI7_GRPPRI_MASK)
  26667. #define DMA_DCHPRI7_DPA_MASK (0x40U)
  26668. #define DMA_DCHPRI7_DPA_SHIFT (6U)
  26669. /*! DPA - Disable Preempt Ability. This field resets to 0.
  26670. * 0b0..Channel n can suspend a lower priority channel
  26671. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  26672. */
  26673. #define DMA_DCHPRI7_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI7_DPA_SHIFT)) & DMA_DCHPRI7_DPA_MASK)
  26674. #define DMA_DCHPRI7_ECP_MASK (0x80U)
  26675. #define DMA_DCHPRI7_ECP_SHIFT (7U)
  26676. /*! ECP - Enable Channel Preemption. This field resets to 0.
  26677. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  26678. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  26679. */
  26680. #define DMA_DCHPRI7_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI7_ECP_SHIFT)) & DMA_DCHPRI7_ECP_MASK)
  26681. /*! @} */
  26682. /*! @name DCHPRI6 - Channel Priority */
  26683. /*! @{ */
  26684. #define DMA_DCHPRI6_CHPRI_MASK (0xFU)
  26685. #define DMA_DCHPRI6_CHPRI_SHIFT (0U)
  26686. /*! CHPRI - Channel n Arbitration Priority
  26687. */
  26688. #define DMA_DCHPRI6_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI6_CHPRI_SHIFT)) & DMA_DCHPRI6_CHPRI_MASK)
  26689. #define DMA_DCHPRI6_GRPPRI_MASK (0x30U)
  26690. #define DMA_DCHPRI6_GRPPRI_SHIFT (4U)
  26691. /*! GRPPRI - Channel n Current Group Priority
  26692. */
  26693. #define DMA_DCHPRI6_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI6_GRPPRI_SHIFT)) & DMA_DCHPRI6_GRPPRI_MASK)
  26694. #define DMA_DCHPRI6_DPA_MASK (0x40U)
  26695. #define DMA_DCHPRI6_DPA_SHIFT (6U)
  26696. /*! DPA - Disable Preempt Ability. This field resets to 0.
  26697. * 0b0..Channel n can suspend a lower priority channel
  26698. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  26699. */
  26700. #define DMA_DCHPRI6_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI6_DPA_SHIFT)) & DMA_DCHPRI6_DPA_MASK)
  26701. #define DMA_DCHPRI6_ECP_MASK (0x80U)
  26702. #define DMA_DCHPRI6_ECP_SHIFT (7U)
  26703. /*! ECP - Enable Channel Preemption. This field resets to 0.
  26704. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  26705. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  26706. */
  26707. #define DMA_DCHPRI6_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI6_ECP_SHIFT)) & DMA_DCHPRI6_ECP_MASK)
  26708. /*! @} */
  26709. /*! @name DCHPRI5 - Channel Priority */
  26710. /*! @{ */
  26711. #define DMA_DCHPRI5_CHPRI_MASK (0xFU)
  26712. #define DMA_DCHPRI5_CHPRI_SHIFT (0U)
  26713. /*! CHPRI - Channel n Arbitration Priority
  26714. */
  26715. #define DMA_DCHPRI5_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI5_CHPRI_SHIFT)) & DMA_DCHPRI5_CHPRI_MASK)
  26716. #define DMA_DCHPRI5_GRPPRI_MASK (0x30U)
  26717. #define DMA_DCHPRI5_GRPPRI_SHIFT (4U)
  26718. /*! GRPPRI - Channel n Current Group Priority
  26719. */
  26720. #define DMA_DCHPRI5_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI5_GRPPRI_SHIFT)) & DMA_DCHPRI5_GRPPRI_MASK)
  26721. #define DMA_DCHPRI5_DPA_MASK (0x40U)
  26722. #define DMA_DCHPRI5_DPA_SHIFT (6U)
  26723. /*! DPA - Disable Preempt Ability. This field resets to 0.
  26724. * 0b0..Channel n can suspend a lower priority channel
  26725. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  26726. */
  26727. #define DMA_DCHPRI5_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI5_DPA_SHIFT)) & DMA_DCHPRI5_DPA_MASK)
  26728. #define DMA_DCHPRI5_ECP_MASK (0x80U)
  26729. #define DMA_DCHPRI5_ECP_SHIFT (7U)
  26730. /*! ECP - Enable Channel Preemption. This field resets to 0.
  26731. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  26732. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  26733. */
  26734. #define DMA_DCHPRI5_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI5_ECP_SHIFT)) & DMA_DCHPRI5_ECP_MASK)
  26735. /*! @} */
  26736. /*! @name DCHPRI4 - Channel Priority */
  26737. /*! @{ */
  26738. #define DMA_DCHPRI4_CHPRI_MASK (0xFU)
  26739. #define DMA_DCHPRI4_CHPRI_SHIFT (0U)
  26740. /*! CHPRI - Channel n Arbitration Priority
  26741. */
  26742. #define DMA_DCHPRI4_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI4_CHPRI_SHIFT)) & DMA_DCHPRI4_CHPRI_MASK)
  26743. #define DMA_DCHPRI4_GRPPRI_MASK (0x30U)
  26744. #define DMA_DCHPRI4_GRPPRI_SHIFT (4U)
  26745. /*! GRPPRI - Channel n Current Group Priority
  26746. */
  26747. #define DMA_DCHPRI4_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI4_GRPPRI_SHIFT)) & DMA_DCHPRI4_GRPPRI_MASK)
  26748. #define DMA_DCHPRI4_DPA_MASK (0x40U)
  26749. #define DMA_DCHPRI4_DPA_SHIFT (6U)
  26750. /*! DPA - Disable Preempt Ability. This field resets to 0.
  26751. * 0b0..Channel n can suspend a lower priority channel
  26752. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  26753. */
  26754. #define DMA_DCHPRI4_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI4_DPA_SHIFT)) & DMA_DCHPRI4_DPA_MASK)
  26755. #define DMA_DCHPRI4_ECP_MASK (0x80U)
  26756. #define DMA_DCHPRI4_ECP_SHIFT (7U)
  26757. /*! ECP - Enable Channel Preemption. This field resets to 0.
  26758. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  26759. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  26760. */
  26761. #define DMA_DCHPRI4_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI4_ECP_SHIFT)) & DMA_DCHPRI4_ECP_MASK)
  26762. /*! @} */
  26763. /*! @name DCHPRI11 - Channel Priority */
  26764. /*! @{ */
  26765. #define DMA_DCHPRI11_CHPRI_MASK (0xFU)
  26766. #define DMA_DCHPRI11_CHPRI_SHIFT (0U)
  26767. /*! CHPRI - Channel n Arbitration Priority
  26768. */
  26769. #define DMA_DCHPRI11_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI11_CHPRI_SHIFT)) & DMA_DCHPRI11_CHPRI_MASK)
  26770. #define DMA_DCHPRI11_GRPPRI_MASK (0x30U)
  26771. #define DMA_DCHPRI11_GRPPRI_SHIFT (4U)
  26772. /*! GRPPRI - Channel n Current Group Priority
  26773. */
  26774. #define DMA_DCHPRI11_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI11_GRPPRI_SHIFT)) & DMA_DCHPRI11_GRPPRI_MASK)
  26775. #define DMA_DCHPRI11_DPA_MASK (0x40U)
  26776. #define DMA_DCHPRI11_DPA_SHIFT (6U)
  26777. /*! DPA - Disable Preempt Ability. This field resets to 0.
  26778. * 0b0..Channel n can suspend a lower priority channel
  26779. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  26780. */
  26781. #define DMA_DCHPRI11_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI11_DPA_SHIFT)) & DMA_DCHPRI11_DPA_MASK)
  26782. #define DMA_DCHPRI11_ECP_MASK (0x80U)
  26783. #define DMA_DCHPRI11_ECP_SHIFT (7U)
  26784. /*! ECP - Enable Channel Preemption. This field resets to 0.
  26785. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  26786. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  26787. */
  26788. #define DMA_DCHPRI11_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI11_ECP_SHIFT)) & DMA_DCHPRI11_ECP_MASK)
  26789. /*! @} */
  26790. /*! @name DCHPRI10 - Channel Priority */
  26791. /*! @{ */
  26792. #define DMA_DCHPRI10_CHPRI_MASK (0xFU)
  26793. #define DMA_DCHPRI10_CHPRI_SHIFT (0U)
  26794. /*! CHPRI - Channel n Arbitration Priority
  26795. */
  26796. #define DMA_DCHPRI10_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI10_CHPRI_SHIFT)) & DMA_DCHPRI10_CHPRI_MASK)
  26797. #define DMA_DCHPRI10_GRPPRI_MASK (0x30U)
  26798. #define DMA_DCHPRI10_GRPPRI_SHIFT (4U)
  26799. /*! GRPPRI - Channel n Current Group Priority
  26800. */
  26801. #define DMA_DCHPRI10_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI10_GRPPRI_SHIFT)) & DMA_DCHPRI10_GRPPRI_MASK)
  26802. #define DMA_DCHPRI10_DPA_MASK (0x40U)
  26803. #define DMA_DCHPRI10_DPA_SHIFT (6U)
  26804. /*! DPA - Disable Preempt Ability. This field resets to 0.
  26805. * 0b0..Channel n can suspend a lower priority channel
  26806. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  26807. */
  26808. #define DMA_DCHPRI10_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI10_DPA_SHIFT)) & DMA_DCHPRI10_DPA_MASK)
  26809. #define DMA_DCHPRI10_ECP_MASK (0x80U)
  26810. #define DMA_DCHPRI10_ECP_SHIFT (7U)
  26811. /*! ECP - Enable Channel Preemption. This field resets to 0.
  26812. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  26813. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  26814. */
  26815. #define DMA_DCHPRI10_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI10_ECP_SHIFT)) & DMA_DCHPRI10_ECP_MASK)
  26816. /*! @} */
  26817. /*! @name DCHPRI9 - Channel Priority */
  26818. /*! @{ */
  26819. #define DMA_DCHPRI9_CHPRI_MASK (0xFU)
  26820. #define DMA_DCHPRI9_CHPRI_SHIFT (0U)
  26821. /*! CHPRI - Channel n Arbitration Priority
  26822. */
  26823. #define DMA_DCHPRI9_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI9_CHPRI_SHIFT)) & DMA_DCHPRI9_CHPRI_MASK)
  26824. #define DMA_DCHPRI9_GRPPRI_MASK (0x30U)
  26825. #define DMA_DCHPRI9_GRPPRI_SHIFT (4U)
  26826. /*! GRPPRI - Channel n Current Group Priority
  26827. */
  26828. #define DMA_DCHPRI9_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI9_GRPPRI_SHIFT)) & DMA_DCHPRI9_GRPPRI_MASK)
  26829. #define DMA_DCHPRI9_DPA_MASK (0x40U)
  26830. #define DMA_DCHPRI9_DPA_SHIFT (6U)
  26831. /*! DPA - Disable Preempt Ability. This field resets to 0.
  26832. * 0b0..Channel n can suspend a lower priority channel
  26833. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  26834. */
  26835. #define DMA_DCHPRI9_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI9_DPA_SHIFT)) & DMA_DCHPRI9_DPA_MASK)
  26836. #define DMA_DCHPRI9_ECP_MASK (0x80U)
  26837. #define DMA_DCHPRI9_ECP_SHIFT (7U)
  26838. /*! ECP - Enable Channel Preemption. This field resets to 0.
  26839. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  26840. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  26841. */
  26842. #define DMA_DCHPRI9_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI9_ECP_SHIFT)) & DMA_DCHPRI9_ECP_MASK)
  26843. /*! @} */
  26844. /*! @name DCHPRI8 - Channel Priority */
  26845. /*! @{ */
  26846. #define DMA_DCHPRI8_CHPRI_MASK (0xFU)
  26847. #define DMA_DCHPRI8_CHPRI_SHIFT (0U)
  26848. /*! CHPRI - Channel n Arbitration Priority
  26849. */
  26850. #define DMA_DCHPRI8_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI8_CHPRI_SHIFT)) & DMA_DCHPRI8_CHPRI_MASK)
  26851. #define DMA_DCHPRI8_GRPPRI_MASK (0x30U)
  26852. #define DMA_DCHPRI8_GRPPRI_SHIFT (4U)
  26853. /*! GRPPRI - Channel n Current Group Priority
  26854. */
  26855. #define DMA_DCHPRI8_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI8_GRPPRI_SHIFT)) & DMA_DCHPRI8_GRPPRI_MASK)
  26856. #define DMA_DCHPRI8_DPA_MASK (0x40U)
  26857. #define DMA_DCHPRI8_DPA_SHIFT (6U)
  26858. /*! DPA - Disable Preempt Ability. This field resets to 0.
  26859. * 0b0..Channel n can suspend a lower priority channel
  26860. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  26861. */
  26862. #define DMA_DCHPRI8_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI8_DPA_SHIFT)) & DMA_DCHPRI8_DPA_MASK)
  26863. #define DMA_DCHPRI8_ECP_MASK (0x80U)
  26864. #define DMA_DCHPRI8_ECP_SHIFT (7U)
  26865. /*! ECP - Enable Channel Preemption. This field resets to 0.
  26866. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  26867. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  26868. */
  26869. #define DMA_DCHPRI8_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI8_ECP_SHIFT)) & DMA_DCHPRI8_ECP_MASK)
  26870. /*! @} */
  26871. /*! @name DCHPRI15 - Channel Priority */
  26872. /*! @{ */
  26873. #define DMA_DCHPRI15_CHPRI_MASK (0xFU)
  26874. #define DMA_DCHPRI15_CHPRI_SHIFT (0U)
  26875. /*! CHPRI - Channel n Arbitration Priority
  26876. */
  26877. #define DMA_DCHPRI15_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI15_CHPRI_SHIFT)) & DMA_DCHPRI15_CHPRI_MASK)
  26878. #define DMA_DCHPRI15_GRPPRI_MASK (0x30U)
  26879. #define DMA_DCHPRI15_GRPPRI_SHIFT (4U)
  26880. /*! GRPPRI - Channel n Current Group Priority
  26881. */
  26882. #define DMA_DCHPRI15_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI15_GRPPRI_SHIFT)) & DMA_DCHPRI15_GRPPRI_MASK)
  26883. #define DMA_DCHPRI15_DPA_MASK (0x40U)
  26884. #define DMA_DCHPRI15_DPA_SHIFT (6U)
  26885. /*! DPA - Disable Preempt Ability. This field resets to 0.
  26886. * 0b0..Channel n can suspend a lower priority channel
  26887. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  26888. */
  26889. #define DMA_DCHPRI15_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI15_DPA_SHIFT)) & DMA_DCHPRI15_DPA_MASK)
  26890. #define DMA_DCHPRI15_ECP_MASK (0x80U)
  26891. #define DMA_DCHPRI15_ECP_SHIFT (7U)
  26892. /*! ECP - Enable Channel Preemption. This field resets to 0.
  26893. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  26894. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  26895. */
  26896. #define DMA_DCHPRI15_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI15_ECP_SHIFT)) & DMA_DCHPRI15_ECP_MASK)
  26897. /*! @} */
  26898. /*! @name DCHPRI14 - Channel Priority */
  26899. /*! @{ */
  26900. #define DMA_DCHPRI14_CHPRI_MASK (0xFU)
  26901. #define DMA_DCHPRI14_CHPRI_SHIFT (0U)
  26902. /*! CHPRI - Channel n Arbitration Priority
  26903. */
  26904. #define DMA_DCHPRI14_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI14_CHPRI_SHIFT)) & DMA_DCHPRI14_CHPRI_MASK)
  26905. #define DMA_DCHPRI14_GRPPRI_MASK (0x30U)
  26906. #define DMA_DCHPRI14_GRPPRI_SHIFT (4U)
  26907. /*! GRPPRI - Channel n Current Group Priority
  26908. */
  26909. #define DMA_DCHPRI14_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI14_GRPPRI_SHIFT)) & DMA_DCHPRI14_GRPPRI_MASK)
  26910. #define DMA_DCHPRI14_DPA_MASK (0x40U)
  26911. #define DMA_DCHPRI14_DPA_SHIFT (6U)
  26912. /*! DPA - Disable Preempt Ability. This field resets to 0.
  26913. * 0b0..Channel n can suspend a lower priority channel
  26914. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  26915. */
  26916. #define DMA_DCHPRI14_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI14_DPA_SHIFT)) & DMA_DCHPRI14_DPA_MASK)
  26917. #define DMA_DCHPRI14_ECP_MASK (0x80U)
  26918. #define DMA_DCHPRI14_ECP_SHIFT (7U)
  26919. /*! ECP - Enable Channel Preemption. This field resets to 0.
  26920. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  26921. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  26922. */
  26923. #define DMA_DCHPRI14_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI14_ECP_SHIFT)) & DMA_DCHPRI14_ECP_MASK)
  26924. /*! @} */
  26925. /*! @name DCHPRI13 - Channel Priority */
  26926. /*! @{ */
  26927. #define DMA_DCHPRI13_CHPRI_MASK (0xFU)
  26928. #define DMA_DCHPRI13_CHPRI_SHIFT (0U)
  26929. /*! CHPRI - Channel n Arbitration Priority
  26930. */
  26931. #define DMA_DCHPRI13_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI13_CHPRI_SHIFT)) & DMA_DCHPRI13_CHPRI_MASK)
  26932. #define DMA_DCHPRI13_GRPPRI_MASK (0x30U)
  26933. #define DMA_DCHPRI13_GRPPRI_SHIFT (4U)
  26934. /*! GRPPRI - Channel n Current Group Priority
  26935. */
  26936. #define DMA_DCHPRI13_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI13_GRPPRI_SHIFT)) & DMA_DCHPRI13_GRPPRI_MASK)
  26937. #define DMA_DCHPRI13_DPA_MASK (0x40U)
  26938. #define DMA_DCHPRI13_DPA_SHIFT (6U)
  26939. /*! DPA - Disable Preempt Ability. This field resets to 0.
  26940. * 0b0..Channel n can suspend a lower priority channel
  26941. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  26942. */
  26943. #define DMA_DCHPRI13_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI13_DPA_SHIFT)) & DMA_DCHPRI13_DPA_MASK)
  26944. #define DMA_DCHPRI13_ECP_MASK (0x80U)
  26945. #define DMA_DCHPRI13_ECP_SHIFT (7U)
  26946. /*! ECP - Enable Channel Preemption. This field resets to 0.
  26947. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  26948. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  26949. */
  26950. #define DMA_DCHPRI13_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI13_ECP_SHIFT)) & DMA_DCHPRI13_ECP_MASK)
  26951. /*! @} */
  26952. /*! @name DCHPRI12 - Channel Priority */
  26953. /*! @{ */
  26954. #define DMA_DCHPRI12_CHPRI_MASK (0xFU)
  26955. #define DMA_DCHPRI12_CHPRI_SHIFT (0U)
  26956. /*! CHPRI - Channel n Arbitration Priority
  26957. */
  26958. #define DMA_DCHPRI12_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI12_CHPRI_SHIFT)) & DMA_DCHPRI12_CHPRI_MASK)
  26959. #define DMA_DCHPRI12_GRPPRI_MASK (0x30U)
  26960. #define DMA_DCHPRI12_GRPPRI_SHIFT (4U)
  26961. /*! GRPPRI - Channel n Current Group Priority
  26962. */
  26963. #define DMA_DCHPRI12_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI12_GRPPRI_SHIFT)) & DMA_DCHPRI12_GRPPRI_MASK)
  26964. #define DMA_DCHPRI12_DPA_MASK (0x40U)
  26965. #define DMA_DCHPRI12_DPA_SHIFT (6U)
  26966. /*! DPA - Disable Preempt Ability. This field resets to 0.
  26967. * 0b0..Channel n can suspend a lower priority channel
  26968. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  26969. */
  26970. #define DMA_DCHPRI12_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI12_DPA_SHIFT)) & DMA_DCHPRI12_DPA_MASK)
  26971. #define DMA_DCHPRI12_ECP_MASK (0x80U)
  26972. #define DMA_DCHPRI12_ECP_SHIFT (7U)
  26973. /*! ECP - Enable Channel Preemption. This field resets to 0.
  26974. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  26975. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  26976. */
  26977. #define DMA_DCHPRI12_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI12_ECP_SHIFT)) & DMA_DCHPRI12_ECP_MASK)
  26978. /*! @} */
  26979. /*! @name DCHPRI19 - Channel Priority */
  26980. /*! @{ */
  26981. #define DMA_DCHPRI19_CHPRI_MASK (0xFU)
  26982. #define DMA_DCHPRI19_CHPRI_SHIFT (0U)
  26983. /*! CHPRI - Channel n Arbitration Priority
  26984. */
  26985. #define DMA_DCHPRI19_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI19_CHPRI_SHIFT)) & DMA_DCHPRI19_CHPRI_MASK)
  26986. #define DMA_DCHPRI19_GRPPRI_MASK (0x30U)
  26987. #define DMA_DCHPRI19_GRPPRI_SHIFT (4U)
  26988. /*! GRPPRI - Channel n Current Group Priority
  26989. */
  26990. #define DMA_DCHPRI19_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI19_GRPPRI_SHIFT)) & DMA_DCHPRI19_GRPPRI_MASK)
  26991. #define DMA_DCHPRI19_DPA_MASK (0x40U)
  26992. #define DMA_DCHPRI19_DPA_SHIFT (6U)
  26993. /*! DPA - Disable Preempt Ability. This field resets to 0.
  26994. * 0b0..Channel n can suspend a lower priority channel
  26995. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  26996. */
  26997. #define DMA_DCHPRI19_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI19_DPA_SHIFT)) & DMA_DCHPRI19_DPA_MASK)
  26998. #define DMA_DCHPRI19_ECP_MASK (0x80U)
  26999. #define DMA_DCHPRI19_ECP_SHIFT (7U)
  27000. /*! ECP - Enable Channel Preemption. This field resets to 0.
  27001. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  27002. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  27003. */
  27004. #define DMA_DCHPRI19_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI19_ECP_SHIFT)) & DMA_DCHPRI19_ECP_MASK)
  27005. /*! @} */
  27006. /*! @name DCHPRI18 - Channel Priority */
  27007. /*! @{ */
  27008. #define DMA_DCHPRI18_CHPRI_MASK (0xFU)
  27009. #define DMA_DCHPRI18_CHPRI_SHIFT (0U)
  27010. /*! CHPRI - Channel n Arbitration Priority
  27011. */
  27012. #define DMA_DCHPRI18_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI18_CHPRI_SHIFT)) & DMA_DCHPRI18_CHPRI_MASK)
  27013. #define DMA_DCHPRI18_GRPPRI_MASK (0x30U)
  27014. #define DMA_DCHPRI18_GRPPRI_SHIFT (4U)
  27015. /*! GRPPRI - Channel n Current Group Priority
  27016. */
  27017. #define DMA_DCHPRI18_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI18_GRPPRI_SHIFT)) & DMA_DCHPRI18_GRPPRI_MASK)
  27018. #define DMA_DCHPRI18_DPA_MASK (0x40U)
  27019. #define DMA_DCHPRI18_DPA_SHIFT (6U)
  27020. /*! DPA - Disable Preempt Ability. This field resets to 0.
  27021. * 0b0..Channel n can suspend a lower priority channel
  27022. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  27023. */
  27024. #define DMA_DCHPRI18_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI18_DPA_SHIFT)) & DMA_DCHPRI18_DPA_MASK)
  27025. #define DMA_DCHPRI18_ECP_MASK (0x80U)
  27026. #define DMA_DCHPRI18_ECP_SHIFT (7U)
  27027. /*! ECP - Enable Channel Preemption. This field resets to 0.
  27028. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  27029. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  27030. */
  27031. #define DMA_DCHPRI18_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI18_ECP_SHIFT)) & DMA_DCHPRI18_ECP_MASK)
  27032. /*! @} */
  27033. /*! @name DCHPRI17 - Channel Priority */
  27034. /*! @{ */
  27035. #define DMA_DCHPRI17_CHPRI_MASK (0xFU)
  27036. #define DMA_DCHPRI17_CHPRI_SHIFT (0U)
  27037. /*! CHPRI - Channel n Arbitration Priority
  27038. */
  27039. #define DMA_DCHPRI17_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI17_CHPRI_SHIFT)) & DMA_DCHPRI17_CHPRI_MASK)
  27040. #define DMA_DCHPRI17_GRPPRI_MASK (0x30U)
  27041. #define DMA_DCHPRI17_GRPPRI_SHIFT (4U)
  27042. /*! GRPPRI - Channel n Current Group Priority
  27043. */
  27044. #define DMA_DCHPRI17_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI17_GRPPRI_SHIFT)) & DMA_DCHPRI17_GRPPRI_MASK)
  27045. #define DMA_DCHPRI17_DPA_MASK (0x40U)
  27046. #define DMA_DCHPRI17_DPA_SHIFT (6U)
  27047. /*! DPA - Disable Preempt Ability. This field resets to 0.
  27048. * 0b0..Channel n can suspend a lower priority channel
  27049. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  27050. */
  27051. #define DMA_DCHPRI17_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI17_DPA_SHIFT)) & DMA_DCHPRI17_DPA_MASK)
  27052. #define DMA_DCHPRI17_ECP_MASK (0x80U)
  27053. #define DMA_DCHPRI17_ECP_SHIFT (7U)
  27054. /*! ECP - Enable Channel Preemption. This field resets to 0.
  27055. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  27056. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  27057. */
  27058. #define DMA_DCHPRI17_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI17_ECP_SHIFT)) & DMA_DCHPRI17_ECP_MASK)
  27059. /*! @} */
  27060. /*! @name DCHPRI16 - Channel Priority */
  27061. /*! @{ */
  27062. #define DMA_DCHPRI16_CHPRI_MASK (0xFU)
  27063. #define DMA_DCHPRI16_CHPRI_SHIFT (0U)
  27064. /*! CHPRI - Channel n Arbitration Priority
  27065. */
  27066. #define DMA_DCHPRI16_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI16_CHPRI_SHIFT)) & DMA_DCHPRI16_CHPRI_MASK)
  27067. #define DMA_DCHPRI16_GRPPRI_MASK (0x30U)
  27068. #define DMA_DCHPRI16_GRPPRI_SHIFT (4U)
  27069. /*! GRPPRI - Channel n Current Group Priority
  27070. */
  27071. #define DMA_DCHPRI16_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI16_GRPPRI_SHIFT)) & DMA_DCHPRI16_GRPPRI_MASK)
  27072. #define DMA_DCHPRI16_DPA_MASK (0x40U)
  27073. #define DMA_DCHPRI16_DPA_SHIFT (6U)
  27074. /*! DPA - Disable Preempt Ability. This field resets to 0.
  27075. * 0b0..Channel n can suspend a lower priority channel
  27076. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  27077. */
  27078. #define DMA_DCHPRI16_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI16_DPA_SHIFT)) & DMA_DCHPRI16_DPA_MASK)
  27079. #define DMA_DCHPRI16_ECP_MASK (0x80U)
  27080. #define DMA_DCHPRI16_ECP_SHIFT (7U)
  27081. /*! ECP - Enable Channel Preemption. This field resets to 0.
  27082. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  27083. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  27084. */
  27085. #define DMA_DCHPRI16_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI16_ECP_SHIFT)) & DMA_DCHPRI16_ECP_MASK)
  27086. /*! @} */
  27087. /*! @name DCHPRI23 - Channel Priority */
  27088. /*! @{ */
  27089. #define DMA_DCHPRI23_CHPRI_MASK (0xFU)
  27090. #define DMA_DCHPRI23_CHPRI_SHIFT (0U)
  27091. /*! CHPRI - Channel n Arbitration Priority
  27092. */
  27093. #define DMA_DCHPRI23_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI23_CHPRI_SHIFT)) & DMA_DCHPRI23_CHPRI_MASK)
  27094. #define DMA_DCHPRI23_GRPPRI_MASK (0x30U)
  27095. #define DMA_DCHPRI23_GRPPRI_SHIFT (4U)
  27096. /*! GRPPRI - Channel n Current Group Priority
  27097. */
  27098. #define DMA_DCHPRI23_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI23_GRPPRI_SHIFT)) & DMA_DCHPRI23_GRPPRI_MASK)
  27099. #define DMA_DCHPRI23_DPA_MASK (0x40U)
  27100. #define DMA_DCHPRI23_DPA_SHIFT (6U)
  27101. /*! DPA - Disable Preempt Ability. This field resets to 0.
  27102. * 0b0..Channel n can suspend a lower priority channel
  27103. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  27104. */
  27105. #define DMA_DCHPRI23_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI23_DPA_SHIFT)) & DMA_DCHPRI23_DPA_MASK)
  27106. #define DMA_DCHPRI23_ECP_MASK (0x80U)
  27107. #define DMA_DCHPRI23_ECP_SHIFT (7U)
  27108. /*! ECP - Enable Channel Preemption. This field resets to 0.
  27109. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  27110. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  27111. */
  27112. #define DMA_DCHPRI23_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI23_ECP_SHIFT)) & DMA_DCHPRI23_ECP_MASK)
  27113. /*! @} */
  27114. /*! @name DCHPRI22 - Channel Priority */
  27115. /*! @{ */
  27116. #define DMA_DCHPRI22_CHPRI_MASK (0xFU)
  27117. #define DMA_DCHPRI22_CHPRI_SHIFT (0U)
  27118. /*! CHPRI - Channel n Arbitration Priority
  27119. */
  27120. #define DMA_DCHPRI22_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI22_CHPRI_SHIFT)) & DMA_DCHPRI22_CHPRI_MASK)
  27121. #define DMA_DCHPRI22_GRPPRI_MASK (0x30U)
  27122. #define DMA_DCHPRI22_GRPPRI_SHIFT (4U)
  27123. /*! GRPPRI - Channel n Current Group Priority
  27124. */
  27125. #define DMA_DCHPRI22_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI22_GRPPRI_SHIFT)) & DMA_DCHPRI22_GRPPRI_MASK)
  27126. #define DMA_DCHPRI22_DPA_MASK (0x40U)
  27127. #define DMA_DCHPRI22_DPA_SHIFT (6U)
  27128. /*! DPA - Disable Preempt Ability. This field resets to 0.
  27129. * 0b0..Channel n can suspend a lower priority channel
  27130. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  27131. */
  27132. #define DMA_DCHPRI22_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI22_DPA_SHIFT)) & DMA_DCHPRI22_DPA_MASK)
  27133. #define DMA_DCHPRI22_ECP_MASK (0x80U)
  27134. #define DMA_DCHPRI22_ECP_SHIFT (7U)
  27135. /*! ECP - Enable Channel Preemption. This field resets to 0.
  27136. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  27137. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  27138. */
  27139. #define DMA_DCHPRI22_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI22_ECP_SHIFT)) & DMA_DCHPRI22_ECP_MASK)
  27140. /*! @} */
  27141. /*! @name DCHPRI21 - Channel Priority */
  27142. /*! @{ */
  27143. #define DMA_DCHPRI21_CHPRI_MASK (0xFU)
  27144. #define DMA_DCHPRI21_CHPRI_SHIFT (0U)
  27145. /*! CHPRI - Channel n Arbitration Priority
  27146. */
  27147. #define DMA_DCHPRI21_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI21_CHPRI_SHIFT)) & DMA_DCHPRI21_CHPRI_MASK)
  27148. #define DMA_DCHPRI21_GRPPRI_MASK (0x30U)
  27149. #define DMA_DCHPRI21_GRPPRI_SHIFT (4U)
  27150. /*! GRPPRI - Channel n Current Group Priority
  27151. */
  27152. #define DMA_DCHPRI21_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI21_GRPPRI_SHIFT)) & DMA_DCHPRI21_GRPPRI_MASK)
  27153. #define DMA_DCHPRI21_DPA_MASK (0x40U)
  27154. #define DMA_DCHPRI21_DPA_SHIFT (6U)
  27155. /*! DPA - Disable Preempt Ability. This field resets to 0.
  27156. * 0b0..Channel n can suspend a lower priority channel
  27157. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  27158. */
  27159. #define DMA_DCHPRI21_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI21_DPA_SHIFT)) & DMA_DCHPRI21_DPA_MASK)
  27160. #define DMA_DCHPRI21_ECP_MASK (0x80U)
  27161. #define DMA_DCHPRI21_ECP_SHIFT (7U)
  27162. /*! ECP - Enable Channel Preemption. This field resets to 0.
  27163. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  27164. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  27165. */
  27166. #define DMA_DCHPRI21_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI21_ECP_SHIFT)) & DMA_DCHPRI21_ECP_MASK)
  27167. /*! @} */
  27168. /*! @name DCHPRI20 - Channel Priority */
  27169. /*! @{ */
  27170. #define DMA_DCHPRI20_CHPRI_MASK (0xFU)
  27171. #define DMA_DCHPRI20_CHPRI_SHIFT (0U)
  27172. /*! CHPRI - Channel n Arbitration Priority
  27173. */
  27174. #define DMA_DCHPRI20_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI20_CHPRI_SHIFT)) & DMA_DCHPRI20_CHPRI_MASK)
  27175. #define DMA_DCHPRI20_GRPPRI_MASK (0x30U)
  27176. #define DMA_DCHPRI20_GRPPRI_SHIFT (4U)
  27177. /*! GRPPRI - Channel n Current Group Priority
  27178. */
  27179. #define DMA_DCHPRI20_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI20_GRPPRI_SHIFT)) & DMA_DCHPRI20_GRPPRI_MASK)
  27180. #define DMA_DCHPRI20_DPA_MASK (0x40U)
  27181. #define DMA_DCHPRI20_DPA_SHIFT (6U)
  27182. /*! DPA - Disable Preempt Ability. This field resets to 0.
  27183. * 0b0..Channel n can suspend a lower priority channel
  27184. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  27185. */
  27186. #define DMA_DCHPRI20_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI20_DPA_SHIFT)) & DMA_DCHPRI20_DPA_MASK)
  27187. #define DMA_DCHPRI20_ECP_MASK (0x80U)
  27188. #define DMA_DCHPRI20_ECP_SHIFT (7U)
  27189. /*! ECP - Enable Channel Preemption. This field resets to 0.
  27190. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  27191. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  27192. */
  27193. #define DMA_DCHPRI20_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI20_ECP_SHIFT)) & DMA_DCHPRI20_ECP_MASK)
  27194. /*! @} */
  27195. /*! @name DCHPRI27 - Channel Priority */
  27196. /*! @{ */
  27197. #define DMA_DCHPRI27_CHPRI_MASK (0xFU)
  27198. #define DMA_DCHPRI27_CHPRI_SHIFT (0U)
  27199. /*! CHPRI - Channel n Arbitration Priority
  27200. */
  27201. #define DMA_DCHPRI27_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI27_CHPRI_SHIFT)) & DMA_DCHPRI27_CHPRI_MASK)
  27202. #define DMA_DCHPRI27_GRPPRI_MASK (0x30U)
  27203. #define DMA_DCHPRI27_GRPPRI_SHIFT (4U)
  27204. /*! GRPPRI - Channel n Current Group Priority
  27205. */
  27206. #define DMA_DCHPRI27_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI27_GRPPRI_SHIFT)) & DMA_DCHPRI27_GRPPRI_MASK)
  27207. #define DMA_DCHPRI27_DPA_MASK (0x40U)
  27208. #define DMA_DCHPRI27_DPA_SHIFT (6U)
  27209. /*! DPA - Disable Preempt Ability. This field resets to 0.
  27210. * 0b0..Channel n can suspend a lower priority channel
  27211. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  27212. */
  27213. #define DMA_DCHPRI27_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI27_DPA_SHIFT)) & DMA_DCHPRI27_DPA_MASK)
  27214. #define DMA_DCHPRI27_ECP_MASK (0x80U)
  27215. #define DMA_DCHPRI27_ECP_SHIFT (7U)
  27216. /*! ECP - Enable Channel Preemption. This field resets to 0.
  27217. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  27218. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  27219. */
  27220. #define DMA_DCHPRI27_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI27_ECP_SHIFT)) & DMA_DCHPRI27_ECP_MASK)
  27221. /*! @} */
  27222. /*! @name DCHPRI26 - Channel Priority */
  27223. /*! @{ */
  27224. #define DMA_DCHPRI26_CHPRI_MASK (0xFU)
  27225. #define DMA_DCHPRI26_CHPRI_SHIFT (0U)
  27226. /*! CHPRI - Channel n Arbitration Priority
  27227. */
  27228. #define DMA_DCHPRI26_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI26_CHPRI_SHIFT)) & DMA_DCHPRI26_CHPRI_MASK)
  27229. #define DMA_DCHPRI26_GRPPRI_MASK (0x30U)
  27230. #define DMA_DCHPRI26_GRPPRI_SHIFT (4U)
  27231. /*! GRPPRI - Channel n Current Group Priority
  27232. */
  27233. #define DMA_DCHPRI26_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI26_GRPPRI_SHIFT)) & DMA_DCHPRI26_GRPPRI_MASK)
  27234. #define DMA_DCHPRI26_DPA_MASK (0x40U)
  27235. #define DMA_DCHPRI26_DPA_SHIFT (6U)
  27236. /*! DPA - Disable Preempt Ability. This field resets to 0.
  27237. * 0b0..Channel n can suspend a lower priority channel
  27238. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  27239. */
  27240. #define DMA_DCHPRI26_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI26_DPA_SHIFT)) & DMA_DCHPRI26_DPA_MASK)
  27241. #define DMA_DCHPRI26_ECP_MASK (0x80U)
  27242. #define DMA_DCHPRI26_ECP_SHIFT (7U)
  27243. /*! ECP - Enable Channel Preemption. This field resets to 0.
  27244. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  27245. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  27246. */
  27247. #define DMA_DCHPRI26_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI26_ECP_SHIFT)) & DMA_DCHPRI26_ECP_MASK)
  27248. /*! @} */
  27249. /*! @name DCHPRI25 - Channel Priority */
  27250. /*! @{ */
  27251. #define DMA_DCHPRI25_CHPRI_MASK (0xFU)
  27252. #define DMA_DCHPRI25_CHPRI_SHIFT (0U)
  27253. /*! CHPRI - Channel n Arbitration Priority
  27254. */
  27255. #define DMA_DCHPRI25_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI25_CHPRI_SHIFT)) & DMA_DCHPRI25_CHPRI_MASK)
  27256. #define DMA_DCHPRI25_GRPPRI_MASK (0x30U)
  27257. #define DMA_DCHPRI25_GRPPRI_SHIFT (4U)
  27258. /*! GRPPRI - Channel n Current Group Priority
  27259. */
  27260. #define DMA_DCHPRI25_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI25_GRPPRI_SHIFT)) & DMA_DCHPRI25_GRPPRI_MASK)
  27261. #define DMA_DCHPRI25_DPA_MASK (0x40U)
  27262. #define DMA_DCHPRI25_DPA_SHIFT (6U)
  27263. /*! DPA - Disable Preempt Ability. This field resets to 0.
  27264. * 0b0..Channel n can suspend a lower priority channel
  27265. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  27266. */
  27267. #define DMA_DCHPRI25_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI25_DPA_SHIFT)) & DMA_DCHPRI25_DPA_MASK)
  27268. #define DMA_DCHPRI25_ECP_MASK (0x80U)
  27269. #define DMA_DCHPRI25_ECP_SHIFT (7U)
  27270. /*! ECP - Enable Channel Preemption. This field resets to 0.
  27271. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  27272. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  27273. */
  27274. #define DMA_DCHPRI25_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI25_ECP_SHIFT)) & DMA_DCHPRI25_ECP_MASK)
  27275. /*! @} */
  27276. /*! @name DCHPRI24 - Channel Priority */
  27277. /*! @{ */
  27278. #define DMA_DCHPRI24_CHPRI_MASK (0xFU)
  27279. #define DMA_DCHPRI24_CHPRI_SHIFT (0U)
  27280. /*! CHPRI - Channel n Arbitration Priority
  27281. */
  27282. #define DMA_DCHPRI24_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI24_CHPRI_SHIFT)) & DMA_DCHPRI24_CHPRI_MASK)
  27283. #define DMA_DCHPRI24_GRPPRI_MASK (0x30U)
  27284. #define DMA_DCHPRI24_GRPPRI_SHIFT (4U)
  27285. /*! GRPPRI - Channel n Current Group Priority
  27286. */
  27287. #define DMA_DCHPRI24_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI24_GRPPRI_SHIFT)) & DMA_DCHPRI24_GRPPRI_MASK)
  27288. #define DMA_DCHPRI24_DPA_MASK (0x40U)
  27289. #define DMA_DCHPRI24_DPA_SHIFT (6U)
  27290. /*! DPA - Disable Preempt Ability. This field resets to 0.
  27291. * 0b0..Channel n can suspend a lower priority channel
  27292. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  27293. */
  27294. #define DMA_DCHPRI24_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI24_DPA_SHIFT)) & DMA_DCHPRI24_DPA_MASK)
  27295. #define DMA_DCHPRI24_ECP_MASK (0x80U)
  27296. #define DMA_DCHPRI24_ECP_SHIFT (7U)
  27297. /*! ECP - Enable Channel Preemption. This field resets to 0.
  27298. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  27299. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  27300. */
  27301. #define DMA_DCHPRI24_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI24_ECP_SHIFT)) & DMA_DCHPRI24_ECP_MASK)
  27302. /*! @} */
  27303. /*! @name DCHPRI31 - Channel Priority */
  27304. /*! @{ */
  27305. #define DMA_DCHPRI31_CHPRI_MASK (0xFU)
  27306. #define DMA_DCHPRI31_CHPRI_SHIFT (0U)
  27307. /*! CHPRI - Channel n Arbitration Priority
  27308. */
  27309. #define DMA_DCHPRI31_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI31_CHPRI_SHIFT)) & DMA_DCHPRI31_CHPRI_MASK)
  27310. #define DMA_DCHPRI31_GRPPRI_MASK (0x30U)
  27311. #define DMA_DCHPRI31_GRPPRI_SHIFT (4U)
  27312. /*! GRPPRI - Channel n Current Group Priority
  27313. */
  27314. #define DMA_DCHPRI31_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI31_GRPPRI_SHIFT)) & DMA_DCHPRI31_GRPPRI_MASK)
  27315. #define DMA_DCHPRI31_DPA_MASK (0x40U)
  27316. #define DMA_DCHPRI31_DPA_SHIFT (6U)
  27317. /*! DPA - Disable Preempt Ability. This field resets to 0.
  27318. * 0b0..Channel n can suspend a lower priority channel
  27319. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  27320. */
  27321. #define DMA_DCHPRI31_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI31_DPA_SHIFT)) & DMA_DCHPRI31_DPA_MASK)
  27322. #define DMA_DCHPRI31_ECP_MASK (0x80U)
  27323. #define DMA_DCHPRI31_ECP_SHIFT (7U)
  27324. /*! ECP - Enable Channel Preemption. This field resets to 0.
  27325. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  27326. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  27327. */
  27328. #define DMA_DCHPRI31_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI31_ECP_SHIFT)) & DMA_DCHPRI31_ECP_MASK)
  27329. /*! @} */
  27330. /*! @name DCHPRI30 - Channel Priority */
  27331. /*! @{ */
  27332. #define DMA_DCHPRI30_CHPRI_MASK (0xFU)
  27333. #define DMA_DCHPRI30_CHPRI_SHIFT (0U)
  27334. /*! CHPRI - Channel n Arbitration Priority
  27335. */
  27336. #define DMA_DCHPRI30_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI30_CHPRI_SHIFT)) & DMA_DCHPRI30_CHPRI_MASK)
  27337. #define DMA_DCHPRI30_GRPPRI_MASK (0x30U)
  27338. #define DMA_DCHPRI30_GRPPRI_SHIFT (4U)
  27339. /*! GRPPRI - Channel n Current Group Priority
  27340. */
  27341. #define DMA_DCHPRI30_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI30_GRPPRI_SHIFT)) & DMA_DCHPRI30_GRPPRI_MASK)
  27342. #define DMA_DCHPRI30_DPA_MASK (0x40U)
  27343. #define DMA_DCHPRI30_DPA_SHIFT (6U)
  27344. /*! DPA - Disable Preempt Ability. This field resets to 0.
  27345. * 0b0..Channel n can suspend a lower priority channel
  27346. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  27347. */
  27348. #define DMA_DCHPRI30_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI30_DPA_SHIFT)) & DMA_DCHPRI30_DPA_MASK)
  27349. #define DMA_DCHPRI30_ECP_MASK (0x80U)
  27350. #define DMA_DCHPRI30_ECP_SHIFT (7U)
  27351. /*! ECP - Enable Channel Preemption. This field resets to 0.
  27352. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  27353. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  27354. */
  27355. #define DMA_DCHPRI30_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI30_ECP_SHIFT)) & DMA_DCHPRI30_ECP_MASK)
  27356. /*! @} */
  27357. /*! @name DCHPRI29 - Channel Priority */
  27358. /*! @{ */
  27359. #define DMA_DCHPRI29_CHPRI_MASK (0xFU)
  27360. #define DMA_DCHPRI29_CHPRI_SHIFT (0U)
  27361. /*! CHPRI - Channel n Arbitration Priority
  27362. */
  27363. #define DMA_DCHPRI29_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI29_CHPRI_SHIFT)) & DMA_DCHPRI29_CHPRI_MASK)
  27364. #define DMA_DCHPRI29_GRPPRI_MASK (0x30U)
  27365. #define DMA_DCHPRI29_GRPPRI_SHIFT (4U)
  27366. /*! GRPPRI - Channel n Current Group Priority
  27367. */
  27368. #define DMA_DCHPRI29_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI29_GRPPRI_SHIFT)) & DMA_DCHPRI29_GRPPRI_MASK)
  27369. #define DMA_DCHPRI29_DPA_MASK (0x40U)
  27370. #define DMA_DCHPRI29_DPA_SHIFT (6U)
  27371. /*! DPA - Disable Preempt Ability. This field resets to 0.
  27372. * 0b0..Channel n can suspend a lower priority channel
  27373. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  27374. */
  27375. #define DMA_DCHPRI29_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI29_DPA_SHIFT)) & DMA_DCHPRI29_DPA_MASK)
  27376. #define DMA_DCHPRI29_ECP_MASK (0x80U)
  27377. #define DMA_DCHPRI29_ECP_SHIFT (7U)
  27378. /*! ECP - Enable Channel Preemption. This field resets to 0.
  27379. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  27380. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  27381. */
  27382. #define DMA_DCHPRI29_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI29_ECP_SHIFT)) & DMA_DCHPRI29_ECP_MASK)
  27383. /*! @} */
  27384. /*! @name DCHPRI28 - Channel Priority */
  27385. /*! @{ */
  27386. #define DMA_DCHPRI28_CHPRI_MASK (0xFU)
  27387. #define DMA_DCHPRI28_CHPRI_SHIFT (0U)
  27388. /*! CHPRI - Channel n Arbitration Priority
  27389. */
  27390. #define DMA_DCHPRI28_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI28_CHPRI_SHIFT)) & DMA_DCHPRI28_CHPRI_MASK)
  27391. #define DMA_DCHPRI28_GRPPRI_MASK (0x30U)
  27392. #define DMA_DCHPRI28_GRPPRI_SHIFT (4U)
  27393. /*! GRPPRI - Channel n Current Group Priority
  27394. */
  27395. #define DMA_DCHPRI28_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI28_GRPPRI_SHIFT)) & DMA_DCHPRI28_GRPPRI_MASK)
  27396. #define DMA_DCHPRI28_DPA_MASK (0x40U)
  27397. #define DMA_DCHPRI28_DPA_SHIFT (6U)
  27398. /*! DPA - Disable Preempt Ability. This field resets to 0.
  27399. * 0b0..Channel n can suspend a lower priority channel
  27400. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  27401. */
  27402. #define DMA_DCHPRI28_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI28_DPA_SHIFT)) & DMA_DCHPRI28_DPA_MASK)
  27403. #define DMA_DCHPRI28_ECP_MASK (0x80U)
  27404. #define DMA_DCHPRI28_ECP_SHIFT (7U)
  27405. /*! ECP - Enable Channel Preemption. This field resets to 0.
  27406. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  27407. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  27408. */
  27409. #define DMA_DCHPRI28_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI28_ECP_SHIFT)) & DMA_DCHPRI28_ECP_MASK)
  27410. /*! @} */
  27411. /*! @name SADDR - TCD Source Address */
  27412. /*! @{ */
  27413. #define DMA_SADDR_SADDR_MASK (0xFFFFFFFFU)
  27414. #define DMA_SADDR_SADDR_SHIFT (0U)
  27415. /*! SADDR - Source Address
  27416. */
  27417. #define DMA_SADDR_SADDR(x) (((uint32_t)(((uint32_t)(x)) << DMA_SADDR_SADDR_SHIFT)) & DMA_SADDR_SADDR_MASK)
  27418. /*! @} */
  27419. /* The count of DMA_SADDR */
  27420. #define DMA_SADDR_COUNT (32U)
  27421. /*! @name SOFF - TCD Signed Source Address Offset */
  27422. /*! @{ */
  27423. #define DMA_SOFF_SOFF_MASK (0xFFFFU)
  27424. #define DMA_SOFF_SOFF_SHIFT (0U)
  27425. /*! SOFF - Source address signed offset
  27426. */
  27427. #define DMA_SOFF_SOFF(x) (((uint16_t)(((uint16_t)(x)) << DMA_SOFF_SOFF_SHIFT)) & DMA_SOFF_SOFF_MASK)
  27428. /*! @} */
  27429. /* The count of DMA_SOFF */
  27430. #define DMA_SOFF_COUNT (32U)
  27431. /*! @name ATTR - TCD Transfer Attributes */
  27432. /*! @{ */
  27433. #define DMA_ATTR_DSIZE_MASK (0x7U)
  27434. #define DMA_ATTR_DSIZE_SHIFT (0U)
  27435. /*! DSIZE - Destination data transfer size
  27436. */
  27437. #define DMA_ATTR_DSIZE(x) (((uint16_t)(((uint16_t)(x)) << DMA_ATTR_DSIZE_SHIFT)) & DMA_ATTR_DSIZE_MASK)
  27438. #define DMA_ATTR_DMOD_MASK (0xF8U)
  27439. #define DMA_ATTR_DMOD_SHIFT (3U)
  27440. /*! DMOD - Destination Address Modulo
  27441. */
  27442. #define DMA_ATTR_DMOD(x) (((uint16_t)(((uint16_t)(x)) << DMA_ATTR_DMOD_SHIFT)) & DMA_ATTR_DMOD_MASK)
  27443. #define DMA_ATTR_SSIZE_MASK (0x700U)
  27444. #define DMA_ATTR_SSIZE_SHIFT (8U)
  27445. /*! SSIZE - Source data transfer size
  27446. * 0b000..8-bit
  27447. * 0b001..16-bit
  27448. * 0b010..32-bit
  27449. * 0b011..64-bit
  27450. * 0b100..Reserved
  27451. * 0b101..32-byte burst (4 beats of 64 bits)
  27452. * 0b110..Reserved
  27453. * 0b111..Reserved
  27454. */
  27455. #define DMA_ATTR_SSIZE(x) (((uint16_t)(((uint16_t)(x)) << DMA_ATTR_SSIZE_SHIFT)) & DMA_ATTR_SSIZE_MASK)
  27456. #define DMA_ATTR_SMOD_MASK (0xF800U)
  27457. #define DMA_ATTR_SMOD_SHIFT (11U)
  27458. /*! SMOD - Source Address Modulo
  27459. * 0b00000..Source address modulo feature is disabled
  27460. * 0b00001-0b11111..Value defines address range used to set up circular data queue
  27461. */
  27462. #define DMA_ATTR_SMOD(x) (((uint16_t)(((uint16_t)(x)) << DMA_ATTR_SMOD_SHIFT)) & DMA_ATTR_SMOD_MASK)
  27463. /*! @} */
  27464. /* The count of DMA_ATTR */
  27465. #define DMA_ATTR_COUNT (32U)
  27466. /*! @name NBYTES_MLNO - TCD Minor Byte Count (Minor Loop Mapping Disabled) */
  27467. /*! @{ */
  27468. #define DMA_NBYTES_MLNO_NBYTES_MASK (0xFFFFFFFFU)
  27469. #define DMA_NBYTES_MLNO_NBYTES_SHIFT (0U)
  27470. /*! NBYTES - Minor Byte Transfer Count
  27471. */
  27472. #define DMA_NBYTES_MLNO_NBYTES(x) (((uint32_t)(((uint32_t)(x)) << DMA_NBYTES_MLNO_NBYTES_SHIFT)) & DMA_NBYTES_MLNO_NBYTES_MASK)
  27473. /*! @} */
  27474. /* The count of DMA_NBYTES_MLNO */
  27475. #define DMA_NBYTES_MLNO_COUNT (32U)
  27476. /*! @name NBYTES_MLOFFNO - TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled) */
  27477. /*! @{ */
  27478. #define DMA_NBYTES_MLOFFNO_NBYTES_MASK (0x3FFFFFFFU)
  27479. #define DMA_NBYTES_MLOFFNO_NBYTES_SHIFT (0U)
  27480. /*! NBYTES - Minor Byte Transfer Count
  27481. */
  27482. #define DMA_NBYTES_MLOFFNO_NBYTES(x) (((uint32_t)(((uint32_t)(x)) << DMA_NBYTES_MLOFFNO_NBYTES_SHIFT)) & DMA_NBYTES_MLOFFNO_NBYTES_MASK)
  27483. #define DMA_NBYTES_MLOFFNO_DMLOE_MASK (0x40000000U)
  27484. #define DMA_NBYTES_MLOFFNO_DMLOE_SHIFT (30U)
  27485. /*! DMLOE - Destination Minor Loop Offset Enable
  27486. * 0b0..The minor loop offset is not applied to the DADDR
  27487. * 0b1..The minor loop offset is applied to the DADDR
  27488. */
  27489. #define DMA_NBYTES_MLOFFNO_DMLOE(x) (((uint32_t)(((uint32_t)(x)) << DMA_NBYTES_MLOFFNO_DMLOE_SHIFT)) & DMA_NBYTES_MLOFFNO_DMLOE_MASK)
  27490. #define DMA_NBYTES_MLOFFNO_SMLOE_MASK (0x80000000U)
  27491. #define DMA_NBYTES_MLOFFNO_SMLOE_SHIFT (31U)
  27492. /*! SMLOE - Source Minor Loop Offset Enable
  27493. * 0b0..The minor loop offset is not applied to the SADDR
  27494. * 0b1..The minor loop offset is applied to the SADDR
  27495. */
  27496. #define DMA_NBYTES_MLOFFNO_SMLOE(x) (((uint32_t)(((uint32_t)(x)) << DMA_NBYTES_MLOFFNO_SMLOE_SHIFT)) & DMA_NBYTES_MLOFFNO_SMLOE_MASK)
  27497. /*! @} */
  27498. /* The count of DMA_NBYTES_MLOFFNO */
  27499. #define DMA_NBYTES_MLOFFNO_COUNT (32U)
  27500. /*! @name NBYTES_MLOFFYES - TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled) */
  27501. /*! @{ */
  27502. #define DMA_NBYTES_MLOFFYES_NBYTES_MASK (0x3FFU)
  27503. #define DMA_NBYTES_MLOFFYES_NBYTES_SHIFT (0U)
  27504. /*! NBYTES - Minor Byte Transfer Count
  27505. */
  27506. #define DMA_NBYTES_MLOFFYES_NBYTES(x) (((uint32_t)(((uint32_t)(x)) << DMA_NBYTES_MLOFFYES_NBYTES_SHIFT)) & DMA_NBYTES_MLOFFYES_NBYTES_MASK)
  27507. #define DMA_NBYTES_MLOFFYES_MLOFF_MASK (0x3FFFFC00U)
  27508. #define DMA_NBYTES_MLOFFYES_MLOFF_SHIFT (10U)
  27509. /*! MLOFF - If SMLOE = 1 or DMLOE = 1, this field represents a sign-extended offset applied to the
  27510. * source or destination address to form the next-state value after the minor loop completes.
  27511. */
  27512. #define DMA_NBYTES_MLOFFYES_MLOFF(x) (((uint32_t)(((uint32_t)(x)) << DMA_NBYTES_MLOFFYES_MLOFF_SHIFT)) & DMA_NBYTES_MLOFFYES_MLOFF_MASK)
  27513. #define DMA_NBYTES_MLOFFYES_DMLOE_MASK (0x40000000U)
  27514. #define DMA_NBYTES_MLOFFYES_DMLOE_SHIFT (30U)
  27515. /*! DMLOE - Destination Minor Loop Offset Enable
  27516. * 0b0..The minor loop offset is not applied to the DADDR
  27517. * 0b1..The minor loop offset is applied to the DADDR
  27518. */
  27519. #define DMA_NBYTES_MLOFFYES_DMLOE(x) (((uint32_t)(((uint32_t)(x)) << DMA_NBYTES_MLOFFYES_DMLOE_SHIFT)) & DMA_NBYTES_MLOFFYES_DMLOE_MASK)
  27520. #define DMA_NBYTES_MLOFFYES_SMLOE_MASK (0x80000000U)
  27521. #define DMA_NBYTES_MLOFFYES_SMLOE_SHIFT (31U)
  27522. /*! SMLOE - Source Minor Loop Offset Enable
  27523. * 0b0..The minor loop offset is not applied to the SADDR
  27524. * 0b1..The minor loop offset is applied to the SADDR
  27525. */
  27526. #define DMA_NBYTES_MLOFFYES_SMLOE(x) (((uint32_t)(((uint32_t)(x)) << DMA_NBYTES_MLOFFYES_SMLOE_SHIFT)) & DMA_NBYTES_MLOFFYES_SMLOE_MASK)
  27527. /*! @} */
  27528. /* The count of DMA_NBYTES_MLOFFYES */
  27529. #define DMA_NBYTES_MLOFFYES_COUNT (32U)
  27530. /*! @name SLAST - TCD Last Source Address Adjustment */
  27531. /*! @{ */
  27532. #define DMA_SLAST_SLAST_MASK (0xFFFFFFFFU)
  27533. #define DMA_SLAST_SLAST_SHIFT (0U)
  27534. /*! SLAST - Last Source Address Adjustment
  27535. */
  27536. #define DMA_SLAST_SLAST(x) (((uint32_t)(((uint32_t)(x)) << DMA_SLAST_SLAST_SHIFT)) & DMA_SLAST_SLAST_MASK)
  27537. /*! @} */
  27538. /* The count of DMA_SLAST */
  27539. #define DMA_SLAST_COUNT (32U)
  27540. /*! @name DADDR - TCD Destination Address */
  27541. /*! @{ */
  27542. #define DMA_DADDR_DADDR_MASK (0xFFFFFFFFU)
  27543. #define DMA_DADDR_DADDR_SHIFT (0U)
  27544. /*! DADDR - Destination Address
  27545. */
  27546. #define DMA_DADDR_DADDR(x) (((uint32_t)(((uint32_t)(x)) << DMA_DADDR_DADDR_SHIFT)) & DMA_DADDR_DADDR_MASK)
  27547. /*! @} */
  27548. /* The count of DMA_DADDR */
  27549. #define DMA_DADDR_COUNT (32U)
  27550. /*! @name DOFF - TCD Signed Destination Address Offset */
  27551. /*! @{ */
  27552. #define DMA_DOFF_DOFF_MASK (0xFFFFU)
  27553. #define DMA_DOFF_DOFF_SHIFT (0U)
  27554. /*! DOFF - Destination Address Signed Offset
  27555. */
  27556. #define DMA_DOFF_DOFF(x) (((uint16_t)(((uint16_t)(x)) << DMA_DOFF_DOFF_SHIFT)) & DMA_DOFF_DOFF_MASK)
  27557. /*! @} */
  27558. /* The count of DMA_DOFF */
  27559. #define DMA_DOFF_COUNT (32U)
  27560. /*! @name CITER_ELINKNO - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled) */
  27561. /*! @{ */
  27562. #define DMA_CITER_ELINKNO_CITER_MASK (0x7FFFU)
  27563. #define DMA_CITER_ELINKNO_CITER_SHIFT (0U)
  27564. /*! CITER - Current Major Iteration Count
  27565. */
  27566. #define DMA_CITER_ELINKNO_CITER(x) (((uint16_t)(((uint16_t)(x)) << DMA_CITER_ELINKNO_CITER_SHIFT)) & DMA_CITER_ELINKNO_CITER_MASK)
  27567. #define DMA_CITER_ELINKNO_ELINK_MASK (0x8000U)
  27568. #define DMA_CITER_ELINKNO_ELINK_SHIFT (15U)
  27569. /*! ELINK - Enable channel-to-channel linking on minor-loop complete
  27570. * 0b0..Channel-to-channel linking is disabled
  27571. * 0b1..Channel-to-channel linking is enabled
  27572. */
  27573. #define DMA_CITER_ELINKNO_ELINK(x) (((uint16_t)(((uint16_t)(x)) << DMA_CITER_ELINKNO_ELINK_SHIFT)) & DMA_CITER_ELINKNO_ELINK_MASK)
  27574. /*! @} */
  27575. /* The count of DMA_CITER_ELINKNO */
  27576. #define DMA_CITER_ELINKNO_COUNT (32U)
  27577. /*! @name CITER_ELINKYES - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled) */
  27578. /*! @{ */
  27579. #define DMA_CITER_ELINKYES_CITER_MASK (0x1FFU)
  27580. #define DMA_CITER_ELINKYES_CITER_SHIFT (0U)
  27581. /*! CITER - Current Major Iteration Count
  27582. */
  27583. #define DMA_CITER_ELINKYES_CITER(x) (((uint16_t)(((uint16_t)(x)) << DMA_CITER_ELINKYES_CITER_SHIFT)) & DMA_CITER_ELINKYES_CITER_MASK)
  27584. #define DMA_CITER_ELINKYES_LINKCH_MASK (0x3E00U)
  27585. #define DMA_CITER_ELINKYES_LINKCH_SHIFT (9U)
  27586. /*! LINKCH - Minor Loop Link Channel Number
  27587. */
  27588. #define DMA_CITER_ELINKYES_LINKCH(x) (((uint16_t)(((uint16_t)(x)) << DMA_CITER_ELINKYES_LINKCH_SHIFT)) & DMA_CITER_ELINKYES_LINKCH_MASK)
  27589. #define DMA_CITER_ELINKYES_ELINK_MASK (0x8000U)
  27590. #define DMA_CITER_ELINKYES_ELINK_SHIFT (15U)
  27591. /*! ELINK - Enable channel-to-channel linking on minor-loop complete
  27592. * 0b0..Channel-to-channel linking is disabled
  27593. * 0b1..Channel-to-channel linking is enabled
  27594. */
  27595. #define DMA_CITER_ELINKYES_ELINK(x) (((uint16_t)(((uint16_t)(x)) << DMA_CITER_ELINKYES_ELINK_SHIFT)) & DMA_CITER_ELINKYES_ELINK_MASK)
  27596. /*! @} */
  27597. /* The count of DMA_CITER_ELINKYES */
  27598. #define DMA_CITER_ELINKYES_COUNT (32U)
  27599. /*! @name DLAST_SGA - TCD Last Destination Address Adjustment/Scatter Gather Address */
  27600. /*! @{ */
  27601. #define DMA_DLAST_SGA_DLASTSGA_MASK (0xFFFFFFFFU)
  27602. #define DMA_DLAST_SGA_DLASTSGA_SHIFT (0U)
  27603. /*! DLASTSGA - Destination last address adjustment, or next memory address TCD for channel (scatter/gather)
  27604. */
  27605. #define DMA_DLAST_SGA_DLASTSGA(x) (((uint32_t)(((uint32_t)(x)) << DMA_DLAST_SGA_DLASTSGA_SHIFT)) & DMA_DLAST_SGA_DLASTSGA_MASK)
  27606. /*! @} */
  27607. /* The count of DMA_DLAST_SGA */
  27608. #define DMA_DLAST_SGA_COUNT (32U)
  27609. /*! @name CSR - TCD Control and Status */
  27610. /*! @{ */
  27611. #define DMA_CSR_START_MASK (0x1U)
  27612. #define DMA_CSR_START_SHIFT (0U)
  27613. /*! START - Channel Start
  27614. * 0b0..Channel is not explicitly started
  27615. * 0b1..Channel is explicitly started via a software initiated service request
  27616. */
  27617. #define DMA_CSR_START(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_START_SHIFT)) & DMA_CSR_START_MASK)
  27618. #define DMA_CSR_INTMAJOR_MASK (0x2U)
  27619. #define DMA_CSR_INTMAJOR_SHIFT (1U)
  27620. /*! INTMAJOR - Enable an interrupt when major iteration count completes.
  27621. * 0b0..End of major loop interrupt is disabled
  27622. * 0b1..End of major loop interrupt is enabled
  27623. */
  27624. #define DMA_CSR_INTMAJOR(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_INTMAJOR_SHIFT)) & DMA_CSR_INTMAJOR_MASK)
  27625. #define DMA_CSR_INTHALF_MASK (0x4U)
  27626. #define DMA_CSR_INTHALF_SHIFT (2U)
  27627. /*! INTHALF - Enable an interrupt when major counter is half complete.
  27628. * 0b0..Half-point interrupt is disabled
  27629. * 0b1..Half-point interrupt is enabled
  27630. */
  27631. #define DMA_CSR_INTHALF(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_INTHALF_SHIFT)) & DMA_CSR_INTHALF_MASK)
  27632. #define DMA_CSR_DREQ_MASK (0x8U)
  27633. #define DMA_CSR_DREQ_SHIFT (3U)
  27634. /*! DREQ - Disable Request
  27635. * 0b0..The channel's ERQ field is not affected
  27636. * 0b1..The channel's ERQ field value changes to 0 when the major loop is complete
  27637. */
  27638. #define DMA_CSR_DREQ(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_DREQ_SHIFT)) & DMA_CSR_DREQ_MASK)
  27639. #define DMA_CSR_ESG_MASK (0x10U)
  27640. #define DMA_CSR_ESG_SHIFT (4U)
  27641. /*! ESG - Enable Scatter/Gather Processing
  27642. * 0b0..The current channel's TCD is normal format
  27643. * 0b1..The current channel's TCD specifies a scatter gather format
  27644. */
  27645. #define DMA_CSR_ESG(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_ESG_SHIFT)) & DMA_CSR_ESG_MASK)
  27646. #define DMA_CSR_MAJORELINK_MASK (0x20U)
  27647. #define DMA_CSR_MAJORELINK_SHIFT (5U)
  27648. /*! MAJORELINK - Enable channel-to-channel linking on major loop complete
  27649. * 0b0..Channel-to-channel linking is disabled
  27650. * 0b1..Channel-to-channel linking is enabled
  27651. */
  27652. #define DMA_CSR_MAJORELINK(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_MAJORELINK_SHIFT)) & DMA_CSR_MAJORELINK_MASK)
  27653. #define DMA_CSR_ACTIVE_MASK (0x40U)
  27654. #define DMA_CSR_ACTIVE_SHIFT (6U)
  27655. /*! ACTIVE - Channel Active
  27656. */
  27657. #define DMA_CSR_ACTIVE(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_ACTIVE_SHIFT)) & DMA_CSR_ACTIVE_MASK)
  27658. #define DMA_CSR_DONE_MASK (0x80U)
  27659. #define DMA_CSR_DONE_SHIFT (7U)
  27660. /*! DONE - Channel Done
  27661. */
  27662. #define DMA_CSR_DONE(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_DONE_SHIFT)) & DMA_CSR_DONE_MASK)
  27663. #define DMA_CSR_MAJORLINKCH_MASK (0x1F00U)
  27664. #define DMA_CSR_MAJORLINKCH_SHIFT (8U)
  27665. /*! MAJORLINKCH - Major Loop Link Channel Number
  27666. */
  27667. #define DMA_CSR_MAJORLINKCH(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_MAJORLINKCH_SHIFT)) & DMA_CSR_MAJORLINKCH_MASK)
  27668. #define DMA_CSR_BWC_MASK (0xC000U)
  27669. #define DMA_CSR_BWC_SHIFT (14U)
  27670. /*! BWC - Bandwidth Control
  27671. * 0b00..No eDMA engine stalls
  27672. * 0b01..Reserved
  27673. * 0b10..eDMA engine stalls for 4 cycles after each R/W
  27674. * 0b11..eDMA engine stalls for 8 cycles after each R/W
  27675. */
  27676. #define DMA_CSR_BWC(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_BWC_SHIFT)) & DMA_CSR_BWC_MASK)
  27677. /*! @} */
  27678. /* The count of DMA_CSR */
  27679. #define DMA_CSR_COUNT (32U)
  27680. /*! @name BITER_ELINKNO - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled) */
  27681. /*! @{ */
  27682. #define DMA_BITER_ELINKNO_BITER_MASK (0x7FFFU)
  27683. #define DMA_BITER_ELINKNO_BITER_SHIFT (0U)
  27684. /*! BITER - Starting Major Iteration Count
  27685. */
  27686. #define DMA_BITER_ELINKNO_BITER(x) (((uint16_t)(((uint16_t)(x)) << DMA_BITER_ELINKNO_BITER_SHIFT)) & DMA_BITER_ELINKNO_BITER_MASK)
  27687. #define DMA_BITER_ELINKNO_ELINK_MASK (0x8000U)
  27688. #define DMA_BITER_ELINKNO_ELINK_SHIFT (15U)
  27689. /*! ELINK - Enables channel-to-channel linking on minor loop complete
  27690. * 0b0..Channel-to-channel linking is disabled
  27691. * 0b1..Channel-to-channel linking is enabled
  27692. */
  27693. #define DMA_BITER_ELINKNO_ELINK(x) (((uint16_t)(((uint16_t)(x)) << DMA_BITER_ELINKNO_ELINK_SHIFT)) & DMA_BITER_ELINKNO_ELINK_MASK)
  27694. /*! @} */
  27695. /* The count of DMA_BITER_ELINKNO */
  27696. #define DMA_BITER_ELINKNO_COUNT (32U)
  27697. /*! @name BITER_ELINKYES - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled) */
  27698. /*! @{ */
  27699. #define DMA_BITER_ELINKYES_BITER_MASK (0x1FFU)
  27700. #define DMA_BITER_ELINKYES_BITER_SHIFT (0U)
  27701. /*! BITER - Starting major iteration count
  27702. */
  27703. #define DMA_BITER_ELINKYES_BITER(x) (((uint16_t)(((uint16_t)(x)) << DMA_BITER_ELINKYES_BITER_SHIFT)) & DMA_BITER_ELINKYES_BITER_MASK)
  27704. #define DMA_BITER_ELINKYES_LINKCH_MASK (0x3E00U)
  27705. #define DMA_BITER_ELINKYES_LINKCH_SHIFT (9U)
  27706. /*! LINKCH - Link Channel Number
  27707. */
  27708. #define DMA_BITER_ELINKYES_LINKCH(x) (((uint16_t)(((uint16_t)(x)) << DMA_BITER_ELINKYES_LINKCH_SHIFT)) & DMA_BITER_ELINKYES_LINKCH_MASK)
  27709. #define DMA_BITER_ELINKYES_ELINK_MASK (0x8000U)
  27710. #define DMA_BITER_ELINKYES_ELINK_SHIFT (15U)
  27711. /*! ELINK - Enables channel-to-channel linking on minor loop complete
  27712. * 0b0..Channel-to-channel linking is disabled
  27713. * 0b1..Channel-to-channel linking is enabled
  27714. */
  27715. #define DMA_BITER_ELINKYES_ELINK(x) (((uint16_t)(((uint16_t)(x)) << DMA_BITER_ELINKYES_ELINK_SHIFT)) & DMA_BITER_ELINKYES_ELINK_MASK)
  27716. /*! @} */
  27717. /* The count of DMA_BITER_ELINKYES */
  27718. #define DMA_BITER_ELINKYES_COUNT (32U)
  27719. /*!
  27720. * @}
  27721. */ /* end of group DMA_Register_Masks */
  27722. /* DMA - Peripheral instance base addresses */
  27723. /** Peripheral DMA1 base address */
  27724. #define DMA1_BASE (0x40C14000u)
  27725. /** Peripheral DMA1 base pointer */
  27726. #define DMA1 ((DMA_Type *)DMA1_BASE)
  27727. /** Array initializer of DMA peripheral base addresses */
  27728. #define DMA_BASE_ADDRS { 0u, DMA1_BASE }
  27729. /** Array initializer of DMA peripheral base pointers */
  27730. #define DMA_BASE_PTRS { (DMA_Type *)0u, DMA1 }
  27731. /** Interrupt vectors for the DMA peripheral type */
  27732. #define DMA_CHN_IRQS { { NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn }, \
  27733. { 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 } }
  27734. #define DMA_ERROR_IRQS { NotAvail_IRQn, DMA_ERROR_IRQn }
  27735. /*!
  27736. * @}
  27737. */ /* end of group DMA_Peripheral_Access_Layer */
  27738. /* ----------------------------------------------------------------------------
  27739. -- DMAMUX Peripheral Access Layer
  27740. ---------------------------------------------------------------------------- */
  27741. /*!
  27742. * @addtogroup DMAMUX_Peripheral_Access_Layer DMAMUX Peripheral Access Layer
  27743. * @{
  27744. */
  27745. /** DMAMUX - Register Layout Typedef */
  27746. typedef struct {
  27747. __IO uint32_t CHCFG[32]; /**< Channel 0 Configuration Register..Channel 31 Configuration Register, array offset: 0x0, array step: 0x4 */
  27748. } DMAMUX_Type;
  27749. /* ----------------------------------------------------------------------------
  27750. -- DMAMUX Register Masks
  27751. ---------------------------------------------------------------------------- */
  27752. /*!
  27753. * @addtogroup DMAMUX_Register_Masks DMAMUX Register Masks
  27754. * @{
  27755. */
  27756. /*! @name CHCFG - Channel 0 Configuration Register..Channel 31 Configuration Register */
  27757. /*! @{ */
  27758. #define DMAMUX_CHCFG_SOURCE_MASK (0xFFU)
  27759. #define DMAMUX_CHCFG_SOURCE_SHIFT (0U)
  27760. /*! SOURCE - DMA Channel Source (Slot Number)
  27761. */
  27762. #define DMAMUX_CHCFG_SOURCE(x) (((uint32_t)(((uint32_t)(x)) << DMAMUX_CHCFG_SOURCE_SHIFT)) & DMAMUX_CHCFG_SOURCE_MASK)
  27763. #define DMAMUX_CHCFG_A_ON_MASK (0x20000000U)
  27764. #define DMAMUX_CHCFG_A_ON_SHIFT (29U)
  27765. /*! A_ON - DMA Channel Always Enable
  27766. * 0b0..DMA Channel Always ON function is disabled
  27767. * 0b1..DMA Channel Always ON function is enabled
  27768. */
  27769. #define DMAMUX_CHCFG_A_ON(x) (((uint32_t)(((uint32_t)(x)) << DMAMUX_CHCFG_A_ON_SHIFT)) & DMAMUX_CHCFG_A_ON_MASK)
  27770. #define DMAMUX_CHCFG_TRIG_MASK (0x40000000U)
  27771. #define DMAMUX_CHCFG_TRIG_SHIFT (30U)
  27772. /*! TRIG - DMA Channel Trigger Enable
  27773. * 0b0..Triggering is disabled. If triggering is disabled and ENBL is set, the DMA Channel will simply route the
  27774. * specified source to the DMA channel. (Normal mode)
  27775. * 0b1..Triggering is enabled. If triggering is enabled and ENBL is set, the DMA_CH_MUX is in Periodic Trigger mode.
  27776. */
  27777. #define DMAMUX_CHCFG_TRIG(x) (((uint32_t)(((uint32_t)(x)) << DMAMUX_CHCFG_TRIG_SHIFT)) & DMAMUX_CHCFG_TRIG_MASK)
  27778. #define DMAMUX_CHCFG_ENBL_MASK (0x80000000U)
  27779. #define DMAMUX_CHCFG_ENBL_SHIFT (31U)
  27780. /*! ENBL - DMA Mux Channel Enable
  27781. * 0b0..DMA Mux channel is disabled
  27782. * 0b1..DMA Mux channel is enabled
  27783. */
  27784. #define DMAMUX_CHCFG_ENBL(x) (((uint32_t)(((uint32_t)(x)) << DMAMUX_CHCFG_ENBL_SHIFT)) & DMAMUX_CHCFG_ENBL_MASK)
  27785. /*! @} */
  27786. /* The count of DMAMUX_CHCFG */
  27787. #define DMAMUX_CHCFG_COUNT (32U)
  27788. /*!
  27789. * @}
  27790. */ /* end of group DMAMUX_Register_Masks */
  27791. /* DMAMUX - Peripheral instance base addresses */
  27792. /** Peripheral DMAMUX1 base address */
  27793. #define DMAMUX1_BASE (0x40C18000u)
  27794. /** Peripheral DMAMUX1 base pointer */
  27795. #define DMAMUX1 ((DMAMUX_Type *)DMAMUX1_BASE)
  27796. /** Array initializer of DMAMUX peripheral base addresses */
  27797. #define DMAMUX_BASE_ADDRS { 0u, DMAMUX1_BASE }
  27798. /** Array initializer of DMAMUX peripheral base pointers */
  27799. #define DMAMUX_BASE_PTRS { (DMAMUX_Type *)0u, DMAMUX1 }
  27800. /*!
  27801. * @}
  27802. */ /* end of group DMAMUX_Peripheral_Access_Layer */
  27803. /* ----------------------------------------------------------------------------
  27804. -- DSI_HOST Peripheral Access Layer
  27805. ---------------------------------------------------------------------------- */
  27806. /*!
  27807. * @addtogroup DSI_HOST_Peripheral_Access_Layer DSI_HOST Peripheral Access Layer
  27808. * @{
  27809. */
  27810. /** DSI_HOST - Register Layout Typedef */
  27811. typedef struct {
  27812. __IO uint32_t CFG_NUM_LANES; /**< CFG_NUM_LANES, offset: 0x0 */
  27813. __IO uint32_t CFG_NONCONTINUOUS_CLK; /**< CFG_NONCONTINUOUS_CLK, offset: 0x4 */
  27814. __IO uint32_t CFG_T_PRE; /**< CFG_T_PRE, offset: 0x8 */
  27815. __IO uint32_t CFG_T_POST; /**< CFG_T_POST, offset: 0xC */
  27816. __IO uint32_t CFG_TX_GAP; /**< CFG_TX_GAP, offset: 0x10 */
  27817. __IO uint32_t CFG_AUTOINSERT_EOTP; /**< CFG_AUTOINSERT_ETOP, offset: 0x14 */
  27818. __IO uint32_t CFG_EXTRA_CMDS_AFTER_EOTP; /**< CFG_EXTRA_CMDS_AFTER_ETOP, offset: 0x18 */
  27819. __IO uint32_t CFG_HTX_TO_COUNT; /**< CFG_HTX_TO_COUNT, offset: 0x1C */
  27820. __IO uint32_t CFG_LRX_H_TO_COUNT; /**< CFG_LRX_H_TO_COUNT, offset: 0x20 */
  27821. __IO uint32_t CFG_BTA_H_TO_COUNT; /**< CFG_BTA_H_TO_COUNT, offset: 0x24 */
  27822. __IO uint32_t CFG_TWAKEUP; /**< CFG_TWAKEUP, offset: 0x28 */
  27823. __I uint32_t CFG_STATUS_OUT; /**< CFG_STATUS_OUT, offset: 0x2C */
  27824. __I uint32_t RX_ERROR_STATUS; /**< RX_ERROR_STATUS, offset: 0x30 */
  27825. } DSI_HOST_Type;
  27826. /* ----------------------------------------------------------------------------
  27827. -- DSI_HOST Register Masks
  27828. ---------------------------------------------------------------------------- */
  27829. /*!
  27830. * @addtogroup DSI_HOST_Register_Masks DSI_HOST Register Masks
  27831. * @{
  27832. */
  27833. /*! @name CFG_NUM_LANES - CFG_NUM_LANES */
  27834. /*! @{ */
  27835. #define DSI_HOST_CFG_NUM_LANES_NUM_LANES_MASK (0x3U)
  27836. #define DSI_HOST_CFG_NUM_LANES_NUM_LANES_SHIFT (0U)
  27837. /*! NUM_LANES - Sets the number of active lanes that are to be used for transmitting data.
  27838. * 0b00..1 lane
  27839. * 0b01..2 lanes
  27840. */
  27841. #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)
  27842. /*! @} */
  27843. /*! @name CFG_NONCONTINUOUS_CLK - CFG_NONCONTINUOUS_CLK */
  27844. /*! @{ */
  27845. #define DSI_HOST_CFG_NONCONTINUOUS_CLK_CLK_MODE_MASK (0x1U)
  27846. #define DSI_HOST_CFG_NONCONTINUOUS_CLK_CLK_MODE_SHIFT (0U)
  27847. /*! CLK_MODE - Sets the Host Controller into non-continuous MIPI clock mode. When in non-continuous
  27848. * clock mode, the high speed clock will transition into low power mode between transmissions.
  27849. * 0b0..Continuous high speed clock
  27850. * 0b1..Non-Continuous high speed clock
  27851. */
  27852. #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)
  27853. /*! @} */
  27854. /*! @name CFG_T_PRE - CFG_T_PRE */
  27855. /*! @{ */
  27856. #define DSI_HOST_CFG_T_PRE_NUM_PERIODS_MASK (0xFFU)
  27857. #define DSI_HOST_CFG_T_PRE_NUM_PERIODS_SHIFT (0U)
  27858. /*! NUM_PERIODS - Sets the number of byte clock periods ('clk_byte' input) that the controller will
  27859. * wait after enabling the clock lane for HS operation before enabling the data lanes for HS
  27860. * operation. This setting represents the TCLK-PRE DPHY timing parameter. The minimum value for this
  27861. * port is 1.
  27862. */
  27863. #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)
  27864. /*! @} */
  27865. /*! @name CFG_T_POST - CFG_T_POST */
  27866. /*! @{ */
  27867. #define DSI_HOST_CFG_T_POST_NUM_PERIODS_MASK (0xFFU)
  27868. #define DSI_HOST_CFG_T_POST_NUM_PERIODS_SHIFT (0U)
  27869. /*! NUM_PERIODS - Sets the number of byte clock periods ('clk_byte' input) to wait before putting
  27870. * the clock lane into LP mode after the data lanes have been detected to be in Stop State. This
  27871. * setting represents the DPHY timing parameters TLPX + TCLK-PREPARE + TCLK-ZERO + TCLK-PRE
  27872. * requirement for the clock lane before the data lane is allowed to change from LP11 to start a high
  27873. * speed transmission. The minimum value for this port is 1.
  27874. */
  27875. #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)
  27876. /*! @} */
  27877. /*! @name CFG_TX_GAP - CFG_TX_GAP */
  27878. /*! @{ */
  27879. #define DSI_HOST_CFG_TX_GAP_NUM_PERIODS_MASK (0xFFU)
  27880. #define DSI_HOST_CFG_TX_GAP_NUM_PERIODS_SHIFT (0U)
  27881. /*! NUM_PERIODS - Sets the number of byte clock periods ('clk_byte' input) that the controller will
  27882. * wait after the clock lane has been put into LP mode before enabling the clock lane for HS mode
  27883. * again. This setting represents the THS-EXIT DPHY timing parameter. The minimum value for this
  27884. * port is 1.
  27885. */
  27886. #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)
  27887. /*! @} */
  27888. /*! @name CFG_AUTOINSERT_EOTP - CFG_AUTOINSERT_ETOP */
  27889. /*! @{ */
  27890. #define DSI_HOST_CFG_AUTOINSERT_EOTP_AUTOINSERT_MASK (0x1U)
  27891. #define DSI_HOST_CFG_AUTOINSERT_EOTP_AUTOINSERT_SHIFT (0U)
  27892. /*! AUTOINSERT - Enables the Host Controller to automatically insert an EoTp short packet when switching from HS to LP mode.
  27893. * 0b0..EoTp is not automatically inserted
  27894. * 0b1..EoTp is automatically inserted
  27895. */
  27896. #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)
  27897. /*! @} */
  27898. /*! @name CFG_EXTRA_CMDS_AFTER_EOTP - CFG_EXTRA_CMDS_AFTER_ETOP */
  27899. /*! @{ */
  27900. #define DSI_HOST_CFG_EXTRA_CMDS_AFTER_EOTP_EXTRA_EOTP_MASK (0xFFU)
  27901. #define DSI_HOST_CFG_EXTRA_CMDS_AFTER_EOTP_EXTRA_EOTP_SHIFT (0U)
  27902. /*! EXTRA_EOTP - Configures the DSI Host Controller to send extra End Of Transmission Packets after
  27903. * the end of a packet. The value is the number of extra EOTP packets sent.
  27904. */
  27905. #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)
  27906. /*! @} */
  27907. /*! @name CFG_HTX_TO_COUNT - CFG_HTX_TO_COUNT */
  27908. /*! @{ */
  27909. #define DSI_HOST_CFG_HTX_TO_COUNT_COUNT_MASK (0xFFFFFFU)
  27910. #define DSI_HOST_CFG_HTX_TO_COUNT_COUNT_SHIFT (0U)
  27911. /*! COUNT - Sets the value of the DSI Host High Speed TX timeout count in clk_byte clock periods
  27912. * that once reached will initiate a timeout error and follow the recovery procedure documented in
  27913. * the DSI specification.
  27914. */
  27915. #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)
  27916. /*! @} */
  27917. /*! @name CFG_LRX_H_TO_COUNT - CFG_LRX_H_TO_COUNT */
  27918. /*! @{ */
  27919. #define DSI_HOST_CFG_LRX_H_TO_COUNT_COUNT_MASK (0xFFFFFFU)
  27920. #define DSI_HOST_CFG_LRX_H_TO_COUNT_COUNT_SHIFT (0U)
  27921. /*! COUNT - Sets the value of the DSI Host low power RX timeout count in clk_byte clock periods that
  27922. * once reached will initiate a timeout error and follow the recovery procedure documented in
  27923. * the DSI specification.
  27924. */
  27925. #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)
  27926. /*! @} */
  27927. /*! @name CFG_BTA_H_TO_COUNT - CFG_BTA_H_TO_COUNT */
  27928. /*! @{ */
  27929. #define DSI_HOST_CFG_BTA_H_TO_COUNT_COUNT_MASK (0xFFFFFFU)
  27930. #define DSI_HOST_CFG_BTA_H_TO_COUNT_COUNT_SHIFT (0U)
  27931. /*! COUNT - Sets the value of the DSI Host Bus Turn Around (BTA) timeout in clk_byte clock periods
  27932. * that once reached will initiate a timeout error.
  27933. */
  27934. #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)
  27935. /*! @} */
  27936. /*! @name CFG_TWAKEUP - CFG_TWAKEUP */
  27937. /*! @{ */
  27938. #define DSI_HOST_CFG_TWAKEUP_NUM_PERIODS_MASK (0x7FFFFU)
  27939. #define DSI_HOST_CFG_TWAKEUP_NUM_PERIODS_SHIFT (0U)
  27940. /*! NUM_PERIODS - DPHY Twakeup timing parameter. Sets the number of clk_esc clock periods to keep a
  27941. * clock or data lane in Mark-1 state after exiting ULPS. The MIPI DPHY spec requires a minimum
  27942. * of 1ms in Mark-1 state after leaving ULPS.
  27943. */
  27944. #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)
  27945. /*! @} */
  27946. /*! @name CFG_STATUS_OUT - CFG_STATUS_OUT */
  27947. /*! @{ */
  27948. #define DSI_HOST_CFG_STATUS_OUT_STATUS_MASK (0xFFFFFFFFU)
  27949. #define DSI_HOST_CFG_STATUS_OUT_STATUS_SHIFT (0U)
  27950. /*! STATUS - Status Register
  27951. */
  27952. #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)
  27953. /*! @} */
  27954. /*! @name RX_ERROR_STATUS - RX_ERROR_STATUS */
  27955. /*! @{ */
  27956. #define DSI_HOST_RX_ERROR_STATUS_STATUS_MASK (0x7FFU)
  27957. #define DSI_HOST_RX_ERROR_STATUS_STATUS_SHIFT (0U)
  27958. /*! STATUS - Status Register for Host receive error detection, ECC errors, CRC errors and for timeout indicators
  27959. */
  27960. #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)
  27961. /*! @} */
  27962. /*!
  27963. * @}
  27964. */ /* end of group DSI_HOST_Register_Masks */
  27965. /* DSI_HOST - Peripheral instance base addresses */
  27966. /** Peripheral DSI_HOST base address */
  27967. #define DSI_HOST_BASE (0x4080C000u)
  27968. /** Peripheral DSI_HOST base pointer */
  27969. #define DSI_HOST ((DSI_HOST_Type *)DSI_HOST_BASE)
  27970. /** Array initializer of DSI_HOST peripheral base addresses */
  27971. #define DSI_HOST_BASE_ADDRS { DSI_HOST_BASE }
  27972. /** Array initializer of DSI_HOST peripheral base pointers */
  27973. #define DSI_HOST_BASE_PTRS { DSI_HOST }
  27974. /** Interrupt vectors for the DSI_HOST peripheral type */
  27975. #define DSI_HOST_DSI_IRQS { MIPI_DSI_IRQn }
  27976. /*!
  27977. * @}
  27978. */ /* end of group DSI_HOST_Peripheral_Access_Layer */
  27979. /* ----------------------------------------------------------------------------
  27980. -- DSI_HOST_APB_PKT_IF Peripheral Access Layer
  27981. ---------------------------------------------------------------------------- */
  27982. /*!
  27983. * @addtogroup DSI_HOST_APB_PKT_IF_Peripheral_Access_Layer DSI_HOST_APB_PKT_IF Peripheral Access Layer
  27984. * @{
  27985. */
  27986. /** DSI_HOST_APB_PKT_IF - Register Layout Typedef */
  27987. typedef struct {
  27988. __IO uint32_t TX_PAYLOAD; /**< TX_PAYLOAD, offset: 0x0 */
  27989. __IO uint32_t PKT_CONTROL; /**< PKT_CONTROL, offset: 0x4 */
  27990. __IO uint32_t SEND_PACKET; /**< SEND_PACKET, offset: 0x8 */
  27991. __I uint32_t PKT_STATUS; /**< PKT_STATUS, offset: 0xC */
  27992. __I uint32_t PKT_FIFO_WR_LEVEL; /**< PKT_FIFO_WR_LEVEL, offset: 0x10 */
  27993. __I uint32_t PKT_FIFO_RD_LEVEL; /**< PKT_FIFO_RD_LEVEL, offset: 0x14 */
  27994. __I uint32_t PKT_RX_PAYLOAD; /**< PKT_RX_PAYLOAD, offset: 0x18 */
  27995. __I uint32_t PKT_RX_PKT_HEADER; /**< PKT_RX_PKT_HEADER, offset: 0x1C */
  27996. __I uint32_t IRQ_STATUS; /**< IRQ_STATUS, offset: 0x20 */
  27997. __I uint32_t IRQ_STATUS2; /**< IRQ_STATUS2, offset: 0x24 */
  27998. __IO uint32_t IRQ_MASK; /**< IRQ_MASK, offset: 0x28 */
  27999. __IO uint32_t IRQ_MASK2; /**< IRQ_MASK2, offset: 0x2C */
  28000. } DSI_HOST_APB_PKT_IF_Type;
  28001. /* ----------------------------------------------------------------------------
  28002. -- DSI_HOST_APB_PKT_IF Register Masks
  28003. ---------------------------------------------------------------------------- */
  28004. /*!
  28005. * @addtogroup DSI_HOST_APB_PKT_IF_Register_Masks DSI_HOST_APB_PKT_IF Register Masks
  28006. * @{
  28007. */
  28008. /*! @name TX_PAYLOAD - TX_PAYLOAD */
  28009. /*! @{ */
  28010. #define DSI_HOST_APB_PKT_IF_TX_PAYLOAD_PAYLOAD_MASK (0xFFFFFFFFU)
  28011. #define DSI_HOST_APB_PKT_IF_TX_PAYLOAD_PAYLOAD_SHIFT (0U)
  28012. /*! PAYLOAD - Tx Payload data write register. Write to this register loads the payload FIFO with 32 bit values.
  28013. */
  28014. #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)
  28015. /*! @} */
  28016. /*! @name PKT_CONTROL - PKT_CONTROL */
  28017. /*! @{ */
  28018. #define DSI_HOST_APB_PKT_IF_PKT_CONTROL_CTRL_MASK (0x7FFFFFFU)
  28019. #define DSI_HOST_APB_PKT_IF_PKT_CONTROL_CTRL_SHIFT (0U)
  28020. /*! CTRL - Tx packet control
  28021. */
  28022. #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)
  28023. /*! @} */
  28024. /*! @name SEND_PACKET - SEND_PACKET */
  28025. /*! @{ */
  28026. #define DSI_HOST_APB_PKT_IF_SEND_PACKET_TX_SEND_MASK (0x1U)
  28027. #define DSI_HOST_APB_PKT_IF_SEND_PACKET_TX_SEND_SHIFT (0U)
  28028. /*! TX_SEND - Tx send packet, writing to this register causes the packet described in dsi_host_pkt_control to be sent.
  28029. * 0b0..Packet not sent
  28030. * 0b1..Packet is sent
  28031. */
  28032. #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)
  28033. /*! @} */
  28034. /*! @name PKT_STATUS - PKT_STATUS */
  28035. /*! @{ */
  28036. #define DSI_HOST_APB_PKT_IF_PKT_STATUS_STATUS_MASK (0x1FFU)
  28037. #define DSI_HOST_APB_PKT_IF_PKT_STATUS_STATUS_SHIFT (0U)
  28038. /*! STATUS - Status of APB to packet interface.
  28039. */
  28040. #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)
  28041. /*! @} */
  28042. /*! @name PKT_FIFO_WR_LEVEL - PKT_FIFO_WR_LEVEL */
  28043. /*! @{ */
  28044. #define DSI_HOST_APB_PKT_IF_PKT_FIFO_WR_LEVEL_WR_MASK (0xFFFFU)
  28045. #define DSI_HOST_APB_PKT_IF_PKT_FIFO_WR_LEVEL_WR_SHIFT (0U)
  28046. /*! WR - Write level of APB to pkt interface FIFO
  28047. */
  28048. #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)
  28049. /*! @} */
  28050. /*! @name PKT_FIFO_RD_LEVEL - PKT_FIFO_RD_LEVEL */
  28051. /*! @{ */
  28052. #define DSI_HOST_APB_PKT_IF_PKT_FIFO_RD_LEVEL_RD_MASK (0xFFFFU)
  28053. #define DSI_HOST_APB_PKT_IF_PKT_FIFO_RD_LEVEL_RD_SHIFT (0U)
  28054. /*! RD - Read level of APB to pkt interface FIFO
  28055. */
  28056. #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)
  28057. /*! @} */
  28058. /*! @name PKT_RX_PAYLOAD - PKT_RX_PAYLOAD */
  28059. /*! @{ */
  28060. #define DSI_HOST_APB_PKT_IF_PKT_RX_PAYLOAD_PAYLOAD_MASK (0xFFFFFFFFU)
  28061. #define DSI_HOST_APB_PKT_IF_PKT_RX_PAYLOAD_PAYLOAD_SHIFT (0U)
  28062. /*! PAYLOAD - APB to pkt interface Rx payload read
  28063. */
  28064. #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)
  28065. /*! @} */
  28066. /*! @name PKT_RX_PKT_HEADER - PKT_RX_PKT_HEADER */
  28067. /*! @{ */
  28068. #define DSI_HOST_APB_PKT_IF_PKT_RX_PKT_HEADER_HEADER_MASK (0xFFFFFFU)
  28069. #define DSI_HOST_APB_PKT_IF_PKT_RX_PKT_HEADER_HEADER_SHIFT (0U)
  28070. /*! HEADER - APB to pkt interface Rx packet header
  28071. */
  28072. #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)
  28073. /*! @} */
  28074. /*! @name IRQ_STATUS - IRQ_STATUS */
  28075. /*! @{ */
  28076. #define DSI_HOST_APB_PKT_IF_IRQ_STATUS_STATUS_MASK (0xFFFFFFFFU)
  28077. #define DSI_HOST_APB_PKT_IF_IRQ_STATUS_STATUS_SHIFT (0U)
  28078. /*! STATUS - Status of APB to packet interface.
  28079. */
  28080. #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)
  28081. /*! @} */
  28082. /*! @name IRQ_STATUS2 - IRQ_STATUS2 */
  28083. /*! @{ */
  28084. #define DSI_HOST_APB_PKT_IF_IRQ_STATUS2_STATUS2_MASK (0x7U)
  28085. #define DSI_HOST_APB_PKT_IF_IRQ_STATUS2_STATUS2_SHIFT (0U)
  28086. /*! STATUS2 - Status of APB to packet interface part 2, read part 2 first then dsi_host_irq_status.
  28087. * Reading dsi_host_irq_status will clear both status and status2.
  28088. */
  28089. #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)
  28090. /*! @} */
  28091. /*! @name IRQ_MASK - IRQ_MASK */
  28092. /*! @{ */
  28093. #define DSI_HOST_APB_PKT_IF_IRQ_MASK_MASK_MASK (0xFFFFFFFFU)
  28094. #define DSI_HOST_APB_PKT_IF_IRQ_MASK_MASK_SHIFT (0U)
  28095. /*! MASK - IRQ Mask
  28096. */
  28097. #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)
  28098. /*! @} */
  28099. /*! @name IRQ_MASK2 - IRQ_MASK2 */
  28100. /*! @{ */
  28101. #define DSI_HOST_APB_PKT_IF_IRQ_MASK2_MASK2_MASK (0x7U)
  28102. #define DSI_HOST_APB_PKT_IF_IRQ_MASK2_MASK2_SHIFT (0U)
  28103. /*! MASK2 - IRQ mask 2
  28104. */
  28105. #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)
  28106. /*! @} */
  28107. /*!
  28108. * @}
  28109. */ /* end of group DSI_HOST_APB_PKT_IF_Register_Masks */
  28110. /* DSI_HOST_APB_PKT_IF - Peripheral instance base addresses */
  28111. /** Peripheral DSI_HOST_APB_PKT_IF base address */
  28112. #define DSI_HOST_APB_PKT_IF_BASE (0x4080C280u)
  28113. /** Peripheral DSI_HOST_APB_PKT_IF base pointer */
  28114. #define DSI_HOST_APB_PKT_IF ((DSI_HOST_APB_PKT_IF_Type *)DSI_HOST_APB_PKT_IF_BASE)
  28115. /** Array initializer of DSI_HOST_APB_PKT_IF peripheral base addresses */
  28116. #define DSI_HOST_APB_PKT_IF_BASE_ADDRS { DSI_HOST_APB_PKT_IF_BASE }
  28117. /** Array initializer of DSI_HOST_APB_PKT_IF peripheral base pointers */
  28118. #define DSI_HOST_APB_PKT_IF_BASE_PTRS { DSI_HOST_APB_PKT_IF }
  28119. /*!
  28120. * @}
  28121. */ /* end of group DSI_HOST_APB_PKT_IF_Peripheral_Access_Layer */
  28122. /* ----------------------------------------------------------------------------
  28123. -- DSI_HOST_DPI_INTFC Peripheral Access Layer
  28124. ---------------------------------------------------------------------------- */
  28125. /*!
  28126. * @addtogroup DSI_HOST_DPI_INTFC_Peripheral_Access_Layer DSI_HOST_DPI_INTFC Peripheral Access Layer
  28127. * @{
  28128. */
  28129. /** DSI_HOST_DPI_INTFC - Register Layout Typedef */
  28130. typedef struct {
  28131. __IO uint32_t PIXEL_PAYLOAD_SIZE; /**< PEXEL_PAYLOAD_SIZE, offset: 0x0 */
  28132. __IO uint32_t PIXEL_FIFO_SEND_LEVEL; /**< PIXEL_FIFO_SEND_LEVEL, offset: 0x4 */
  28133. __IO uint32_t INTERFACE_COLOR_CODING; /**< INTERFACE_COLOR_CODING, offset: 0x8 */
  28134. __IO uint32_t PIXEL_FORMAT; /**< PIXEL_FORMAT, offset: 0xC */
  28135. __IO uint32_t VSYNC_POLARITY; /**< VSYNC_POLARITY, offset: 0x10 */
  28136. __IO uint32_t HSYNC_POLARITY; /**< HSYNC_POLARITY, offset: 0x14 */
  28137. __IO uint32_t VIDEO_MODE; /**< VIDEO_MODE, offset: 0x18 */
  28138. __IO uint32_t HFP; /**< HFP, offset: 0x1C */
  28139. __IO uint32_t HBP; /**< HBP, offset: 0x20 */
  28140. __IO uint32_t HSA; /**< HSA, offset: 0x24 */
  28141. __IO uint32_t ENABLE_MULT_PKTS; /**< ENABLE_MULT_PKTS, offset: 0x28 */
  28142. __IO uint32_t VBP; /**< VBP, offset: 0x2C */
  28143. __IO uint32_t VFP; /**< VFP, offset: 0x30 */
  28144. __IO uint32_t BLLP_MODE; /**< BLLP_MODE, offset: 0x34 */
  28145. __IO uint32_t USE_NULL_PKT_BLLP; /**< USE_NULL_PKT_BLLP, offset: 0x38 */
  28146. __IO uint32_t VACTIVE; /**< VACTIVE, offset: 0x3C */
  28147. } DSI_HOST_DPI_INTFC_Type;
  28148. /* ----------------------------------------------------------------------------
  28149. -- DSI_HOST_DPI_INTFC Register Masks
  28150. ---------------------------------------------------------------------------- */
  28151. /*!
  28152. * @addtogroup DSI_HOST_DPI_INTFC_Register_Masks DSI_HOST_DPI_INTFC Register Masks
  28153. * @{
  28154. */
  28155. /*! @name PIXEL_PAYLOAD_SIZE - PEXEL_PAYLOAD_SIZE */
  28156. /*! @{ */
  28157. #define DSI_HOST_DPI_INTFC_PIXEL_PAYLOAD_SIZE_PAYLOAD_SIZE_MASK (0xFFFFU)
  28158. #define DSI_HOST_DPI_INTFC_PIXEL_PAYLOAD_SIZE_PAYLOAD_SIZE_SHIFT (0U)
  28159. /*! PAYLOAD_SIZE - Maximum number of pixels that should be sent as one DSI packet. Recommended to be
  28160. * evenly divisible by the line size (in pixels).
  28161. */
  28162. #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)
  28163. /*! @} */
  28164. /*! @name PIXEL_FIFO_SEND_LEVEL - PIXEL_FIFO_SEND_LEVEL */
  28165. /*! @{ */
  28166. #define DSI_HOST_DPI_INTFC_PIXEL_FIFO_SEND_LEVEL_FIFO_SEND_LEVEL_MASK (0xFFFFU)
  28167. #define DSI_HOST_DPI_INTFC_PIXEL_FIFO_SEND_LEVEL_FIFO_SEND_LEVEL_SHIFT (0U)
  28168. /*! FIFO_SEND_LEVEL - In order to optimize DSI utility, the DPI bridge buffers a certain number of
  28169. * DPI pixels before initiating a DSI packet. This configuration port controls the level at which
  28170. * the DPI Host bridge begins sending pixels.
  28171. */
  28172. #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)
  28173. /*! @} */
  28174. /*! @name INTERFACE_COLOR_CODING - INTERFACE_COLOR_CODING */
  28175. /*! @{ */
  28176. #define DSI_HOST_DPI_INTFC_INTERFACE_COLOR_CODING_RGB_CONFIG_MASK (0x7U)
  28177. #define DSI_HOST_DPI_INTFC_INTERFACE_COLOR_CODING_RGB_CONFIG_SHIFT (0U)
  28178. /*! RGB_CONFIG - Sets the distribution of RGB bits within the 24-bit d bus, as specified by the DPI specification.
  28179. * 0b000..16-bit Configuration 1
  28180. * 0b001..16-bit Configuration 2
  28181. * 0b010..16-bit Configuration 3
  28182. * 0b011..18-bit Configuration 1
  28183. * 0b100..18-bit Configuration 2
  28184. * 0b101..24-bit
  28185. * 0b110, 0b111..Reserved
  28186. */
  28187. #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)
  28188. /*! @} */
  28189. /*! @name PIXEL_FORMAT - PIXEL_FORMAT */
  28190. /*! @{ */
  28191. #define DSI_HOST_DPI_INTFC_PIXEL_FORMAT_PIXEL_FORMAT_MASK (0x3U)
  28192. #define DSI_HOST_DPI_INTFC_PIXEL_FORMAT_PIXEL_FORMAT_SHIFT (0U)
  28193. /*! PIXEL_FORMAT - Sets the DSI packet type of the pixels
  28194. * 0b00..16 bit
  28195. * 0b01..18 bit
  28196. * 0b10..18 bit loosely packed
  28197. * 0b11..24 bit
  28198. */
  28199. #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)
  28200. /*! @} */
  28201. /*! @name VSYNC_POLARITY - VSYNC_POLARITY */
  28202. /*! @{ */
  28203. #define DSI_HOST_DPI_INTFC_VSYNC_POLARITY_VSYNC_POLARITY_MASK (0x1U)
  28204. #define DSI_HOST_DPI_INTFC_VSYNC_POLARITY_VSYNC_POLARITY_SHIFT (0U)
  28205. /*! VSYNC_POLARITY - Sets polarity of dpi_vsync_input
  28206. * 0b0..active low
  28207. * 0b1..active high
  28208. */
  28209. #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)
  28210. /*! @} */
  28211. /*! @name HSYNC_POLARITY - HSYNC_POLARITY */
  28212. /*! @{ */
  28213. #define DSI_HOST_DPI_INTFC_HSYNC_POLARITY_HSYNC_POLARITY_MASK (0x1U)
  28214. #define DSI_HOST_DPI_INTFC_HSYNC_POLARITY_HSYNC_POLARITY_SHIFT (0U)
  28215. /*! HSYNC_POLARITY - Sets polarity of dpi_hsync_input
  28216. * 0b0..active low
  28217. * 0b1..active high
  28218. */
  28219. #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)
  28220. /*! @} */
  28221. /*! @name VIDEO_MODE - VIDEO_MODE */
  28222. /*! @{ */
  28223. #define DSI_HOST_DPI_INTFC_VIDEO_MODE_VIDEO_MODE_MASK (0x3U)
  28224. #define DSI_HOST_DPI_INTFC_VIDEO_MODE_VIDEO_MODE_SHIFT (0U)
  28225. /*! VIDEO_MODE - Select DSI video mode that the host DPI module should generate packets for.
  28226. * 0b00..Non-Burst mode with Sync Pulses
  28227. * 0b01..Non-Burst mode with Sync Events
  28228. * 0b10..Burst mode
  28229. * 0b11..Reserved, not valid
  28230. */
  28231. #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)
  28232. /*! @} */
  28233. /*! @name HFP - HFP */
  28234. /*! @{ */
  28235. #define DSI_HOST_DPI_INTFC_HFP_PAYLOAD_SIZE_MASK (0xFFFFU)
  28236. #define DSI_HOST_DPI_INTFC_HFP_PAYLOAD_SIZE_SHIFT (0U)
  28237. /*! PAYLOAD_SIZE - Sets the DSI packet payload size, in bytes, of the horizontal front porch blanking packet.
  28238. */
  28239. #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)
  28240. /*! @} */
  28241. /*! @name HBP - HBP */
  28242. /*! @{ */
  28243. #define DSI_HOST_DPI_INTFC_HBP_PAYLOAD_SIZE_MASK (0xFFFFU)
  28244. #define DSI_HOST_DPI_INTFC_HBP_PAYLOAD_SIZE_SHIFT (0U)
  28245. /*! PAYLOAD_SIZE - Sets the DSI packet payload size, in bytes, of the horizontal back porch blanking packet.
  28246. */
  28247. #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)
  28248. /*! @} */
  28249. /*! @name HSA - HSA */
  28250. /*! @{ */
  28251. #define DSI_HOST_DPI_INTFC_HSA_PAYLOAD_SIZE_MASK (0xFFFFU)
  28252. #define DSI_HOST_DPI_INTFC_HSA_PAYLOAD_SIZE_SHIFT (0U)
  28253. /*! PAYLOAD_SIZE - Sets the DSI packet payload size, in bytes, of the horizontal sync width filler blanking packet.
  28254. */
  28255. #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)
  28256. /*! @} */
  28257. /*! @name ENABLE_MULT_PKTS - ENABLE_MULT_PKTS */
  28258. /*! @{ */
  28259. #define DSI_HOST_DPI_INTFC_ENABLE_MULT_PKTS_ENABLE_MULT_PKTS_MASK (0x1U)
  28260. #define DSI_HOST_DPI_INTFC_ENABLE_MULT_PKTS_ENABLE_MULT_PKTS_SHIFT (0U)
  28261. /*! ENABLE_MULT_PKTS - Enable Multiple packets per video line. When enabled,
  28262. * PIXEL_PAYLOAD_SIZE[PAYLOAD_SIZE] must be set to exactly half the size of the video line
  28263. * 0b0..Video Line is sent in a single packet
  28264. * 0b1..Video Line is sent in two packets
  28265. */
  28266. #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)
  28267. /*! @} */
  28268. /*! @name VBP - VBP */
  28269. /*! @{ */
  28270. #define DSI_HOST_DPI_INTFC_VBP_NUM_LINES_MASK (0xFFU)
  28271. #define DSI_HOST_DPI_INTFC_VBP_NUM_LINES_SHIFT (0U)
  28272. /*! NUM_LINES - Sets the number of lines in the vertical back porch.
  28273. */
  28274. #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)
  28275. /*! @} */
  28276. /*! @name VFP - VFP */
  28277. /*! @{ */
  28278. #define DSI_HOST_DPI_INTFC_VFP_NUM_LINES_MASK (0xFFU)
  28279. #define DSI_HOST_DPI_INTFC_VFP_NUM_LINES_SHIFT (0U)
  28280. /*! NUM_LINES - Sets the number of lines in the vertical front porch.
  28281. */
  28282. #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)
  28283. /*! @} */
  28284. /*! @name BLLP_MODE - BLLP_MODE */
  28285. /*! @{ */
  28286. #define DSI_HOST_DPI_INTFC_BLLP_MODE_LP_MASK (0x1U)
  28287. #define DSI_HOST_DPI_INTFC_BLLP_MODE_LP_SHIFT (0U)
  28288. /*! LP - Optimize bllp periods to Low Power mode when possible
  28289. * 0b0..Blanking packets are sent during BLLP periods
  28290. * 0b1..LP mode is used for BLLP periods
  28291. */
  28292. #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)
  28293. /*! @} */
  28294. /*! @name USE_NULL_PKT_BLLP - USE_NULL_PKT_BLLP */
  28295. /*! @{ */
  28296. #define DSI_HOST_DPI_INTFC_USE_NULL_PKT_BLLP_NULL_MASK (0x1U)
  28297. #define DSI_HOST_DPI_INTFC_USE_NULL_PKT_BLLP_NULL_SHIFT (0U)
  28298. /*! NULL - Selects type of blanking packet to be sent during bllp
  28299. * 0b0..Blanking packet used in bllp region 1
  28300. * 0b1..Null packet used in bllp region
  28301. */
  28302. #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)
  28303. /*! @} */
  28304. /*! @name VACTIVE - VACTIVE */
  28305. /*! @{ */
  28306. #define DSI_HOST_DPI_INTFC_VACTIVE_NUM_LINES_MASK (0x3FFFU)
  28307. #define DSI_HOST_DPI_INTFC_VACTIVE_NUM_LINES_SHIFT (0U)
  28308. /*! NUM_LINES - Sets the number of lines in the vertical active aread.
  28309. */
  28310. #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)
  28311. /*! @} */
  28312. /*!
  28313. * @}
  28314. */ /* end of group DSI_HOST_DPI_INTFC_Register_Masks */
  28315. /* DSI_HOST_DPI_INTFC - Peripheral instance base addresses */
  28316. /** Peripheral DSI_HOST_DPI_INTFC base address */
  28317. #define DSI_HOST_DPI_INTFC_BASE (0x4080C200u)
  28318. /** Peripheral DSI_HOST_DPI_INTFC base pointer */
  28319. #define DSI_HOST_DPI_INTFC ((DSI_HOST_DPI_INTFC_Type *)DSI_HOST_DPI_INTFC_BASE)
  28320. /** Array initializer of DSI_HOST_DPI_INTFC peripheral base addresses */
  28321. #define DSI_HOST_DPI_INTFC_BASE_ADDRS { DSI_HOST_DPI_INTFC_BASE }
  28322. /** Array initializer of DSI_HOST_DPI_INTFC peripheral base pointers */
  28323. #define DSI_HOST_DPI_INTFC_BASE_PTRS { DSI_HOST_DPI_INTFC }
  28324. /*!
  28325. * @}
  28326. */ /* end of group DSI_HOST_DPI_INTFC_Peripheral_Access_Layer */
  28327. /* ----------------------------------------------------------------------------
  28328. -- DSI_HOST_NXP_FDSOI28_DPHY_INTFC Peripheral Access Layer
  28329. ---------------------------------------------------------------------------- */
  28330. /*!
  28331. * @addtogroup DSI_HOST_NXP_FDSOI28_DPHY_INTFC_Peripheral_Access_Layer DSI_HOST_NXP_FDSOI28_DPHY_INTFC Peripheral Access Layer
  28332. * @{
  28333. */
  28334. /** DSI_HOST_NXP_FDSOI28_DPHY_INTFC - Register Layout Typedef */
  28335. typedef struct {
  28336. __IO uint32_t PD_TX; /**< PD_TX, offset: 0x0 */
  28337. __IO uint32_t M_PRG_HS_PREPARE; /**< M_PRG_HS_PREPARE, offset: 0x4 */
  28338. __IO uint32_t MC_PRG_HS_PREPARE; /**< MC_PRG_HS_PREPARE, offset: 0x8 */
  28339. __IO uint32_t M_PRG_HS_ZERO; /**< M_PRG_HS_ZERO, offset: 0xC */
  28340. __IO uint32_t MC_PRG_HS_ZERO; /**< MC_PRG_HS_ZERO, offset: 0x10 */
  28341. __IO uint32_t M_PRG_HS_TRAIL; /**< M_PRG_HS_TRAIL, offset: 0x14 */
  28342. __IO uint32_t MC_PRG_HS_TRAIL; /**< MC_PRG_HS_TRAIL, offset: 0x18 */
  28343. __IO uint32_t PD_PLL; /**< PD_PLL, offset: 0x1C */
  28344. __IO uint32_t TST; /**< TST, offset: 0x20 */
  28345. __IO uint32_t CN; /**< CN, offset: 0x24 */
  28346. __IO uint32_t CM; /**< CM, offset: 0x28 */
  28347. __IO uint32_t CO; /**< CO, offset: 0x2C */
  28348. __I uint32_t LOCK; /**< LOCK, offset: 0x30 */
  28349. __IO uint32_t LOCK_BYP; /**< LOCK_BYP, offset: 0x34 */
  28350. __IO uint32_t TX_RCAL; /**< TX_RCAL, offset: 0x38 */
  28351. __IO uint32_t AUTO_PD_EN; /**< AUTO_PD_EN, offset: 0x3C */
  28352. __IO uint32_t RXLPRP; /**< RXLPRP, offset: 0x40 */
  28353. __IO uint32_t RXCDRP; /**< RXCDRP, offset: 0x44 */
  28354. } DSI_HOST_NXP_FDSOI28_DPHY_INTFC_Type;
  28355. /* ----------------------------------------------------------------------------
  28356. -- DSI_HOST_NXP_FDSOI28_DPHY_INTFC Register Masks
  28357. ---------------------------------------------------------------------------- */
  28358. /*!
  28359. * @addtogroup DSI_HOST_NXP_FDSOI28_DPHY_INTFC_Register_Masks DSI_HOST_NXP_FDSOI28_DPHY_INTFC Register Masks
  28360. * @{
  28361. */
  28362. /*! @name PD_TX - PD_TX */
  28363. /*! @{ */
  28364. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_PD_TX_PD_TX_MASK (0x1U)
  28365. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_PD_TX_PD_TX_SHIFT (0U)
  28366. /*! PD_TX - Power Down input for D-PHY
  28367. * 0b1..Power Down
  28368. * 0b0..Power Up
  28369. */
  28370. #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)
  28371. /*! @} */
  28372. /*! @name M_PRG_HS_PREPARE - M_PRG_HS_PREPARE */
  28373. /*! @{ */
  28374. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_M_PRG_HS_PREPARE_M_PRG_HS_PREPARE_MASK (0x3U)
  28375. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_M_PRG_HS_PREPARE_M_PRG_HS_PREPARE_SHIFT (0U)
  28376. /*! M_PRG_HS_PREPARE - DPHY m_PRG_HS_PREPARE input
  28377. */
  28378. #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)
  28379. /*! @} */
  28380. /*! @name MC_PRG_HS_PREPARE - MC_PRG_HS_PREPARE */
  28381. /*! @{ */
  28382. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_MC_PRG_HS_PREPARE_MC_PRG_HS_PREPARE_MASK (0x1U)
  28383. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_MC_PRG_HS_PREPARE_MC_PRG_HS_PREPARE_SHIFT (0U)
  28384. /*! MC_PRG_HS_PREPARE - DPHY mc_PRG_HS_PREPARE input
  28385. */
  28386. #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)
  28387. /*! @} */
  28388. /*! @name M_PRG_HS_ZERO - M_PRG_HS_ZERO */
  28389. /*! @{ */
  28390. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_M_PRG_HS_ZERO_M_PRG_HS_ZERO_MASK (0x1FU)
  28391. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_M_PRG_HS_ZERO_M_PRG_HS_ZERO_SHIFT (0U)
  28392. /*! M_PRG_HS_ZERO - DPHY m_PRG_HS_ZERO input
  28393. */
  28394. #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)
  28395. /*! @} */
  28396. /*! @name MC_PRG_HS_ZERO - MC_PRG_HS_ZERO */
  28397. /*! @{ */
  28398. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_MC_PRG_HS_ZERO_MC_PRG_HS_ZERO_MASK (0x3FU)
  28399. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_MC_PRG_HS_ZERO_MC_PRG_HS_ZERO_SHIFT (0U)
  28400. /*! MC_PRG_HS_ZERO - DPHY mc_PRG_HS_ZERO input
  28401. */
  28402. #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)
  28403. /*! @} */
  28404. /*! @name M_PRG_HS_TRAIL - M_PRG_HS_TRAIL */
  28405. /*! @{ */
  28406. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_M_PRG_HS_TRAIL_M_PRG_HS_TRAIL_MASK (0xFU)
  28407. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_M_PRG_HS_TRAIL_M_PRG_HS_TRAIL_SHIFT (0U)
  28408. /*! M_PRG_HS_TRAIL - DPHY m_PRG_HS_TRAIL input
  28409. */
  28410. #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)
  28411. /*! @} */
  28412. /*! @name MC_PRG_HS_TRAIL - MC_PRG_HS_TRAIL */
  28413. /*! @{ */
  28414. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_MC_PRG_HS_TRAIL_MC_PRG_HS_TRAIL_MASK (0xFU)
  28415. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_MC_PRG_HS_TRAIL_MC_PRG_HS_TRAIL_SHIFT (0U)
  28416. /*! MC_PRG_HS_TRAIL - DPHY mc_PRG_HS_TRAIL input
  28417. */
  28418. #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)
  28419. /*! @} */
  28420. /*! @name PD_PLL - PD_PLL */
  28421. /*! @{ */
  28422. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_PD_PLL_PD_PLL_MASK (0x1U)
  28423. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_PD_PLL_PD_PLL_SHIFT (0U)
  28424. /*! PD_PLL - Power-down signal
  28425. * 0b1..Power down PLL
  28426. * 0b0..Power up PLL
  28427. */
  28428. #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)
  28429. /*! @} */
  28430. /*! @name TST - TST */
  28431. /*! @{ */
  28432. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_TST_TST_MASK (0x3FU)
  28433. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_TST_TST_SHIFT (0U)
  28434. /*! TST - Test
  28435. */
  28436. #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)
  28437. /*! @} */
  28438. /*! @name CN - CN */
  28439. /*! @{ */
  28440. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_CN_CN_MASK (0x1FU)
  28441. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_CN_CN_SHIFT (0U)
  28442. /*! CN - Control N divider
  28443. */
  28444. #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)
  28445. /*! @} */
  28446. /*! @name CM - CM */
  28447. /*! @{ */
  28448. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_CM_CM_MASK (0xFFU)
  28449. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_CM_CM_SHIFT (0U)
  28450. /*! CM - Control M divider
  28451. */
  28452. #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)
  28453. /*! @} */
  28454. /*! @name CO - CO */
  28455. /*! @{ */
  28456. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_CO_CO_MASK (0x3U)
  28457. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_CO_CO_SHIFT (0U)
  28458. /*! CO - Control O divider
  28459. * 0b00..Divide by 1
  28460. * 0b01..Divide by 2
  28461. * 0b10..Divide by 4
  28462. * 0b11..Divide by 8
  28463. */
  28464. #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)
  28465. /*! @} */
  28466. /*! @name LOCK - LOCK */
  28467. /*! @{ */
  28468. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_LOCK_LOCK_MASK (0x1U)
  28469. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_LOCK_LOCK_SHIFT (0U)
  28470. /*! LOCK - Lock Detect output
  28471. * 0b1..PLL has achieved frequency lock
  28472. * 0b0..PLL not locked
  28473. */
  28474. #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)
  28475. /*! @} */
  28476. /*! @name LOCK_BYP - LOCK_BYP */
  28477. /*! @{ */
  28478. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_LOCK_BYP_LOCK_BYP_MASK (0x1U)
  28479. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_LOCK_BYP_LOCK_BYP_SHIFT (0U)
  28480. /*! LOCK_BYP - DPHY LOCK_BYP input
  28481. * 0b0..PLL LOCK signal will gate TxByteClkHS clock
  28482. * 0b1..PLL LOCK signal will not gate TxByteClkHS clock, CIL based counter will be used to gate the TxByteClkHS
  28483. */
  28484. #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)
  28485. /*! @} */
  28486. /*! @name TX_RCAL - TX_RCAL */
  28487. /*! @{ */
  28488. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_TX_RCAL_TX_RCAL_MASK (0x3U)
  28489. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_TX_RCAL_TX_RCAL_SHIFT (0U)
  28490. /*! TX_RCAL - On-chip termination control bits for manual calibration of HS-TX
  28491. * 0b00..20% higher than mid-range. Highest impedance setting
  28492. * 0b01..Mid-range impedance setting (default)
  28493. * 0b10..15% lower than mid-range
  28494. * 0b11..25% lower than mid-range. Lowest impedance setting
  28495. */
  28496. #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)
  28497. /*! @} */
  28498. /*! @name AUTO_PD_EN - AUTO_PD_EN */
  28499. /*! @{ */
  28500. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_AUTO_PD_EN_AUTO_PD_EN_MASK (0x1U)
  28501. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_AUTO_PD_EN_AUTO_PD_EN_SHIFT (0U)
  28502. /*! AUTO_PD_EN - DPHY AUTO_PD_EN input
  28503. * 0b0..Inactive lanes are powered up and driving LP11
  28504. * 0b1..inactive lanes are powered down
  28505. */
  28506. #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)
  28507. /*! @} */
  28508. /*! @name RXLPRP - RXLPRP */
  28509. /*! @{ */
  28510. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_RXLPRP_RXLPRP_MASK (0x3U)
  28511. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_RXLPRP_RXLPRP_SHIFT (0U)
  28512. /*! RXLPRP - DPHY RXLPRP input
  28513. */
  28514. #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)
  28515. /*! @} */
  28516. /*! @name RXCDRP - RXCDRP */
  28517. /*! @{ */
  28518. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_RXCDRP_RXCDRP_MASK (0x3U)
  28519. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_RXCDRP_RXCDRP_SHIFT (0U)
  28520. /*! RXCDRP - DPHY RXCDRP input
  28521. * 0b00..344mV
  28522. * 0b01..325mV (Default)
  28523. * 0b10..307mV
  28524. * 0b11..Invalid
  28525. */
  28526. #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)
  28527. /*! @} */
  28528. /*!
  28529. * @}
  28530. */ /* end of group DSI_HOST_NXP_FDSOI28_DPHY_INTFC_Register_Masks */
  28531. /* DSI_HOST_NXP_FDSOI28_DPHY_INTFC - Peripheral instance base addresses */
  28532. /** Peripheral DSI_HOST_DPHY_INTFC base address */
  28533. #define DSI_HOST_DPHY_INTFC_BASE (0x4080C300u)
  28534. /** Peripheral DSI_HOST_DPHY_INTFC base pointer */
  28535. #define DSI_HOST_DPHY_INTFC ((DSI_HOST_NXP_FDSOI28_DPHY_INTFC_Type *)DSI_HOST_DPHY_INTFC_BASE)
  28536. /** Array initializer of DSI_HOST_NXP_FDSOI28_DPHY_INTFC peripheral base
  28537. * addresses */
  28538. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_BASE_ADDRS { DSI_HOST_DPHY_INTFC_BASE }
  28539. /** Array initializer of DSI_HOST_NXP_FDSOI28_DPHY_INTFC peripheral base
  28540. * pointers */
  28541. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_BASE_PTRS { DSI_HOST_DPHY_INTFC }
  28542. /*!
  28543. * @}
  28544. */ /* end of group DSI_HOST_NXP_FDSOI28_DPHY_INTFC_Peripheral_Access_Layer */
  28545. /* ----------------------------------------------------------------------------
  28546. -- EMVSIM Peripheral Access Layer
  28547. ---------------------------------------------------------------------------- */
  28548. /*!
  28549. * @addtogroup EMVSIM_Peripheral_Access_Layer EMVSIM Peripheral Access Layer
  28550. * @{
  28551. */
  28552. /** EMVSIM - Register Layout Typedef */
  28553. typedef struct {
  28554. __I uint32_t VER_ID; /**< Version ID Register, offset: 0x0 */
  28555. __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */
  28556. __IO uint32_t CLKCFG; /**< Clock Configuration Register, offset: 0x8 */
  28557. __IO uint32_t DIVISOR; /**< Baud Rate Divisor Register, offset: 0xC */
  28558. __IO uint32_t CTRL; /**< Control Register, offset: 0x10 */
  28559. __IO uint32_t INT_MASK; /**< Interrupt Mask Register, offset: 0x14 */
  28560. __IO uint32_t RX_THD; /**< Receiver Threshold Register, offset: 0x18 */
  28561. __IO uint32_t TX_THD; /**< Transmitter Threshold Register, offset: 0x1C */
  28562. __IO uint32_t RX_STATUS; /**< Receive Status Register, offset: 0x20 */
  28563. __IO uint32_t TX_STATUS; /**< Transmitter Status Register, offset: 0x24 */
  28564. __IO uint32_t PCSR; /**< Port Control and Status Register, offset: 0x28 */
  28565. __I uint32_t RX_BUF; /**< Receive Data Read Buffer, offset: 0x2C */
  28566. __O uint32_t TX_BUF; /**< Transmit Data Buffer, offset: 0x30 */
  28567. __IO uint32_t TX_GETU; /**< Transmitter Guard ETU Value Register, offset: 0x34 */
  28568. __IO uint32_t CWT_VAL; /**< Character Wait Time Value Register, offset: 0x38 */
  28569. __IO uint32_t BWT_VAL; /**< Block Wait Time Value Register, offset: 0x3C */
  28570. __IO uint32_t BGT_VAL; /**< Block Guard Time Value Register, offset: 0x40 */
  28571. __IO uint32_t GPCNT0_VAL; /**< General Purpose Counter 0 Timeout Value Register, offset: 0x44 */
  28572. __IO uint32_t GPCNT1_VAL; /**< General Purpose Counter 1 Timeout Value, offset: 0x48 */
  28573. } EMVSIM_Type;
  28574. /* ----------------------------------------------------------------------------
  28575. -- EMVSIM Register Masks
  28576. ---------------------------------------------------------------------------- */
  28577. /*!
  28578. * @addtogroup EMVSIM_Register_Masks EMVSIM Register Masks
  28579. * @{
  28580. */
  28581. /*! @name VER_ID - Version ID Register */
  28582. /*! @{ */
  28583. #define EMVSIM_VER_ID_VER_MASK (0xFFFFFFFFU)
  28584. #define EMVSIM_VER_ID_VER_SHIFT (0U)
  28585. /*! VER - Version ID of the module
  28586. */
  28587. #define EMVSIM_VER_ID_VER(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_VER_ID_VER_SHIFT)) & EMVSIM_VER_ID_VER_MASK)
  28588. /*! @} */
  28589. /*! @name PARAM - Parameter Register */
  28590. /*! @{ */
  28591. #define EMVSIM_PARAM_RX_FIFO_DEPTH_MASK (0xFFU)
  28592. #define EMVSIM_PARAM_RX_FIFO_DEPTH_SHIFT (0U)
  28593. /*! RX_FIFO_DEPTH - Receive FIFO Depth
  28594. */
  28595. #define EMVSIM_PARAM_RX_FIFO_DEPTH(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PARAM_RX_FIFO_DEPTH_SHIFT)) & EMVSIM_PARAM_RX_FIFO_DEPTH_MASK)
  28596. #define EMVSIM_PARAM_TX_FIFO_DEPTH_MASK (0xFF00U)
  28597. #define EMVSIM_PARAM_TX_FIFO_DEPTH_SHIFT (8U)
  28598. /*! TX_FIFO_DEPTH - Transmit FIFO Depth
  28599. */
  28600. #define EMVSIM_PARAM_TX_FIFO_DEPTH(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PARAM_TX_FIFO_DEPTH_SHIFT)) & EMVSIM_PARAM_TX_FIFO_DEPTH_MASK)
  28601. /*! @} */
  28602. /*! @name CLKCFG - Clock Configuration Register */
  28603. /*! @{ */
  28604. #define EMVSIM_CLKCFG_CLK_PRSC_MASK (0xFFU)
  28605. #define EMVSIM_CLKCFG_CLK_PRSC_SHIFT (0U)
  28606. /*! CLK_PRSC - Clock Prescaler Value
  28607. */
  28608. #define EMVSIM_CLKCFG_CLK_PRSC(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CLKCFG_CLK_PRSC_SHIFT)) & EMVSIM_CLKCFG_CLK_PRSC_MASK)
  28609. #define EMVSIM_CLKCFG_GPCNT1_CLK_SEL_MASK (0x300U)
  28610. #define EMVSIM_CLKCFG_GPCNT1_CLK_SEL_SHIFT (8U)
  28611. /*! GPCNT1_CLK_SEL - General Purpose Counter 1 Clock Select
  28612. * 0b00..Disabled / Reset
  28613. * 0b01..Card Clock
  28614. * 0b10..Receive Clock
  28615. * 0b11..ETU Clock (transmit clock)
  28616. */
  28617. #define EMVSIM_CLKCFG_GPCNT1_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CLKCFG_GPCNT1_CLK_SEL_SHIFT)) & EMVSIM_CLKCFG_GPCNT1_CLK_SEL_MASK)
  28618. #define EMVSIM_CLKCFG_GPCNT0_CLK_SEL_MASK (0xC00U)
  28619. #define EMVSIM_CLKCFG_GPCNT0_CLK_SEL_SHIFT (10U)
  28620. /*! GPCNT0_CLK_SEL - General Purpose Counter 0 Clock Select
  28621. * 0b00..Disabled / Reset
  28622. * 0b01..Card Clock
  28623. * 0b10..Receive Clock
  28624. * 0b11..ETU Clock (transmit clock)
  28625. */
  28626. #define EMVSIM_CLKCFG_GPCNT0_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CLKCFG_GPCNT0_CLK_SEL_SHIFT)) & EMVSIM_CLKCFG_GPCNT0_CLK_SEL_MASK)
  28627. /*! @} */
  28628. /*! @name DIVISOR - Baud Rate Divisor Register */
  28629. /*! @{ */
  28630. #define EMVSIM_DIVISOR_DIVISOR_VALUE_MASK (0x1FFU)
  28631. #define EMVSIM_DIVISOR_DIVISOR_VALUE_SHIFT (0U)
  28632. /*! DIVISOR_VALUE - Divisor (F/D) Value
  28633. * 0b000000000-0b000000100..Invalid. As per ISO 7816 specification, minimum value of F/D is 5
  28634. * 0b000000101-0b011111111..Divisor value F/D
  28635. */
  28636. #define EMVSIM_DIVISOR_DIVISOR_VALUE(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_DIVISOR_DIVISOR_VALUE_SHIFT)) & EMVSIM_DIVISOR_DIVISOR_VALUE_MASK)
  28637. /*! @} */
  28638. /*! @name CTRL - Control Register */
  28639. /*! @{ */
  28640. #define EMVSIM_CTRL_IC_MASK (0x1U)
  28641. #define EMVSIM_CTRL_IC_SHIFT (0U)
  28642. /*! IC - Inverse Convention
  28643. * 0b0..Direction convention transfers enabled
  28644. * 0b1..Inverse convention transfers enabled
  28645. */
  28646. #define EMVSIM_CTRL_IC(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_IC_SHIFT)) & EMVSIM_CTRL_IC_MASK)
  28647. #define EMVSIM_CTRL_ICM_MASK (0x2U)
  28648. #define EMVSIM_CTRL_ICM_SHIFT (1U)
  28649. /*! ICM - Initial Character Mode
  28650. * 0b0..Initial Character Mode disabled
  28651. * 0b1..Initial Character Mode enabled
  28652. */
  28653. #define EMVSIM_CTRL_ICM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_ICM_SHIFT)) & EMVSIM_CTRL_ICM_MASK)
  28654. #define EMVSIM_CTRL_ANACK_MASK (0x4U)
  28655. #define EMVSIM_CTRL_ANACK_SHIFT (2U)
  28656. /*! ANACK - Auto NACK Enable
  28657. * 0b0..NACK generation on errors disabled
  28658. * 0b1..NACK generation on errors enabled
  28659. */
  28660. #define EMVSIM_CTRL_ANACK(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_ANACK_SHIFT)) & EMVSIM_CTRL_ANACK_MASK)
  28661. #define EMVSIM_CTRL_ONACK_MASK (0x8U)
  28662. #define EMVSIM_CTRL_ONACK_SHIFT (3U)
  28663. /*! ONACK - Overrun NACK Enable
  28664. * 0b0..NACK generation on overrun is disabled
  28665. * 0b1..NACK generation on overrun is enabled
  28666. */
  28667. #define EMVSIM_CTRL_ONACK(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_ONACK_SHIFT)) & EMVSIM_CTRL_ONACK_MASK)
  28668. #define EMVSIM_CTRL_FLSH_RX_MASK (0x100U)
  28669. #define EMVSIM_CTRL_FLSH_RX_SHIFT (8U)
  28670. /*! FLSH_RX - Flush Receiver Bit
  28671. * 0b0..EMVSIM Receiver normal operation
  28672. * 0b1..EMVSIM Receiver held in Reset
  28673. */
  28674. #define EMVSIM_CTRL_FLSH_RX(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_FLSH_RX_SHIFT)) & EMVSIM_CTRL_FLSH_RX_MASK)
  28675. #define EMVSIM_CTRL_FLSH_TX_MASK (0x200U)
  28676. #define EMVSIM_CTRL_FLSH_TX_SHIFT (9U)
  28677. /*! FLSH_TX - Flush Transmitter Bit
  28678. * 0b0..EMVSIM Transmitter normal operation
  28679. * 0b1..EMVSIM Transmitter held in Reset
  28680. */
  28681. #define EMVSIM_CTRL_FLSH_TX(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_FLSH_TX_SHIFT)) & EMVSIM_CTRL_FLSH_TX_MASK)
  28682. #define EMVSIM_CTRL_SW_RST_MASK (0x400U)
  28683. #define EMVSIM_CTRL_SW_RST_SHIFT (10U)
  28684. /*! SW_RST - Software Reset Bit
  28685. * 0b0..EMVSIM Normal operation
  28686. * 0b1..EMVSIM held in Reset
  28687. */
  28688. #define EMVSIM_CTRL_SW_RST(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_SW_RST_SHIFT)) & EMVSIM_CTRL_SW_RST_MASK)
  28689. #define EMVSIM_CTRL_KILL_CLOCKS_MASK (0x800U)
  28690. #define EMVSIM_CTRL_KILL_CLOCKS_SHIFT (11U)
  28691. /*! KILL_CLOCKS - Kill all internal clocks
  28692. * 0b0..EMVSIM input clock enabled
  28693. * 0b1..EMVSIM input clock is disabled
  28694. */
  28695. #define EMVSIM_CTRL_KILL_CLOCKS(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_KILL_CLOCKS_SHIFT)) & EMVSIM_CTRL_KILL_CLOCKS_MASK)
  28696. #define EMVSIM_CTRL_DOZE_EN_MASK (0x1000U)
  28697. #define EMVSIM_CTRL_DOZE_EN_SHIFT (12U)
  28698. /*! DOZE_EN - Doze Enable
  28699. * 0b0..DOZE instruction gates all internal EMVSIM clocks as well as the Smart Card clock when the transmit FIFO is empty
  28700. * 0b1..DOZE instruction has no effect on EMVSIM module
  28701. */
  28702. #define EMVSIM_CTRL_DOZE_EN(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_DOZE_EN_SHIFT)) & EMVSIM_CTRL_DOZE_EN_MASK)
  28703. #define EMVSIM_CTRL_STOP_EN_MASK (0x2000U)
  28704. #define EMVSIM_CTRL_STOP_EN_SHIFT (13U)
  28705. /*! STOP_EN - STOP Enable
  28706. * 0b0..STOP instruction shuts down all EMVSIM clocks
  28707. * 0b1..STOP instruction shuts down all clocks except for the Smart Card Clock (SCK) (clock provided to Smart Card)
  28708. */
  28709. #define EMVSIM_CTRL_STOP_EN(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_STOP_EN_SHIFT)) & EMVSIM_CTRL_STOP_EN_MASK)
  28710. #define EMVSIM_CTRL_RCV_EN_MASK (0x10000U)
  28711. #define EMVSIM_CTRL_RCV_EN_SHIFT (16U)
  28712. /*! RCV_EN - Receiver Enable
  28713. * 0b0..EMVSIM Receiver disabled
  28714. * 0b1..EMVSIM Receiver enabled
  28715. */
  28716. #define EMVSIM_CTRL_RCV_EN(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_RCV_EN_SHIFT)) & EMVSIM_CTRL_RCV_EN_MASK)
  28717. #define EMVSIM_CTRL_XMT_EN_MASK (0x20000U)
  28718. #define EMVSIM_CTRL_XMT_EN_SHIFT (17U)
  28719. /*! XMT_EN - Transmitter Enable
  28720. * 0b0..EMVSIM Transmitter disabled
  28721. * 0b1..EMVSIM Transmitter enabled
  28722. */
  28723. #define EMVSIM_CTRL_XMT_EN(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_XMT_EN_SHIFT)) & EMVSIM_CTRL_XMT_EN_MASK)
  28724. #define EMVSIM_CTRL_RCVR_11_MASK (0x40000U)
  28725. #define EMVSIM_CTRL_RCVR_11_SHIFT (18U)
  28726. /*! RCVR_11 - Receiver 11 ETU Mode Enable
  28727. * 0b0..Receiver configured for 12 ETU operation mode
  28728. * 0b1..Receiver configured for 11 ETU operation mode
  28729. */
  28730. #define EMVSIM_CTRL_RCVR_11(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_RCVR_11_SHIFT)) & EMVSIM_CTRL_RCVR_11_MASK)
  28731. #define EMVSIM_CTRL_RX_DMA_EN_MASK (0x80000U)
  28732. #define EMVSIM_CTRL_RX_DMA_EN_SHIFT (19U)
  28733. /*! RX_DMA_EN - Receive DMA Enable
  28734. * 0b0..No DMA Read Request asserted for Receiver
  28735. * 0b1..DMA Read Request asserted for Receiver
  28736. */
  28737. #define EMVSIM_CTRL_RX_DMA_EN(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_RX_DMA_EN_SHIFT)) & EMVSIM_CTRL_RX_DMA_EN_MASK)
  28738. #define EMVSIM_CTRL_TX_DMA_EN_MASK (0x100000U)
  28739. #define EMVSIM_CTRL_TX_DMA_EN_SHIFT (20U)
  28740. /*! TX_DMA_EN - Transmit DMA Enable
  28741. * 0b0..No DMA Write Request asserted for Transmitter
  28742. * 0b1..DMA Write Request asserted for Transmitter
  28743. */
  28744. #define EMVSIM_CTRL_TX_DMA_EN(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_TX_DMA_EN_SHIFT)) & EMVSIM_CTRL_TX_DMA_EN_MASK)
  28745. #define EMVSIM_CTRL_INV_CRC_VAL_MASK (0x1000000U)
  28746. #define EMVSIM_CTRL_INV_CRC_VAL_SHIFT (24U)
  28747. /*! INV_CRC_VAL - Invert bits in the CRC Output Value
  28748. * 0b0..Bits in CRC Output value are not inverted.
  28749. * 0b1..Bits in CRC Output value are inverted.
  28750. */
  28751. #define EMVSIM_CTRL_INV_CRC_VAL(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_INV_CRC_VAL_SHIFT)) & EMVSIM_CTRL_INV_CRC_VAL_MASK)
  28752. #define EMVSIM_CTRL_CRC_OUT_FLIP_MASK (0x2000000U)
  28753. #define EMVSIM_CTRL_CRC_OUT_FLIP_SHIFT (25U)
  28754. /*! CRC_OUT_FLIP - CRC Output Value Bit Reversal or Flip
  28755. * 0b0..Bits within the CRC output bytes are not reversed i.e. 15:0 remains 15:0
  28756. * 0b1..Bits within the CRC output bytes are reversed i.e. 15:0 becomes {8:15,0:7}
  28757. */
  28758. #define EMVSIM_CTRL_CRC_OUT_FLIP(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_CRC_OUT_FLIP_SHIFT)) & EMVSIM_CTRL_CRC_OUT_FLIP_MASK)
  28759. #define EMVSIM_CTRL_CRC_IN_FLIP_MASK (0x4000000U)
  28760. #define EMVSIM_CTRL_CRC_IN_FLIP_SHIFT (26U)
  28761. /*! CRC_IN_FLIP - CRC Input Byte's Bit Reversal or Flip Control
  28762. * 0b0..Bits in the input byte are not reversed (i.e. 7:0 remain 7:0) before the CRC calculation
  28763. * 0b1..Bits in the input byte are reversed (i.e. 7:0 becomes 0:7) before CRC calculation
  28764. */
  28765. #define EMVSIM_CTRL_CRC_IN_FLIP(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_CRC_IN_FLIP_SHIFT)) & EMVSIM_CTRL_CRC_IN_FLIP_MASK)
  28766. #define EMVSIM_CTRL_CWT_EN_MASK (0x8000000U)
  28767. #define EMVSIM_CTRL_CWT_EN_SHIFT (27U)
  28768. /*! CWT_EN - Character Wait Time Counter Enable
  28769. * 0b0..Character Wait time Counter is disabled
  28770. * 0b1..Character Wait time counter is enabled
  28771. */
  28772. #define EMVSIM_CTRL_CWT_EN(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_CWT_EN_SHIFT)) & EMVSIM_CTRL_CWT_EN_MASK)
  28773. #define EMVSIM_CTRL_LRC_EN_MASK (0x10000000U)
  28774. #define EMVSIM_CTRL_LRC_EN_SHIFT (28U)
  28775. /*! LRC_EN - LRC Enable
  28776. * 0b0..8-bit Linear Redundancy Checking disabled
  28777. * 0b1..8-bit Linear Redundancy Checking enabled
  28778. */
  28779. #define EMVSIM_CTRL_LRC_EN(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_LRC_EN_SHIFT)) & EMVSIM_CTRL_LRC_EN_MASK)
  28780. #define EMVSIM_CTRL_CRC_EN_MASK (0x20000000U)
  28781. #define EMVSIM_CTRL_CRC_EN_SHIFT (29U)
  28782. /*! CRC_EN - CRC Enable
  28783. * 0b0..16-bit Cyclic Redundancy Checking disabled
  28784. * 0b1..16-bit Cyclic Redundancy Checking enabled
  28785. */
  28786. #define EMVSIM_CTRL_CRC_EN(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_CRC_EN_SHIFT)) & EMVSIM_CTRL_CRC_EN_MASK)
  28787. #define EMVSIM_CTRL_XMT_CRC_LRC_MASK (0x40000000U)
  28788. #define EMVSIM_CTRL_XMT_CRC_LRC_SHIFT (30U)
  28789. /*! XMT_CRC_LRC - Transmit CRC or LRC Enable
  28790. * 0b0..No CRC or LRC value is transmitted
  28791. * 0b1..Transmit LRC or CRC info when FIFO empties (whichever is enabled)
  28792. */
  28793. #define EMVSIM_CTRL_XMT_CRC_LRC(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_XMT_CRC_LRC_SHIFT)) & EMVSIM_CTRL_XMT_CRC_LRC_MASK)
  28794. #define EMVSIM_CTRL_BWT_EN_MASK (0x80000000U)
  28795. #define EMVSIM_CTRL_BWT_EN_SHIFT (31U)
  28796. /*! BWT_EN - Block Wait Time Counter Enable
  28797. * 0b0..Disable BWT, BGT Counters
  28798. * 0b1..Enable BWT, BGT Counters
  28799. */
  28800. #define EMVSIM_CTRL_BWT_EN(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_BWT_EN_SHIFT)) & EMVSIM_CTRL_BWT_EN_MASK)
  28801. /*! @} */
  28802. /*! @name INT_MASK - Interrupt Mask Register */
  28803. /*! @{ */
  28804. #define EMVSIM_INT_MASK_RDT_IM_MASK (0x1U)
  28805. #define EMVSIM_INT_MASK_RDT_IM_SHIFT (0U)
  28806. /*! RDT_IM - Receive Data Threshold Interrupt Mask
  28807. * 0b0..RDTF interrupt enabled
  28808. * 0b1..RDTF interrupt masked
  28809. */
  28810. #define EMVSIM_INT_MASK_RDT_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_RDT_IM_SHIFT)) & EMVSIM_INT_MASK_RDT_IM_MASK)
  28811. #define EMVSIM_INT_MASK_TC_IM_MASK (0x2U)
  28812. #define EMVSIM_INT_MASK_TC_IM_SHIFT (1U)
  28813. /*! TC_IM - Transmit Complete Interrupt Mask
  28814. * 0b0..TCF interrupt enabled
  28815. * 0b1..TCF interrupt masked
  28816. */
  28817. #define EMVSIM_INT_MASK_TC_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_TC_IM_SHIFT)) & EMVSIM_INT_MASK_TC_IM_MASK)
  28818. #define EMVSIM_INT_MASK_RFO_IM_MASK (0x4U)
  28819. #define EMVSIM_INT_MASK_RFO_IM_SHIFT (2U)
  28820. /*! RFO_IM - Receive FIFO Overflow Interrupt Mask
  28821. * 0b0..RFO interrupt enabled
  28822. * 0b1..RFO interrupt masked
  28823. */
  28824. #define EMVSIM_INT_MASK_RFO_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_RFO_IM_SHIFT)) & EMVSIM_INT_MASK_RFO_IM_MASK)
  28825. #define EMVSIM_INT_MASK_ETC_IM_MASK (0x8U)
  28826. #define EMVSIM_INT_MASK_ETC_IM_SHIFT (3U)
  28827. /*! ETC_IM - Early Transmit Complete Interrupt Mask
  28828. * 0b0..ETC interrupt enabled
  28829. * 0b1..ETC interrupt masked
  28830. */
  28831. #define EMVSIM_INT_MASK_ETC_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_ETC_IM_SHIFT)) & EMVSIM_INT_MASK_ETC_IM_MASK)
  28832. #define EMVSIM_INT_MASK_TFE_IM_MASK (0x10U)
  28833. #define EMVSIM_INT_MASK_TFE_IM_SHIFT (4U)
  28834. /*! TFE_IM - Transmit FIFO Empty Interrupt Mask
  28835. * 0b0..TFE interrupt enabled
  28836. * 0b1..TFE interrupt masked
  28837. */
  28838. #define EMVSIM_INT_MASK_TFE_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_TFE_IM_SHIFT)) & EMVSIM_INT_MASK_TFE_IM_MASK)
  28839. #define EMVSIM_INT_MASK_TNACK_IM_MASK (0x20U)
  28840. #define EMVSIM_INT_MASK_TNACK_IM_SHIFT (5U)
  28841. /*! TNACK_IM - Transmit NACK Threshold Interrupt Mask
  28842. * 0b0..TNTE interrupt enabled
  28843. * 0b1..TNTE interrupt masked
  28844. */
  28845. #define EMVSIM_INT_MASK_TNACK_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_TNACK_IM_SHIFT)) & EMVSIM_INT_MASK_TNACK_IM_MASK)
  28846. #define EMVSIM_INT_MASK_TFF_IM_MASK (0x40U)
  28847. #define EMVSIM_INT_MASK_TFF_IM_SHIFT (6U)
  28848. /*! TFF_IM - Transmit FIFO Full Interrupt Mask
  28849. * 0b0..TFF interrupt enabled
  28850. * 0b1..TFF interrupt masked
  28851. */
  28852. #define EMVSIM_INT_MASK_TFF_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_TFF_IM_SHIFT)) & EMVSIM_INT_MASK_TFF_IM_MASK)
  28853. #define EMVSIM_INT_MASK_TDT_IM_MASK (0x80U)
  28854. #define EMVSIM_INT_MASK_TDT_IM_SHIFT (7U)
  28855. /*! TDT_IM - Transmit Data Threshold Interrupt Mask
  28856. * 0b0..TDTF interrupt enabled
  28857. * 0b1..TDTF interrupt masked
  28858. */
  28859. #define EMVSIM_INT_MASK_TDT_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_TDT_IM_SHIFT)) & EMVSIM_INT_MASK_TDT_IM_MASK)
  28860. #define EMVSIM_INT_MASK_GPCNT0_IM_MASK (0x100U)
  28861. #define EMVSIM_INT_MASK_GPCNT0_IM_SHIFT (8U)
  28862. /*! GPCNT0_IM - General Purpose Timer 0 Timeout Interrupt Mask
  28863. * 0b0..GPCNT0_TO interrupt enabled
  28864. * 0b1..GPCNT0_TO interrupt masked
  28865. */
  28866. #define EMVSIM_INT_MASK_GPCNT0_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_GPCNT0_IM_SHIFT)) & EMVSIM_INT_MASK_GPCNT0_IM_MASK)
  28867. #define EMVSIM_INT_MASK_CWT_ERR_IM_MASK (0x200U)
  28868. #define EMVSIM_INT_MASK_CWT_ERR_IM_SHIFT (9U)
  28869. /*! CWT_ERR_IM - Character Wait Time Error Interrupt Mask
  28870. * 0b0..CWT_ERR interrupt enabled
  28871. * 0b1..CWT_ERR interrupt masked
  28872. */
  28873. #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)
  28874. #define EMVSIM_INT_MASK_RNACK_IM_MASK (0x400U)
  28875. #define EMVSIM_INT_MASK_RNACK_IM_SHIFT (10U)
  28876. /*! RNACK_IM - Receiver NACK Threshold Interrupt Mask
  28877. * 0b0..RTE interrupt enabled
  28878. * 0b1..RTE interrupt masked
  28879. */
  28880. #define EMVSIM_INT_MASK_RNACK_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_RNACK_IM_SHIFT)) & EMVSIM_INT_MASK_RNACK_IM_MASK)
  28881. #define EMVSIM_INT_MASK_BWT_ERR_IM_MASK (0x800U)
  28882. #define EMVSIM_INT_MASK_BWT_ERR_IM_SHIFT (11U)
  28883. /*! BWT_ERR_IM - Block Wait Time Error Interrupt Mask
  28884. * 0b0..BWT_ERR interrupt enabled
  28885. * 0b1..BWT_ERR interrupt masked
  28886. */
  28887. #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)
  28888. #define EMVSIM_INT_MASK_BGT_ERR_IM_MASK (0x1000U)
  28889. #define EMVSIM_INT_MASK_BGT_ERR_IM_SHIFT (12U)
  28890. /*! BGT_ERR_IM - Block Guard Time Error Interrupt
  28891. * 0b0..BGT_ERR interrupt enabled
  28892. * 0b1..BGT_ERR interrupt masked
  28893. */
  28894. #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)
  28895. #define EMVSIM_INT_MASK_GPCNT1_IM_MASK (0x2000U)
  28896. #define EMVSIM_INT_MASK_GPCNT1_IM_SHIFT (13U)
  28897. /*! GPCNT1_IM - General Purpose Counter 1 Timeout Interrupt Mask
  28898. * 0b0..GPCNT1_TO interrupt enabled
  28899. * 0b1..GPCNT1_TO interrupt masked
  28900. */
  28901. #define EMVSIM_INT_MASK_GPCNT1_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_GPCNT1_IM_SHIFT)) & EMVSIM_INT_MASK_GPCNT1_IM_MASK)
  28902. #define EMVSIM_INT_MASK_RX_DATA_IM_MASK (0x4000U)
  28903. #define EMVSIM_INT_MASK_RX_DATA_IM_SHIFT (14U)
  28904. /*! RX_DATA_IM - Receive Data Interrupt Mask
  28905. * 0b0..RX_DATA interrupt enabled
  28906. * 0b1..RX_DATA interrupt masked
  28907. */
  28908. #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)
  28909. #define EMVSIM_INT_MASK_PEF_IM_MASK (0x8000U)
  28910. #define EMVSIM_INT_MASK_PEF_IM_SHIFT (15U)
  28911. /*! PEF_IM - Parity Error Interrupt Mask
  28912. * 0b0..PEF interrupt enabled
  28913. * 0b1..PEF interrupt masked
  28914. */
  28915. #define EMVSIM_INT_MASK_PEF_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_PEF_IM_SHIFT)) & EMVSIM_INT_MASK_PEF_IM_MASK)
  28916. /*! @} */
  28917. /*! @name RX_THD - Receiver Threshold Register */
  28918. /*! @{ */
  28919. #define EMVSIM_RX_THD_RDT_MASK (0xFU)
  28920. #define EMVSIM_RX_THD_RDT_SHIFT (0U)
  28921. /*! RDT - Receiver Data Threshold Value
  28922. */
  28923. #define EMVSIM_RX_THD_RDT(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_THD_RDT_SHIFT)) & EMVSIM_RX_THD_RDT_MASK)
  28924. #define EMVSIM_RX_THD_RNCK_THD_MASK (0xF00U)
  28925. #define EMVSIM_RX_THD_RNCK_THD_SHIFT (8U)
  28926. /*! RNCK_THD - Receiver NACK Threshold Value
  28927. */
  28928. #define EMVSIM_RX_THD_RNCK_THD(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_THD_RNCK_THD_SHIFT)) & EMVSIM_RX_THD_RNCK_THD_MASK)
  28929. /*! @} */
  28930. /*! @name TX_THD - Transmitter Threshold Register */
  28931. /*! @{ */
  28932. #define EMVSIM_TX_THD_TDT_MASK (0xFU)
  28933. #define EMVSIM_TX_THD_TDT_SHIFT (0U)
  28934. /*! TDT - Transmitter Data Threshold Value
  28935. */
  28936. #define EMVSIM_TX_THD_TDT(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_THD_TDT_SHIFT)) & EMVSIM_TX_THD_TDT_MASK)
  28937. #define EMVSIM_TX_THD_TNCK_THD_MASK (0xF00U)
  28938. #define EMVSIM_TX_THD_TNCK_THD_SHIFT (8U)
  28939. /*! TNCK_THD - Transmitter NACK Threshold Value
  28940. */
  28941. #define EMVSIM_TX_THD_TNCK_THD(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_THD_TNCK_THD_SHIFT)) & EMVSIM_TX_THD_TNCK_THD_MASK)
  28942. /*! @} */
  28943. /*! @name RX_STATUS - Receive Status Register */
  28944. /*! @{ */
  28945. #define EMVSIM_RX_STATUS_RFO_MASK (0x1U)
  28946. #define EMVSIM_RX_STATUS_RFO_SHIFT (0U)
  28947. /*! RFO - Receive FIFO Overflow Flag
  28948. * 0b0..No overrun error has occurred
  28949. * 0b1..A byte was received when the received FIFO was already full
  28950. */
  28951. #define EMVSIM_RX_STATUS_RFO(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_RFO_SHIFT)) & EMVSIM_RX_STATUS_RFO_MASK)
  28952. #define EMVSIM_RX_STATUS_RX_DATA_MASK (0x10U)
  28953. #define EMVSIM_RX_STATUS_RX_DATA_SHIFT (4U)
  28954. /*! RX_DATA - Receive Data Interrupt Flag
  28955. * 0b0..No new byte is received
  28956. * 0b1..New byte is received ans stored in Receive FIFO
  28957. */
  28958. #define EMVSIM_RX_STATUS_RX_DATA(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_RX_DATA_SHIFT)) & EMVSIM_RX_STATUS_RX_DATA_MASK)
  28959. #define EMVSIM_RX_STATUS_RDTF_MASK (0x20U)
  28960. #define EMVSIM_RX_STATUS_RDTF_SHIFT (5U)
  28961. /*! RDTF - Receive Data Threshold Interrupt Flag
  28962. * 0b0..Number of unread bytes in receive FIFO less than the value set by RDT
  28963. * 0b1..Number of unread bytes in receive FIFO greater or than equal to value set by RDT.
  28964. */
  28965. #define EMVSIM_RX_STATUS_RDTF(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_RDTF_SHIFT)) & EMVSIM_RX_STATUS_RDTF_MASK)
  28966. #define EMVSIM_RX_STATUS_LRC_OK_MASK (0x40U)
  28967. #define EMVSIM_RX_STATUS_LRC_OK_SHIFT (6U)
  28968. /*! LRC_OK - LRC Check OK Flag
  28969. * 0b0..Current LRC value does not match remainder.
  28970. * 0b1..Current calculated LRC value matches the expected result (i.e. zero).
  28971. */
  28972. #define EMVSIM_RX_STATUS_LRC_OK(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_LRC_OK_SHIFT)) & EMVSIM_RX_STATUS_LRC_OK_MASK)
  28973. #define EMVSIM_RX_STATUS_CRC_OK_MASK (0x80U)
  28974. #define EMVSIM_RX_STATUS_CRC_OK_SHIFT (7U)
  28975. /*! CRC_OK - CRC Check OK Flag
  28976. * 0b0..Current CRC value does not match remainder.
  28977. * 0b1..Current calculated CRC value matches the expected result.
  28978. */
  28979. #define EMVSIM_RX_STATUS_CRC_OK(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_CRC_OK_SHIFT)) & EMVSIM_RX_STATUS_CRC_OK_MASK)
  28980. #define EMVSIM_RX_STATUS_CWT_ERR_MASK (0x100U)
  28981. #define EMVSIM_RX_STATUS_CWT_ERR_SHIFT (8U)
  28982. /*! CWT_ERR - Character Wait Time Error Flag
  28983. * 0b0..No CWT violation has occurred
  28984. * 0b1..Time between two consecutive characters has exceeded the value in CWT_VAL.
  28985. */
  28986. #define EMVSIM_RX_STATUS_CWT_ERR(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_CWT_ERR_SHIFT)) & EMVSIM_RX_STATUS_CWT_ERR_MASK)
  28987. #define EMVSIM_RX_STATUS_RTE_MASK (0x200U)
  28988. #define EMVSIM_RX_STATUS_RTE_SHIFT (9U)
  28989. /*! RTE - Received NACK Threshold Error Flag
  28990. * 0b0..Number of NACKs generated by the receiver is less than the value programmed in RNCK_THD
  28991. * 0b1..Number of NACKs generated by the receiver is equal to the value programmed in RNCK_THD
  28992. */
  28993. #define EMVSIM_RX_STATUS_RTE(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_RTE_SHIFT)) & EMVSIM_RX_STATUS_RTE_MASK)
  28994. #define EMVSIM_RX_STATUS_BWT_ERR_MASK (0x400U)
  28995. #define EMVSIM_RX_STATUS_BWT_ERR_SHIFT (10U)
  28996. /*! BWT_ERR - Block Wait Time Error Flag
  28997. * 0b0..Block wait time not exceeded
  28998. * 0b1..Block wait time was exceeded
  28999. */
  29000. #define EMVSIM_RX_STATUS_BWT_ERR(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_BWT_ERR_SHIFT)) & EMVSIM_RX_STATUS_BWT_ERR_MASK)
  29001. #define EMVSIM_RX_STATUS_BGT_ERR_MASK (0x800U)
  29002. #define EMVSIM_RX_STATUS_BGT_ERR_SHIFT (11U)
  29003. /*! BGT_ERR - Block Guard Time Error Flag
  29004. * 0b0..Block guard time was sufficient
  29005. * 0b1..Block guard time was too small
  29006. */
  29007. #define EMVSIM_RX_STATUS_BGT_ERR(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_BGT_ERR_SHIFT)) & EMVSIM_RX_STATUS_BGT_ERR_MASK)
  29008. #define EMVSIM_RX_STATUS_PEF_MASK (0x1000U)
  29009. #define EMVSIM_RX_STATUS_PEF_SHIFT (12U)
  29010. /*! PEF - Parity Error Flag
  29011. * 0b0..No parity error detected
  29012. * 0b1..Parity error detected
  29013. */
  29014. #define EMVSIM_RX_STATUS_PEF(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_PEF_SHIFT)) & EMVSIM_RX_STATUS_PEF_MASK)
  29015. #define EMVSIM_RX_STATUS_FEF_MASK (0x2000U)
  29016. #define EMVSIM_RX_STATUS_FEF_SHIFT (13U)
  29017. /*! FEF - Frame Error Flag
  29018. * 0b0..No frame error detected
  29019. * 0b1..Frame error detected
  29020. */
  29021. #define EMVSIM_RX_STATUS_FEF(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_FEF_SHIFT)) & EMVSIM_RX_STATUS_FEF_MASK)
  29022. #define EMVSIM_RX_STATUS_RX_WPTR_MASK (0xF0000U)
  29023. #define EMVSIM_RX_STATUS_RX_WPTR_SHIFT (16U)
  29024. /*! RX_WPTR - Receive FIFO Write Pointer Value
  29025. */
  29026. #define EMVSIM_RX_STATUS_RX_WPTR(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_RX_WPTR_SHIFT)) & EMVSIM_RX_STATUS_RX_WPTR_MASK)
  29027. #define EMVSIM_RX_STATUS_RX_CNT_MASK (0xF000000U)
  29028. #define EMVSIM_RX_STATUS_RX_CNT_SHIFT (24U)
  29029. /*! RX_CNT - Receive FIFO Byte Count
  29030. * 0b0000..FIFO is emtpy
  29031. */
  29032. #define EMVSIM_RX_STATUS_RX_CNT(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_RX_CNT_SHIFT)) & EMVSIM_RX_STATUS_RX_CNT_MASK)
  29033. /*! @} */
  29034. /*! @name TX_STATUS - Transmitter Status Register */
  29035. /*! @{ */
  29036. #define EMVSIM_TX_STATUS_TNTE_MASK (0x1U)
  29037. #define EMVSIM_TX_STATUS_TNTE_SHIFT (0U)
  29038. /*! TNTE - Transmit NACK Threshold Error Flag
  29039. * 0b0..Transmit NACK threshold has not been reached
  29040. * 0b1..Transmit NACK threshold reached; transmitter frozen
  29041. */
  29042. #define EMVSIM_TX_STATUS_TNTE(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_STATUS_TNTE_SHIFT)) & EMVSIM_TX_STATUS_TNTE_MASK)
  29043. #define EMVSIM_TX_STATUS_TFE_MASK (0x8U)
  29044. #define EMVSIM_TX_STATUS_TFE_SHIFT (3U)
  29045. /*! TFE - Transmit FIFO Empty Flag
  29046. * 0b0..Transmit FIFO is not empty
  29047. * 0b1..Transmit FIFO is empty
  29048. */
  29049. #define EMVSIM_TX_STATUS_TFE(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_STATUS_TFE_SHIFT)) & EMVSIM_TX_STATUS_TFE_MASK)
  29050. #define EMVSIM_TX_STATUS_ETCF_MASK (0x10U)
  29051. #define EMVSIM_TX_STATUS_ETCF_SHIFT (4U)
  29052. /*! ETCF - Early Transmit Complete Flag
  29053. * 0b0..Transmit pending or in progress
  29054. * 0b1..Transmit complete
  29055. */
  29056. #define EMVSIM_TX_STATUS_ETCF(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_STATUS_ETCF_SHIFT)) & EMVSIM_TX_STATUS_ETCF_MASK)
  29057. #define EMVSIM_TX_STATUS_TCF_MASK (0x20U)
  29058. #define EMVSIM_TX_STATUS_TCF_SHIFT (5U)
  29059. /*! TCF - Transmit Complete Flag
  29060. * 0b0..Transmit pending or in progress
  29061. * 0b1..Transmit complete
  29062. */
  29063. #define EMVSIM_TX_STATUS_TCF(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_STATUS_TCF_SHIFT)) & EMVSIM_TX_STATUS_TCF_MASK)
  29064. #define EMVSIM_TX_STATUS_TFF_MASK (0x40U)
  29065. #define EMVSIM_TX_STATUS_TFF_SHIFT (6U)
  29066. /*! TFF - Transmit FIFO Full Flag
  29067. * 0b0..Transmit FIFO Full condition has not occurred
  29068. * 0b1..A Transmit FIFO Full condition has occurred
  29069. */
  29070. #define EMVSIM_TX_STATUS_TFF(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_STATUS_TFF_SHIFT)) & EMVSIM_TX_STATUS_TFF_MASK)
  29071. #define EMVSIM_TX_STATUS_TDTF_MASK (0x80U)
  29072. #define EMVSIM_TX_STATUS_TDTF_SHIFT (7U)
  29073. /*! TDTF - Transmit Data Threshold Flag
  29074. * 0b0..Number of bytes in FIFO is greater than TDT, or bit has been cleared
  29075. * 0b1..Number of bytes in FIFO is less than or equal to TDT
  29076. */
  29077. #define EMVSIM_TX_STATUS_TDTF(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_STATUS_TDTF_SHIFT)) & EMVSIM_TX_STATUS_TDTF_MASK)
  29078. #define EMVSIM_TX_STATUS_GPCNT0_TO_MASK (0x100U)
  29079. #define EMVSIM_TX_STATUS_GPCNT0_TO_SHIFT (8U)
  29080. /*! GPCNT0_TO - General Purpose Counter 0 Timeout Flag
  29081. * 0b0..GPCNT0 time not reached, or bit has been cleared.
  29082. * 0b1..General Purpose counter has reached the GPCNT0 value
  29083. */
  29084. #define EMVSIM_TX_STATUS_GPCNT0_TO(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_STATUS_GPCNT0_TO_SHIFT)) & EMVSIM_TX_STATUS_GPCNT0_TO_MASK)
  29085. #define EMVSIM_TX_STATUS_GPCNT1_TO_MASK (0x200U)
  29086. #define EMVSIM_TX_STATUS_GPCNT1_TO_SHIFT (9U)
  29087. /*! GPCNT1_TO - General Purpose Counter 1 Timeout Flag
  29088. * 0b0..GPCNT1 time not reached, or bit has been cleared.
  29089. * 0b1..General Purpose counter has reached the GPCNT1 value
  29090. */
  29091. #define EMVSIM_TX_STATUS_GPCNT1_TO(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_STATUS_GPCNT1_TO_SHIFT)) & EMVSIM_TX_STATUS_GPCNT1_TO_MASK)
  29092. #define EMVSIM_TX_STATUS_TX_RPTR_MASK (0xF0000U)
  29093. #define EMVSIM_TX_STATUS_TX_RPTR_SHIFT (16U)
  29094. /*! TX_RPTR - Transmit FIFO Read Pointer
  29095. */
  29096. #define EMVSIM_TX_STATUS_TX_RPTR(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_STATUS_TX_RPTR_SHIFT)) & EMVSIM_TX_STATUS_TX_RPTR_MASK)
  29097. #define EMVSIM_TX_STATUS_TX_CNT_MASK (0xF000000U)
  29098. #define EMVSIM_TX_STATUS_TX_CNT_SHIFT (24U)
  29099. /*! TX_CNT - Transmit FIFO Byte Count
  29100. * 0b0000..FIFO is emtpy
  29101. */
  29102. #define EMVSIM_TX_STATUS_TX_CNT(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_STATUS_TX_CNT_SHIFT)) & EMVSIM_TX_STATUS_TX_CNT_MASK)
  29103. /*! @} */
  29104. /*! @name PCSR - Port Control and Status Register */
  29105. /*! @{ */
  29106. #define EMVSIM_PCSR_SAPD_MASK (0x1U)
  29107. #define EMVSIM_PCSR_SAPD_SHIFT (0U)
  29108. /*! SAPD - Auto Power Down Enable
  29109. * 0b0..Auto power down disabled
  29110. * 0b1..Auto power down enabled
  29111. */
  29112. #define EMVSIM_PCSR_SAPD(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PCSR_SAPD_SHIFT)) & EMVSIM_PCSR_SAPD_MASK)
  29113. #define EMVSIM_PCSR_SVCC_EN_MASK (0x2U)
  29114. #define EMVSIM_PCSR_SVCC_EN_SHIFT (1U)
  29115. /*! SVCC_EN - Vcc Enable for Smart Card
  29116. * 0b0..Smart Card Voltage disabled
  29117. * 0b1..Smart Card Voltage enabled
  29118. */
  29119. #define EMVSIM_PCSR_SVCC_EN(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PCSR_SVCC_EN_SHIFT)) & EMVSIM_PCSR_SVCC_EN_MASK)
  29120. #define EMVSIM_PCSR_VCCENP_MASK (0x4U)
  29121. #define EMVSIM_PCSR_VCCENP_SHIFT (2U)
  29122. /*! VCCENP - VCC Enable Polarity Control
  29123. * 0b0..SVCC_EN is active high. Polarity of SVCC_EN is unchanged.
  29124. * 0b1..SVCC_EN is active low. Polarity of SVCC_EN is inverted.
  29125. */
  29126. #define EMVSIM_PCSR_VCCENP(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PCSR_VCCENP_SHIFT)) & EMVSIM_PCSR_VCCENP_MASK)
  29127. #define EMVSIM_PCSR_SRST_MASK (0x8U)
  29128. #define EMVSIM_PCSR_SRST_SHIFT (3U)
  29129. /*! SRST - Reset to Smart Card
  29130. * 0b0..Smart Card Reset is asserted
  29131. * 0b1..Smart Card Reset is de-asserted
  29132. */
  29133. #define EMVSIM_PCSR_SRST(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PCSR_SRST_SHIFT)) & EMVSIM_PCSR_SRST_MASK)
  29134. #define EMVSIM_PCSR_SCEN_MASK (0x10U)
  29135. #define EMVSIM_PCSR_SCEN_SHIFT (4U)
  29136. /*! SCEN - Clock Enable for Smart Card
  29137. * 0b0..Smart Card Clock Disabled
  29138. * 0b1..Smart Card Clock Enabled
  29139. */
  29140. #define EMVSIM_PCSR_SCEN(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PCSR_SCEN_SHIFT)) & EMVSIM_PCSR_SCEN_MASK)
  29141. #define EMVSIM_PCSR_SCSP_MASK (0x20U)
  29142. #define EMVSIM_PCSR_SCSP_SHIFT (5U)
  29143. /*! SCSP - Smart Card Clock Stop Polarity
  29144. * 0b0..Clock is logic 0 when stopped by SCEN
  29145. * 0b1..Clock is logic 1 when stopped by SCEN
  29146. */
  29147. #define EMVSIM_PCSR_SCSP(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PCSR_SCSP_SHIFT)) & EMVSIM_PCSR_SCSP_MASK)
  29148. #define EMVSIM_PCSR_SPD_MASK (0x80U)
  29149. #define EMVSIM_PCSR_SPD_SHIFT (7U)
  29150. /*! SPD - Auto Power Down Control
  29151. * 0b0..No effect
  29152. * 0b1..Start Auto Powerdown or Power Down is in progress
  29153. */
  29154. #define EMVSIM_PCSR_SPD(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PCSR_SPD_SHIFT)) & EMVSIM_PCSR_SPD_MASK)
  29155. #define EMVSIM_PCSR_SPDIM_MASK (0x1000000U)
  29156. #define EMVSIM_PCSR_SPDIM_SHIFT (24U)
  29157. /*! SPDIM - Smart Card Presence Detect Interrupt Mask
  29158. * 0b0..SIM presence detect interrupt is enabled
  29159. * 0b1..SIM presence detect interrupt is masked
  29160. */
  29161. #define EMVSIM_PCSR_SPDIM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PCSR_SPDIM_SHIFT)) & EMVSIM_PCSR_SPDIM_MASK)
  29162. #define EMVSIM_PCSR_SPDIF_MASK (0x2000000U)
  29163. #define EMVSIM_PCSR_SPDIF_SHIFT (25U)
  29164. /*! SPDIF - Smart Card Presence Detect Interrupt Flag
  29165. * 0b0..No insertion or removal of Smart Card detected on Port
  29166. * 0b1..Insertion or removal of Smart Card detected on Port
  29167. */
  29168. #define EMVSIM_PCSR_SPDIF(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PCSR_SPDIF_SHIFT)) & EMVSIM_PCSR_SPDIF_MASK)
  29169. #define EMVSIM_PCSR_SPDP_MASK (0x4000000U)
  29170. #define EMVSIM_PCSR_SPDP_SHIFT (26U)
  29171. /*! SPDP - Smart Card Presence Detect Pin Status
  29172. * 0b0..SIM Presence Detect pin is logic low
  29173. * 0b1..SIM Presence Detectpin is logic high
  29174. */
  29175. #define EMVSIM_PCSR_SPDP(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PCSR_SPDP_SHIFT)) & EMVSIM_PCSR_SPDP_MASK)
  29176. #define EMVSIM_PCSR_SPDES_MASK (0x8000000U)
  29177. #define EMVSIM_PCSR_SPDES_SHIFT (27U)
  29178. /*! SPDES - SIM Presence Detect Edge Select
  29179. * 0b0..Falling edge on the pin
  29180. * 0b1..Rising edge on the pin
  29181. */
  29182. #define EMVSIM_PCSR_SPDES(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PCSR_SPDES_SHIFT)) & EMVSIM_PCSR_SPDES_MASK)
  29183. /*! @} */
  29184. /*! @name RX_BUF - Receive Data Read Buffer */
  29185. /*! @{ */
  29186. #define EMVSIM_RX_BUF_RX_BYTE_MASK (0xFFU)
  29187. #define EMVSIM_RX_BUF_RX_BYTE_SHIFT (0U)
  29188. /*! RX_BYTE - Receive Data Byte Read
  29189. */
  29190. #define EMVSIM_RX_BUF_RX_BYTE(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_BUF_RX_BYTE_SHIFT)) & EMVSIM_RX_BUF_RX_BYTE_MASK)
  29191. /*! @} */
  29192. /*! @name TX_BUF - Transmit Data Buffer */
  29193. /*! @{ */
  29194. #define EMVSIM_TX_BUF_TX_BYTE_MASK (0xFFU)
  29195. #define EMVSIM_TX_BUF_TX_BYTE_SHIFT (0U)
  29196. /*! TX_BYTE - Transmit Data Byte
  29197. */
  29198. #define EMVSIM_TX_BUF_TX_BYTE(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_BUF_TX_BYTE_SHIFT)) & EMVSIM_TX_BUF_TX_BYTE_MASK)
  29199. /*! @} */
  29200. /*! @name TX_GETU - Transmitter Guard ETU Value Register */
  29201. /*! @{ */
  29202. #define EMVSIM_TX_GETU_GETU_MASK (0xFFU)
  29203. #define EMVSIM_TX_GETU_GETU_SHIFT (0U)
  29204. /*! GETU - Transmitter Guard Time Value in ETU
  29205. */
  29206. #define EMVSIM_TX_GETU_GETU(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_GETU_GETU_SHIFT)) & EMVSIM_TX_GETU_GETU_MASK)
  29207. /*! @} */
  29208. /*! @name CWT_VAL - Character Wait Time Value Register */
  29209. /*! @{ */
  29210. #define EMVSIM_CWT_VAL_CWT_MASK (0xFFFFU)
  29211. #define EMVSIM_CWT_VAL_CWT_SHIFT (0U)
  29212. /*! CWT - Character Wait Time Value
  29213. */
  29214. #define EMVSIM_CWT_VAL_CWT(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CWT_VAL_CWT_SHIFT)) & EMVSIM_CWT_VAL_CWT_MASK)
  29215. /*! @} */
  29216. /*! @name BWT_VAL - Block Wait Time Value Register */
  29217. /*! @{ */
  29218. #define EMVSIM_BWT_VAL_BWT_MASK (0xFFFFFFFFU)
  29219. #define EMVSIM_BWT_VAL_BWT_SHIFT (0U)
  29220. /*! BWT - Block Wait Time Value
  29221. */
  29222. #define EMVSIM_BWT_VAL_BWT(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_BWT_VAL_BWT_SHIFT)) & EMVSIM_BWT_VAL_BWT_MASK)
  29223. /*! @} */
  29224. /*! @name BGT_VAL - Block Guard Time Value Register */
  29225. /*! @{ */
  29226. #define EMVSIM_BGT_VAL_BGT_MASK (0xFFFFU)
  29227. #define EMVSIM_BGT_VAL_BGT_SHIFT (0U)
  29228. /*! BGT - Block Guard Time Value
  29229. */
  29230. #define EMVSIM_BGT_VAL_BGT(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_BGT_VAL_BGT_SHIFT)) & EMVSIM_BGT_VAL_BGT_MASK)
  29231. /*! @} */
  29232. /*! @name GPCNT0_VAL - General Purpose Counter 0 Timeout Value Register */
  29233. /*! @{ */
  29234. #define EMVSIM_GPCNT0_VAL_GPCNT0_MASK (0xFFFFU)
  29235. #define EMVSIM_GPCNT0_VAL_GPCNT0_SHIFT (0U)
  29236. /*! GPCNT0 - General Purpose Counter 0 Timeout Value
  29237. */
  29238. #define EMVSIM_GPCNT0_VAL_GPCNT0(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_GPCNT0_VAL_GPCNT0_SHIFT)) & EMVSIM_GPCNT0_VAL_GPCNT0_MASK)
  29239. /*! @} */
  29240. /*! @name GPCNT1_VAL - General Purpose Counter 1 Timeout Value */
  29241. /*! @{ */
  29242. #define EMVSIM_GPCNT1_VAL_GPCNT1_MASK (0xFFFFU)
  29243. #define EMVSIM_GPCNT1_VAL_GPCNT1_SHIFT (0U)
  29244. /*! GPCNT1 - General Purpose Counter 1 Timeout Value
  29245. */
  29246. #define EMVSIM_GPCNT1_VAL_GPCNT1(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_GPCNT1_VAL_GPCNT1_SHIFT)) & EMVSIM_GPCNT1_VAL_GPCNT1_MASK)
  29247. /*! @} */
  29248. /*!
  29249. * @}
  29250. */ /* end of group EMVSIM_Register_Masks */
  29251. /* EMVSIM - Peripheral instance base addresses */
  29252. /** Peripheral EMVSIM1 base address */
  29253. #define EMVSIM1_BASE (0x40154000u)
  29254. /** Peripheral EMVSIM1 base pointer */
  29255. #define EMVSIM1 ((EMVSIM_Type *)EMVSIM1_BASE)
  29256. /** Peripheral EMVSIM2 base address */
  29257. #define EMVSIM2_BASE (0x40158000u)
  29258. /** Peripheral EMVSIM2 base pointer */
  29259. #define EMVSIM2 ((EMVSIM_Type *)EMVSIM2_BASE)
  29260. /** Array initializer of EMVSIM peripheral base addresses */
  29261. #define EMVSIM_BASE_ADDRS { 0u, EMVSIM1_BASE, EMVSIM2_BASE }
  29262. /** Array initializer of EMVSIM peripheral base pointers */
  29263. #define EMVSIM_BASE_PTRS { (EMVSIM_Type *)0u, EMVSIM1, EMVSIM2 }
  29264. /** Interrupt vectors for the EMVSIM peripheral type */
  29265. #define EMVSIM_IRQS { NotAvail_IRQn, EMVSIM1_IRQn, EMVSIM2_IRQn }
  29266. /*!
  29267. * @}
  29268. */ /* end of group EMVSIM_Peripheral_Access_Layer */
  29269. /* ----------------------------------------------------------------------------
  29270. -- ENC Peripheral Access Layer
  29271. ---------------------------------------------------------------------------- */
  29272. /*!
  29273. * @addtogroup ENC_Peripheral_Access_Layer ENC Peripheral Access Layer
  29274. * @{
  29275. */
  29276. /** ENC - Register Layout Typedef */
  29277. typedef struct {
  29278. __IO uint16_t CTRL; /**< Control Register, offset: 0x0 */
  29279. __IO uint16_t FILT; /**< Input Filter Register, offset: 0x2 */
  29280. __IO uint16_t WTR; /**< Watchdog Timeout Register, offset: 0x4 */
  29281. __IO uint16_t POSD; /**< Position Difference Counter Register, offset: 0x6 */
  29282. __I uint16_t POSDH; /**< Position Difference Hold Register, offset: 0x8 */
  29283. __IO uint16_t REV; /**< Revolution Counter Register, offset: 0xA */
  29284. __I uint16_t REVH; /**< Revolution Hold Register, offset: 0xC */
  29285. __IO uint16_t UPOS; /**< Upper Position Counter Register, offset: 0xE */
  29286. __IO uint16_t LPOS; /**< Lower Position Counter Register, offset: 0x10 */
  29287. __I uint16_t UPOSH; /**< Upper Position Hold Register, offset: 0x12 */
  29288. __I uint16_t LPOSH; /**< Lower Position Hold Register, offset: 0x14 */
  29289. __IO uint16_t UINIT; /**< Upper Initialization Register, offset: 0x16 */
  29290. __IO uint16_t LINIT; /**< Lower Initialization Register, offset: 0x18 */
  29291. __I uint16_t IMR; /**< Input Monitor Register, offset: 0x1A */
  29292. __IO uint16_t TST; /**< Test Register, offset: 0x1C */
  29293. __IO uint16_t CTRL2; /**< Control 2 Register, offset: 0x1E */
  29294. __IO uint16_t UMOD; /**< Upper Modulus Register, offset: 0x20 */
  29295. __IO uint16_t LMOD; /**< Lower Modulus Register, offset: 0x22 */
  29296. __IO uint16_t UCOMP; /**< Upper Position Compare Register, offset: 0x24 */
  29297. __IO uint16_t LCOMP; /**< Lower Position Compare Register, offset: 0x26 */
  29298. __I uint16_t LASTEDGE; /**< Last Edge Time Register, offset: 0x28 */
  29299. __I uint16_t LASTEDGEH; /**< Last Edge Time Hold Register, offset: 0x2A */
  29300. __I uint16_t POSDPER; /**< Position Difference Period Counter Register, offset: 0x2C */
  29301. __I uint16_t POSDPERBFR; /**< Position Difference Period Buffer Register, offset: 0x2E */
  29302. __I uint16_t POSDPERH; /**< Position Difference Period Hold Register, offset: 0x30 */
  29303. __IO uint16_t CTRL3; /**< Control 3 Register, offset: 0x32 */
  29304. } ENC_Type;
  29305. /* ----------------------------------------------------------------------------
  29306. -- ENC Register Masks
  29307. ---------------------------------------------------------------------------- */
  29308. /*!
  29309. * @addtogroup ENC_Register_Masks ENC Register Masks
  29310. * @{
  29311. */
  29312. /*! @name CTRL - Control Register */
  29313. /*! @{ */
  29314. #define ENC_CTRL_CMPIE_MASK (0x1U)
  29315. #define ENC_CTRL_CMPIE_SHIFT (0U)
  29316. /*! CMPIE - Compare Interrupt Enable
  29317. * 0b0..Disabled
  29318. * 0b1..Enabled
  29319. */
  29320. #define ENC_CTRL_CMPIE(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_CMPIE_SHIFT)) & ENC_CTRL_CMPIE_MASK)
  29321. #define ENC_CTRL_CMPIRQ_MASK (0x2U)
  29322. #define ENC_CTRL_CMPIRQ_SHIFT (1U)
  29323. /*! CMPIRQ - Compare Interrupt Request
  29324. * 0b0..No match has occurred (the counter does not match the COMP value)
  29325. * 0b1..COMP match has occurred (the counter matches the COMP value)
  29326. */
  29327. #define ENC_CTRL_CMPIRQ(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_CMPIRQ_SHIFT)) & ENC_CTRL_CMPIRQ_MASK)
  29328. #define ENC_CTRL_WDE_MASK (0x4U)
  29329. #define ENC_CTRL_WDE_SHIFT (2U)
  29330. /*! WDE - Watchdog Enable
  29331. * 0b0..Disabled
  29332. * 0b1..Enabled
  29333. */
  29334. #define ENC_CTRL_WDE(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_WDE_SHIFT)) & ENC_CTRL_WDE_MASK)
  29335. #define ENC_CTRL_DIE_MASK (0x8U)
  29336. #define ENC_CTRL_DIE_SHIFT (3U)
  29337. /*! DIE - Watchdog Timeout Interrupt Enable
  29338. * 0b0..Disabled
  29339. * 0b1..Enabled
  29340. */
  29341. #define ENC_CTRL_DIE(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_DIE_SHIFT)) & ENC_CTRL_DIE_MASK)
  29342. #define ENC_CTRL_DIRQ_MASK (0x10U)
  29343. #define ENC_CTRL_DIRQ_SHIFT (4U)
  29344. /*! DIRQ - Watchdog Timeout Interrupt Request
  29345. * 0b0..No Watchdog timeout interrupt has occurred
  29346. * 0b1..Watchdog timeout interrupt has occurred
  29347. */
  29348. #define ENC_CTRL_DIRQ(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_DIRQ_SHIFT)) & ENC_CTRL_DIRQ_MASK)
  29349. #define ENC_CTRL_XNE_MASK (0x20U)
  29350. #define ENC_CTRL_XNE_SHIFT (5U)
  29351. /*! XNE - Use Negative Edge of INDEX Pulse
  29352. * 0b0..Use positive edge of INDEX pulse
  29353. * 0b1..Use negative edge of INDEX pulse
  29354. */
  29355. #define ENC_CTRL_XNE(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_XNE_SHIFT)) & ENC_CTRL_XNE_MASK)
  29356. #define ENC_CTRL_XIP_MASK (0x40U)
  29357. #define ENC_CTRL_XIP_SHIFT (6U)
  29358. /*! XIP - INDEX Triggered Initialization of Position Counters UPOS and LPOS
  29359. * 0b0..INDEX pulse does not initialize the position counter
  29360. * 0b1..INDEX pulse initializes the position counter
  29361. */
  29362. #define ENC_CTRL_XIP(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_XIP_SHIFT)) & ENC_CTRL_XIP_MASK)
  29363. #define ENC_CTRL_XIE_MASK (0x80U)
  29364. #define ENC_CTRL_XIE_SHIFT (7U)
  29365. /*! XIE - INDEX Pulse Interrupt Enable
  29366. * 0b0..Disabled
  29367. * 0b1..Enabled
  29368. */
  29369. #define ENC_CTRL_XIE(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_XIE_SHIFT)) & ENC_CTRL_XIE_MASK)
  29370. #define ENC_CTRL_XIRQ_MASK (0x100U)
  29371. #define ENC_CTRL_XIRQ_SHIFT (8U)
  29372. /*! XIRQ - INDEX Pulse Interrupt Request
  29373. * 0b0..INDEX pulse has not occurred
  29374. * 0b1..INDEX pulse has occurred
  29375. */
  29376. #define ENC_CTRL_XIRQ(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_XIRQ_SHIFT)) & ENC_CTRL_XIRQ_MASK)
  29377. #define ENC_CTRL_PH1_MASK (0x200U)
  29378. #define ENC_CTRL_PH1_SHIFT (9U)
  29379. /*! PH1 - Enable Signal Phase Count Mode
  29380. * 0b0..Use the standard quadrature decoder, where PHASEA and PHASEB represent a two-phase quadrature signal.
  29381. * 0b1..Bypass the quadrature decoder. A positive transition of the PHASEA input generates a count signal. The
  29382. * PHASEB input and the REV bit control the counter direction: If CTRL[REV] = 0, PHASEB = 0, then count up If
  29383. * CTRL[REV] = 1, PHASEB = 1, then count up If CTRL[REV] = 0, PHASEB = 1, then count down If CTRL[REV] = 1,
  29384. * PHASEB = 0, then count down
  29385. */
  29386. #define ENC_CTRL_PH1(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_PH1_SHIFT)) & ENC_CTRL_PH1_MASK)
  29387. #define ENC_CTRL_REV_MASK (0x400U)
  29388. #define ENC_CTRL_REV_SHIFT (10U)
  29389. /*! REV - Enable Reverse Direction Counting
  29390. * 0b0..Count normally
  29391. * 0b1..Count in the reverse direction
  29392. */
  29393. #define ENC_CTRL_REV(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_REV_SHIFT)) & ENC_CTRL_REV_MASK)
  29394. #define ENC_CTRL_SWIP_MASK (0x800U)
  29395. #define ENC_CTRL_SWIP_SHIFT (11U)
  29396. /*! SWIP - Software-Triggered Initialization of Position Counters UPOS and LPOS
  29397. * 0b0..No action
  29398. * 0b1..Initialize position counter (using upper and lower initialization registers, UINIT and LINIT)
  29399. */
  29400. #define ENC_CTRL_SWIP(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_SWIP_SHIFT)) & ENC_CTRL_SWIP_MASK)
  29401. #define ENC_CTRL_HNE_MASK (0x1000U)
  29402. #define ENC_CTRL_HNE_SHIFT (12U)
  29403. /*! HNE - Use Negative Edge of HOME Input
  29404. * 0b0..Use positive-going edge-to-trigger initialization of position counters UPOS and LPOS
  29405. * 0b1..Use negative-going edge-to-trigger initialization of position counters UPOS and LPOS
  29406. */
  29407. #define ENC_CTRL_HNE(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_HNE_SHIFT)) & ENC_CTRL_HNE_MASK)
  29408. #define ENC_CTRL_HIP_MASK (0x2000U)
  29409. #define ENC_CTRL_HIP_SHIFT (13U)
  29410. /*! HIP - Enable HOME to Initialize Position Counters UPOS and LPOS
  29411. * 0b0..No action
  29412. * 0b1..HOME signal initializes the position counter
  29413. */
  29414. #define ENC_CTRL_HIP(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_HIP_SHIFT)) & ENC_CTRL_HIP_MASK)
  29415. #define ENC_CTRL_HIE_MASK (0x4000U)
  29416. #define ENC_CTRL_HIE_SHIFT (14U)
  29417. /*! HIE - HOME Interrupt Enable
  29418. * 0b0..Disabled
  29419. * 0b1..Enabled
  29420. */
  29421. #define ENC_CTRL_HIE(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_HIE_SHIFT)) & ENC_CTRL_HIE_MASK)
  29422. #define ENC_CTRL_HIRQ_MASK (0x8000U)
  29423. #define ENC_CTRL_HIRQ_SHIFT (15U)
  29424. /*! HIRQ - HOME Signal Transition Interrupt Request
  29425. * 0b0..No transition on the HOME signal has occurred
  29426. * 0b1..A transition on the HOME signal has occurred
  29427. */
  29428. #define ENC_CTRL_HIRQ(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_HIRQ_SHIFT)) & ENC_CTRL_HIRQ_MASK)
  29429. /*! @} */
  29430. /*! @name FILT - Input Filter Register */
  29431. /*! @{ */
  29432. #define ENC_FILT_FILT_PER_MASK (0xFFU)
  29433. #define ENC_FILT_FILT_PER_SHIFT (0U)
  29434. /*! FILT_PER - Input Filter Sample Period
  29435. */
  29436. #define ENC_FILT_FILT_PER(x) (((uint16_t)(((uint16_t)(x)) << ENC_FILT_FILT_PER_SHIFT)) & ENC_FILT_FILT_PER_MASK)
  29437. #define ENC_FILT_FILT_CNT_MASK (0x700U)
  29438. #define ENC_FILT_FILT_CNT_SHIFT (8U)
  29439. /*! FILT_CNT - Input Filter Sample Count
  29440. */
  29441. #define ENC_FILT_FILT_CNT(x) (((uint16_t)(((uint16_t)(x)) << ENC_FILT_FILT_CNT_SHIFT)) & ENC_FILT_FILT_CNT_MASK)
  29442. #define ENC_FILT_FILT_PRSC_MASK (0xE000U)
  29443. #define ENC_FILT_FILT_PRSC_SHIFT (13U)
  29444. /*! FILT_PRSC - prescaler divide IPbus clock to FILT clk
  29445. */
  29446. #define ENC_FILT_FILT_PRSC(x) (((uint16_t)(((uint16_t)(x)) << ENC_FILT_FILT_PRSC_SHIFT)) & ENC_FILT_FILT_PRSC_MASK)
  29447. /*! @} */
  29448. /*! @name WTR - Watchdog Timeout Register */
  29449. /*! @{ */
  29450. #define ENC_WTR_WDOG_MASK (0xFFFFU)
  29451. #define ENC_WTR_WDOG_SHIFT (0U)
  29452. /*! WDOG - WDOG
  29453. */
  29454. #define ENC_WTR_WDOG(x) (((uint16_t)(((uint16_t)(x)) << ENC_WTR_WDOG_SHIFT)) & ENC_WTR_WDOG_MASK)
  29455. /*! @} */
  29456. /*! @name POSD - Position Difference Counter Register */
  29457. /*! @{ */
  29458. #define ENC_POSD_POSD_MASK (0xFFFFU)
  29459. #define ENC_POSD_POSD_SHIFT (0U)
  29460. /*! POSD - POSD
  29461. */
  29462. #define ENC_POSD_POSD(x) (((uint16_t)(((uint16_t)(x)) << ENC_POSD_POSD_SHIFT)) & ENC_POSD_POSD_MASK)
  29463. /*! @} */
  29464. /*! @name POSDH - Position Difference Hold Register */
  29465. /*! @{ */
  29466. #define ENC_POSDH_POSDH_MASK (0xFFFFU)
  29467. #define ENC_POSDH_POSDH_SHIFT (0U)
  29468. /*! POSDH - POSDH
  29469. */
  29470. #define ENC_POSDH_POSDH(x) (((uint16_t)(((uint16_t)(x)) << ENC_POSDH_POSDH_SHIFT)) & ENC_POSDH_POSDH_MASK)
  29471. /*! @} */
  29472. /*! @name REV - Revolution Counter Register */
  29473. /*! @{ */
  29474. #define ENC_REV_REV_MASK (0xFFFFU)
  29475. #define ENC_REV_REV_SHIFT (0U)
  29476. /*! REV - REV
  29477. */
  29478. #define ENC_REV_REV(x) (((uint16_t)(((uint16_t)(x)) << ENC_REV_REV_SHIFT)) & ENC_REV_REV_MASK)
  29479. /*! @} */
  29480. /*! @name REVH - Revolution Hold Register */
  29481. /*! @{ */
  29482. #define ENC_REVH_REVH_MASK (0xFFFFU)
  29483. #define ENC_REVH_REVH_SHIFT (0U)
  29484. /*! REVH - REVH
  29485. */
  29486. #define ENC_REVH_REVH(x) (((uint16_t)(((uint16_t)(x)) << ENC_REVH_REVH_SHIFT)) & ENC_REVH_REVH_MASK)
  29487. /*! @} */
  29488. /*! @name UPOS - Upper Position Counter Register */
  29489. /*! @{ */
  29490. #define ENC_UPOS_POS_MASK (0xFFFFU)
  29491. #define ENC_UPOS_POS_SHIFT (0U)
  29492. /*! POS - POS
  29493. */
  29494. #define ENC_UPOS_POS(x) (((uint16_t)(((uint16_t)(x)) << ENC_UPOS_POS_SHIFT)) & ENC_UPOS_POS_MASK)
  29495. /*! @} */
  29496. /*! @name LPOS - Lower Position Counter Register */
  29497. /*! @{ */
  29498. #define ENC_LPOS_POS_MASK (0xFFFFU)
  29499. #define ENC_LPOS_POS_SHIFT (0U)
  29500. /*! POS - POS
  29501. */
  29502. #define ENC_LPOS_POS(x) (((uint16_t)(((uint16_t)(x)) << ENC_LPOS_POS_SHIFT)) & ENC_LPOS_POS_MASK)
  29503. /*! @} */
  29504. /*! @name UPOSH - Upper Position Hold Register */
  29505. /*! @{ */
  29506. #define ENC_UPOSH_POSH_MASK (0xFFFFU)
  29507. #define ENC_UPOSH_POSH_SHIFT (0U)
  29508. /*! POSH - POSH
  29509. */
  29510. #define ENC_UPOSH_POSH(x) (((uint16_t)(((uint16_t)(x)) << ENC_UPOSH_POSH_SHIFT)) & ENC_UPOSH_POSH_MASK)
  29511. /*! @} */
  29512. /*! @name LPOSH - Lower Position Hold Register */
  29513. /*! @{ */
  29514. #define ENC_LPOSH_POSH_MASK (0xFFFFU)
  29515. #define ENC_LPOSH_POSH_SHIFT (0U)
  29516. /*! POSH - POSH
  29517. */
  29518. #define ENC_LPOSH_POSH(x) (((uint16_t)(((uint16_t)(x)) << ENC_LPOSH_POSH_SHIFT)) & ENC_LPOSH_POSH_MASK)
  29519. /*! @} */
  29520. /*! @name UINIT - Upper Initialization Register */
  29521. /*! @{ */
  29522. #define ENC_UINIT_INIT_MASK (0xFFFFU)
  29523. #define ENC_UINIT_INIT_SHIFT (0U)
  29524. /*! INIT - INIT
  29525. */
  29526. #define ENC_UINIT_INIT(x) (((uint16_t)(((uint16_t)(x)) << ENC_UINIT_INIT_SHIFT)) & ENC_UINIT_INIT_MASK)
  29527. /*! @} */
  29528. /*! @name LINIT - Lower Initialization Register */
  29529. /*! @{ */
  29530. #define ENC_LINIT_INIT_MASK (0xFFFFU)
  29531. #define ENC_LINIT_INIT_SHIFT (0U)
  29532. /*! INIT - INIT
  29533. */
  29534. #define ENC_LINIT_INIT(x) (((uint16_t)(((uint16_t)(x)) << ENC_LINIT_INIT_SHIFT)) & ENC_LINIT_INIT_MASK)
  29535. /*! @} */
  29536. /*! @name IMR - Input Monitor Register */
  29537. /*! @{ */
  29538. #define ENC_IMR_HOME_MASK (0x1U)
  29539. #define ENC_IMR_HOME_SHIFT (0U)
  29540. /*! HOME - HOME
  29541. */
  29542. #define ENC_IMR_HOME(x) (((uint16_t)(((uint16_t)(x)) << ENC_IMR_HOME_SHIFT)) & ENC_IMR_HOME_MASK)
  29543. #define ENC_IMR_INDEX_MASK (0x2U)
  29544. #define ENC_IMR_INDEX_SHIFT (1U)
  29545. /*! INDEX - INDEX
  29546. */
  29547. #define ENC_IMR_INDEX(x) (((uint16_t)(((uint16_t)(x)) << ENC_IMR_INDEX_SHIFT)) & ENC_IMR_INDEX_MASK)
  29548. #define ENC_IMR_PHB_MASK (0x4U)
  29549. #define ENC_IMR_PHB_SHIFT (2U)
  29550. /*! PHB - PHB
  29551. */
  29552. #define ENC_IMR_PHB(x) (((uint16_t)(((uint16_t)(x)) << ENC_IMR_PHB_SHIFT)) & ENC_IMR_PHB_MASK)
  29553. #define ENC_IMR_PHA_MASK (0x8U)
  29554. #define ENC_IMR_PHA_SHIFT (3U)
  29555. /*! PHA - PHA
  29556. */
  29557. #define ENC_IMR_PHA(x) (((uint16_t)(((uint16_t)(x)) << ENC_IMR_PHA_SHIFT)) & ENC_IMR_PHA_MASK)
  29558. #define ENC_IMR_FHOM_MASK (0x10U)
  29559. #define ENC_IMR_FHOM_SHIFT (4U)
  29560. /*! FHOM - FHOM
  29561. */
  29562. #define ENC_IMR_FHOM(x) (((uint16_t)(((uint16_t)(x)) << ENC_IMR_FHOM_SHIFT)) & ENC_IMR_FHOM_MASK)
  29563. #define ENC_IMR_FIND_MASK (0x20U)
  29564. #define ENC_IMR_FIND_SHIFT (5U)
  29565. /*! FIND - FIND
  29566. */
  29567. #define ENC_IMR_FIND(x) (((uint16_t)(((uint16_t)(x)) << ENC_IMR_FIND_SHIFT)) & ENC_IMR_FIND_MASK)
  29568. #define ENC_IMR_FPHB_MASK (0x40U)
  29569. #define ENC_IMR_FPHB_SHIFT (6U)
  29570. /*! FPHB - FPHB
  29571. */
  29572. #define ENC_IMR_FPHB(x) (((uint16_t)(((uint16_t)(x)) << ENC_IMR_FPHB_SHIFT)) & ENC_IMR_FPHB_MASK)
  29573. #define ENC_IMR_FPHA_MASK (0x80U)
  29574. #define ENC_IMR_FPHA_SHIFT (7U)
  29575. /*! FPHA - FPHA
  29576. */
  29577. #define ENC_IMR_FPHA(x) (((uint16_t)(((uint16_t)(x)) << ENC_IMR_FPHA_SHIFT)) & ENC_IMR_FPHA_MASK)
  29578. /*! @} */
  29579. /*! @name TST - Test Register */
  29580. /*! @{ */
  29581. #define ENC_TST_TEST_COUNT_MASK (0xFFU)
  29582. #define ENC_TST_TEST_COUNT_SHIFT (0U)
  29583. /*! TEST_COUNT - TEST_COUNT
  29584. */
  29585. #define ENC_TST_TEST_COUNT(x) (((uint16_t)(((uint16_t)(x)) << ENC_TST_TEST_COUNT_SHIFT)) & ENC_TST_TEST_COUNT_MASK)
  29586. #define ENC_TST_TEST_PERIOD_MASK (0x1F00U)
  29587. #define ENC_TST_TEST_PERIOD_SHIFT (8U)
  29588. /*! TEST_PERIOD - TEST_PERIOD
  29589. */
  29590. #define ENC_TST_TEST_PERIOD(x) (((uint16_t)(((uint16_t)(x)) << ENC_TST_TEST_PERIOD_SHIFT)) & ENC_TST_TEST_PERIOD_MASK)
  29591. #define ENC_TST_QDN_MASK (0x2000U)
  29592. #define ENC_TST_QDN_SHIFT (13U)
  29593. /*! QDN - Quadrature Decoder Negative Signal
  29594. * 0b0..Generates a positive quadrature decoder signal
  29595. * 0b1..Generates a negative quadrature decoder signal
  29596. */
  29597. #define ENC_TST_QDN(x) (((uint16_t)(((uint16_t)(x)) << ENC_TST_QDN_SHIFT)) & ENC_TST_QDN_MASK)
  29598. #define ENC_TST_TCE_MASK (0x4000U)
  29599. #define ENC_TST_TCE_SHIFT (14U)
  29600. /*! TCE - Test Counter Enable
  29601. * 0b0..Disabled
  29602. * 0b1..Enabled
  29603. */
  29604. #define ENC_TST_TCE(x) (((uint16_t)(((uint16_t)(x)) << ENC_TST_TCE_SHIFT)) & ENC_TST_TCE_MASK)
  29605. #define ENC_TST_TEN_MASK (0x8000U)
  29606. #define ENC_TST_TEN_SHIFT (15U)
  29607. /*! TEN - Test Mode Enable
  29608. * 0b0..Disabled
  29609. * 0b1..Enabled
  29610. */
  29611. #define ENC_TST_TEN(x) (((uint16_t)(((uint16_t)(x)) << ENC_TST_TEN_SHIFT)) & ENC_TST_TEN_MASK)
  29612. /*! @} */
  29613. /*! @name CTRL2 - Control 2 Register */
  29614. /*! @{ */
  29615. #define ENC_CTRL2_UPDHLD_MASK (0x1U)
  29616. #define ENC_CTRL2_UPDHLD_SHIFT (0U)
  29617. /*! UPDHLD - Update Hold Registers
  29618. * 0b0..Disable updates of hold registers on the rising edge of TRIGGER input signal
  29619. * 0b1..Enable updates of hold registers on the rising edge of TRIGGER input signal
  29620. */
  29621. #define ENC_CTRL2_UPDHLD(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL2_UPDHLD_SHIFT)) & ENC_CTRL2_UPDHLD_MASK)
  29622. #define ENC_CTRL2_UPDPOS_MASK (0x2U)
  29623. #define ENC_CTRL2_UPDPOS_SHIFT (1U)
  29624. /*! UPDPOS - Update Position Registers
  29625. * 0b0..No action for POSD, REV, UPOS and LPOS registers on rising edge of TRIGGER
  29626. * 0b1..Clear POSD, REV, UPOS and LPOS registers on rising edge of TRIGGER
  29627. */
  29628. #define ENC_CTRL2_UPDPOS(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL2_UPDPOS_SHIFT)) & ENC_CTRL2_UPDPOS_MASK)
  29629. #define ENC_CTRL2_MOD_MASK (0x4U)
  29630. #define ENC_CTRL2_MOD_SHIFT (2U)
  29631. /*! MOD - Enable Modulo Counting
  29632. * 0b0..Disable modulo counting
  29633. * 0b1..Enable modulo counting
  29634. */
  29635. #define ENC_CTRL2_MOD(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL2_MOD_SHIFT)) & ENC_CTRL2_MOD_MASK)
  29636. #define ENC_CTRL2_DIR_MASK (0x8U)
  29637. #define ENC_CTRL2_DIR_SHIFT (3U)
  29638. /*! DIR - Count Direction Flag
  29639. * 0b0..Last count was in the down direction
  29640. * 0b1..Last count was in the up direction
  29641. */
  29642. #define ENC_CTRL2_DIR(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL2_DIR_SHIFT)) & ENC_CTRL2_DIR_MASK)
  29643. #define ENC_CTRL2_RUIE_MASK (0x10U)
  29644. #define ENC_CTRL2_RUIE_SHIFT (4U)
  29645. /*! RUIE - Roll-under Interrupt Enable
  29646. * 0b0..Disabled
  29647. * 0b1..Enabled
  29648. */
  29649. #define ENC_CTRL2_RUIE(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL2_RUIE_SHIFT)) & ENC_CTRL2_RUIE_MASK)
  29650. #define ENC_CTRL2_RUIRQ_MASK (0x20U)
  29651. #define ENC_CTRL2_RUIRQ_SHIFT (5U)
  29652. /*! RUIRQ - Roll-under Interrupt Request
  29653. * 0b0..No roll-under has occurred
  29654. * 0b1..Roll-under has occurred
  29655. */
  29656. #define ENC_CTRL2_RUIRQ(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL2_RUIRQ_SHIFT)) & ENC_CTRL2_RUIRQ_MASK)
  29657. #define ENC_CTRL2_ROIE_MASK (0x40U)
  29658. #define ENC_CTRL2_ROIE_SHIFT (6U)
  29659. /*! ROIE - Roll-over Interrupt Enable
  29660. * 0b0..Disabled
  29661. * 0b1..Enabled
  29662. */
  29663. #define ENC_CTRL2_ROIE(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL2_ROIE_SHIFT)) & ENC_CTRL2_ROIE_MASK)
  29664. #define ENC_CTRL2_ROIRQ_MASK (0x80U)
  29665. #define ENC_CTRL2_ROIRQ_SHIFT (7U)
  29666. /*! ROIRQ - Roll-over Interrupt Request
  29667. * 0b0..No roll-over has occurred
  29668. * 0b1..Roll-over has occurred
  29669. */
  29670. #define ENC_CTRL2_ROIRQ(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL2_ROIRQ_SHIFT)) & ENC_CTRL2_ROIRQ_MASK)
  29671. #define ENC_CTRL2_REVMOD_MASK (0x100U)
  29672. #define ENC_CTRL2_REVMOD_SHIFT (8U)
  29673. /*! REVMOD - Revolution Counter Modulus Enable
  29674. * 0b0..Use INDEX pulse to increment/decrement revolution counter (REV)
  29675. * 0b1..Use modulus counting roll-over/under to increment/decrement revolution counter (REV)
  29676. */
  29677. #define ENC_CTRL2_REVMOD(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL2_REVMOD_SHIFT)) & ENC_CTRL2_REVMOD_MASK)
  29678. #define ENC_CTRL2_OUTCTL_MASK (0x200U)
  29679. #define ENC_CTRL2_OUTCTL_SHIFT (9U)
  29680. /*! OUTCTL - Output Control
  29681. * 0b0..POSMATCH pulses when a match occurs between the position counters (POS) and the corresponding compare value (COMP )
  29682. * 0b1..POSMATCH pulses when the UPOS, LPOS, REV, or POSD registers are read
  29683. */
  29684. #define ENC_CTRL2_OUTCTL(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL2_OUTCTL_SHIFT)) & ENC_CTRL2_OUTCTL_MASK)
  29685. #define ENC_CTRL2_SABIE_MASK (0x400U)
  29686. #define ENC_CTRL2_SABIE_SHIFT (10U)
  29687. /*! SABIE - Simultaneous PHASEA and PHASEB Change Interrupt Enable
  29688. * 0b0..Disabled
  29689. * 0b1..Enabled
  29690. */
  29691. #define ENC_CTRL2_SABIE(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL2_SABIE_SHIFT)) & ENC_CTRL2_SABIE_MASK)
  29692. #define ENC_CTRL2_SABIRQ_MASK (0x800U)
  29693. #define ENC_CTRL2_SABIRQ_SHIFT (11U)
  29694. /*! SABIRQ - Simultaneous PHASEA and PHASEB Change Interrupt Request
  29695. * 0b0..No simultaneous change of PHASEA and PHASEB has occurred
  29696. * 0b1..A simultaneous change of PHASEA and PHASEB has occurred
  29697. */
  29698. #define ENC_CTRL2_SABIRQ(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL2_SABIRQ_SHIFT)) & ENC_CTRL2_SABIRQ_MASK)
  29699. /*! @} */
  29700. /*! @name UMOD - Upper Modulus Register */
  29701. /*! @{ */
  29702. #define ENC_UMOD_MOD_MASK (0xFFFFU)
  29703. #define ENC_UMOD_MOD_SHIFT (0U)
  29704. /*! MOD - MOD
  29705. */
  29706. #define ENC_UMOD_MOD(x) (((uint16_t)(((uint16_t)(x)) << ENC_UMOD_MOD_SHIFT)) & ENC_UMOD_MOD_MASK)
  29707. /*! @} */
  29708. /*! @name LMOD - Lower Modulus Register */
  29709. /*! @{ */
  29710. #define ENC_LMOD_MOD_MASK (0xFFFFU)
  29711. #define ENC_LMOD_MOD_SHIFT (0U)
  29712. /*! MOD - MOD
  29713. */
  29714. #define ENC_LMOD_MOD(x) (((uint16_t)(((uint16_t)(x)) << ENC_LMOD_MOD_SHIFT)) & ENC_LMOD_MOD_MASK)
  29715. /*! @} */
  29716. /*! @name UCOMP - Upper Position Compare Register */
  29717. /*! @{ */
  29718. #define ENC_UCOMP_COMP_MASK (0xFFFFU)
  29719. #define ENC_UCOMP_COMP_SHIFT (0U)
  29720. /*! COMP - COMP
  29721. */
  29722. #define ENC_UCOMP_COMP(x) (((uint16_t)(((uint16_t)(x)) << ENC_UCOMP_COMP_SHIFT)) & ENC_UCOMP_COMP_MASK)
  29723. /*! @} */
  29724. /*! @name LCOMP - Lower Position Compare Register */
  29725. /*! @{ */
  29726. #define ENC_LCOMP_COMP_MASK (0xFFFFU)
  29727. #define ENC_LCOMP_COMP_SHIFT (0U)
  29728. /*! COMP - COMP
  29729. */
  29730. #define ENC_LCOMP_COMP(x) (((uint16_t)(((uint16_t)(x)) << ENC_LCOMP_COMP_SHIFT)) & ENC_LCOMP_COMP_MASK)
  29731. /*! @} */
  29732. /*! @name LASTEDGE - Last Edge Time Register */
  29733. /*! @{ */
  29734. #define ENC_LASTEDGE_LASTEDGE_MASK (0xFFFFU)
  29735. #define ENC_LASTEDGE_LASTEDGE_SHIFT (0U)
  29736. /*! LASTEDGE - Last Edge Time Counter
  29737. */
  29738. #define ENC_LASTEDGE_LASTEDGE(x) (((uint16_t)(((uint16_t)(x)) << ENC_LASTEDGE_LASTEDGE_SHIFT)) & ENC_LASTEDGE_LASTEDGE_MASK)
  29739. /*! @} */
  29740. /*! @name LASTEDGEH - Last Edge Time Hold Register */
  29741. /*! @{ */
  29742. #define ENC_LASTEDGEH_LASTEDGEH_MASK (0xFFFFU)
  29743. #define ENC_LASTEDGEH_LASTEDGEH_SHIFT (0U)
  29744. /*! LASTEDGEH - Last Edge Time Hold
  29745. */
  29746. #define ENC_LASTEDGEH_LASTEDGEH(x) (((uint16_t)(((uint16_t)(x)) << ENC_LASTEDGEH_LASTEDGEH_SHIFT)) & ENC_LASTEDGEH_LASTEDGEH_MASK)
  29747. /*! @} */
  29748. /*! @name POSDPER - Position Difference Period Counter Register */
  29749. /*! @{ */
  29750. #define ENC_POSDPER_POSDPER_MASK (0xFFFFU)
  29751. #define ENC_POSDPER_POSDPER_SHIFT (0U)
  29752. /*! POSDPER - Position difference period
  29753. */
  29754. #define ENC_POSDPER_POSDPER(x) (((uint16_t)(((uint16_t)(x)) << ENC_POSDPER_POSDPER_SHIFT)) & ENC_POSDPER_POSDPER_MASK)
  29755. /*! @} */
  29756. /*! @name POSDPERBFR - Position Difference Period Buffer Register */
  29757. /*! @{ */
  29758. #define ENC_POSDPERBFR_POSDPERBFR_MASK (0xFFFFU)
  29759. #define ENC_POSDPERBFR_POSDPERBFR_SHIFT (0U)
  29760. /*! POSDPERBFR - Position difference period buffer
  29761. */
  29762. #define ENC_POSDPERBFR_POSDPERBFR(x) (((uint16_t)(((uint16_t)(x)) << ENC_POSDPERBFR_POSDPERBFR_SHIFT)) & ENC_POSDPERBFR_POSDPERBFR_MASK)
  29763. /*! @} */
  29764. /*! @name POSDPERH - Position Difference Period Hold Register */
  29765. /*! @{ */
  29766. #define ENC_POSDPERH_POSDPERH_MASK (0xFFFFU)
  29767. #define ENC_POSDPERH_POSDPERH_SHIFT (0U)
  29768. /*! POSDPERH - Position difference period hold
  29769. */
  29770. #define ENC_POSDPERH_POSDPERH(x) (((uint16_t)(((uint16_t)(x)) << ENC_POSDPERH_POSDPERH_SHIFT)) & ENC_POSDPERH_POSDPERH_MASK)
  29771. /*! @} */
  29772. /*! @name CTRL3 - Control 3 Register */
  29773. /*! @{ */
  29774. #define ENC_CTRL3_PMEN_MASK (0x1U)
  29775. #define ENC_CTRL3_PMEN_SHIFT (0U)
  29776. /*! PMEN - Period measurement function enable
  29777. * 0b0..Period measurement functions are not used. POSD is loaded to POSDH and then cleared whenever POSD, UPOS, LPOS, or REV is read.
  29778. * 0b1..Period measurement functions are used. POSD is loaded to POSDH and then cleared only when POSD is read.
  29779. */
  29780. #define ENC_CTRL3_PMEN(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL3_PMEN_SHIFT)) & ENC_CTRL3_PMEN_MASK)
  29781. #define ENC_CTRL3_PRSC_MASK (0xF0U)
  29782. #define ENC_CTRL3_PRSC_SHIFT (4U)
  29783. /*! PRSC - Prescaler
  29784. */
  29785. #define ENC_CTRL3_PRSC(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL3_PRSC_SHIFT)) & ENC_CTRL3_PRSC_MASK)
  29786. /*! @} */
  29787. /*!
  29788. * @}
  29789. */ /* end of group ENC_Register_Masks */
  29790. /* ENC - Peripheral instance base addresses */
  29791. /** Peripheral ENC1 base address */
  29792. #define ENC1_BASE (0x40174000u)
  29793. /** Peripheral ENC1 base pointer */
  29794. #define ENC1 ((ENC_Type *)ENC1_BASE)
  29795. /** Peripheral ENC2 base address */
  29796. #define ENC2_BASE (0x40178000u)
  29797. /** Peripheral ENC2 base pointer */
  29798. #define ENC2 ((ENC_Type *)ENC2_BASE)
  29799. /** Peripheral ENC3 base address */
  29800. #define ENC3_BASE (0x4017C000u)
  29801. /** Peripheral ENC3 base pointer */
  29802. #define ENC3 ((ENC_Type *)ENC3_BASE)
  29803. /** Peripheral ENC4 base address */
  29804. #define ENC4_BASE (0x40180000u)
  29805. /** Peripheral ENC4 base pointer */
  29806. #define ENC4 ((ENC_Type *)ENC4_BASE)
  29807. /** Array initializer of ENC peripheral base addresses */
  29808. #define ENC_BASE_ADDRS { 0u, ENC1_BASE, ENC2_BASE, ENC3_BASE, ENC4_BASE }
  29809. /** Array initializer of ENC peripheral base pointers */
  29810. #define ENC_BASE_PTRS { (ENC_Type *)0u, ENC1, ENC2, ENC3, ENC4 }
  29811. /** Interrupt vectors for the ENC peripheral type */
  29812. #define ENC_COMPARE_IRQS { NotAvail_IRQn, ENC1_IRQn, ENC2_IRQn, ENC3_IRQn, ENC4_IRQn }
  29813. #define ENC_HOME_IRQS { NotAvail_IRQn, ENC1_IRQn, ENC2_IRQn, ENC3_IRQn, ENC4_IRQn }
  29814. #define ENC_WDOG_IRQS { NotAvail_IRQn, ENC1_IRQn, ENC2_IRQn, ENC3_IRQn, ENC4_IRQn }
  29815. #define ENC_INDEX_IRQS { NotAvail_IRQn, ENC1_IRQn, ENC2_IRQn, ENC3_IRQn, ENC4_IRQn }
  29816. #define ENC_INPUT_SWITCH_IRQS { NotAvail_IRQn, ENC1_IRQn, ENC2_IRQn, ENC3_IRQn, ENC4_IRQn }
  29817. /*!
  29818. * @}
  29819. */ /* end of group ENC_Peripheral_Access_Layer */
  29820. /* ----------------------------------------------------------------------------
  29821. -- ENET Peripheral Access Layer
  29822. ---------------------------------------------------------------------------- */
  29823. /*!
  29824. * @addtogroup ENET_Peripheral_Access_Layer ENET Peripheral Access Layer
  29825. * @{
  29826. */
  29827. /** ENET - Register Layout Typedef */
  29828. typedef struct {
  29829. uint8_t RESERVED_0[4];
  29830. __IO uint32_t EIR; /**< Interrupt Event Register, offset: 0x4 */
  29831. __IO uint32_t EIMR; /**< Interrupt Mask Register, offset: 0x8 */
  29832. uint8_t RESERVED_1[4];
  29833. __IO uint32_t RDAR; /**< Receive Descriptor Active Register - Ring 0, offset: 0x10 */
  29834. __IO uint32_t TDAR; /**< Transmit Descriptor Active Register - Ring 0, offset: 0x14 */
  29835. uint8_t RESERVED_2[12];
  29836. __IO uint32_t ECR; /**< Ethernet Control Register, offset: 0x24 */
  29837. uint8_t RESERVED_3[24];
  29838. __IO uint32_t MMFR; /**< MII Management Frame Register, offset: 0x40 */
  29839. __IO uint32_t MSCR; /**< MII Speed Control Register, offset: 0x44 */
  29840. uint8_t RESERVED_4[28];
  29841. __IO uint32_t MIBC; /**< MIB Control Register, offset: 0x64 */
  29842. uint8_t RESERVED_5[28];
  29843. __IO uint32_t RCR; /**< Receive Control Register, offset: 0x84 */
  29844. uint8_t RESERVED_6[60];
  29845. __IO uint32_t TCR; /**< Transmit Control Register, offset: 0xC4 */
  29846. uint8_t RESERVED_7[28];
  29847. __IO uint32_t PALR; /**< Physical Address Lower Register, offset: 0xE4 */
  29848. __IO uint32_t PAUR; /**< Physical Address Upper Register, offset: 0xE8 */
  29849. __IO uint32_t OPD; /**< Opcode/Pause Duration Register, offset: 0xEC */
  29850. __IO uint32_t TXIC[3]; /**< Transmit Interrupt Coalescing Register, array offset: 0xF0, array step: 0x4 */
  29851. uint8_t RESERVED_8[4];
  29852. __IO uint32_t RXIC[3]; /**< Receive Interrupt Coalescing Register, array offset: 0x100, array step: 0x4 */
  29853. uint8_t RESERVED_9[12];
  29854. __IO uint32_t IAUR; /**< Descriptor Individual Upper Address Register, offset: 0x118 */
  29855. __IO uint32_t IALR; /**< Descriptor Individual Lower Address Register, offset: 0x11C */
  29856. __IO uint32_t GAUR; /**< Descriptor Group Upper Address Register, offset: 0x120 */
  29857. __IO uint32_t GALR; /**< Descriptor Group Lower Address Register, offset: 0x124 */
  29858. uint8_t RESERVED_10[28];
  29859. __IO uint32_t TFWR; /**< Transmit FIFO Watermark Register, offset: 0x144 */
  29860. uint8_t RESERVED_11[24];
  29861. __IO uint32_t RDSR1; /**< Receive Descriptor Ring 1 Start Register, offset: 0x160 */
  29862. __IO uint32_t TDSR1; /**< Transmit Buffer Descriptor Ring 1 Start Register, offset: 0x164 */
  29863. __IO uint32_t MRBR1; /**< Maximum Receive Buffer Size Register - Ring 1, offset: 0x168 */
  29864. __IO uint32_t RDSR2; /**< Receive Descriptor Ring 2 Start Register, offset: 0x16C */
  29865. __IO uint32_t TDSR2; /**< Transmit Buffer Descriptor Ring 2 Start Register, offset: 0x170 */
  29866. __IO uint32_t MRBR2; /**< Maximum Receive Buffer Size Register - Ring 2, offset: 0x174 */
  29867. uint8_t RESERVED_12[8];
  29868. __IO uint32_t RDSR; /**< Receive Descriptor Ring 0 Start Register, offset: 0x180 */
  29869. __IO uint32_t TDSR; /**< Transmit Buffer Descriptor Ring 0 Start Register, offset: 0x184 */
  29870. __IO uint32_t MRBR; /**< Maximum Receive Buffer Size Register - Ring 0, offset: 0x188 */
  29871. uint8_t RESERVED_13[4];
  29872. __IO uint32_t RSFL; /**< Receive FIFO Section Full Threshold, offset: 0x190 */
  29873. __IO uint32_t RSEM; /**< Receive FIFO Section Empty Threshold, offset: 0x194 */
  29874. __IO uint32_t RAEM; /**< Receive FIFO Almost Empty Threshold, offset: 0x198 */
  29875. __IO uint32_t RAFL; /**< Receive FIFO Almost Full Threshold, offset: 0x19C */
  29876. __IO uint32_t TSEM; /**< Transmit FIFO Section Empty Threshold, offset: 0x1A0 */
  29877. __IO uint32_t TAEM; /**< Transmit FIFO Almost Empty Threshold, offset: 0x1A4 */
  29878. __IO uint32_t TAFL; /**< Transmit FIFO Almost Full Threshold, offset: 0x1A8 */
  29879. __IO uint32_t TIPG; /**< Transmit Inter-Packet Gap, offset: 0x1AC */
  29880. __IO uint32_t FTRL; /**< Frame Truncation Length, offset: 0x1B0 */
  29881. uint8_t RESERVED_14[12];
  29882. __IO uint32_t TACC; /**< Transmit Accelerator Function Configuration, offset: 0x1C0 */
  29883. __IO uint32_t RACC; /**< Receive Accelerator Function Configuration, offset: 0x1C4 */
  29884. __IO uint32_t RCMR[2]; /**< Receive Classification Match Register for Class n, array offset: 0x1C8, array step: 0x4 */
  29885. uint8_t RESERVED_15[8];
  29886. __IO uint32_t DMACFG[2]; /**< DMA Class Based Configuration, array offset: 0x1D8, array step: 0x4 */
  29887. __IO uint32_t RDAR1; /**< Receive Descriptor Active Register - Ring 1, offset: 0x1E0 */
  29888. __IO uint32_t TDAR1; /**< Transmit Descriptor Active Register - Ring 1, offset: 0x1E4 */
  29889. __IO uint32_t RDAR2; /**< Receive Descriptor Active Register - Ring 2, offset: 0x1E8 */
  29890. __IO uint32_t TDAR2; /**< Transmit Descriptor Active Register - Ring 2, offset: 0x1EC */
  29891. __IO uint32_t QOS; /**< QOS Scheme, offset: 0x1F0 */
  29892. uint8_t RESERVED_16[16];
  29893. __I uint32_t RMON_T_PACKETS; /**< Tx Packet Count Statistic Register, offset: 0x204 */
  29894. __I uint32_t RMON_T_BC_PKT; /**< Tx Broadcast Packets Statistic Register, offset: 0x208 */
  29895. __I uint32_t RMON_T_MC_PKT; /**< Tx Multicast Packets Statistic Register, offset: 0x20C */
  29896. __I uint32_t RMON_T_CRC_ALIGN; /**< Tx Packets with CRC/Align Error Statistic Register, offset: 0x210 */
  29897. __I uint32_t RMON_T_UNDERSIZE; /**< Tx Packets Less Than Bytes and Good CRC Statistic Register, offset: 0x214 */
  29898. __I uint32_t RMON_T_OVERSIZE; /**< Tx Packets GT MAX_FL bytes and Good CRC Statistic Register, offset: 0x218 */
  29899. __I uint32_t RMON_T_FRAG; /**< Tx Packets Less Than 64 Bytes and Bad CRC Statistic Register, offset: 0x21C */
  29900. __I uint32_t RMON_T_JAB; /**< Tx Packets Greater Than MAX_FL bytes and Bad CRC Statistic Register, offset: 0x220 */
  29901. __I uint32_t RMON_T_COL; /**< Tx Collision Count Statistic Register, offset: 0x224 */
  29902. __I uint32_t RMON_T_P64; /**< Tx 64-Byte Packets Statistic Register, offset: 0x228 */
  29903. __I uint32_t RMON_T_P65TO127; /**< Tx 65- to 127-byte Packets Statistic Register, offset: 0x22C */
  29904. __I uint32_t RMON_T_P128TO255; /**< Tx 128- to 255-byte Packets Statistic Register, offset: 0x230 */
  29905. __I uint32_t RMON_T_P256TO511; /**< Tx 256- to 511-byte Packets Statistic Register, offset: 0x234 */
  29906. __I uint32_t RMON_T_P512TO1023; /**< Tx 512- to 1023-byte Packets Statistic Register, offset: 0x238 */
  29907. __I uint32_t RMON_T_P1024TO2047; /**< Tx 1024- to 2047-byte Packets Statistic Register, offset: 0x23C */
  29908. __I uint32_t RMON_T_P_GTE2048; /**< Tx Packets Greater Than 2048 Bytes Statistic Register, offset: 0x240 */
  29909. __I uint32_t RMON_T_OCTETS; /**< Tx Octets Statistic Register, offset: 0x244 */
  29910. uint32_t IEEE_T_DROP; /**< Reserved Statistic Register, offset: 0x248 */
  29911. __I uint32_t IEEE_T_FRAME_OK; /**< Frames Transmitted OK Statistic Register, offset: 0x24C */
  29912. __I uint32_t IEEE_T_1COL; /**< Frames Transmitted with Single Collision Statistic Register, offset: 0x250 */
  29913. __I uint32_t IEEE_T_MCOL; /**< Frames Transmitted with Multiple Collisions Statistic Register, offset: 0x254 */
  29914. __I uint32_t IEEE_T_DEF; /**< Frames Transmitted after Deferral Delay Statistic Register, offset: 0x258 */
  29915. __I uint32_t IEEE_T_LCOL; /**< Frames Transmitted with Late Collision Statistic Register, offset: 0x25C */
  29916. __I uint32_t IEEE_T_EXCOL; /**< Frames Transmitted with Excessive Collisions Statistic Register, offset: 0x260 */
  29917. __I uint32_t IEEE_T_MACERR; /**< Frames Transmitted with Tx FIFO Underrun Statistic Register, offset: 0x264 */
  29918. __I uint32_t IEEE_T_CSERR; /**< Frames Transmitted with Carrier Sense Error Statistic Register, offset: 0x268 */
  29919. __I uint32_t IEEE_T_SQE; /**< Reserved Statistic Register, offset: 0x26C */
  29920. __I uint32_t IEEE_T_FDXFC; /**< Flow Control Pause Frames Transmitted Statistic Register, offset: 0x270 */
  29921. __I uint32_t IEEE_T_OCTETS_OK; /**< Octet Count for Frames Transmitted w/o Error Statistic Register, offset: 0x274 */
  29922. uint8_t RESERVED_17[12];
  29923. __I uint32_t RMON_R_PACKETS; /**< Rx Packet Count Statistic Register, offset: 0x284 */
  29924. __I uint32_t RMON_R_BC_PKT; /**< Rx Broadcast Packets Statistic Register, offset: 0x288 */
  29925. __I uint32_t RMON_R_MC_PKT; /**< Rx Multicast Packets Statistic Register, offset: 0x28C */
  29926. __I uint32_t RMON_R_CRC_ALIGN; /**< Rx Packets with CRC/Align Error Statistic Register, offset: 0x290 */
  29927. __I uint32_t RMON_R_UNDERSIZE; /**< Rx Packets with Less Than 64 Bytes and Good CRC Statistic Register, offset: 0x294 */
  29928. __I uint32_t RMON_R_OVERSIZE; /**< Rx Packets Greater Than MAX_FL and Good CRC Statistic Register, offset: 0x298 */
  29929. __I uint32_t RMON_R_FRAG; /**< Rx Packets Less Than 64 Bytes and Bad CRC Statistic Register, offset: 0x29C */
  29930. __I uint32_t RMON_R_JAB; /**< Rx Packets Greater Than MAX_FL Bytes and Bad CRC Statistic Register, offset: 0x2A0 */
  29931. uint8_t RESERVED_18[4];
  29932. __I uint32_t RMON_R_P64; /**< Rx 64-Byte Packets Statistic Register, offset: 0x2A8 */
  29933. __I uint32_t RMON_R_P65TO127; /**< Rx 65- to 127-Byte Packets Statistic Register, offset: 0x2AC */
  29934. __I uint32_t RMON_R_P128TO255; /**< Rx 128- to 255-Byte Packets Statistic Register, offset: 0x2B0 */
  29935. __I uint32_t RMON_R_P256TO511; /**< Rx 256- to 511-Byte Packets Statistic Register, offset: 0x2B4 */
  29936. __I uint32_t RMON_R_P512TO1023; /**< Rx 512- to 1023-Byte Packets Statistic Register, offset: 0x2B8 */
  29937. __I uint32_t RMON_R_P1024TO2047; /**< Rx 1024- to 2047-Byte Packets Statistic Register, offset: 0x2BC */
  29938. __I uint32_t RMON_R_P_GTE2048; /**< Rx Packets Greater than 2048 Bytes Statistic Register, offset: 0x2C0 */
  29939. __I uint32_t RMON_R_OCTETS; /**< Rx Octets Statistic Register, offset: 0x2C4 */
  29940. __I uint32_t IEEE_R_DROP; /**< Frames not Counted Correctly Statistic Register, offset: 0x2C8 */
  29941. __I uint32_t IEEE_R_FRAME_OK; /**< Frames Received OK Statistic Register, offset: 0x2CC */
  29942. __I uint32_t IEEE_R_CRC; /**< Frames Received with CRC Error Statistic Register, offset: 0x2D0 */
  29943. __I uint32_t IEEE_R_ALIGN; /**< Frames Received with Alignment Error Statistic Register, offset: 0x2D4 */
  29944. __I uint32_t IEEE_R_MACERR; /**< Receive FIFO Overflow Count Statistic Register, offset: 0x2D8 */
  29945. __I uint32_t IEEE_R_FDXFC; /**< Flow Control Pause Frames Received Statistic Register, offset: 0x2DC */
  29946. __I uint32_t IEEE_R_OCTETS_OK; /**< Octet Count for Frames Received without Error Statistic Register, offset: 0x2E0 */
  29947. uint8_t RESERVED_19[284];
  29948. __IO uint32_t ATCR; /**< Adjustable Timer Control Register, offset: 0x400 */
  29949. __IO uint32_t ATVR; /**< Timer Value Register, offset: 0x404 */
  29950. __IO uint32_t ATOFF; /**< Timer Offset Register, offset: 0x408 */
  29951. __IO uint32_t ATPER; /**< Timer Period Register, offset: 0x40C */
  29952. __IO uint32_t ATCOR; /**< Timer Correction Register, offset: 0x410 */
  29953. __IO uint32_t ATINC; /**< Time-Stamping Clock Period Register, offset: 0x414 */
  29954. __I uint32_t ATSTMP; /**< Timestamp of Last Transmitted Frame, offset: 0x418 */
  29955. uint8_t RESERVED_20[488];
  29956. __IO uint32_t TGSR; /**< Timer Global Status Register, offset: 0x604 */
  29957. struct { /* offset: 0x608, array step: 0x8 */
  29958. __IO uint32_t TCSR; /**< Timer Control Status Register, array offset: 0x608, array step: 0x8 */
  29959. __IO uint32_t TCCR; /**< Timer Compare Capture Register, array offset: 0x60C, array step: 0x8 */
  29960. } CHANNEL[4];
  29961. } ENET_Type;
  29962. /* ----------------------------------------------------------------------------
  29963. -- ENET Register Masks
  29964. ---------------------------------------------------------------------------- */
  29965. /*!
  29966. * @addtogroup ENET_Register_Masks ENET Register Masks
  29967. * @{
  29968. */
  29969. /*! @name EIR - Interrupt Event Register */
  29970. /*! @{ */
  29971. #define ENET_EIR_RXB1_MASK (0x1U)
  29972. #define ENET_EIR_RXB1_SHIFT (0U)
  29973. /*! RXB1 - Receive buffer interrupt, class 1
  29974. */
  29975. #define ENET_EIR_RXB1(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_RXB1_SHIFT)) & ENET_EIR_RXB1_MASK)
  29976. #define ENET_EIR_RXF1_MASK (0x2U)
  29977. #define ENET_EIR_RXF1_SHIFT (1U)
  29978. /*! RXF1 - Receive frame interrupt, class 1
  29979. */
  29980. #define ENET_EIR_RXF1(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_RXF1_SHIFT)) & ENET_EIR_RXF1_MASK)
  29981. #define ENET_EIR_TXB1_MASK (0x4U)
  29982. #define ENET_EIR_TXB1_SHIFT (2U)
  29983. /*! TXB1 - Transmit buffer interrupt, class 1
  29984. */
  29985. #define ENET_EIR_TXB1(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_TXB1_SHIFT)) & ENET_EIR_TXB1_MASK)
  29986. #define ENET_EIR_TXF1_MASK (0x8U)
  29987. #define ENET_EIR_TXF1_SHIFT (3U)
  29988. /*! TXF1 - Transmit frame interrupt, class 1
  29989. */
  29990. #define ENET_EIR_TXF1(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_TXF1_SHIFT)) & ENET_EIR_TXF1_MASK)
  29991. #define ENET_EIR_RXB2_MASK (0x10U)
  29992. #define ENET_EIR_RXB2_SHIFT (4U)
  29993. /*! RXB2 - Receive buffer interrupt, class 2
  29994. */
  29995. #define ENET_EIR_RXB2(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_RXB2_SHIFT)) & ENET_EIR_RXB2_MASK)
  29996. #define ENET_EIR_RXF2_MASK (0x20U)
  29997. #define ENET_EIR_RXF2_SHIFT (5U)
  29998. /*! RXF2 - Receive frame interrupt, class 2
  29999. */
  30000. #define ENET_EIR_RXF2(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_RXF2_SHIFT)) & ENET_EIR_RXF2_MASK)
  30001. #define ENET_EIR_TXB2_MASK (0x40U)
  30002. #define ENET_EIR_TXB2_SHIFT (6U)
  30003. /*! TXB2 - Transmit buffer interrupt, class 2
  30004. */
  30005. #define ENET_EIR_TXB2(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_TXB2_SHIFT)) & ENET_EIR_TXB2_MASK)
  30006. #define ENET_EIR_TXF2_MASK (0x80U)
  30007. #define ENET_EIR_TXF2_SHIFT (7U)
  30008. /*! TXF2 - Transmit frame interrupt, class 2
  30009. */
  30010. #define ENET_EIR_TXF2(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_TXF2_SHIFT)) & ENET_EIR_TXF2_MASK)
  30011. #define ENET_EIR_RXFLUSH_0_MASK (0x1000U)
  30012. #define ENET_EIR_RXFLUSH_0_SHIFT (12U)
  30013. #define ENET_EIR_RXFLUSH_0(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_RXFLUSH_0_SHIFT)) & ENET_EIR_RXFLUSH_0_MASK)
  30014. #define ENET_EIR_RXFLUSH_1_MASK (0x2000U)
  30015. #define ENET_EIR_RXFLUSH_1_SHIFT (13U)
  30016. #define ENET_EIR_RXFLUSH_1(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_RXFLUSH_1_SHIFT)) & ENET_EIR_RXFLUSH_1_MASK)
  30017. #define ENET_EIR_RXFLUSH_2_MASK (0x4000U)
  30018. #define ENET_EIR_RXFLUSH_2_SHIFT (14U)
  30019. #define ENET_EIR_RXFLUSH_2(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_RXFLUSH_2_SHIFT)) & ENET_EIR_RXFLUSH_2_MASK)
  30020. #define ENET_EIR_TS_TIMER_MASK (0x8000U)
  30021. #define ENET_EIR_TS_TIMER_SHIFT (15U)
  30022. /*! TS_TIMER - Timestamp Timer
  30023. */
  30024. #define ENET_EIR_TS_TIMER(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_TS_TIMER_SHIFT)) & ENET_EIR_TS_TIMER_MASK)
  30025. #define ENET_EIR_TS_AVAIL_MASK (0x10000U)
  30026. #define ENET_EIR_TS_AVAIL_SHIFT (16U)
  30027. /*! TS_AVAIL - Transmit Timestamp Available
  30028. */
  30029. #define ENET_EIR_TS_AVAIL(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_TS_AVAIL_SHIFT)) & ENET_EIR_TS_AVAIL_MASK)
  30030. #define ENET_EIR_WAKEUP_MASK (0x20000U)
  30031. #define ENET_EIR_WAKEUP_SHIFT (17U)
  30032. /*! WAKEUP - Node Wakeup Request Indication
  30033. */
  30034. #define ENET_EIR_WAKEUP(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_WAKEUP_SHIFT)) & ENET_EIR_WAKEUP_MASK)
  30035. #define ENET_EIR_PLR_MASK (0x40000U)
  30036. #define ENET_EIR_PLR_SHIFT (18U)
  30037. /*! PLR - Payload Receive Error
  30038. */
  30039. #define ENET_EIR_PLR(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_PLR_SHIFT)) & ENET_EIR_PLR_MASK)
  30040. #define ENET_EIR_UN_MASK (0x80000U)
  30041. #define ENET_EIR_UN_SHIFT (19U)
  30042. /*! UN - Transmit FIFO Underrun
  30043. */
  30044. #define ENET_EIR_UN(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_UN_SHIFT)) & ENET_EIR_UN_MASK)
  30045. #define ENET_EIR_RL_MASK (0x100000U)
  30046. #define ENET_EIR_RL_SHIFT (20U)
  30047. /*! RL - Collision Retry Limit
  30048. */
  30049. #define ENET_EIR_RL(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_RL_SHIFT)) & ENET_EIR_RL_MASK)
  30050. #define ENET_EIR_LC_MASK (0x200000U)
  30051. #define ENET_EIR_LC_SHIFT (21U)
  30052. /*! LC - Late Collision
  30053. */
  30054. #define ENET_EIR_LC(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_LC_SHIFT)) & ENET_EIR_LC_MASK)
  30055. #define ENET_EIR_EBERR_MASK (0x400000U)
  30056. #define ENET_EIR_EBERR_SHIFT (22U)
  30057. /*! EBERR - Ethernet Bus Error
  30058. */
  30059. #define ENET_EIR_EBERR(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_EBERR_SHIFT)) & ENET_EIR_EBERR_MASK)
  30060. #define ENET_EIR_MII_MASK (0x800000U)
  30061. #define ENET_EIR_MII_SHIFT (23U)
  30062. /*! MII - MII Interrupt.
  30063. */
  30064. #define ENET_EIR_MII(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_MII_SHIFT)) & ENET_EIR_MII_MASK)
  30065. #define ENET_EIR_RXB_MASK (0x1000000U)
  30066. #define ENET_EIR_RXB_SHIFT (24U)
  30067. /*! RXB - Receive Buffer Interrupt
  30068. */
  30069. #define ENET_EIR_RXB(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_RXB_SHIFT)) & ENET_EIR_RXB_MASK)
  30070. #define ENET_EIR_RXF_MASK (0x2000000U)
  30071. #define ENET_EIR_RXF_SHIFT (25U)
  30072. /*! RXF - Receive Frame Interrupt
  30073. */
  30074. #define ENET_EIR_RXF(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_RXF_SHIFT)) & ENET_EIR_RXF_MASK)
  30075. #define ENET_EIR_TXB_MASK (0x4000000U)
  30076. #define ENET_EIR_TXB_SHIFT (26U)
  30077. /*! TXB - Transmit Buffer Interrupt
  30078. */
  30079. #define ENET_EIR_TXB(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_TXB_SHIFT)) & ENET_EIR_TXB_MASK)
  30080. #define ENET_EIR_TXF_MASK (0x8000000U)
  30081. #define ENET_EIR_TXF_SHIFT (27U)
  30082. /*! TXF - Transmit Frame Interrupt
  30083. */
  30084. #define ENET_EIR_TXF(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_TXF_SHIFT)) & ENET_EIR_TXF_MASK)
  30085. #define ENET_EIR_GRA_MASK (0x10000000U)
  30086. #define ENET_EIR_GRA_SHIFT (28U)
  30087. /*! GRA - Graceful Stop Complete
  30088. */
  30089. #define ENET_EIR_GRA(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_GRA_SHIFT)) & ENET_EIR_GRA_MASK)
  30090. #define ENET_EIR_BABT_MASK (0x20000000U)
  30091. #define ENET_EIR_BABT_SHIFT (29U)
  30092. /*! BABT - Babbling Transmit Error
  30093. */
  30094. #define ENET_EIR_BABT(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_BABT_SHIFT)) & ENET_EIR_BABT_MASK)
  30095. #define ENET_EIR_BABR_MASK (0x40000000U)
  30096. #define ENET_EIR_BABR_SHIFT (30U)
  30097. /*! BABR - Babbling Receive Error
  30098. */
  30099. #define ENET_EIR_BABR(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_BABR_SHIFT)) & ENET_EIR_BABR_MASK)
  30100. /*! @} */
  30101. /*! @name EIMR - Interrupt Mask Register */
  30102. /*! @{ */
  30103. #define ENET_EIMR_RXB1_MASK (0x1U)
  30104. #define ENET_EIMR_RXB1_SHIFT (0U)
  30105. /*! RXB1 - Receive buffer interrupt, class 1
  30106. * 0b0..The corresponding interrupt source is masked.
  30107. * 0b1..The corresponding interrupt source is not masked.
  30108. */
  30109. #define ENET_EIMR_RXB1(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_RXB1_SHIFT)) & ENET_EIMR_RXB1_MASK)
  30110. #define ENET_EIMR_RXF1_MASK (0x2U)
  30111. #define ENET_EIMR_RXF1_SHIFT (1U)
  30112. /*! RXF1 - Receive frame interrupt, class 1
  30113. * 0b0..The corresponding interrupt source is masked.
  30114. * 0b1..The corresponding interrupt source is not masked.
  30115. */
  30116. #define ENET_EIMR_RXF1(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_RXF1_SHIFT)) & ENET_EIMR_RXF1_MASK)
  30117. #define ENET_EIMR_TXB1_MASK (0x4U)
  30118. #define ENET_EIMR_TXB1_SHIFT (2U)
  30119. /*! TXB1 - Transmit buffer interrupt, class 1
  30120. * 0b0..The corresponding interrupt source is masked.
  30121. * 0b1..The corresponding interrupt source is not masked.
  30122. */
  30123. #define ENET_EIMR_TXB1(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_TXB1_SHIFT)) & ENET_EIMR_TXB1_MASK)
  30124. #define ENET_EIMR_TXF1_MASK (0x8U)
  30125. #define ENET_EIMR_TXF1_SHIFT (3U)
  30126. /*! TXF1 - Transmit frame interrupt, class 1
  30127. * 0b0..The corresponding interrupt source is masked.
  30128. * 0b1..The corresponding interrupt source is not masked.
  30129. */
  30130. #define ENET_EIMR_TXF1(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_TXF1_SHIFT)) & ENET_EIMR_TXF1_MASK)
  30131. #define ENET_EIMR_RXB2_MASK (0x10U)
  30132. #define ENET_EIMR_RXB2_SHIFT (4U)
  30133. /*! RXB2 - Receive buffer interrupt, class 2
  30134. * 0b0..The corresponding interrupt source is masked.
  30135. * 0b1..The corresponding interrupt source is not masked.
  30136. */
  30137. #define ENET_EIMR_RXB2(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_RXB2_SHIFT)) & ENET_EIMR_RXB2_MASK)
  30138. #define ENET_EIMR_RXF2_MASK (0x20U)
  30139. #define ENET_EIMR_RXF2_SHIFT (5U)
  30140. /*! RXF2 - Receive frame interrupt, class 2
  30141. * 0b0..The corresponding interrupt source is masked.
  30142. * 0b1..The corresponding interrupt source is not masked.
  30143. */
  30144. #define ENET_EIMR_RXF2(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_RXF2_SHIFT)) & ENET_EIMR_RXF2_MASK)
  30145. #define ENET_EIMR_TXB2_MASK (0x40U)
  30146. #define ENET_EIMR_TXB2_SHIFT (6U)
  30147. /*! TXB2 - Transmit buffer interrupt, class 2
  30148. * 0b0..The corresponding interrupt source is masked.
  30149. * 0b1..The corresponding interrupt source is not masked.
  30150. */
  30151. #define ENET_EIMR_TXB2(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_TXB2_SHIFT)) & ENET_EIMR_TXB2_MASK)
  30152. #define ENET_EIMR_TXF2_MASK (0x80U)
  30153. #define ENET_EIMR_TXF2_SHIFT (7U)
  30154. /*! TXF2 - Transmit frame interrupt, class 2
  30155. * 0b0..The corresponding interrupt source is masked.
  30156. * 0b1..The corresponding interrupt source is not masked.
  30157. */
  30158. #define ENET_EIMR_TXF2(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_TXF2_SHIFT)) & ENET_EIMR_TXF2_MASK)
  30159. #define ENET_EIMR_RXFLUSH_0_MASK (0x1000U)
  30160. #define ENET_EIMR_RXFLUSH_0_SHIFT (12U)
  30161. /*! RXFLUSH_0
  30162. * 0b0..The corresponding interrupt source is masked.
  30163. * 0b1..The corresponding interrupt source is not masked.
  30164. */
  30165. #define ENET_EIMR_RXFLUSH_0(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_RXFLUSH_0_SHIFT)) & ENET_EIMR_RXFLUSH_0_MASK)
  30166. #define ENET_EIMR_RXFLUSH_1_MASK (0x2000U)
  30167. #define ENET_EIMR_RXFLUSH_1_SHIFT (13U)
  30168. /*! RXFLUSH_1
  30169. * 0b0..The corresponding interrupt source is masked.
  30170. * 0b1..The corresponding interrupt source is not masked.
  30171. */
  30172. #define ENET_EIMR_RXFLUSH_1(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_RXFLUSH_1_SHIFT)) & ENET_EIMR_RXFLUSH_1_MASK)
  30173. #define ENET_EIMR_RXFLUSH_2_MASK (0x4000U)
  30174. #define ENET_EIMR_RXFLUSH_2_SHIFT (14U)
  30175. /*! RXFLUSH_2
  30176. * 0b0..The corresponding interrupt source is masked.
  30177. * 0b1..The corresponding interrupt source is not masked.
  30178. */
  30179. #define ENET_EIMR_RXFLUSH_2(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_RXFLUSH_2_SHIFT)) & ENET_EIMR_RXFLUSH_2_MASK)
  30180. #define ENET_EIMR_TS_TIMER_MASK (0x8000U)
  30181. #define ENET_EIMR_TS_TIMER_SHIFT (15U)
  30182. /*! TS_TIMER - TS_TIMER Interrupt Mask
  30183. * 0b0..The corresponding interrupt source is masked.
  30184. * 0b1..The corresponding interrupt source is not masked.
  30185. */
  30186. #define ENET_EIMR_TS_TIMER(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_TS_TIMER_SHIFT)) & ENET_EIMR_TS_TIMER_MASK)
  30187. #define ENET_EIMR_TS_AVAIL_MASK (0x10000U)
  30188. #define ENET_EIMR_TS_AVAIL_SHIFT (16U)
  30189. /*! TS_AVAIL - TS_AVAIL Interrupt Mask
  30190. * 0b0..The corresponding interrupt source is masked.
  30191. * 0b1..The corresponding interrupt source is not masked.
  30192. */
  30193. #define ENET_EIMR_TS_AVAIL(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_TS_AVAIL_SHIFT)) & ENET_EIMR_TS_AVAIL_MASK)
  30194. #define ENET_EIMR_WAKEUP_MASK (0x20000U)
  30195. #define ENET_EIMR_WAKEUP_SHIFT (17U)
  30196. /*! WAKEUP - WAKEUP Interrupt Mask
  30197. * 0b0..The corresponding interrupt source is masked.
  30198. * 0b1..The corresponding interrupt source is not masked.
  30199. */
  30200. #define ENET_EIMR_WAKEUP(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_WAKEUP_SHIFT)) & ENET_EIMR_WAKEUP_MASK)
  30201. #define ENET_EIMR_PLR_MASK (0x40000U)
  30202. #define ENET_EIMR_PLR_SHIFT (18U)
  30203. /*! PLR - PLR Interrupt Mask
  30204. * 0b0..The corresponding interrupt source is masked.
  30205. * 0b1..The corresponding interrupt source is not masked.
  30206. */
  30207. #define ENET_EIMR_PLR(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_PLR_SHIFT)) & ENET_EIMR_PLR_MASK)
  30208. #define ENET_EIMR_UN_MASK (0x80000U)
  30209. #define ENET_EIMR_UN_SHIFT (19U)
  30210. /*! UN - UN Interrupt Mask
  30211. * 0b0..The corresponding interrupt source is masked.
  30212. * 0b1..The corresponding interrupt source is not masked.
  30213. */
  30214. #define ENET_EIMR_UN(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_UN_SHIFT)) & ENET_EIMR_UN_MASK)
  30215. #define ENET_EIMR_RL_MASK (0x100000U)
  30216. #define ENET_EIMR_RL_SHIFT (20U)
  30217. /*! RL - RL Interrupt Mask
  30218. * 0b0..The corresponding interrupt source is masked.
  30219. * 0b1..The corresponding interrupt source is not masked.
  30220. */
  30221. #define ENET_EIMR_RL(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_RL_SHIFT)) & ENET_EIMR_RL_MASK)
  30222. #define ENET_EIMR_LC_MASK (0x200000U)
  30223. #define ENET_EIMR_LC_SHIFT (21U)
  30224. /*! LC - LC Interrupt Mask
  30225. * 0b0..The corresponding interrupt source is masked.
  30226. * 0b1..The corresponding interrupt source is not masked.
  30227. */
  30228. #define ENET_EIMR_LC(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_LC_SHIFT)) & ENET_EIMR_LC_MASK)
  30229. #define ENET_EIMR_EBERR_MASK (0x400000U)
  30230. #define ENET_EIMR_EBERR_SHIFT (22U)
  30231. /*! EBERR - EBERR Interrupt Mask
  30232. * 0b0..The corresponding interrupt source is masked.
  30233. * 0b1..The corresponding interrupt source is not masked.
  30234. */
  30235. #define ENET_EIMR_EBERR(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_EBERR_SHIFT)) & ENET_EIMR_EBERR_MASK)
  30236. #define ENET_EIMR_MII_MASK (0x800000U)
  30237. #define ENET_EIMR_MII_SHIFT (23U)
  30238. /*! MII - MII Interrupt Mask
  30239. * 0b0..The corresponding interrupt source is masked.
  30240. * 0b1..The corresponding interrupt source is not masked.
  30241. */
  30242. #define ENET_EIMR_MII(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_MII_SHIFT)) & ENET_EIMR_MII_MASK)
  30243. #define ENET_EIMR_RXB_MASK (0x1000000U)
  30244. #define ENET_EIMR_RXB_SHIFT (24U)
  30245. /*! RXB - RXB Interrupt Mask
  30246. * 0b0..The corresponding interrupt source is masked.
  30247. * 0b1..The corresponding interrupt source is not masked.
  30248. */
  30249. #define ENET_EIMR_RXB(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_RXB_SHIFT)) & ENET_EIMR_RXB_MASK)
  30250. #define ENET_EIMR_RXF_MASK (0x2000000U)
  30251. #define ENET_EIMR_RXF_SHIFT (25U)
  30252. /*! RXF - RXF Interrupt Mask
  30253. * 0b0..The corresponding interrupt source is masked.
  30254. * 0b1..The corresponding interrupt source is not masked.
  30255. */
  30256. #define ENET_EIMR_RXF(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_RXF_SHIFT)) & ENET_EIMR_RXF_MASK)
  30257. #define ENET_EIMR_TXB_MASK (0x4000000U)
  30258. #define ENET_EIMR_TXB_SHIFT (26U)
  30259. /*! TXB - TXB Interrupt Mask
  30260. * 0b0..The corresponding interrupt source is masked.
  30261. * 0b1..The corresponding interrupt source is not masked.
  30262. */
  30263. #define ENET_EIMR_TXB(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_TXB_SHIFT)) & ENET_EIMR_TXB_MASK)
  30264. #define ENET_EIMR_TXF_MASK (0x8000000U)
  30265. #define ENET_EIMR_TXF_SHIFT (27U)
  30266. /*! TXF - TXF Interrupt Mask
  30267. * 0b0..The corresponding interrupt source is masked.
  30268. * 0b1..The corresponding interrupt source is not masked.
  30269. */
  30270. #define ENET_EIMR_TXF(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_TXF_SHIFT)) & ENET_EIMR_TXF_MASK)
  30271. #define ENET_EIMR_GRA_MASK (0x10000000U)
  30272. #define ENET_EIMR_GRA_SHIFT (28U)
  30273. /*! GRA - GRA Interrupt Mask
  30274. * 0b0..The corresponding interrupt source is masked.
  30275. * 0b1..The corresponding interrupt source is not masked.
  30276. */
  30277. #define ENET_EIMR_GRA(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_GRA_SHIFT)) & ENET_EIMR_GRA_MASK)
  30278. #define ENET_EIMR_BABT_MASK (0x20000000U)
  30279. #define ENET_EIMR_BABT_SHIFT (29U)
  30280. /*! BABT - BABT Interrupt Mask
  30281. * 0b0..The corresponding interrupt source is masked.
  30282. * 0b1..The corresponding interrupt source is not masked.
  30283. */
  30284. #define ENET_EIMR_BABT(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_BABT_SHIFT)) & ENET_EIMR_BABT_MASK)
  30285. #define ENET_EIMR_BABR_MASK (0x40000000U)
  30286. #define ENET_EIMR_BABR_SHIFT (30U)
  30287. /*! BABR - BABR Interrupt Mask
  30288. * 0b0..The corresponding interrupt source is masked.
  30289. * 0b1..The corresponding interrupt source is not masked.
  30290. */
  30291. #define ENET_EIMR_BABR(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_BABR_SHIFT)) & ENET_EIMR_BABR_MASK)
  30292. /*! @} */
  30293. /*! @name RDAR - Receive Descriptor Active Register - Ring 0 */
  30294. /*! @{ */
  30295. #define ENET_RDAR_RDAR_MASK (0x1000000U)
  30296. #define ENET_RDAR_RDAR_SHIFT (24U)
  30297. /*! RDAR - Receive Descriptor Active
  30298. */
  30299. #define ENET_RDAR_RDAR(x) (((uint32_t)(((uint32_t)(x)) << ENET_RDAR_RDAR_SHIFT)) & ENET_RDAR_RDAR_MASK)
  30300. /*! @} */
  30301. /*! @name TDAR - Transmit Descriptor Active Register - Ring 0 */
  30302. /*! @{ */
  30303. #define ENET_TDAR_TDAR_MASK (0x1000000U)
  30304. #define ENET_TDAR_TDAR_SHIFT (24U)
  30305. /*! TDAR - Transmit Descriptor Active
  30306. */
  30307. #define ENET_TDAR_TDAR(x) (((uint32_t)(((uint32_t)(x)) << ENET_TDAR_TDAR_SHIFT)) & ENET_TDAR_TDAR_MASK)
  30308. /*! @} */
  30309. /*! @name ECR - Ethernet Control Register */
  30310. /*! @{ */
  30311. #define ENET_ECR_RESET_MASK (0x1U)
  30312. #define ENET_ECR_RESET_SHIFT (0U)
  30313. /*! RESET - Ethernet MAC Reset
  30314. */
  30315. #define ENET_ECR_RESET(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_RESET_SHIFT)) & ENET_ECR_RESET_MASK)
  30316. #define ENET_ECR_ETHEREN_MASK (0x2U)
  30317. #define ENET_ECR_ETHEREN_SHIFT (1U)
  30318. /*! ETHEREN - Ethernet Enable
  30319. * 0b0..Reception immediately stops and transmission stops after a bad CRC is appended to any currently transmitted frame.
  30320. * 0b1..MAC is enabled, and reception and transmission are possible.
  30321. */
  30322. #define ENET_ECR_ETHEREN(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_ETHEREN_SHIFT)) & ENET_ECR_ETHEREN_MASK)
  30323. #define ENET_ECR_MAGICEN_MASK (0x4U)
  30324. #define ENET_ECR_MAGICEN_SHIFT (2U)
  30325. /*! MAGICEN - Magic Packet Detection Enable
  30326. * 0b0..Magic detection logic disabled.
  30327. * 0b1..The MAC core detects magic packets and asserts EIR[WAKEUP] when a frame is detected.
  30328. */
  30329. #define ENET_ECR_MAGICEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_MAGICEN_SHIFT)) & ENET_ECR_MAGICEN_MASK)
  30330. #define ENET_ECR_SLEEP_MASK (0x8U)
  30331. #define ENET_ECR_SLEEP_SHIFT (3U)
  30332. /*! SLEEP - Sleep Mode Enable
  30333. * 0b0..Normal operating mode.
  30334. * 0b1..Sleep mode.
  30335. */
  30336. #define ENET_ECR_SLEEP(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_SLEEP_SHIFT)) & ENET_ECR_SLEEP_MASK)
  30337. #define ENET_ECR_EN1588_MASK (0x10U)
  30338. #define ENET_ECR_EN1588_SHIFT (4U)
  30339. /*! EN1588 - EN1588 Enable
  30340. * 0b0..Legacy FEC buffer descriptors and functions enabled.
  30341. * 0b1..Enhanced frame time-stamping functions enabled. Has no effect within the MAC besides controlling the DMA control bit ena_1588.
  30342. */
  30343. #define ENET_ECR_EN1588(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_EN1588_SHIFT)) & ENET_ECR_EN1588_MASK)
  30344. #define ENET_ECR_SPEED_MASK (0x20U)
  30345. #define ENET_ECR_SPEED_SHIFT (5U)
  30346. /*! SPEED
  30347. * 0b0..10/100-Mbit/s mode
  30348. * 0b1..1000-Mbit/s mode
  30349. */
  30350. #define ENET_ECR_SPEED(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_SPEED_SHIFT)) & ENET_ECR_SPEED_MASK)
  30351. #define ENET_ECR_DBGEN_MASK (0x40U)
  30352. #define ENET_ECR_DBGEN_SHIFT (6U)
  30353. /*! DBGEN - Debug Enable
  30354. * 0b0..MAC continues operation in debug mode.
  30355. * 0b1..MAC enters hardware freeze mode when the processor is in debug mode.
  30356. */
  30357. #define ENET_ECR_DBGEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_DBGEN_SHIFT)) & ENET_ECR_DBGEN_MASK)
  30358. #define ENET_ECR_DBSWP_MASK (0x100U)
  30359. #define ENET_ECR_DBSWP_SHIFT (8U)
  30360. /*! DBSWP - Descriptor Byte Swapping Enable
  30361. * 0b0..The buffer descriptor bytes are not swapped to support big-endian devices.
  30362. * 0b1..The buffer descriptor bytes are swapped to support little-endian devices.
  30363. */
  30364. #define ENET_ECR_DBSWP(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_DBSWP_SHIFT)) & ENET_ECR_DBSWP_MASK)
  30365. #define ENET_ECR_SVLANEN_MASK (0x200U)
  30366. #define ENET_ECR_SVLANEN_SHIFT (9U)
  30367. /*! SVLANEN - S-VLAN enable
  30368. * 0b0..Only the EtherType 0x8100 will be considered for VLAN detection.
  30369. * 0b1..The EtherType 0x88a8 will be considered in addition to 0x8100 (C-VLAN) to identify a VLAN frame in
  30370. * receive. When a VLAN frame is identified, the two bytes following the VLAN type are extracted and used by the
  30371. * classification match comparators, RCMRn.
  30372. */
  30373. #define ENET_ECR_SVLANEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_SVLANEN_SHIFT)) & ENET_ECR_SVLANEN_MASK)
  30374. #define ENET_ECR_VLANUSE2ND_MASK (0x400U)
  30375. #define ENET_ECR_VLANUSE2ND_SHIFT (10U)
  30376. /*! VLANUSE2ND - VLAN use second tag
  30377. * 0b0..Always extract data from the first VLAN tag if it exists.
  30378. * 0b1..When a double-tagged frame is detected, the data of the second tag is extracted for further processing. A
  30379. * double-tagged frame is defined as: The first tag can be a C-VLAN or a S-VLAN (if SVLAN_ENA = 1) The
  30380. * second tag must be a C-VLAN
  30381. */
  30382. #define ENET_ECR_VLANUSE2ND(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_VLANUSE2ND_SHIFT)) & ENET_ECR_VLANUSE2ND_MASK)
  30383. #define ENET_ECR_SVLANDBL_MASK (0x800U)
  30384. #define ENET_ECR_SVLANDBL_SHIFT (11U)
  30385. /*! SVLANDBL - S-VLAN double tag
  30386. * 0b0..Disable S-VLAN double tag
  30387. * 0b1..Enable S-VLAN double tag
  30388. */
  30389. #define ENET_ECR_SVLANDBL(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_SVLANDBL_SHIFT)) & ENET_ECR_SVLANDBL_MASK)
  30390. #define ENET_ECR_TXC_DLY_MASK (0x10000U)
  30391. #define ENET_ECR_TXC_DLY_SHIFT (16U)
  30392. /*! TXC_DLY - Transmit clock delay
  30393. * 0b0..RGMII_TXC is not delayed.
  30394. * 0b1..Generate delayed version of RGMII_TXC.
  30395. */
  30396. #define ENET_ECR_TXC_DLY(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_TXC_DLY_SHIFT)) & ENET_ECR_TXC_DLY_MASK)
  30397. /*! @} */
  30398. /*! @name MMFR - MII Management Frame Register */
  30399. /*! @{ */
  30400. #define ENET_MMFR_DATA_MASK (0xFFFFU)
  30401. #define ENET_MMFR_DATA_SHIFT (0U)
  30402. /*! DATA - Management Frame Data
  30403. */
  30404. #define ENET_MMFR_DATA(x) (((uint32_t)(((uint32_t)(x)) << ENET_MMFR_DATA_SHIFT)) & ENET_MMFR_DATA_MASK)
  30405. #define ENET_MMFR_TA_MASK (0x30000U)
  30406. #define ENET_MMFR_TA_SHIFT (16U)
  30407. /*! TA - Turn Around
  30408. */
  30409. #define ENET_MMFR_TA(x) (((uint32_t)(((uint32_t)(x)) << ENET_MMFR_TA_SHIFT)) & ENET_MMFR_TA_MASK)
  30410. #define ENET_MMFR_RA_MASK (0x7C0000U)
  30411. #define ENET_MMFR_RA_SHIFT (18U)
  30412. /*! RA - Register Address
  30413. */
  30414. #define ENET_MMFR_RA(x) (((uint32_t)(((uint32_t)(x)) << ENET_MMFR_RA_SHIFT)) & ENET_MMFR_RA_MASK)
  30415. #define ENET_MMFR_PA_MASK (0xF800000U)
  30416. #define ENET_MMFR_PA_SHIFT (23U)
  30417. /*! PA - PHY Address
  30418. */
  30419. #define ENET_MMFR_PA(x) (((uint32_t)(((uint32_t)(x)) << ENET_MMFR_PA_SHIFT)) & ENET_MMFR_PA_MASK)
  30420. #define ENET_MMFR_OP_MASK (0x30000000U)
  30421. #define ENET_MMFR_OP_SHIFT (28U)
  30422. /*! OP - Operation Code
  30423. */
  30424. #define ENET_MMFR_OP(x) (((uint32_t)(((uint32_t)(x)) << ENET_MMFR_OP_SHIFT)) & ENET_MMFR_OP_MASK)
  30425. #define ENET_MMFR_ST_MASK (0xC0000000U)
  30426. #define ENET_MMFR_ST_SHIFT (30U)
  30427. /*! ST - Start Of Frame Delimiter
  30428. */
  30429. #define ENET_MMFR_ST(x) (((uint32_t)(((uint32_t)(x)) << ENET_MMFR_ST_SHIFT)) & ENET_MMFR_ST_MASK)
  30430. /*! @} */
  30431. /*! @name MSCR - MII Speed Control Register */
  30432. /*! @{ */
  30433. #define ENET_MSCR_MII_SPEED_MASK (0x7EU)
  30434. #define ENET_MSCR_MII_SPEED_SHIFT (1U)
  30435. /*! MII_SPEED - MII Speed
  30436. */
  30437. #define ENET_MSCR_MII_SPEED(x) (((uint32_t)(((uint32_t)(x)) << ENET_MSCR_MII_SPEED_SHIFT)) & ENET_MSCR_MII_SPEED_MASK)
  30438. #define ENET_MSCR_DIS_PRE_MASK (0x80U)
  30439. #define ENET_MSCR_DIS_PRE_SHIFT (7U)
  30440. /*! DIS_PRE - Disable Preamble
  30441. * 0b0..Preamble enabled.
  30442. * 0b1..Preamble (32 ones) is not prepended to the MII management frame.
  30443. */
  30444. #define ENET_MSCR_DIS_PRE(x) (((uint32_t)(((uint32_t)(x)) << ENET_MSCR_DIS_PRE_SHIFT)) & ENET_MSCR_DIS_PRE_MASK)
  30445. #define ENET_MSCR_HOLDTIME_MASK (0x700U)
  30446. #define ENET_MSCR_HOLDTIME_SHIFT (8U)
  30447. /*! HOLDTIME - Hold time On MDIO Output
  30448. * 0b000..1 internal module clock cycle
  30449. * 0b001..2 internal module clock cycles
  30450. * 0b010..3 internal module clock cycles
  30451. * 0b111..8 internal module clock cycles
  30452. */
  30453. #define ENET_MSCR_HOLDTIME(x) (((uint32_t)(((uint32_t)(x)) << ENET_MSCR_HOLDTIME_SHIFT)) & ENET_MSCR_HOLDTIME_MASK)
  30454. /*! @} */
  30455. /*! @name MIBC - MIB Control Register */
  30456. /*! @{ */
  30457. #define ENET_MIBC_MIB_CLEAR_MASK (0x20000000U)
  30458. #define ENET_MIBC_MIB_CLEAR_SHIFT (29U)
  30459. /*! MIB_CLEAR - MIB Clear
  30460. * 0b0..See note above.
  30461. * 0b1..All statistics counters are reset to 0.
  30462. */
  30463. #define ENET_MIBC_MIB_CLEAR(x) (((uint32_t)(((uint32_t)(x)) << ENET_MIBC_MIB_CLEAR_SHIFT)) & ENET_MIBC_MIB_CLEAR_MASK)
  30464. #define ENET_MIBC_MIB_IDLE_MASK (0x40000000U)
  30465. #define ENET_MIBC_MIB_IDLE_SHIFT (30U)
  30466. /*! MIB_IDLE - MIB Idle
  30467. * 0b0..The MIB block is updating MIB counters.
  30468. * 0b1..The MIB block is not currently updating any MIB counters.
  30469. */
  30470. #define ENET_MIBC_MIB_IDLE(x) (((uint32_t)(((uint32_t)(x)) << ENET_MIBC_MIB_IDLE_SHIFT)) & ENET_MIBC_MIB_IDLE_MASK)
  30471. #define ENET_MIBC_MIB_DIS_MASK (0x80000000U)
  30472. #define ENET_MIBC_MIB_DIS_SHIFT (31U)
  30473. /*! MIB_DIS - Disable MIB Logic
  30474. * 0b0..MIB logic is enabled.
  30475. * 0b1..MIB logic is disabled. The MIB logic halts and does not update any MIB counters.
  30476. */
  30477. #define ENET_MIBC_MIB_DIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_MIBC_MIB_DIS_SHIFT)) & ENET_MIBC_MIB_DIS_MASK)
  30478. /*! @} */
  30479. /*! @name RCR - Receive Control Register */
  30480. /*! @{ */
  30481. #define ENET_RCR_LOOP_MASK (0x1U)
  30482. #define ENET_RCR_LOOP_SHIFT (0U)
  30483. /*! LOOP - Internal Loopback
  30484. * 0b0..Loopback disabled.
  30485. * 0b1..Transmitted frames are looped back internal to the device and transmit MII output signals are not asserted. DRT must be cleared.
  30486. */
  30487. #define ENET_RCR_LOOP(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_LOOP_SHIFT)) & ENET_RCR_LOOP_MASK)
  30488. #define ENET_RCR_DRT_MASK (0x2U)
  30489. #define ENET_RCR_DRT_SHIFT (1U)
  30490. /*! DRT - Disable Receive On Transmit
  30491. * 0b0..Receive path operates independently of transmit (i.e., full-duplex mode). Can also be used to monitor transmit activity in half-duplex mode.
  30492. * 0b1..Disable reception of frames while transmitting. (Normally used for half-duplex mode.)
  30493. */
  30494. #define ENET_RCR_DRT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_DRT_SHIFT)) & ENET_RCR_DRT_MASK)
  30495. #define ENET_RCR_MII_MODE_MASK (0x4U)
  30496. #define ENET_RCR_MII_MODE_SHIFT (2U)
  30497. /*! MII_MODE - Media Independent Interface Mode
  30498. * 0b0..Reserved.
  30499. * 0b1..MII or RMII mode, as indicated by the RMII_MODE field.
  30500. */
  30501. #define ENET_RCR_MII_MODE(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_MII_MODE_SHIFT)) & ENET_RCR_MII_MODE_MASK)
  30502. #define ENET_RCR_PROM_MASK (0x8U)
  30503. #define ENET_RCR_PROM_SHIFT (3U)
  30504. /*! PROM - Promiscuous Mode
  30505. * 0b0..Disabled.
  30506. * 0b1..Enabled.
  30507. */
  30508. #define ENET_RCR_PROM(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_PROM_SHIFT)) & ENET_RCR_PROM_MASK)
  30509. #define ENET_RCR_BC_REJ_MASK (0x10U)
  30510. #define ENET_RCR_BC_REJ_SHIFT (4U)
  30511. /*! BC_REJ - Broadcast Frame Reject
  30512. * 0b0..Will not reject frames as described above
  30513. * 0b1..Will reject frames as described above
  30514. */
  30515. #define ENET_RCR_BC_REJ(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_BC_REJ_SHIFT)) & ENET_RCR_BC_REJ_MASK)
  30516. #define ENET_RCR_FCE_MASK (0x20U)
  30517. #define ENET_RCR_FCE_SHIFT (5U)
  30518. /*! FCE - Flow Control Enable
  30519. * 0b0..Disable flow control
  30520. * 0b1..Enable flow control
  30521. */
  30522. #define ENET_RCR_FCE(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_FCE_SHIFT)) & ENET_RCR_FCE_MASK)
  30523. #define ENET_RCR_RGMII_EN_MASK (0x40U)
  30524. #define ENET_RCR_RGMII_EN_SHIFT (6U)
  30525. /*! RGMII_EN - RGMII Mode Enable
  30526. * 0b0..MAC configured for non-RGMII operation
  30527. * 0b1..MAC configured for RGMII operation. If ECR[SPEED] is set, the MAC is in RGMII 1000-Mbit/s mode. If
  30528. * ECR[SPEED] is cleared, the MAC is in RGMII 10/100-Mbit/s mode.
  30529. */
  30530. #define ENET_RCR_RGMII_EN(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_RGMII_EN_SHIFT)) & ENET_RCR_RGMII_EN_MASK)
  30531. #define ENET_RCR_RMII_MODE_MASK (0x100U)
  30532. #define ENET_RCR_RMII_MODE_SHIFT (8U)
  30533. /*! RMII_MODE - RMII Mode Enable
  30534. * 0b0..MAC configured for MII mode.
  30535. * 0b1..MAC configured for RMII operation.
  30536. */
  30537. #define ENET_RCR_RMII_MODE(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_RMII_MODE_SHIFT)) & ENET_RCR_RMII_MODE_MASK)
  30538. #define ENET_RCR_RMII_10T_MASK (0x200U)
  30539. #define ENET_RCR_RMII_10T_SHIFT (9U)
  30540. /*! RMII_10T
  30541. * 0b0..100-Mbit/s or 1-Gbit/s operation.
  30542. * 0b1..10-Mbit/s operation.
  30543. */
  30544. #define ENET_RCR_RMII_10T(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_RMII_10T_SHIFT)) & ENET_RCR_RMII_10T_MASK)
  30545. #define ENET_RCR_PADEN_MASK (0x1000U)
  30546. #define ENET_RCR_PADEN_SHIFT (12U)
  30547. /*! PADEN - Enable Frame Padding Remove On Receive
  30548. * 0b0..No padding is removed on receive by the MAC.
  30549. * 0b1..Padding is removed from received frames.
  30550. */
  30551. #define ENET_RCR_PADEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_PADEN_SHIFT)) & ENET_RCR_PADEN_MASK)
  30552. #define ENET_RCR_PAUFWD_MASK (0x2000U)
  30553. #define ENET_RCR_PAUFWD_SHIFT (13U)
  30554. /*! PAUFWD - Terminate/Forward Pause Frames
  30555. * 0b0..Pause frames are terminated and discarded in the MAC.
  30556. * 0b1..Pause frames are forwarded to the user application.
  30557. */
  30558. #define ENET_RCR_PAUFWD(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_PAUFWD_SHIFT)) & ENET_RCR_PAUFWD_MASK)
  30559. #define ENET_RCR_CRCFWD_MASK (0x4000U)
  30560. #define ENET_RCR_CRCFWD_SHIFT (14U)
  30561. /*! CRCFWD - Terminate/Forward Received CRC
  30562. * 0b0..The CRC field of received frames is transmitted to the user application.
  30563. * 0b1..The CRC field is stripped from the frame.
  30564. */
  30565. #define ENET_RCR_CRCFWD(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_CRCFWD_SHIFT)) & ENET_RCR_CRCFWD_MASK)
  30566. #define ENET_RCR_CFEN_MASK (0x8000U)
  30567. #define ENET_RCR_CFEN_SHIFT (15U)
  30568. /*! CFEN - MAC Control Frame Enable
  30569. * 0b0..MAC control frames with any opcode other than 0x0001 (pause frame) are accepted and forwarded to the client interface.
  30570. * 0b1..MAC control frames with any opcode other than 0x0001 (pause frame) are silently discarded.
  30571. */
  30572. #define ENET_RCR_CFEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_CFEN_SHIFT)) & ENET_RCR_CFEN_MASK)
  30573. #define ENET_RCR_MAX_FL_MASK (0x3FFF0000U)
  30574. #define ENET_RCR_MAX_FL_SHIFT (16U)
  30575. /*! MAX_FL - Maximum Frame Length
  30576. */
  30577. #define ENET_RCR_MAX_FL(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_MAX_FL_SHIFT)) & ENET_RCR_MAX_FL_MASK)
  30578. #define ENET_RCR_NLC_MASK (0x40000000U)
  30579. #define ENET_RCR_NLC_SHIFT (30U)
  30580. /*! NLC - Payload Length Check Disable
  30581. * 0b0..The payload length check is disabled.
  30582. * 0b1..The core checks the frame's payload length with the frame length/type field. Errors are indicated in the EIR[PLR] field.
  30583. */
  30584. #define ENET_RCR_NLC(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_NLC_SHIFT)) & ENET_RCR_NLC_MASK)
  30585. #define ENET_RCR_GRS_MASK (0x80000000U)
  30586. #define ENET_RCR_GRS_SHIFT (31U)
  30587. /*! GRS - Graceful Receive Stopped
  30588. * 0b0..Receive not stopped
  30589. * 0b1..Receive stopped
  30590. */
  30591. #define ENET_RCR_GRS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_GRS_SHIFT)) & ENET_RCR_GRS_MASK)
  30592. /*! @} */
  30593. /*! @name TCR - Transmit Control Register */
  30594. /*! @{ */
  30595. #define ENET_TCR_GTS_MASK (0x1U)
  30596. #define ENET_TCR_GTS_SHIFT (0U)
  30597. /*! GTS - Graceful Transmit Stop
  30598. * 0b0..Disable graceful transmit stop
  30599. * 0b1..Enable graceful transmit stop
  30600. */
  30601. #define ENET_TCR_GTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCR_GTS_SHIFT)) & ENET_TCR_GTS_MASK)
  30602. #define ENET_TCR_FDEN_MASK (0x4U)
  30603. #define ENET_TCR_FDEN_SHIFT (2U)
  30604. /*! FDEN - Full-Duplex Enable
  30605. * 0b0..Disable full-duplex
  30606. * 0b1..Enable full-duplex
  30607. */
  30608. #define ENET_TCR_FDEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCR_FDEN_SHIFT)) & ENET_TCR_FDEN_MASK)
  30609. #define ENET_TCR_TFC_PAUSE_MASK (0x8U)
  30610. #define ENET_TCR_TFC_PAUSE_SHIFT (3U)
  30611. /*! TFC_PAUSE - Transmit Frame Control Pause
  30612. * 0b0..No PAUSE frame transmitted.
  30613. * 0b1..The MAC stops transmission of data frames after the current transmission is complete.
  30614. */
  30615. #define ENET_TCR_TFC_PAUSE(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCR_TFC_PAUSE_SHIFT)) & ENET_TCR_TFC_PAUSE_MASK)
  30616. #define ENET_TCR_RFC_PAUSE_MASK (0x10U)
  30617. #define ENET_TCR_RFC_PAUSE_SHIFT (4U)
  30618. /*! RFC_PAUSE - Receive Frame Control Pause
  30619. */
  30620. #define ENET_TCR_RFC_PAUSE(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCR_RFC_PAUSE_SHIFT)) & ENET_TCR_RFC_PAUSE_MASK)
  30621. #define ENET_TCR_ADDSEL_MASK (0xE0U)
  30622. #define ENET_TCR_ADDSEL_SHIFT (5U)
  30623. /*! ADDSEL - Source MAC Address Select On Transmit
  30624. * 0b000..Node MAC address programmed on PADDR1/2 registers.
  30625. * 0b100..Reserved.
  30626. * 0b101..Reserved.
  30627. * 0b110..Reserved.
  30628. */
  30629. #define ENET_TCR_ADDSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCR_ADDSEL_SHIFT)) & ENET_TCR_ADDSEL_MASK)
  30630. #define ENET_TCR_ADDINS_MASK (0x100U)
  30631. #define ENET_TCR_ADDINS_SHIFT (8U)
  30632. /*! ADDINS - Set MAC Address On Transmit
  30633. * 0b0..The source MAC address is not modified by the MAC.
  30634. * 0b1..The MAC overwrites the source MAC address with the programmed MAC address according to ADDSEL.
  30635. */
  30636. #define ENET_TCR_ADDINS(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCR_ADDINS_SHIFT)) & ENET_TCR_ADDINS_MASK)
  30637. #define ENET_TCR_CRCFWD_MASK (0x200U)
  30638. #define ENET_TCR_CRCFWD_SHIFT (9U)
  30639. /*! CRCFWD - Forward Frame From Application With CRC
  30640. * 0b0..TxBD[TC] controls whether the frame has a CRC from the application.
  30641. * 0b1..The transmitter does not append any CRC to transmitted frames, as it is expecting a frame with CRC from the application.
  30642. */
  30643. #define ENET_TCR_CRCFWD(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCR_CRCFWD_SHIFT)) & ENET_TCR_CRCFWD_MASK)
  30644. /*! @} */
  30645. /*! @name PALR - Physical Address Lower Register */
  30646. /*! @{ */
  30647. #define ENET_PALR_PADDR1_MASK (0xFFFFFFFFU)
  30648. #define ENET_PALR_PADDR1_SHIFT (0U)
  30649. /*! PADDR1 - Pause Address
  30650. */
  30651. #define ENET_PALR_PADDR1(x) (((uint32_t)(((uint32_t)(x)) << ENET_PALR_PADDR1_SHIFT)) & ENET_PALR_PADDR1_MASK)
  30652. /*! @} */
  30653. /*! @name PAUR - Physical Address Upper Register */
  30654. /*! @{ */
  30655. #define ENET_PAUR_TYPE_MASK (0xFFFFU)
  30656. #define ENET_PAUR_TYPE_SHIFT (0U)
  30657. /*! TYPE - Type Field In PAUSE Frames
  30658. */
  30659. #define ENET_PAUR_TYPE(x) (((uint32_t)(((uint32_t)(x)) << ENET_PAUR_TYPE_SHIFT)) & ENET_PAUR_TYPE_MASK)
  30660. #define ENET_PAUR_PADDR2_MASK (0xFFFF0000U)
  30661. #define ENET_PAUR_PADDR2_SHIFT (16U)
  30662. #define ENET_PAUR_PADDR2(x) (((uint32_t)(((uint32_t)(x)) << ENET_PAUR_PADDR2_SHIFT)) & ENET_PAUR_PADDR2_MASK)
  30663. /*! @} */
  30664. /*! @name OPD - Opcode/Pause Duration Register */
  30665. /*! @{ */
  30666. #define ENET_OPD_PAUSE_DUR_MASK (0xFFFFU)
  30667. #define ENET_OPD_PAUSE_DUR_SHIFT (0U)
  30668. /*! PAUSE_DUR - Pause Duration
  30669. */
  30670. #define ENET_OPD_PAUSE_DUR(x) (((uint32_t)(((uint32_t)(x)) << ENET_OPD_PAUSE_DUR_SHIFT)) & ENET_OPD_PAUSE_DUR_MASK)
  30671. #define ENET_OPD_OPCODE_MASK (0xFFFF0000U)
  30672. #define ENET_OPD_OPCODE_SHIFT (16U)
  30673. /*! OPCODE - Opcode Field In PAUSE Frames
  30674. */
  30675. #define ENET_OPD_OPCODE(x) (((uint32_t)(((uint32_t)(x)) << ENET_OPD_OPCODE_SHIFT)) & ENET_OPD_OPCODE_MASK)
  30676. /*! @} */
  30677. /*! @name TXIC - Transmit Interrupt Coalescing Register */
  30678. /*! @{ */
  30679. #define ENET_TXIC_ICTT_MASK (0xFFFFU)
  30680. #define ENET_TXIC_ICTT_SHIFT (0U)
  30681. /*! ICTT - Interrupt coalescing timer threshold
  30682. */
  30683. #define ENET_TXIC_ICTT(x) (((uint32_t)(((uint32_t)(x)) << ENET_TXIC_ICTT_SHIFT)) & ENET_TXIC_ICTT_MASK)
  30684. #define ENET_TXIC_ICFT_MASK (0xFF00000U)
  30685. #define ENET_TXIC_ICFT_SHIFT (20U)
  30686. /*! ICFT - Interrupt coalescing frame count threshold
  30687. */
  30688. #define ENET_TXIC_ICFT(x) (((uint32_t)(((uint32_t)(x)) << ENET_TXIC_ICFT_SHIFT)) & ENET_TXIC_ICFT_MASK)
  30689. #define ENET_TXIC_ICCS_MASK (0x40000000U)
  30690. #define ENET_TXIC_ICCS_SHIFT (30U)
  30691. /*! ICCS - Interrupt Coalescing Timer Clock Source Select
  30692. * 0b0..Use MII/GMII TX clocks.
  30693. * 0b1..Use ENET system clock.
  30694. */
  30695. #define ENET_TXIC_ICCS(x) (((uint32_t)(((uint32_t)(x)) << ENET_TXIC_ICCS_SHIFT)) & ENET_TXIC_ICCS_MASK)
  30696. #define ENET_TXIC_ICEN_MASK (0x80000000U)
  30697. #define ENET_TXIC_ICEN_SHIFT (31U)
  30698. /*! ICEN - Interrupt Coalescing Enable
  30699. * 0b0..Disable Interrupt coalescing.
  30700. * 0b1..Enable Interrupt coalescing.
  30701. */
  30702. #define ENET_TXIC_ICEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_TXIC_ICEN_SHIFT)) & ENET_TXIC_ICEN_MASK)
  30703. /*! @} */
  30704. /* The count of ENET_TXIC */
  30705. #define ENET_TXIC_COUNT (3U)
  30706. /*! @name RXIC - Receive Interrupt Coalescing Register */
  30707. /*! @{ */
  30708. #define ENET_RXIC_ICTT_MASK (0xFFFFU)
  30709. #define ENET_RXIC_ICTT_SHIFT (0U)
  30710. /*! ICTT - Interrupt coalescing timer threshold
  30711. */
  30712. #define ENET_RXIC_ICTT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RXIC_ICTT_SHIFT)) & ENET_RXIC_ICTT_MASK)
  30713. #define ENET_RXIC_ICFT_MASK (0xFF00000U)
  30714. #define ENET_RXIC_ICFT_SHIFT (20U)
  30715. /*! ICFT - Interrupt coalescing frame count threshold
  30716. */
  30717. #define ENET_RXIC_ICFT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RXIC_ICFT_SHIFT)) & ENET_RXIC_ICFT_MASK)
  30718. #define ENET_RXIC_ICCS_MASK (0x40000000U)
  30719. #define ENET_RXIC_ICCS_SHIFT (30U)
  30720. /*! ICCS - Interrupt Coalescing Timer Clock Source Select
  30721. * 0b0..Use MII/GMII TX clocks.
  30722. * 0b1..Use ENET system clock.
  30723. */
  30724. #define ENET_RXIC_ICCS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RXIC_ICCS_SHIFT)) & ENET_RXIC_ICCS_MASK)
  30725. #define ENET_RXIC_ICEN_MASK (0x80000000U)
  30726. #define ENET_RXIC_ICEN_SHIFT (31U)
  30727. /*! ICEN - Interrupt Coalescing Enable
  30728. * 0b0..Disable Interrupt coalescing.
  30729. * 0b1..Enable Interrupt coalescing.
  30730. */
  30731. #define ENET_RXIC_ICEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_RXIC_ICEN_SHIFT)) & ENET_RXIC_ICEN_MASK)
  30732. /*! @} */
  30733. /* The count of ENET_RXIC */
  30734. #define ENET_RXIC_COUNT (3U)
  30735. /*! @name IAUR - Descriptor Individual Upper Address Register */
  30736. /*! @{ */
  30737. #define ENET_IAUR_IADDR1_MASK (0xFFFFFFFFU)
  30738. #define ENET_IAUR_IADDR1_SHIFT (0U)
  30739. #define ENET_IAUR_IADDR1(x) (((uint32_t)(((uint32_t)(x)) << ENET_IAUR_IADDR1_SHIFT)) & ENET_IAUR_IADDR1_MASK)
  30740. /*! @} */
  30741. /*! @name IALR - Descriptor Individual Lower Address Register */
  30742. /*! @{ */
  30743. #define ENET_IALR_IADDR2_MASK (0xFFFFFFFFU)
  30744. #define ENET_IALR_IADDR2_SHIFT (0U)
  30745. #define ENET_IALR_IADDR2(x) (((uint32_t)(((uint32_t)(x)) << ENET_IALR_IADDR2_SHIFT)) & ENET_IALR_IADDR2_MASK)
  30746. /*! @} */
  30747. /*! @name GAUR - Descriptor Group Upper Address Register */
  30748. /*! @{ */
  30749. #define ENET_GAUR_GADDR1_MASK (0xFFFFFFFFU)
  30750. #define ENET_GAUR_GADDR1_SHIFT (0U)
  30751. #define ENET_GAUR_GADDR1(x) (((uint32_t)(((uint32_t)(x)) << ENET_GAUR_GADDR1_SHIFT)) & ENET_GAUR_GADDR1_MASK)
  30752. /*! @} */
  30753. /*! @name GALR - Descriptor Group Lower Address Register */
  30754. /*! @{ */
  30755. #define ENET_GALR_GADDR2_MASK (0xFFFFFFFFU)
  30756. #define ENET_GALR_GADDR2_SHIFT (0U)
  30757. #define ENET_GALR_GADDR2(x) (((uint32_t)(((uint32_t)(x)) << ENET_GALR_GADDR2_SHIFT)) & ENET_GALR_GADDR2_MASK)
  30758. /*! @} */
  30759. /*! @name TFWR - Transmit FIFO Watermark Register */
  30760. /*! @{ */
  30761. #define ENET_TFWR_TFWR_MASK (0x3FU)
  30762. #define ENET_TFWR_TFWR_SHIFT (0U)
  30763. /*! TFWR - Transmit FIFO Write
  30764. * 0b000000..64 bytes written.
  30765. * 0b000001..64 bytes written.
  30766. * 0b000010..128 bytes written.
  30767. * 0b000011..192 bytes written.
  30768. * 0b111111..4032 bytes written.
  30769. */
  30770. #define ENET_TFWR_TFWR(x) (((uint32_t)(((uint32_t)(x)) << ENET_TFWR_TFWR_SHIFT)) & ENET_TFWR_TFWR_MASK)
  30771. #define ENET_TFWR_STRFWD_MASK (0x100U)
  30772. #define ENET_TFWR_STRFWD_SHIFT (8U)
  30773. /*! STRFWD - Store And Forward Enable
  30774. * 0b0..Reset. The transmission start threshold is programmed in TFWR[TFWR].
  30775. * 0b1..Enabled.
  30776. */
  30777. #define ENET_TFWR_STRFWD(x) (((uint32_t)(((uint32_t)(x)) << ENET_TFWR_STRFWD_SHIFT)) & ENET_TFWR_STRFWD_MASK)
  30778. /*! @} */
  30779. /*! @name RDSR1 - Receive Descriptor Ring 1 Start Register */
  30780. /*! @{ */
  30781. #define ENET_RDSR1_R_DES_START_MASK (0xFFFFFFF8U)
  30782. #define ENET_RDSR1_R_DES_START_SHIFT (3U)
  30783. #define ENET_RDSR1_R_DES_START(x) (((uint32_t)(((uint32_t)(x)) << ENET_RDSR1_R_DES_START_SHIFT)) & ENET_RDSR1_R_DES_START_MASK)
  30784. /*! @} */
  30785. /*! @name TDSR1 - Transmit Buffer Descriptor Ring 1 Start Register */
  30786. /*! @{ */
  30787. #define ENET_TDSR1_X_DES_START_MASK (0xFFFFFFF8U)
  30788. #define ENET_TDSR1_X_DES_START_SHIFT (3U)
  30789. #define ENET_TDSR1_X_DES_START(x) (((uint32_t)(((uint32_t)(x)) << ENET_TDSR1_X_DES_START_SHIFT)) & ENET_TDSR1_X_DES_START_MASK)
  30790. /*! @} */
  30791. /*! @name MRBR1 - Maximum Receive Buffer Size Register - Ring 1 */
  30792. /*! @{ */
  30793. #define ENET_MRBR1_R_BUF_SIZE_MASK (0x7F0U)
  30794. #define ENET_MRBR1_R_BUF_SIZE_SHIFT (4U)
  30795. #define ENET_MRBR1_R_BUF_SIZE(x) (((uint32_t)(((uint32_t)(x)) << ENET_MRBR1_R_BUF_SIZE_SHIFT)) & ENET_MRBR1_R_BUF_SIZE_MASK)
  30796. /*! @} */
  30797. /*! @name RDSR2 - Receive Descriptor Ring 2 Start Register */
  30798. /*! @{ */
  30799. #define ENET_RDSR2_R_DES_START_MASK (0xFFFFFFF8U)
  30800. #define ENET_RDSR2_R_DES_START_SHIFT (3U)
  30801. #define ENET_RDSR2_R_DES_START(x) (((uint32_t)(((uint32_t)(x)) << ENET_RDSR2_R_DES_START_SHIFT)) & ENET_RDSR2_R_DES_START_MASK)
  30802. /*! @} */
  30803. /*! @name TDSR2 - Transmit Buffer Descriptor Ring 2 Start Register */
  30804. /*! @{ */
  30805. #define ENET_TDSR2_X_DES_START_MASK (0xFFFFFFF8U)
  30806. #define ENET_TDSR2_X_DES_START_SHIFT (3U)
  30807. #define ENET_TDSR2_X_DES_START(x) (((uint32_t)(((uint32_t)(x)) << ENET_TDSR2_X_DES_START_SHIFT)) & ENET_TDSR2_X_DES_START_MASK)
  30808. /*! @} */
  30809. /*! @name MRBR2 - Maximum Receive Buffer Size Register - Ring 2 */
  30810. /*! @{ */
  30811. #define ENET_MRBR2_R_BUF_SIZE_MASK (0x7F0U)
  30812. #define ENET_MRBR2_R_BUF_SIZE_SHIFT (4U)
  30813. #define ENET_MRBR2_R_BUF_SIZE(x) (((uint32_t)(((uint32_t)(x)) << ENET_MRBR2_R_BUF_SIZE_SHIFT)) & ENET_MRBR2_R_BUF_SIZE_MASK)
  30814. /*! @} */
  30815. /*! @name RDSR - Receive Descriptor Ring 0 Start Register */
  30816. /*! @{ */
  30817. #define ENET_RDSR_R_DES_START_MASK (0xFFFFFFF8U)
  30818. #define ENET_RDSR_R_DES_START_SHIFT (3U)
  30819. #define ENET_RDSR_R_DES_START(x) (((uint32_t)(((uint32_t)(x)) << ENET_RDSR_R_DES_START_SHIFT)) & ENET_RDSR_R_DES_START_MASK)
  30820. /*! @} */
  30821. /*! @name TDSR - Transmit Buffer Descriptor Ring 0 Start Register */
  30822. /*! @{ */
  30823. #define ENET_TDSR_X_DES_START_MASK (0xFFFFFFF8U)
  30824. #define ENET_TDSR_X_DES_START_SHIFT (3U)
  30825. #define ENET_TDSR_X_DES_START(x) (((uint32_t)(((uint32_t)(x)) << ENET_TDSR_X_DES_START_SHIFT)) & ENET_TDSR_X_DES_START_MASK)
  30826. /*! @} */
  30827. /*! @name MRBR - Maximum Receive Buffer Size Register - Ring 0 */
  30828. /*! @{ */
  30829. #define ENET_MRBR_R_BUF_SIZE_MASK (0x3FF0U) /* Merged from fields with different position or width, of widths (7, 10), largest definition used */
  30830. #define ENET_MRBR_R_BUF_SIZE_SHIFT (4U)
  30831. #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 */
  30832. /*! @} */
  30833. /*! @name RSFL - Receive FIFO Section Full Threshold */
  30834. /*! @{ */
  30835. #define ENET_RSFL_RX_SECTION_FULL_MASK (0x3FFU) /* Merged from fields with different position or width, of widths (8, 10), largest definition used */
  30836. #define ENET_RSFL_RX_SECTION_FULL_SHIFT (0U)
  30837. /*! RX_SECTION_FULL - Value Of Receive FIFO Section Full Threshold
  30838. */
  30839. #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 */
  30840. /*! @} */
  30841. /*! @name RSEM - Receive FIFO Section Empty Threshold */
  30842. /*! @{ */
  30843. #define ENET_RSEM_RX_SECTION_EMPTY_MASK (0x3FFU) /* Merged from fields with different position or width, of widths (8, 10), largest definition used */
  30844. #define ENET_RSEM_RX_SECTION_EMPTY_SHIFT (0U)
  30845. /*! RX_SECTION_EMPTY - Value Of The Receive FIFO Section Empty Threshold
  30846. */
  30847. #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 */
  30848. #define ENET_RSEM_STAT_SECTION_EMPTY_MASK (0x1F0000U)
  30849. #define ENET_RSEM_STAT_SECTION_EMPTY_SHIFT (16U)
  30850. /*! STAT_SECTION_EMPTY - RX Status FIFO Section Empty Threshold
  30851. */
  30852. #define ENET_RSEM_STAT_SECTION_EMPTY(x) (((uint32_t)(((uint32_t)(x)) << ENET_RSEM_STAT_SECTION_EMPTY_SHIFT)) & ENET_RSEM_STAT_SECTION_EMPTY_MASK)
  30853. /*! @} */
  30854. /*! @name RAEM - Receive FIFO Almost Empty Threshold */
  30855. /*! @{ */
  30856. #define ENET_RAEM_RX_ALMOST_EMPTY_MASK (0x3FFU) /* Merged from fields with different position or width, of widths (8, 10), largest definition used */
  30857. #define ENET_RAEM_RX_ALMOST_EMPTY_SHIFT (0U)
  30858. /*! RX_ALMOST_EMPTY - Value Of The Receive FIFO Almost Empty Threshold
  30859. */
  30860. #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 */
  30861. /*! @} */
  30862. /*! @name RAFL - Receive FIFO Almost Full Threshold */
  30863. /*! @{ */
  30864. #define ENET_RAFL_RX_ALMOST_FULL_MASK (0x3FFU) /* Merged from fields with different position or width, of widths (8, 10), largest definition used */
  30865. #define ENET_RAFL_RX_ALMOST_FULL_SHIFT (0U)
  30866. /*! RX_ALMOST_FULL - Value Of The Receive FIFO Almost Full Threshold
  30867. */
  30868. #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 */
  30869. /*! @} */
  30870. /*! @name TSEM - Transmit FIFO Section Empty Threshold */
  30871. /*! @{ */
  30872. #define ENET_TSEM_TX_SECTION_EMPTY_MASK (0x3FFU) /* Merged from fields with different position or width, of widths (8, 10), largest definition used */
  30873. #define ENET_TSEM_TX_SECTION_EMPTY_SHIFT (0U)
  30874. /*! TX_SECTION_EMPTY - Value Of The Transmit FIFO Section Empty Threshold
  30875. */
  30876. #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 */
  30877. /*! @} */
  30878. /*! @name TAEM - Transmit FIFO Almost Empty Threshold */
  30879. /*! @{ */
  30880. #define ENET_TAEM_TX_ALMOST_EMPTY_MASK (0x3FFU) /* Merged from fields with different position or width, of widths (8, 10), largest definition used */
  30881. #define ENET_TAEM_TX_ALMOST_EMPTY_SHIFT (0U)
  30882. /*! TX_ALMOST_EMPTY - Value of Transmit FIFO Almost Empty Threshold
  30883. */
  30884. #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 */
  30885. /*! @} */
  30886. /*! @name TAFL - Transmit FIFO Almost Full Threshold */
  30887. /*! @{ */
  30888. #define ENET_TAFL_TX_ALMOST_FULL_MASK (0x3FFU) /* Merged from fields with different position or width, of widths (8, 10), largest definition used */
  30889. #define ENET_TAFL_TX_ALMOST_FULL_SHIFT (0U)
  30890. /*! TX_ALMOST_FULL - Value Of The Transmit FIFO Almost Full Threshold
  30891. */
  30892. #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 */
  30893. /*! @} */
  30894. /*! @name TIPG - Transmit Inter-Packet Gap */
  30895. /*! @{ */
  30896. #define ENET_TIPG_IPG_MASK (0x1FU)
  30897. #define ENET_TIPG_IPG_SHIFT (0U)
  30898. /*! IPG - Transmit Inter-Packet Gap
  30899. */
  30900. #define ENET_TIPG_IPG(x) (((uint32_t)(((uint32_t)(x)) << ENET_TIPG_IPG_SHIFT)) & ENET_TIPG_IPG_MASK)
  30901. /*! @} */
  30902. /*! @name FTRL - Frame Truncation Length */
  30903. /*! @{ */
  30904. #define ENET_FTRL_TRUNC_FL_MASK (0x3FFFU)
  30905. #define ENET_FTRL_TRUNC_FL_SHIFT (0U)
  30906. /*! TRUNC_FL - Frame Truncation Length
  30907. */
  30908. #define ENET_FTRL_TRUNC_FL(x) (((uint32_t)(((uint32_t)(x)) << ENET_FTRL_TRUNC_FL_SHIFT)) & ENET_FTRL_TRUNC_FL_MASK)
  30909. /*! @} */
  30910. /*! @name TACC - Transmit Accelerator Function Configuration */
  30911. /*! @{ */
  30912. #define ENET_TACC_SHIFT16_MASK (0x1U)
  30913. #define ENET_TACC_SHIFT16_SHIFT (0U)
  30914. /*! SHIFT16 - TX FIFO Shift-16
  30915. * 0b0..Disabled.
  30916. * 0b1..Indicates to the transmit data FIFO that the written frames contain two additional octets before the
  30917. * frame data. This means the actual frame begins at bit 16 of the first word written into the FIFO. This
  30918. * function allows putting the frame payload on a 32-bit boundary in memory, as the 14-byte Ethernet header is
  30919. * extended to a 16-byte header.
  30920. */
  30921. #define ENET_TACC_SHIFT16(x) (((uint32_t)(((uint32_t)(x)) << ENET_TACC_SHIFT16_SHIFT)) & ENET_TACC_SHIFT16_MASK)
  30922. #define ENET_TACC_IPCHK_MASK (0x8U)
  30923. #define ENET_TACC_IPCHK_SHIFT (3U)
  30924. /*! IPCHK
  30925. * 0b0..Checksum is not inserted.
  30926. * 0b1..If an IP frame is transmitted, the checksum is inserted automatically. The IP header checksum field must
  30927. * be cleared. If a non-IP frame is transmitted the frame is not modified.
  30928. */
  30929. #define ENET_TACC_IPCHK(x) (((uint32_t)(((uint32_t)(x)) << ENET_TACC_IPCHK_SHIFT)) & ENET_TACC_IPCHK_MASK)
  30930. #define ENET_TACC_PROCHK_MASK (0x10U)
  30931. #define ENET_TACC_PROCHK_SHIFT (4U)
  30932. /*! PROCHK
  30933. * 0b0..Checksum not inserted.
  30934. * 0b1..If an IP frame with a known protocol is transmitted, the checksum is inserted automatically into the
  30935. * frame. The checksum field must be cleared. The other frames are not modified.
  30936. */
  30937. #define ENET_TACC_PROCHK(x) (((uint32_t)(((uint32_t)(x)) << ENET_TACC_PROCHK_SHIFT)) & ENET_TACC_PROCHK_MASK)
  30938. /*! @} */
  30939. /*! @name RACC - Receive Accelerator Function Configuration */
  30940. /*! @{ */
  30941. #define ENET_RACC_PADREM_MASK (0x1U)
  30942. #define ENET_RACC_PADREM_SHIFT (0U)
  30943. /*! PADREM - Enable Padding Removal For Short IP Frames
  30944. * 0b0..Padding not removed.
  30945. * 0b1..Any bytes following the IP payload section of the frame are removed from the frame.
  30946. */
  30947. #define ENET_RACC_PADREM(x) (((uint32_t)(((uint32_t)(x)) << ENET_RACC_PADREM_SHIFT)) & ENET_RACC_PADREM_MASK)
  30948. #define ENET_RACC_IPDIS_MASK (0x2U)
  30949. #define ENET_RACC_IPDIS_SHIFT (1U)
  30950. /*! IPDIS - Enable Discard Of Frames With Wrong IPv4 Header Checksum
  30951. * 0b0..Frames with wrong IPv4 header checksum are not discarded.
  30952. * 0b1..If an IPv4 frame is received with a mismatching header checksum, the frame is discarded. IPv6 has no
  30953. * header checksum and is not affected by this setting. Discarding is only available when the RX FIFO operates in
  30954. * store and forward mode (RSFL cleared).
  30955. */
  30956. #define ENET_RACC_IPDIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RACC_IPDIS_SHIFT)) & ENET_RACC_IPDIS_MASK)
  30957. #define ENET_RACC_PRODIS_MASK (0x4U)
  30958. #define ENET_RACC_PRODIS_SHIFT (2U)
  30959. /*! PRODIS - Enable Discard Of Frames With Wrong Protocol Checksum
  30960. * 0b0..Frames with wrong checksum are not discarded.
  30961. * 0b1..If a TCP/IP, UDP/IP, or ICMP/IP frame is received that has a wrong TCP, UDP, or ICMP checksum, the frame
  30962. * is discarded. Discarding is only available when the RX FIFO operates in store and forward mode (RSFL
  30963. * cleared).
  30964. */
  30965. #define ENET_RACC_PRODIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RACC_PRODIS_SHIFT)) & ENET_RACC_PRODIS_MASK)
  30966. #define ENET_RACC_LINEDIS_MASK (0x40U)
  30967. #define ENET_RACC_LINEDIS_SHIFT (6U)
  30968. /*! LINEDIS - Enable Discard Of Frames With MAC Layer Errors
  30969. * 0b0..Frames with errors are not discarded.
  30970. * 0b1..Any frame received with a CRC, length, or PHY error is automatically discarded and not forwarded to the user application interface.
  30971. */
  30972. #define ENET_RACC_LINEDIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RACC_LINEDIS_SHIFT)) & ENET_RACC_LINEDIS_MASK)
  30973. #define ENET_RACC_SHIFT16_MASK (0x80U)
  30974. #define ENET_RACC_SHIFT16_SHIFT (7U)
  30975. /*! SHIFT16 - RX FIFO Shift-16
  30976. * 0b0..Disabled.
  30977. * 0b1..Instructs the MAC to write two additional bytes in front of each frame received into the RX FIFO.
  30978. */
  30979. #define ENET_RACC_SHIFT16(x) (((uint32_t)(((uint32_t)(x)) << ENET_RACC_SHIFT16_SHIFT)) & ENET_RACC_SHIFT16_MASK)
  30980. /*! @} */
  30981. /*! @name RCMR - Receive Classification Match Register for Class n */
  30982. /*! @{ */
  30983. #define ENET_RCMR_CMP0_MASK (0x7U)
  30984. #define ENET_RCMR_CMP0_SHIFT (0U)
  30985. /*! CMP0 - Compare 0
  30986. */
  30987. #define ENET_RCMR_CMP0(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCMR_CMP0_SHIFT)) & ENET_RCMR_CMP0_MASK)
  30988. #define ENET_RCMR_CMP1_MASK (0x70U)
  30989. #define ENET_RCMR_CMP1_SHIFT (4U)
  30990. /*! CMP1 - Compare 1
  30991. */
  30992. #define ENET_RCMR_CMP1(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCMR_CMP1_SHIFT)) & ENET_RCMR_CMP1_MASK)
  30993. #define ENET_RCMR_CMP2_MASK (0x700U)
  30994. #define ENET_RCMR_CMP2_SHIFT (8U)
  30995. /*! CMP2 - Compare 2
  30996. */
  30997. #define ENET_RCMR_CMP2(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCMR_CMP2_SHIFT)) & ENET_RCMR_CMP2_MASK)
  30998. #define ENET_RCMR_CMP3_MASK (0x7000U)
  30999. #define ENET_RCMR_CMP3_SHIFT (12U)
  31000. /*! CMP3 - Compare 3
  31001. */
  31002. #define ENET_RCMR_CMP3(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCMR_CMP3_SHIFT)) & ENET_RCMR_CMP3_MASK)
  31003. #define ENET_RCMR_MATCHEN_MASK (0x10000U)
  31004. #define ENET_RCMR_MATCHEN_SHIFT (16U)
  31005. /*! MATCHEN - Match Enable
  31006. * 0b0..Disabled (default): no compares will occur and the classification indicator for this class will never assert.
  31007. * 0b1..The register contents are valid and a comparison with all compare values is done when a VLAN frame is received.
  31008. */
  31009. #define ENET_RCMR_MATCHEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCMR_MATCHEN_SHIFT)) & ENET_RCMR_MATCHEN_MASK)
  31010. /*! @} */
  31011. /* The count of ENET_RCMR */
  31012. #define ENET_RCMR_COUNT (2U)
  31013. /*! @name DMACFG - DMA Class Based Configuration */
  31014. /*! @{ */
  31015. #define ENET_DMACFG_IDLE_SLOPE_MASK (0xFFFFU)
  31016. #define ENET_DMACFG_IDLE_SLOPE_SHIFT (0U)
  31017. /*! IDLE_SLOPE - Idle slope
  31018. */
  31019. #define ENET_DMACFG_IDLE_SLOPE(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMACFG_IDLE_SLOPE_SHIFT)) & ENET_DMACFG_IDLE_SLOPE_MASK)
  31020. #define ENET_DMACFG_DMA_CLASS_EN_MASK (0x10000U)
  31021. #define ENET_DMACFG_DMA_CLASS_EN_SHIFT (16U)
  31022. /*! DMA_CLASS_EN - DMA class enable
  31023. * 0b0..The DMA controller's channel for the class is not used. Disabling the DMA controller of a class also
  31024. * requires disabling the class match comparator for the class (see registers RCMRn). When class 1 and class 2
  31025. * queues are disabled then their frames will be placed in queue 0.
  31026. * 0b1..Enable the DMA controller to support the corresponding descriptor ring for this class of traffic.
  31027. */
  31028. #define ENET_DMACFG_DMA_CLASS_EN(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMACFG_DMA_CLASS_EN_SHIFT)) & ENET_DMACFG_DMA_CLASS_EN_MASK)
  31029. #define ENET_DMACFG_CALC_NOIPG_MASK (0x20000U)
  31030. #define ENET_DMACFG_CALC_NOIPG_SHIFT (17U)
  31031. /*! CALC_NOIPG - Calculate no IPG
  31032. * 0b0..The traffic shaper function should consider 12 octets of IPG in addition to the frame data transferred
  31033. * for a frame when doing bandwidth calculations. This is the default.
  31034. * 0b1..Addition of 12 bytes for the IPG should be omitted when calculating the bandwidth (for traffic shaping,
  31035. * when writing a frame into the transmit FIFO, the shaper will usually consider 12 bytes of IPG for every
  31036. * frame as part of the bandwidth allocated by the frame. This addition can be suppressed, meaning short frames
  31037. * will become more bandwidth than large frames due to the relation of data to IPG overhead).
  31038. */
  31039. #define ENET_DMACFG_CALC_NOIPG(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMACFG_CALC_NOIPG_SHIFT)) & ENET_DMACFG_CALC_NOIPG_MASK)
  31040. /*! @} */
  31041. /* The count of ENET_DMACFG */
  31042. #define ENET_DMACFG_COUNT (2U)
  31043. /*! @name RDAR1 - Receive Descriptor Active Register - Ring 1 */
  31044. /*! @{ */
  31045. #define ENET_RDAR1_RDAR_MASK (0x1000000U)
  31046. #define ENET_RDAR1_RDAR_SHIFT (24U)
  31047. /*! RDAR - Receive Descriptor Active
  31048. */
  31049. #define ENET_RDAR1_RDAR(x) (((uint32_t)(((uint32_t)(x)) << ENET_RDAR1_RDAR_SHIFT)) & ENET_RDAR1_RDAR_MASK)
  31050. /*! @} */
  31051. /*! @name TDAR1 - Transmit Descriptor Active Register - Ring 1 */
  31052. /*! @{ */
  31053. #define ENET_TDAR1_TDAR_MASK (0x1000000U)
  31054. #define ENET_TDAR1_TDAR_SHIFT (24U)
  31055. /*! TDAR - Transmit Descriptor Active
  31056. */
  31057. #define ENET_TDAR1_TDAR(x) (((uint32_t)(((uint32_t)(x)) << ENET_TDAR1_TDAR_SHIFT)) & ENET_TDAR1_TDAR_MASK)
  31058. /*! @} */
  31059. /*! @name RDAR2 - Receive Descriptor Active Register - Ring 2 */
  31060. /*! @{ */
  31061. #define ENET_RDAR2_RDAR_MASK (0x1000000U)
  31062. #define ENET_RDAR2_RDAR_SHIFT (24U)
  31063. /*! RDAR - Receive Descriptor Active
  31064. */
  31065. #define ENET_RDAR2_RDAR(x) (((uint32_t)(((uint32_t)(x)) << ENET_RDAR2_RDAR_SHIFT)) & ENET_RDAR2_RDAR_MASK)
  31066. /*! @} */
  31067. /*! @name TDAR2 - Transmit Descriptor Active Register - Ring 2 */
  31068. /*! @{ */
  31069. #define ENET_TDAR2_TDAR_MASK (0x1000000U)
  31070. #define ENET_TDAR2_TDAR_SHIFT (24U)
  31071. /*! TDAR - Transmit Descriptor Active
  31072. */
  31073. #define ENET_TDAR2_TDAR(x) (((uint32_t)(((uint32_t)(x)) << ENET_TDAR2_TDAR_SHIFT)) & ENET_TDAR2_TDAR_MASK)
  31074. /*! @} */
  31075. /*! @name QOS - QOS Scheme */
  31076. /*! @{ */
  31077. #define ENET_QOS_TX_SCHEME_MASK (0x7U)
  31078. #define ENET_QOS_TX_SCHEME_SHIFT (0U)
  31079. /*! TX_SCHEME - TX scheme configuration
  31080. * 0b000..Credit-based scheme
  31081. * 0b001..Round-robin scheme
  31082. * 0b010-0b111..Reserved
  31083. */
  31084. #define ENET_QOS_TX_SCHEME(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_TX_SCHEME_SHIFT)) & ENET_QOS_TX_SCHEME_MASK)
  31085. #define ENET_QOS_RX_FLUSH0_MASK (0x8U)
  31086. #define ENET_QOS_RX_FLUSH0_SHIFT (3U)
  31087. /*! RX_FLUSH0 - RX Flush Ring 0
  31088. * 0b0..Disable
  31089. * 0b1..Enable
  31090. */
  31091. #define ENET_QOS_RX_FLUSH0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_RX_FLUSH0_SHIFT)) & ENET_QOS_RX_FLUSH0_MASK)
  31092. #define ENET_QOS_RX_FLUSH1_MASK (0x10U)
  31093. #define ENET_QOS_RX_FLUSH1_SHIFT (4U)
  31094. /*! RX_FLUSH1 - RX Flush Ring 1
  31095. * 0b0..Disable
  31096. * 0b1..Enable
  31097. */
  31098. #define ENET_QOS_RX_FLUSH1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_RX_FLUSH1_SHIFT)) & ENET_QOS_RX_FLUSH1_MASK)
  31099. #define ENET_QOS_RX_FLUSH2_MASK (0x20U)
  31100. #define ENET_QOS_RX_FLUSH2_SHIFT (5U)
  31101. /*! RX_FLUSH2 - RX Flush Ring 2
  31102. * 0b0..Disable
  31103. * 0b1..Enable
  31104. */
  31105. #define ENET_QOS_RX_FLUSH2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_RX_FLUSH2_SHIFT)) & ENET_QOS_RX_FLUSH2_MASK)
  31106. /*! @} */
  31107. /*! @name RMON_T_PACKETS - Tx Packet Count Statistic Register */
  31108. /*! @{ */
  31109. #define ENET_RMON_T_PACKETS_TXPKTS_MASK (0xFFFFU)
  31110. #define ENET_RMON_T_PACKETS_TXPKTS_SHIFT (0U)
  31111. /*! TXPKTS - Packet count
  31112. */
  31113. #define ENET_RMON_T_PACKETS_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_PACKETS_TXPKTS_SHIFT)) & ENET_RMON_T_PACKETS_TXPKTS_MASK)
  31114. /*! @} */
  31115. /*! @name RMON_T_BC_PKT - Tx Broadcast Packets Statistic Register */
  31116. /*! @{ */
  31117. #define ENET_RMON_T_BC_PKT_TXPKTS_MASK (0xFFFFU)
  31118. #define ENET_RMON_T_BC_PKT_TXPKTS_SHIFT (0U)
  31119. /*! TXPKTS - Broadcast packets
  31120. */
  31121. #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)
  31122. /*! @} */
  31123. /*! @name RMON_T_MC_PKT - Tx Multicast Packets Statistic Register */
  31124. /*! @{ */
  31125. #define ENET_RMON_T_MC_PKT_TXPKTS_MASK (0xFFFFU)
  31126. #define ENET_RMON_T_MC_PKT_TXPKTS_SHIFT (0U)
  31127. /*! TXPKTS - Multicast packets
  31128. */
  31129. #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)
  31130. /*! @} */
  31131. /*! @name RMON_T_CRC_ALIGN - Tx Packets with CRC/Align Error Statistic Register */
  31132. /*! @{ */
  31133. #define ENET_RMON_T_CRC_ALIGN_TXPKTS_MASK (0xFFFFU)
  31134. #define ENET_RMON_T_CRC_ALIGN_TXPKTS_SHIFT (0U)
  31135. /*! TXPKTS - Packets with CRC/align error
  31136. */
  31137. #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)
  31138. /*! @} */
  31139. /*! @name RMON_T_UNDERSIZE - Tx Packets Less Than Bytes and Good CRC Statistic Register */
  31140. /*! @{ */
  31141. #define ENET_RMON_T_UNDERSIZE_TXPKTS_MASK (0xFFFFU)
  31142. #define ENET_RMON_T_UNDERSIZE_TXPKTS_SHIFT (0U)
  31143. /*! TXPKTS - Number of transmit packets less than 64 bytes with good CRC
  31144. */
  31145. #define ENET_RMON_T_UNDERSIZE_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_UNDERSIZE_TXPKTS_SHIFT)) & ENET_RMON_T_UNDERSIZE_TXPKTS_MASK)
  31146. /*! @} */
  31147. /*! @name RMON_T_OVERSIZE - Tx Packets GT MAX_FL bytes and Good CRC Statistic Register */
  31148. /*! @{ */
  31149. #define ENET_RMON_T_OVERSIZE_TXPKTS_MASK (0xFFFFU)
  31150. #define ENET_RMON_T_OVERSIZE_TXPKTS_SHIFT (0U)
  31151. /*! TXPKTS - Number of transmit packets greater than MAX_FL bytes with good CRC
  31152. */
  31153. #define ENET_RMON_T_OVERSIZE_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_OVERSIZE_TXPKTS_SHIFT)) & ENET_RMON_T_OVERSIZE_TXPKTS_MASK)
  31154. /*! @} */
  31155. /*! @name RMON_T_FRAG - Tx Packets Less Than 64 Bytes and Bad CRC Statistic Register */
  31156. /*! @{ */
  31157. #define ENET_RMON_T_FRAG_TXPKTS_MASK (0xFFFFU)
  31158. #define ENET_RMON_T_FRAG_TXPKTS_SHIFT (0U)
  31159. /*! TXPKTS - Number of packets less than 64 bytes with bad CRC
  31160. */
  31161. #define ENET_RMON_T_FRAG_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_FRAG_TXPKTS_SHIFT)) & ENET_RMON_T_FRAG_TXPKTS_MASK)
  31162. /*! @} */
  31163. /*! @name RMON_T_JAB - Tx Packets Greater Than MAX_FL bytes and Bad CRC Statistic Register */
  31164. /*! @{ */
  31165. #define ENET_RMON_T_JAB_TXPKTS_MASK (0xFFFFU)
  31166. #define ENET_RMON_T_JAB_TXPKTS_SHIFT (0U)
  31167. /*! TXPKTS - Number of transmit packets greater than MAX_FL bytes and bad CRC
  31168. */
  31169. #define ENET_RMON_T_JAB_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_JAB_TXPKTS_SHIFT)) & ENET_RMON_T_JAB_TXPKTS_MASK)
  31170. /*! @} */
  31171. /*! @name RMON_T_COL - Tx Collision Count Statistic Register */
  31172. /*! @{ */
  31173. #define ENET_RMON_T_COL_TXPKTS_MASK (0xFFFFU)
  31174. #define ENET_RMON_T_COL_TXPKTS_SHIFT (0U)
  31175. /*! TXPKTS - Number of transmit collisions
  31176. */
  31177. #define ENET_RMON_T_COL_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_COL_TXPKTS_SHIFT)) & ENET_RMON_T_COL_TXPKTS_MASK)
  31178. /*! @} */
  31179. /*! @name RMON_T_P64 - Tx 64-Byte Packets Statistic Register */
  31180. /*! @{ */
  31181. #define ENET_RMON_T_P64_TXPKTS_MASK (0xFFFFU)
  31182. #define ENET_RMON_T_P64_TXPKTS_SHIFT (0U)
  31183. /*! TXPKTS - Number of 64-byte transmit packets
  31184. */
  31185. #define ENET_RMON_T_P64_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_P64_TXPKTS_SHIFT)) & ENET_RMON_T_P64_TXPKTS_MASK)
  31186. /*! @} */
  31187. /*! @name RMON_T_P65TO127 - Tx 65- to 127-byte Packets Statistic Register */
  31188. /*! @{ */
  31189. #define ENET_RMON_T_P65TO127_TXPKTS_MASK (0xFFFFU)
  31190. #define ENET_RMON_T_P65TO127_TXPKTS_SHIFT (0U)
  31191. /*! TXPKTS - Number of 65- to 127-byte transmit packets
  31192. */
  31193. #define ENET_RMON_T_P65TO127_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_P65TO127_TXPKTS_SHIFT)) & ENET_RMON_T_P65TO127_TXPKTS_MASK)
  31194. /*! @} */
  31195. /*! @name RMON_T_P128TO255 - Tx 128- to 255-byte Packets Statistic Register */
  31196. /*! @{ */
  31197. #define ENET_RMON_T_P128TO255_TXPKTS_MASK (0xFFFFU)
  31198. #define ENET_RMON_T_P128TO255_TXPKTS_SHIFT (0U)
  31199. /*! TXPKTS - Number of 128- to 255-byte transmit packets
  31200. */
  31201. #define ENET_RMON_T_P128TO255_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_P128TO255_TXPKTS_SHIFT)) & ENET_RMON_T_P128TO255_TXPKTS_MASK)
  31202. /*! @} */
  31203. /*! @name RMON_T_P256TO511 - Tx 256- to 511-byte Packets Statistic Register */
  31204. /*! @{ */
  31205. #define ENET_RMON_T_P256TO511_TXPKTS_MASK (0xFFFFU)
  31206. #define ENET_RMON_T_P256TO511_TXPKTS_SHIFT (0U)
  31207. /*! TXPKTS - Number of 256- to 511-byte transmit packets
  31208. */
  31209. #define ENET_RMON_T_P256TO511_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_P256TO511_TXPKTS_SHIFT)) & ENET_RMON_T_P256TO511_TXPKTS_MASK)
  31210. /*! @} */
  31211. /*! @name RMON_T_P512TO1023 - Tx 512- to 1023-byte Packets Statistic Register */
  31212. /*! @{ */
  31213. #define ENET_RMON_T_P512TO1023_TXPKTS_MASK (0xFFFFU)
  31214. #define ENET_RMON_T_P512TO1023_TXPKTS_SHIFT (0U)
  31215. /*! TXPKTS - Number of 512- to 1023-byte transmit packets
  31216. */
  31217. #define ENET_RMON_T_P512TO1023_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_P512TO1023_TXPKTS_SHIFT)) & ENET_RMON_T_P512TO1023_TXPKTS_MASK)
  31218. /*! @} */
  31219. /*! @name RMON_T_P1024TO2047 - Tx 1024- to 2047-byte Packets Statistic Register */
  31220. /*! @{ */
  31221. #define ENET_RMON_T_P1024TO2047_TXPKTS_MASK (0xFFFFU)
  31222. #define ENET_RMON_T_P1024TO2047_TXPKTS_SHIFT (0U)
  31223. /*! TXPKTS - Number of 1024- to 2047-byte transmit packets
  31224. */
  31225. #define ENET_RMON_T_P1024TO2047_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_P1024TO2047_TXPKTS_SHIFT)) & ENET_RMON_T_P1024TO2047_TXPKTS_MASK)
  31226. /*! @} */
  31227. /*! @name RMON_T_P_GTE2048 - Tx Packets Greater Than 2048 Bytes Statistic Register */
  31228. /*! @{ */
  31229. #define ENET_RMON_T_P_GTE2048_TXPKTS_MASK (0xFFFFU)
  31230. #define ENET_RMON_T_P_GTE2048_TXPKTS_SHIFT (0U)
  31231. /*! TXPKTS - Number of transmit packets greater than 2048 bytes
  31232. */
  31233. #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)
  31234. /*! @} */
  31235. /*! @name RMON_T_OCTETS - Tx Octets Statistic Register */
  31236. /*! @{ */
  31237. #define ENET_RMON_T_OCTETS_TXOCTS_MASK (0xFFFFFFFFU)
  31238. #define ENET_RMON_T_OCTETS_TXOCTS_SHIFT (0U)
  31239. /*! TXOCTS - Number of transmit octets
  31240. */
  31241. #define ENET_RMON_T_OCTETS_TXOCTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_OCTETS_TXOCTS_SHIFT)) & ENET_RMON_T_OCTETS_TXOCTS_MASK)
  31242. /*! @} */
  31243. /*! @name IEEE_T_FRAME_OK - Frames Transmitted OK Statistic Register */
  31244. /*! @{ */
  31245. #define ENET_IEEE_T_FRAME_OK_COUNT_MASK (0xFFFFU)
  31246. #define ENET_IEEE_T_FRAME_OK_COUNT_SHIFT (0U)
  31247. /*! COUNT - Number of frames transmitted OK
  31248. */
  31249. #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)
  31250. /*! @} */
  31251. /*! @name IEEE_T_1COL - Frames Transmitted with Single Collision Statistic Register */
  31252. /*! @{ */
  31253. #define ENET_IEEE_T_1COL_COUNT_MASK (0xFFFFU)
  31254. #define ENET_IEEE_T_1COL_COUNT_SHIFT (0U)
  31255. /*! COUNT - Number of frames transmitted with one collision
  31256. */
  31257. #define ENET_IEEE_T_1COL_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_1COL_COUNT_SHIFT)) & ENET_IEEE_T_1COL_COUNT_MASK)
  31258. /*! @} */
  31259. /*! @name IEEE_T_MCOL - Frames Transmitted with Multiple Collisions Statistic Register */
  31260. /*! @{ */
  31261. #define ENET_IEEE_T_MCOL_COUNT_MASK (0xFFFFU)
  31262. #define ENET_IEEE_T_MCOL_COUNT_SHIFT (0U)
  31263. /*! COUNT - Number of frames transmitted with multiple collisions
  31264. */
  31265. #define ENET_IEEE_T_MCOL_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_MCOL_COUNT_SHIFT)) & ENET_IEEE_T_MCOL_COUNT_MASK)
  31266. /*! @} */
  31267. /*! @name IEEE_T_DEF - Frames Transmitted after Deferral Delay Statistic Register */
  31268. /*! @{ */
  31269. #define ENET_IEEE_T_DEF_COUNT_MASK (0xFFFFU)
  31270. #define ENET_IEEE_T_DEF_COUNT_SHIFT (0U)
  31271. /*! COUNT - Number of frames transmitted with deferral delay
  31272. */
  31273. #define ENET_IEEE_T_DEF_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_DEF_COUNT_SHIFT)) & ENET_IEEE_T_DEF_COUNT_MASK)
  31274. /*! @} */
  31275. /*! @name IEEE_T_LCOL - Frames Transmitted with Late Collision Statistic Register */
  31276. /*! @{ */
  31277. #define ENET_IEEE_T_LCOL_COUNT_MASK (0xFFFFU)
  31278. #define ENET_IEEE_T_LCOL_COUNT_SHIFT (0U)
  31279. /*! COUNT - Number of frames transmitted with late collision
  31280. */
  31281. #define ENET_IEEE_T_LCOL_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_LCOL_COUNT_SHIFT)) & ENET_IEEE_T_LCOL_COUNT_MASK)
  31282. /*! @} */
  31283. /*! @name IEEE_T_EXCOL - Frames Transmitted with Excessive Collisions Statistic Register */
  31284. /*! @{ */
  31285. #define ENET_IEEE_T_EXCOL_COUNT_MASK (0xFFFFU)
  31286. #define ENET_IEEE_T_EXCOL_COUNT_SHIFT (0U)
  31287. /*! COUNT - Number of frames transmitted with excessive collisions
  31288. */
  31289. #define ENET_IEEE_T_EXCOL_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_EXCOL_COUNT_SHIFT)) & ENET_IEEE_T_EXCOL_COUNT_MASK)
  31290. /*! @} */
  31291. /*! @name IEEE_T_MACERR - Frames Transmitted with Tx FIFO Underrun Statistic Register */
  31292. /*! @{ */
  31293. #define ENET_IEEE_T_MACERR_COUNT_MASK (0xFFFFU)
  31294. #define ENET_IEEE_T_MACERR_COUNT_SHIFT (0U)
  31295. /*! COUNT - Number of frames transmitted with transmit FIFO underrun
  31296. */
  31297. #define ENET_IEEE_T_MACERR_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_MACERR_COUNT_SHIFT)) & ENET_IEEE_T_MACERR_COUNT_MASK)
  31298. /*! @} */
  31299. /*! @name IEEE_T_CSERR - Frames Transmitted with Carrier Sense Error Statistic Register */
  31300. /*! @{ */
  31301. #define ENET_IEEE_T_CSERR_COUNT_MASK (0xFFFFU)
  31302. #define ENET_IEEE_T_CSERR_COUNT_SHIFT (0U)
  31303. /*! COUNT - Number of frames transmitted with carrier sense error
  31304. */
  31305. #define ENET_IEEE_T_CSERR_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_CSERR_COUNT_SHIFT)) & ENET_IEEE_T_CSERR_COUNT_MASK)
  31306. /*! @} */
  31307. /*! @name IEEE_T_SQE - Reserved Statistic Register */
  31308. /*! @{ */
  31309. #define ENET_IEEE_T_SQE_COUNT_MASK (0xFFFFU)
  31310. #define ENET_IEEE_T_SQE_COUNT_SHIFT (0U)
  31311. /*! COUNT - This read-only field is reserved and always has the value 0
  31312. */
  31313. #define ENET_IEEE_T_SQE_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_SQE_COUNT_SHIFT)) & ENET_IEEE_T_SQE_COUNT_MASK)
  31314. /*! @} */
  31315. /*! @name IEEE_T_FDXFC - Flow Control Pause Frames Transmitted Statistic Register */
  31316. /*! @{ */
  31317. #define ENET_IEEE_T_FDXFC_COUNT_MASK (0xFFFFU)
  31318. #define ENET_IEEE_T_FDXFC_COUNT_SHIFT (0U)
  31319. /*! COUNT - Number of flow-control pause frames transmitted
  31320. */
  31321. #define ENET_IEEE_T_FDXFC_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_FDXFC_COUNT_SHIFT)) & ENET_IEEE_T_FDXFC_COUNT_MASK)
  31322. /*! @} */
  31323. /*! @name IEEE_T_OCTETS_OK - Octet Count for Frames Transmitted w/o Error Statistic Register */
  31324. /*! @{ */
  31325. #define ENET_IEEE_T_OCTETS_OK_COUNT_MASK (0xFFFFFFFFU)
  31326. #define ENET_IEEE_T_OCTETS_OK_COUNT_SHIFT (0U)
  31327. /*! COUNT - Octet count for frames transmitted without error Counts total octets (includes header and FCS fields).
  31328. */
  31329. #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)
  31330. /*! @} */
  31331. /*! @name RMON_R_PACKETS - Rx Packet Count Statistic Register */
  31332. /*! @{ */
  31333. #define ENET_RMON_R_PACKETS_COUNT_MASK (0xFFFFU)
  31334. #define ENET_RMON_R_PACKETS_COUNT_SHIFT (0U)
  31335. /*! COUNT - Number of packets received
  31336. */
  31337. #define ENET_RMON_R_PACKETS_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_PACKETS_COUNT_SHIFT)) & ENET_RMON_R_PACKETS_COUNT_MASK)
  31338. /*! @} */
  31339. /*! @name RMON_R_BC_PKT - Rx Broadcast Packets Statistic Register */
  31340. /*! @{ */
  31341. #define ENET_RMON_R_BC_PKT_COUNT_MASK (0xFFFFU)
  31342. #define ENET_RMON_R_BC_PKT_COUNT_SHIFT (0U)
  31343. /*! COUNT - Number of receive broadcast packets
  31344. */
  31345. #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)
  31346. /*! @} */
  31347. /*! @name RMON_R_MC_PKT - Rx Multicast Packets Statistic Register */
  31348. /*! @{ */
  31349. #define ENET_RMON_R_MC_PKT_COUNT_MASK (0xFFFFU)
  31350. #define ENET_RMON_R_MC_PKT_COUNT_SHIFT (0U)
  31351. /*! COUNT - Number of receive multicast packets
  31352. */
  31353. #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)
  31354. /*! @} */
  31355. /*! @name RMON_R_CRC_ALIGN - Rx Packets with CRC/Align Error Statistic Register */
  31356. /*! @{ */
  31357. #define ENET_RMON_R_CRC_ALIGN_COUNT_MASK (0xFFFFU)
  31358. #define ENET_RMON_R_CRC_ALIGN_COUNT_SHIFT (0U)
  31359. /*! COUNT - Number of receive packets with CRC or align error
  31360. */
  31361. #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)
  31362. /*! @} */
  31363. /*! @name RMON_R_UNDERSIZE - Rx Packets with Less Than 64 Bytes and Good CRC Statistic Register */
  31364. /*! @{ */
  31365. #define ENET_RMON_R_UNDERSIZE_COUNT_MASK (0xFFFFU)
  31366. #define ENET_RMON_R_UNDERSIZE_COUNT_SHIFT (0U)
  31367. /*! COUNT - Number of receive packets with less than 64 bytes and good CRC
  31368. */
  31369. #define ENET_RMON_R_UNDERSIZE_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_UNDERSIZE_COUNT_SHIFT)) & ENET_RMON_R_UNDERSIZE_COUNT_MASK)
  31370. /*! @} */
  31371. /*! @name RMON_R_OVERSIZE - Rx Packets Greater Than MAX_FL and Good CRC Statistic Register */
  31372. /*! @{ */
  31373. #define ENET_RMON_R_OVERSIZE_COUNT_MASK (0xFFFFU)
  31374. #define ENET_RMON_R_OVERSIZE_COUNT_SHIFT (0U)
  31375. /*! COUNT - Number of receive packets greater than MAX_FL and good CRC
  31376. */
  31377. #define ENET_RMON_R_OVERSIZE_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_OVERSIZE_COUNT_SHIFT)) & ENET_RMON_R_OVERSIZE_COUNT_MASK)
  31378. /*! @} */
  31379. /*! @name RMON_R_FRAG - Rx Packets Less Than 64 Bytes and Bad CRC Statistic Register */
  31380. /*! @{ */
  31381. #define ENET_RMON_R_FRAG_COUNT_MASK (0xFFFFU)
  31382. #define ENET_RMON_R_FRAG_COUNT_SHIFT (0U)
  31383. /*! COUNT - Number of receive packets with less than 64 bytes and bad CRC
  31384. */
  31385. #define ENET_RMON_R_FRAG_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_FRAG_COUNT_SHIFT)) & ENET_RMON_R_FRAG_COUNT_MASK)
  31386. /*! @} */
  31387. /*! @name RMON_R_JAB - Rx Packets Greater Than MAX_FL Bytes and Bad CRC Statistic Register */
  31388. /*! @{ */
  31389. #define ENET_RMON_R_JAB_COUNT_MASK (0xFFFFU)
  31390. #define ENET_RMON_R_JAB_COUNT_SHIFT (0U)
  31391. /*! COUNT - Number of receive packets greater than MAX_FL and bad CRC
  31392. */
  31393. #define ENET_RMON_R_JAB_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_JAB_COUNT_SHIFT)) & ENET_RMON_R_JAB_COUNT_MASK)
  31394. /*! @} */
  31395. /*! @name RMON_R_P64 - Rx 64-Byte Packets Statistic Register */
  31396. /*! @{ */
  31397. #define ENET_RMON_R_P64_COUNT_MASK (0xFFFFU)
  31398. #define ENET_RMON_R_P64_COUNT_SHIFT (0U)
  31399. /*! COUNT - Number of 64-byte receive packets
  31400. */
  31401. #define ENET_RMON_R_P64_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_P64_COUNT_SHIFT)) & ENET_RMON_R_P64_COUNT_MASK)
  31402. /*! @} */
  31403. /*! @name RMON_R_P65TO127 - Rx 65- to 127-Byte Packets Statistic Register */
  31404. /*! @{ */
  31405. #define ENET_RMON_R_P65TO127_COUNT_MASK (0xFFFFU)
  31406. #define ENET_RMON_R_P65TO127_COUNT_SHIFT (0U)
  31407. /*! COUNT - Number of 65- to 127-byte recieve packets
  31408. */
  31409. #define ENET_RMON_R_P65TO127_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_P65TO127_COUNT_SHIFT)) & ENET_RMON_R_P65TO127_COUNT_MASK)
  31410. /*! @} */
  31411. /*! @name RMON_R_P128TO255 - Rx 128- to 255-Byte Packets Statistic Register */
  31412. /*! @{ */
  31413. #define ENET_RMON_R_P128TO255_COUNT_MASK (0xFFFFU)
  31414. #define ENET_RMON_R_P128TO255_COUNT_SHIFT (0U)
  31415. /*! COUNT - Number of 128- to 255-byte recieve packets
  31416. */
  31417. #define ENET_RMON_R_P128TO255_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_P128TO255_COUNT_SHIFT)) & ENET_RMON_R_P128TO255_COUNT_MASK)
  31418. /*! @} */
  31419. /*! @name RMON_R_P256TO511 - Rx 256- to 511-Byte Packets Statistic Register */
  31420. /*! @{ */
  31421. #define ENET_RMON_R_P256TO511_COUNT_MASK (0xFFFFU)
  31422. #define ENET_RMON_R_P256TO511_COUNT_SHIFT (0U)
  31423. /*! COUNT - Number of 256- to 511-byte recieve packets
  31424. */
  31425. #define ENET_RMON_R_P256TO511_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_P256TO511_COUNT_SHIFT)) & ENET_RMON_R_P256TO511_COUNT_MASK)
  31426. /*! @} */
  31427. /*! @name RMON_R_P512TO1023 - Rx 512- to 1023-Byte Packets Statistic Register */
  31428. /*! @{ */
  31429. #define ENET_RMON_R_P512TO1023_COUNT_MASK (0xFFFFU)
  31430. #define ENET_RMON_R_P512TO1023_COUNT_SHIFT (0U)
  31431. /*! COUNT - Number of 512- to 1023-byte recieve packets
  31432. */
  31433. #define ENET_RMON_R_P512TO1023_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_P512TO1023_COUNT_SHIFT)) & ENET_RMON_R_P512TO1023_COUNT_MASK)
  31434. /*! @} */
  31435. /*! @name RMON_R_P1024TO2047 - Rx 1024- to 2047-Byte Packets Statistic Register */
  31436. /*! @{ */
  31437. #define ENET_RMON_R_P1024TO2047_COUNT_MASK (0xFFFFU)
  31438. #define ENET_RMON_R_P1024TO2047_COUNT_SHIFT (0U)
  31439. /*! COUNT - Number of 1024- to 2047-byte recieve packets
  31440. */
  31441. #define ENET_RMON_R_P1024TO2047_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_P1024TO2047_COUNT_SHIFT)) & ENET_RMON_R_P1024TO2047_COUNT_MASK)
  31442. /*! @} */
  31443. /*! @name RMON_R_P_GTE2048 - Rx Packets Greater than 2048 Bytes Statistic Register */
  31444. /*! @{ */
  31445. #define ENET_RMON_R_P_GTE2048_COUNT_MASK (0xFFFFU)
  31446. #define ENET_RMON_R_P_GTE2048_COUNT_SHIFT (0U)
  31447. /*! COUNT - Number of greater-than-2048-byte recieve packets
  31448. */
  31449. #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)
  31450. /*! @} */
  31451. /*! @name RMON_R_OCTETS - Rx Octets Statistic Register */
  31452. /*! @{ */
  31453. #define ENET_RMON_R_OCTETS_COUNT_MASK (0xFFFFFFFFU)
  31454. #define ENET_RMON_R_OCTETS_COUNT_SHIFT (0U)
  31455. /*! COUNT - Number of receive octets
  31456. */
  31457. #define ENET_RMON_R_OCTETS_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_OCTETS_COUNT_SHIFT)) & ENET_RMON_R_OCTETS_COUNT_MASK)
  31458. /*! @} */
  31459. /*! @name IEEE_R_DROP - Frames not Counted Correctly Statistic Register */
  31460. /*! @{ */
  31461. #define ENET_IEEE_R_DROP_COUNT_MASK (0xFFFFU)
  31462. #define ENET_IEEE_R_DROP_COUNT_SHIFT (0U)
  31463. /*! COUNT - Frame count
  31464. */
  31465. #define ENET_IEEE_R_DROP_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_R_DROP_COUNT_SHIFT)) & ENET_IEEE_R_DROP_COUNT_MASK)
  31466. /*! @} */
  31467. /*! @name IEEE_R_FRAME_OK - Frames Received OK Statistic Register */
  31468. /*! @{ */
  31469. #define ENET_IEEE_R_FRAME_OK_COUNT_MASK (0xFFFFU)
  31470. #define ENET_IEEE_R_FRAME_OK_COUNT_SHIFT (0U)
  31471. /*! COUNT - Number of frames received OK
  31472. */
  31473. #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)
  31474. /*! @} */
  31475. /*! @name IEEE_R_CRC - Frames Received with CRC Error Statistic Register */
  31476. /*! @{ */
  31477. #define ENET_IEEE_R_CRC_COUNT_MASK (0xFFFFU)
  31478. #define ENET_IEEE_R_CRC_COUNT_SHIFT (0U)
  31479. /*! COUNT - Number of frames received with CRC error
  31480. */
  31481. #define ENET_IEEE_R_CRC_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_R_CRC_COUNT_SHIFT)) & ENET_IEEE_R_CRC_COUNT_MASK)
  31482. /*! @} */
  31483. /*! @name IEEE_R_ALIGN - Frames Received with Alignment Error Statistic Register */
  31484. /*! @{ */
  31485. #define ENET_IEEE_R_ALIGN_COUNT_MASK (0xFFFFU)
  31486. #define ENET_IEEE_R_ALIGN_COUNT_SHIFT (0U)
  31487. /*! COUNT - Number of frames received with alignment error
  31488. */
  31489. #define ENET_IEEE_R_ALIGN_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_R_ALIGN_COUNT_SHIFT)) & ENET_IEEE_R_ALIGN_COUNT_MASK)
  31490. /*! @} */
  31491. /*! @name IEEE_R_MACERR - Receive FIFO Overflow Count Statistic Register */
  31492. /*! @{ */
  31493. #define ENET_IEEE_R_MACERR_COUNT_MASK (0xFFFFU)
  31494. #define ENET_IEEE_R_MACERR_COUNT_SHIFT (0U)
  31495. /*! COUNT - Receive FIFO overflow count
  31496. */
  31497. #define ENET_IEEE_R_MACERR_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_R_MACERR_COUNT_SHIFT)) & ENET_IEEE_R_MACERR_COUNT_MASK)
  31498. /*! @} */
  31499. /*! @name IEEE_R_FDXFC - Flow Control Pause Frames Received Statistic Register */
  31500. /*! @{ */
  31501. #define ENET_IEEE_R_FDXFC_COUNT_MASK (0xFFFFU)
  31502. #define ENET_IEEE_R_FDXFC_COUNT_SHIFT (0U)
  31503. /*! COUNT - Number of flow-control pause frames received
  31504. */
  31505. #define ENET_IEEE_R_FDXFC_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_R_FDXFC_COUNT_SHIFT)) & ENET_IEEE_R_FDXFC_COUNT_MASK)
  31506. /*! @} */
  31507. /*! @name IEEE_R_OCTETS_OK - Octet Count for Frames Received without Error Statistic Register */
  31508. /*! @{ */
  31509. #define ENET_IEEE_R_OCTETS_OK_COUNT_MASK (0xFFFFFFFFU)
  31510. #define ENET_IEEE_R_OCTETS_OK_COUNT_SHIFT (0U)
  31511. /*! COUNT - Number of octets for frames received without error
  31512. */
  31513. #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)
  31514. /*! @} */
  31515. /*! @name ATCR - Adjustable Timer Control Register */
  31516. /*! @{ */
  31517. #define ENET_ATCR_EN_MASK (0x1U)
  31518. #define ENET_ATCR_EN_SHIFT (0U)
  31519. /*! EN - Enable Timer
  31520. * 0b0..The timer stops at the current value.
  31521. * 0b1..The timer starts incrementing.
  31522. */
  31523. #define ENET_ATCR_EN(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATCR_EN_SHIFT)) & ENET_ATCR_EN_MASK)
  31524. #define ENET_ATCR_OFFEN_MASK (0x4U)
  31525. #define ENET_ATCR_OFFEN_SHIFT (2U)
  31526. /*! OFFEN - Enable One-Shot Offset Event
  31527. * 0b0..Disable.
  31528. * 0b1..The timer can be reset to zero when the given offset time is reached (offset event). The field is cleared
  31529. * when the offset event is reached, so no further event occurs until the field is set again. The timer
  31530. * offset value must be set before setting this field.
  31531. */
  31532. #define ENET_ATCR_OFFEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATCR_OFFEN_SHIFT)) & ENET_ATCR_OFFEN_MASK)
  31533. #define ENET_ATCR_OFFRST_MASK (0x8U)
  31534. #define ENET_ATCR_OFFRST_SHIFT (3U)
  31535. /*! OFFRST - Reset Timer On Offset Event
  31536. * 0b0..The timer is not affected and no action occurs, besides clearing OFFEN, when the offset is reached.
  31537. * 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.
  31538. */
  31539. #define ENET_ATCR_OFFRST(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATCR_OFFRST_SHIFT)) & ENET_ATCR_OFFRST_MASK)
  31540. #define ENET_ATCR_PEREN_MASK (0x10U)
  31541. #define ENET_ATCR_PEREN_SHIFT (4U)
  31542. /*! PEREN - Enable Periodical Event
  31543. * 0b0..Disable.
  31544. * 0b1..A period event interrupt can be generated (EIR[TS_TIMER]) and the event signal output is asserted when
  31545. * the timer wraps around according to the periodic setting ATPER. The timer period value must be set before
  31546. * setting this bit. Not all devices contain the event signal output. See the chip configuration details.
  31547. */
  31548. #define ENET_ATCR_PEREN(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATCR_PEREN_SHIFT)) & ENET_ATCR_PEREN_MASK)
  31549. #define ENET_ATCR_PINPER_MASK (0x80U)
  31550. #define ENET_ATCR_PINPER_SHIFT (7U)
  31551. /*! PINPER - Enables event signal output external pin frc_evt_period assertion on period event
  31552. * 0b0..Disable.
  31553. * 0b1..Enable.
  31554. */
  31555. #define ENET_ATCR_PINPER(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATCR_PINPER_SHIFT)) & ENET_ATCR_PINPER_MASK)
  31556. #define ENET_ATCR_RESTART_MASK (0x200U)
  31557. #define ENET_ATCR_RESTART_SHIFT (9U)
  31558. /*! RESTART - Reset Timer
  31559. */
  31560. #define ENET_ATCR_RESTART(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATCR_RESTART_SHIFT)) & ENET_ATCR_RESTART_MASK)
  31561. #define ENET_ATCR_CAPTURE_MASK (0x800U)
  31562. #define ENET_ATCR_CAPTURE_SHIFT (11U)
  31563. /*! CAPTURE - Capture Timer Value
  31564. * 0b0..No effect.
  31565. * 0b1..The current time is captured and can be read from the ATVR register.
  31566. */
  31567. #define ENET_ATCR_CAPTURE(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATCR_CAPTURE_SHIFT)) & ENET_ATCR_CAPTURE_MASK)
  31568. #define ENET_ATCR_SLAVE_MASK (0x2000U)
  31569. #define ENET_ATCR_SLAVE_SHIFT (13U)
  31570. /*! SLAVE - Enable Timer Slave Mode
  31571. * 0b0..The timer is active and all configuration fields in this register are relevant.
  31572. * 0b1..The internal timer is disabled and the externally provided timer value is used. All other fields, except
  31573. * CAPTURE, in this register have no effect. CAPTURE can still be used to capture the current timer value.
  31574. */
  31575. #define ENET_ATCR_SLAVE(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATCR_SLAVE_SHIFT)) & ENET_ATCR_SLAVE_MASK)
  31576. /*! @} */
  31577. /*! @name ATVR - Timer Value Register */
  31578. /*! @{ */
  31579. #define ENET_ATVR_ATIME_MASK (0xFFFFFFFFU)
  31580. #define ENET_ATVR_ATIME_SHIFT (0U)
  31581. #define ENET_ATVR_ATIME(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATVR_ATIME_SHIFT)) & ENET_ATVR_ATIME_MASK)
  31582. /*! @} */
  31583. /*! @name ATOFF - Timer Offset Register */
  31584. /*! @{ */
  31585. #define ENET_ATOFF_OFFSET_MASK (0xFFFFFFFFU)
  31586. #define ENET_ATOFF_OFFSET_SHIFT (0U)
  31587. #define ENET_ATOFF_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATOFF_OFFSET_SHIFT)) & ENET_ATOFF_OFFSET_MASK)
  31588. /*! @} */
  31589. /*! @name ATPER - Timer Period Register */
  31590. /*! @{ */
  31591. #define ENET_ATPER_PERIOD_MASK (0xFFFFFFFFU)
  31592. #define ENET_ATPER_PERIOD_SHIFT (0U)
  31593. /*! PERIOD - Value for generating periodic events
  31594. */
  31595. #define ENET_ATPER_PERIOD(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATPER_PERIOD_SHIFT)) & ENET_ATPER_PERIOD_MASK)
  31596. /*! @} */
  31597. /*! @name ATCOR - Timer Correction Register */
  31598. /*! @{ */
  31599. #define ENET_ATCOR_COR_MASK (0x7FFFFFFFU)
  31600. #define ENET_ATCOR_COR_SHIFT (0U)
  31601. /*! COR - Correction Counter Wrap-Around Value
  31602. */
  31603. #define ENET_ATCOR_COR(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATCOR_COR_SHIFT)) & ENET_ATCOR_COR_MASK)
  31604. /*! @} */
  31605. /*! @name ATINC - Time-Stamping Clock Period Register */
  31606. /*! @{ */
  31607. #define ENET_ATINC_INC_MASK (0x7FU)
  31608. #define ENET_ATINC_INC_SHIFT (0U)
  31609. /*! INC - Clock Period Of The Timestamping Clock (ts_clk) In Nanoseconds
  31610. */
  31611. #define ENET_ATINC_INC(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATINC_INC_SHIFT)) & ENET_ATINC_INC_MASK)
  31612. #define ENET_ATINC_INC_CORR_MASK (0x7F00U)
  31613. #define ENET_ATINC_INC_CORR_SHIFT (8U)
  31614. /*! INC_CORR - Correction Increment Value
  31615. */
  31616. #define ENET_ATINC_INC_CORR(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATINC_INC_CORR_SHIFT)) & ENET_ATINC_INC_CORR_MASK)
  31617. /*! @} */
  31618. /*! @name ATSTMP - Timestamp of Last Transmitted Frame */
  31619. /*! @{ */
  31620. #define ENET_ATSTMP_TIMESTAMP_MASK (0xFFFFFFFFU)
  31621. #define ENET_ATSTMP_TIMESTAMP_SHIFT (0U)
  31622. /*! TIMESTAMP - Timestamp of the last frame transmitted by the core that had TxBD[TS] set the
  31623. * ff_tx_ts_frm signal asserted from the user application
  31624. */
  31625. #define ENET_ATSTMP_TIMESTAMP(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATSTMP_TIMESTAMP_SHIFT)) & ENET_ATSTMP_TIMESTAMP_MASK)
  31626. /*! @} */
  31627. /*! @name TGSR - Timer Global Status Register */
  31628. /*! @{ */
  31629. #define ENET_TGSR_TF0_MASK (0x1U)
  31630. #define ENET_TGSR_TF0_SHIFT (0U)
  31631. /*! TF0 - Copy Of Timer Flag For Channel 0
  31632. * 0b0..Timer Flag for Channel 0 is clear
  31633. * 0b1..Timer Flag for Channel 0 is set
  31634. */
  31635. #define ENET_TGSR_TF0(x) (((uint32_t)(((uint32_t)(x)) << ENET_TGSR_TF0_SHIFT)) & ENET_TGSR_TF0_MASK)
  31636. #define ENET_TGSR_TF1_MASK (0x2U)
  31637. #define ENET_TGSR_TF1_SHIFT (1U)
  31638. /*! TF1 - Copy Of Timer Flag For Channel 1
  31639. * 0b0..Timer Flag for Channel 1 is clear
  31640. * 0b1..Timer Flag for Channel 1 is set
  31641. */
  31642. #define ENET_TGSR_TF1(x) (((uint32_t)(((uint32_t)(x)) << ENET_TGSR_TF1_SHIFT)) & ENET_TGSR_TF1_MASK)
  31643. #define ENET_TGSR_TF2_MASK (0x4U)
  31644. #define ENET_TGSR_TF2_SHIFT (2U)
  31645. /*! TF2 - Copy Of Timer Flag For Channel 2
  31646. * 0b0..Timer Flag for Channel 2 is clear
  31647. * 0b1..Timer Flag for Channel 2 is set
  31648. */
  31649. #define ENET_TGSR_TF2(x) (((uint32_t)(((uint32_t)(x)) << ENET_TGSR_TF2_SHIFT)) & ENET_TGSR_TF2_MASK)
  31650. #define ENET_TGSR_TF3_MASK (0x8U)
  31651. #define ENET_TGSR_TF3_SHIFT (3U)
  31652. /*! TF3 - Copy Of Timer Flag For Channel 3
  31653. * 0b0..Timer Flag for Channel 3 is clear
  31654. * 0b1..Timer Flag for Channel 3 is set
  31655. */
  31656. #define ENET_TGSR_TF3(x) (((uint32_t)(((uint32_t)(x)) << ENET_TGSR_TF3_SHIFT)) & ENET_TGSR_TF3_MASK)
  31657. /*! @} */
  31658. /*! @name TCSR - Timer Control Status Register */
  31659. /*! @{ */
  31660. #define ENET_TCSR_TDRE_MASK (0x1U)
  31661. #define ENET_TCSR_TDRE_SHIFT (0U)
  31662. /*! TDRE - Timer DMA Request Enable
  31663. * 0b0..DMA request is disabled
  31664. * 0b1..DMA request is enabled
  31665. */
  31666. #define ENET_TCSR_TDRE(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCSR_TDRE_SHIFT)) & ENET_TCSR_TDRE_MASK)
  31667. #define ENET_TCSR_TMODE_MASK (0x3CU)
  31668. #define ENET_TCSR_TMODE_SHIFT (2U)
  31669. /*! TMODE - Timer Mode
  31670. * 0b0000..Timer Channel is disabled.
  31671. * 0b0001..Timer Channel is configured for Input Capture on rising edge.
  31672. * 0b0010..Timer Channel is configured for Input Capture on falling edge.
  31673. * 0b0011..Timer Channel is configured for Input Capture on both edges.
  31674. * 0b0100..Timer Channel is configured for Output Compare - software only.
  31675. * 0b0101..Timer Channel is configured for Output Compare - toggle output on compare.
  31676. * 0b0110..Timer Channel is configured for Output Compare - clear output on compare.
  31677. * 0b0111..Timer Channel is configured for Output Compare - set output on compare.
  31678. * 0b1000..Reserved
  31679. * 0b1010..Timer Channel is configured for Output Compare - clear output on compare, set output on overflow.
  31680. * 0b10x1..Timer Channel is configured for Output Compare - set output on compare, clear output on overflow.
  31681. * 0b110x..Reserved
  31682. * 0b1110..Timer Channel is configured for Output Compare - pulse output low on compare for one 1588-clock cycle.
  31683. * 0b1111..Timer Channel is configured for Output Compare - pulse output high on compare for one 1588-clock cycle.
  31684. */
  31685. #define ENET_TCSR_TMODE(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCSR_TMODE_SHIFT)) & ENET_TCSR_TMODE_MASK)
  31686. #define ENET_TCSR_TIE_MASK (0x40U)
  31687. #define ENET_TCSR_TIE_SHIFT (6U)
  31688. /*! TIE - Timer Interrupt Enable
  31689. * 0b0..Interrupt is disabled
  31690. * 0b1..Interrupt is enabled
  31691. */
  31692. #define ENET_TCSR_TIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCSR_TIE_SHIFT)) & ENET_TCSR_TIE_MASK)
  31693. #define ENET_TCSR_TF_MASK (0x80U)
  31694. #define ENET_TCSR_TF_SHIFT (7U)
  31695. /*! TF - Timer Flag
  31696. * 0b0..Input Capture or Output Compare has not occurred.
  31697. * 0b1..Input Capture or Output Compare has occurred.
  31698. */
  31699. #define ENET_TCSR_TF(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCSR_TF_SHIFT)) & ENET_TCSR_TF_MASK)
  31700. #define ENET_TCSR_TPWC_MASK (0xF800U)
  31701. #define ENET_TCSR_TPWC_SHIFT (11U)
  31702. /*! TPWC - Timer PulseWidth Control
  31703. * 0b00000..Pulse width is one 1588-clock cycle.
  31704. * 0b00001..Pulse width is two 1588-clock cycles.
  31705. * 0b00010..Pulse width is three 1588-clock cycles.
  31706. * 0b00011..Pulse width is four 1588-clock cycles.
  31707. * 0b11111..Pulse width is 32 1588-clock cycles.
  31708. */
  31709. #define ENET_TCSR_TPWC(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCSR_TPWC_SHIFT)) & ENET_TCSR_TPWC_MASK)
  31710. /*! @} */
  31711. /* The count of ENET_TCSR */
  31712. #define ENET_TCSR_COUNT (4U)
  31713. /*! @name TCCR - Timer Compare Capture Register */
  31714. /*! @{ */
  31715. #define ENET_TCCR_TCC_MASK (0xFFFFFFFFU)
  31716. #define ENET_TCCR_TCC_SHIFT (0U)
  31717. /*! TCC - Timer Capture Compare
  31718. */
  31719. #define ENET_TCCR_TCC(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCCR_TCC_SHIFT)) & ENET_TCCR_TCC_MASK)
  31720. /*! @} */
  31721. /* The count of ENET_TCCR */
  31722. #define ENET_TCCR_COUNT (4U)
  31723. /*!
  31724. * @}
  31725. */ /* end of group ENET_Register_Masks */
  31726. /* ENET - Peripheral instance base addresses */
  31727. /** Peripheral ENET base address */
  31728. #define ENET_BASE (0x40424000u)
  31729. /** Peripheral ENET base pointer */
  31730. #define ENET ((ENET_Type *)ENET_BASE)
  31731. /** Peripheral ENET_1G base address */
  31732. #define ENET_1G_BASE (0x40420000u)
  31733. /** Peripheral ENET_1G base pointer */
  31734. #define ENET_1G ((ENET_Type *)ENET_1G_BASE)
  31735. /** Array initializer of ENET peripheral base addresses */
  31736. #define ENET_BASE_ADDRS { ENET_BASE, ENET_1G_BASE }
  31737. /** Array initializer of ENET peripheral base pointers */
  31738. #define ENET_BASE_PTRS { ENET, ENET_1G }
  31739. /** Interrupt vectors for the ENET peripheral type */
  31740. #define ENET_Transmit_IRQS { ENET_IRQn, ENET_1G_IRQn }
  31741. #define ENET_Receive_IRQS { ENET_IRQn, ENET_1G_IRQn }
  31742. #define ENET_Error_IRQS { ENET_IRQn, ENET_1G_IRQn }
  31743. #define ENET_1588_Timer_IRQS { ENET_1588_Timer_IRQn, ENET_1G_1588_Timer_IRQn }
  31744. #define ENET_Ts_IRQS { ENET_IRQn, ENET_1G_IRQn }
  31745. /* ENET Buffer Descriptor and Buffer Address Alignment. */
  31746. #define ENET_BUFF_ALIGNMENT (64U)
  31747. /*!
  31748. * @}
  31749. */ /* end of group ENET_Peripheral_Access_Layer */
  31750. /* ----------------------------------------------------------------------------
  31751. -- ENET_QOS Peripheral Access Layer
  31752. ---------------------------------------------------------------------------- */
  31753. /*!
  31754. * @addtogroup ENET_QOS_Peripheral_Access_Layer ENET_QOS Peripheral Access Layer
  31755. * @{
  31756. */
  31757. /** ENET_QOS - Register Layout Typedef */
  31758. typedef struct {
  31759. __IO uint32_t MAC_CONFIGURATION; /**< MAC Configuration Register, offset: 0x0 */
  31760. __IO uint32_t MAC_EXT_CONFIGURATION; /**< MAC Extended Configuration Register, offset: 0x4 */
  31761. __IO uint32_t MAC_PACKET_FILTER; /**< MAC Packet Filter, offset: 0x8 */
  31762. __IO uint32_t MAC_WATCHDOG_TIMEOUT; /**< Watchdog Timeout, offset: 0xC */
  31763. __IO uint32_t MAC_HASH_TABLE_REG0; /**< MAC Hash Table Register 0, offset: 0x10 */
  31764. __IO uint32_t MAC_HASH_TABLE_REG1; /**< MAC Hash Table Register 1, offset: 0x14 */
  31765. uint8_t RESERVED_0[56];
  31766. __IO uint32_t MAC_VLAN_TAG_CTRL; /**< MAC VLAN Tag Control, offset: 0x50 */
  31767. __IO uint32_t MAC_VLAN_TAG_DATA; /**< MAC VLAN Tag Data, offset: 0x54 */
  31768. __IO uint32_t MAC_VLAN_HASH_TABLE; /**< MAC VLAN Hash Table, offset: 0x58 */
  31769. uint8_t RESERVED_1[4];
  31770. __IO uint32_t MAC_VLAN_INCL; /**< VLAN Tag Inclusion or Replacement, offset: 0x60 */
  31771. __IO uint32_t MAC_INNER_VLAN_INCL; /**< MAC Inner VLAN Tag Inclusion or Replacement, offset: 0x64 */
  31772. uint8_t RESERVED_2[8];
  31773. __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 */
  31774. uint8_t RESERVED_3[12];
  31775. __IO uint32_t MAC_RX_FLOW_CTRL; /**< MAC Rx Flow Control, offset: 0x90 */
  31776. __IO uint32_t MAC_RXQ_CTRL4; /**< Receive Queue Control 4, offset: 0x94 */
  31777. __IO uint32_t MAC_TXQ_PRTY_MAP0; /**< Transmit Queue Priority Mapping 0, offset: 0x98 */
  31778. __IO uint32_t MAC_TXQ_PRTY_MAP1; /**< Transmit Queue Priority Mapping 1, offset: 0x9C */
  31779. __IO uint32_t MAC_RXQ_CTRL[4]; /**< Receive Queue Control 0..Receive Queue Control 3, array offset: 0xA0, array step: 0x4 */
  31780. __I uint32_t MAC_INTERRUPT_STATUS; /**< Interrupt Status, offset: 0xB0 */
  31781. __IO uint32_t MAC_INTERRUPT_ENABLE; /**< Interrupt Enable, offset: 0xB4 */
  31782. __I uint32_t MAC_RX_TX_STATUS; /**< Receive Transmit Status, offset: 0xB8 */
  31783. uint8_t RESERVED_4[4];
  31784. __IO uint32_t MAC_PMT_CONTROL_STATUS; /**< PMT Control and Status, offset: 0xC0 */
  31785. __IO uint32_t MAC_RWK_PACKET_FILTER; /**< Remote Wakeup Filter, offset: 0xC4 */
  31786. uint8_t RESERVED_5[8];
  31787. __IO uint32_t MAC_LPI_CONTROL_STATUS; /**< LPI Control and Status, offset: 0xD0 */
  31788. __IO uint32_t MAC_LPI_TIMERS_CONTROL; /**< LPI Timers Control, offset: 0xD4 */
  31789. __IO uint32_t MAC_LPI_ENTRY_TIMER; /**< Tx LPI Entry Timer Control, offset: 0xD8 */
  31790. __IO uint32_t MAC_ONEUS_TIC_COUNTER; /**< One-microsecond Reference Timer, offset: 0xDC */
  31791. uint8_t RESERVED_6[24];
  31792. __IO uint32_t MAC_PHYIF_CONTROL_STATUS; /**< PHY Interface Control and Status, offset: 0xF8 */
  31793. uint8_t RESERVED_7[20];
  31794. __I uint32_t MAC_VERSION; /**< MAC Version, offset: 0x110 */
  31795. __I uint32_t MAC_DEBUG; /**< MAC Debug, offset: 0x114 */
  31796. uint8_t RESERVED_8[4];
  31797. __I uint32_t MAC_HW_FEAT[4]; /**< Optional Features or Functions 0..Optional Features or Functions 3, array offset: 0x11C, array step: 0x4 */
  31798. uint8_t RESERVED_9[212];
  31799. __IO uint32_t MAC_MDIO_ADDRESS; /**< MDIO Address, offset: 0x200 */
  31800. __IO uint32_t MAC_MDIO_DATA; /**< MAC MDIO Data, offset: 0x204 */
  31801. uint8_t RESERVED_10[40];
  31802. __IO uint32_t MAC_CSR_SW_CTRL; /**< CSR Software Control, offset: 0x230 */
  31803. __IO uint32_t MAC_FPE_CTRL_STS; /**< Frame Preemption Control, offset: 0x234 */
  31804. uint8_t RESERVED_11[8];
  31805. __I uint32_t MAC_PRESN_TIME_NS; /**< 32-bit Binary Rollover Equivalent Time, offset: 0x240 */
  31806. __IO uint32_t MAC_PRESN_TIME_UPDT; /**< MAC 1722 Presentation Time, offset: 0x244 */
  31807. uint8_t RESERVED_12[184];
  31808. struct { /* offset: 0x300, array step: 0x8 */
  31809. __IO uint32_t HIGH; /**< MAC Address0 High..MAC Address63 High, array offset: 0x300, array step: 0x8 */
  31810. __IO uint32_t LOW; /**< MAC Address0 Low..MAC Address63 Low, array offset: 0x304, array step: 0x8 */
  31811. } MAC_ADDRESS[64];
  31812. uint8_t RESERVED_13[512];
  31813. __IO uint32_t MAC_MMC_CONTROL; /**< MMC Control, offset: 0x700 */
  31814. __I uint32_t MAC_MMC_RX_INTERRUPT; /**< MMC Rx Interrupt, offset: 0x704 */
  31815. __I uint32_t MAC_MMC_TX_INTERRUPT; /**< MMC Tx Interrupt, offset: 0x708 */
  31816. __IO uint32_t MAC_MMC_RX_INTERRUPT_MASK; /**< MMC Rx Interrupt Mask, offset: 0x70C */
  31817. __IO uint32_t MAC_MMC_TX_INTERRUPT_MASK; /**< MMC Tx Interrupt Mask, offset: 0x710 */
  31818. __I uint32_t MAC_TX_OCTET_COUNT_GOOD_BAD; /**< Tx Octet Count Good and Bad, offset: 0x714 */
  31819. __I uint32_t MAC_TX_PACKET_COUNT_GOOD_BAD; /**< Tx Packet Count Good and Bad, offset: 0x718 */
  31820. __I uint32_t MAC_TX_BROADCAST_PACKETS_GOOD; /**< Tx Broadcast Packets Good, offset: 0x71C */
  31821. __I uint32_t MAC_TX_MULTICAST_PACKETS_GOOD; /**< Tx Multicast Packets Good, offset: 0x720 */
  31822. __I uint32_t MAC_TX_64OCTETS_PACKETS_GOOD_BAD; /**< Tx Good and Bad 64-Byte Packets, offset: 0x724 */
  31823. __I uint32_t MAC_TX_65TO127OCTETS_PACKETS_GOOD_BAD; /**< Tx Good and Bad 65 to 127-Byte Packets, offset: 0x728 */
  31824. __I uint32_t MAC_TX_128TO255OCTETS_PACKETS_GOOD_BAD; /**< Tx Good and Bad 128 to 255-Byte Packets, offset: 0x72C */
  31825. __I uint32_t MAC_TX_256TO511OCTETS_PACKETS_GOOD_BAD; /**< Tx Good and Bad 256 to 511-Byte Packets, offset: 0x730 */
  31826. __I uint32_t MAC_TX_512TO1023OCTETS_PACKETS_GOOD_BAD; /**< Tx Good and Bad 512 to 1023-Byte Packets, offset: 0x734 */
  31827. __I uint32_t MAC_TX_1024TOMAXOCTETS_PACKETS_GOOD_BAD; /**< Tx Good and Bad 1024 to Max-Byte Packets, offset: 0x738 */
  31828. __I uint32_t MAC_TX_UNICAST_PACKETS_GOOD_BAD; /**< Good and Bad Unicast Packets Transmitted, offset: 0x73C */
  31829. __I uint32_t MAC_TX_MULTICAST_PACKETS_GOOD_BAD; /**< Good and Bad Multicast Packets Transmitted, offset: 0x740 */
  31830. __I uint32_t MAC_TX_BROADCAST_PACKETS_GOOD_BAD; /**< Good and Bad Broadcast Packets Transmitted, offset: 0x744 */
  31831. __I uint32_t MAC_TX_UNDERFLOW_ERROR_PACKETS; /**< Tx Packets Aborted By Underflow Error, offset: 0x748 */
  31832. __I uint32_t MAC_TX_SINGLE_COLLISION_GOOD_PACKETS; /**< Single Collision Good Packets Transmitted, offset: 0x74C */
  31833. __I uint32_t MAC_TX_MULTIPLE_COLLISION_GOOD_PACKETS; /**< Multiple Collision Good Packets Transmitted, offset: 0x750 */
  31834. __I uint32_t MAC_TX_DEFERRED_PACKETS; /**< Deferred Packets Transmitted, offset: 0x754 */
  31835. __I uint32_t MAC_TX_LATE_COLLISION_PACKETS; /**< Late Collision Packets Transmitted, offset: 0x758 */
  31836. __I uint32_t MAC_TX_EXCESSIVE_COLLISION_PACKETS; /**< Excessive Collision Packets Transmitted, offset: 0x75C */
  31837. __I uint32_t MAC_TX_CARRIER_ERROR_PACKETS; /**< Carrier Error Packets Transmitted, offset: 0x760 */
  31838. __I uint32_t MAC_TX_OCTET_COUNT_GOOD; /**< Bytes Transmitted in Good Packets, offset: 0x764 */
  31839. __I uint32_t MAC_TX_PACKET_COUNT_GOOD; /**< Good Packets Transmitted, offset: 0x768 */
  31840. __I uint32_t MAC_TX_EXCESSIVE_DEFERRAL_ERROR; /**< Packets Aborted By Excessive Deferral Error, offset: 0x76C */
  31841. __I uint32_t MAC_TX_PAUSE_PACKETS; /**< Pause Packets Transmitted, offset: 0x770 */
  31842. __I uint32_t MAC_TX_VLAN_PACKETS_GOOD; /**< Good VLAN Packets Transmitted, offset: 0x774 */
  31843. __I uint32_t MAC_TX_OSIZE_PACKETS_GOOD; /**< Good Oversize Packets Transmitted, offset: 0x778 */
  31844. uint8_t RESERVED_14[4];
  31845. __I uint32_t MAC_RX_PACKETS_COUNT_GOOD_BAD; /**< Good and Bad Packets Received, offset: 0x780 */
  31846. __I uint32_t MAC_RX_OCTET_COUNT_GOOD_BAD; /**< Bytes in Good and Bad Packets Received, offset: 0x784 */
  31847. __I uint32_t MAC_RX_OCTET_COUNT_GOOD; /**< Bytes in Good Packets Received, offset: 0x788 */
  31848. __I uint32_t MAC_RX_BROADCAST_PACKETS_GOOD; /**< Good Broadcast Packets Received, offset: 0x78C */
  31849. __I uint32_t MAC_RX_MULTICAST_PACKETS_GOOD; /**< Good Multicast Packets Received, offset: 0x790 */
  31850. __I uint32_t MAC_RX_CRC_ERROR_PACKETS; /**< CRC Error Packets Received, offset: 0x794 */
  31851. __I uint32_t MAC_RX_ALIGNMENT_ERROR_PACKETS; /**< Alignment Error Packets Received, offset: 0x798 */
  31852. __I uint32_t MAC_RX_RUNT_ERROR_PACKETS; /**< Runt Error Packets Received, offset: 0x79C */
  31853. __I uint32_t MAC_RX_JABBER_ERROR_PACKETS; /**< Jabber Error Packets Received, offset: 0x7A0 */
  31854. __I uint32_t MAC_RX_UNDERSIZE_PACKETS_GOOD; /**< Good Undersize Packets Received, offset: 0x7A4 */
  31855. __I uint32_t MAC_RX_OVERSIZE_PACKETS_GOOD; /**< Good Oversize Packets Received, offset: 0x7A8 */
  31856. __I uint32_t MAC_RX_64OCTETS_PACKETS_GOOD_BAD; /**< Good and Bad 64-Byte Packets Received, offset: 0x7AC */
  31857. __I uint32_t MAC_RX_65TO127OCTETS_PACKETS_GOOD_BAD; /**< Good and Bad 64-to-127 Byte Packets Received, offset: 0x7B0 */
  31858. __I uint32_t MAC_RX_128TO255OCTETS_PACKETS_GOOD_BAD; /**< Good and Bad 128-to-255 Byte Packets Received, offset: 0x7B4 */
  31859. __I uint32_t MAC_RX_256TO511OCTETS_PACKETS_GOOD_BAD; /**< Good and Bad 256-to-511 Byte Packets Received, offset: 0x7B8 */
  31860. __I uint32_t MAC_RX_512TO1023OCTETS_PACKETS_GOOD_BAD; /**< Good and Bad 512-to-1023 Byte Packets Received, offset: 0x7BC */
  31861. __I uint32_t MAC_RX_1024TOMAXOCTETS_PACKETS_GOOD_BAD; /**< Good and Bad 1024-to-Max Byte Packets Received, offset: 0x7C0 */
  31862. __I uint32_t MAC_RX_UNICAST_PACKETS_GOOD; /**< Good Unicast Packets Received, offset: 0x7C4 */
  31863. __I uint32_t MAC_RX_LENGTH_ERROR_PACKETS; /**< Length Error Packets Received, offset: 0x7C8 */
  31864. __I uint32_t MAC_RX_OUT_OF_RANGE_TYPE_PACKETS; /**< Out-of-range Type Packets Received, offset: 0x7CC */
  31865. __I uint32_t MAC_RX_PAUSE_PACKETS; /**< Pause Packets Received, offset: 0x7D0 */
  31866. __I uint32_t MAC_RX_FIFO_OVERFLOW_PACKETS; /**< Missed Packets Due to FIFO Overflow, offset: 0x7D4 */
  31867. __I uint32_t MAC_RX_VLAN_PACKETS_GOOD_BAD; /**< Good and Bad VLAN Packets Received, offset: 0x7D8 */
  31868. __I uint32_t MAC_RX_WATCHDOG_ERROR_PACKETS; /**< Watchdog Error Packets Received, offset: 0x7DC */
  31869. __I uint32_t MAC_RX_RECEIVE_ERROR_PACKETS; /**< Receive Error Packets Received, offset: 0x7E0 */
  31870. __I uint32_t MAC_RX_CONTROL_PACKETS_GOOD; /**< Good Control Packets Received, offset: 0x7E4 */
  31871. uint8_t RESERVED_15[4];
  31872. __I uint32_t MAC_TX_LPI_USEC_CNTR; /**< Microseconds Tx LPI Asserted, offset: 0x7EC */
  31873. __I uint32_t MAC_TX_LPI_TRAN_CNTR; /**< Number of Times Tx LPI Asserted, offset: 0x7F0 */
  31874. __I uint32_t MAC_RX_LPI_USEC_CNTR; /**< Microseconds Rx LPI Sampled, offset: 0x7F4 */
  31875. __I uint32_t MAC_RX_LPI_TRAN_CNTR; /**< Number of Times Rx LPI Entered, offset: 0x7F8 */
  31876. uint8_t RESERVED_16[4];
  31877. __IO uint32_t MAC_MMC_IPC_RX_INTERRUPT_MASK; /**< MMC IPC Receive Interrupt Mask, offset: 0x800 */
  31878. uint8_t RESERVED_17[4];
  31879. __I uint32_t MAC_MMC_IPC_RX_INTERRUPT; /**< MMC IPC Receive Interrupt, offset: 0x808 */
  31880. uint8_t RESERVED_18[4];
  31881. __I uint32_t MAC_RXIPV4_GOOD_PACKETS; /**< Good IPv4 Datagrams Received, offset: 0x810 */
  31882. __I uint32_t MAC_RXIPV4_HEADER_ERROR_PACKETS; /**< IPv4 Datagrams Received with Header Errors, offset: 0x814 */
  31883. __I uint32_t MAC_RXIPV4_NO_PAYLOAD_PACKETS; /**< IPv4 Datagrams Received with No Payload, offset: 0x818 */
  31884. __I uint32_t MAC_RXIPV4_FRAGMENTED_PACKETS; /**< IPv4 Datagrams Received with Fragmentation, offset: 0x81C */
  31885. __I uint32_t MAC_RXIPV4_UDP_CHECKSUM_DISABLED_PACKETS; /**< IPv4 Datagrams Received with UDP Checksum Disabled, offset: 0x820 */
  31886. __I uint32_t MAC_RXIPV6_GOOD_PACKETS; /**< Good IPv6 Datagrams Received, offset: 0x824 */
  31887. __I uint32_t MAC_RXIPV6_HEADER_ERROR_PACKETS; /**< IPv6 Datagrams Received with Header Errors, offset: 0x828 */
  31888. __I uint32_t MAC_RXIPV6_NO_PAYLOAD_PACKETS; /**< IPv6 Datagrams Received with No Payload, offset: 0x82C */
  31889. __I uint32_t MAC_RXUDP_GOOD_PACKETS; /**< IPv6 Datagrams Received with Good UDP, offset: 0x830 */
  31890. __I uint32_t MAC_RXUDP_ERROR_PACKETS; /**< IPv6 Datagrams Received with UDP Checksum Error, offset: 0x834 */
  31891. __I uint32_t MAC_RXTCP_GOOD_PACKETS; /**< IPv6 Datagrams Received with Good TCP Payload, offset: 0x838 */
  31892. __I uint32_t MAC_RXTCP_ERROR_PACKETS; /**< IPv6 Datagrams Received with TCP Checksum Error, offset: 0x83C */
  31893. __I uint32_t MAC_RXICMP_GOOD_PACKETS; /**< IPv6 Datagrams Received with Good ICMP Payload, offset: 0x840 */
  31894. __I uint32_t MAC_RXICMP_ERROR_PACKETS; /**< IPv6 Datagrams Received with ICMP Checksum Error, offset: 0x844 */
  31895. uint8_t RESERVED_19[8];
  31896. __I uint32_t MAC_RXIPV4_GOOD_OCTETS; /**< Good Bytes Received in IPv4 Datagrams, offset: 0x850 */
  31897. __I uint32_t MAC_RXIPV4_HEADER_ERROR_OCTETS; /**< Bytes Received in IPv4 Datagrams with Header Errors, offset: 0x854 */
  31898. __I uint32_t MAC_RXIPV4_NO_PAYLOAD_OCTETS; /**< Bytes Received in IPv4 Datagrams with No Payload, offset: 0x858 */
  31899. __I uint32_t MAC_RXIPV4_FRAGMENTED_OCTETS; /**< Bytes Received in Fragmented IPv4 Datagrams, offset: 0x85C */
  31900. __I uint32_t MAC_RXIPV4_UDP_CHECKSUM_DISABLE_OCTETS; /**< Bytes Received with UDP Checksum Disabled, offset: 0x860 */
  31901. __I uint32_t MAC_RXIPV6_GOOD_OCTETS; /**< Bytes Received in Good IPv6 Datagrams, offset: 0x864 */
  31902. __I uint32_t MAC_RXIPV6_HEADER_ERROR_OCTETS; /**< Bytes Received in IPv6 Datagrams with Data Errors, offset: 0x868 */
  31903. __I uint32_t MAC_RXIPV6_NO_PAYLOAD_OCTETS; /**< Bytes Received in IPv6 Datagrams with No Payload, offset: 0x86C */
  31904. __I uint32_t MAC_RXUDP_GOOD_OCTETS; /**< Bytes Received in Good UDP Segment, offset: 0x870 */
  31905. __I uint32_t MAC_RXUDP_ERROR_OCTETS; /**< Bytes Received in UDP Segment with Checksum Errors, offset: 0x874 */
  31906. __I uint32_t MAC_RXTCP_GOOD_OCTETS; /**< Bytes Received in Good TCP Segment, offset: 0x878 */
  31907. __I uint32_t MAC_RXTCP_ERROR_OCTETS; /**< Bytes Received in TCP Segment with Checksum Errors, offset: 0x87C */
  31908. __I uint32_t MAC_RXICMP_GOOD_OCTETS; /**< Bytes Received in Good ICMP Segment, offset: 0x880 */
  31909. __I uint32_t MAC_RXICMP_ERROR_OCTETS; /**< Bytes Received in ICMP Segment with Checksum Errors, offset: 0x884 */
  31910. uint8_t RESERVED_20[24];
  31911. __I uint32_t MAC_MMC_FPE_TX_INTERRUPT; /**< MMC FPE Transmit Interrupt, offset: 0x8A0 */
  31912. __IO uint32_t MAC_MMC_FPE_TX_INTERRUPT_MASK; /**< MMC FPE Transmit Mask Interrupt, offset: 0x8A4 */
  31913. __I uint32_t MAC_MMC_TX_FPE_FRAGMENT_CNTR; /**< MMC FPE Transmitted Fragment Counter, offset: 0x8A8 */
  31914. __I uint32_t MAC_MMC_TX_HOLD_REQ_CNTR; /**< MMC FPE Transmitted Hold Request Counter, offset: 0x8AC */
  31915. uint8_t RESERVED_21[16];
  31916. __I uint32_t MAC_MMC_FPE_RX_INTERRUPT; /**< MMC FPE Receive Interrupt, offset: 0x8C0 */
  31917. __IO uint32_t MAC_MMC_FPE_RX_INTERRUPT_MASK; /**< MMC FPE Receive Interrupt Mask, offset: 0x8C4 */
  31918. __I uint32_t MAC_MMC_RX_PACKET_ASSEMBLY_ERR_CNTR; /**< MMC Receive Packet Reassembly Error Counter, offset: 0x8C8 */
  31919. __I uint32_t MAC_MMC_RX_PACKET_SMD_ERR_CNTR; /**< MMC Receive Packet SMD Error Counter, offset: 0x8CC */
  31920. __I uint32_t MAC_MMC_RX_PACKET_ASSEMBLY_OK_CNTR; /**< MMC Receive Packet Successful Reassembly Counter, offset: 0x8D0 */
  31921. __I uint32_t MAC_MMC_RX_FPE_FRAGMENT_CNTR; /**< MMC FPE Received Fragment Counter, offset: 0x8D4 */
  31922. uint8_t RESERVED_22[40];
  31923. __IO uint32_t MAC_L3_L4_CONTROL0; /**< Layer 3 and Layer 4 Control of Filter 0, offset: 0x900 */
  31924. __IO uint32_t MAC_LAYER4_ADDRESS0; /**< Layer 4 Address 0, offset: 0x904 */
  31925. uint8_t RESERVED_23[8];
  31926. __IO uint32_t MAC_LAYER3_ADDR0_REG0; /**< Layer 3 Address 0 Register 0, offset: 0x910 */
  31927. __IO uint32_t MAC_LAYER3_ADDR1_REG0; /**< Layer 3 Address 1 Register 0, offset: 0x914 */
  31928. __IO uint32_t MAC_LAYER3_ADDR2_REG0; /**< Layer 3 Address 2 Register 0, offset: 0x918 */
  31929. __IO uint32_t MAC_LAYER3_ADDR3_REG0; /**< Layer 3 Address 3 Register 0, offset: 0x91C */
  31930. uint8_t RESERVED_24[16];
  31931. __IO uint32_t MAC_L3_L4_CONTROL1; /**< Layer 3 and Layer 4 Control of Filter 1, offset: 0x930 */
  31932. __IO uint32_t MAC_LAYER4_ADDRESS1; /**< Layer 4 Address 0, offset: 0x934 */
  31933. uint8_t RESERVED_25[8];
  31934. __IO uint32_t MAC_LAYER3_ADDR0_REG1; /**< Layer 3 Address 0 Register 1, offset: 0x940 */
  31935. __IO uint32_t MAC_LAYER3_ADDR1_REG1; /**< Layer 3 Address 1 Register 1, offset: 0x944 */
  31936. __IO uint32_t MAC_LAYER3_ADDR2_REG1; /**< Layer 3 Address 2 Register 1, offset: 0x948 */
  31937. __IO uint32_t MAC_LAYER3_ADDR3_REG1; /**< Layer 3 Address 3 Register 1, offset: 0x94C */
  31938. uint8_t RESERVED_26[16];
  31939. __IO uint32_t MAC_L3_L4_CONTROL2; /**< Layer 3 and Layer 4 Control of Filter 2, offset: 0x960 */
  31940. __IO uint32_t MAC_LAYER4_ADDRESS2; /**< Layer 4 Address 2, offset: 0x964 */
  31941. uint8_t RESERVED_27[8];
  31942. __IO uint32_t MAC_LAYER3_ADDR0_REG2; /**< Layer 3 Address 0 Register 2, offset: 0x970 */
  31943. __IO uint32_t MAC_LAYER3_ADDR1_REG2; /**< Layer 3 Address 0 Register 2, offset: 0x974 */
  31944. __IO uint32_t MAC_LAYER3_ADDR2_REG2; /**< Layer 3 Address 2 Register 2, offset: 0x978 */
  31945. __IO uint32_t MAC_LAYER3_ADDR3_REG2; /**< Layer 3 Address 3 Register 2, offset: 0x97C */
  31946. uint8_t RESERVED_28[16];
  31947. __IO uint32_t MAC_L3_L4_CONTROL3; /**< Layer 3 and Layer 4 Control of Filter 3, offset: 0x990 */
  31948. __IO uint32_t MAC_LAYER4_ADDRESS3; /**< Layer 4 Address 3, offset: 0x994 */
  31949. uint8_t RESERVED_29[8];
  31950. __IO uint32_t MAC_LAYER3_ADDR0_REG3; /**< Layer 3 Address 0 Register 3, offset: 0x9A0 */
  31951. __IO uint32_t MAC_LAYER3_ADDR1_REG3; /**< Layer 3 Address 1 Register 3, offset: 0x9A4 */
  31952. __IO uint32_t MAC_LAYER3_ADDR2_REG3; /**< Layer 3 Address 2 Register 3, offset: 0x9A8 */
  31953. __IO uint32_t MAC_LAYER3_ADDR3_REG3; /**< Layer 3 Address 3 Register 3, offset: 0x9AC */
  31954. uint8_t RESERVED_30[16];
  31955. __IO uint32_t MAC_L3_L4_CONTROL4; /**< Layer 3 and Layer 4 Control of Filter 4, offset: 0x9C0 */
  31956. __IO uint32_t MAC_LAYER4_ADDRESS4; /**< Layer 4 Address 4, offset: 0x9C4 */
  31957. uint8_t RESERVED_31[8];
  31958. __IO uint32_t MAC_LAYER3_ADDR0_REG4; /**< Layer 3 Address 0 Register 4, offset: 0x9D0 */
  31959. __IO uint32_t MAC_LAYER3_ADDR1_REG4; /**< Layer 3 Address 1 Register 4, offset: 0x9D4 */
  31960. __IO uint32_t MAC_LAYER3_ADDR2_REG4; /**< Layer 3 Address 2 Register 4, offset: 0x9D8 */
  31961. __IO uint32_t MAC_LAYER3_ADDR3_REG4; /**< Layer 3 Address 3 Register 4, offset: 0x9DC */
  31962. uint8_t RESERVED_32[16];
  31963. __IO uint32_t MAC_L3_L4_CONTROL5; /**< Layer 3 and Layer 4 Control of Filter 5, offset: 0x9F0 */
  31964. __IO uint32_t MAC_LAYER4_ADDRESS5; /**< Layer 4 Address 5, offset: 0x9F4 */
  31965. uint8_t RESERVED_33[8];
  31966. __IO uint32_t MAC_LAYER3_ADDR0_REG5; /**< Layer 3 Address 0 Register 5, offset: 0xA00 */
  31967. __IO uint32_t MAC_LAYER3_ADDR1_REG5; /**< Layer 3 Address 1 Register 5, offset: 0xA04 */
  31968. __IO uint32_t MAC_LAYER3_ADDR2_REG5; /**< Layer 3 Address 2 Register 5, offset: 0xA08 */
  31969. __IO uint32_t MAC_LAYER3_ADDR3_REG5; /**< Layer 3 Address 3 Register 5, offset: 0xA0C */
  31970. uint8_t RESERVED_34[16];
  31971. __IO uint32_t MAC_L3_L4_CONTROL6; /**< Layer 3 and Layer 4 Control of Filter 6, offset: 0xA20 */
  31972. __IO uint32_t MAC_LAYER4_ADDRESS6; /**< Layer 4 Address 6, offset: 0xA24 */
  31973. uint8_t RESERVED_35[8];
  31974. __IO uint32_t MAC_LAYER3_ADDR0_REG6; /**< Layer 3 Address 0 Register 6, offset: 0xA30 */
  31975. __IO uint32_t MAC_LAYER3_ADDR1_REG6; /**< Layer 3 Address 1 Register 6, offset: 0xA34 */
  31976. __IO uint32_t MAC_LAYER3_ADDR2_REG6; /**< Layer 3 Address 2 Register 6, offset: 0xA38 */
  31977. __IO uint32_t MAC_LAYER3_ADDR3_REG6; /**< Layer 3 Address 3 Register 6, offset: 0xA3C */
  31978. uint8_t RESERVED_36[16];
  31979. __IO uint32_t MAC_L3_L4_CONTROL7; /**< Layer 3 and Layer 4 Control of Filter 0, offset: 0xA50 */
  31980. __IO uint32_t MAC_LAYER4_ADDRESS7; /**< Layer 4 Address 7, offset: 0xA54 */
  31981. uint8_t RESERVED_37[8];
  31982. __IO uint32_t MAC_LAYER3_ADDR0_REG7; /**< Layer 3 Address 0 Register 7, offset: 0xA60 */
  31983. __IO uint32_t MAC_LAYER3_ADDR1_REG7; /**< Layer 3 Address 1 Register 7, offset: 0xA64 */
  31984. __IO uint32_t MAC_LAYER3_ADDR2_REG7; /**< Layer 3 Address 2 Register 7, offset: 0xA68 */
  31985. __IO uint32_t MAC_LAYER3_ADDR3_REG7; /**< Layer 3 Address 3 Register 7, offset: 0xA6C */
  31986. uint8_t RESERVED_38[144];
  31987. __IO uint32_t MAC_TIMESTAMP_CONTROL; /**< Timestamp Control, offset: 0xB00 */
  31988. __IO uint32_t MAC_SUB_SECOND_INCREMENT; /**< Subsecond Increment, offset: 0xB04 */
  31989. __I uint32_t MAC_SYSTEM_TIME_SECONDS; /**< System Time Seconds, offset: 0xB08 */
  31990. __I uint32_t MAC_SYSTEM_TIME_NANOSECONDS; /**< System Time Nanoseconds, offset: 0xB0C */
  31991. __IO uint32_t MAC_SYSTEM_TIME_SECONDS_UPDATE; /**< System Time Seconds Update, offset: 0xB10 */
  31992. __IO uint32_t MAC_SYSTEM_TIME_NANOSECONDS_UPDATE; /**< System Time Nanoseconds Update, offset: 0xB14 */
  31993. __IO uint32_t MAC_TIMESTAMP_ADDEND; /**< Timestamp Addend, offset: 0xB18 */
  31994. __IO uint32_t MAC_SYSTEM_TIME_HIGHER_WORD_SECONDS; /**< System Time - Higher Word Seconds, offset: 0xB1C */
  31995. __I uint32_t MAC_TIMESTAMP_STATUS; /**< Timestamp Status, offset: 0xB20 */
  31996. uint8_t RESERVED_39[12];
  31997. __I uint32_t MAC_TX_TIMESTAMP_STATUS_NANOSECONDS; /**< Transmit Timestamp Status Nanoseconds, offset: 0xB30 */
  31998. __I uint32_t MAC_TX_TIMESTAMP_STATUS_SECONDS; /**< Transmit Timestamp Status Seconds, offset: 0xB34 */
  31999. uint8_t RESERVED_40[8];
  32000. __IO uint32_t MAC_AUXILIARY_CONTROL; /**< Auxiliary Timestamp Control, offset: 0xB40 */
  32001. uint8_t RESERVED_41[4];
  32002. __I uint32_t MAC_AUXILIARY_TIMESTAMP_NANOSECONDS; /**< Auxiliary Timestamp Nanoseconds, offset: 0xB48 */
  32003. __I uint32_t MAC_AUXILIARY_TIMESTAMP_SECONDS; /**< Auxiliary Timestamp Seconds, offset: 0xB4C */
  32004. __IO uint32_t MAC_TIMESTAMP_INGRESS_ASYM_CORR; /**< Timestamp Ingress Asymmetry Correction, offset: 0xB50 */
  32005. __IO uint32_t MAC_TIMESTAMP_EGRESS_ASYM_CORR; /**< imestamp Egress Asymmetry Correction, offset: 0xB54 */
  32006. __IO uint32_t MAC_TIMESTAMP_INGRESS_CORR_NANOSECOND; /**< Timestamp Ingress Correction Nanosecond, offset: 0xB58 */
  32007. __IO uint32_t MAC_TIMESTAMP_EGRESS_CORR_NANOSECOND; /**< Timestamp Egress Correction Nanosecond, offset: 0xB5C */
  32008. __IO uint32_t MAC_TIMESTAMP_INGRESS_CORR_SUBNANOSEC; /**< Timestamp Ingress Correction Subnanosecond, offset: 0xB60 */
  32009. __IO uint32_t MAC_TIMESTAMP_EGRESS_CORR_SUBNANOSEC; /**< Timestamp Egress Correction Subnanosecond, offset: 0xB64 */
  32010. __I uint32_t MAC_TIMESTAMP_INGRESS_LATENCY; /**< Timestamp Ingress Latency, offset: 0xB68 */
  32011. __I uint32_t MAC_TIMESTAMP_EGRESS_LATENCY; /**< Timestamp Egress Latency, offset: 0xB6C */
  32012. __IO uint32_t MAC_PPS_CONTROL; /**< PPS Control, offset: 0xB70 */
  32013. uint8_t RESERVED_42[12];
  32014. __IO uint32_t MAC_PPS0_TARGET_TIME_SECONDS; /**< PPS0 Target Time Seconds, offset: 0xB80 */
  32015. __IO uint32_t MAC_PPS0_TARGET_TIME_NANOSECONDS; /**< PPS0 Target Time Nanoseconds, offset: 0xB84 */
  32016. __IO uint32_t MAC_PPS0_INTERVAL; /**< PPS0 Interval, offset: 0xB88 */
  32017. __IO uint32_t MAC_PPS0_WIDTH; /**< PPS0 Width, offset: 0xB8C */
  32018. __IO uint32_t MAC_PPS1_TARGET_TIME_SECONDS; /**< PPS1 Target Time Seconds, offset: 0xB90 */
  32019. __IO uint32_t MAC_PPS1_TARGET_TIME_NANOSECONDS; /**< PPS1 Target Time Nanoseconds, offset: 0xB94 */
  32020. __IO uint32_t MAC_PPS1_INTERVAL; /**< PPS1 Interval, offset: 0xB98 */
  32021. __IO uint32_t MAC_PPS1_WIDTH; /**< PPS1 Width, offset: 0xB9C */
  32022. __IO uint32_t MAC_PPS2_TARGET_TIME_SECONDS; /**< PPS2 Target Time Seconds, offset: 0xBA0 */
  32023. __IO uint32_t MAC_PPS2_TARGET_TIME_NANOSECONDS; /**< PPS2 Target Time Nanoseconds, offset: 0xBA4 */
  32024. __IO uint32_t MAC_PPS2_INTERVAL; /**< PPS2 Interval, offset: 0xBA8 */
  32025. __IO uint32_t MAC_PPS2_WIDTH; /**< PPS2 Width, offset: 0xBAC */
  32026. __IO uint32_t MAC_PPS3_TARGET_TIME_SECONDS; /**< PPS3 Target Time Seconds, offset: 0xBB0 */
  32027. __IO uint32_t MAC_PPS3_TARGET_TIME_NANOSECONDS; /**< PPS3 Target Time Nanoseconds, offset: 0xBB4 */
  32028. __IO uint32_t MAC_PPS3_INTERVAL; /**< PPS3 Interval, offset: 0xBB8 */
  32029. __IO uint32_t MAC_PPS3_WIDTH; /**< PPS3 Width, offset: 0xBBC */
  32030. __IO uint32_t MAC_PTO_CONTROL; /**< PTP Offload Engine Control, offset: 0xBC0 */
  32031. __IO uint32_t MAC_SOURCE_PORT_IDENTITY0; /**< Source Port Identity 0, offset: 0xBC4 */
  32032. __IO uint32_t MAC_SOURCE_PORT_IDENTITY1; /**< Source Port Identity 1, offset: 0xBC8 */
  32033. __IO uint32_t MAC_SOURCE_PORT_IDENTITY2; /**< Source Port Identity 2, offset: 0xBCC */
  32034. __IO uint32_t MAC_LOG_MESSAGE_INTERVAL; /**< Log Message Interval, offset: 0xBD0 */
  32035. uint8_t RESERVED_43[44];
  32036. __IO uint32_t MTL_OPERATION_MODE; /**< MTL Operation Mode, offset: 0xC00 */
  32037. uint8_t RESERVED_44[4];
  32038. __IO uint32_t MTL_DBG_CTL; /**< FIFO Debug Access Control and Status, offset: 0xC08 */
  32039. __IO uint32_t MTL_DBG_STS; /**< FIFO Debug Status, offset: 0xC0C */
  32040. __IO uint32_t MTL_FIFO_DEBUG_DATA; /**< FIFO Debug Data, offset: 0xC10 */
  32041. uint8_t RESERVED_45[12];
  32042. __I uint32_t MTL_INTERRUPT_STATUS; /**< MTL Interrupt Status, offset: 0xC20 */
  32043. uint8_t RESERVED_46[12];
  32044. __IO uint32_t MTL_RXQ_DMA_MAP0; /**< Receive Queue and DMA Channel Mapping 0, offset: 0xC30 */
  32045. __IO uint32_t MTL_RXQ_DMA_MAP1; /**< Receive Queue and DMA Channel Mapping 1, offset: 0xC34 */
  32046. uint8_t RESERVED_47[8];
  32047. __IO uint32_t MTL_TBS_CTRL; /**< Time Based Scheduling Control, offset: 0xC40 */
  32048. uint8_t RESERVED_48[12];
  32049. __IO uint32_t MTL_EST_CONTROL; /**< Enhancements to Scheduled Transmission Control, offset: 0xC50 */
  32050. uint8_t RESERVED_49[4];
  32051. __IO uint32_t MTL_EST_STATUS; /**< Enhancements to Scheduled Transmission Status, offset: 0xC58 */
  32052. uint8_t RESERVED_50[4];
  32053. __IO uint32_t MTL_EST_SCH_ERROR; /**< EST Scheduling Error, offset: 0xC60 */
  32054. __IO uint32_t MTL_EST_FRM_SIZE_ERROR; /**< EST Frame Size Error, offset: 0xC64 */
  32055. __I uint32_t MTL_EST_FRM_SIZE_CAPTURE; /**< EST Frame Size Capture, offset: 0xC68 */
  32056. uint8_t RESERVED_51[4];
  32057. __IO uint32_t MTL_EST_INTR_ENABLE; /**< EST Interrupt Enable, offset: 0xC70 */
  32058. uint8_t RESERVED_52[12];
  32059. __IO uint32_t MTL_EST_GCL_CONTROL; /**< EST GCL Control, offset: 0xC80 */
  32060. __IO uint32_t MTL_EST_GCL_DATA; /**< EST GCL Data, offset: 0xC84 */
  32061. uint8_t RESERVED_53[8];
  32062. __IO uint32_t MTL_FPE_CTRL_STS; /**< Frame Preemption Control and Status, offset: 0xC90 */
  32063. __IO uint32_t MTL_FPE_ADVANCE; /**< Frame Preemption Hold and Release Advance, offset: 0xC94 */
  32064. uint8_t RESERVED_54[8];
  32065. __IO uint32_t MTL_RXP_CONTROL_STATUS; /**< RXP Control Status, offset: 0xCA0 */
  32066. __IO uint32_t MTL_RXP_INTERRUPT_CONTROL_STATUS; /**< RXP Interrupt Control Status, offset: 0xCA4 */
  32067. __I uint32_t MTL_RXP_DROP_CNT; /**< RXP Drop Count, offset: 0xCA8 */
  32068. __I uint32_t MTL_RXP_ERROR_CNT; /**< RXP Error Count, offset: 0xCAC */
  32069. __IO uint32_t MTL_RXP_INDIRECT_ACC_CONTROL_STATUS; /**< RXP Indirect Access Control and Status, offset: 0xCB0 */
  32070. __IO uint32_t MTL_RXP_INDIRECT_ACC_DATA; /**< RXP Indirect Access Data, offset: 0xCB4 */
  32071. uint8_t RESERVED_55[72];
  32072. struct { /* offset: 0xD00, array step: 0x40 */
  32073. __IO uint32_t MTL_TXQX_OP_MODE; /**< Queue 0 Transmit Operation Mode..Queue 4 Transmit Operation Mode, array offset: 0xD00, array step: 0x40 */
  32074. __I uint32_t MTL_TXQX_UNDRFLW; /**< Queue 0 Underflow Counter..Queue 4 Underflow Counter, array offset: 0xD04, array step: 0x40 */
  32075. __I uint32_t MTL_TXQX_DBG; /**< Queue 0 Transmit Debug..Queue 4 Transmit Debug, array offset: 0xD08, array step: 0x40 */
  32076. uint8_t RESERVED_0[4];
  32077. __IO uint32_t MTL_TXQX_ETS_CTRL; /**< Queue 1 ETS Control..Queue 4 ETS Control, array offset: 0xD10, array step: 0x40 */
  32078. __I uint32_t MTL_TXQX_ETS_STAT; /**< Queue 0 ETS Status..Queue 4 ETS Status, array offset: 0xD14, array step: 0x40 */
  32079. __IO uint32_t MTL_TXQX_QNTM_WGHT; /**< Queue 0 Quantum or Weights..Queue 4 idleSlopeCredit, Quantum or Weights, array offset: 0xD18, array step: 0x40 */
  32080. __IO uint32_t MTL_TXQX_SNDSLP_CRDT; /**< Queue 1 sendSlopeCredit..Queue 4 sendSlopeCredit, array offset: 0xD1C, array step: 0x40 */
  32081. __IO uint32_t MTL_TXQX_HI_CRDT; /**< Queue 1 hiCredit..Queue 4 hiCredit, array offset: 0xD20, array step: 0x40 */
  32082. __IO uint32_t MTL_TXQX_LO_CRDT; /**< Queue 1 loCredit..Queue 4 loCredit, array offset: 0xD24, array step: 0x40 */
  32083. uint8_t RESERVED_1[4];
  32084. __IO uint32_t MTL_TXQX_INTCTRL_STAT; /**< Queue 0 Interrupt Control Status..Queue 4 Interrupt Control Status, array offset: 0xD2C, array step: 0x40 */
  32085. __IO uint32_t MTL_RXQX_OP_MODE; /**< Queue 0 Receive Operation Mode..Queue 4 Receive Operation Mode, array offset: 0xD30, array step: 0x40 */
  32086. __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 */
  32087. __I uint32_t MTL_RXQX_DBG; /**< Queue 0 Receive Debug..Queue 4 Receive Debug, array offset: 0xD38, array step: 0x40 */
  32088. __IO uint32_t MTL_RXQX_CTRL; /**< Queue 0 Receive Control..Queue 4 Receive Control, array offset: 0xD3C, array step: 0x40 */
  32089. } MTL_QUEUE[5];
  32090. uint8_t RESERVED_56[448];
  32091. __IO uint32_t DMA_MODE; /**< DMA Bus Mode, offset: 0x1000 */
  32092. __IO uint32_t DMA_SYSBUS_MODE; /**< DMA System Bus Mode, offset: 0x1004 */
  32093. __I uint32_t DMA_INTERRUPT_STATUS; /**< DMA Interrupt Status, offset: 0x1008 */
  32094. __I uint32_t DMA_DEBUG_STATUS0; /**< DMA Debug Status 0, offset: 0x100C */
  32095. __I uint32_t DMA_DEBUG_STATUS1; /**< DMA Debug Status 1, offset: 0x1010 */
  32096. uint8_t RESERVED_57[44];
  32097. __IO uint32_t DMA_AXI_LPI_ENTRY_INTERVAL; /**< AXI LPI Entry Interval Control, offset: 0x1040 */
  32098. uint8_t RESERVED_58[12];
  32099. __IO uint32_t DMA_TBS_CTRL; /**< TBS Control, offset: 0x1050 */
  32100. uint8_t RESERVED_59[172];
  32101. struct { /* offset: 0x1100, array step: 0x80 */
  32102. __IO uint32_t DMA_CHX_CTRL; /**< DMA Channel 0 Control..DMA Channel 4 Control, array offset: 0x1100, array step: 0x80 */
  32103. __IO uint32_t DMA_CHX_TX_CTRL; /**< DMA Channel 0 Transmit Control..DMA Channel 4 Transmit Control, array offset: 0x1104, array step: 0x80 */
  32104. __IO uint32_t DMA_CHX_RX_CTRL; /**< DMA Channel 0 Receive Control..DMA Channel 4 Receive Control, array offset: 0x1108, array step: 0x80 */
  32105. uint8_t RESERVED_0[8];
  32106. __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 */
  32107. uint8_t RESERVED_1[4];
  32108. __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 */
  32109. __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 */
  32110. uint8_t RESERVED_2[4];
  32111. __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 */
  32112. __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 */
  32113. __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 */
  32114. __IO uint32_t DMA_CHX_INT_EN; /**< Channel 0 Interrupt Enable..Channel 4 Interrupt Enable, array offset: 0x1134, array step: 0x80 */
  32115. __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 */
  32116. __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 */
  32117. uint8_t RESERVED_3[4];
  32118. __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 */
  32119. uint8_t RESERVED_4[4];
  32120. __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 */
  32121. uint8_t RESERVED_5[4];
  32122. __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 */
  32123. uint8_t RESERVED_6[4];
  32124. __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 */
  32125. __IO uint32_t DMA_CHX_STAT; /**< DMA Channel 0 Status..DMA Channel 4 Status, array offset: 0x1160, array step: 0x80 */
  32126. __I uint32_t DMA_CHX_MISS_FRAME_CNT; /**< Channel 0 Missed Frame Counter..Channel 4 Missed Frame Counter, array offset: 0x1164, array step: 0x80 */
  32127. __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 */
  32128. __I uint32_t DMA_CHX_RX_ERI_CNT; /**< Channel 0 Receive ERI Counter..Channel 4 Receive ERI Counter, array offset: 0x116C, array step: 0x80 */
  32129. uint8_t RESERVED_7[16];
  32130. } DMA_CH[5];
  32131. } ENET_QOS_Type;
  32132. /* ----------------------------------------------------------------------------
  32133. -- ENET_QOS Register Masks
  32134. ---------------------------------------------------------------------------- */
  32135. /*!
  32136. * @addtogroup ENET_QOS_Register_Masks ENET_QOS Register Masks
  32137. * @{
  32138. */
  32139. /*! @name MAC_CONFIGURATION - MAC Configuration Register */
  32140. /*! @{ */
  32141. #define ENET_QOS_MAC_CONFIGURATION_RE_MASK (0x1U)
  32142. #define ENET_QOS_MAC_CONFIGURATION_RE_SHIFT (0U)
  32143. /*! RE - Receiver Enable
  32144. * 0b0..Receiver is disabled
  32145. * 0b1..Receiver is enabled
  32146. */
  32147. #define ENET_QOS_MAC_CONFIGURATION_RE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_RE_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_RE_MASK)
  32148. #define ENET_QOS_MAC_CONFIGURATION_TE_MASK (0x2U)
  32149. #define ENET_QOS_MAC_CONFIGURATION_TE_SHIFT (1U)
  32150. /*! TE - Transmitter Enable
  32151. * 0b0..Transmitter is disabled
  32152. * 0b1..Transmitter is enabled
  32153. */
  32154. #define ENET_QOS_MAC_CONFIGURATION_TE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_TE_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_TE_MASK)
  32155. #define ENET_QOS_MAC_CONFIGURATION_PRELEN_MASK (0xCU)
  32156. #define ENET_QOS_MAC_CONFIGURATION_PRELEN_SHIFT (2U)
  32157. /*! PRELEN - Preamble Length for Transmit packets
  32158. * 0b10..3 bytes of preamble
  32159. * 0b01..5 bytes of preamble
  32160. * 0b00..7 bytes of preamble
  32161. * 0b11..Reserved
  32162. */
  32163. #define ENET_QOS_MAC_CONFIGURATION_PRELEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_PRELEN_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_PRELEN_MASK)
  32164. #define ENET_QOS_MAC_CONFIGURATION_DC_MASK (0x10U)
  32165. #define ENET_QOS_MAC_CONFIGURATION_DC_SHIFT (4U)
  32166. /*! DC - Deferral Check
  32167. * 0b0..Deferral check function is disabled
  32168. * 0b1..Deferral check function is enabled
  32169. */
  32170. #define ENET_QOS_MAC_CONFIGURATION_DC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_DC_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_DC_MASK)
  32171. #define ENET_QOS_MAC_CONFIGURATION_BL_MASK (0x60U)
  32172. #define ENET_QOS_MAC_CONFIGURATION_BL_SHIFT (5U)
  32173. /*! BL - Back-Off Limit
  32174. * 0b11..k = min(n,1)
  32175. * 0b00..k = min(n,10)
  32176. * 0b10..k = min(n,4)
  32177. * 0b01..k = min(n,8)
  32178. */
  32179. #define ENET_QOS_MAC_CONFIGURATION_BL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_BL_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_BL_MASK)
  32180. #define ENET_QOS_MAC_CONFIGURATION_DR_MASK (0x100U)
  32181. #define ENET_QOS_MAC_CONFIGURATION_DR_SHIFT (8U)
  32182. /*! DR - Disable Retry
  32183. * 0b1..Disable Retry
  32184. * 0b0..Enable Retry
  32185. */
  32186. #define ENET_QOS_MAC_CONFIGURATION_DR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_DR_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_DR_MASK)
  32187. #define ENET_QOS_MAC_CONFIGURATION_DCRS_MASK (0x200U)
  32188. #define ENET_QOS_MAC_CONFIGURATION_DCRS_SHIFT (9U)
  32189. /*! DCRS - Disable Carrier Sense During Transmission
  32190. * 0b1..Disable Carrier Sense During Transmission
  32191. * 0b0..Enable Carrier Sense During Transmission
  32192. */
  32193. #define ENET_QOS_MAC_CONFIGURATION_DCRS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_DCRS_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_DCRS_MASK)
  32194. #define ENET_QOS_MAC_CONFIGURATION_DO_MASK (0x400U)
  32195. #define ENET_QOS_MAC_CONFIGURATION_DO_SHIFT (10U)
  32196. /*! DO - Disable Receive Own
  32197. * 0b1..Disable Receive Own
  32198. * 0b0..Enable Receive Own
  32199. */
  32200. #define ENET_QOS_MAC_CONFIGURATION_DO(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_DO_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_DO_MASK)
  32201. #define ENET_QOS_MAC_CONFIGURATION_ECRSFD_MASK (0x800U)
  32202. #define ENET_QOS_MAC_CONFIGURATION_ECRSFD_SHIFT (11U)
  32203. /*! ECRSFD - Enable Carrier Sense Before Transmission in Full-Duplex Mode
  32204. * 0b0..ECRSFD is disabled
  32205. * 0b1..ECRSFD is enabled
  32206. */
  32207. #define ENET_QOS_MAC_CONFIGURATION_ECRSFD(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_ECRSFD_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_ECRSFD_MASK)
  32208. #define ENET_QOS_MAC_CONFIGURATION_LM_MASK (0x1000U)
  32209. #define ENET_QOS_MAC_CONFIGURATION_LM_SHIFT (12U)
  32210. /*! LM - Loopback Mode
  32211. * 0b0..Loopback is disabled
  32212. * 0b1..Loopback is enabled
  32213. */
  32214. #define ENET_QOS_MAC_CONFIGURATION_LM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_LM_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_LM_MASK)
  32215. #define ENET_QOS_MAC_CONFIGURATION_DM_MASK (0x2000U)
  32216. #define ENET_QOS_MAC_CONFIGURATION_DM_SHIFT (13U)
  32217. /*! DM - Duplex Mode
  32218. * 0b1..Full-duplex mode
  32219. * 0b0..Half-duplex mode
  32220. */
  32221. #define ENET_QOS_MAC_CONFIGURATION_DM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_DM_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_DM_MASK)
  32222. #define ENET_QOS_MAC_CONFIGURATION_FES_MASK (0x4000U)
  32223. #define ENET_QOS_MAC_CONFIGURATION_FES_SHIFT (14U)
  32224. /*! FES - Speed
  32225. * 0b1..100 Mbps when PS bit is 1 and 2.5 Gbps when PS bit is 0
  32226. * 0b0..10 Mbps when PS bit is 1 and 1 Gbps when PS bit is 0
  32227. */
  32228. #define ENET_QOS_MAC_CONFIGURATION_FES(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_FES_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_FES_MASK)
  32229. #define ENET_QOS_MAC_CONFIGURATION_PS_MASK (0x8000U)
  32230. #define ENET_QOS_MAC_CONFIGURATION_PS_SHIFT (15U)
  32231. /*! PS - Port Select
  32232. * 0b0..For 1000 or 2500 Mbps operations
  32233. * 0b1..For 10 or 100 Mbps operations
  32234. */
  32235. #define ENET_QOS_MAC_CONFIGURATION_PS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_PS_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_PS_MASK)
  32236. #define ENET_QOS_MAC_CONFIGURATION_JE_MASK (0x10000U)
  32237. #define ENET_QOS_MAC_CONFIGURATION_JE_SHIFT (16U)
  32238. /*! JE - Jumbo Packet Enable When this bit is set, the MAC allows jumbo packets of 9,018 bytes
  32239. * (9,022 bytes for VLAN tagged packets) without reporting a giant packet error in the Rx packet
  32240. * status.
  32241. * 0b0..Jumbo packet is disabled
  32242. * 0b1..Jumbo packet is enabled
  32243. */
  32244. #define ENET_QOS_MAC_CONFIGURATION_JE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_JE_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_JE_MASK)
  32245. #define ENET_QOS_MAC_CONFIGURATION_JD_MASK (0x20000U)
  32246. #define ENET_QOS_MAC_CONFIGURATION_JD_SHIFT (17U)
  32247. /*! JD - Jabber Disable
  32248. * 0b1..Jabber is disabled
  32249. * 0b0..Jabber is enabled
  32250. */
  32251. #define ENET_QOS_MAC_CONFIGURATION_JD(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_JD_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_JD_MASK)
  32252. #define ENET_QOS_MAC_CONFIGURATION_BE_MASK (0x40000U)
  32253. #define ENET_QOS_MAC_CONFIGURATION_BE_SHIFT (18U)
  32254. /*! BE - Packet Burst Enable When this bit is set, the MAC allows packet bursting during
  32255. * transmission in the GMII half-duplex mode.
  32256. * 0b0..Packet Burst is disabled
  32257. * 0b1..Packet Burst is enabled
  32258. */
  32259. #define ENET_QOS_MAC_CONFIGURATION_BE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_BE_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_BE_MASK)
  32260. #define ENET_QOS_MAC_CONFIGURATION_WD_MASK (0x80000U)
  32261. #define ENET_QOS_MAC_CONFIGURATION_WD_SHIFT (19U)
  32262. /*! WD - Watchdog Disable
  32263. * 0b1..Watchdog is disabled
  32264. * 0b0..Watchdog is enabled
  32265. */
  32266. #define ENET_QOS_MAC_CONFIGURATION_WD(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_WD_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_WD_MASK)
  32267. #define ENET_QOS_MAC_CONFIGURATION_ACS_MASK (0x100000U)
  32268. #define ENET_QOS_MAC_CONFIGURATION_ACS_SHIFT (20U)
  32269. /*! ACS - Automatic Pad or CRC Stripping When this bit is set, the MAC strips the Pad or FCS field
  32270. * on the incoming packets only if the value of the length field is less than 1,536 bytes.
  32271. * 0b0..Automatic Pad or CRC Stripping is disabled
  32272. * 0b1..Automatic Pad or CRC Stripping is enabled
  32273. */
  32274. #define ENET_QOS_MAC_CONFIGURATION_ACS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_ACS_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_ACS_MASK)
  32275. #define ENET_QOS_MAC_CONFIGURATION_CST_MASK (0x200000U)
  32276. #define ENET_QOS_MAC_CONFIGURATION_CST_SHIFT (21U)
  32277. /*! CST - CRC stripping for Type packets When this bit is set, the last four bytes (FCS) of all
  32278. * packets of Ether type (type field greater than 1,536) are stripped and dropped before forwarding
  32279. * the packet to the application.
  32280. * 0b0..CRC stripping for Type packets is disabled
  32281. * 0b1..CRC stripping for Type packets is enabled
  32282. */
  32283. #define ENET_QOS_MAC_CONFIGURATION_CST(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_CST_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_CST_MASK)
  32284. #define ENET_QOS_MAC_CONFIGURATION_S2KP_MASK (0x400000U)
  32285. #define ENET_QOS_MAC_CONFIGURATION_S2KP_SHIFT (22U)
  32286. /*! S2KP - IEEE 802.
  32287. * 0b0..Support upto 2K packet is disabled
  32288. * 0b1..Support upto 2K packet is Enabled
  32289. */
  32290. #define ENET_QOS_MAC_CONFIGURATION_S2KP(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_S2KP_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_S2KP_MASK)
  32291. #define ENET_QOS_MAC_CONFIGURATION_GPSLCE_MASK (0x800000U)
  32292. #define ENET_QOS_MAC_CONFIGURATION_GPSLCE_SHIFT (23U)
  32293. /*! GPSLCE - Giant Packet Size Limit Control Enable
  32294. * 0b0..Giant Packet Size Limit Control is disabled
  32295. * 0b1..Giant Packet Size Limit Control is enabled
  32296. */
  32297. #define ENET_QOS_MAC_CONFIGURATION_GPSLCE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_GPSLCE_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_GPSLCE_MASK)
  32298. #define ENET_QOS_MAC_CONFIGURATION_IPG_MASK (0x7000000U)
  32299. #define ENET_QOS_MAC_CONFIGURATION_IPG_SHIFT (24U)
  32300. /*! IPG - Inter-Packet Gap These bits control the minimum IPG between packets during transmission.
  32301. * 0b111..40 bit times IPG
  32302. * 0b110..48 bit times IPG
  32303. * 0b101..56 bit times IPG
  32304. * 0b100..64 bit times IPG
  32305. * 0b011..72 bit times IPG
  32306. * 0b010..80 bit times IPG
  32307. * 0b001..88 bit times IPG
  32308. * 0b000..96 bit times IPG
  32309. */
  32310. #define ENET_QOS_MAC_CONFIGURATION_IPG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_IPG_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_IPG_MASK)
  32311. #define ENET_QOS_MAC_CONFIGURATION_IPC_MASK (0x8000000U)
  32312. #define ENET_QOS_MAC_CONFIGURATION_IPC_SHIFT (27U)
  32313. /*! IPC - Checksum Offload
  32314. * 0b0..IP header/payload checksum checking is disabled
  32315. * 0b1..IP header/payload checksum checking is enabled
  32316. */
  32317. #define ENET_QOS_MAC_CONFIGURATION_IPC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_IPC_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_IPC_MASK)
  32318. #define ENET_QOS_MAC_CONFIGURATION_SARC_MASK (0x70000000U)
  32319. #define ENET_QOS_MAC_CONFIGURATION_SARC_SHIFT (28U)
  32320. /*! SARC - Source Address Insertion or Replacement Control
  32321. * 0b010..Contents of MAC Addr-0 inserted in SA field
  32322. * 0b011..Contents of MAC Addr-0 replaces SA field
  32323. * 0b110..Contents of MAC Addr-1 inserted in SA field
  32324. * 0b111..Contents of MAC Addr-1 replaces SA field
  32325. * 0b000..mti_sa_ctrl_i and ati_sa_ctrl_i input signals control the SA field generation
  32326. */
  32327. #define ENET_QOS_MAC_CONFIGURATION_SARC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_SARC_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_SARC_MASK)
  32328. /*! @} */
  32329. /*! @name MAC_EXT_CONFIGURATION - MAC Extended Configuration Register */
  32330. /*! @{ */
  32331. #define ENET_QOS_MAC_EXT_CONFIGURATION_GPSL_MASK (0x3FFFU)
  32332. #define ENET_QOS_MAC_EXT_CONFIGURATION_GPSL_SHIFT (0U)
  32333. /*! GPSL - Giant Packet Size Limit
  32334. */
  32335. #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)
  32336. #define ENET_QOS_MAC_EXT_CONFIGURATION_DCRCC_MASK (0x10000U)
  32337. #define ENET_QOS_MAC_EXT_CONFIGURATION_DCRCC_SHIFT (16U)
  32338. /*! DCRCC - Disable CRC Checking for Received Packets
  32339. * 0b1..CRC Checking is disabled
  32340. * 0b0..CRC Checking is enabled
  32341. */
  32342. #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)
  32343. #define ENET_QOS_MAC_EXT_CONFIGURATION_SPEN_MASK (0x20000U)
  32344. #define ENET_QOS_MAC_EXT_CONFIGURATION_SPEN_SHIFT (17U)
  32345. /*! SPEN - Slow Protocol Detection Enable
  32346. * 0b0..Slow Protocol Detection is disabled
  32347. * 0b1..Slow Protocol Detection is enabled
  32348. */
  32349. #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)
  32350. #define ENET_QOS_MAC_EXT_CONFIGURATION_USP_MASK (0x40000U)
  32351. #define ENET_QOS_MAC_EXT_CONFIGURATION_USP_SHIFT (18U)
  32352. /*! USP - Unicast Slow Protocol Packet Detect
  32353. * 0b0..Unicast Slow Protocol Packet Detection is disabled
  32354. * 0b1..Unicast Slow Protocol Packet Detection is enabled
  32355. */
  32356. #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)
  32357. #define ENET_QOS_MAC_EXT_CONFIGURATION_PDC_MASK (0x80000U)
  32358. #define ENET_QOS_MAC_EXT_CONFIGURATION_PDC_SHIFT (19U)
  32359. /*! PDC - Packet Duplication Control
  32360. * 0b0..Packet Duplication Control is disabled
  32361. * 0b1..Packet Duplication Control is enabled
  32362. */
  32363. #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)
  32364. #define ENET_QOS_MAC_EXT_CONFIGURATION_EIPGEN_MASK (0x1000000U)
  32365. #define ENET_QOS_MAC_EXT_CONFIGURATION_EIPGEN_SHIFT (24U)
  32366. /*! EIPGEN - Extended Inter-Packet Gap Enable
  32367. * 0b0..Extended Inter-Packet Gap is disabled
  32368. * 0b1..Extended Inter-Packet Gap is enabled
  32369. */
  32370. #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)
  32371. #define ENET_QOS_MAC_EXT_CONFIGURATION_EIPG_MASK (0x3E000000U)
  32372. #define ENET_QOS_MAC_EXT_CONFIGURATION_EIPG_SHIFT (25U)
  32373. /*! EIPG - Extended Inter-Packet Gap
  32374. */
  32375. #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)
  32376. /*! @} */
  32377. /*! @name MAC_PACKET_FILTER - MAC Packet Filter */
  32378. /*! @{ */
  32379. #define ENET_QOS_MAC_PACKET_FILTER_PR_MASK (0x1U)
  32380. #define ENET_QOS_MAC_PACKET_FILTER_PR_SHIFT (0U)
  32381. /*! PR - Promiscuous Mode
  32382. * 0b0..Promiscuous Mode is disabled
  32383. * 0b1..Promiscuous Mode is enabled
  32384. */
  32385. #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)
  32386. #define ENET_QOS_MAC_PACKET_FILTER_HUC_MASK (0x2U)
  32387. #define ENET_QOS_MAC_PACKET_FILTER_HUC_SHIFT (1U)
  32388. /*! HUC - Hash Unicast
  32389. * 0b0..Hash Unicast is disabled
  32390. * 0b1..Hash Unicast is enabled
  32391. */
  32392. #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)
  32393. #define ENET_QOS_MAC_PACKET_FILTER_HMC_MASK (0x4U)
  32394. #define ENET_QOS_MAC_PACKET_FILTER_HMC_SHIFT (2U)
  32395. /*! HMC - Hash Multicast
  32396. * 0b0..Hash Multicast is disabled
  32397. * 0b1..Hash Multicast is enabled
  32398. */
  32399. #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)
  32400. #define ENET_QOS_MAC_PACKET_FILTER_DAIF_MASK (0x8U)
  32401. #define ENET_QOS_MAC_PACKET_FILTER_DAIF_SHIFT (3U)
  32402. /*! DAIF - DA Inverse Filtering
  32403. * 0b0..DA Inverse Filtering is disabled
  32404. * 0b1..DA Inverse Filtering is enabled
  32405. */
  32406. #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)
  32407. #define ENET_QOS_MAC_PACKET_FILTER_PM_MASK (0x10U)
  32408. #define ENET_QOS_MAC_PACKET_FILTER_PM_SHIFT (4U)
  32409. /*! PM - Pass All Multicast
  32410. * 0b0..Pass All Multicast is disabled
  32411. * 0b1..Pass All Multicast is enabled
  32412. */
  32413. #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)
  32414. #define ENET_QOS_MAC_PACKET_FILTER_DBF_MASK (0x20U)
  32415. #define ENET_QOS_MAC_PACKET_FILTER_DBF_SHIFT (5U)
  32416. /*! DBF - Disable Broadcast Packets
  32417. * 0b1..Disable Broadcast Packets
  32418. * 0b0..Enable Broadcast Packets
  32419. */
  32420. #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)
  32421. #define ENET_QOS_MAC_PACKET_FILTER_PCF_MASK (0xC0U)
  32422. #define ENET_QOS_MAC_PACKET_FILTER_PCF_SHIFT (6U)
  32423. /*! PCF - Pass Control Packets These bits control the forwarding of all control packets (including
  32424. * unicast and multicast Pause packets).
  32425. * 0b00..MAC filters all control packets from reaching the application
  32426. * 0b10..MAC forwards all control packets to the application even if they fail the Address filter
  32427. * 0b11..MAC forwards the control packets that pass the Address filter
  32428. * 0b01..MAC forwards all control packets except Pause packets to the application even if they fail the Address filter
  32429. */
  32430. #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)
  32431. #define ENET_QOS_MAC_PACKET_FILTER_SAIF_MASK (0x100U)
  32432. #define ENET_QOS_MAC_PACKET_FILTER_SAIF_SHIFT (8U)
  32433. /*! SAIF - SA Inverse Filtering
  32434. * 0b0..SA Inverse Filtering is disabled
  32435. * 0b1..SA Inverse Filtering is enabled
  32436. */
  32437. #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)
  32438. #define ENET_QOS_MAC_PACKET_FILTER_SAF_MASK (0x200U)
  32439. #define ENET_QOS_MAC_PACKET_FILTER_SAF_SHIFT (9U)
  32440. /*! SAF - Source Address Filter Enable
  32441. * 0b0..SA Filtering is disabled
  32442. * 0b1..SA Filtering is enabled
  32443. */
  32444. #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)
  32445. #define ENET_QOS_MAC_PACKET_FILTER_HPF_MASK (0x400U)
  32446. #define ENET_QOS_MAC_PACKET_FILTER_HPF_SHIFT (10U)
  32447. /*! HPF - Hash or Perfect Filter
  32448. * 0b0..Hash or Perfect Filter is disabled
  32449. * 0b1..Hash or Perfect Filter is enabled
  32450. */
  32451. #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)
  32452. #define ENET_QOS_MAC_PACKET_FILTER_VTFE_MASK (0x10000U)
  32453. #define ENET_QOS_MAC_PACKET_FILTER_VTFE_SHIFT (16U)
  32454. /*! VTFE - VLAN Tag Filter Enable
  32455. * 0b0..VLAN Tag Filter is disabled
  32456. * 0b1..VLAN Tag Filter is enabled
  32457. */
  32458. #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)
  32459. #define ENET_QOS_MAC_PACKET_FILTER_IPFE_MASK (0x100000U)
  32460. #define ENET_QOS_MAC_PACKET_FILTER_IPFE_SHIFT (20U)
  32461. /*! IPFE - Layer 3 and Layer 4 Filter Enable
  32462. * 0b0..Layer 3 and Layer 4 Filters are disabled
  32463. * 0b1..Layer 3 and Layer 4 Filters are enabled
  32464. */
  32465. #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)
  32466. #define ENET_QOS_MAC_PACKET_FILTER_DNTU_MASK (0x200000U)
  32467. #define ENET_QOS_MAC_PACKET_FILTER_DNTU_SHIFT (21U)
  32468. /*! DNTU - Drop Non-TCP/UDP over IP Packets
  32469. * 0b1..Drop Non-TCP/UDP over IP Packets
  32470. * 0b0..Forward Non-TCP/UDP over IP Packets
  32471. */
  32472. #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)
  32473. #define ENET_QOS_MAC_PACKET_FILTER_RA_MASK (0x80000000U)
  32474. #define ENET_QOS_MAC_PACKET_FILTER_RA_SHIFT (31U)
  32475. /*! RA - Receive All
  32476. * 0b0..Receive All is disabled
  32477. * 0b1..Receive All is enabled
  32478. */
  32479. #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)
  32480. /*! @} */
  32481. /*! @name MAC_WATCHDOG_TIMEOUT - Watchdog Timeout */
  32482. /*! @{ */
  32483. #define ENET_QOS_MAC_WATCHDOG_TIMEOUT_WTO_MASK (0xFU)
  32484. #define ENET_QOS_MAC_WATCHDOG_TIMEOUT_WTO_SHIFT (0U)
  32485. /*! WTO - Watchdog Timeout
  32486. * 0b1000..10 KB
  32487. * 0b1001..11 KB
  32488. * 0b1010..12 KB
  32489. * 0b1011..13 KB
  32490. * 0b1100..14 KB
  32491. * 0b1101..15 KB
  32492. * 0b1110..16383 Bytes
  32493. * 0b0000..2 KB
  32494. * 0b0001..3 KB
  32495. * 0b0010..4 KB
  32496. * 0b0011..5 KB
  32497. * 0b0100..6 KB
  32498. * 0b0101..7 KB
  32499. * 0b0110..8 KB
  32500. * 0b0111..9 KB
  32501. * 0b1111..Reserved
  32502. */
  32503. #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)
  32504. #define ENET_QOS_MAC_WATCHDOG_TIMEOUT_PWE_MASK (0x100U)
  32505. #define ENET_QOS_MAC_WATCHDOG_TIMEOUT_PWE_SHIFT (8U)
  32506. /*! PWE - Programmable Watchdog Enable
  32507. * 0b0..Programmable Watchdog is disabled
  32508. * 0b1..Programmable Watchdog is enabled
  32509. */
  32510. #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)
  32511. /*! @} */
  32512. /*! @name MAC_HASH_TABLE_REG0 - MAC Hash Table Register 0 */
  32513. /*! @{ */
  32514. #define ENET_QOS_MAC_HASH_TABLE_REG0_HT31T0_MASK (0xFFFFFFFFU)
  32515. #define ENET_QOS_MAC_HASH_TABLE_REG0_HT31T0_SHIFT (0U)
  32516. /*! HT31T0 - MAC Hash Table First 32 Bits This field contains the first 32 Bits [31:0] of the Hash table.
  32517. */
  32518. #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)
  32519. /*! @} */
  32520. /*! @name MAC_HASH_TABLE_REG1 - MAC Hash Table Register 1 */
  32521. /*! @{ */
  32522. #define ENET_QOS_MAC_HASH_TABLE_REG1_HT63T32_MASK (0xFFFFFFFFU)
  32523. #define ENET_QOS_MAC_HASH_TABLE_REG1_HT63T32_SHIFT (0U)
  32524. /*! HT63T32 - MAC Hash Table Second 32 Bits This field contains the second 32 Bits [63:32] of the Hash table.
  32525. */
  32526. #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)
  32527. /*! @} */
  32528. /*! @name MAC_VLAN_TAG_CTRL - MAC VLAN Tag Control */
  32529. /*! @{ */
  32530. #define ENET_QOS_MAC_VLAN_TAG_CTRL_OB_MASK (0x1U)
  32531. #define ENET_QOS_MAC_VLAN_TAG_CTRL_OB_SHIFT (0U)
  32532. /*! OB - Operation Busy
  32533. * 0b0..Operation Busy is disabled
  32534. * 0b1..Operation Busy is enabled
  32535. */
  32536. #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)
  32537. #define ENET_QOS_MAC_VLAN_TAG_CTRL_CT_MASK (0x2U)
  32538. #define ENET_QOS_MAC_VLAN_TAG_CTRL_CT_SHIFT (1U)
  32539. /*! CT - Command Type
  32540. * 0b1..Read operation
  32541. * 0b0..Write operation
  32542. */
  32543. #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)
  32544. #define ENET_QOS_MAC_VLAN_TAG_CTRL_OFS_MASK (0x7CU)
  32545. #define ENET_QOS_MAC_VLAN_TAG_CTRL_OFS_SHIFT (2U)
  32546. /*! OFS - Offset
  32547. */
  32548. #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)
  32549. #define ENET_QOS_MAC_VLAN_TAG_CTRL_VTIM_MASK (0x20000U)
  32550. #define ENET_QOS_MAC_VLAN_TAG_CTRL_VTIM_SHIFT (17U)
  32551. /*! VTIM - VLAN Tag Inverse Match Enable
  32552. * 0b0..VLAN Tag Inverse Match is disabled
  32553. * 0b1..VLAN Tag Inverse Match is enabled
  32554. */
  32555. #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)
  32556. #define ENET_QOS_MAC_VLAN_TAG_CTRL_ESVL_MASK (0x40000U)
  32557. #define ENET_QOS_MAC_VLAN_TAG_CTRL_ESVL_SHIFT (18U)
  32558. /*! ESVL - Enable S-VLAN When this bit is set, the MAC transmitter and receiver consider the S-VLAN
  32559. * packets (Type = 0x88A8) as valid VLAN tagged packets.
  32560. * 0b0..S-VLAN is disabled
  32561. * 0b1..S-VLAN is enabled
  32562. */
  32563. #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)
  32564. #define ENET_QOS_MAC_VLAN_TAG_CTRL_EVLS_MASK (0x600000U)
  32565. #define ENET_QOS_MAC_VLAN_TAG_CTRL_EVLS_SHIFT (21U)
  32566. /*! EVLS - Enable VLAN Tag Stripping on Receive This field indicates the stripping operation on the
  32567. * outer VLAN Tag in received packet.
  32568. * 0b11..Always strip
  32569. * 0b00..Do not strip
  32570. * 0b10..Strip if VLAN filter fails
  32571. * 0b01..Strip if VLAN filter passes
  32572. */
  32573. #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)
  32574. #define ENET_QOS_MAC_VLAN_TAG_CTRL_EVLRXS_MASK (0x1000000U)
  32575. #define ENET_QOS_MAC_VLAN_TAG_CTRL_EVLRXS_SHIFT (24U)
  32576. /*! EVLRXS - Enable VLAN Tag in Rx status
  32577. * 0b0..VLAN Tag in Rx status is disabled
  32578. * 0b1..VLAN Tag in Rx status is enabled
  32579. */
  32580. #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)
  32581. #define ENET_QOS_MAC_VLAN_TAG_CTRL_VTHM_MASK (0x2000000U)
  32582. #define ENET_QOS_MAC_VLAN_TAG_CTRL_VTHM_SHIFT (25U)
  32583. /*! VTHM - VLAN Tag Hash Table Match Enable
  32584. * 0b0..VLAN Tag Hash Table Match is disabled
  32585. * 0b1..VLAN Tag Hash Table Match is enabled
  32586. */
  32587. #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)
  32588. #define ENET_QOS_MAC_VLAN_TAG_CTRL_EDVLP_MASK (0x4000000U)
  32589. #define ENET_QOS_MAC_VLAN_TAG_CTRL_EDVLP_SHIFT (26U)
  32590. /*! EDVLP - Enable Double VLAN Processing
  32591. * 0b0..Double VLAN Processing is disabled
  32592. * 0b1..Double VLAN Processing is enabled
  32593. */
  32594. #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)
  32595. #define ENET_QOS_MAC_VLAN_TAG_CTRL_ERIVLT_MASK (0x8000000U)
  32596. #define ENET_QOS_MAC_VLAN_TAG_CTRL_ERIVLT_SHIFT (27U)
  32597. /*! ERIVLT - ERIVLT
  32598. * 0b0..Inner VLAN tag is disabled
  32599. * 0b1..Inner VLAN tag is enabled
  32600. */
  32601. #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)
  32602. #define ENET_QOS_MAC_VLAN_TAG_CTRL_EIVLS_MASK (0x30000000U)
  32603. #define ENET_QOS_MAC_VLAN_TAG_CTRL_EIVLS_SHIFT (28U)
  32604. /*! EIVLS - Enable Inner VLAN Tag Stripping on Receive This field indicates the stripping operation
  32605. * on inner VLAN Tag in received packet.
  32606. * 0b11..Always strip
  32607. * 0b00..Do not strip
  32608. * 0b10..Strip if VLAN filter fails
  32609. * 0b01..Strip if VLAN filter passes
  32610. */
  32611. #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)
  32612. #define ENET_QOS_MAC_VLAN_TAG_CTRL_EIVLRXS_MASK (0x80000000U)
  32613. #define ENET_QOS_MAC_VLAN_TAG_CTRL_EIVLRXS_SHIFT (31U)
  32614. /*! EIVLRXS - Enable Inner VLAN Tag in Rx Status
  32615. * 0b0..Inner VLAN Tag in Rx status is disabled
  32616. * 0b1..Inner VLAN Tag in Rx status is enabled
  32617. */
  32618. #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)
  32619. /*! @} */
  32620. /*! @name MAC_VLAN_TAG_DATA - MAC VLAN Tag Data */
  32621. /*! @{ */
  32622. #define ENET_QOS_MAC_VLAN_TAG_DATA_VID_MASK (0xFFFFU)
  32623. #define ENET_QOS_MAC_VLAN_TAG_DATA_VID_SHIFT (0U)
  32624. /*! VID - VLAN Tag ID
  32625. */
  32626. #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)
  32627. #define ENET_QOS_MAC_VLAN_TAG_DATA_VEN_MASK (0x10000U)
  32628. #define ENET_QOS_MAC_VLAN_TAG_DATA_VEN_SHIFT (16U)
  32629. /*! VEN - VLAN Tag Enable
  32630. * 0b0..VLAN Tag is disabled
  32631. * 0b1..VLAN Tag is enabled
  32632. */
  32633. #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)
  32634. #define ENET_QOS_MAC_VLAN_TAG_DATA_ETV_MASK (0x20000U)
  32635. #define ENET_QOS_MAC_VLAN_TAG_DATA_ETV_SHIFT (17U)
  32636. /*! ETV - 12bits or 16bits VLAN comparison
  32637. * 0b1..12 bit VLAN comparison
  32638. * 0b0..16 bit VLAN comparison
  32639. */
  32640. #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)
  32641. #define ENET_QOS_MAC_VLAN_TAG_DATA_DOVLTC_MASK (0x40000U)
  32642. #define ENET_QOS_MAC_VLAN_TAG_DATA_DOVLTC_SHIFT (18U)
  32643. /*! DOVLTC - Disable VLAN Type Comparison
  32644. * 0b1..VLAN type comparison is disabled
  32645. * 0b0..VLAN type comparison is enabled
  32646. */
  32647. #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)
  32648. #define ENET_QOS_MAC_VLAN_TAG_DATA_ERSVLM_MASK (0x80000U)
  32649. #define ENET_QOS_MAC_VLAN_TAG_DATA_ERSVLM_SHIFT (19U)
  32650. /*! ERSVLM - Enable S-VLAN Match for received Frames
  32651. * 0b0..Receive S-VLAN Match is disabled
  32652. * 0b1..Receive S-VLAN Match is enabled
  32653. */
  32654. #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)
  32655. #define ENET_QOS_MAC_VLAN_TAG_DATA_ERIVLT_MASK (0x100000U)
  32656. #define ENET_QOS_MAC_VLAN_TAG_DATA_ERIVLT_SHIFT (20U)
  32657. /*! ERIVLT - Enable Inner VLAN Tag Comparison
  32658. * 0b0..Inner VLAN tag comparison is disabled
  32659. * 0b1..Inner VLAN tag comparison is enabled
  32660. */
  32661. #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)
  32662. #define ENET_QOS_MAC_VLAN_TAG_DATA_DMACHEN_MASK (0x1000000U)
  32663. #define ENET_QOS_MAC_VLAN_TAG_DATA_DMACHEN_SHIFT (24U)
  32664. /*! DMACHEN - DMA Channel Number Enable
  32665. * 0b0..DMA Channel Number is disabled
  32666. * 0b1..DMA Channel Number is enabled
  32667. */
  32668. #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)
  32669. #define ENET_QOS_MAC_VLAN_TAG_DATA_DMACHN_MASK (0xE000000U)
  32670. #define ENET_QOS_MAC_VLAN_TAG_DATA_DMACHN_SHIFT (25U)
  32671. /*! DMACHN - DMA Channel Number
  32672. */
  32673. #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)
  32674. /*! @} */
  32675. /*! @name MAC_VLAN_HASH_TABLE - MAC VLAN Hash Table */
  32676. /*! @{ */
  32677. #define ENET_QOS_MAC_VLAN_HASH_TABLE_VLHT_MASK (0xFFFFU)
  32678. #define ENET_QOS_MAC_VLAN_HASH_TABLE_VLHT_SHIFT (0U)
  32679. /*! VLHT - VLAN Hash Table This field contains the 16-bit VLAN Hash Table.
  32680. */
  32681. #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)
  32682. /*! @} */
  32683. /*! @name MAC_VLAN_INCL - VLAN Tag Inclusion or Replacement */
  32684. /*! @{ */
  32685. #define ENET_QOS_MAC_VLAN_INCL_VLT_MASK (0xFFFFU)
  32686. #define ENET_QOS_MAC_VLAN_INCL_VLT_SHIFT (0U)
  32687. /*! VLT - VLAN Tag for Transmit Packets
  32688. */
  32689. #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)
  32690. #define ENET_QOS_MAC_VLAN_INCL_VLC_MASK (0x30000U)
  32691. #define ENET_QOS_MAC_VLAN_INCL_VLC_SHIFT (16U)
  32692. /*! VLC - VLAN Tag Control in Transmit Packets - 2'b00: No VLAN tag deletion, insertion, or
  32693. * replacement - 2'b01: VLAN tag deletion The MAC removes the VLAN type (bytes 13 and 14) and VLAN tag
  32694. * (bytes 15 and 16) of all transmitted packets with VLAN tags.
  32695. * 0b01..VLAN tag deletion
  32696. * 0b10..VLAN tag insertion
  32697. * 0b00..No VLAN tag deletion, insertion, or replacement
  32698. * 0b11..VLAN tag replacement
  32699. */
  32700. #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)
  32701. #define ENET_QOS_MAC_VLAN_INCL_VLP_MASK (0x40000U)
  32702. #define ENET_QOS_MAC_VLAN_INCL_VLP_SHIFT (18U)
  32703. /*! VLP - VLAN Priority Control
  32704. * 0b0..VLAN Priority Control is disabled
  32705. * 0b1..VLAN Priority Control is enabled
  32706. */
  32707. #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)
  32708. #define ENET_QOS_MAC_VLAN_INCL_CSVL_MASK (0x80000U)
  32709. #define ENET_QOS_MAC_VLAN_INCL_CSVL_SHIFT (19U)
  32710. /*! CSVL - C-VLAN or S-VLAN
  32711. * 0b0..C-VLAN type (0x8100) is inserted or replaced
  32712. * 0b1..S-VLAN type (0x88A8) is inserted or replaced
  32713. */
  32714. #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)
  32715. #define ENET_QOS_MAC_VLAN_INCL_VLTI_MASK (0x100000U)
  32716. #define ENET_QOS_MAC_VLAN_INCL_VLTI_SHIFT (20U)
  32717. /*! VLTI - VLAN Tag Input When this bit is set, it indicates that the VLAN tag to be inserted or
  32718. * replaced in Tx packet should be taken from: - The Tx descriptor
  32719. * 0b0..VLAN Tag Input is disabled
  32720. * 0b1..VLAN Tag Input is enabled
  32721. */
  32722. #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)
  32723. #define ENET_QOS_MAC_VLAN_INCL_CBTI_MASK (0x200000U)
  32724. #define ENET_QOS_MAC_VLAN_INCL_CBTI_SHIFT (21U)
  32725. /*! CBTI - Channel based tag insertion
  32726. * 0b0..Channel based tag insertion is disabled
  32727. * 0b1..Channel based tag insertion is enabled
  32728. */
  32729. #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)
  32730. #define ENET_QOS_MAC_VLAN_INCL_ADDR_MASK (0x7000000U)
  32731. #define ENET_QOS_MAC_VLAN_INCL_ADDR_SHIFT (24U)
  32732. /*! ADDR - Address
  32733. */
  32734. #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)
  32735. #define ENET_QOS_MAC_VLAN_INCL_RDWR_MASK (0x40000000U)
  32736. #define ENET_QOS_MAC_VLAN_INCL_RDWR_SHIFT (30U)
  32737. /*! RDWR - Read write control
  32738. * 0b0..Read operation of indirect access
  32739. * 0b1..Write operation of indirect access
  32740. */
  32741. #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)
  32742. #define ENET_QOS_MAC_VLAN_INCL_BUSY_MASK (0x80000000U)
  32743. #define ENET_QOS_MAC_VLAN_INCL_BUSY_SHIFT (31U)
  32744. /*! BUSY - Busy
  32745. * 0b1..Busy status detected
  32746. * 0b0..Busy status not detected
  32747. */
  32748. #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)
  32749. /*! @} */
  32750. /*! @name MAC_INNER_VLAN_INCL - MAC Inner VLAN Tag Inclusion or Replacement */
  32751. /*! @{ */
  32752. #define ENET_QOS_MAC_INNER_VLAN_INCL_VLT_MASK (0xFFFFU)
  32753. #define ENET_QOS_MAC_INNER_VLAN_INCL_VLT_SHIFT (0U)
  32754. /*! VLT - VLAN Tag for Transmit Packets
  32755. */
  32756. #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)
  32757. #define ENET_QOS_MAC_INNER_VLAN_INCL_VLC_MASK (0x30000U)
  32758. #define ENET_QOS_MAC_INNER_VLAN_INCL_VLC_SHIFT (16U)
  32759. /*! VLC - VLAN Tag Control in Transmit Packets
  32760. * 0b01..VLAN tag deletion
  32761. * 0b10..VLAN tag insertion
  32762. * 0b00..No VLAN tag deletion, insertion, or replacement
  32763. * 0b11..VLAN tag replacement
  32764. */
  32765. #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)
  32766. #define ENET_QOS_MAC_INNER_VLAN_INCL_VLP_MASK (0x40000U)
  32767. #define ENET_QOS_MAC_INNER_VLAN_INCL_VLP_SHIFT (18U)
  32768. /*! VLP - VLAN Priority Control
  32769. * 0b0..VLAN Priority Control is disabled
  32770. * 0b1..VLAN Priority Control is enabled
  32771. */
  32772. #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)
  32773. #define ENET_QOS_MAC_INNER_VLAN_INCL_CSVL_MASK (0x80000U)
  32774. #define ENET_QOS_MAC_INNER_VLAN_INCL_CSVL_SHIFT (19U)
  32775. /*! CSVL - C-VLAN or S-VLAN
  32776. * 0b0..C-VLAN type (0x8100) is inserted
  32777. * 0b1..S-VLAN type (0x88A8) is inserted
  32778. */
  32779. #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)
  32780. #define ENET_QOS_MAC_INNER_VLAN_INCL_VLTI_MASK (0x100000U)
  32781. #define ENET_QOS_MAC_INNER_VLAN_INCL_VLTI_SHIFT (20U)
  32782. /*! VLTI - VLAN Tag Input When this bit is set, it indicates that the VLAN tag to be inserted or
  32783. * replaced in Tx packet should be taken from: - The Tx descriptor
  32784. * 0b0..VLAN Tag Input is disabled
  32785. * 0b1..VLAN Tag Input is enabled
  32786. */
  32787. #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)
  32788. /*! @} */
  32789. /*! @name MAC_TX_FLOW_CTRL_Q - MAC Q0 Tx Flow Control..MAC Q4 Tx Flow Control */
  32790. /*! @{ */
  32791. #define ENET_QOS_MAC_TX_FLOW_CTRL_Q_FCB_BPA_MASK (0x1U)
  32792. #define ENET_QOS_MAC_TX_FLOW_CTRL_Q_FCB_BPA_SHIFT (0U)
  32793. /*! FCB_BPA - Flow Control Busy or Backpressure Activate
  32794. * 0b0..Flow Control Busy or Backpressure Activate is disabled
  32795. * 0b1..Flow Control Busy or Backpressure Activate is enabled
  32796. */
  32797. #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)
  32798. #define ENET_QOS_MAC_TX_FLOW_CTRL_Q_TFE_MASK (0x2U)
  32799. #define ENET_QOS_MAC_TX_FLOW_CTRL_Q_TFE_SHIFT (1U)
  32800. /*! TFE - Transmit Flow Control Enable
  32801. * 0b0..Transmit Flow Control is disabled
  32802. * 0b1..Transmit Flow Control is enabled
  32803. */
  32804. #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)
  32805. #define ENET_QOS_MAC_TX_FLOW_CTRL_Q_PLT_MASK (0x70U)
  32806. #define ENET_QOS_MAC_TX_FLOW_CTRL_Q_PLT_SHIFT (4U)
  32807. /*! PLT - Pause Low Threshold
  32808. * 0b011..Pause Time minus 144 Slot Times (PT -144 slot times)
  32809. * 0b100..Pause Time minus 256 Slot Times (PT -256 slot times)
  32810. * 0b001..Pause Time minus 28 Slot Times (PT -28 slot times)
  32811. * 0b010..Pause Time minus 36 Slot Times (PT -36 slot times)
  32812. * 0b000..Pause Time minus 4 Slot Times (PT -4 slot times)
  32813. * 0b101..Pause Time minus 512 Slot Times (PT -512 slot times)
  32814. * 0b110..Reserved
  32815. */
  32816. #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)
  32817. #define ENET_QOS_MAC_TX_FLOW_CTRL_Q_DZPQ_MASK (0x80U)
  32818. #define ENET_QOS_MAC_TX_FLOW_CTRL_Q_DZPQ_SHIFT (7U)
  32819. /*! DZPQ - Disable Zero-Quanta Pause
  32820. * 0b1..Zero-Quanta Pause packet generation is disabled
  32821. * 0b0..Zero-Quanta Pause packet generation is enabled
  32822. */
  32823. #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)
  32824. #define ENET_QOS_MAC_TX_FLOW_CTRL_Q_PT_MASK (0xFFFF0000U)
  32825. #define ENET_QOS_MAC_TX_FLOW_CTRL_Q_PT_SHIFT (16U)
  32826. /*! PT - Pause Time
  32827. */
  32828. #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)
  32829. /*! @} */
  32830. /* The count of ENET_QOS_MAC_TX_FLOW_CTRL_Q */
  32831. #define ENET_QOS_MAC_TX_FLOW_CTRL_Q_COUNT (5U)
  32832. /*! @name MAC_RX_FLOW_CTRL - MAC Rx Flow Control */
  32833. /*! @{ */
  32834. #define ENET_QOS_MAC_RX_FLOW_CTRL_RFE_MASK (0x1U)
  32835. #define ENET_QOS_MAC_RX_FLOW_CTRL_RFE_SHIFT (0U)
  32836. /*! RFE - Receive Flow Control Enable
  32837. * 0b0..Receive Flow Control is disabled
  32838. * 0b1..Receive Flow Control is enabled
  32839. */
  32840. #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)
  32841. #define ENET_QOS_MAC_RX_FLOW_CTRL_UP_MASK (0x2U)
  32842. #define ENET_QOS_MAC_RX_FLOW_CTRL_UP_SHIFT (1U)
  32843. /*! UP - Unicast Pause Packet Detect
  32844. * 0b0..Unicast Pause Packet Detect disabled
  32845. * 0b1..Unicast Pause Packet Detect enabled
  32846. */
  32847. #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)
  32848. #define ENET_QOS_MAC_RX_FLOW_CTRL_PFCE_MASK (0x100U)
  32849. #define ENET_QOS_MAC_RX_FLOW_CTRL_PFCE_SHIFT (8U)
  32850. /*! PFCE - Priority Based Flow Control Enable
  32851. * 0b0..Priority Based Flow Control is disabled
  32852. * 0b1..Priority Based Flow Control is enabled
  32853. */
  32854. #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)
  32855. /*! @} */
  32856. /*! @name MAC_RXQ_CTRL4 - Receive Queue Control 4 */
  32857. /*! @{ */
  32858. #define ENET_QOS_MAC_RXQ_CTRL4_UFFQE_MASK (0x1U)
  32859. #define ENET_QOS_MAC_RXQ_CTRL4_UFFQE_SHIFT (0U)
  32860. /*! UFFQE - Unicast Address Filter Fail Packets Queuing Enable.
  32861. * 0b0..Unicast Address Filter Fail Packets Queuing is disabled
  32862. * 0b1..Unicast Address Filter Fail Packets Queuing is enabled
  32863. */
  32864. #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)
  32865. #define ENET_QOS_MAC_RXQ_CTRL4_UFFQ_MASK (0xEU)
  32866. #define ENET_QOS_MAC_RXQ_CTRL4_UFFQ_SHIFT (1U)
  32867. /*! UFFQ - Unicast Address Filter Fail Packets Queue.
  32868. */
  32869. #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)
  32870. #define ENET_QOS_MAC_RXQ_CTRL4_MFFQE_MASK (0x100U)
  32871. #define ENET_QOS_MAC_RXQ_CTRL4_MFFQE_SHIFT (8U)
  32872. /*! MFFQE - Multicast Address Filter Fail Packets Queuing Enable.
  32873. * 0b0..Multicast Address Filter Fail Packets Queuing is disabled
  32874. * 0b1..Multicast Address Filter Fail Packets Queuing is enabled
  32875. */
  32876. #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)
  32877. #define ENET_QOS_MAC_RXQ_CTRL4_MFFQ_MASK (0xE00U)
  32878. #define ENET_QOS_MAC_RXQ_CTRL4_MFFQ_SHIFT (9U)
  32879. /*! MFFQ - Multicast Address Filter Fail Packets Queue.
  32880. */
  32881. #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)
  32882. #define ENET_QOS_MAC_RXQ_CTRL4_VFFQE_MASK (0x10000U)
  32883. #define ENET_QOS_MAC_RXQ_CTRL4_VFFQE_SHIFT (16U)
  32884. /*! VFFQE - VLAN Tag Filter Fail Packets Queuing Enable
  32885. * 0b0..VLAN tag Filter Fail Packets Queuing is disabled
  32886. * 0b1..VLAN tag Filter Fail Packets Queuing is enabled
  32887. */
  32888. #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)
  32889. #define ENET_QOS_MAC_RXQ_CTRL4_VFFQ_MASK (0xE0000U)
  32890. #define ENET_QOS_MAC_RXQ_CTRL4_VFFQ_SHIFT (17U)
  32891. /*! VFFQ - VLAN Tag Filter Fail Packets Queue
  32892. */
  32893. #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)
  32894. /*! @} */
  32895. /*! @name MAC_TXQ_PRTY_MAP0 - Transmit Queue Priority Mapping 0 */
  32896. /*! @{ */
  32897. #define ENET_QOS_MAC_TXQ_PRTY_MAP0_PSTQ0_MASK (0xFFU)
  32898. #define ENET_QOS_MAC_TXQ_PRTY_MAP0_PSTQ0_SHIFT (0U)
  32899. /*! PSTQ0 - Priorities Selected in Transmit Queue 0
  32900. */
  32901. #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)
  32902. #define ENET_QOS_MAC_TXQ_PRTY_MAP0_PSTQ1_MASK (0xFF00U)
  32903. #define ENET_QOS_MAC_TXQ_PRTY_MAP0_PSTQ1_SHIFT (8U)
  32904. /*! PSTQ1 - Priorities Selected in Transmit Queue 1 This bit is similar to the PSTQ0 bit.
  32905. */
  32906. #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)
  32907. #define ENET_QOS_MAC_TXQ_PRTY_MAP0_PSTQ2_MASK (0xFF0000U)
  32908. #define ENET_QOS_MAC_TXQ_PRTY_MAP0_PSTQ2_SHIFT (16U)
  32909. /*! PSTQ2 - Priorities Selected in Transmit Queue 2 This bit is similar to the PSTQ0 bit.
  32910. */
  32911. #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)
  32912. #define ENET_QOS_MAC_TXQ_PRTY_MAP0_PSTQ3_MASK (0xFF000000U)
  32913. #define ENET_QOS_MAC_TXQ_PRTY_MAP0_PSTQ3_SHIFT (24U)
  32914. /*! PSTQ3 - Priorities Selected in Transmit Queue 3 This bit is similar to the PSTQ0 bit.
  32915. */
  32916. #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)
  32917. /*! @} */
  32918. /*! @name MAC_TXQ_PRTY_MAP1 - Transmit Queue Priority Mapping 1 */
  32919. /*! @{ */
  32920. #define ENET_QOS_MAC_TXQ_PRTY_MAP1_PSTQ4_MASK (0xFFU)
  32921. #define ENET_QOS_MAC_TXQ_PRTY_MAP1_PSTQ4_SHIFT (0U)
  32922. /*! PSTQ4 - Priorities Selected in Transmit Queue 4
  32923. */
  32924. #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)
  32925. /*! @} */
  32926. /*! @name MAC_RXQ_CTRL - Receive Queue Control 0..Receive Queue Control 3 */
  32927. /*! @{ */
  32928. #define ENET_QOS_MAC_RXQ_CTRL_AVCPQ_MASK (0x7U)
  32929. #define ENET_QOS_MAC_RXQ_CTRL_AVCPQ_SHIFT (0U)
  32930. /*! AVCPQ - AV Untagged Control Packets Queue
  32931. * 0b000..Receive Queue 0
  32932. * 0b001..Receive Queue 1
  32933. * 0b010..Receive Queue 2
  32934. * 0b011..Receive Queue 3
  32935. * 0b100..Receive Queue 4
  32936. * 0b101..Reserved
  32937. * 0b110..Reserved
  32938. * 0b111..Reserved
  32939. */
  32940. #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)
  32941. #define ENET_QOS_MAC_RXQ_CTRL_PSRQ0_MASK (0xFFU)
  32942. #define ENET_QOS_MAC_RXQ_CTRL_PSRQ0_SHIFT (0U)
  32943. /*! PSRQ0 - Priorities Selected in the Receive Queue 0
  32944. */
  32945. #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)
  32946. #define ENET_QOS_MAC_RXQ_CTRL_PSRQ4_MASK (0xFFU)
  32947. #define ENET_QOS_MAC_RXQ_CTRL_PSRQ4_SHIFT (0U)
  32948. /*! PSRQ4 - Priorities Selected in the Receive Queue 4
  32949. */
  32950. #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)
  32951. #define ENET_QOS_MAC_RXQ_CTRL_RXQ0EN_MASK (0x3U)
  32952. #define ENET_QOS_MAC_RXQ_CTRL_RXQ0EN_SHIFT (0U)
  32953. /*! RXQ0EN - Receive Queue 0 Enable This field indicates whether Rx Queue 0 is enabled for AV or DCB.
  32954. * 0b00..Queue not enabled
  32955. * 0b01..Queue enabled for AV
  32956. * 0b10..Queue enabled for DCB/Generic
  32957. * 0b11..Reserved
  32958. */
  32959. #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)
  32960. #define ENET_QOS_MAC_RXQ_CTRL_RXQ1EN_MASK (0xCU)
  32961. #define ENET_QOS_MAC_RXQ_CTRL_RXQ1EN_SHIFT (2U)
  32962. /*! RXQ1EN - Receive Queue 1 Enable This field is similar to the RXQ0EN field.
  32963. * 0b00..Queue not enabled
  32964. * 0b01..Queue enabled for AV
  32965. * 0b10..Queue enabled for DCB/Generic
  32966. * 0b11..Reserved
  32967. */
  32968. #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)
  32969. #define ENET_QOS_MAC_RXQ_CTRL_PTPQ_MASK (0x70U)
  32970. #define ENET_QOS_MAC_RXQ_CTRL_PTPQ_SHIFT (4U)
  32971. /*! PTPQ - PTP Packets Queue
  32972. * 0b000..Receive Queue 0
  32973. * 0b001..Receive Queue 1
  32974. * 0b010..Receive Queue 2
  32975. * 0b011..Receive Queue 3
  32976. * 0b100..Receive Queue 4
  32977. * 0b101..Reserved
  32978. * 0b110..Reserved
  32979. * 0b111..Reserved
  32980. */
  32981. #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)
  32982. #define ENET_QOS_MAC_RXQ_CTRL_RXQ2EN_MASK (0x30U)
  32983. #define ENET_QOS_MAC_RXQ_CTRL_RXQ2EN_SHIFT (4U)
  32984. /*! RXQ2EN - Receive Queue 2 Enable This field is similar to the RXQ0EN field.
  32985. * 0b00..Queue not enabled
  32986. * 0b01..Queue enabled for AV
  32987. * 0b10..Queue enabled for DCB/Generic
  32988. * 0b11..Reserved
  32989. */
  32990. #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)
  32991. #define ENET_QOS_MAC_RXQ_CTRL_RXQ3EN_MASK (0xC0U)
  32992. #define ENET_QOS_MAC_RXQ_CTRL_RXQ3EN_SHIFT (6U)
  32993. /*! RXQ3EN - Receive Queue 3 Enable This field is similar to the RXQ0EN field.
  32994. * 0b00..Queue not enabled
  32995. * 0b01..Queue enabled for AV
  32996. * 0b10..Queue enabled for DCB/Generic
  32997. * 0b11..Reserved
  32998. */
  32999. #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)
  33000. #define ENET_QOS_MAC_RXQ_CTRL_DCBCPQ_MASK (0x700U)
  33001. #define ENET_QOS_MAC_RXQ_CTRL_DCBCPQ_SHIFT (8U)
  33002. /*! DCBCPQ - DCB Control Packets Queue
  33003. * 0b000..Receive Queue 0
  33004. * 0b001..Receive Queue 1
  33005. * 0b010..Receive Queue 2
  33006. * 0b011..Receive Queue 3
  33007. * 0b100..Receive Queue 4
  33008. * 0b101..Reserved
  33009. * 0b110..Reserved
  33010. * 0b111..Reserved
  33011. */
  33012. #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)
  33013. #define ENET_QOS_MAC_RXQ_CTRL_PSRQ1_MASK (0xFF00U)
  33014. #define ENET_QOS_MAC_RXQ_CTRL_PSRQ1_SHIFT (8U)
  33015. /*! PSRQ1 - Priorities Selected in the Receive Queue 1
  33016. */
  33017. #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)
  33018. #define ENET_QOS_MAC_RXQ_CTRL_RXQ4EN_MASK (0x300U)
  33019. #define ENET_QOS_MAC_RXQ_CTRL_RXQ4EN_SHIFT (8U)
  33020. /*! RXQ4EN - Receive Queue 4 Enable This field is similar to the RXQ0EN field.
  33021. * 0b00..Queue not enabled
  33022. * 0b01..Queue enabled for AV
  33023. * 0b10..Queue enabled for DCB/Generic
  33024. * 0b11..Reserved
  33025. */
  33026. #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)
  33027. #define ENET_QOS_MAC_RXQ_CTRL_UPQ_MASK (0x7000U)
  33028. #define ENET_QOS_MAC_RXQ_CTRL_UPQ_SHIFT (12U)
  33029. /*! UPQ - Untagged Packet Queue
  33030. * 0b000..Receive Queue 0
  33031. * 0b001..Receive Queue 1
  33032. * 0b010..Receive Queue 2
  33033. * 0b011..Receive Queue 3
  33034. * 0b100..Receive Queue 4
  33035. * 0b101..Reserved
  33036. * 0b110..Reserved
  33037. * 0b111..Reserved
  33038. */
  33039. #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)
  33040. #define ENET_QOS_MAC_RXQ_CTRL_MCBCQ_MASK (0x70000U)
  33041. #define ENET_QOS_MAC_RXQ_CTRL_MCBCQ_SHIFT (16U)
  33042. /*! MCBCQ - Multicast and Broadcast Queue
  33043. * 0b000..Receive Queue 0
  33044. * 0b001..Receive Queue 1
  33045. * 0b010..Receive Queue 2
  33046. * 0b011..Receive Queue 3
  33047. * 0b100..Receive Queue 4
  33048. * 0b101..Reserved
  33049. * 0b110..Reserved
  33050. * 0b111..Reserved
  33051. */
  33052. #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)
  33053. #define ENET_QOS_MAC_RXQ_CTRL_PSRQ2_MASK (0xFF0000U)
  33054. #define ENET_QOS_MAC_RXQ_CTRL_PSRQ2_SHIFT (16U)
  33055. /*! PSRQ2 - Priorities Selected in the Receive Queue 2
  33056. */
  33057. #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)
  33058. #define ENET_QOS_MAC_RXQ_CTRL_MCBCQEN_MASK (0x100000U)
  33059. #define ENET_QOS_MAC_RXQ_CTRL_MCBCQEN_SHIFT (20U)
  33060. /*! MCBCQEN - Multicast and Broadcast Queue Enable This bit specifies that Multicast or Broadcast
  33061. * packets routing to the Rx Queue is enabled and the Multicast or Broadcast packets must be routed
  33062. * to Rx Queue specified in MCBCQ field.
  33063. * 0b0..Multicast and Broadcast Queue is disabled
  33064. * 0b1..Multicast and Broadcast Queue is enabled
  33065. */
  33066. #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)
  33067. #define ENET_QOS_MAC_RXQ_CTRL_TACPQE_MASK (0x200000U)
  33068. #define ENET_QOS_MAC_RXQ_CTRL_TACPQE_SHIFT (21U)
  33069. /*! TACPQE - Tagged AV Control Packets Queuing Enable.
  33070. * 0b0..Tagged AV Control Packets Queuing is disabled
  33071. * 0b1..Tagged AV Control Packets Queuing is enabled
  33072. */
  33073. #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)
  33074. #define ENET_QOS_MAC_RXQ_CTRL_TPQC_MASK (0xC00000U)
  33075. #define ENET_QOS_MAC_RXQ_CTRL_TPQC_SHIFT (22U)
  33076. /*! TPQC - Tagged PTP over Ethernet Packets Queuing Control.
  33077. */
  33078. #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)
  33079. #define ENET_QOS_MAC_RXQ_CTRL_FPRQ_MASK (0x7000000U)
  33080. #define ENET_QOS_MAC_RXQ_CTRL_FPRQ_SHIFT (24U)
  33081. /*! FPRQ - Frame Preemption Residue Queue
  33082. */
  33083. #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)
  33084. #define ENET_QOS_MAC_RXQ_CTRL_PSRQ3_MASK (0xFF000000U)
  33085. #define ENET_QOS_MAC_RXQ_CTRL_PSRQ3_SHIFT (24U)
  33086. /*! PSRQ3 - Priorities Selected in the Receive Queue 3
  33087. */
  33088. #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)
  33089. /*! @} */
  33090. /* The count of ENET_QOS_MAC_RXQ_CTRL */
  33091. #define ENET_QOS_MAC_RXQ_CTRL_COUNT (4U)
  33092. /*! @name MAC_INTERRUPT_STATUS - Interrupt Status */
  33093. /*! @{ */
  33094. #define ENET_QOS_MAC_INTERRUPT_STATUS_RGSMIIIS_MASK (0x1U)
  33095. #define ENET_QOS_MAC_INTERRUPT_STATUS_RGSMIIIS_SHIFT (0U)
  33096. /*! RGSMIIIS - RGMII or SMII Interrupt Status
  33097. * 0b1..RGMII or SMII Interrupt Status is active
  33098. * 0b0..RGMII or SMII Interrupt Status is not active
  33099. */
  33100. #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)
  33101. #define ENET_QOS_MAC_INTERRUPT_STATUS_PHYIS_MASK (0x8U)
  33102. #define ENET_QOS_MAC_INTERRUPT_STATUS_PHYIS_SHIFT (3U)
  33103. /*! PHYIS - PHY Interrupt
  33104. * 0b1..PHY Interrupt detected
  33105. * 0b0..PHY Interrupt not detected
  33106. */
  33107. #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)
  33108. #define ENET_QOS_MAC_INTERRUPT_STATUS_PMTIS_MASK (0x10U)
  33109. #define ENET_QOS_MAC_INTERRUPT_STATUS_PMTIS_SHIFT (4U)
  33110. /*! PMTIS - PMT Interrupt Status
  33111. * 0b1..PMT Interrupt status active
  33112. * 0b0..PMT Interrupt status not active
  33113. */
  33114. #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)
  33115. #define ENET_QOS_MAC_INTERRUPT_STATUS_LPIIS_MASK (0x20U)
  33116. #define ENET_QOS_MAC_INTERRUPT_STATUS_LPIIS_SHIFT (5U)
  33117. /*! LPIIS - LPI Interrupt Status
  33118. * 0b1..LPI Interrupt status active
  33119. * 0b0..LPI Interrupt status not active
  33120. */
  33121. #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)
  33122. #define ENET_QOS_MAC_INTERRUPT_STATUS_MMCIS_MASK (0x100U)
  33123. #define ENET_QOS_MAC_INTERRUPT_STATUS_MMCIS_SHIFT (8U)
  33124. /*! MMCIS - MMC Interrupt Status
  33125. * 0b1..MMC Interrupt status active
  33126. * 0b0..MMC Interrupt status not active
  33127. */
  33128. #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)
  33129. #define ENET_QOS_MAC_INTERRUPT_STATUS_MMCRXIS_MASK (0x200U)
  33130. #define ENET_QOS_MAC_INTERRUPT_STATUS_MMCRXIS_SHIFT (9U)
  33131. /*! MMCRXIS - MMC Receive Interrupt Status
  33132. * 0b1..MMC Receive Interrupt status active
  33133. * 0b0..MMC Receive Interrupt status not active
  33134. */
  33135. #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)
  33136. #define ENET_QOS_MAC_INTERRUPT_STATUS_MMCTXIS_MASK (0x400U)
  33137. #define ENET_QOS_MAC_INTERRUPT_STATUS_MMCTXIS_SHIFT (10U)
  33138. /*! MMCTXIS - MMC Transmit Interrupt Status
  33139. * 0b1..MMC Transmit Interrupt status active
  33140. * 0b0..MMC Transmit Interrupt status not active
  33141. */
  33142. #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)
  33143. #define ENET_QOS_MAC_INTERRUPT_STATUS_MMCRXIPIS_MASK (0x800U)
  33144. #define ENET_QOS_MAC_INTERRUPT_STATUS_MMCRXIPIS_SHIFT (11U)
  33145. /*! MMCRXIPIS - MMC Receive Checksum Offload Interrupt Status
  33146. * 0b1..MMC Receive Checksum Offload Interrupt status active
  33147. * 0b0..MMC Receive Checksum Offload Interrupt status not active
  33148. */
  33149. #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)
  33150. #define ENET_QOS_MAC_INTERRUPT_STATUS_TSIS_MASK (0x1000U)
  33151. #define ENET_QOS_MAC_INTERRUPT_STATUS_TSIS_SHIFT (12U)
  33152. /*! TSIS - Timestamp Interrupt Status
  33153. * 0b1..Timestamp Interrupt status active
  33154. * 0b0..Timestamp Interrupt status not active
  33155. */
  33156. #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)
  33157. #define ENET_QOS_MAC_INTERRUPT_STATUS_TXSTSIS_MASK (0x2000U)
  33158. #define ENET_QOS_MAC_INTERRUPT_STATUS_TXSTSIS_SHIFT (13U)
  33159. /*! TXSTSIS - Transmit Status Interrupt
  33160. * 0b1..Transmit Interrupt status active
  33161. * 0b0..Transmit Interrupt status not active
  33162. */
  33163. #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)
  33164. #define ENET_QOS_MAC_INTERRUPT_STATUS_RXSTSIS_MASK (0x4000U)
  33165. #define ENET_QOS_MAC_INTERRUPT_STATUS_RXSTSIS_SHIFT (14U)
  33166. /*! RXSTSIS - Receive Status Interrupt
  33167. * 0b1..Receive Interrupt status active
  33168. * 0b0..Receive Interrupt status not active
  33169. */
  33170. #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)
  33171. #define ENET_QOS_MAC_INTERRUPT_STATUS_FPEIS_MASK (0x20000U)
  33172. #define ENET_QOS_MAC_INTERRUPT_STATUS_FPEIS_SHIFT (17U)
  33173. /*! FPEIS - Frame Preemption Interrupt Status
  33174. * 0b1..Frame Preemption Interrupt status active
  33175. * 0b0..Frame Preemption Interrupt status not active
  33176. */
  33177. #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)
  33178. #define ENET_QOS_MAC_INTERRUPT_STATUS_MDIOIS_MASK (0x40000U)
  33179. #define ENET_QOS_MAC_INTERRUPT_STATUS_MDIOIS_SHIFT (18U)
  33180. /*! MDIOIS - MDIO Interrupt Status
  33181. * 0b1..MDIO Interrupt status active
  33182. * 0b0..MDIO Interrupt status not active
  33183. */
  33184. #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)
  33185. #define ENET_QOS_MAC_INTERRUPT_STATUS_MFTIS_MASK (0x80000U)
  33186. #define ENET_QOS_MAC_INTERRUPT_STATUS_MFTIS_SHIFT (19U)
  33187. /*! MFTIS - MMC FPE Transmit Interrupt Status
  33188. * 0b1..MMC FPE Transmit Interrupt status active
  33189. * 0b0..MMC FPE Transmit Interrupt status not active
  33190. */
  33191. #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)
  33192. #define ENET_QOS_MAC_INTERRUPT_STATUS_MFRIS_MASK (0x100000U)
  33193. #define ENET_QOS_MAC_INTERRUPT_STATUS_MFRIS_SHIFT (20U)
  33194. /*! MFRIS - MMC FPE Receive Interrupt Status
  33195. * 0b1..MMC FPE Receive Interrupt status active
  33196. * 0b0..MMC FPE Receive Interrupt status not active
  33197. */
  33198. #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)
  33199. /*! @} */
  33200. /*! @name MAC_INTERRUPT_ENABLE - Interrupt Enable */
  33201. /*! @{ */
  33202. #define ENET_QOS_MAC_INTERRUPT_ENABLE_RGSMIIIE_MASK (0x1U)
  33203. #define ENET_QOS_MAC_INTERRUPT_ENABLE_RGSMIIIE_SHIFT (0U)
  33204. /*! RGSMIIIE - RGMII or SMII Interrupt Enable When this bit is set, it enables the assertion of the
  33205. * interrupt signal because of the setting of RGSMIIIS bit in MAC_INTERRUPT_STATUS register.
  33206. * 0b0..RGMII or SMII Interrupt is disabled
  33207. * 0b1..RGMII or SMII Interrupt is enabled
  33208. */
  33209. #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)
  33210. #define ENET_QOS_MAC_INTERRUPT_ENABLE_PHYIE_MASK (0x8U)
  33211. #define ENET_QOS_MAC_INTERRUPT_ENABLE_PHYIE_SHIFT (3U)
  33212. /*! PHYIE - PHY Interrupt Enable When this bit is set, it enables the assertion of the interrupt
  33213. * signal because of the setting of MAC_INTERRUPT_STATUS[PHYIS].
  33214. * 0b0..PHY Interrupt is disabled
  33215. * 0b1..PHY Interrupt is enabled
  33216. */
  33217. #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)
  33218. #define ENET_QOS_MAC_INTERRUPT_ENABLE_PMTIE_MASK (0x10U)
  33219. #define ENET_QOS_MAC_INTERRUPT_ENABLE_PMTIE_SHIFT (4U)
  33220. /*! PMTIE - PMT Interrupt Enable When this bit is set, it enables the assertion of the interrupt
  33221. * signal because of the setting of MAC_INTERRUPT_STATUS[PMTIS].
  33222. * 0b0..PMT Interrupt is disabled
  33223. * 0b1..PMT Interrupt is enabled
  33224. */
  33225. #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)
  33226. #define ENET_QOS_MAC_INTERRUPT_ENABLE_LPIIE_MASK (0x20U)
  33227. #define ENET_QOS_MAC_INTERRUPT_ENABLE_LPIIE_SHIFT (5U)
  33228. /*! LPIIE - LPI Interrupt Enable When this bit is set, it enables the assertion of the interrupt
  33229. * signal because of the setting of MAC_INTERRUPT_STATUS[LPIIS].
  33230. * 0b0..LPI Interrupt is disabled
  33231. * 0b1..LPI Interrupt is enabled
  33232. */
  33233. #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)
  33234. #define ENET_QOS_MAC_INTERRUPT_ENABLE_TSIE_MASK (0x1000U)
  33235. #define ENET_QOS_MAC_INTERRUPT_ENABLE_TSIE_SHIFT (12U)
  33236. /*! TSIE - Timestamp Interrupt Enable When this bit is set, it enables the assertion of the
  33237. * interrupt signal because of the setting of MAC_INTERRUPT_STATUS[TSIS].
  33238. * 0b0..Timestamp Interrupt is disabled
  33239. * 0b1..Timestamp Interrupt is enabled
  33240. */
  33241. #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)
  33242. #define ENET_QOS_MAC_INTERRUPT_ENABLE_TXSTSIE_MASK (0x2000U)
  33243. #define ENET_QOS_MAC_INTERRUPT_ENABLE_TXSTSIE_SHIFT (13U)
  33244. /*! TXSTSIE - Transmit Status Interrupt Enable When this bit is set, it enables the assertion of the
  33245. * interrupt signal because of the setting of MAC_INTERRUPT_STATUS[TXSTSIS].
  33246. * 0b0..Timestamp Status Interrupt is disabled
  33247. * 0b1..Timestamp Status Interrupt is enabled
  33248. */
  33249. #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)
  33250. #define ENET_QOS_MAC_INTERRUPT_ENABLE_RXSTSIE_MASK (0x4000U)
  33251. #define ENET_QOS_MAC_INTERRUPT_ENABLE_RXSTSIE_SHIFT (14U)
  33252. /*! RXSTSIE - Receive Status Interrupt Enable When this bit is set, it enables the assertion of the
  33253. * interrupt signal because of the setting of MAC_INTERRUPT_STATUS[RXSTSIS].
  33254. * 0b0..Receive Status Interrupt is disabled
  33255. * 0b1..Receive Status Interrupt is enabled
  33256. */
  33257. #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)
  33258. #define ENET_QOS_MAC_INTERRUPT_ENABLE_FPEIE_MASK (0x20000U)
  33259. #define ENET_QOS_MAC_INTERRUPT_ENABLE_FPEIE_SHIFT (17U)
  33260. /*! FPEIE - Frame Preemption Interrupt Enable When this bit is set, it enables the assertion of the
  33261. * interrupt when FPEIS field is set in the MAC_INTERRUPT_STATUS.
  33262. * 0b0..Frame Preemption Interrupt is disabled
  33263. * 0b1..Frame Preemption Interrupt is enabled
  33264. */
  33265. #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)
  33266. #define ENET_QOS_MAC_INTERRUPT_ENABLE_MDIOIE_MASK (0x40000U)
  33267. #define ENET_QOS_MAC_INTERRUPT_ENABLE_MDIOIE_SHIFT (18U)
  33268. /*! MDIOIE - MDIO Interrupt Enable When this bit is set, it enables the assertion of the interrupt
  33269. * when MDIOIS field is set in the MAC_INTERRUPT_STATUS register.
  33270. * 0b0..MDIO Interrupt is disabled
  33271. * 0b1..MDIO Interrupt is enabled
  33272. */
  33273. #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)
  33274. /*! @} */
  33275. /*! @name MAC_RX_TX_STATUS - Receive Transmit Status */
  33276. /*! @{ */
  33277. #define ENET_QOS_MAC_RX_TX_STATUS_TJT_MASK (0x1U)
  33278. #define ENET_QOS_MAC_RX_TX_STATUS_TJT_SHIFT (0U)
  33279. /*! TJT - Transmit Jabber Timeout This bit indicates that the Transmit Jabber Timer expired which
  33280. * happens when the packet size exceeds 2,048 bytes (10,240 bytes when the Jumbo packet is enabled)
  33281. * and JD bit is reset in the MAC_CONFIGURATION register.
  33282. * 0b1..Transmit Jabber Timeout occurred
  33283. * 0b0..No Transmit Jabber Timeout
  33284. */
  33285. #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)
  33286. #define ENET_QOS_MAC_RX_TX_STATUS_NCARR_MASK (0x2U)
  33287. #define ENET_QOS_MAC_RX_TX_STATUS_NCARR_SHIFT (1U)
  33288. /*! NCARR - No Carrier When the DTXSTS bit is set in the MAC_OPERATION_MODE register, this bit
  33289. * indicates that the carrier signal from the PHY is not present at the end of preamble transmission.
  33290. * 0b1..No carrier
  33291. * 0b0..Carrier is present
  33292. */
  33293. #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)
  33294. #define ENET_QOS_MAC_RX_TX_STATUS_LCARR_MASK (0x4U)
  33295. #define ENET_QOS_MAC_RX_TX_STATUS_LCARR_SHIFT (2U)
  33296. /*! LCARR - Loss of Carrier When the DTXSTS bit is set in the MAC_OPERATION_MODE register, this bit
  33297. * indicates that the loss of carrier occurred during packet transmission, that is, the phy_crs_i
  33298. * signal was inactive for one or more transmission clock periods during packet transmission.
  33299. * 0b1..Loss of carrier
  33300. * 0b0..Carrier is present
  33301. */
  33302. #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)
  33303. #define ENET_QOS_MAC_RX_TX_STATUS_EXDEF_MASK (0x8U)
  33304. #define ENET_QOS_MAC_RX_TX_STATUS_EXDEF_SHIFT (3U)
  33305. /*! EXDEF - Excessive Deferral When the DTXSTS bit is set in the MAC_OPERATION_MODE register and the
  33306. * DC bit is set in the MAC_CONFIGURATION register, this bit indicates that the transmission
  33307. * ended because of excessive deferral of over 24,288 bit times (155,680 in 1000/2500 Mbps mode or
  33308. * when Jumbo packet is enabled).
  33309. * 0b1..Excessive deferral
  33310. * 0b0..No Excessive deferral
  33311. */
  33312. #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)
  33313. #define ENET_QOS_MAC_RX_TX_STATUS_LCOL_MASK (0x10U)
  33314. #define ENET_QOS_MAC_RX_TX_STATUS_LCOL_SHIFT (4U)
  33315. /*! LCOL - Late Collision When the DTXSTS bit is set in the MAC_OPERATION_MODE register, this bit
  33316. * indicates that the packet transmission aborted because a collision occurred after the collision
  33317. * window (64 bytes including Preamble in MII mode; 512 bytes including Preamble and Carrier
  33318. * Extension in GMII mode).
  33319. * 0b1..Late collision is sensed
  33320. * 0b0..No collision
  33321. */
  33322. #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)
  33323. #define ENET_QOS_MAC_RX_TX_STATUS_EXCOL_MASK (0x20U)
  33324. #define ENET_QOS_MAC_RX_TX_STATUS_EXCOL_SHIFT (5U)
  33325. /*! EXCOL - Excessive Collisions When the DTXSTS bit is set in the MAC_OPERATION_MODE register, this
  33326. * bit indicates that the transmission aborted after 16 successive collisions while attempting
  33327. * to transmit the current packet.
  33328. * 0b1..Excessive collision is sensed
  33329. * 0b0..No collision
  33330. */
  33331. #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)
  33332. #define ENET_QOS_MAC_RX_TX_STATUS_RWT_MASK (0x100U)
  33333. #define ENET_QOS_MAC_RX_TX_STATUS_RWT_SHIFT (8U)
  33334. /*! RWT - Receive Watchdog Timeout This bit is set when a packet with length greater than 2,048
  33335. * bytes is received (10, 240 bytes when Jumbo Packet mode is enabled) and the WD bit is reset in the
  33336. * MAC_CONFIGURATION register.
  33337. * 0b1..Receive watchdog timed out
  33338. * 0b0..No receive watchdog timeout
  33339. */
  33340. #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)
  33341. /*! @} */
  33342. /*! @name MAC_PMT_CONTROL_STATUS - PMT Control and Status */
  33343. /*! @{ */
  33344. #define ENET_QOS_MAC_PMT_CONTROL_STATUS_PWRDWN_MASK (0x1U)
  33345. #define ENET_QOS_MAC_PMT_CONTROL_STATUS_PWRDWN_SHIFT (0U)
  33346. /*! PWRDWN - Power Down When this bit is set, the MAC receiver drops all received packets until it
  33347. * receives the expected magic packet or remote wake-up packet.
  33348. * 0b0..Power down is disabled
  33349. * 0b1..Power down is enabled
  33350. */
  33351. #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)
  33352. #define ENET_QOS_MAC_PMT_CONTROL_STATUS_MGKPKTEN_MASK (0x2U)
  33353. #define ENET_QOS_MAC_PMT_CONTROL_STATUS_MGKPKTEN_SHIFT (1U)
  33354. /*! MGKPKTEN - Magic Packet Enable When this bit is set, a power management event is generated when the MAC receives a magic packet.
  33355. * 0b0..Magic Packet is disabled
  33356. * 0b1..Magic Packet is enabled
  33357. */
  33358. #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)
  33359. #define ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKPKTEN_MASK (0x4U)
  33360. #define ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKPKTEN_SHIFT (2U)
  33361. /*! RWKPKTEN - Remote Wake-Up Packet Enable When this bit is set, a power management event is
  33362. * generated when the MAC receives a remote wake-up packet.
  33363. * 0b0..Remote wake-up packet is disabled
  33364. * 0b1..Remote wake-up packet is enabled
  33365. */
  33366. #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)
  33367. #define ENET_QOS_MAC_PMT_CONTROL_STATUS_MGKPRCVD_MASK (0x20U)
  33368. #define ENET_QOS_MAC_PMT_CONTROL_STATUS_MGKPRCVD_SHIFT (5U)
  33369. /*! MGKPRCVD - Magic Packet Received When this bit is set, it indicates that the power management
  33370. * event is generated because of the reception of a magic packet.
  33371. * 0b1..Magic packet is received
  33372. * 0b0..No Magic packet is received
  33373. */
  33374. #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)
  33375. #define ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKPRCVD_MASK (0x40U)
  33376. #define ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKPRCVD_SHIFT (6U)
  33377. /*! RWKPRCVD - Remote Wake-Up Packet Received When this bit is set, it indicates that the power
  33378. * management event is generated because of the reception of a remote wake-up packet.
  33379. * 0b1..Remote wake-up packet is received
  33380. * 0b0..Remote wake-up packet is received
  33381. */
  33382. #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)
  33383. #define ENET_QOS_MAC_PMT_CONTROL_STATUS_GLBLUCAST_MASK (0x200U)
  33384. #define ENET_QOS_MAC_PMT_CONTROL_STATUS_GLBLUCAST_SHIFT (9U)
  33385. /*! GLBLUCAST - Global Unicast When this bit set, any unicast packet filtered by the MAC (DAF)
  33386. * address recognition is detected as a remote wake-up packet.
  33387. * 0b0..Global unicast is disabled
  33388. * 0b1..Global unicast is enabled
  33389. */
  33390. #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)
  33391. #define ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKPFE_MASK (0x400U)
  33392. #define ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKPFE_SHIFT (10U)
  33393. /*! RWKPFE - Remote Wake-up Packet Forwarding Enable When this bit is set along with RWKPKTEN, the
  33394. * MAC receiver drops all received frames until it receives the expected Wake-up frame.
  33395. * 0b0..Remote Wake-up Packet Forwarding is disabled
  33396. * 0b1..Remote Wake-up Packet Forwarding is enabled
  33397. */
  33398. #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)
  33399. #define ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKPTR_MASK (0x1F000000U)
  33400. #define ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKPTR_SHIFT (24U)
  33401. /*! RWKPTR - Remote Wake-up FIFO Pointer This field gives the current value (0 to 7, 15, or 31 when
  33402. * 4, 8, or 16 Remote Wake-up Packet Filters are selected) of the Remote Wake-up Packet Filter
  33403. * register pointer.
  33404. */
  33405. #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)
  33406. #define ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKFILTRST_MASK (0x80000000U)
  33407. #define ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKFILTRST_SHIFT (31U)
  33408. /*! RWKFILTRST - Remote Wake-Up Packet Filter Register Pointer Reset When this bit is set, the
  33409. * remote wake-up packet filter register pointer is reset to 3'b000.
  33410. * 0b0..Remote Wake-Up Packet Filter Register Pointer is not Reset
  33411. * 0b1..Remote Wake-Up Packet Filter Register Pointer is Reset
  33412. */
  33413. #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)
  33414. /*! @} */
  33415. /*! @name MAC_RWK_PACKET_FILTER - Remote Wakeup Filter */
  33416. /*! @{ */
  33417. #define ENET_QOS_MAC_RWK_PACKET_FILTER_WKUPFRMFTR_MASK (0xFFFFFFFFU)
  33418. #define ENET_QOS_MAC_RWK_PACKET_FILTER_WKUPFRMFTR_SHIFT (0U)
  33419. /*! WKUPFRMFTR - RWK Packet Filter This field contains the various controls of RWK Packet filter.
  33420. */
  33421. #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)
  33422. /*! @} */
  33423. /*! @name MAC_LPI_CONTROL_STATUS - LPI Control and Status */
  33424. /*! @{ */
  33425. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_TLPIEN_MASK (0x1U)
  33426. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_TLPIEN_SHIFT (0U)
  33427. /*! TLPIEN - Transmit LPI Entry When this bit is set, it indicates that the MAC Transmitter has
  33428. * entered the LPI state because of the setting of the LPIEN bit.
  33429. * 0b1..Transmit LPI entry detected
  33430. * 0b0..Transmit LPI entry not detected
  33431. */
  33432. #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)
  33433. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_TLPIEX_MASK (0x2U)
  33434. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_TLPIEX_SHIFT (1U)
  33435. /*! TLPIEX - Transmit LPI Exit When this bit is set, it indicates that the MAC transmitter exited
  33436. * the LPI state after the application cleared the LPIEN bit and the LPI TW Timer has expired.
  33437. * 0b1..Transmit LPI exit detected
  33438. * 0b0..Transmit LPI exit not detected
  33439. */
  33440. #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)
  33441. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_RLPIEN_MASK (0x4U)
  33442. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_RLPIEN_SHIFT (2U)
  33443. /*! RLPIEN - Receive LPI Entry When this bit is set, it indicates that the MAC Receiver has received
  33444. * an LPI pattern and entered the LPI state.
  33445. * 0b1..Receive LPI entry detected
  33446. * 0b0..Receive LPI entry not detected
  33447. */
  33448. #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)
  33449. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_RLPIEX_MASK (0x8U)
  33450. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_RLPIEX_SHIFT (3U)
  33451. /*! RLPIEX - Receive LPI Exit When this bit is set, it indicates that the MAC Receiver has stopped
  33452. * receiving the LPI pattern on the GMII or MII interface, exited the LPI state, and resumed the
  33453. * normal reception.
  33454. * 0b1..Receive LPI exit detected
  33455. * 0b0..Receive LPI exit not detected
  33456. */
  33457. #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)
  33458. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_TLPIST_MASK (0x100U)
  33459. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_TLPIST_SHIFT (8U)
  33460. /*! TLPIST - Transmit LPI State When this bit is set, it indicates that the MAC is transmitting the
  33461. * LPI pattern on the GMII or MII interface.
  33462. * 0b1..Transmit LPI state detected
  33463. * 0b0..Transmit LPI state not detected
  33464. */
  33465. #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)
  33466. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_RLPIST_MASK (0x200U)
  33467. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_RLPIST_SHIFT (9U)
  33468. /*! RLPIST - Receive LPI State When this bit is set, it indicates that the MAC is receiving the LPI
  33469. * pattern on the GMII or MII interface.
  33470. * 0b1..Receive LPI state detected
  33471. * 0b0..Receive LPI state not detected
  33472. */
  33473. #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)
  33474. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_LPIEN_MASK (0x10000U)
  33475. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_LPIEN_SHIFT (16U)
  33476. /*! LPIEN - LPI Enable When this bit is set, it instructs the MAC Transmitter to enter the LPI state.
  33477. * 0b0..LPI state is disabled
  33478. * 0b1..LPI state is enabled
  33479. */
  33480. #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)
  33481. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_PLS_MASK (0x20000U)
  33482. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_PLS_SHIFT (17U)
  33483. /*! PLS - PHY Link Status This bit indicates the link status of the PHY.
  33484. * 0b0..link is down
  33485. * 0b1..link is okay (UP)
  33486. */
  33487. #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)
  33488. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_PLSEN_MASK (0x40000U)
  33489. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_PLSEN_SHIFT (18U)
  33490. /*! PLSEN - PHY Link Status Enable This bit enables the link status received on the RGMII, SGMII, or
  33491. * SMII Receive paths to be used for activating the LPI LS TIMER.
  33492. * 0b0..PHY Link Status is disabled
  33493. * 0b1..PHY Link Status is enabled
  33494. */
  33495. #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)
  33496. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_LPITXA_MASK (0x80000U)
  33497. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_LPITXA_SHIFT (19U)
  33498. /*! LPITXA - LPI Tx Automate This bit controls the behavior of the MAC when it is entering or coming
  33499. * out of the LPI mode on the Transmit side.
  33500. * 0b0..LPI Tx Automate is disabled
  33501. * 0b1..LPI Tx Automate is enabled
  33502. */
  33503. #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)
  33504. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_LPIATE_MASK (0x100000U)
  33505. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_LPIATE_SHIFT (20U)
  33506. /*! LPIATE - LPI Timer Enable This bit controls the automatic entry of the MAC Transmitter into and exit out of the LPI state.
  33507. * 0b0..LPI Timer is disabled
  33508. * 0b1..LPI Timer is enabled
  33509. */
  33510. #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)
  33511. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_LPITCSE_MASK (0x200000U)
  33512. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_LPITCSE_SHIFT (21U)
  33513. /*! LPITCSE - LPI Tx Clock Stop Enable When this bit is set, the MAC asserts
  33514. * 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.
  33515. * 0b0..LPI Tx Clock Stop is disabled
  33516. * 0b1..LPI Tx Clock Stop is enabled
  33517. */
  33518. #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)
  33519. /*! @} */
  33520. /*! @name MAC_LPI_TIMERS_CONTROL - LPI Timers Control */
  33521. /*! @{ */
  33522. #define ENET_QOS_MAC_LPI_TIMERS_CONTROL_TWT_MASK (0xFFFFU)
  33523. #define ENET_QOS_MAC_LPI_TIMERS_CONTROL_TWT_SHIFT (0U)
  33524. /*! TWT - LPI TW Timer This field specifies the minimum time (in microseconds) for which the MAC
  33525. * waits after it stops transmitting the LPI pattern to the PHY and before it resumes the normal
  33526. * transmission.
  33527. */
  33528. #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)
  33529. #define ENET_QOS_MAC_LPI_TIMERS_CONTROL_LST_MASK (0x3FF0000U)
  33530. #define ENET_QOS_MAC_LPI_TIMERS_CONTROL_LST_SHIFT (16U)
  33531. /*! LST - LPI LS Timer This field specifies the minimum time (in milliseconds) for which the link
  33532. * status from the PHY should be up (OKAY) before the LPI pattern can be transmitted to the PHY.
  33533. */
  33534. #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)
  33535. /*! @} */
  33536. /*! @name MAC_LPI_ENTRY_TIMER - Tx LPI Entry Timer Control */
  33537. /*! @{ */
  33538. #define ENET_QOS_MAC_LPI_ENTRY_TIMER_LPIET_MASK (0xFFFF8U)
  33539. #define ENET_QOS_MAC_LPI_ENTRY_TIMER_LPIET_SHIFT (3U)
  33540. /*! LPIET - LPI Entry Timer This field specifies the time in microseconds the MAC waits to enter LPI
  33541. * mode, after it has transmitted all the frames.
  33542. */
  33543. #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)
  33544. /*! @} */
  33545. /*! @name MAC_ONEUS_TIC_COUNTER - One-microsecond Reference Timer */
  33546. /*! @{ */
  33547. #define ENET_QOS_MAC_ONEUS_TIC_COUNTER_TIC_1US_CNTR_MASK (0xFFFU)
  33548. #define ENET_QOS_MAC_ONEUS_TIC_COUNTER_TIC_1US_CNTR_SHIFT (0U)
  33549. /*! TIC_1US_CNTR - 1US TIC Counter The application must program this counter so that the number of clock cycles of CSR clock is 1us.
  33550. */
  33551. #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)
  33552. /*! @} */
  33553. /*! @name MAC_PHYIF_CONTROL_STATUS - PHY Interface Control and Status */
  33554. /*! @{ */
  33555. #define ENET_QOS_MAC_PHYIF_CONTROL_STATUS_TC_MASK (0x1U)
  33556. #define ENET_QOS_MAC_PHYIF_CONTROL_STATUS_TC_SHIFT (0U)
  33557. /*! TC - Transmit Configuration in RGMII, SGMII, or SMII When set, this bit enables the transmission
  33558. * of duplex mode, link speed, and link up or down information to the PHY in the RGMII, SMII, or
  33559. * SGMII port.
  33560. * 0b0..Disable Transmit Configuration in RGMII, SGMII, or SMII
  33561. * 0b1..Enable Transmit Configuration in RGMII, SGMII, or SMII
  33562. */
  33563. #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)
  33564. #define ENET_QOS_MAC_PHYIF_CONTROL_STATUS_LUD_MASK (0x2U)
  33565. #define ENET_QOS_MAC_PHYIF_CONTROL_STATUS_LUD_SHIFT (1U)
  33566. /*! LUD - Link Up or Down This bit indicates whether the link is up or down during transmission of
  33567. * configuration in the RGMII, SGMII, or SMII interface.
  33568. * 0b0..Link down
  33569. * 0b1..Link up
  33570. */
  33571. #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)
  33572. #define ENET_QOS_MAC_PHYIF_CONTROL_STATUS_LNKMOD_MASK (0x10000U)
  33573. #define ENET_QOS_MAC_PHYIF_CONTROL_STATUS_LNKMOD_SHIFT (16U)
  33574. /*! LNKMOD - Link Mode This bit indicates the current mode of operation of the link.
  33575. * 0b1..Full-duplex mode
  33576. * 0b0..Half-duplex mode
  33577. */
  33578. #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)
  33579. #define ENET_QOS_MAC_PHYIF_CONTROL_STATUS_LNKSPEED_MASK (0x60000U)
  33580. #define ENET_QOS_MAC_PHYIF_CONTROL_STATUS_LNKSPEED_SHIFT (17U)
  33581. /*! LNKSPEED - Link Speed This bit indicates the current speed of the link.
  33582. * 0b10..125 MHz
  33583. * 0b00..2.5 MHz
  33584. * 0b01..25 MHz
  33585. * 0b11..Reserved
  33586. */
  33587. #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)
  33588. #define ENET_QOS_MAC_PHYIF_CONTROL_STATUS_LNKSTS_MASK (0x80000U)
  33589. #define ENET_QOS_MAC_PHYIF_CONTROL_STATUS_LNKSTS_SHIFT (19U)
  33590. /*! LNKSTS - Link Status This bit indicates whether the link is up (1'b1) or down (1'b0).
  33591. * 0b1..Link up
  33592. * 0b0..Link down
  33593. */
  33594. #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)
  33595. /*! @} */
  33596. /*! @name MAC_VERSION - MAC Version */
  33597. /*! @{ */
  33598. #define ENET_QOS_MAC_VERSION_SNPSVER_MASK (0xFFU)
  33599. #define ENET_QOS_MAC_VERSION_SNPSVER_SHIFT (0U)
  33600. /*! SNPSVER - Synopsys-defined Version
  33601. */
  33602. #define ENET_QOS_MAC_VERSION_SNPSVER(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VERSION_SNPSVER_SHIFT)) & ENET_QOS_MAC_VERSION_SNPSVER_MASK)
  33603. #define ENET_QOS_MAC_VERSION_USERVER_MASK (0xFF00U)
  33604. #define ENET_QOS_MAC_VERSION_USERVER_SHIFT (8U)
  33605. /*! USERVER - User-defined Version (8'h10)
  33606. */
  33607. #define ENET_QOS_MAC_VERSION_USERVER(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VERSION_USERVER_SHIFT)) & ENET_QOS_MAC_VERSION_USERVER_MASK)
  33608. /*! @} */
  33609. /*! @name MAC_DEBUG - MAC Debug */
  33610. /*! @{ */
  33611. #define ENET_QOS_MAC_DEBUG_RPESTS_MASK (0x1U)
  33612. #define ENET_QOS_MAC_DEBUG_RPESTS_SHIFT (0U)
  33613. /*! RPESTS - MAC GMII or MII Receive Protocol Engine Status When this bit is set, it indicates that
  33614. * the MAC GMII or MII receive protocol engine is actively receiving data, and it is not in the
  33615. * Idle state.
  33616. * 0b1..MAC GMII or MII Receive Protocol Engine Status detected
  33617. * 0b0..MAC GMII or MII Receive Protocol Engine Status not detected
  33618. */
  33619. #define ENET_QOS_MAC_DEBUG_RPESTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_DEBUG_RPESTS_SHIFT)) & ENET_QOS_MAC_DEBUG_RPESTS_MASK)
  33620. #define ENET_QOS_MAC_DEBUG_RFCFCSTS_MASK (0x6U)
  33621. #define ENET_QOS_MAC_DEBUG_RFCFCSTS_SHIFT (1U)
  33622. /*! RFCFCSTS - MAC Receive Packet Controller FIFO Status When this bit is set, this field indicates
  33623. * the active state of the small FIFO Read and Write controllers of the MAC Receive Packet
  33624. * Controller module.
  33625. */
  33626. #define ENET_QOS_MAC_DEBUG_RFCFCSTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_DEBUG_RFCFCSTS_SHIFT)) & ENET_QOS_MAC_DEBUG_RFCFCSTS_MASK)
  33627. #define ENET_QOS_MAC_DEBUG_TPESTS_MASK (0x10000U)
  33628. #define ENET_QOS_MAC_DEBUG_TPESTS_SHIFT (16U)
  33629. /*! TPESTS - MAC GMII or MII Transmit Protocol Engine Status When this bit is set, it indicates that
  33630. * the MAC GMII or MII transmit protocol engine is actively transmitting data, and it is not in
  33631. * the Idle state.
  33632. * 0b1..MAC GMII or MII Transmit Protocol Engine Status detected
  33633. * 0b0..MAC GMII or MII Transmit Protocol Engine Status not detected
  33634. */
  33635. #define ENET_QOS_MAC_DEBUG_TPESTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_DEBUG_TPESTS_SHIFT)) & ENET_QOS_MAC_DEBUG_TPESTS_MASK)
  33636. #define ENET_QOS_MAC_DEBUG_TFCSTS_MASK (0x60000U)
  33637. #define ENET_QOS_MAC_DEBUG_TFCSTS_SHIFT (17U)
  33638. /*! TFCSTS - MAC Transmit Packet Controller Status This field indicates the state of the MAC Transmit Packet Controller module.
  33639. * 0b10..Generating and transmitting a Pause control packet (in full-duplex mode)
  33640. * 0b00..Idle state
  33641. * 0b11..Transferring input packet for transmission
  33642. * 0b01..Waiting for one of the following: Status of the previous packet OR IPG or back off period to be over
  33643. */
  33644. #define ENET_QOS_MAC_DEBUG_TFCSTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_DEBUG_TFCSTS_SHIFT)) & ENET_QOS_MAC_DEBUG_TFCSTS_MASK)
  33645. /*! @} */
  33646. /*! @name MAC_HW_FEAT - Optional Features or Functions 0..Optional Features or Functions 3 */
  33647. /*! @{ */
  33648. #define ENET_QOS_MAC_HW_FEAT_MIISEL_MASK (0x1U)
  33649. #define ENET_QOS_MAC_HW_FEAT_MIISEL_SHIFT (0U)
  33650. /*! MIISEL - 10 or 100 Mbps Support This bit is set to 1 when 10/100 Mbps is selected as the Mode of Operation
  33651. * 0b1..10 or 100 Mbps support
  33652. * 0b0..No 10 or 100 Mbps support
  33653. */
  33654. #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)
  33655. #define ENET_QOS_MAC_HW_FEAT_NRVF_MASK (0x7U)
  33656. #define ENET_QOS_MAC_HW_FEAT_NRVF_SHIFT (0U)
  33657. /*! NRVF - Number of Extended VLAN Tag Filters Enabled This field indicates the Number of Extended VLAN Tag Filters selected:
  33658. * 0b011..16 Extended Rx VLAN Filters
  33659. * 0b100..24 Extended Rx VLAN Filters
  33660. * 0b101..32 Extended Rx VLAN Filters
  33661. * 0b001..4 Extended Rx VLAN Filters
  33662. * 0b010..8 Extended Rx VLAN Filters
  33663. * 0b000..No Extended Rx VLAN Filters
  33664. * 0b110..Reserved
  33665. */
  33666. #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)
  33667. #define ENET_QOS_MAC_HW_FEAT_RXFIFOSIZE_MASK (0x1FU)
  33668. #define ENET_QOS_MAC_HW_FEAT_RXFIFOSIZE_SHIFT (0U)
  33669. /*! RXFIFOSIZE - MTL Receive FIFO Size This field contains the configured value of MTL Rx FIFO in
  33670. * bytes expressed as Log to base 2 minus 7, that is, Log2(RXFIFO_SIZE) -7:
  33671. * 0b00011..1024 bytes
  33672. * 0b00000..128 bytes
  33673. * 0b01010..128 KB
  33674. * 0b00111..16384 bytes
  33675. * 0b00100..2048 bytes
  33676. * 0b00001..256 bytes
  33677. * 0b01011..256 KB
  33678. * 0b01000..32 KB
  33679. * 0b00101..4096 bytes
  33680. * 0b00010..512 bytes
  33681. * 0b01001..64 KB
  33682. * 0b00110..8192 bytes
  33683. * 0b01100..Reserved
  33684. */
  33685. #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)
  33686. #define ENET_QOS_MAC_HW_FEAT_RXQCNT_MASK (0xFU)
  33687. #define ENET_QOS_MAC_HW_FEAT_RXQCNT_SHIFT (0U)
  33688. /*! RXQCNT - Number of MTL Receive Queues This field indicates the number of MTL Receive queues:
  33689. * 0b0000..1 MTL Rx Queue
  33690. * 0b0001..2 MTL Rx Queues
  33691. * 0b0010..3 MTL Rx Queues
  33692. * 0b0011..4 MTL Rx Queues
  33693. * 0b0100..5 MTL Rx Queues
  33694. * 0b0101..Reserved
  33695. * 0b0110..Reserved
  33696. * 0b0111..Reserved
  33697. */
  33698. #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)
  33699. #define ENET_QOS_MAC_HW_FEAT_GMIISEL_MASK (0x2U)
  33700. #define ENET_QOS_MAC_HW_FEAT_GMIISEL_SHIFT (1U)
  33701. /*! GMIISEL - 1000 Mbps Support This bit is set to 1 when 1000 Mbps is selected as the Mode of Operation
  33702. * 0b1..1000 Mbps support
  33703. * 0b0..No 1000 Mbps support
  33704. */
  33705. #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)
  33706. #define ENET_QOS_MAC_HW_FEAT_HDSEL_MASK (0x4U)
  33707. #define ENET_QOS_MAC_HW_FEAT_HDSEL_SHIFT (2U)
  33708. /*! HDSEL - Half-duplex Support This bit is set to 1 when the half-duplex mode is selected
  33709. * 0b1..Half-duplex support
  33710. * 0b0..No Half-duplex support
  33711. */
  33712. #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)
  33713. #define ENET_QOS_MAC_HW_FEAT_PCSSEL_MASK (0x8U)
  33714. #define ENET_QOS_MAC_HW_FEAT_PCSSEL_SHIFT (3U)
  33715. /*! PCSSEL - PCS Registers (TBI, SGMII, or RTBI PHY interface) This bit is set to 1 when the TBI,
  33716. * SGMII, or RTBI PHY interface option is selected
  33717. * 0b1..PCS Registers (TBI, SGMII, or RTBI PHY interface)
  33718. * 0b0..No PCS Registers (TBI, SGMII, or RTBI PHY interface)
  33719. */
  33720. #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)
  33721. #define ENET_QOS_MAC_HW_FEAT_CBTISEL_MASK (0x10U)
  33722. #define ENET_QOS_MAC_HW_FEAT_CBTISEL_SHIFT (4U)
  33723. /*! CBTISEL - Queue/Channel based VLAN tag insertion on Tx Enable This bit is set to 1 when the
  33724. * Enable Queue/Channel based VLAN tag insertion on Tx Feature is selected.
  33725. * 0b1..Enable Queue/Channel based VLAN tag insertion on Tx feature is selected
  33726. * 0b0..Enable Queue/Channel based VLAN tag insertion on Tx feature is not selected
  33727. */
  33728. #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)
  33729. #define ENET_QOS_MAC_HW_FEAT_VLHASH_MASK (0x10U)
  33730. #define ENET_QOS_MAC_HW_FEAT_VLHASH_SHIFT (4U)
  33731. /*! VLHASH - VLAN Hash Filter Selected This bit is set to 1 when the Enable VLAN Hash Table Based Filtering option is selected
  33732. * 0b1..VLAN Hash Filter selected
  33733. * 0b0..VLAN Hash Filter not selected
  33734. */
  33735. #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)
  33736. #define ENET_QOS_MAC_HW_FEAT_DVLAN_MASK (0x20U)
  33737. #define ENET_QOS_MAC_HW_FEAT_DVLAN_SHIFT (5U)
  33738. /*! DVLAN - Double VLAN Tag Processing Selected This bit is set to 1 when the Enable Double VLAN Processing Feature is selected.
  33739. * 0b1..Double VLAN option is selected
  33740. * 0b0..Double VLAN option is not selected
  33741. */
  33742. #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)
  33743. #define ENET_QOS_MAC_HW_FEAT_SMASEL_MASK (0x20U)
  33744. #define ENET_QOS_MAC_HW_FEAT_SMASEL_SHIFT (5U)
  33745. /*! SMASEL - SMA (MDIO) Interface This bit is set to 1 when the Enable Station Management (MDIO Interface) option is selected
  33746. * 0b1..SMA (MDIO) Interface selected
  33747. * 0b0..SMA (MDIO) Interface not selected
  33748. */
  33749. #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)
  33750. #define ENET_QOS_MAC_HW_FEAT_SPRAM_MASK (0x20U)
  33751. #define ENET_QOS_MAC_HW_FEAT_SPRAM_SHIFT (5U)
  33752. /*! SPRAM - Single Port RAM Enable This bit is set to 1 when the Use single port RAM Feature is selected.
  33753. * 0b1..Single Port RAM feature is selected
  33754. * 0b0..Single Port RAM feature is not selected
  33755. */
  33756. #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)
  33757. #define ENET_QOS_MAC_HW_FEAT_RWKSEL_MASK (0x40U)
  33758. #define ENET_QOS_MAC_HW_FEAT_RWKSEL_SHIFT (6U)
  33759. /*! RWKSEL - PMT Remote Wake-up Packet Enable This bit is set to 1 when the Enable Remote Wake-Up Packet Detection option is selected
  33760. * 0b1..PMT Remote Wake-up Packet Enable option is selected
  33761. * 0b0..PMT Remote Wake-up Packet Enable option is not selected
  33762. */
  33763. #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)
  33764. #define ENET_QOS_MAC_HW_FEAT_TXFIFOSIZE_MASK (0x7C0U)
  33765. #define ENET_QOS_MAC_HW_FEAT_TXFIFOSIZE_SHIFT (6U)
  33766. /*! TXFIFOSIZE - MTL Transmit FIFO Size This field contains the configured value of MTL Tx FIFO in
  33767. * bytes expressed as Log to base 2 minus 7, that is, Log2(TXFIFO_SIZE) -7:
  33768. * 0b00011..1024 bytes
  33769. * 0b00000..128 bytes
  33770. * 0b01010..128 KB
  33771. * 0b00111..16384 bytes
  33772. * 0b00100..2048 bytes
  33773. * 0b00001..256 bytes
  33774. * 0b01000..32 KB
  33775. * 0b00101..4096 bytes
  33776. * 0b00010..512 bytes
  33777. * 0b01001..64 KB
  33778. * 0b00110..8192 bytes
  33779. * 0b01011..Reserved
  33780. */
  33781. #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)
  33782. #define ENET_QOS_MAC_HW_FEAT_TXQCNT_MASK (0x3C0U)
  33783. #define ENET_QOS_MAC_HW_FEAT_TXQCNT_SHIFT (6U)
  33784. /*! TXQCNT - Number of MTL Transmit Queues This field indicates the number of MTL Transmit queues:
  33785. * 0b0000..1 MTL Tx Queue
  33786. * 0b0001..2 MTL Tx Queues
  33787. * 0b0010..3 MTL Tx Queues
  33788. * 0b0011..4 MTL Tx Queues
  33789. * 0b0100..5 MTL Tx Queues
  33790. * 0b0101..Reserved
  33791. * 0b0110..Reserved
  33792. * 0b0111..Reserved
  33793. */
  33794. #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)
  33795. #define ENET_QOS_MAC_HW_FEAT_MGKSEL_MASK (0x80U)
  33796. #define ENET_QOS_MAC_HW_FEAT_MGKSEL_SHIFT (7U)
  33797. /*! MGKSEL - PMT Magic Packet Enable This bit is set to 1 when the Enable Magic Packet Detection option is selected
  33798. * 0b1..PMT Magic Packet Enable option is selected
  33799. * 0b0..PMT Magic Packet Enable option is not selected
  33800. */
  33801. #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)
  33802. #define ENET_QOS_MAC_HW_FEAT_MMCSEL_MASK (0x100U)
  33803. #define ENET_QOS_MAC_HW_FEAT_MMCSEL_SHIFT (8U)
  33804. /*! MMCSEL - RMON Module Enable This bit is set to 1 when the Enable MAC Management Counters (MMC) option is selected
  33805. * 0b1..RMON Module Enable option is selected
  33806. * 0b0..RMON Module Enable option is not selected
  33807. */
  33808. #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)
  33809. #define ENET_QOS_MAC_HW_FEAT_ARPOFFSEL_MASK (0x200U)
  33810. #define ENET_QOS_MAC_HW_FEAT_ARPOFFSEL_SHIFT (9U)
  33811. /*! ARPOFFSEL - ARP Offload Enabled This bit is set to 1 when the Enable IPv4 ARP Offload option is selected
  33812. * 0b1..ARP Offload Enable option is selected
  33813. * 0b0..ARP Offload Enable option is not selected
  33814. */
  33815. #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)
  33816. #define ENET_QOS_MAC_HW_FEAT_PDUPSEL_MASK (0x200U)
  33817. #define ENET_QOS_MAC_HW_FEAT_PDUPSEL_SHIFT (9U)
  33818. /*! PDUPSEL - Broadcast/Multicast Packet Duplication This bit is set to 1 when the
  33819. * Broadcast/Multicast Packet Duplication feature is selected.
  33820. * 0b1..Broadcast/Multicast Packet Duplication feature is selected
  33821. * 0b0..Broadcast/Multicast Packet Duplication feature is not selected
  33822. */
  33823. #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)
  33824. #define ENET_QOS_MAC_HW_FEAT_FRPSEL_MASK (0x400U)
  33825. #define ENET_QOS_MAC_HW_FEAT_FRPSEL_SHIFT (10U)
  33826. /*! FRPSEL - Flexible Receive Parser Selected This bit is set to 1 when the Enable Flexible
  33827. * Programmable Receive Parser option is selected.
  33828. * 0b1..Flexible Receive Parser feature is selected
  33829. * 0b0..Flexible Receive Parser feature is not selected
  33830. */
  33831. #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)
  33832. #define ENET_QOS_MAC_HW_FEAT_FRPBS_MASK (0x1800U)
  33833. #define ENET_QOS_MAC_HW_FEAT_FRPBS_SHIFT (11U)
  33834. /*! FRPBS - Flexible Receive Parser Buffer size This field indicates the supported Max Number of
  33835. * bytes of the packet data to be Parsed by Flexible Receive Parser.
  33836. * 0b01..128 Bytes
  33837. * 0b10..256 Bytes
  33838. * 0b00..64 Bytes
  33839. * 0b11..Reserved
  33840. */
  33841. #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)
  33842. #define ENET_QOS_MAC_HW_FEAT_OSTEN_MASK (0x800U)
  33843. #define ENET_QOS_MAC_HW_FEAT_OSTEN_SHIFT (11U)
  33844. /*! OSTEN - One-Step Timestamping Enable This bit is set to 1 when the Enable One-Step Timestamp Feature is selected.
  33845. * 0b1..One-Step Timestamping feature is selected
  33846. * 0b0..One-Step Timestamping feature is not selected
  33847. */
  33848. #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)
  33849. #define ENET_QOS_MAC_HW_FEAT_PTOEN_MASK (0x1000U)
  33850. #define ENET_QOS_MAC_HW_FEAT_PTOEN_SHIFT (12U)
  33851. /*! PTOEN - PTP Offload Enable This bit is set to 1 when the Enable PTP Timestamp Offload Feature is selected.
  33852. * 0b1..PTP Offload feature is selected
  33853. * 0b0..PTP Offload feature is not selected
  33854. */
  33855. #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)
  33856. #define ENET_QOS_MAC_HW_FEAT_RXCHCNT_MASK (0xF000U)
  33857. #define ENET_QOS_MAC_HW_FEAT_RXCHCNT_SHIFT (12U)
  33858. /*! RXCHCNT - Number of DMA Receive Channels This field indicates the number of DMA Receive channels:
  33859. * 0b0000..1 MTL Rx Channel
  33860. * 0b0001..2 MTL Rx Channels
  33861. * 0b0010..3 MTL Rx Channels
  33862. * 0b0011..4 MTL Rx Channels
  33863. * 0b0100..5 MTL Rx Channels
  33864. * 0b0101..Reserved
  33865. * 0b0110..Reserved
  33866. * 0b0111..Reserved
  33867. */
  33868. #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)
  33869. #define ENET_QOS_MAC_HW_FEAT_TSSEL_MASK (0x1000U)
  33870. #define ENET_QOS_MAC_HW_FEAT_TSSEL_SHIFT (12U)
  33871. /*! TSSEL - IEEE 1588-2008 Timestamp Enabled This bit is set to 1 when the Enable IEEE 1588 Timestamp Support option is selected
  33872. * 0b1..IEEE 1588-2008 Timestamp Enable option is selected
  33873. * 0b0..IEEE 1588-2008 Timestamp Enable option is not selected
  33874. */
  33875. #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)
  33876. #define ENET_QOS_MAC_HW_FEAT_ADVTHWORD_MASK (0x2000U)
  33877. #define ENET_QOS_MAC_HW_FEAT_ADVTHWORD_SHIFT (13U)
  33878. /*! ADVTHWORD - IEEE 1588 High Word Register Enable This bit is set to 1 when the Add IEEE 1588 Higher Word Register option is selected
  33879. * 0b1..IEEE 1588 High Word Register option is selected
  33880. * 0b0..IEEE 1588 High Word Register option is not selected
  33881. */
  33882. #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)
  33883. #define ENET_QOS_MAC_HW_FEAT_EEESEL_MASK (0x2000U)
  33884. #define ENET_QOS_MAC_HW_FEAT_EEESEL_SHIFT (13U)
  33885. /*! EEESEL - Energy Efficient Ethernet Enabled This bit is set to 1 when the Enable Energy Efficient
  33886. * Ethernet (EEE) option is selected
  33887. * 0b1..Energy Efficient Ethernet Enable option is selected
  33888. * 0b0..Energy Efficient Ethernet Enable option is not selected
  33889. */
  33890. #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)
  33891. #define ENET_QOS_MAC_HW_FEAT_FRPES_MASK (0x6000U)
  33892. #define ENET_QOS_MAC_HW_FEAT_FRPES_SHIFT (13U)
  33893. /*! FRPES - Flexible Receive Parser Table Entries size This field indicates the Max Number of Parser
  33894. * Entries supported by Flexible Receive Parser.
  33895. * 0b01..128 Entries
  33896. * 0b10..256 Entries
  33897. * 0b00..64 Entries
  33898. * 0b11..Reserved
  33899. */
  33900. #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)
  33901. #define ENET_QOS_MAC_HW_FEAT_ADDR64_MASK (0xC000U)
  33902. #define ENET_QOS_MAC_HW_FEAT_ADDR64_SHIFT (14U)
  33903. /*! ADDR64 - Address Width.
  33904. * 0b00..32
  33905. * 0b01..40
  33906. * 0b10..48
  33907. * 0b11..Reserved
  33908. */
  33909. #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)
  33910. #define ENET_QOS_MAC_HW_FEAT_TXCOESEL_MASK (0x4000U)
  33911. #define ENET_QOS_MAC_HW_FEAT_TXCOESEL_SHIFT (14U)
  33912. /*! TXCOESEL - Transmit Checksum Offload Enabled This bit is set to 1 when the Enable Transmit
  33913. * TCP/IP Checksum Insertion option is selected
  33914. * 0b1..Transmit Checksum Offload Enable option is selected
  33915. * 0b0..Transmit Checksum Offload Enable option is not selected
  33916. */
  33917. #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)
  33918. #define ENET_QOS_MAC_HW_FEAT_DCBEN_MASK (0x10000U)
  33919. #define ENET_QOS_MAC_HW_FEAT_DCBEN_SHIFT (16U)
  33920. /*! DCBEN - DCB Feature Enable This bit is set to 1 when the Enable Data Center Bridging option is selected
  33921. * 0b1..DCB Feature is selected
  33922. * 0b0..DCB Feature is not selected
  33923. */
  33924. #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)
  33925. #define ENET_QOS_MAC_HW_FEAT_ESTSEL_MASK (0x10000U)
  33926. #define ENET_QOS_MAC_HW_FEAT_ESTSEL_SHIFT (16U)
  33927. /*! ESTSEL - Enhancements to Scheduling Traffic Enable This bit is set to 1 when the Enable
  33928. * Enhancements to Scheduling Traffic feature is selected.
  33929. * 0b1..Enable Enhancements to Scheduling Traffic feature is selected
  33930. * 0b0..Enable Enhancements to Scheduling Traffic feature is not selected
  33931. */
  33932. #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)
  33933. #define ENET_QOS_MAC_HW_FEAT_RXCOESEL_MASK (0x10000U)
  33934. #define ENET_QOS_MAC_HW_FEAT_RXCOESEL_SHIFT (16U)
  33935. /*! RXCOESEL - Receive Checksum Offload Enabled This bit is set to 1 when the Enable Receive TCP/IP Checksum Check option is selected
  33936. * 0b1..Receive Checksum Offload Enable option is selected
  33937. * 0b0..Receive Checksum Offload Enable option is not selected
  33938. */
  33939. #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)
  33940. #define ENET_QOS_MAC_HW_FEAT_ESTDEP_MASK (0xE0000U)
  33941. #define ENET_QOS_MAC_HW_FEAT_ESTDEP_SHIFT (17U)
  33942. /*! ESTDEP - Depth of the Gate Control List This field indicates the depth of Gate Control list expressed as Log2(DWC_EQOS_EST_DEP)-5
  33943. * 0b101..1024
  33944. * 0b010..128
  33945. * 0b011..256
  33946. * 0b100..512
  33947. * 0b001..64
  33948. * 0b000..No Depth configured
  33949. * 0b110..Reserved
  33950. */
  33951. #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)
  33952. #define ENET_QOS_MAC_HW_FEAT_SPHEN_MASK (0x20000U)
  33953. #define ENET_QOS_MAC_HW_FEAT_SPHEN_SHIFT (17U)
  33954. /*! SPHEN - Split Header Feature Enable This bit is set to 1 when the Enable Split Header Structure option is selected
  33955. * 0b1..Split Header Feature is selected
  33956. * 0b0..Split Header Feature is not selected
  33957. */
  33958. #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)
  33959. #define ENET_QOS_MAC_HW_FEAT_ADDMACADRSEL_MASK (0x7C0000U)
  33960. #define ENET_QOS_MAC_HW_FEAT_ADDMACADRSEL_SHIFT (18U)
  33961. /*! ADDMACADRSEL - MAC Addresses 1-31 Selected This bit is set to 1 when the non-zero value is
  33962. * selected for Enable Additional 1-31 MAC Address Registers option
  33963. */
  33964. #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)
  33965. #define ENET_QOS_MAC_HW_FEAT_TSOEN_MASK (0x40000U)
  33966. #define ENET_QOS_MAC_HW_FEAT_TSOEN_SHIFT (18U)
  33967. /*! TSOEN - TCP Segmentation Offload Enable This bit is set to 1 when the Enable TCP Segmentation
  33968. * Offloading for TCP/IP Packets option is selected
  33969. * 0b1..TCP Segmentation Offload Feature is selected
  33970. * 0b0..TCP Segmentation Offload Feature is not selected
  33971. */
  33972. #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)
  33973. #define ENET_QOS_MAC_HW_FEAT_TXCHCNT_MASK (0x3C0000U)
  33974. #define ENET_QOS_MAC_HW_FEAT_TXCHCNT_SHIFT (18U)
  33975. /*! TXCHCNT - Number of DMA Transmit Channels This field indicates the number of DMA Transmit channels:
  33976. * 0b0000..1 MTL Tx Channel
  33977. * 0b0001..2 MTL Tx Channels
  33978. * 0b0010..3 MTL Tx Channels
  33979. * 0b0011..4 MTL Tx Channels
  33980. * 0b0100..5 MTL Tx Channels
  33981. * 0b0101..Reserved
  33982. * 0b0110..Reserved
  33983. * 0b0111..Reserved
  33984. */
  33985. #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)
  33986. #define ENET_QOS_MAC_HW_FEAT_DBGMEMA_MASK (0x80000U)
  33987. #define ENET_QOS_MAC_HW_FEAT_DBGMEMA_SHIFT (19U)
  33988. /*! DBGMEMA - DMA Debug Registers Enable This bit is set to 1 when the Debug Mode Enable option is selected
  33989. * 0b1..DMA Debug Registers option is selected
  33990. * 0b0..DMA Debug Registers option is not selected
  33991. */
  33992. #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)
  33993. #define ENET_QOS_MAC_HW_FEAT_AVSEL_MASK (0x100000U)
  33994. #define ENET_QOS_MAC_HW_FEAT_AVSEL_SHIFT (20U)
  33995. /*! AVSEL - AV Feature Enable This bit is set to 1 when the Enable Audio Video Bridging option is selected.
  33996. * 0b1..AV Feature is selected
  33997. * 0b0..AV Feature is not selected
  33998. */
  33999. #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)
  34000. #define ENET_QOS_MAC_HW_FEAT_ESTWID_MASK (0x300000U)
  34001. #define ENET_QOS_MAC_HW_FEAT_ESTWID_SHIFT (20U)
  34002. /*! ESTWID - Width of the Time Interval field in the Gate Control List This field indicates the
  34003. * width of the Configured Time Interval Field
  34004. * 0b00..Width not configured
  34005. * 0b01..16
  34006. * 0b10..20
  34007. * 0b11..24
  34008. */
  34009. #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)
  34010. #define ENET_QOS_MAC_HW_FEAT_RAVSEL_MASK (0x200000U)
  34011. #define ENET_QOS_MAC_HW_FEAT_RAVSEL_SHIFT (21U)
  34012. /*! RAVSEL - Rx Side Only AV Feature Enable This bit is set to 1 when the Enable Audio Video
  34013. * Bridging option on Rx Side Only is selected.
  34014. * 0b1..Rx Side Only AV Feature is selected
  34015. * 0b0..Rx Side Only AV Feature is not selected
  34016. */
  34017. #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)
  34018. #define ENET_QOS_MAC_HW_FEAT_MACADR32SEL_MASK (0x800000U)
  34019. #define ENET_QOS_MAC_HW_FEAT_MACADR32SEL_SHIFT (23U)
  34020. /*! MACADR32SEL - MAC Addresses 32-63 Selected This bit is set to 1 when the Enable Additional 32
  34021. * MAC Address Registers (32-63) option is selected
  34022. * 0b1..MAC Addresses 32-63 Select option is selected
  34023. * 0b0..MAC Addresses 32-63 Select option is not selected
  34024. */
  34025. #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)
  34026. #define ENET_QOS_MAC_HW_FEAT_POUOST_MASK (0x800000U)
  34027. #define ENET_QOS_MAC_HW_FEAT_POUOST_SHIFT (23U)
  34028. /*! POUOST - One Step for PTP over UDP/IP Feature Enable This bit is set to 1 when the Enable One
  34029. * step timestamp for PTP over UDP/IP feature is selected.
  34030. * 0b1..One Step for PTP over UDP/IP Feature is selected
  34031. * 0b0..One Step for PTP over UDP/IP Feature is not selected
  34032. */
  34033. #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)
  34034. #define ENET_QOS_MAC_HW_FEAT_HASHTBLSZ_MASK (0x3000000U)
  34035. #define ENET_QOS_MAC_HW_FEAT_HASHTBLSZ_SHIFT (24U)
  34036. /*! HASHTBLSZ - Hash Table Size This field indicates the size of the hash table:
  34037. * 0b10..128
  34038. * 0b11..256
  34039. * 0b01..64
  34040. * 0b00..No hash table
  34041. */
  34042. #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)
  34043. #define ENET_QOS_MAC_HW_FEAT_MACADR64SEL_MASK (0x1000000U)
  34044. #define ENET_QOS_MAC_HW_FEAT_MACADR64SEL_SHIFT (24U)
  34045. /*! MACADR64SEL - MAC Addresses 64-127 Selected This bit is set to 1 when the Enable Additional 64
  34046. * MAC Address Registers (64-127) option is selected
  34047. * 0b1..MAC Addresses 64-127 Select option is selected
  34048. * 0b0..MAC Addresses 64-127 Select option is not selected
  34049. */
  34050. #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)
  34051. #define ENET_QOS_MAC_HW_FEAT_PPSOUTNUM_MASK (0x7000000U)
  34052. #define ENET_QOS_MAC_HW_FEAT_PPSOUTNUM_SHIFT (24U)
  34053. /*! PPSOUTNUM - Number of PPS Outputs This field indicates the number of PPS outputs:
  34054. * 0b001..1 PPS output
  34055. * 0b010..2 PPS output
  34056. * 0b011..3 PPS output
  34057. * 0b100..4 PPS output
  34058. * 0b000..No PPS output
  34059. * 0b101..Reserved
  34060. */
  34061. #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)
  34062. #define ENET_QOS_MAC_HW_FEAT_TSSTSSEL_MASK (0x6000000U)
  34063. #define ENET_QOS_MAC_HW_FEAT_TSSTSSEL_SHIFT (25U)
  34064. /*! TSSTSSEL - Timestamp System Time Source This bit indicates the source of the Timestamp system
  34065. * time: This bit is set to 1 when the Enable IEEE 1588 Timestamp Support option is selected
  34066. * 0b10..Both
  34067. * 0b01..External
  34068. * 0b00..Internal
  34069. * 0b11..Reserved
  34070. */
  34071. #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)
  34072. #define ENET_QOS_MAC_HW_FEAT_FPESEL_MASK (0x4000000U)
  34073. #define ENET_QOS_MAC_HW_FEAT_FPESEL_SHIFT (26U)
  34074. /*! FPESEL - Frame Preemption Enable This bit is set to 1 when the Enable Frame preemption feature is selected.
  34075. * 0b1..Frame Preemption Enable feature is selected
  34076. * 0b0..Frame Preemption Enable feature is not selected
  34077. */
  34078. #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)
  34079. #define ENET_QOS_MAC_HW_FEAT_L3L4FNUM_MASK (0x78000000U)
  34080. #define ENET_QOS_MAC_HW_FEAT_L3L4FNUM_SHIFT (27U)
  34081. /*! L3L4FNUM - Total number of L3 or L4 Filters This field indicates the total number of L3 or L4 filters:
  34082. * 0b0001..1 L3 or L4 Filter
  34083. * 0b0010..2 L3 or L4 Filters
  34084. * 0b0011..3 L3 or L4 Filters
  34085. * 0b0100..4 L3 or L4 Filters
  34086. * 0b0101..5 L3 or L4 Filters
  34087. * 0b0110..6 L3 or L4 Filters
  34088. * 0b0111..7 L3 or L4 Filters
  34089. * 0b1000..8 L3 or L4 Filters
  34090. * 0b0000..No L3 or L4 Filter
  34091. */
  34092. #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)
  34093. #define ENET_QOS_MAC_HW_FEAT_SAVLANINS_MASK (0x8000000U)
  34094. #define ENET_QOS_MAC_HW_FEAT_SAVLANINS_SHIFT (27U)
  34095. /*! SAVLANINS - Source Address or VLAN Insertion Enable This bit is set to 1 when the Enable SA and
  34096. * VLAN Insertion on Tx option is selected
  34097. * 0b1..Source Address or VLAN Insertion Enable option is selected
  34098. * 0b0..Source Address or VLAN Insertion Enable option is not selected
  34099. */
  34100. #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)
  34101. #define ENET_QOS_MAC_HW_FEAT_TBSSEL_MASK (0x8000000U)
  34102. #define ENET_QOS_MAC_HW_FEAT_TBSSEL_SHIFT (27U)
  34103. /*! TBSSEL - Time Based Scheduling Enable This bit is set to 1 when the Time Based Scheduling feature is selected.
  34104. * 0b1..Time Based Scheduling Enable feature is selected
  34105. * 0b0..Time Based Scheduling Enable feature is not selected
  34106. */
  34107. #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)
  34108. #define ENET_QOS_MAC_HW_FEAT_ACTPHYSEL_MASK (0x70000000U)
  34109. #define ENET_QOS_MAC_HW_FEAT_ACTPHYSEL_SHIFT (28U)
  34110. /*! ACTPHYSEL - Active PHY Selected When you have multiple PHY interfaces in your configuration,
  34111. * this field indicates the sampled value of phy_intf_sel_i during reset de-assertion.
  34112. * 0b000..GMII or MII
  34113. * 0b111..RevMII
  34114. * 0b001..RGMII
  34115. * 0b100..RMII
  34116. * 0b101..RTBI
  34117. * 0b010..SGMII
  34118. * 0b110..SMII
  34119. * 0b011..TBI
  34120. */
  34121. #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)
  34122. #define ENET_QOS_MAC_HW_FEAT_ASP_MASK (0x30000000U)
  34123. #define ENET_QOS_MAC_HW_FEAT_ASP_SHIFT (28U)
  34124. /*! ASP - Automotive Safety Package Following are the encoding for the different Safety features
  34125. * 0b10..All the Automotive Safety features are selected without the "Parity Port Enable for external interface" feature
  34126. * 0b11..All the Automotive Safety features are selected with the "Parity Port Enable for external interface" feature
  34127. * 0b01..Only "ECC protection for external memory" feature is selected
  34128. * 0b00..No Safety features selected
  34129. */
  34130. #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)
  34131. #define ENET_QOS_MAC_HW_FEAT_AUXSNAPNUM_MASK (0x70000000U)
  34132. #define ENET_QOS_MAC_HW_FEAT_AUXSNAPNUM_SHIFT (28U)
  34133. /*! AUXSNAPNUM - Number of Auxiliary Snapshot Inputs This field indicates the number of auxiliary snapshot inputs:
  34134. * 0b001..1 auxiliary input
  34135. * 0b010..2 auxiliary input
  34136. * 0b011..3 auxiliary input
  34137. * 0b100..4 auxiliary input
  34138. * 0b000..No auxiliary input
  34139. * 0b101..Reserved
  34140. */
  34141. #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)
  34142. /*! @} */
  34143. /* The count of ENET_QOS_MAC_HW_FEAT */
  34144. #define ENET_QOS_MAC_HW_FEAT_COUNT (4U)
  34145. /*! @name MAC_MDIO_ADDRESS - MDIO Address */
  34146. /*! @{ */
  34147. #define ENET_QOS_MAC_MDIO_ADDRESS_GB_MASK (0x1U)
  34148. #define ENET_QOS_MAC_MDIO_ADDRESS_GB_SHIFT (0U)
  34149. /*! GB - GMII Busy The application sets this bit to instruct the SMA to initiate a Read or Write access to the MDIO slave.
  34150. * 0b0..GMII Busy is disabled
  34151. * 0b1..GMII Busy is enabled
  34152. */
  34153. #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)
  34154. #define ENET_QOS_MAC_MDIO_ADDRESS_C45E_MASK (0x2U)
  34155. #define ENET_QOS_MAC_MDIO_ADDRESS_C45E_SHIFT (1U)
  34156. /*! C45E - Clause 45 PHY Enable When this bit is set, Clause 45 capable PHY is connected to MDIO.
  34157. * 0b0..Clause 45 PHY is disabled
  34158. * 0b1..Clause 45 PHY is enabled
  34159. */
  34160. #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)
  34161. #define ENET_QOS_MAC_MDIO_ADDRESS_GOC_0_MASK (0x4U)
  34162. #define ENET_QOS_MAC_MDIO_ADDRESS_GOC_0_SHIFT (2U)
  34163. /*! GOC_0 - GMII Operation Command 0 This is the lower bit of the operation command to the PHY or RevMII.
  34164. * 0b0..GMII Operation Command 0 is disabled
  34165. * 0b1..GMII Operation Command 0 is enabled
  34166. */
  34167. #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)
  34168. #define ENET_QOS_MAC_MDIO_ADDRESS_GOC_1_MASK (0x8U)
  34169. #define ENET_QOS_MAC_MDIO_ADDRESS_GOC_1_SHIFT (3U)
  34170. /*! GOC_1 - GMII Operation Command 1 This bit is higher bit of the operation command to the PHY or
  34171. * RevMII, GOC_1 and GOC_O is encoded as follows: - 00: Reserved - 01: Write - 10: Post Read
  34172. * Increment Address for Clause 45 PHY - 11: Read When Clause 22 PHY or RevMII is enabled, only Write
  34173. * and Read commands are valid.
  34174. * 0b0..GMII Operation Command 1 is disabled
  34175. * 0b1..GMII Operation Command 1 is enabled
  34176. */
  34177. #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)
  34178. #define ENET_QOS_MAC_MDIO_ADDRESS_SKAP_MASK (0x10U)
  34179. #define ENET_QOS_MAC_MDIO_ADDRESS_SKAP_SHIFT (4U)
  34180. /*! SKAP - Skip Address Packet When this bit is set, the SMA does not send the address packets
  34181. * before read, write, or post-read increment address packets.
  34182. * 0b0..Skip Address Packet is disabled
  34183. * 0b1..Skip Address Packet is enabled
  34184. */
  34185. #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)
  34186. #define ENET_QOS_MAC_MDIO_ADDRESS_CR_MASK (0xF00U)
  34187. #define ENET_QOS_MAC_MDIO_ADDRESS_CR_SHIFT (8U)
  34188. /*! CR - CSR Clock Range The CSR Clock Range selection determines the frequency of the MDC clock
  34189. * according to the CSR clock frequency used in your design: - 0000: CSR clock = 60-100 MHz; MDC
  34190. * clock = CSR clock/42 - 0001: CSR clock = 100-150 MHz; MDC clock = CSR clock/62 - 0010: CSR clock
  34191. * = 20-35 MHz; MDC clock = CSR clock/16 - 0011: CSR clock = 35-60 MHz; MDC clock = CSR clock/26
  34192. * - 0100: CSR clock = 150-250 MHz; MDC clock = CSR clock/102 - 0101: CSR clock = 250-300 MHz;
  34193. * MDC clock = CSR clock/124 - 0110: CSR clock = 300-500 MHz; MDC clock = CSR clock/204 - 0111: CSR
  34194. * clock = 500-800 MHz; MDC clock = CSR clock/324 The suggested range of CSR clock frequency
  34195. * applicable for each value (when Bit 11 = 0) ensures that the MDC clock is approximately between 1.
  34196. */
  34197. #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)
  34198. #define ENET_QOS_MAC_MDIO_ADDRESS_NTC_MASK (0x7000U)
  34199. #define ENET_QOS_MAC_MDIO_ADDRESS_NTC_SHIFT (12U)
  34200. /*! NTC - Number of Trailing Clocks This field controls the number of trailing clock cycles
  34201. * generated on gmii_mdc_o (MDC) after the end of transmission of MDIO frame.
  34202. */
  34203. #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)
  34204. #define ENET_QOS_MAC_MDIO_ADDRESS_RDA_MASK (0x1F0000U)
  34205. #define ENET_QOS_MAC_MDIO_ADDRESS_RDA_SHIFT (16U)
  34206. /*! RDA - Register/Device Address These bits select the PHY register in selected Clause 22 PHY device.
  34207. */
  34208. #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)
  34209. #define ENET_QOS_MAC_MDIO_ADDRESS_PA_MASK (0x3E00000U)
  34210. #define ENET_QOS_MAC_MDIO_ADDRESS_PA_SHIFT (21U)
  34211. /*! PA - Physical Layer Address This field indicates which Clause 22 PHY devices (out of 32 devices) the MAC is accessing.
  34212. */
  34213. #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)
  34214. #define ENET_QOS_MAC_MDIO_ADDRESS_BTB_MASK (0x4000000U)
  34215. #define ENET_QOS_MAC_MDIO_ADDRESS_BTB_SHIFT (26U)
  34216. /*! BTB - Back to Back transactions When this bit is set and the NTC has value greater than 0, then
  34217. * the MAC informs the completion of a read or write command at the end of frame transfer (before
  34218. * the trailing clocks are transmitted).
  34219. * 0b0..Back to Back transactions disabled
  34220. * 0b1..Back to Back transactions enabled
  34221. */
  34222. #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)
  34223. #define ENET_QOS_MAC_MDIO_ADDRESS_PSE_MASK (0x8000000U)
  34224. #define ENET_QOS_MAC_MDIO_ADDRESS_PSE_SHIFT (27U)
  34225. /*! PSE - Preamble Suppression Enable When this bit is set, the SMA suppresses the 32-bit preamble
  34226. * and transmits MDIO frames with only 1 preamble bit.
  34227. * 0b0..Preamble Suppression disabled
  34228. * 0b1..Preamble Suppression enabled
  34229. */
  34230. #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)
  34231. /*! @} */
  34232. /*! @name MAC_MDIO_DATA - MAC MDIO Data */
  34233. /*! @{ */
  34234. #define ENET_QOS_MAC_MDIO_DATA_GD_MASK (0xFFFFU)
  34235. #define ENET_QOS_MAC_MDIO_DATA_GD_SHIFT (0U)
  34236. /*! GD - GMII Data This field contains the 16-bit data value read from the PHY or RevMII after a
  34237. * Management Read operation or the 16-bit data value to be written to the PHY or RevMII before a
  34238. * Management Write operation.
  34239. */
  34240. #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)
  34241. #define ENET_QOS_MAC_MDIO_DATA_RA_MASK (0xFFFF0000U)
  34242. #define ENET_QOS_MAC_MDIO_DATA_RA_SHIFT (16U)
  34243. /*! RA - Register Address This field is valid only when C45E is set.
  34244. */
  34245. #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)
  34246. /*! @} */
  34247. /*! @name MAC_CSR_SW_CTRL - CSR Software Control */
  34248. /*! @{ */
  34249. #define ENET_QOS_MAC_CSR_SW_CTRL_RCWE_MASK (0x1U)
  34250. #define ENET_QOS_MAC_CSR_SW_CTRL_RCWE_SHIFT (0U)
  34251. /*! RCWE - Register Clear on Write 1 Enable When this bit is set, the access mode of some register
  34252. * fields changes to Clear on Write 1, the application needs to set that respective bit to 1 to
  34253. * clear it.
  34254. * 0b0..Register Clear on Write 1 is disabled
  34255. * 0b1..Register Clear on Write 1 is enabled
  34256. */
  34257. #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)
  34258. /*! @} */
  34259. /*! @name MAC_FPE_CTRL_STS - Frame Preemption Control */
  34260. /*! @{ */
  34261. #define ENET_QOS_MAC_FPE_CTRL_STS_EFPE_MASK (0x1U)
  34262. #define ENET_QOS_MAC_FPE_CTRL_STS_EFPE_SHIFT (0U)
  34263. /*! EFPE - Enable Tx Frame Preemption When set Frame Preemption Tx functionality is enabled.
  34264. * 0b0..Tx Frame Preemption is disabled
  34265. * 0b1..Tx Frame Preemption is enabled
  34266. */
  34267. #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)
  34268. #define ENET_QOS_MAC_FPE_CTRL_STS_SVER_MASK (0x2U)
  34269. #define ENET_QOS_MAC_FPE_CTRL_STS_SVER_SHIFT (1U)
  34270. /*! SVER - Send Verify mPacket When set indicates hardware to send a verify mPacket.
  34271. * 0b0..Send Verify mPacket is disabled
  34272. * 0b1..Send Verify mPacket is enabled
  34273. */
  34274. #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)
  34275. #define ENET_QOS_MAC_FPE_CTRL_STS_SRSP_MASK (0x4U)
  34276. #define ENET_QOS_MAC_FPE_CTRL_STS_SRSP_SHIFT (2U)
  34277. /*! SRSP - Send Respond mPacket When set indicates hardware to send a Respond mPacket.
  34278. * 0b0..Send Respond mPacket is disabled
  34279. * 0b1..Send Respond mPacket is enabled
  34280. */
  34281. #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)
  34282. #define ENET_QOS_MAC_FPE_CTRL_STS_S1_SET_0_MASK (0x8U)
  34283. #define ENET_QOS_MAC_FPE_CTRL_STS_S1_SET_0_SHIFT (3U)
  34284. /*! S1_SET_0 - Synopsys Reserved, Must be set to "0".
  34285. */
  34286. #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)
  34287. #define ENET_QOS_MAC_FPE_CTRL_STS_RVER_MASK (0x10000U)
  34288. #define ENET_QOS_MAC_FPE_CTRL_STS_RVER_SHIFT (16U)
  34289. /*! RVER - Received Verify Frame Set when a Verify mPacket is received.
  34290. * 0b1..Received Verify Frame
  34291. * 0b0..Not received Verify Frame
  34292. */
  34293. #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)
  34294. #define ENET_QOS_MAC_FPE_CTRL_STS_RRSP_MASK (0x20000U)
  34295. #define ENET_QOS_MAC_FPE_CTRL_STS_RRSP_SHIFT (17U)
  34296. /*! RRSP - Received Respond Frame Set when a Respond mPacket is received.
  34297. * 0b1..Received Respond Frame
  34298. * 0b0..Not received Respond Frame
  34299. */
  34300. #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)
  34301. #define ENET_QOS_MAC_FPE_CTRL_STS_TVER_MASK (0x40000U)
  34302. #define ENET_QOS_MAC_FPE_CTRL_STS_TVER_SHIFT (18U)
  34303. /*! TVER - Transmitted Verify Frame Set when a Verify mPacket is transmitted (triggered by setting SVER field).
  34304. * 0b1..transmitted Verify Frame
  34305. * 0b0..Not transmitted Verify Frame
  34306. */
  34307. #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)
  34308. #define ENET_QOS_MAC_FPE_CTRL_STS_TRSP_MASK (0x80000U)
  34309. #define ENET_QOS_MAC_FPE_CTRL_STS_TRSP_SHIFT (19U)
  34310. /*! TRSP - Transmitted Respond Frame Set when a Respond mPacket is transmitted (triggered by setting SRSP field).
  34311. * 0b1..transmitted Respond Frame
  34312. * 0b0..Not transmitted Respond Frame
  34313. */
  34314. #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)
  34315. /*! @} */
  34316. /*! @name MAC_PRESN_TIME_NS - 32-bit Binary Rollover Equivalent Time */
  34317. /*! @{ */
  34318. #define ENET_QOS_MAC_PRESN_TIME_NS_MPTN_MASK (0xFFFFFFFFU)
  34319. #define ENET_QOS_MAC_PRESN_TIME_NS_MPTN_SHIFT (0U)
  34320. /*! MPTN - MAC 1722 Presentation Time in ns These bits indicate the value of the 32-bit binary
  34321. * rollover equivalent time of the PTP System Time in ns
  34322. */
  34323. #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)
  34324. /*! @} */
  34325. /*! @name MAC_PRESN_TIME_UPDT - MAC 1722 Presentation Time */
  34326. /*! @{ */
  34327. #define ENET_QOS_MAC_PRESN_TIME_UPDT_MPTU_MASK (0xFFFFFFFFU)
  34328. #define ENET_QOS_MAC_PRESN_TIME_UPDT_MPTU_SHIFT (0U)
  34329. /*! MPTU - MAC 1722 Presentation Time Update This field holds the init value or the update value for the presentation time.
  34330. */
  34331. #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)
  34332. /*! @} */
  34333. /*! @name HIGH - MAC Address0 High..MAC Address63 High */
  34334. /*! @{ */
  34335. #define ENET_QOS_HIGH_ADDRHI_MASK (0xFFFFU)
  34336. #define ENET_QOS_HIGH_ADDRHI_SHIFT (0U)
  34337. /*! ADDRHI - MAC ADDRESS32 [47:32] This field contains the upper 16 bits (47:32) of the 33rd 6-byte MAC address.
  34338. */
  34339. #define ENET_QOS_HIGH_ADDRHI(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_HIGH_ADDRHI_SHIFT)) & ENET_QOS_HIGH_ADDRHI_MASK)
  34340. #define ENET_QOS_HIGH_DCS_MASK (0x1F0000U) /* Merged from fields with different position or width, of widths (3, 5), largest definition used */
  34341. #define ENET_QOS_HIGH_DCS_SHIFT (16U)
  34342. /*! DCS - DMA Channel Select If the PDC bit of MAC_EXT_CONFIGURATION register is not set: This field
  34343. * contains the binary representation of the DMA Channel number to which an Rx packet whose DA
  34344. * matches the MAC Address(#i) content is routed.
  34345. */
  34346. #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 */
  34347. #define ENET_QOS_HIGH_MBC_MASK (0x3F000000U)
  34348. #define ENET_QOS_HIGH_MBC_SHIFT (24U)
  34349. /*! MBC - Mask Byte Control These bits are mask control bits for comparing each of the MAC Address bytes.
  34350. */
  34351. #define ENET_QOS_HIGH_MBC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_HIGH_MBC_SHIFT)) & ENET_QOS_HIGH_MBC_MASK)
  34352. #define ENET_QOS_HIGH_SA_MASK (0x40000000U)
  34353. #define ENET_QOS_HIGH_SA_SHIFT (30U)
  34354. /*! SA - Source Address When this bit is set, the MAC ADDRESS1[47:0] is used to compare with the SA
  34355. * fields of the received packet.
  34356. * 0b0..Compare with Destination Address
  34357. * 0b1..Compare with Source Address
  34358. */
  34359. #define ENET_QOS_HIGH_SA(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_HIGH_SA_SHIFT)) & ENET_QOS_HIGH_SA_MASK)
  34360. #define ENET_QOS_HIGH_AE_MASK (0x80000000U)
  34361. #define ENET_QOS_HIGH_AE_SHIFT (31U)
  34362. /*! AE - Address Enable When this bit is set, the address filter module uses the second MAC address for perfect filtering.
  34363. * 0b0..INVALID : This bit must be always set to 1
  34364. * 0b1..This bit is always set to 1
  34365. */
  34366. #define ENET_QOS_HIGH_AE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_HIGH_AE_SHIFT)) & ENET_QOS_HIGH_AE_MASK)
  34367. /*! @} */
  34368. /* The count of ENET_QOS_HIGH */
  34369. #define ENET_QOS_HIGH_COUNT (64U)
  34370. /*! @name LOW - MAC Address0 Low..MAC Address63 Low */
  34371. /*! @{ */
  34372. #define ENET_QOS_LOW_ADDRLO_MASK (0xFFFFFFFFU)
  34373. #define ENET_QOS_LOW_ADDRLO_SHIFT (0U)
  34374. /*! ADDRLO - MAC ADDRESS32 [31:0] This field contains the lower 32 bits of the 33rd 6-byte MAC address.
  34375. */
  34376. #define ENET_QOS_LOW_ADDRLO(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_LOW_ADDRLO_SHIFT)) & ENET_QOS_LOW_ADDRLO_MASK)
  34377. /*! @} */
  34378. /* The count of ENET_QOS_LOW */
  34379. #define ENET_QOS_LOW_COUNT (64U)
  34380. /*! @name MAC_MMC_CONTROL - MMC Control */
  34381. /*! @{ */
  34382. #define ENET_QOS_MAC_MMC_CONTROL_CNTRST_MASK (0x1U)
  34383. #define ENET_QOS_MAC_MMC_CONTROL_CNTRST_SHIFT (0U)
  34384. /*! CNTRST - Counters Reset When this bit is set, all counters are reset.
  34385. * 0b0..Counters are not reset
  34386. * 0b1..All counters are reset
  34387. */
  34388. #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)
  34389. #define ENET_QOS_MAC_MMC_CONTROL_CNTSTOPRO_MASK (0x2U)
  34390. #define ENET_QOS_MAC_MMC_CONTROL_CNTSTOPRO_SHIFT (1U)
  34391. /*! CNTSTOPRO - Counter Stop Rollover When this bit is set, the counter does not roll over to zero after reaching the maximum value.
  34392. * 0b0..Counter Stop Rollover is disabled
  34393. * 0b1..Counter Stop Rollover is enabled
  34394. */
  34395. #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)
  34396. #define ENET_QOS_MAC_MMC_CONTROL_RSTONRD_MASK (0x4U)
  34397. #define ENET_QOS_MAC_MMC_CONTROL_RSTONRD_SHIFT (2U)
  34398. /*! RSTONRD - Reset on Read When this bit is set, the MMC counters are reset to zero after Read (self-clearing after reset).
  34399. * 0b0..Reset on Read is disabled
  34400. * 0b1..Reset on Read is enabled
  34401. */
  34402. #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)
  34403. #define ENET_QOS_MAC_MMC_CONTROL_CNTFREEZ_MASK (0x8U)
  34404. #define ENET_QOS_MAC_MMC_CONTROL_CNTFREEZ_SHIFT (3U)
  34405. /*! CNTFREEZ - MMC Counter Freeze When this bit is set, it freezes all MMC counters to their current value.
  34406. * 0b0..MMC Counter Freeze is disabled
  34407. * 0b1..MMC Counter Freeze is enabled
  34408. */
  34409. #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)
  34410. #define ENET_QOS_MAC_MMC_CONTROL_CNTPRST_MASK (0x10U)
  34411. #define ENET_QOS_MAC_MMC_CONTROL_CNTPRST_SHIFT (4U)
  34412. /*! CNTPRST - Counters Preset When this bit is set, all counters are initialized or preset to almost
  34413. * full or almost half according to the CNTPRSTLVL bit.
  34414. * 0b0..Counters Preset is disabled
  34415. * 0b1..Counters Preset is enabled
  34416. */
  34417. #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)
  34418. #define ENET_QOS_MAC_MMC_CONTROL_CNTPRSTLVL_MASK (0x20U)
  34419. #define ENET_QOS_MAC_MMC_CONTROL_CNTPRSTLVL_SHIFT (5U)
  34420. /*! CNTPRSTLVL - Full-Half Preset When this bit is low and the CNTPRST bit is set, all MMC counters get preset to almost-half value.
  34421. * 0b0..Full-Half Preset is disabled
  34422. * 0b1..Full-Half Preset is enabled
  34423. */
  34424. #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)
  34425. #define ENET_QOS_MAC_MMC_CONTROL_UCDBC_MASK (0x100U)
  34426. #define ENET_QOS_MAC_MMC_CONTROL_UCDBC_SHIFT (8U)
  34427. /*! UCDBC - Update MMC Counters for Dropped Broadcast Packets Note: The CNTRST bit has a higher priority than the CNTPRST bit.
  34428. * 0b0..Update MMC Counters for Dropped Broadcast Packets is disabled
  34429. * 0b1..Update MMC Counters for Dropped Broadcast Packets is enabled
  34430. */
  34431. #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)
  34432. /*! @} */
  34433. /*! @name MAC_MMC_RX_INTERRUPT - MMC Rx Interrupt */
  34434. /*! @{ */
  34435. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXGBPKTIS_MASK (0x1U)
  34436. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXGBPKTIS_SHIFT (0U)
  34437. /*! RXGBPKTIS - MMC Receive Good Bad Packet Counter Interrupt Status This bit is set when the
  34438. * rxpacketcount_gb counter reaches half of the maximum value or the maximum value.
  34439. * 0b1..MMC Receive Good Bad Packet Counter Interrupt Status detected
  34440. * 0b0..MMC Receive Good Bad Packet Counter Interrupt Status not detected
  34441. */
  34442. #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)
  34443. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXGBOCTIS_MASK (0x2U)
  34444. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXGBOCTIS_SHIFT (1U)
  34445. /*! RXGBOCTIS - MMC Receive Good Bad Octet Counter Interrupt Status This bit is set when the
  34446. * rxoctetcount_gb counter reaches half of the maximum value or the maximum value.
  34447. * 0b1..MMC Receive Good Bad Octet Counter Interrupt Status detected
  34448. * 0b0..MMC Receive Good Bad Octet Counter Interrupt Status not detected
  34449. */
  34450. #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)
  34451. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXGOCTIS_MASK (0x4U)
  34452. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXGOCTIS_SHIFT (2U)
  34453. /*! RXGOCTIS - MMC Receive Good Octet Counter Interrupt Status This bit is set when the
  34454. * rxoctetcount_g counter reaches half of the maximum value or the maximum value.
  34455. * 0b1..MMC Receive Good Octet Counter Interrupt Status detected
  34456. * 0b0..MMC Receive Good Octet Counter Interrupt Status not detected
  34457. */
  34458. #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)
  34459. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXBCGPIS_MASK (0x8U)
  34460. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXBCGPIS_SHIFT (3U)
  34461. /*! RXBCGPIS - MMC Receive Broadcast Good Packet Counter Interrupt Status This bit is set when the
  34462. * rxbroadcastpackets_g counter reaches half of the maximum value or the maximum value.
  34463. * 0b1..MMC Receive Broadcast Good Packet Counter Interrupt Status detected
  34464. * 0b0..MMC Receive Broadcast Good Packet Counter Interrupt Status not detected
  34465. */
  34466. #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)
  34467. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXMCGPIS_MASK (0x10U)
  34468. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXMCGPIS_SHIFT (4U)
  34469. /*! RXMCGPIS - MMC Receive Multicast Good Packet Counter Interrupt Status This bit is set when the
  34470. * rxmulticastpackets_g counter reaches half of the maximum value or the maximum value.
  34471. * 0b1..MMC Receive Multicast Good Packet Counter Interrupt Status detected
  34472. * 0b0..MMC Receive Multicast Good Packet Counter Interrupt Status not detected
  34473. */
  34474. #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)
  34475. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXCRCERPIS_MASK (0x20U)
  34476. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXCRCERPIS_SHIFT (5U)
  34477. /*! RXCRCERPIS - MMC Receive CRC Error Packet Counter Interrupt Status This bit is set when the
  34478. * rxcrcerror counter reaches half of the maximum value or the maximum value.
  34479. * 0b1..MMC Receive CRC Error Packet Counter Interrupt Status detected
  34480. * 0b0..MMC Receive CRC Error Packet Counter Interrupt Status not detected
  34481. */
  34482. #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)
  34483. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXALGNERPIS_MASK (0x40U)
  34484. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXALGNERPIS_SHIFT (6U)
  34485. /*! RXALGNERPIS - MMC Receive Alignment Error Packet Counter Interrupt Status This bit is set when
  34486. * the rxalignmenterror counter reaches half of the maximum value or the maximum value.
  34487. * 0b1..MMC Receive Alignment Error Packet Counter Interrupt Status detected
  34488. * 0b0..MMC Receive Alignment Error Packet Counter Interrupt Status not detected
  34489. */
  34490. #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)
  34491. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXRUNTPIS_MASK (0x80U)
  34492. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXRUNTPIS_SHIFT (7U)
  34493. /*! RXRUNTPIS - MMC Receive Runt Packet Counter Interrupt Status This bit is set when the
  34494. * rxrunterror counter reaches half of the maximum value or the maximum value.
  34495. * 0b1..MMC Receive Runt Packet Counter Interrupt Status detected
  34496. * 0b0..MMC Receive Runt Packet Counter Interrupt Status not detected
  34497. */
  34498. #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)
  34499. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXJABERPIS_MASK (0x100U)
  34500. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXJABERPIS_SHIFT (8U)
  34501. /*! RXJABERPIS - MMC Receive Jabber Error Packet Counter Interrupt Status This bit is set when the
  34502. * rxjabbererror counter reaches half of the maximum value or the maximum value.
  34503. * 0b1..MMC Receive Jabber Error Packet Counter Interrupt Status detected
  34504. * 0b0..MMC Receive Jabber Error Packet Counter Interrupt Status not detected
  34505. */
  34506. #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)
  34507. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXUSIZEGPIS_MASK (0x200U)
  34508. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXUSIZEGPIS_SHIFT (9U)
  34509. /*! RXUSIZEGPIS - MMC Receive Undersize Good Packet Counter Interrupt Status This bit is set when
  34510. * the rxundersize_g counter reaches half of the maximum value or the maximum value.
  34511. * 0b1..MMC Receive Undersize Good Packet Counter Interrupt Status detected
  34512. * 0b0..MMC Receive Undersize Good Packet Counter Interrupt Status not detected
  34513. */
  34514. #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)
  34515. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXOSIZEGPIS_MASK (0x400U)
  34516. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXOSIZEGPIS_SHIFT (10U)
  34517. /*! RXOSIZEGPIS - MMC Receive Oversize Good Packet Counter Interrupt Status This bit is set when the
  34518. * rxoversize_g counter reaches half of the maximum value or the maximum value.
  34519. * 0b1..MMC Receive Oversize Good Packet Counter Interrupt Status detected
  34520. * 0b0..MMC Receive Oversize Good Packet Counter Interrupt Status not detected
  34521. */
  34522. #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)
  34523. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RX64OCTGBPIS_MASK (0x800U)
  34524. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RX64OCTGBPIS_SHIFT (11U)
  34525. /*! RX64OCTGBPIS - MMC Receive 64 Octet Good Bad Packet Counter Interrupt Status This bit is set
  34526. * when the rx64octets_gb counter reaches half of the maximum value or the maximum value.
  34527. * 0b1..MMC Receive 64 Octet Good Bad Packet Counter Interrupt Status detected
  34528. * 0b0..MMC Receive 64 Octet Good Bad Packet Counter Interrupt Status not detected
  34529. */
  34530. #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)
  34531. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RX65T127OCTGBPIS_MASK (0x1000U)
  34532. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RX65T127OCTGBPIS_SHIFT (12U)
  34533. /*! RX65T127OCTGBPIS - MMC Receive 65 to 127 Octet Good Bad Packet Counter Interrupt Status This bit
  34534. * is set when the rx65to127octets_gb counter reaches half of the maximum value or the maximum
  34535. * value.
  34536. * 0b1..MMC Receive 65 to 127 Octet Good Bad Packet Counter Interrupt Status detected
  34537. * 0b0..MMC Receive 65 to 127 Octet Good Bad Packet Counter Interrupt Status not detected
  34538. */
  34539. #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)
  34540. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RX128T255OCTGBPIS_MASK (0x2000U)
  34541. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RX128T255OCTGBPIS_SHIFT (13U)
  34542. /*! RX128T255OCTGBPIS - MMC Receive 128 to 255 Octet Good Bad Packet Counter Interrupt Status This
  34543. * bit is set when the rx128to255octets_gb counter reaches half of the maximum value or the
  34544. * maximum value.
  34545. * 0b1..MMC Receive 128 to 255 Octet Good Bad Packet Counter Interrupt Status detected
  34546. * 0b0..MMC Receive 128 to 255 Octet Good Bad Packet Counter Interrupt Status not detected
  34547. */
  34548. #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)
  34549. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RX256T511OCTGBPIS_MASK (0x4000U)
  34550. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RX256T511OCTGBPIS_SHIFT (14U)
  34551. /*! RX256T511OCTGBPIS - MMC Receive 256 to 511 Octet Good Bad Packet Counter Interrupt Status This
  34552. * bit is set when the rx256to511octets_gb counter reaches half of the maximum value or the
  34553. * maximum value.
  34554. * 0b1..MMC Receive 256 to 511 Octet Good Bad Packet Counter Interrupt Status detected
  34555. * 0b0..MMC Receive 256 to 511 Octet Good Bad Packet Counter Interrupt Status not detected
  34556. */
  34557. #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)
  34558. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RX512T1023OCTGBPIS_MASK (0x8000U)
  34559. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RX512T1023OCTGBPIS_SHIFT (15U)
  34560. /*! RX512T1023OCTGBPIS - MMC Receive 512 to 1023 Octet Good Bad Packet Counter Interrupt Status This
  34561. * bit is set when the rx512to1023octets_gb counter reaches half of the maximum value or the
  34562. * maximum value.
  34563. * 0b1..MMC Receive 512 to 1023 Octet Good Bad Packet Counter Interrupt Status detected
  34564. * 0b0..MMC Receive 512 to 1023 Octet Good Bad Packet Counter Interrupt Status not detected
  34565. */
  34566. #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)
  34567. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RX1024TMAXOCTGBPIS_MASK (0x10000U)
  34568. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RX1024TMAXOCTGBPIS_SHIFT (16U)
  34569. /*! RX1024TMAXOCTGBPIS - MMC Receive 1024 to Maximum Octet Good Bad Packet Counter Interrupt Status
  34570. * This bit is set when the rx1024tomaxoctets_gb counter reaches half of the maximum value or the
  34571. * maximum value.
  34572. * 0b1..MMC Receive 1024 to Maximum Octet Good Bad Packet Counter Interrupt Status detected
  34573. * 0b0..MMC Receive 1024 to Maximum Octet Good Bad Packet Counter Interrupt Status not detected
  34574. */
  34575. #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)
  34576. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXUCGPIS_MASK (0x20000U)
  34577. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXUCGPIS_SHIFT (17U)
  34578. /*! RXUCGPIS - MMC Receive Unicast Good Packet Counter Interrupt Status This bit is set when the
  34579. * rxunicastpackets_g counter reaches half of the maximum value or the maximum value.
  34580. * 0b1..MMC Receive Unicast Good Packet Counter Interrupt Status detected
  34581. * 0b0..MMC Receive Unicast Good Packet Counter Interrupt Status not detected
  34582. */
  34583. #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)
  34584. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXLENERPIS_MASK (0x40000U)
  34585. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXLENERPIS_SHIFT (18U)
  34586. /*! RXLENERPIS - MMC Receive Length Error Packet Counter Interrupt Status This bit is set when the
  34587. * rxlengtherror counter reaches half of the maximum value or the maximum value.
  34588. * 0b1..MMC Receive Length Error Packet Counter Interrupt Status detected
  34589. * 0b0..MMC Receive Length Error Packet Counter Interrupt Status not detected
  34590. */
  34591. #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)
  34592. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXORANGEPIS_MASK (0x80000U)
  34593. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXORANGEPIS_SHIFT (19U)
  34594. /*! RXORANGEPIS - MMC Receive Out Of Range Error Packet Counter Interrupt Status.
  34595. * 0b1..MMC Receive Out Of Range Error Packet Counter Interrupt Status detected
  34596. * 0b0..MMC Receive Out Of Range Error Packet Counter Interrupt Status not detected
  34597. */
  34598. #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)
  34599. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXPAUSPIS_MASK (0x100000U)
  34600. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXPAUSPIS_SHIFT (20U)
  34601. /*! RXPAUSPIS - MMC Receive Pause Packet Counter Interrupt Status This bit is set when the
  34602. * rxpausepackets counter reaches half of the maximum value or the maximum value.
  34603. * 0b1..MMC Receive Pause Packet Counter Interrupt Status detected
  34604. * 0b0..MMC Receive Pause Packet Counter Interrupt Status not detected
  34605. */
  34606. #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)
  34607. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXFOVPIS_MASK (0x200000U)
  34608. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXFOVPIS_SHIFT (21U)
  34609. /*! RXFOVPIS - MMC Receive FIFO Overflow Packet Counter Interrupt Status This bit is set when the
  34610. * rxfifooverflow counter reaches half of the maximum value or the maximum value.
  34611. * 0b1..MMC Receive FIFO Overflow Packet Counter Interrupt Status detected
  34612. * 0b0..MMC Receive FIFO Overflow Packet Counter Interrupt Status not detected
  34613. */
  34614. #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)
  34615. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXVLANGBPIS_MASK (0x400000U)
  34616. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXVLANGBPIS_SHIFT (22U)
  34617. /*! RXVLANGBPIS - MMC Receive VLAN Good Bad Packet Counter Interrupt Status This bit is set when the
  34618. * rxvlanpackets_gb counter reaches half of the maximum value or the maximum value.
  34619. * 0b1..MMC Receive VLAN Good Bad Packet Counter Interrupt Status detected
  34620. * 0b0..MMC Receive VLAN Good Bad Packet Counter Interrupt Status not detected
  34621. */
  34622. #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)
  34623. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXWDOGPIS_MASK (0x800000U)
  34624. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXWDOGPIS_SHIFT (23U)
  34625. /*! RXWDOGPIS - MMC Receive Watchdog Error Packet Counter Interrupt Status This bit is set when the
  34626. * rxwatchdog error counter reaches half of the maximum value or the maximum value.
  34627. * 0b1..MMC Receive Watchdog Error Packet Counter Interrupt Status detected
  34628. * 0b0..MMC Receive Watchdog Error Packet Counter Interrupt Status not detected
  34629. */
  34630. #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)
  34631. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXRCVERRPIS_MASK (0x1000000U)
  34632. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXRCVERRPIS_SHIFT (24U)
  34633. /*! RXRCVERRPIS - MMC Receive Error Packet Counter Interrupt Status This bit is set when the
  34634. * rxrcverror counter reaches half of the maximum value or the maximum value.
  34635. * 0b1..MMC Receive Error Packet Counter Interrupt Status detected
  34636. * 0b0..MMC Receive Error Packet Counter Interrupt Status not detected
  34637. */
  34638. #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)
  34639. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXCTRLPIS_MASK (0x2000000U)
  34640. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXCTRLPIS_SHIFT (25U)
  34641. /*! RXCTRLPIS - MMC Receive Control Packet Counter Interrupt Status This bit is set when the
  34642. * rxctrlpackets_g counter reaches half of the maximum value or the maximum value.
  34643. * 0b1..MMC Receive Control Packet Counter Interrupt Status detected
  34644. * 0b0..MMC Receive Control Packet Counter Interrupt Status not detected
  34645. */
  34646. #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)
  34647. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXLPIUSCIS_MASK (0x4000000U)
  34648. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXLPIUSCIS_SHIFT (26U)
  34649. /*! RXLPIUSCIS - MMC Receive LPI microsecond counter interrupt status This bit is set when the
  34650. * Rx_LPI_USEC_Cntr counter reaches half of the maximum value or the maximum value.
  34651. * 0b1..MMC Receive LPI microsecond Counter Interrupt Status detected
  34652. * 0b0..MMC Receive LPI microsecond Counter Interrupt Status not detected
  34653. */
  34654. #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)
  34655. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXLPITRCIS_MASK (0x8000000U)
  34656. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXLPITRCIS_SHIFT (27U)
  34657. /*! RXLPITRCIS - MMC Receive LPI transition counter interrupt status This bit is set when the
  34658. * Rx_LPI_Tran_Cntr counter reaches half of the maximum value or the maximum value.
  34659. * 0b1..MMC Receive LPI transition Counter Interrupt Status detected
  34660. * 0b0..MMC Receive LPI transition Counter Interrupt Status not detected
  34661. */
  34662. #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)
  34663. /*! @} */
  34664. /*! @name MAC_MMC_TX_INTERRUPT - MMC Tx Interrupt */
  34665. /*! @{ */
  34666. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXGBOCTIS_MASK (0x1U)
  34667. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXGBOCTIS_SHIFT (0U)
  34668. /*! TXGBOCTIS - MMC Transmit Good Bad Octet Counter Interrupt Status This bit is set when the
  34669. * txoctetcount_gb counter reaches half of the maximum value or the maximum value.
  34670. * 0b1..MMC Transmit Good Bad Octet Counter Interrupt Status detected
  34671. * 0b0..MMC Transmit Good Bad Octet Counter Interrupt Status not detected
  34672. */
  34673. #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)
  34674. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXGBPKTIS_MASK (0x2U)
  34675. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXGBPKTIS_SHIFT (1U)
  34676. /*! TXGBPKTIS - MMC Transmit Good Bad Packet Counter Interrupt Status This bit is set when the
  34677. * txpacketcount_gb counter reaches half of the maximum value or the maximum value.
  34678. * 0b1..MMC Transmit Good Bad Packet Counter Interrupt Status detected
  34679. * 0b0..MMC Transmit Good Bad Packet Counter Interrupt Status not detected
  34680. */
  34681. #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)
  34682. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXBCGPIS_MASK (0x4U)
  34683. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXBCGPIS_SHIFT (2U)
  34684. /*! TXBCGPIS - MMC Transmit Broadcast Good Packet Counter Interrupt Status This bit is set when the
  34685. * txbroadcastpackets_g counter reaches half of the maximum value or the maximum value.
  34686. * 0b1..MMC Transmit Broadcast Good Packet Counter Interrupt Status detected
  34687. * 0b0..MMC Transmit Broadcast Good Packet Counter Interrupt Status not detected
  34688. */
  34689. #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)
  34690. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXMCGPIS_MASK (0x8U)
  34691. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXMCGPIS_SHIFT (3U)
  34692. /*! TXMCGPIS - MMC Transmit Multicast Good Packet Counter Interrupt Status This bit is set when the
  34693. * txmulticastpackets_g counter reaches half of the maximum value or the maximum value.
  34694. * 0b1..MMC Transmit Multicast Good Packet Counter Interrupt Status detected
  34695. * 0b0..MMC Transmit Multicast Good Packet Counter Interrupt Status not detected
  34696. */
  34697. #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)
  34698. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TX64OCTGBPIS_MASK (0x10U)
  34699. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TX64OCTGBPIS_SHIFT (4U)
  34700. /*! TX64OCTGBPIS - MMC Transmit 64 Octet Good Bad Packet Counter Interrupt Status This bit is set
  34701. * when the tx64octets_gb counter reaches half of the maximum value or the maximum value.
  34702. * 0b1..MMC Transmit 64 Octet Good Bad Packet Counter Interrupt Status detected
  34703. * 0b0..MMC Transmit 64 Octet Good Bad Packet Counter Interrupt Status not detected
  34704. */
  34705. #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)
  34706. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TX65T127OCTGBPIS_MASK (0x20U)
  34707. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TX65T127OCTGBPIS_SHIFT (5U)
  34708. /*! TX65T127OCTGBPIS - MMC Transmit 65 to 127 Octet Good Bad Packet Counter Interrupt Status This
  34709. * bit is set when the tx65to127octets_gb counter reaches half the maximum value, and also when it
  34710. * reaches the maximum value.
  34711. * 0b1..MMC Transmit 65 to 127 Octet Good Bad Packet Counter Interrupt Status detected
  34712. * 0b0..MMC Transmit 65 to 127 Octet Good Bad Packet Counter Interrupt Status not detected
  34713. */
  34714. #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)
  34715. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TX128T255OCTGBPIS_MASK (0x40U)
  34716. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TX128T255OCTGBPIS_SHIFT (6U)
  34717. /*! TX128T255OCTGBPIS - MMC Transmit 128 to 255 Octet Good Bad Packet Counter Interrupt Status This
  34718. * bit is set when the tx128to255octets_gb counter reaches half of the maximum value or the
  34719. * maximum value.
  34720. * 0b1..MMC Transmit 128 to 255 Octet Good Bad Packet Counter Interrupt Status detected
  34721. * 0b0..MMC Transmit 128 to 255 Octet Good Bad Packet Counter Interrupt Status not detected
  34722. */
  34723. #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)
  34724. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TX256T511OCTGBPIS_MASK (0x80U)
  34725. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TX256T511OCTGBPIS_SHIFT (7U)
  34726. /*! TX256T511OCTGBPIS - MMC Transmit 256 to 511 Octet Good Bad Packet Counter Interrupt Status This
  34727. * bit is set when the tx256to511octets_gb counter reaches half of the maximum value or the
  34728. * maximum value.
  34729. * 0b1..MMC Transmit 256 to 511 Octet Good Bad Packet Counter Interrupt Status detected
  34730. * 0b0..MMC Transmit 256 to 511 Octet Good Bad Packet Counter Interrupt Status not detected
  34731. */
  34732. #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)
  34733. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TX512T1023OCTGBPIS_MASK (0x100U)
  34734. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TX512T1023OCTGBPIS_SHIFT (8U)
  34735. /*! TX512T1023OCTGBPIS - MMC Transmit 512 to 1023 Octet Good Bad Packet Counter Interrupt Status
  34736. * This bit is set when the tx512to1023octets_gb counter reaches half of the maximum value or the
  34737. * maximum value.
  34738. * 0b1..MMC Transmit 512 to 1023 Octet Good Bad Packet Counter Interrupt Status detected
  34739. * 0b0..MMC Transmit 512 to 1023 Octet Good Bad Packet Counter Interrupt Status not detected
  34740. */
  34741. #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)
  34742. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TX1024TMAXOCTGBPIS_MASK (0x200U)
  34743. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TX1024TMAXOCTGBPIS_SHIFT (9U)
  34744. /*! TX1024TMAXOCTGBPIS - MMC Transmit 1024 to Maximum Octet Good Bad Packet Counter Interrupt Status
  34745. * This bit is set when the tx1024tomaxoctets_gb counter reaches half of the maximum value or
  34746. * the maximum value.
  34747. * 0b1..MMC Transmit 1024 to Maximum Octet Good Bad Packet Counter Interrupt Status detected
  34748. * 0b0..MMC Transmit 1024 to Maximum Octet Good Bad Packet Counter Interrupt Status not detected
  34749. */
  34750. #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)
  34751. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXUCGBPIS_MASK (0x400U)
  34752. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXUCGBPIS_SHIFT (10U)
  34753. /*! TXUCGBPIS - MMC Transmit Unicast Good Bad Packet Counter Interrupt Status This bit is set when
  34754. * the txunicastpackets_gb counter reaches half of the maximum value or the maximum value.
  34755. * 0b1..MMC Transmit Unicast Good Bad Packet Counter Interrupt Status detected
  34756. * 0b0..MMC Transmit Unicast Good Bad Packet Counter Interrupt Status not detected
  34757. */
  34758. #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)
  34759. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXMCGBPIS_MASK (0x800U)
  34760. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXMCGBPIS_SHIFT (11U)
  34761. /*! TXMCGBPIS - MMC Transmit Multicast Good Bad Packet Counter Interrupt Status The bit is set when
  34762. * the txmulticastpackets_gb counter reaches half of the maximum value or the maximum value.
  34763. * 0b1..MMC Transmit Multicast Good Bad Packet Counter Interrupt Status detected
  34764. * 0b0..MMC Transmit Multicast Good Bad Packet Counter Interrupt Status not detected
  34765. */
  34766. #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)
  34767. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXBCGBPIS_MASK (0x1000U)
  34768. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXBCGBPIS_SHIFT (12U)
  34769. /*! TXBCGBPIS - MMC Transmit Broadcast Good Bad Packet Counter Interrupt Status This bit is set when
  34770. * the txbroadcastpackets_gb counter reaches half of the maximum value or the maximum value.
  34771. * 0b1..MMC Transmit Broadcast Good Bad Packet Counter Interrupt Status detected
  34772. * 0b0..MMC Transmit Broadcast Good Bad Packet Counter Interrupt Status not detected
  34773. */
  34774. #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)
  34775. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXUFLOWERPIS_MASK (0x2000U)
  34776. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXUFLOWERPIS_SHIFT (13U)
  34777. /*! TXUFLOWERPIS - MMC Transmit Underflow Error Packet Counter Interrupt Status This bit is set when
  34778. * the txunderflowerror counter reaches half of the maximum value or the maximum value.
  34779. * 0b1..MMC Transmit Underflow Error Packet Counter Interrupt Status detected
  34780. * 0b0..MMC Transmit Underflow Error Packet Counter Interrupt Status not detected
  34781. */
  34782. #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)
  34783. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXSCOLGPIS_MASK (0x4000U)
  34784. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXSCOLGPIS_SHIFT (14U)
  34785. /*! TXSCOLGPIS - MMC Transmit Single Collision Good Packet Counter Interrupt Status This bit is set
  34786. * when the txsinglecol_g counter reaches half of the maximum value or the maximum value.
  34787. * 0b1..MMC Transmit Single Collision Good Packet Counter Interrupt Status detected
  34788. * 0b0..MMC Transmit Single Collision Good Packet Counter Interrupt Status not detected
  34789. */
  34790. #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)
  34791. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXMCOLGPIS_MASK (0x8000U)
  34792. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXMCOLGPIS_SHIFT (15U)
  34793. /*! TXMCOLGPIS - MMC Transmit Multiple Collision Good Packet Counter Interrupt Status This bit is
  34794. * set when the txmulticol_g counter reaches half of the maximum value or the maximum value.
  34795. * 0b1..MMC Transmit Multiple Collision Good Packet Counter Interrupt Status detected
  34796. * 0b0..MMC Transmit Multiple Collision Good Packet Counter Interrupt Status not detected
  34797. */
  34798. #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)
  34799. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXDEFPIS_MASK (0x10000U)
  34800. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXDEFPIS_SHIFT (16U)
  34801. /*! TXDEFPIS - MMC Transmit Deferred Packet Counter Interrupt Status This bit is set when the
  34802. * txdeferred counter reaches half of the maximum value or the maximum value.
  34803. * 0b1..MMC Transmit Deferred Packet Counter Interrupt Status detected
  34804. * 0b0..MMC Transmit Deferred Packet Counter Interrupt Status not detected
  34805. */
  34806. #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)
  34807. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXLATCOLPIS_MASK (0x20000U)
  34808. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXLATCOLPIS_SHIFT (17U)
  34809. /*! TXLATCOLPIS - MMC Transmit Late Collision Packet Counter Interrupt Status This bit is set when
  34810. * the txlatecol counter reaches half of the maximum value or the maximum value.
  34811. * 0b1..MMC Transmit Late Collision Packet Counter Interrupt Status detected
  34812. * 0b0..MMC Transmit Late Collision Packet Counter Interrupt Status not detected
  34813. */
  34814. #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)
  34815. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXEXCOLPIS_MASK (0x40000U)
  34816. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXEXCOLPIS_SHIFT (18U)
  34817. /*! TXEXCOLPIS - MMC Transmit Excessive Collision Packet Counter Interrupt Status This bit is set
  34818. * when the txexesscol counter reaches half of the maximum value or the maximum value.
  34819. * 0b1..MMC Transmit Excessive Collision Packet Counter Interrupt Status detected
  34820. * 0b0..MMC Transmit Excessive Collision Packet Counter Interrupt Status not detected
  34821. */
  34822. #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)
  34823. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXCARERPIS_MASK (0x80000U)
  34824. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXCARERPIS_SHIFT (19U)
  34825. /*! TXCARERPIS - MMC Transmit Carrier Error Packet Counter Interrupt Status This bit is set when the
  34826. * txcarriererror counter reaches half of the maximum value or the maximum value.
  34827. * 0b1..MMC Transmit Carrier Error Packet Counter Interrupt Status detected
  34828. * 0b0..MMC Transmit Carrier Error Packet Counter Interrupt Status not detected
  34829. */
  34830. #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)
  34831. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXGOCTIS_MASK (0x100000U)
  34832. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXGOCTIS_SHIFT (20U)
  34833. /*! TXGOCTIS - MMC Transmit Good Octet Counter Interrupt Status This bit is set when the
  34834. * txoctetcount_g counter reaches half of the maximum value or the maximum value.
  34835. * 0b1..MMC Transmit Good Octet Counter Interrupt Status detected
  34836. * 0b0..MMC Transmit Good Octet Counter Interrupt Status not detected
  34837. */
  34838. #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)
  34839. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXGPKTIS_MASK (0x200000U)
  34840. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXGPKTIS_SHIFT (21U)
  34841. /*! TXGPKTIS - MMC Transmit Good Packet Counter Interrupt Status This bit is set when the
  34842. * txpacketcount_g counter reaches half of the maximum value or the maximum value.
  34843. * 0b1..MMC Transmit Good Packet Counter Interrupt Status detected
  34844. * 0b0..MMC Transmit Good Packet Counter Interrupt Status not detected
  34845. */
  34846. #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)
  34847. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXEXDEFPIS_MASK (0x400000U)
  34848. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXEXDEFPIS_SHIFT (22U)
  34849. /*! TXEXDEFPIS - MMC Transmit Excessive Deferral Packet Counter Interrupt Status This bit is set
  34850. * when the txexcessdef counter reaches half of the maximum value or the maximum value.
  34851. * 0b1..MMC Transmit Excessive Deferral Packet Counter Interrupt Status detected
  34852. * 0b0..MMC Transmit Excessive Deferral Packet Counter Interrupt Status not detected
  34853. */
  34854. #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)
  34855. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXPAUSPIS_MASK (0x800000U)
  34856. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXPAUSPIS_SHIFT (23U)
  34857. /*! TXPAUSPIS - MMC Transmit Pause Packet Counter Interrupt Status This bit is set when the
  34858. * txpausepacketserror counter reaches half of the maximum value or the maximum value.
  34859. * 0b1..MMC Transmit Pause Packet Counter Interrupt Status detected
  34860. * 0b0..MMC Transmit Pause Packet Counter Interrupt Status not detected
  34861. */
  34862. #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)
  34863. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXVLANGPIS_MASK (0x1000000U)
  34864. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXVLANGPIS_SHIFT (24U)
  34865. /*! TXVLANGPIS - MMC Transmit VLAN Good Packet Counter Interrupt Status This bit is set when the
  34866. * txvlanpackets_g counter reaches half of the maximum value or the maximum value.
  34867. * 0b1..MMC Transmit VLAN Good Packet Counter Interrupt Status detected
  34868. * 0b0..MMC Transmit VLAN Good Packet Counter Interrupt Status not detected
  34869. */
  34870. #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)
  34871. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXOSIZEGPIS_MASK (0x2000000U)
  34872. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXOSIZEGPIS_SHIFT (25U)
  34873. /*! TXOSIZEGPIS - MMC Transmit Oversize Good Packet Counter Interrupt Status This bit is set when
  34874. * the txoversize_g counter reaches half of the maximum value or the maximum value.
  34875. * 0b1..MMC Transmit Oversize Good Packet Counter Interrupt Status detected
  34876. * 0b0..MMC Transmit Oversize Good Packet Counter Interrupt Status not detected
  34877. */
  34878. #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)
  34879. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXLPIUSCIS_MASK (0x4000000U)
  34880. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXLPIUSCIS_SHIFT (26U)
  34881. /*! TXLPIUSCIS - MMC Transmit LPI microsecond counter interrupt status This bit is set when the
  34882. * Tx_LPI_USEC_Cntr counter reaches half of the maximum value or the maximum value.
  34883. * 0b1..MMC Transmit LPI microsecond Counter Interrupt Status detected
  34884. * 0b0..MMC Transmit LPI microsecond Counter Interrupt Status not detected
  34885. */
  34886. #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)
  34887. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXLPITRCIS_MASK (0x8000000U)
  34888. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXLPITRCIS_SHIFT (27U)
  34889. /*! TXLPITRCIS - MMC Transmit LPI transition counter interrupt status This bit is set when the
  34890. * Tx_LPI_Tran_Cntr counter reaches half of the maximum value or the maximum value.
  34891. * 0b1..MMC Transmit LPI transition Counter Interrupt Status detected
  34892. * 0b0..MMC Transmit LPI transition Counter Interrupt Status not detected
  34893. */
  34894. #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)
  34895. /*! @} */
  34896. /*! @name MAC_MMC_RX_INTERRUPT_MASK - MMC Rx Interrupt Mask */
  34897. /*! @{ */
  34898. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXGBPKTIM_MASK (0x1U)
  34899. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXGBPKTIM_SHIFT (0U)
  34900. /*! RXGBPKTIM - MMC Receive Good Bad Packet Counter Interrupt Mask Setting this bit masks the
  34901. * interrupt when the rxpacketcount_gb counter reaches half of the maximum value or the maximum value.
  34902. * 0b0..MMC Receive Good Bad Packet Counter Interrupt Mask is disabled
  34903. * 0b1..MMC Receive Good Bad Packet Counter Interrupt Mask is enabled
  34904. */
  34905. #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)
  34906. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXGBOCTIM_MASK (0x2U)
  34907. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXGBOCTIM_SHIFT (1U)
  34908. /*! RXGBOCTIM - MMC Receive Good Bad Octet Counter Interrupt Mask Setting this bit masks the
  34909. * interrupt when the rxoctetcount_gb counter reaches half of the maximum value or the maximum value.
  34910. * 0b0..MMC Receive Good Bad Octet Counter Interrupt Mask is disabled
  34911. * 0b1..MMC Receive Good Bad Octet Counter Interrupt Mask is enabled
  34912. */
  34913. #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)
  34914. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXGOCTIM_MASK (0x4U)
  34915. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXGOCTIM_SHIFT (2U)
  34916. /*! RXGOCTIM - MMC Receive Good Octet Counter Interrupt Mask Setting this bit masks the interrupt
  34917. * when the rxoctetcount_g counter reaches half of the maximum value or the maximum value.
  34918. * 0b0..MMC Receive Good Octet Counter Interrupt Mask is disabled
  34919. * 0b1..MMC Receive Good Octet Counter Interrupt Mask is enabled
  34920. */
  34921. #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)
  34922. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXBCGPIM_MASK (0x8U)
  34923. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXBCGPIM_SHIFT (3U)
  34924. /*! RXBCGPIM - MMC Receive Broadcast Good Packet Counter Interrupt Mask Setting this bit masks the
  34925. * interrupt when the rxbroadcastpackets_g counter reaches half of the maximum value or the
  34926. * maximum value.
  34927. * 0b0..MMC Receive Broadcast Good Packet Counter Interrupt Mask is disabled
  34928. * 0b1..MMC Receive Broadcast Good Packet Counter Interrupt Mask is enabled
  34929. */
  34930. #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)
  34931. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXMCGPIM_MASK (0x10U)
  34932. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXMCGPIM_SHIFT (4U)
  34933. /*! RXMCGPIM - MMC Receive Multicast Good Packet Counter Interrupt Mask Setting this bit masks the
  34934. * interrupt when the rxmulticastpackets_g counter reaches half of the maximum value or the
  34935. * maximum value.
  34936. * 0b0..MMC Receive Multicast Good Packet Counter Interrupt Mask is disabled
  34937. * 0b1..MMC Receive Multicast Good Packet Counter Interrupt Mask is enabled
  34938. */
  34939. #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)
  34940. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXCRCERPIM_MASK (0x20U)
  34941. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXCRCERPIM_SHIFT (5U)
  34942. /*! RXCRCERPIM - MMC Receive CRC Error Packet Counter Interrupt Mask Setting this bit masks the
  34943. * interrupt when the rxcrcerror counter reaches half of the maximum value or the maximum value.
  34944. * 0b0..MMC Receive CRC Error Packet Counter Interrupt Mask is disabled
  34945. * 0b1..MMC Receive CRC Error Packet Counter Interrupt Mask is enabled
  34946. */
  34947. #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)
  34948. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXALGNERPIM_MASK (0x40U)
  34949. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXALGNERPIM_SHIFT (6U)
  34950. /*! RXALGNERPIM - MMC Receive Alignment Error Packet Counter Interrupt Mask Setting this bit masks
  34951. * the interrupt when the rxalignmenterror counter reaches half of the maximum value or the
  34952. * maximum value.
  34953. * 0b0..MMC Receive Alignment Error Packet Counter Interrupt Mask is disabled
  34954. * 0b1..MMC Receive Alignment Error Packet Counter Interrupt Mask is enabled
  34955. */
  34956. #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)
  34957. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXRUNTPIM_MASK (0x80U)
  34958. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXRUNTPIM_SHIFT (7U)
  34959. /*! RXRUNTPIM - MMC Receive Runt Packet Counter Interrupt Mask Setting this bit masks the interrupt
  34960. * when the rxrunterror counter reaches half of the maximum value or the maximum value.
  34961. * 0b0..MMC Receive Runt Packet Counter Interrupt Mask is disabled
  34962. * 0b1..MMC Receive Runt Packet Counter Interrupt Mask is enabled
  34963. */
  34964. #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)
  34965. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXJABERPIM_MASK (0x100U)
  34966. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXJABERPIM_SHIFT (8U)
  34967. /*! RXJABERPIM - MMC Receive Jabber Error Packet Counter Interrupt Mask Setting this bit masks the
  34968. * interrupt when the rxjabbererror counter reaches half of the maximum value or the maximum value.
  34969. * 0b0..MMC Receive Jabber Error Packet Counter Interrupt Mask is disabled
  34970. * 0b1..MMC Receive Jabber Error Packet Counter Interrupt Mask is enabled
  34971. */
  34972. #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)
  34973. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXUSIZEGPIM_MASK (0x200U)
  34974. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXUSIZEGPIM_SHIFT (9U)
  34975. /*! RXUSIZEGPIM - MMC Receive Undersize Good Packet Counter Interrupt Mask Setting this bit masks
  34976. * the interrupt when the rxundersize_g counter reaches half of the maximum value or the maximum
  34977. * value.
  34978. * 0b0..MMC Receive Undersize Good Packet Counter Interrupt Mask is disabled
  34979. * 0b1..MMC Receive Undersize Good Packet Counter Interrupt Mask is enabled
  34980. */
  34981. #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)
  34982. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXOSIZEGPIM_MASK (0x400U)
  34983. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXOSIZEGPIM_SHIFT (10U)
  34984. /*! RXOSIZEGPIM - MMC Receive Oversize Good Packet Counter Interrupt Mask Setting this bit masks the
  34985. * interrupt when the rxoversize_g counter reaches half of the maximum value or the maximum
  34986. * value.
  34987. * 0b0..MMC Receive Oversize Good Packet Counter Interrupt Mask is disabled
  34988. * 0b1..MMC Receive Oversize Good Packet Counter Interrupt Mask is enabled
  34989. */
  34990. #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)
  34991. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX64OCTGBPIM_MASK (0x800U)
  34992. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX64OCTGBPIM_SHIFT (11U)
  34993. /*! RX64OCTGBPIM - MMC Receive 64 Octet Good Bad Packet Counter Interrupt Mask Setting this bit
  34994. * masks the interrupt when the rx64octets_gb counter reaches half of the maximum value or the
  34995. * maximum value.
  34996. * 0b0..MMC Receive 64 Octet Good Bad Packet Counter Interrupt Mask is disabled
  34997. * 0b1..MMC Receive 64 Octet Good Bad Packet Counter Interrupt Mask is enabled
  34998. */
  34999. #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)
  35000. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX65T127OCTGBPIM_MASK (0x1000U)
  35001. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX65T127OCTGBPIM_SHIFT (12U)
  35002. /*! RX65T127OCTGBPIM - MMC Receive 65 to 127 Octet Good Bad Packet Counter Interrupt Mask Setting
  35003. * this bit masks the interrupt when the rx65to127octets_gb counter reaches half of the maximum
  35004. * value or the maximum value.
  35005. * 0b0..MMC Receive 65 to 127 Octet Good Bad Packet Counter Interrupt Mask is disabled
  35006. * 0b1..MMC Receive 65 to 127 Octet Good Bad Packet Counter Interrupt Mask is enabled
  35007. */
  35008. #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)
  35009. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX128T255OCTGBPIM_MASK (0x2000U)
  35010. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX128T255OCTGBPIM_SHIFT (13U)
  35011. /*! RX128T255OCTGBPIM - MMC Receive 128 to 255 Octet Good Bad Packet Counter Interrupt Mask Setting
  35012. * this bit masks the interrupt when the rx128to255octets_gb counter reaches half of the maximum
  35013. * value or the maximum value.
  35014. * 0b0..MMC Receive 128 to 255 Octet Good Bad Packet Counter Interrupt Mask is disabled
  35015. * 0b1..MMC Receive 128 to 255 Octet Good Bad Packet Counter Interrupt Mask is enabled
  35016. */
  35017. #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)
  35018. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX256T511OCTGBPIM_MASK (0x4000U)
  35019. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX256T511OCTGBPIM_SHIFT (14U)
  35020. /*! RX256T511OCTGBPIM - MMC Receive 256 to 511 Octet Good Bad Packet Counter Interrupt Mask Setting
  35021. * this bit masks the interrupt when the rx256to511octets_gb counter reaches half of the maximum
  35022. * value or the maximum value.
  35023. * 0b0..MMC Receive 256 to 511 Octet Good Bad Packet Counter Interrupt Mask is disabled
  35024. * 0b1..MMC Receive 256 to 511 Octet Good Bad Packet Counter Interrupt Mask is enabled
  35025. */
  35026. #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)
  35027. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX512T1023OCTGBPIM_MASK (0x8000U)
  35028. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX512T1023OCTGBPIM_SHIFT (15U)
  35029. /*! RX512T1023OCTGBPIM - MMC Receive 512 to 1023 Octet Good Bad Packet Counter Interrupt Mask
  35030. * Setting this bit masks the interrupt when the rx512to1023octets_gb counter reaches half of the
  35031. * maximum value or the maximum value.
  35032. * 0b0..MMC Receive 512 to 1023 Octet Good Bad Packet Counter Interrupt Mask is disabled
  35033. * 0b1..MMC Receive 512 to 1023 Octet Good Bad Packet Counter Interrupt Mask is enabled
  35034. */
  35035. #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)
  35036. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX1024TMAXOCTGBPIM_MASK (0x10000U)
  35037. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX1024TMAXOCTGBPIM_SHIFT (16U)
  35038. /*! RX1024TMAXOCTGBPIM - MMC Receive 1024 to Maximum Octet Good Bad Packet Counter Interrupt Mask.
  35039. * 0b0..MMC Receive 1024 to Maximum Octet Good Bad Packet Counter Interrupt Mask is disabled
  35040. * 0b1..MMC Receive 1024 to Maximum Octet Good Bad Packet Counter Interrupt Mask is enabled
  35041. */
  35042. #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)
  35043. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXUCGPIM_MASK (0x20000U)
  35044. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXUCGPIM_SHIFT (17U)
  35045. /*! RXUCGPIM - MMC Receive Unicast Good Packet Counter Interrupt Mask Setting this bit masks the
  35046. * interrupt when the rxunicastpackets_g counter reaches half of the maximum value or the maximum
  35047. * value.
  35048. * 0b0..MMC Receive Unicast Good Packet Counter Interrupt Mask is disabled
  35049. * 0b1..MMC Receive Unicast Good Packet Counter Interrupt Mask is enabled
  35050. */
  35051. #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)
  35052. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXLENERPIM_MASK (0x40000U)
  35053. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXLENERPIM_SHIFT (18U)
  35054. /*! RXLENERPIM - MMC Receive Length Error Packet Counter Interrupt Mask Setting this bit masks the
  35055. * interrupt when the rxlengtherror counter reaches half of the maximum value or the maximum value.
  35056. * 0b0..MMC Receive Length Error Packet Counter Interrupt Mask is disabled
  35057. * 0b1..MMC Receive Length Error Packet Counter Interrupt Mask is enabled
  35058. */
  35059. #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)
  35060. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXORANGEPIM_MASK (0x80000U)
  35061. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXORANGEPIM_SHIFT (19U)
  35062. /*! RXORANGEPIM - MMC Receive Out Of Range Error Packet Counter Interrupt Mask Setting this bit
  35063. * masks the interrupt when the rxoutofrangetype counter reaches half of the maximum value or the
  35064. * maximum value.
  35065. * 0b0..MMC Receive Out Of Range Error Packet Counter Interrupt Mask is disabled
  35066. * 0b1..MMC Receive Out Of Range Error Packet Counter Interrupt Mask is enabled
  35067. */
  35068. #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)
  35069. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXPAUSPIM_MASK (0x100000U)
  35070. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXPAUSPIM_SHIFT (20U)
  35071. /*! RXPAUSPIM - MMC Receive Pause Packet Counter Interrupt Mask Setting this bit masks the interrupt
  35072. * when the rxpausepackets counter reaches half of the maximum value or the maximum value.
  35073. * 0b0..MMC Receive Pause Packet Counter Interrupt Mask is disabled
  35074. * 0b1..MMC Receive Pause Packet Counter Interrupt Mask is enabled
  35075. */
  35076. #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)
  35077. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXFOVPIM_MASK (0x200000U)
  35078. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXFOVPIM_SHIFT (21U)
  35079. /*! RXFOVPIM - MMC Receive FIFO Overflow Packet Counter Interrupt Mask Setting this bit masks the
  35080. * interrupt when the rxfifooverflow counter reaches half of the maximum value or the maximum value.
  35081. * 0b0..MMC Receive FIFO Overflow Packet Counter Interrupt Mask is disabled
  35082. * 0b1..MMC Receive FIFO Overflow Packet Counter Interrupt Mask is enabled
  35083. */
  35084. #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)
  35085. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXVLANGBPIM_MASK (0x400000U)
  35086. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXVLANGBPIM_SHIFT (22U)
  35087. /*! RXVLANGBPIM - MMC Receive VLAN Good Bad Packet Counter Interrupt Mask Setting this bit masks the
  35088. * interrupt when the rxvlanpackets_gb counter reaches half of the maximum value or the maximum
  35089. * value.
  35090. * 0b0..MMC Receive VLAN Good Bad Packet Counter Interrupt Mask is disabled
  35091. * 0b1..MMC Receive VLAN Good Bad Packet Counter Interrupt Mask is enabled
  35092. */
  35093. #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)
  35094. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXWDOGPIM_MASK (0x800000U)
  35095. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXWDOGPIM_SHIFT (23U)
  35096. /*! RXWDOGPIM - MMC Receive Watchdog Error Packet Counter Interrupt Mask Setting this bit masks the
  35097. * interrupt when the rxwatchdog counter reaches half of the maximum value or the maximum value.
  35098. * 0b0..MMC Receive Watchdog Error Packet Counter Interrupt Mask is disabled
  35099. * 0b1..MMC Receive Watchdog Error Packet Counter Interrupt Mask is enabled
  35100. */
  35101. #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)
  35102. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXRCVERRPIM_MASK (0x1000000U)
  35103. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXRCVERRPIM_SHIFT (24U)
  35104. /*! RXRCVERRPIM - MMC Receive Error Packet Counter Interrupt Mask Setting this bit masks the
  35105. * interrupt when the rxrcverror counter reaches half of the maximum value or the maximum value.
  35106. * 0b0..MMC Receive Error Packet Counter Interrupt Mask is disabled
  35107. * 0b1..MMC Receive Error Packet Counter Interrupt Mask is enabled
  35108. */
  35109. #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)
  35110. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXCTRLPIM_MASK (0x2000000U)
  35111. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXCTRLPIM_SHIFT (25U)
  35112. /*! RXCTRLPIM - MMC Receive Control Packet Counter Interrupt Mask Setting this bit masks the
  35113. * interrupt when the rxctrlpackets_g counter reaches half of the maximum value or the maximum value.
  35114. * 0b0..MMC Receive Control Packet Counter Interrupt Mask is disabled
  35115. * 0b1..MMC Receive Control Packet Counter Interrupt Mask is enabled
  35116. */
  35117. #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)
  35118. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXLPIUSCIM_MASK (0x4000000U)
  35119. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXLPIUSCIM_SHIFT (26U)
  35120. /*! RXLPIUSCIM - MMC Receive LPI microsecond counter interrupt Mask Setting this bit masks the
  35121. * interrupt when the Rx_LPI_USEC_Cntr counter reaches half of the maximum value or the maximum value.
  35122. * 0b0..MMC Receive LPI microsecond counter interrupt Mask is disabled
  35123. * 0b1..MMC Receive LPI microsecond counter interrupt Mask is enabled
  35124. */
  35125. #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)
  35126. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXLPITRCIM_MASK (0x8000000U)
  35127. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXLPITRCIM_SHIFT (27U)
  35128. /*! RXLPITRCIM - MMC Receive LPI transition counter interrupt Mask Setting this bit masks the
  35129. * interrupt when the Rx_LPI_Tran_Cntr counter reaches half of the maximum value or the maximum value.
  35130. * 0b0..MMC Receive LPI transition counter interrupt Mask is disabled
  35131. * 0b1..MMC Receive LPI transition counter interrupt Mask is enabled
  35132. */
  35133. #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)
  35134. /*! @} */
  35135. /*! @name MAC_MMC_TX_INTERRUPT_MASK - MMC Tx Interrupt Mask */
  35136. /*! @{ */
  35137. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXGBOCTIM_MASK (0x1U)
  35138. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXGBOCTIM_SHIFT (0U)
  35139. /*! TXGBOCTIM - MMC Transmit Good Bad Octet Counter Interrupt Mask Setting this bit masks the
  35140. * interrupt when the txoctetcount_gb counter reaches half of the maximum value or the maximum value.
  35141. * 0b0..MMC Transmit Good Bad Octet Counter Interrupt Mask is disabled
  35142. * 0b1..MMC Transmit Good Bad Octet Counter Interrupt Mask is enabled
  35143. */
  35144. #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)
  35145. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXGBPKTIM_MASK (0x2U)
  35146. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXGBPKTIM_SHIFT (1U)
  35147. /*! TXGBPKTIM - MMC Transmit Good Bad Packet Counter Interrupt Mask Setting this bit masks the
  35148. * interrupt when the txpacketcount_gb counter reaches half of the maximum value or the maximum value.
  35149. * 0b0..MMC Transmit Good Bad Packet Counter Interrupt Mask is disabled
  35150. * 0b1..MMC Transmit Good Bad Packet Counter Interrupt Mask is enabled
  35151. */
  35152. #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)
  35153. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXBCGPIM_MASK (0x4U)
  35154. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXBCGPIM_SHIFT (2U)
  35155. /*! TXBCGPIM - MMC Transmit Broadcast Good Packet Counter Interrupt Mask Setting this bit masks the
  35156. * interrupt when the txbroadcastpackets_g counter reaches half of the maximum value or the
  35157. * maximum value.
  35158. * 0b0..MMC Transmit Broadcast Good Packet Counter Interrupt Mask is disabled
  35159. * 0b1..MMC Transmit Broadcast Good Packet Counter Interrupt Mask is enabled
  35160. */
  35161. #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)
  35162. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXMCGPIM_MASK (0x8U)
  35163. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXMCGPIM_SHIFT (3U)
  35164. /*! TXMCGPIM - MMC Transmit Multicast Good Packet Counter Interrupt Mask Setting this bit masks the
  35165. * interrupt when the txmulticastpackets_g counter reaches half of the maximum value or the
  35166. * maximum value.
  35167. * 0b0..MMC Transmit Multicast Good Packet Counter Interrupt Mask is disabled
  35168. * 0b1..MMC Transmit Multicast Good Packet Counter Interrupt Mask is enabled
  35169. */
  35170. #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)
  35171. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX64OCTGBPIM_MASK (0x10U)
  35172. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX64OCTGBPIM_SHIFT (4U)
  35173. /*! TX64OCTGBPIM - MMC Transmit 64 Octet Good Bad Packet Counter Interrupt Mask Setting this bit
  35174. * masks the interrupt when the tx64octets_gb counter reaches half of the maximum value or the
  35175. * maximum value.
  35176. * 0b0..MMC Transmit 64 Octet Good Bad Packet Counter Interrupt Mask is disabled
  35177. * 0b1..MMC Transmit 64 Octet Good Bad Packet Counter Interrupt Mask is enabled
  35178. */
  35179. #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)
  35180. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX65T127OCTGBPIM_MASK (0x20U)
  35181. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX65T127OCTGBPIM_SHIFT (5U)
  35182. /*! TX65T127OCTGBPIM - MMC Transmit 65 to 127 Octet Good Bad Packet Counter Interrupt Mask Setting
  35183. * this bit masks the interrupt when the tx65to127octets_gb counter reaches half of the maximum
  35184. * value or the maximum value.
  35185. * 0b0..MMC Transmit 65 to 127 Octet Good Bad Packet Counter Interrupt Mask is disabled
  35186. * 0b1..MMC Transmit 65 to 127 Octet Good Bad Packet Counter Interrupt Mask is enabled
  35187. */
  35188. #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)
  35189. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX128T255OCTGBPIM_MASK (0x40U)
  35190. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX128T255OCTGBPIM_SHIFT (6U)
  35191. /*! TX128T255OCTGBPIM - MMC Transmit 128 to 255 Octet Good Bad Packet Counter Interrupt Mask Setting
  35192. * this bit masks the interrupt when the tx128to255octets_gb counter reaches half of the maximum
  35193. * value or the maximum value.
  35194. * 0b0..MMC Transmit 128 to 255 Octet Good Bad Packet Counter Interrupt Mask is disabled
  35195. * 0b1..MMC Transmit 128 to 255 Octet Good Bad Packet Counter Interrupt Mask is enabled
  35196. */
  35197. #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)
  35198. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX256T511OCTGBPIM_MASK (0x80U)
  35199. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX256T511OCTGBPIM_SHIFT (7U)
  35200. /*! TX256T511OCTGBPIM - MMC Transmit 256 to 511 Octet Good Bad Packet Counter Interrupt Mask Setting
  35201. * this bit masks the interrupt when the tx256to511octets_gb counter reaches half of the maximum
  35202. * value or the maximum value.
  35203. * 0b0..MMC Transmit 256 to 511 Octet Good Bad Packet Counter Interrupt Mask is disabled
  35204. * 0b1..MMC Transmit 256 to 511 Octet Good Bad Packet Counter Interrupt Mask is enabled
  35205. */
  35206. #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)
  35207. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX512T1023OCTGBPIM_MASK (0x100U)
  35208. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX512T1023OCTGBPIM_SHIFT (8U)
  35209. /*! TX512T1023OCTGBPIM - MMC Transmit 512 to 1023 Octet Good Bad Packet Counter Interrupt Mask
  35210. * Setting this bit masks the interrupt when the tx512to1023octets_gb counter reaches half of the
  35211. * maximum value or the maximum value.
  35212. * 0b0..MMC Transmit 512 to 1023 Octet Good Bad Packet Counter Interrupt Mask is disabled
  35213. * 0b1..MMC Transmit 512 to 1023 Octet Good Bad Packet Counter Interrupt Mask is enabled
  35214. */
  35215. #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)
  35216. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX1024TMAXOCTGBPIM_MASK (0x200U)
  35217. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX1024TMAXOCTGBPIM_SHIFT (9U)
  35218. /*! TX1024TMAXOCTGBPIM - MMC Transmit 1024 to Maximum Octet Good Bad Packet Counter Interrupt Mask
  35219. * Setting this bit masks the interrupt when the tx1024tomaxoctets_gb counter reaches half of the
  35220. * maximum value or the maximum value.
  35221. * 0b0..MMC Transmit 1024 to Maximum Octet Good Bad Packet Counter Interrupt Mask is disabled
  35222. * 0b1..MMC Transmit 1024 to Maximum Octet Good Bad Packet Counter Interrupt Mask is enabled
  35223. */
  35224. #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)
  35225. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXUCGBPIM_MASK (0x400U)
  35226. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXUCGBPIM_SHIFT (10U)
  35227. /*! TXUCGBPIM - MMC Transmit Unicast Good Bad Packet Counter Interrupt Mask Setting this bit masks
  35228. * the interrupt when the txunicastpackets_gb counter reaches half of the maximum value or the
  35229. * maximum value.
  35230. * 0b0..MMC Transmit Unicast Good Bad Packet Counter Interrupt Mask is disabled
  35231. * 0b1..MMC Transmit Unicast Good Bad Packet Counter Interrupt Mask is enabled
  35232. */
  35233. #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)
  35234. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXMCGBPIM_MASK (0x800U)
  35235. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXMCGBPIM_SHIFT (11U)
  35236. /*! TXMCGBPIM - MMC Transmit Multicast Good Bad Packet Counter Interrupt Mask Setting this bit masks
  35237. * the interrupt when the txmulticastpackets_gb counter reaches half of the maximum value or the
  35238. * maximum value.
  35239. * 0b0..MMC Transmit Multicast Good Bad Packet Counter Interrupt Mask is disabled
  35240. * 0b1..MMC Transmit Multicast Good Bad Packet Counter Interrupt Mask is enabled
  35241. */
  35242. #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)
  35243. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXBCGBPIM_MASK (0x1000U)
  35244. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXBCGBPIM_SHIFT (12U)
  35245. /*! TXBCGBPIM - MMC Transmit Broadcast Good Bad Packet Counter Interrupt Mask Setting this bit masks
  35246. * the interrupt when the txbroadcastpackets_gb counter reaches half of the maximum value or the
  35247. * maximum value.
  35248. * 0b0..MMC Transmit Broadcast Good Bad Packet Counter Interrupt Mask is disabled
  35249. * 0b1..MMC Transmit Broadcast Good Bad Packet Counter Interrupt Mask is enabled
  35250. */
  35251. #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)
  35252. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXUFLOWERPIM_MASK (0x2000U)
  35253. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXUFLOWERPIM_SHIFT (13U)
  35254. /*! TXUFLOWERPIM - MMC Transmit Underflow Error Packet Counter Interrupt Mask Setting this bit masks
  35255. * the interrupt when the txunderflowerror counter reaches half of the maximum value or the
  35256. * maximum value.
  35257. * 0b0..MMC Transmit Underflow Error Packet Counter Interrupt Mask is disabled
  35258. * 0b1..MMC Transmit Underflow Error Packet Counter Interrupt Mask is enabled
  35259. */
  35260. #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)
  35261. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXSCOLGPIM_MASK (0x4000U)
  35262. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXSCOLGPIM_SHIFT (14U)
  35263. /*! TXSCOLGPIM - MMC Transmit Single Collision Good Packet Counter Interrupt Mask Setting this bit
  35264. * masks the interrupt when the txsinglecol_g counter reaches half of the maximum value or the
  35265. * maximum value.
  35266. * 0b0..MMC Transmit Single Collision Good Packet Counter Interrupt Mask is disabled
  35267. * 0b1..MMC Transmit Single Collision Good Packet Counter Interrupt Mask is enabled
  35268. */
  35269. #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)
  35270. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXMCOLGPIM_MASK (0x8000U)
  35271. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXMCOLGPIM_SHIFT (15U)
  35272. /*! TXMCOLGPIM - MMC Transmit Multiple Collision Good Packet Counter Interrupt Mask Setting this bit
  35273. * masks the interrupt when the txmulticol_g counter reaches half of the maximum value or the
  35274. * maximum value.
  35275. * 0b0..MMC Transmit Multiple Collision Good Packet Counter Interrupt Mask is disabled
  35276. * 0b1..MMC Transmit Multiple Collision Good Packet Counter Interrupt Mask is enabled
  35277. */
  35278. #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)
  35279. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXDEFPIM_MASK (0x10000U)
  35280. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXDEFPIM_SHIFT (16U)
  35281. /*! TXDEFPIM - MMC Transmit Deferred Packet Counter Interrupt Mask Setting this bit masks the
  35282. * interrupt when the txdeferred counter reaches half of the maximum value or the maximum value.
  35283. * 0b0..MMC Transmit Deferred Packet Counter Interrupt Mask is disabled
  35284. * 0b1..MMC Transmit Deferred Packet Counter Interrupt Mask is enabled
  35285. */
  35286. #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)
  35287. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXLATCOLPIM_MASK (0x20000U)
  35288. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXLATCOLPIM_SHIFT (17U)
  35289. /*! TXLATCOLPIM - MMC Transmit Late Collision Packet Counter Interrupt Mask Setting this bit masks
  35290. * the interrupt when the txlatecol counter reaches half of the maximum value or the maximum value.
  35291. * 0b0..MMC Transmit Late Collision Packet Counter Interrupt Mask is disabled
  35292. * 0b1..MMC Transmit Late Collision Packet Counter Interrupt Mask is enabled
  35293. */
  35294. #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)
  35295. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXEXCOLPIM_MASK (0x40000U)
  35296. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXEXCOLPIM_SHIFT (18U)
  35297. /*! TXEXCOLPIM - MMC Transmit Excessive Collision Packet Counter Interrupt Mask Setting this bit
  35298. * masks the interrupt when the txexcesscol counter reaches half of the maximum value or the maximum
  35299. * value.
  35300. * 0b0..MMC Transmit Excessive Collision Packet Counter Interrupt Mask is disabled
  35301. * 0b1..MMC Transmit Excessive Collision Packet Counter Interrupt Mask is enabled
  35302. */
  35303. #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)
  35304. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXCARERPIM_MASK (0x80000U)
  35305. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXCARERPIM_SHIFT (19U)
  35306. /*! TXCARERPIM - MMC Transmit Carrier Error Packet Counter Interrupt Mask Setting this bit masks the
  35307. * interrupt when the txcarriererror counter reaches half of the maximum value or the maximum
  35308. * value.
  35309. * 0b0..MMC Transmit Carrier Error Packet Counter Interrupt Mask is disabled
  35310. * 0b1..MMC Transmit Carrier Error Packet Counter Interrupt Mask is enabled
  35311. */
  35312. #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)
  35313. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXGOCTIM_MASK (0x100000U)
  35314. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXGOCTIM_SHIFT (20U)
  35315. /*! TXGOCTIM - MMC Transmit Good Octet Counter Interrupt Mask Setting this bit masks the interrupt
  35316. * when the txoctetcount_g counter reaches half of the maximum value or the maximum value.
  35317. * 0b0..MMC Transmit Good Octet Counter Interrupt Mask is disabled
  35318. * 0b1..MMC Transmit Good Octet Counter Interrupt Mask is enabled
  35319. */
  35320. #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)
  35321. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXGPKTIM_MASK (0x200000U)
  35322. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXGPKTIM_SHIFT (21U)
  35323. /*! TXGPKTIM - MMC Transmit Good Packet Counter Interrupt Mask Setting this bit masks the interrupt
  35324. * when the txpacketcount_g counter reaches half of the maximum value or the maximum value.
  35325. * 0b0..MMC Transmit Good Packet Counter Interrupt Mask is disabled
  35326. * 0b1..MMC Transmit Good Packet Counter Interrupt Mask is enabled
  35327. */
  35328. #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)
  35329. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXEXDEFPIM_MASK (0x400000U)
  35330. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXEXDEFPIM_SHIFT (22U)
  35331. /*! TXEXDEFPIM - MMC Transmit Excessive Deferral Packet Counter Interrupt Mask Setting this bit
  35332. * masks the interrupt when the txexcessdef counter reaches half of the maximum value or the maximum
  35333. * value.
  35334. * 0b0..MMC Transmit Excessive Deferral Packet Counter Interrupt Mask is disabled
  35335. * 0b1..MMC Transmit Excessive Deferral Packet Counter Interrupt Mask is enabled
  35336. */
  35337. #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)
  35338. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXPAUSPIM_MASK (0x800000U)
  35339. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXPAUSPIM_SHIFT (23U)
  35340. /*! TXPAUSPIM - MMC Transmit Pause Packet Counter Interrupt Mask Setting this bit masks the
  35341. * interrupt when the txpausepackets counter reaches half of the maximum value or the maximum value.
  35342. * 0b0..MMC Transmit Pause Packet Counter Interrupt Mask is disabled
  35343. * 0b1..MMC Transmit Pause Packet Counter Interrupt Mask is enabled
  35344. */
  35345. #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)
  35346. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXVLANGPIM_MASK (0x1000000U)
  35347. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXVLANGPIM_SHIFT (24U)
  35348. /*! TXVLANGPIM - MMC Transmit VLAN Good Packet Counter Interrupt Mask Setting this bit masks the
  35349. * interrupt when the txvlanpackets_g counter reaches half of the maximum value or the maximum value.
  35350. * 0b0..MMC Transmit VLAN Good Packet Counter Interrupt Mask is disabled
  35351. * 0b1..MMC Transmit VLAN Good Packet Counter Interrupt Mask is enabled
  35352. */
  35353. #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)
  35354. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXOSIZEGPIM_MASK (0x2000000U)
  35355. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXOSIZEGPIM_SHIFT (25U)
  35356. /*! TXOSIZEGPIM - MMC Transmit Oversize Good Packet Counter Interrupt Mask Setting this bit masks
  35357. * the interrupt when the txoversize_g counter reaches half of the maximum value or the maximum
  35358. * value.
  35359. * 0b0..MMC Transmit Oversize Good Packet Counter Interrupt Mask is disabled
  35360. * 0b1..MMC Transmit Oversize Good Packet Counter Interrupt Mask is enabled
  35361. */
  35362. #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)
  35363. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXLPIUSCIM_MASK (0x4000000U)
  35364. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXLPIUSCIM_SHIFT (26U)
  35365. /*! TXLPIUSCIM - MMC Transmit LPI microsecond counter interrupt Mask Setting this bit masks the
  35366. * interrupt when the Tx_LPI_USEC_Cntr counter reaches half of the maximum value or the maximum value.
  35367. * 0b0..MMC Transmit LPI microsecond counter interrupt Mask is disabled
  35368. * 0b1..MMC Transmit LPI microsecond counter interrupt Mask is enabled
  35369. */
  35370. #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)
  35371. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXLPITRCIM_MASK (0x8000000U)
  35372. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXLPITRCIM_SHIFT (27U)
  35373. /*! TXLPITRCIM - MMC Transmit LPI transition counter interrupt Mask Setting this bit masks the
  35374. * interrupt when the Tx_LPI_Tran_Cntr counter reaches half of the maximum value or the maximum value.
  35375. * 0b0..MMC Transmit LPI transition counter interrupt Mask is disabled
  35376. * 0b1..MMC Transmit LPI transition counter interrupt Mask is enabled
  35377. */
  35378. #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)
  35379. /*! @} */
  35380. /*! @name MAC_TX_OCTET_COUNT_GOOD_BAD - Tx Octet Count Good and Bad */
  35381. /*! @{ */
  35382. #define ENET_QOS_MAC_TX_OCTET_COUNT_GOOD_BAD_TXOCTGB_MASK (0xFFFFFFFFU)
  35383. #define ENET_QOS_MAC_TX_OCTET_COUNT_GOOD_BAD_TXOCTGB_SHIFT (0U)
  35384. /*! TXOCTGB - Tx Octet Count Good Bad This field indicates the number of bytes transmitted,
  35385. * exclusive of preamble and retried bytes, in good and bad packets.
  35386. */
  35387. #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)
  35388. /*! @} */
  35389. /*! @name MAC_TX_PACKET_COUNT_GOOD_BAD - Tx Packet Count Good and Bad */
  35390. /*! @{ */
  35391. #define ENET_QOS_MAC_TX_PACKET_COUNT_GOOD_BAD_TXPKTGB_MASK (0xFFFFFFFFU)
  35392. #define ENET_QOS_MAC_TX_PACKET_COUNT_GOOD_BAD_TXPKTGB_SHIFT (0U)
  35393. /*! TXPKTGB - Tx Packet Count Good Bad This field indicates the number of good and bad packets
  35394. * transmitted, exclusive of retried packets.
  35395. */
  35396. #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)
  35397. /*! @} */
  35398. /*! @name MAC_TX_BROADCAST_PACKETS_GOOD - Tx Broadcast Packets Good */
  35399. /*! @{ */
  35400. #define ENET_QOS_MAC_TX_BROADCAST_PACKETS_GOOD_TXBCASTG_MASK (0xFFFFFFFFU)
  35401. #define ENET_QOS_MAC_TX_BROADCAST_PACKETS_GOOD_TXBCASTG_SHIFT (0U)
  35402. /*! TXBCASTG - Tx Broadcast Packets Good This field indicates the number of good broadcast packets transmitted.
  35403. */
  35404. #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)
  35405. /*! @} */
  35406. /*! @name MAC_TX_MULTICAST_PACKETS_GOOD - Tx Multicast Packets Good */
  35407. /*! @{ */
  35408. #define ENET_QOS_MAC_TX_MULTICAST_PACKETS_GOOD_TXMCASTG_MASK (0xFFFFFFFFU)
  35409. #define ENET_QOS_MAC_TX_MULTICAST_PACKETS_GOOD_TXMCASTG_SHIFT (0U)
  35410. /*! TXMCASTG - Tx Multicast Packets Good This field indicates the number of good multicast packets transmitted.
  35411. */
  35412. #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)
  35413. /*! @} */
  35414. /*! @name MAC_TX_64OCTETS_PACKETS_GOOD_BAD - Tx Good and Bad 64-Byte Packets */
  35415. /*! @{ */
  35416. #define ENET_QOS_MAC_TX_64OCTETS_PACKETS_GOOD_BAD_TX64OCTGB_MASK (0xFFFFFFFFU)
  35417. #define ENET_QOS_MAC_TX_64OCTETS_PACKETS_GOOD_BAD_TX64OCTGB_SHIFT (0U)
  35418. /*! TX64OCTGB - Tx 64Octets Packets Good_Bad This field indicates the number of good and bad packets
  35419. * transmitted with length 64 bytes, exclusive of preamble and retried packets.
  35420. */
  35421. #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)
  35422. /*! @} */
  35423. /*! @name MAC_TX_65TO127OCTETS_PACKETS_GOOD_BAD - Tx Good and Bad 65 to 127-Byte Packets */
  35424. /*! @{ */
  35425. #define ENET_QOS_MAC_TX_65TO127OCTETS_PACKETS_GOOD_BAD_TX65_127OCTGB_MASK (0xFFFFFFFFU)
  35426. #define ENET_QOS_MAC_TX_65TO127OCTETS_PACKETS_GOOD_BAD_TX65_127OCTGB_SHIFT (0U)
  35427. /*! TX65_127OCTGB - Tx 65To127Octets Packets Good Bad This field indicates the number of good and
  35428. * bad packets transmitted with length between 65 and 127 (inclusive) bytes, exclusive of preamble
  35429. * and retried packets.
  35430. */
  35431. #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)
  35432. /*! @} */
  35433. /*! @name MAC_TX_128TO255OCTETS_PACKETS_GOOD_BAD - Tx Good and Bad 128 to 255-Byte Packets */
  35434. /*! @{ */
  35435. #define ENET_QOS_MAC_TX_128TO255OCTETS_PACKETS_GOOD_BAD_TX128_255OCTGB_MASK (0xFFFFFFFFU)
  35436. #define ENET_QOS_MAC_TX_128TO255OCTETS_PACKETS_GOOD_BAD_TX128_255OCTGB_SHIFT (0U)
  35437. /*! TX128_255OCTGB - Tx 128To255Octets Packets Good Bad This field indicates the number of good and
  35438. * bad packets transmitted with length between 128 and 255 (inclusive) bytes, exclusive of
  35439. * preamble and retried packets.
  35440. */
  35441. #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)
  35442. /*! @} */
  35443. /*! @name MAC_TX_256TO511OCTETS_PACKETS_GOOD_BAD - Tx Good and Bad 256 to 511-Byte Packets */
  35444. /*! @{ */
  35445. #define ENET_QOS_MAC_TX_256TO511OCTETS_PACKETS_GOOD_BAD_TX256_511OCTGB_MASK (0xFFFFFFFFU)
  35446. #define ENET_QOS_MAC_TX_256TO511OCTETS_PACKETS_GOOD_BAD_TX256_511OCTGB_SHIFT (0U)
  35447. /*! TX256_511OCTGB - Tx 256To511Octets Packets Good Bad This field indicates the number of good and
  35448. * bad packets transmitted with length between 256 and 511 (inclusive) bytes, exclusive of
  35449. * preamble and retried packets.
  35450. */
  35451. #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)
  35452. /*! @} */
  35453. /*! @name MAC_TX_512TO1023OCTETS_PACKETS_GOOD_BAD - Tx Good and Bad 512 to 1023-Byte Packets */
  35454. /*! @{ */
  35455. #define ENET_QOS_MAC_TX_512TO1023OCTETS_PACKETS_GOOD_BAD_TX512_1023OCTGB_MASK (0xFFFFFFFFU)
  35456. #define ENET_QOS_MAC_TX_512TO1023OCTETS_PACKETS_GOOD_BAD_TX512_1023OCTGB_SHIFT (0U)
  35457. /*! TX512_1023OCTGB - Tx 512To1023Octets Packets Good Bad This field indicates the number of good
  35458. * and bad packets transmitted with length between 512 and 1023 (inclusive) bytes, exclusive of
  35459. * preamble and retried packets.
  35460. */
  35461. #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)
  35462. /*! @} */
  35463. /*! @name MAC_TX_1024TOMAXOCTETS_PACKETS_GOOD_BAD - Tx Good and Bad 1024 to Max-Byte Packets */
  35464. /*! @{ */
  35465. #define ENET_QOS_MAC_TX_1024TOMAXOCTETS_PACKETS_GOOD_BAD_TX1024_MAXOCTGB_MASK (0xFFFFFFFFU)
  35466. #define ENET_QOS_MAC_TX_1024TOMAXOCTETS_PACKETS_GOOD_BAD_TX1024_MAXOCTGB_SHIFT (0U)
  35467. /*! TX1024_MAXOCTGB - Tx 1024ToMaxOctets Packets Good Bad This field indicates the number of good
  35468. * and bad packets transmitted with length between 1024 and maxsize (inclusive) bytes, exclusive of
  35469. * preamble and retried packets.
  35470. */
  35471. #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)
  35472. /*! @} */
  35473. /*! @name MAC_TX_UNICAST_PACKETS_GOOD_BAD - Good and Bad Unicast Packets Transmitted */
  35474. /*! @{ */
  35475. #define ENET_QOS_MAC_TX_UNICAST_PACKETS_GOOD_BAD_TXUCASTGB_MASK (0xFFFFFFFFU)
  35476. #define ENET_QOS_MAC_TX_UNICAST_PACKETS_GOOD_BAD_TXUCASTGB_SHIFT (0U)
  35477. /*! TXUCASTGB - Tx Unicast Packets Good Bad This field indicates the number of good and bad unicast packets transmitted.
  35478. */
  35479. #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)
  35480. /*! @} */
  35481. /*! @name MAC_TX_MULTICAST_PACKETS_GOOD_BAD - Good and Bad Multicast Packets Transmitted */
  35482. /*! @{ */
  35483. #define ENET_QOS_MAC_TX_MULTICAST_PACKETS_GOOD_BAD_TXMCASTGB_MASK (0xFFFFFFFFU)
  35484. #define ENET_QOS_MAC_TX_MULTICAST_PACKETS_GOOD_BAD_TXMCASTGB_SHIFT (0U)
  35485. /*! TXMCASTGB - Tx Multicast Packets Good Bad This field indicates the number of good and bad multicast packets transmitted.
  35486. */
  35487. #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)
  35488. /*! @} */
  35489. /*! @name MAC_TX_BROADCAST_PACKETS_GOOD_BAD - Good and Bad Broadcast Packets Transmitted */
  35490. /*! @{ */
  35491. #define ENET_QOS_MAC_TX_BROADCAST_PACKETS_GOOD_BAD_TXBCASTGB_MASK (0xFFFFFFFFU)
  35492. #define ENET_QOS_MAC_TX_BROADCAST_PACKETS_GOOD_BAD_TXBCASTGB_SHIFT (0U)
  35493. /*! TXBCASTGB - Tx Broadcast Packets Good Bad This field indicates the number of good and bad broadcast packets transmitted.
  35494. */
  35495. #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)
  35496. /*! @} */
  35497. /*! @name MAC_TX_UNDERFLOW_ERROR_PACKETS - Tx Packets Aborted By Underflow Error */
  35498. /*! @{ */
  35499. #define ENET_QOS_MAC_TX_UNDERFLOW_ERROR_PACKETS_TXUNDRFLW_MASK (0xFFFFFFFFU)
  35500. #define ENET_QOS_MAC_TX_UNDERFLOW_ERROR_PACKETS_TXUNDRFLW_SHIFT (0U)
  35501. /*! TXUNDRFLW - Tx Underflow Error Packets This field indicates the number of packets aborted because of packets underflow error.
  35502. */
  35503. #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)
  35504. /*! @} */
  35505. /*! @name MAC_TX_SINGLE_COLLISION_GOOD_PACKETS - Single Collision Good Packets Transmitted */
  35506. /*! @{ */
  35507. #define ENET_QOS_MAC_TX_SINGLE_COLLISION_GOOD_PACKETS_TXSNGLCOLG_MASK (0xFFFFFFFFU)
  35508. #define ENET_QOS_MAC_TX_SINGLE_COLLISION_GOOD_PACKETS_TXSNGLCOLG_SHIFT (0U)
  35509. /*! TXSNGLCOLG - Tx Single Collision Good Packets This field indicates the number of successfully
  35510. * transmitted packets after a single collision in the half-duplex mode.
  35511. */
  35512. #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)
  35513. /*! @} */
  35514. /*! @name MAC_TX_MULTIPLE_COLLISION_GOOD_PACKETS - Multiple Collision Good Packets Transmitted */
  35515. /*! @{ */
  35516. #define ENET_QOS_MAC_TX_MULTIPLE_COLLISION_GOOD_PACKETS_TXMULTCOLG_MASK (0xFFFFFFFFU)
  35517. #define ENET_QOS_MAC_TX_MULTIPLE_COLLISION_GOOD_PACKETS_TXMULTCOLG_SHIFT (0U)
  35518. /*! TXMULTCOLG - Tx Multiple Collision Good Packets This field indicates the number of successfully
  35519. * transmitted packets after multiple collisions in the half-duplex mode.
  35520. */
  35521. #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)
  35522. /*! @} */
  35523. /*! @name MAC_TX_DEFERRED_PACKETS - Deferred Packets Transmitted */
  35524. /*! @{ */
  35525. #define ENET_QOS_MAC_TX_DEFERRED_PACKETS_TXDEFRD_MASK (0xFFFFFFFFU)
  35526. #define ENET_QOS_MAC_TX_DEFERRED_PACKETS_TXDEFRD_SHIFT (0U)
  35527. /*! TXDEFRD - Tx Deferred Packets This field indicates the number of successfully transmitted after
  35528. * a deferral in the half-duplex mode.
  35529. */
  35530. #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)
  35531. /*! @} */
  35532. /*! @name MAC_TX_LATE_COLLISION_PACKETS - Late Collision Packets Transmitted */
  35533. /*! @{ */
  35534. #define ENET_QOS_MAC_TX_LATE_COLLISION_PACKETS_TXLATECOL_MASK (0xFFFFFFFFU)
  35535. #define ENET_QOS_MAC_TX_LATE_COLLISION_PACKETS_TXLATECOL_SHIFT (0U)
  35536. /*! TXLATECOL - Tx Late Collision Packets This field indicates the number of packets aborted because of late collision error.
  35537. */
  35538. #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)
  35539. /*! @} */
  35540. /*! @name MAC_TX_EXCESSIVE_COLLISION_PACKETS - Excessive Collision Packets Transmitted */
  35541. /*! @{ */
  35542. #define ENET_QOS_MAC_TX_EXCESSIVE_COLLISION_PACKETS_TXEXSCOL_MASK (0xFFFFFFFFU)
  35543. #define ENET_QOS_MAC_TX_EXCESSIVE_COLLISION_PACKETS_TXEXSCOL_SHIFT (0U)
  35544. /*! TXEXSCOL - Tx Excessive Collision Packets This field indicates the number of packets aborted
  35545. * because of excessive (16) collision errors.
  35546. */
  35547. #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)
  35548. /*! @} */
  35549. /*! @name MAC_TX_CARRIER_ERROR_PACKETS - Carrier Error Packets Transmitted */
  35550. /*! @{ */
  35551. #define ENET_QOS_MAC_TX_CARRIER_ERROR_PACKETS_TXCARR_MASK (0xFFFFFFFFU)
  35552. #define ENET_QOS_MAC_TX_CARRIER_ERROR_PACKETS_TXCARR_SHIFT (0U)
  35553. /*! TXCARR - Tx Carrier Error Packets This field indicates the number of packets aborted because of
  35554. * carrier sense error (no carrier or loss of carrier).
  35555. */
  35556. #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)
  35557. /*! @} */
  35558. /*! @name MAC_TX_OCTET_COUNT_GOOD - Bytes Transmitted in Good Packets */
  35559. /*! @{ */
  35560. #define ENET_QOS_MAC_TX_OCTET_COUNT_GOOD_TXOCTG_MASK (0xFFFFFFFFU)
  35561. #define ENET_QOS_MAC_TX_OCTET_COUNT_GOOD_TXOCTG_SHIFT (0U)
  35562. /*! TXOCTG - Tx Octet Count Good This field indicates the number of bytes transmitted, exclusive of preamble, only in good packets.
  35563. */
  35564. #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)
  35565. /*! @} */
  35566. /*! @name MAC_TX_PACKET_COUNT_GOOD - Good Packets Transmitted */
  35567. /*! @{ */
  35568. #define ENET_QOS_MAC_TX_PACKET_COUNT_GOOD_TXPKTG_MASK (0xFFFFFFFFU)
  35569. #define ENET_QOS_MAC_TX_PACKET_COUNT_GOOD_TXPKTG_SHIFT (0U)
  35570. /*! TXPKTG - Tx Packet Count Good This field indicates the number of good packets transmitted.
  35571. */
  35572. #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)
  35573. /*! @} */
  35574. /*! @name MAC_TX_EXCESSIVE_DEFERRAL_ERROR - Packets Aborted By Excessive Deferral Error */
  35575. /*! @{ */
  35576. #define ENET_QOS_MAC_TX_EXCESSIVE_DEFERRAL_ERROR_TXEXSDEF_MASK (0xFFFFFFFFU)
  35577. #define ENET_QOS_MAC_TX_EXCESSIVE_DEFERRAL_ERROR_TXEXSDEF_SHIFT (0U)
  35578. /*! TXEXSDEF - Tx Excessive Deferral Error This field indicates the number of packets aborted
  35579. * because of excessive deferral error (deferred for more than two max-sized packet times).
  35580. */
  35581. #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)
  35582. /*! @} */
  35583. /*! @name MAC_TX_PAUSE_PACKETS - Pause Packets Transmitted */
  35584. /*! @{ */
  35585. #define ENET_QOS_MAC_TX_PAUSE_PACKETS_TXPAUSE_MASK (0xFFFFFFFFU)
  35586. #define ENET_QOS_MAC_TX_PAUSE_PACKETS_TXPAUSE_SHIFT (0U)
  35587. /*! TXPAUSE - Tx Pause Packets This field indicates the number of good Pause packets transmitted.
  35588. */
  35589. #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)
  35590. /*! @} */
  35591. /*! @name MAC_TX_VLAN_PACKETS_GOOD - Good VLAN Packets Transmitted */
  35592. /*! @{ */
  35593. #define ENET_QOS_MAC_TX_VLAN_PACKETS_GOOD_TXVLANG_MASK (0xFFFFFFFFU)
  35594. #define ENET_QOS_MAC_TX_VLAN_PACKETS_GOOD_TXVLANG_SHIFT (0U)
  35595. /*! TXVLANG - Tx VLAN Packets Good This field provides the number of good VLAN packets transmitted.
  35596. */
  35597. #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)
  35598. /*! @} */
  35599. /*! @name MAC_TX_OSIZE_PACKETS_GOOD - Good Oversize Packets Transmitted */
  35600. /*! @{ */
  35601. #define ENET_QOS_MAC_TX_OSIZE_PACKETS_GOOD_TXOSIZG_MASK (0xFFFFFFFFU)
  35602. #define ENET_QOS_MAC_TX_OSIZE_PACKETS_GOOD_TXOSIZG_SHIFT (0U)
  35603. /*! TXOSIZG - Tx OSize Packets Good This field indicates the number of packets transmitted without
  35604. * errors and with length greater than the maxsize (1,518 or 1,522 bytes for VLAN tagged packets;
  35605. * 2000 bytes if enabled in S2KP bit of the CONFIGURATION register).
  35606. */
  35607. #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)
  35608. /*! @} */
  35609. /*! @name MAC_RX_PACKETS_COUNT_GOOD_BAD - Good and Bad Packets Received */
  35610. /*! @{ */
  35611. #define ENET_QOS_MAC_RX_PACKETS_COUNT_GOOD_BAD_RXPKTGB_MASK (0xFFFFFFFFU)
  35612. #define ENET_QOS_MAC_RX_PACKETS_COUNT_GOOD_BAD_RXPKTGB_SHIFT (0U)
  35613. /*! RXPKTGB - Rx Packets Count Good Bad This field indicates the number of good and bad packets received.
  35614. */
  35615. #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)
  35616. /*! @} */
  35617. /*! @name MAC_RX_OCTET_COUNT_GOOD_BAD - Bytes in Good and Bad Packets Received */
  35618. /*! @{ */
  35619. #define ENET_QOS_MAC_RX_OCTET_COUNT_GOOD_BAD_RXOCTGB_MASK (0xFFFFFFFFU)
  35620. #define ENET_QOS_MAC_RX_OCTET_COUNT_GOOD_BAD_RXOCTGB_SHIFT (0U)
  35621. /*! RXOCTGB - Rx Octet Count Good Bad This field indicates the number of bytes received, exclusive
  35622. * of preamble, in good and bad packets.
  35623. */
  35624. #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)
  35625. /*! @} */
  35626. /*! @name MAC_RX_OCTET_COUNT_GOOD - Bytes in Good Packets Received */
  35627. /*! @{ */
  35628. #define ENET_QOS_MAC_RX_OCTET_COUNT_GOOD_RXOCTG_MASK (0xFFFFFFFFU)
  35629. #define ENET_QOS_MAC_RX_OCTET_COUNT_GOOD_RXOCTG_SHIFT (0U)
  35630. /*! RXOCTG - Rx Octet Count Good This field indicates the number of bytes received, exclusive of preamble, only in good packets.
  35631. */
  35632. #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)
  35633. /*! @} */
  35634. /*! @name MAC_RX_BROADCAST_PACKETS_GOOD - Good Broadcast Packets Received */
  35635. /*! @{ */
  35636. #define ENET_QOS_MAC_RX_BROADCAST_PACKETS_GOOD_RXBCASTG_MASK (0xFFFFFFFFU)
  35637. #define ENET_QOS_MAC_RX_BROADCAST_PACKETS_GOOD_RXBCASTG_SHIFT (0U)
  35638. /*! RXBCASTG - Rx Broadcast Packets Good This field indicates the number of good broadcast packets received.
  35639. */
  35640. #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)
  35641. /*! @} */
  35642. /*! @name MAC_RX_MULTICAST_PACKETS_GOOD - Good Multicast Packets Received */
  35643. /*! @{ */
  35644. #define ENET_QOS_MAC_RX_MULTICAST_PACKETS_GOOD_RXMCASTG_MASK (0xFFFFFFFFU)
  35645. #define ENET_QOS_MAC_RX_MULTICAST_PACKETS_GOOD_RXMCASTG_SHIFT (0U)
  35646. /*! RXMCASTG - Rx Multicast Packets Good This field indicates the number of good multicast packets received.
  35647. */
  35648. #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)
  35649. /*! @} */
  35650. /*! @name MAC_RX_CRC_ERROR_PACKETS - CRC Error Packets Received */
  35651. /*! @{ */
  35652. #define ENET_QOS_MAC_RX_CRC_ERROR_PACKETS_RXCRCERR_MASK (0xFFFFFFFFU)
  35653. #define ENET_QOS_MAC_RX_CRC_ERROR_PACKETS_RXCRCERR_SHIFT (0U)
  35654. /*! RXCRCERR - Rx CRC Error Packets This field indicates the number of packets received with CRC error.
  35655. */
  35656. #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)
  35657. /*! @} */
  35658. /*! @name MAC_RX_ALIGNMENT_ERROR_PACKETS - Alignment Error Packets Received */
  35659. /*! @{ */
  35660. #define ENET_QOS_MAC_RX_ALIGNMENT_ERROR_PACKETS_RXALGNERR_MASK (0xFFFFFFFFU)
  35661. #define ENET_QOS_MAC_RX_ALIGNMENT_ERROR_PACKETS_RXALGNERR_SHIFT (0U)
  35662. /*! RXALGNERR - Rx Alignment Error Packets This field indicates the number of packets received with alignment (dribble) error.
  35663. */
  35664. #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)
  35665. /*! @} */
  35666. /*! @name MAC_RX_RUNT_ERROR_PACKETS - Runt Error Packets Received */
  35667. /*! @{ */
  35668. #define ENET_QOS_MAC_RX_RUNT_ERROR_PACKETS_RXRUNTERR_MASK (0xFFFFFFFFU)
  35669. #define ENET_QOS_MAC_RX_RUNT_ERROR_PACKETS_RXRUNTERR_SHIFT (0U)
  35670. /*! RXRUNTERR - Rx Runt Error Packets This field indicates the number of packets received with runt
  35671. * (length less than 64 bytes and CRC error) error.
  35672. */
  35673. #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)
  35674. /*! @} */
  35675. /*! @name MAC_RX_JABBER_ERROR_PACKETS - Jabber Error Packets Received */
  35676. /*! @{ */
  35677. #define ENET_QOS_MAC_RX_JABBER_ERROR_PACKETS_RXJABERR_MASK (0xFFFFFFFFU)
  35678. #define ENET_QOS_MAC_RX_JABBER_ERROR_PACKETS_RXJABERR_SHIFT (0U)
  35679. /*! RXJABERR - Rx Jabber Error Packets This field indicates the number of giant packets received
  35680. * with length (including CRC) greater than 1,518 bytes (1,522 bytes for VLAN tagged) and with CRC
  35681. * error.
  35682. */
  35683. #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)
  35684. /*! @} */
  35685. /*! @name MAC_RX_UNDERSIZE_PACKETS_GOOD - Good Undersize Packets Received */
  35686. /*! @{ */
  35687. #define ENET_QOS_MAC_RX_UNDERSIZE_PACKETS_GOOD_RXUNDERSZG_MASK (0xFFFFFFFFU)
  35688. #define ENET_QOS_MAC_RX_UNDERSIZE_PACKETS_GOOD_RXUNDERSZG_SHIFT (0U)
  35689. /*! RXUNDERSZG - Rx Undersize Packets Good This field indicates the number of packets received with
  35690. * length less than 64 bytes, without any errors.
  35691. */
  35692. #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)
  35693. /*! @} */
  35694. /*! @name MAC_RX_OVERSIZE_PACKETS_GOOD - Good Oversize Packets Received */
  35695. /*! @{ */
  35696. #define ENET_QOS_MAC_RX_OVERSIZE_PACKETS_GOOD_RXOVERSZG_MASK (0xFFFFFFFFU)
  35697. #define ENET_QOS_MAC_RX_OVERSIZE_PACKETS_GOOD_RXOVERSZG_SHIFT (0U)
  35698. /*! RXOVERSZG - Rx Oversize Packets Good This field indicates the number of packets received without
  35699. * errors, with length greater than the maxsize (1,518 bytes or 1,522 bytes for VLAN tagged
  35700. * packets; 2000 bytes if enabled in the S2KP bit of the MAC_CONFIGURATION register).
  35701. */
  35702. #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)
  35703. /*! @} */
  35704. /*! @name MAC_RX_64OCTETS_PACKETS_GOOD_BAD - Good and Bad 64-Byte Packets Received */
  35705. /*! @{ */
  35706. #define ENET_QOS_MAC_RX_64OCTETS_PACKETS_GOOD_BAD_RX64OCTGB_MASK (0xFFFFFFFFU)
  35707. #define ENET_QOS_MAC_RX_64OCTETS_PACKETS_GOOD_BAD_RX64OCTGB_SHIFT (0U)
  35708. /*! RX64OCTGB - Rx 64 Octets Packets Good Bad This field indicates the number of good and bad
  35709. * packets received with length 64 bytes, exclusive of the preamble.
  35710. */
  35711. #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)
  35712. /*! @} */
  35713. /*! @name MAC_RX_65TO127OCTETS_PACKETS_GOOD_BAD - Good and Bad 64-to-127 Byte Packets Received */
  35714. /*! @{ */
  35715. #define ENET_QOS_MAC_RX_65TO127OCTETS_PACKETS_GOOD_BAD_RX65_127OCTGB_MASK (0xFFFFFFFFU)
  35716. #define ENET_QOS_MAC_RX_65TO127OCTETS_PACKETS_GOOD_BAD_RX65_127OCTGB_SHIFT (0U)
  35717. /*! RX65_127OCTGB - Rx 65-127 Octets Packets Good Bad This field indicates the number of good and
  35718. * bad packets received with length between 65 and 127 (inclusive) bytes, exclusive of the preamble.
  35719. */
  35720. #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)
  35721. /*! @} */
  35722. /*! @name MAC_RX_128TO255OCTETS_PACKETS_GOOD_BAD - Good and Bad 128-to-255 Byte Packets Received */
  35723. /*! @{ */
  35724. #define ENET_QOS_MAC_RX_128TO255OCTETS_PACKETS_GOOD_BAD_RX128_255OCTGB_MASK (0xFFFFFFFFU)
  35725. #define ENET_QOS_MAC_RX_128TO255OCTETS_PACKETS_GOOD_BAD_RX128_255OCTGB_SHIFT (0U)
  35726. /*! RX128_255OCTGB - Rx 128-255 Octets Packets Good Bad This field indicates the number of good and
  35727. * bad packets received with length between 128 and 255 (inclusive) bytes, exclusive of the
  35728. * preamble.
  35729. */
  35730. #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)
  35731. /*! @} */
  35732. /*! @name MAC_RX_256TO511OCTETS_PACKETS_GOOD_BAD - Good and Bad 256-to-511 Byte Packets Received */
  35733. /*! @{ */
  35734. #define ENET_QOS_MAC_RX_256TO511OCTETS_PACKETS_GOOD_BAD_RX256_511OCTGB_MASK (0xFFFFFFFFU)
  35735. #define ENET_QOS_MAC_RX_256TO511OCTETS_PACKETS_GOOD_BAD_RX256_511OCTGB_SHIFT (0U)
  35736. /*! RX256_511OCTGB - Rx 256-511 Octets Packets Good Bad This field indicates the number of good and
  35737. * bad packets received with length between 256 and 511 (inclusive) bytes, exclusive of the
  35738. * preamble.
  35739. */
  35740. #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)
  35741. /*! @} */
  35742. /*! @name MAC_RX_512TO1023OCTETS_PACKETS_GOOD_BAD - Good and Bad 512-to-1023 Byte Packets Received */
  35743. /*! @{ */
  35744. #define ENET_QOS_MAC_RX_512TO1023OCTETS_PACKETS_GOOD_BAD_RX512_1023OCTGB_MASK (0xFFFFFFFFU)
  35745. #define ENET_QOS_MAC_RX_512TO1023OCTETS_PACKETS_GOOD_BAD_RX512_1023OCTGB_SHIFT (0U)
  35746. /*! RX512_1023OCTGB - RX 512-1023 Octets Packets Good Bad This field indicates the number of good
  35747. * and bad packets received with length between 512 and 1023 (inclusive) bytes, exclusive of the
  35748. * preamble.
  35749. */
  35750. #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)
  35751. /*! @} */
  35752. /*! @name MAC_RX_1024TOMAXOCTETS_PACKETS_GOOD_BAD - Good and Bad 1024-to-Max Byte Packets Received */
  35753. /*! @{ */
  35754. #define ENET_QOS_MAC_RX_1024TOMAXOCTETS_PACKETS_GOOD_BAD_RX1024_MAXOCTGB_MASK (0xFFFFFFFFU)
  35755. #define ENET_QOS_MAC_RX_1024TOMAXOCTETS_PACKETS_GOOD_BAD_RX1024_MAXOCTGB_SHIFT (0U)
  35756. /*! RX1024_MAXOCTGB - Rx 1024-Max Octets Good Bad This field indicates the number of good and bad
  35757. * packets received with length between 1024 and maxsize (inclusive) bytes, exclusive of the
  35758. * preamble.
  35759. */
  35760. #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)
  35761. /*! @} */
  35762. /*! @name MAC_RX_UNICAST_PACKETS_GOOD - Good Unicast Packets Received */
  35763. /*! @{ */
  35764. #define ENET_QOS_MAC_RX_UNICAST_PACKETS_GOOD_RXUCASTG_MASK (0xFFFFFFFFU)
  35765. #define ENET_QOS_MAC_RX_UNICAST_PACKETS_GOOD_RXUCASTG_SHIFT (0U)
  35766. /*! RXUCASTG - Rx Unicast Packets Good This field indicates the number of good unicast packets received.
  35767. */
  35768. #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)
  35769. /*! @} */
  35770. /*! @name MAC_RX_LENGTH_ERROR_PACKETS - Length Error Packets Received */
  35771. /*! @{ */
  35772. #define ENET_QOS_MAC_RX_LENGTH_ERROR_PACKETS_RXLENERR_MASK (0xFFFFFFFFU)
  35773. #define ENET_QOS_MAC_RX_LENGTH_ERROR_PACKETS_RXLENERR_SHIFT (0U)
  35774. /*! RXLENERR - Rx Length Error Packets This field indicates the number of packets received with
  35775. * length error (Length Type field not equal to packet size), for all packets with valid length field.
  35776. */
  35777. #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)
  35778. /*! @} */
  35779. /*! @name MAC_RX_OUT_OF_RANGE_TYPE_PACKETS - Out-of-range Type Packets Received */
  35780. /*! @{ */
  35781. #define ENET_QOS_MAC_RX_OUT_OF_RANGE_TYPE_PACKETS_RXOUTOFRNG_MASK (0xFFFFFFFFU)
  35782. #define ENET_QOS_MAC_RX_OUT_OF_RANGE_TYPE_PACKETS_RXOUTOFRNG_SHIFT (0U)
  35783. /*! RXOUTOFRNG - Rx Out of Range Type Packet This field indicates the number of packets received
  35784. * with length field not equal to the valid packet size (greater than 1,500 but less than 1,536).
  35785. */
  35786. #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)
  35787. /*! @} */
  35788. /*! @name MAC_RX_PAUSE_PACKETS - Pause Packets Received */
  35789. /*! @{ */
  35790. #define ENET_QOS_MAC_RX_PAUSE_PACKETS_RXPAUSEPKT_MASK (0xFFFFFFFFU)
  35791. #define ENET_QOS_MAC_RX_PAUSE_PACKETS_RXPAUSEPKT_SHIFT (0U)
  35792. /*! RXPAUSEPKT - Rx Pause Packets This field indicates the number of good and valid Pause packets received.
  35793. */
  35794. #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)
  35795. /*! @} */
  35796. /*! @name MAC_RX_FIFO_OVERFLOW_PACKETS - Missed Packets Due to FIFO Overflow */
  35797. /*! @{ */
  35798. #define ENET_QOS_MAC_RX_FIFO_OVERFLOW_PACKETS_RXFIFOOVFL_MASK (0xFFFFFFFFU)
  35799. #define ENET_QOS_MAC_RX_FIFO_OVERFLOW_PACKETS_RXFIFOOVFL_SHIFT (0U)
  35800. /*! RXFIFOOVFL - Rx FIFO Overflow Packets This field indicates the number of missed received packets because of FIFO overflow.
  35801. */
  35802. #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)
  35803. /*! @} */
  35804. /*! @name MAC_RX_VLAN_PACKETS_GOOD_BAD - Good and Bad VLAN Packets Received */
  35805. /*! @{ */
  35806. #define ENET_QOS_MAC_RX_VLAN_PACKETS_GOOD_BAD_RXVLANPKTGB_MASK (0xFFFFFFFFU)
  35807. #define ENET_QOS_MAC_RX_VLAN_PACKETS_GOOD_BAD_RXVLANPKTGB_SHIFT (0U)
  35808. /*! RXVLANPKTGB - Rx VLAN Packets Good Bad This field indicates the number of good and bad VLAN packets received.
  35809. */
  35810. #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)
  35811. /*! @} */
  35812. /*! @name MAC_RX_WATCHDOG_ERROR_PACKETS - Watchdog Error Packets Received */
  35813. /*! @{ */
  35814. #define ENET_QOS_MAC_RX_WATCHDOG_ERROR_PACKETS_RXWDGERR_MASK (0xFFFFFFFFU)
  35815. #define ENET_QOS_MAC_RX_WATCHDOG_ERROR_PACKETS_RXWDGERR_SHIFT (0U)
  35816. /*! RXWDGERR - Rx Watchdog Error Packets This field indicates the number of packets received with
  35817. * error because of watchdog timeout error (packets with a data load larger than 2,048 bytes (when
  35818. * JE and WD bits are reset in MAC_CONFIGURATION register), 10,240 bytes (when JE bit is set and
  35819. * WD bit is reset in MAC_CONFIGURATION register), 16,384 bytes (when WD bit is set in
  35820. * MAC_CONFIGURATION register) or the value programmed in the MAC_WATCHDOG_TIMEOUT register).
  35821. */
  35822. #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)
  35823. /*! @} */
  35824. /*! @name MAC_RX_RECEIVE_ERROR_PACKETS - Receive Error Packets Received */
  35825. /*! @{ */
  35826. #define ENET_QOS_MAC_RX_RECEIVE_ERROR_PACKETS_RXRCVERR_MASK (0xFFFFFFFFU)
  35827. #define ENET_QOS_MAC_RX_RECEIVE_ERROR_PACKETS_RXRCVERR_SHIFT (0U)
  35828. /*! RXRCVERR - Rx Receive Error Packets This field indicates the number of packets received with
  35829. * Receive error or Packet Extension error on the GMII or MII interface.
  35830. */
  35831. #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)
  35832. /*! @} */
  35833. /*! @name MAC_RX_CONTROL_PACKETS_GOOD - Good Control Packets Received */
  35834. /*! @{ */
  35835. #define ENET_QOS_MAC_RX_CONTROL_PACKETS_GOOD_RXCTRLG_MASK (0xFFFFFFFFU)
  35836. #define ENET_QOS_MAC_RX_CONTROL_PACKETS_GOOD_RXCTRLG_SHIFT (0U)
  35837. /*! RXCTRLG - Rx Control Packets Good This field indicates the number of good control packets received.
  35838. */
  35839. #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)
  35840. /*! @} */
  35841. /*! @name MAC_TX_LPI_USEC_CNTR - Microseconds Tx LPI Asserted */
  35842. /*! @{ */
  35843. #define ENET_QOS_MAC_TX_LPI_USEC_CNTR_TXLPIUSC_MASK (0xFFFFFFFFU)
  35844. #define ENET_QOS_MAC_TX_LPI_USEC_CNTR_TXLPIUSC_SHIFT (0U)
  35845. /*! TXLPIUSC - Tx LPI Microseconds Counter This field indicates the number of microseconds Tx LPI is asserted.
  35846. */
  35847. #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)
  35848. /*! @} */
  35849. /*! @name MAC_TX_LPI_TRAN_CNTR - Number of Times Tx LPI Asserted */
  35850. /*! @{ */
  35851. #define ENET_QOS_MAC_TX_LPI_TRAN_CNTR_TXLPITRC_MASK (0xFFFFFFFFU)
  35852. #define ENET_QOS_MAC_TX_LPI_TRAN_CNTR_TXLPITRC_SHIFT (0U)
  35853. /*! TXLPITRC - Tx LPI Transition counter This field indicates the number of times Tx LPI Entry has occurred.
  35854. */
  35855. #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)
  35856. /*! @} */
  35857. /*! @name MAC_RX_LPI_USEC_CNTR - Microseconds Rx LPI Sampled */
  35858. /*! @{ */
  35859. #define ENET_QOS_MAC_RX_LPI_USEC_CNTR_RXLPIUSC_MASK (0xFFFFFFFFU)
  35860. #define ENET_QOS_MAC_RX_LPI_USEC_CNTR_RXLPIUSC_SHIFT (0U)
  35861. /*! RXLPIUSC - Rx LPI Microseconds Counter This field indicates the number of microseconds Rx LPI is asserted.
  35862. */
  35863. #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)
  35864. /*! @} */
  35865. /*! @name MAC_RX_LPI_TRAN_CNTR - Number of Times Rx LPI Entered */
  35866. /*! @{ */
  35867. #define ENET_QOS_MAC_RX_LPI_TRAN_CNTR_RXLPITRC_MASK (0xFFFFFFFFU)
  35868. #define ENET_QOS_MAC_RX_LPI_TRAN_CNTR_RXLPITRC_SHIFT (0U)
  35869. /*! RXLPITRC - Rx LPI Transition counter This field indicates the number of times Rx LPI Entry has occurred.
  35870. */
  35871. #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)
  35872. /*! @} */
  35873. /*! @name MAC_MMC_IPC_RX_INTERRUPT_MASK - MMC IPC Receive Interrupt Mask */
  35874. /*! @{ */
  35875. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4GPIM_MASK (0x1U)
  35876. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4GPIM_SHIFT (0U)
  35877. /*! RXIPV4GPIM - MMC Receive IPV4 Good Packet Counter Interrupt Mask Setting this bit masks the
  35878. * interrupt when the rxipv4_gd_pkts counter reaches half of the maximum value or the maximum value.
  35879. * 0b0..MMC Receive IPV4 Good Packet Counter Interrupt Mask is disabled
  35880. * 0b1..MMC Receive IPV4 Good Packet Counter Interrupt Mask is enabled
  35881. */
  35882. #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)
  35883. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4HERPIM_MASK (0x2U)
  35884. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4HERPIM_SHIFT (1U)
  35885. /*! RXIPV4HERPIM - MMC Receive IPV4 Header Error Packet Counter Interrupt Mask Setting this bit
  35886. * masks the interrupt when the rxipv4_hdrerr_pkts counter reaches half of the maximum value or the
  35887. * maximum value.
  35888. * 0b0..MMC Receive IPV4 Header Error Packet Counter Interrupt Mask is disabled
  35889. * 0b1..MMC Receive IPV4 Header Error Packet Counter Interrupt Mask is enabled
  35890. */
  35891. #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)
  35892. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4NOPAYPIM_MASK (0x4U)
  35893. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4NOPAYPIM_SHIFT (2U)
  35894. /*! RXIPV4NOPAYPIM - MMC Receive IPV4 No Payload Packet Counter Interrupt Mask Setting this bit
  35895. * masks the interrupt when the rxipv4_nopay_pkts counter reaches half of the maximum value or the
  35896. * maximum value.
  35897. * 0b0..MMC Receive IPV4 No Payload Packet Counter Interrupt Mask is disabled
  35898. * 0b1..MMC Receive IPV4 No Payload Packet Counter Interrupt Mask is enabled
  35899. */
  35900. #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)
  35901. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4FRAGPIM_MASK (0x8U)
  35902. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4FRAGPIM_SHIFT (3U)
  35903. /*! RXIPV4FRAGPIM - MMC Receive IPV4 Fragmented Packet Counter Interrupt Mask Setting this bit masks
  35904. * the interrupt when the rxipv4_frag_pkts counter reaches half of the maximum value or the
  35905. * maximum value.
  35906. * 0b0..MMC Receive IPV4 Fragmented Packet Counter Interrupt Mask is disabled
  35907. * 0b1..MMC Receive IPV4 Fragmented Packet Counter Interrupt Mask is enabled
  35908. */
  35909. #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)
  35910. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4UDSBLPIM_MASK (0x10U)
  35911. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4UDSBLPIM_SHIFT (4U)
  35912. /*! RXIPV4UDSBLPIM - MMC Receive IPV4 UDP Checksum Disabled Packet Counter Interrupt Mask Setting
  35913. * this bit masks the interrupt when the rxipv4_udsbl_pkts counter reaches half of the maximum
  35914. * value or the maximum value.
  35915. * 0b0..MMC Receive IPV4 UDP Checksum Disabled Packet Counter Interrupt Mask is disabled
  35916. * 0b1..MMC Receive IPV4 UDP Checksum Disabled Packet Counter Interrupt Mask is enabled
  35917. */
  35918. #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)
  35919. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6GPIM_MASK (0x20U)
  35920. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6GPIM_SHIFT (5U)
  35921. /*! RXIPV6GPIM - MMC Receive IPV6 Good Packet Counter Interrupt Mask Setting this bit masks the
  35922. * interrupt when the rxipv6_gd_pkts counter reaches half of the maximum value or the maximum value.
  35923. * 0b0..MMC Receive IPV6 Good Packet Counter Interrupt Mask is disabled
  35924. * 0b1..MMC Receive IPV6 Good Packet Counter Interrupt Mask is enabled
  35925. */
  35926. #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)
  35927. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6HERPIM_MASK (0x40U)
  35928. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6HERPIM_SHIFT (6U)
  35929. /*! RXIPV6HERPIM - MMC Receive IPV6 Header Error Packet Counter Interrupt Mask Setting this bit
  35930. * masks the interrupt when the rxipv6_hdrerr_pkts counter reaches half of the maximum value or the
  35931. * maximum value.
  35932. * 0b0..MMC Receive IPV6 Header Error Packet Counter Interrupt Mask is disabled
  35933. * 0b1..MMC Receive IPV6 Header Error Packet Counter Interrupt Mask is enabled
  35934. */
  35935. #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)
  35936. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6NOPAYPIM_MASK (0x80U)
  35937. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6NOPAYPIM_SHIFT (7U)
  35938. /*! RXIPV6NOPAYPIM - MMC Receive IPV6 No Payload Packet Counter Interrupt Mask Setting this bit
  35939. * masks the interrupt when the rxipv6_nopay_pkts counter reaches half of the maximum value or the
  35940. * maximum value.
  35941. * 0b0..MMC Receive IPV6 No Payload Packet Counter Interrupt Mask is disabled
  35942. * 0b1..MMC Receive IPV6 No Payload Packet Counter Interrupt Mask is enabled
  35943. */
  35944. #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)
  35945. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPGPIM_MASK (0x100U)
  35946. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPGPIM_SHIFT (8U)
  35947. /*! RXUDPGPIM - MMC Receive UDP Good Packet Counter Interrupt Mask Setting this bit masks the
  35948. * interrupt when the rxudp_gd_pkts counter reaches half of the maximum value or the maximum value.
  35949. * 0b0..MMC Receive UDP Good Packet Counter Interrupt Mask is disabled
  35950. * 0b1..MMC Receive UDP Good Packet Counter Interrupt Mask is enabled
  35951. */
  35952. #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)
  35953. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPERPIM_MASK (0x200U)
  35954. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPERPIM_SHIFT (9U)
  35955. /*! RXUDPERPIM - MMC Receive UDP Error Packet Counter Interrupt Mask Setting this bit masks the
  35956. * interrupt when the rxudp_err_pkts counter reaches half of the maximum value or the maximum value.
  35957. * 0b0..MMC Receive UDP Error Packet Counter Interrupt Mask is disabled
  35958. * 0b1..MMC Receive UDP Error Packet Counter Interrupt Mask is enabled
  35959. */
  35960. #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)
  35961. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPGPIM_MASK (0x400U)
  35962. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPGPIM_SHIFT (10U)
  35963. /*! RXTCPGPIM - MMC Receive TCP Good Packet Counter Interrupt Mask Setting this bit masks the
  35964. * interrupt when the rxtcp_gd_pkts counter reaches half of the maximum value or the maximum value.
  35965. * 0b0..MMC Receive TCP Good Packet Counter Interrupt Mask is disabled
  35966. * 0b1..MMC Receive TCP Good Packet Counter Interrupt Mask is enabled
  35967. */
  35968. #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)
  35969. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPERPIM_MASK (0x800U)
  35970. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPERPIM_SHIFT (11U)
  35971. /*! RXTCPERPIM - MMC Receive TCP Error Packet Counter Interrupt Mask Setting this bit masks the
  35972. * interrupt when the rxtcp_err_pkts counter reaches half of the maximum value or the maximum value.
  35973. * 0b0..MMC Receive TCP Error Packet Counter Interrupt Mask is disabled
  35974. * 0b1..MMC Receive TCP Error Packet Counter Interrupt Mask is enabled
  35975. */
  35976. #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)
  35977. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPGPIM_MASK (0x1000U)
  35978. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPGPIM_SHIFT (12U)
  35979. /*! RXICMPGPIM - MMC Receive ICMP Good Packet Counter Interrupt Mask Setting this bit masks the
  35980. * interrupt when the rxicmp_gd_pkts counter reaches half of the maximum value or the maximum value.
  35981. * 0b0..MMC Receive ICMP Good Packet Counter Interrupt Mask is disabled
  35982. * 0b1..MMC Receive ICMP Good Packet Counter Interrupt Mask is enabled
  35983. */
  35984. #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)
  35985. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPERPIM_MASK (0x2000U)
  35986. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPERPIM_SHIFT (13U)
  35987. /*! RXICMPERPIM - MMC Receive ICMP Error Packet Counter Interrupt Mask Setting this bit masks the
  35988. * interrupt when the rxicmp_err_pkts counter reaches half of the maximum value or the maximum
  35989. * value.
  35990. * 0b0..MMC Receive ICMP Error Packet Counter Interrupt Mask is disabled
  35991. * 0b1..MMC Receive ICMP Error Packet Counter Interrupt Mask is enabled
  35992. */
  35993. #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)
  35994. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4GOIM_MASK (0x10000U)
  35995. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4GOIM_SHIFT (16U)
  35996. /*! RXIPV4GOIM - MMC Receive IPV4 Good Octet Counter Interrupt Mask Setting this bit masks the
  35997. * interrupt when the rxipv4_gd_octets counter reaches half of the maximum value or the maximum value.
  35998. * 0b0..MMC Receive IPV4 Good Octet Counter Interrupt Mask is disabled
  35999. * 0b1..MMC Receive IPV4 Good Octet Counter Interrupt Mask is enabled
  36000. */
  36001. #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)
  36002. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4HEROIM_MASK (0x20000U)
  36003. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4HEROIM_SHIFT (17U)
  36004. /*! RXIPV4HEROIM - MMC Receive IPV4 Header Error Octet Counter Interrupt Mask Setting this bit masks
  36005. * the interrupt when the rxipv4_hdrerr_octets counter reaches half of the maximum value or the
  36006. * maximum value.
  36007. * 0b0..MMC Receive IPV4 Header Error Octet Counter Interrupt Mask is disabled
  36008. * 0b1..MMC Receive IPV4 Header Error Octet Counter Interrupt Mask is enabled
  36009. */
  36010. #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)
  36011. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4NOPAYOIM_MASK (0x40000U)
  36012. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4NOPAYOIM_SHIFT (18U)
  36013. /*! RXIPV4NOPAYOIM - MMC Receive IPV4 No Payload Octet Counter Interrupt Mask Setting this bit masks
  36014. * the interrupt when the rxipv4_nopay_octets counter reaches half of the maximum value or the
  36015. * maximum value.
  36016. * 0b0..MMC Receive IPV4 No Payload Octet Counter Interrupt Mask is disabled
  36017. * 0b1..MMC Receive IPV4 No Payload Octet Counter Interrupt Mask is enabled
  36018. */
  36019. #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)
  36020. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4FRAGOIM_MASK (0x80000U)
  36021. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4FRAGOIM_SHIFT (19U)
  36022. /*! RXIPV4FRAGOIM - MMC Receive IPV4 Fragmented Octet Counter Interrupt Mask Setting this bit masks
  36023. * the interrupt when the rxipv4_frag_octets counter reaches half of the maximum value or the
  36024. * maximum value.
  36025. * 0b0..MMC Receive IPV4 Fragmented Octet Counter Interrupt Mask is disabled
  36026. * 0b1..MMC Receive IPV4 Fragmented Octet Counter Interrupt Mask is enabled
  36027. */
  36028. #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)
  36029. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4UDSBLOIM_MASK (0x100000U)
  36030. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4UDSBLOIM_SHIFT (20U)
  36031. /*! RXIPV4UDSBLOIM - MMC Receive IPV4 UDP Checksum Disabled Octet Counter Interrupt Mask Setting
  36032. * this bit masks the interrupt when the rxipv4_udsbl_octets counter reaches half of the maximum
  36033. * value or the maximum value.
  36034. * 0b0..MMC Receive IPV4 UDP Checksum Disabled Octet Counter Interrupt Mask is disabled
  36035. * 0b1..MMC Receive IPV4 UDP Checksum Disabled Octet Counter Interrupt Mask is enabled
  36036. */
  36037. #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)
  36038. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6GOIM_MASK (0x200000U)
  36039. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6GOIM_SHIFT (21U)
  36040. /*! RXIPV6GOIM - MMC Receive IPV6 Good Octet Counter Interrupt Mask Setting this bit masks the
  36041. * interrupt when the rxipv6_gd_octets counter reaches half of the maximum value or the maximum value.
  36042. * 0b0..MMC Receive IPV6 Good Octet Counter Interrupt Mask is disabled
  36043. * 0b1..MMC Receive IPV6 Good Octet Counter Interrupt Mask is enabled
  36044. */
  36045. #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)
  36046. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6HEROIM_MASK (0x400000U)
  36047. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6HEROIM_SHIFT (22U)
  36048. /*! RXIPV6HEROIM - MMC Receive IPV6 Good Octet Counter Interrupt Mask Setting this bit masks the
  36049. * interrupt when the rxipv6_hdrerr_octets counter reaches half of the maximum value or the maximum
  36050. * value.
  36051. * 0b0..MMC Receive IPV6 Good Octet Counter Interrupt Mask is disabled
  36052. * 0b1..MMC Receive IPV6 Good Octet Counter Interrupt Mask is enabled
  36053. */
  36054. #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)
  36055. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6NOPAYOIM_MASK (0x800000U)
  36056. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6NOPAYOIM_SHIFT (23U)
  36057. /*! RXIPV6NOPAYOIM - MMC Receive IPV6 Header Error Octet Counter Interrupt Mask Setting this bit
  36058. * masks the interrupt when the rxipv6_nopay_octets counter reaches half of the maximum value or the
  36059. * maximum value.
  36060. * 0b0..MMC Receive IPV6 Header Error Octet Counter Interrupt Mask is disabled
  36061. * 0b1..MMC Receive IPV6 Header Error Octet Counter Interrupt Mask is enabled
  36062. */
  36063. #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)
  36064. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPGOIM_MASK (0x1000000U)
  36065. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPGOIM_SHIFT (24U)
  36066. /*! RXUDPGOIM - MMC Receive IPV6 No Payload Octet Counter Interrupt Mask Setting this bit masks the
  36067. * interrupt when the rxudp_gd_octets counter reaches half of the maximum value or the maximum
  36068. * value.
  36069. * 0b0..MMC Receive IPV6 No Payload Octet Counter Interrupt Mask is disabled
  36070. * 0b1..MMC Receive IPV6 No Payload Octet Counter Interrupt Mask is enabled
  36071. */
  36072. #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)
  36073. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPEROIM_MASK (0x2000000U)
  36074. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPEROIM_SHIFT (25U)
  36075. /*! RXUDPEROIM - MMC Receive UDP Good Octet Counter Interrupt Mask Setting this bit masks the
  36076. * interrupt when the rxudp_err_octets counter reaches half of the maximum value or the maximum value.
  36077. * 0b0..MMC Receive UDP Good Octet Counter Interrupt Mask is disabled
  36078. * 0b1..MMC Receive UDP Good Octet Counter Interrupt Mask is enabled
  36079. */
  36080. #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)
  36081. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPGOIM_MASK (0x4000000U)
  36082. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPGOIM_SHIFT (26U)
  36083. /*! RXTCPGOIM - MMC Receive TCP Good Octet Counter Interrupt Mask Setting this bit masks the
  36084. * interrupt when the rxtcp_gd_octets counter reaches half of the maximum value or the maximum value.
  36085. * 0b0..MMC Receive TCP Good Octet Counter Interrupt Mask is disabled
  36086. * 0b1..MMC Receive TCP Good Octet Counter Interrupt Mask is enabled
  36087. */
  36088. #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)
  36089. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPEROIM_MASK (0x8000000U)
  36090. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPEROIM_SHIFT (27U)
  36091. /*! RXTCPEROIM - MMC Receive TCP Error Octet Counter Interrupt Mask Setting this bit masks the
  36092. * interrupt when the rxtcp_err_octets counter reaches half of the maximum value or the maximum value.
  36093. * 0b0..MMC Receive TCP Error Octet Counter Interrupt Mask is disabled
  36094. * 0b1..MMC Receive TCP Error Octet Counter Interrupt Mask is enabled
  36095. */
  36096. #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)
  36097. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPGOIM_MASK (0x10000000U)
  36098. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPGOIM_SHIFT (28U)
  36099. /*! RXICMPGOIM - MMC Receive ICMP Good Octet Counter Interrupt Mask Setting this bit masks the
  36100. * interrupt when the rxicmp_gd_octets counter reaches half of the maximum value or the maximum value.
  36101. * 0b0..MMC Receive ICMP Good Octet Counter Interrupt Mask is disabled
  36102. * 0b1..MMC Receive ICMP Good Octet Counter Interrupt Mask is enabled
  36103. */
  36104. #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)
  36105. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPEROIM_MASK (0x20000000U)
  36106. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPEROIM_SHIFT (29U)
  36107. /*! RXICMPEROIM - MMC Receive ICMP Error Octet Counter Interrupt Mask Setting this bit masks the
  36108. * interrupt when the rxicmp_err_octets counter reaches half of the maximum value or the maximum
  36109. * value.
  36110. * 0b0..MMC Receive ICMP Error Octet Counter Interrupt Mask is disabled
  36111. * 0b1..MMC Receive ICMP Error Octet Counter Interrupt Mask is enabled
  36112. */
  36113. #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)
  36114. /*! @} */
  36115. /*! @name MAC_MMC_IPC_RX_INTERRUPT - MMC IPC Receive Interrupt */
  36116. /*! @{ */
  36117. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4GPIS_MASK (0x1U)
  36118. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4GPIS_SHIFT (0U)
  36119. /*! RXIPV4GPIS - MMC Receive IPV4 Good Packet Counter Interrupt Status This bit is set when the
  36120. * rxipv4_gd_pkts counter reaches half of the maximum value or the maximum value.
  36121. * 0b1..MMC Receive IPV4 Good Packet Counter Interrupt Status detected
  36122. * 0b0..MMC Receive IPV4 Good Packet Counter Interrupt Status not detected
  36123. */
  36124. #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)
  36125. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4HERPIS_MASK (0x2U)
  36126. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4HERPIS_SHIFT (1U)
  36127. /*! RXIPV4HERPIS - MMC Receive IPV4 Header Error Packet Counter Interrupt Status This bit is set
  36128. * when the rxipv4_hdrerr_pkts counter reaches half of the maximum value or the maximum value.
  36129. * 0b1..MMC Receive IPV4 Header Error Packet Counter Interrupt Status detected
  36130. * 0b0..MMC Receive IPV4 Header Error Packet Counter Interrupt Status not detected
  36131. */
  36132. #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)
  36133. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4NOPAYPIS_MASK (0x4U)
  36134. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4NOPAYPIS_SHIFT (2U)
  36135. /*! RXIPV4NOPAYPIS - MMC Receive IPV4 No Payload Packet Counter Interrupt Status This bit is set
  36136. * when the rxipv4_nopay_pkts counter reaches half of the maximum value or the maximum value.
  36137. * 0b1..MMC Receive IPV4 No Payload Packet Counter Interrupt Status detected
  36138. * 0b0..MMC Receive IPV4 No Payload Packet Counter Interrupt Status not detected
  36139. */
  36140. #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)
  36141. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4FRAGPIS_MASK (0x8U)
  36142. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4FRAGPIS_SHIFT (3U)
  36143. /*! RXIPV4FRAGPIS - MMC Receive IPV4 Fragmented Packet Counter Interrupt Status This bit is set when
  36144. * the rxipv4_frag_pkts counter reaches half of the maximum value or the maximum value.
  36145. * 0b1..MMC Receive IPV4 Fragmented Packet Counter Interrupt Status detected
  36146. * 0b0..MMC Receive IPV4 Fragmented Packet Counter Interrupt Status not detected
  36147. */
  36148. #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)
  36149. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4UDSBLPIS_MASK (0x10U)
  36150. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4UDSBLPIS_SHIFT (4U)
  36151. /*! RXIPV4UDSBLPIS - MMC Receive IPV4 UDP Checksum Disabled Packet Counter Interrupt Status This bit
  36152. * is set when the rxipv4_udsbl_pkts counter reaches half of the maximum value or the maximum
  36153. * value.
  36154. * 0b1..MMC Receive IPV4 UDP Checksum Disabled Packet Counter Interrupt Status detected
  36155. * 0b0..MMC Receive IPV4 UDP Checksum Disabled Packet Counter Interrupt Status not detected
  36156. */
  36157. #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)
  36158. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6GPIS_MASK (0x20U)
  36159. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6GPIS_SHIFT (5U)
  36160. /*! RXIPV6GPIS - MMC Receive IPV6 Good Packet Counter Interrupt Status This bit is set when the
  36161. * rxipv6_gd_pkts counter reaches half of the maximum value or the maximum value.
  36162. * 0b1..MMC Receive IPV6 Good Packet Counter Interrupt Status detected
  36163. * 0b0..MMC Receive IPV6 Good Packet Counter Interrupt Status not detected
  36164. */
  36165. #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)
  36166. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6HERPIS_MASK (0x40U)
  36167. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6HERPIS_SHIFT (6U)
  36168. /*! RXIPV6HERPIS - MMC Receive IPV6 Header Error Packet Counter Interrupt Status This bit is set
  36169. * when the rxipv6_hdrerr_pkts counter reaches half of the maximum value or the maximum value.
  36170. * 0b1..MMC Receive IPV6 Header Error Packet Counter Interrupt Status detected
  36171. * 0b0..MMC Receive IPV6 Header Error Packet Counter Interrupt Status not detected
  36172. */
  36173. #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)
  36174. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6NOPAYPIS_MASK (0x80U)
  36175. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6NOPAYPIS_SHIFT (7U)
  36176. /*! RXIPV6NOPAYPIS - MMC Receive IPV6 No Payload Packet Counter Interrupt Status This bit is set
  36177. * when the rxipv6_nopay_pkts counter reaches half of the maximum value or the maximum value.
  36178. * 0b1..MMC Receive IPV6 No Payload Packet Counter Interrupt Status detected
  36179. * 0b0..MMC Receive IPV6 No Payload Packet Counter Interrupt Status not detected
  36180. */
  36181. #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)
  36182. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXUDPGPIS_MASK (0x100U)
  36183. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXUDPGPIS_SHIFT (8U)
  36184. /*! RXUDPGPIS - MC Receive UDP Good Packet Counter Interrupt Status This bit is set when the
  36185. * rxudp_gd_pkts counter reaches half of the maximum value or the maximum value.
  36186. * 0b1..MMC Receive UDP Good Packet Counter Interrupt Status detected
  36187. * 0b0..MMC Receive UDP Good Packet Counter Interrupt Status not detected
  36188. */
  36189. #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)
  36190. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXUDPERPIS_MASK (0x200U)
  36191. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXUDPERPIS_SHIFT (9U)
  36192. /*! RXUDPERPIS - MMC Receive UDP Error Packet Counter Interrupt Status This bit is set when the
  36193. * rxudp_err_pkts counter reaches half of the maximum value or the maximum value.
  36194. * 0b1..MMC Receive UDP Error Packet Counter Interrupt Status detected
  36195. * 0b0..MMC Receive UDP Error Packet Counter Interrupt Status not detected
  36196. */
  36197. #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)
  36198. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXTCPGPIS_MASK (0x400U)
  36199. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXTCPGPIS_SHIFT (10U)
  36200. /*! RXTCPGPIS - MMC Receive TCP Good Packet Counter Interrupt Status This bit is set when the
  36201. * rxtcp_gd_pkts counter reaches half of the maximum value or the maximum value.
  36202. * 0b1..MMC Receive TCP Good Packet Counter Interrupt Status detected
  36203. * 0b0..MMC Receive TCP Good Packet Counter Interrupt Status not detected
  36204. */
  36205. #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)
  36206. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXTCPERPIS_MASK (0x800U)
  36207. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXTCPERPIS_SHIFT (11U)
  36208. /*! RXTCPERPIS - MMC Receive TCP Error Packet Counter Interrupt Status This bit is set when the
  36209. * rxtcp_err_pkts counter reaches half of the maximum value or the maximum value.
  36210. * 0b1..MMC Receive TCP Error Packet Counter Interrupt Status detected
  36211. * 0b0..MMC Receive TCP Error Packet Counter Interrupt Status not detected
  36212. */
  36213. #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)
  36214. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXICMPGPIS_MASK (0x1000U)
  36215. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXICMPGPIS_SHIFT (12U)
  36216. /*! RXICMPGPIS - MMC Receive ICMP Good Packet Counter Interrupt Status This bit is set when the
  36217. * rxicmp_gd_pkts counter reaches half of the maximum value or the maximum value.
  36218. * 0b1..MMC Receive ICMP Good Packet Counter Interrupt Status detected
  36219. * 0b0..MMC Receive ICMP Good Packet Counter Interrupt Status not detected
  36220. */
  36221. #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)
  36222. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXICMPERPIS_MASK (0x2000U)
  36223. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXICMPERPIS_SHIFT (13U)
  36224. /*! RXICMPERPIS - MMC Receive ICMP Error Packet Counter Interrupt Status This bit is set when the
  36225. * rxicmp_err_pkts counter reaches half of the maximum value or the maximum value.
  36226. * 0b1..MMC Receive ICMP Error Packet Counter Interrupt Status detected
  36227. * 0b0..MMC Receive ICMP Error Packet Counter Interrupt Status not detected
  36228. */
  36229. #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)
  36230. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4GOIS_MASK (0x10000U)
  36231. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4GOIS_SHIFT (16U)
  36232. /*! RXIPV4GOIS - MMC Receive IPV4 Good Octet Counter Interrupt Status This bit is set when the
  36233. * rxipv4_gd_octets counter reaches half of the maximum value or the maximum value.
  36234. * 0b1..MMC Receive IPV4 Good Octet Counter Interrupt Status detected
  36235. * 0b0..MMC Receive IPV4 Good Octet Counter Interrupt Status not detected
  36236. */
  36237. #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)
  36238. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4HEROIS_MASK (0x20000U)
  36239. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4HEROIS_SHIFT (17U)
  36240. /*! RXIPV4HEROIS - MMC Receive IPV4 Header Error Octet Counter Interrupt Status This bit is set when
  36241. * the rxipv4_hdrerr_octets counter reaches half of the maximum value or the maximum value.
  36242. * 0b1..MMC Receive IPV4 Header Error Octet Counter Interrupt Status detected
  36243. * 0b0..MMC Receive IPV4 Header Error Octet Counter Interrupt Status not detected
  36244. */
  36245. #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)
  36246. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4NOPAYOIS_MASK (0x40000U)
  36247. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4NOPAYOIS_SHIFT (18U)
  36248. /*! RXIPV4NOPAYOIS - MMC Receive IPV4 No Payload Octet Counter Interrupt Status This bit is set when
  36249. * the rxipv4_nopay_octets counter reaches half of the maximum value or the maximum value.
  36250. * 0b1..MMC Receive IPV4 No Payload Octet Counter Interrupt Status detected
  36251. * 0b0..MMC Receive IPV4 No Payload Octet Counter Interrupt Status not detected
  36252. */
  36253. #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)
  36254. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4FRAGOIS_MASK (0x80000U)
  36255. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4FRAGOIS_SHIFT (19U)
  36256. /*! RXIPV4FRAGOIS - MMC Receive IPV4 Fragmented Octet Counter Interrupt Status This bit is set when
  36257. * the rxipv4_frag_octets counter reaches half of the maximum value or the maximum value.
  36258. * 0b1..MMC Receive IPV4 Fragmented Octet Counter Interrupt Status detected
  36259. * 0b0..MMC Receive IPV4 Fragmented Octet Counter Interrupt Status not detected
  36260. */
  36261. #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)
  36262. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4UDSBLOIS_MASK (0x100000U)
  36263. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4UDSBLOIS_SHIFT (20U)
  36264. /*! RXIPV4UDSBLOIS - MMC Receive IPV4 UDP Checksum Disabled Octet Counter Interrupt Status This bit
  36265. * is set when the rxipv4_udsbl_octets counter reaches half of the maximum value or the maximum
  36266. * value.
  36267. * 0b1..MMC Receive IPV4 UDP Checksum Disabled Octet Counter Interrupt Status detected
  36268. * 0b0..MMC Receive IPV4 UDP Checksum Disabled Octet Counter Interrupt Status not detected
  36269. */
  36270. #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)
  36271. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6GOIS_MASK (0x200000U)
  36272. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6GOIS_SHIFT (21U)
  36273. /*! RXIPV6GOIS - MMC Receive IPV6 Good Octet Counter Interrupt Status This bit is set when the
  36274. * rxipv6_gd_octets counter reaches half of the maximum value or the maximum value.
  36275. * 0b1..MMC Receive IPV6 Good Octet Counter Interrupt Status detected
  36276. * 0b0..MMC Receive IPV6 Good Octet Counter Interrupt Status not detected
  36277. */
  36278. #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)
  36279. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6HEROIS_MASK (0x400000U)
  36280. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6HEROIS_SHIFT (22U)
  36281. /*! RXIPV6HEROIS - MMC Receive IPV6 Header Error Octet Counter Interrupt Status This bit is set when
  36282. * the rxipv6_hdrerr_octets counter reaches half of the maximum value or the maximum value.
  36283. * 0b1..MMC Receive IPV6 Header Error Octet Counter Interrupt Status detected
  36284. * 0b0..MMC Receive IPV6 Header Error Octet Counter Interrupt Status not detected
  36285. */
  36286. #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)
  36287. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6NOPAYOIS_MASK (0x800000U)
  36288. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6NOPAYOIS_SHIFT (23U)
  36289. /*! RXIPV6NOPAYOIS - MMC Receive IPV6 No Payload Octet Counter Interrupt Status This bit is set when
  36290. * the rxipv6_nopay_octets counter reaches half of the maximum value or the maximum value.
  36291. * 0b1..MMC Receive IPV6 No Payload Octet Counter Interrupt Status detected
  36292. * 0b0..MMC Receive IPV6 No Payload Octet Counter Interrupt Status not detected
  36293. */
  36294. #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)
  36295. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXUDPGOIS_MASK (0x1000000U)
  36296. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXUDPGOIS_SHIFT (24U)
  36297. /*! RXUDPGOIS - MMC Receive UDP Good Octet Counter Interrupt Status This bit is set when the
  36298. * rxudp_gd_octets counter reaches half of the maximum value or the maximum value.
  36299. * 0b1..MMC Receive UDP Good Octet Counter Interrupt Status detected
  36300. * 0b0..MMC Receive UDP Good Octet Counter Interrupt Status not detected
  36301. */
  36302. #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)
  36303. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXUDPEROIS_MASK (0x2000000U)
  36304. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXUDPEROIS_SHIFT (25U)
  36305. /*! RXUDPEROIS - MMC Receive UDP Error Octet Counter Interrupt Status This bit is set when the
  36306. * rxudp_err_octets counter reaches half of the maximum value or the maximum value.
  36307. * 0b1..MMC Receive UDP Error Octet Counter Interrupt Status detected
  36308. * 0b0..MMC Receive UDP Error Octet Counter Interrupt Status not detected
  36309. */
  36310. #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)
  36311. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXTCPGOIS_MASK (0x4000000U)
  36312. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXTCPGOIS_SHIFT (26U)
  36313. /*! RXTCPGOIS - MMC Receive TCP Good Octet Counter Interrupt Status This bit is set when the
  36314. * rxtcp_gd_octets counter reaches half of the maximum value or the maximum value.
  36315. * 0b1..MMC Receive TCP Good Octet Counter Interrupt Status detected
  36316. * 0b0..MMC Receive TCP Good Octet Counter Interrupt Status not detected
  36317. */
  36318. #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)
  36319. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXTCPEROIS_MASK (0x8000000U)
  36320. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXTCPEROIS_SHIFT (27U)
  36321. /*! RXTCPEROIS - MMC Receive TCP Error Octet Counter Interrupt Status This bit is set when the
  36322. * rxtcp_err_octets counter reaches half of the maximum value or the maximum value.
  36323. * 0b1..MMC Receive TCP Error Octet Counter Interrupt Status detected
  36324. * 0b0..MMC Receive TCP Error Octet Counter Interrupt Status not detected
  36325. */
  36326. #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)
  36327. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXICMPGOIS_MASK (0x10000000U)
  36328. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXICMPGOIS_SHIFT (28U)
  36329. /*! RXICMPGOIS - MMC Receive ICMP Good Octet Counter Interrupt Status This bit is set when the
  36330. * rxicmp_gd_octets counter reaches half of the maximum value or the maximum value.
  36331. * 0b1..MMC Receive ICMP Good Octet Counter Interrupt Status detected
  36332. * 0b0..MMC Receive ICMP Good Octet Counter Interrupt Status not detected
  36333. */
  36334. #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)
  36335. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXICMPEROIS_MASK (0x20000000U)
  36336. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXICMPEROIS_SHIFT (29U)
  36337. /*! RXICMPEROIS - MMC Receive ICMP Error Octet Counter Interrupt Status This bit is set when the
  36338. * rxicmp_err_octets counter reaches half of the maximum value or the maximum value.
  36339. * 0b1..MMC Receive ICMP Error Octet Counter Interrupt Status detected
  36340. * 0b0..MMC Receive ICMP Error Octet Counter Interrupt Status not detected
  36341. */
  36342. #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)
  36343. /*! @} */
  36344. /*! @name MAC_RXIPV4_GOOD_PACKETS - Good IPv4 Datagrams Received */
  36345. /*! @{ */
  36346. #define ENET_QOS_MAC_RXIPV4_GOOD_PACKETS_RXIPV4GDPKT_MASK (0xFFFFFFFFU)
  36347. #define ENET_QOS_MAC_RXIPV4_GOOD_PACKETS_RXIPV4GDPKT_SHIFT (0U)
  36348. /*! RXIPV4GDPKT - RxIPv4 Good Packets This field indicates the number of good IPv4 datagrams received with the TCP, UDP, or ICMP payload.
  36349. */
  36350. #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)
  36351. /*! @} */
  36352. /*! @name MAC_RXIPV4_HEADER_ERROR_PACKETS - IPv4 Datagrams Received with Header Errors */
  36353. /*! @{ */
  36354. #define ENET_QOS_MAC_RXIPV4_HEADER_ERROR_PACKETS_RXIPV4HDRERRPKT_MASK (0xFFFFFFFFU)
  36355. #define ENET_QOS_MAC_RXIPV4_HEADER_ERROR_PACKETS_RXIPV4HDRERRPKT_SHIFT (0U)
  36356. /*! RXIPV4HDRERRPKT - RxIPv4 Header Error Packets This field indicates the number of IPv4 datagrams
  36357. * received with header (checksum, length, or version mismatch) errors.
  36358. */
  36359. #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)
  36360. /*! @} */
  36361. /*! @name MAC_RXIPV4_NO_PAYLOAD_PACKETS - IPv4 Datagrams Received with No Payload */
  36362. /*! @{ */
  36363. #define ENET_QOS_MAC_RXIPV4_NO_PAYLOAD_PACKETS_RXIPV4NOPAYPKT_MASK (0xFFFFFFFFU)
  36364. #define ENET_QOS_MAC_RXIPV4_NO_PAYLOAD_PACKETS_RXIPV4NOPAYPKT_SHIFT (0U)
  36365. /*! RXIPV4NOPAYPKT - RxIPv4 Payload Packets This field indicates the number of IPv4 datagram packets
  36366. * received that did not have a TCP, UDP, or ICMP payload.
  36367. */
  36368. #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)
  36369. /*! @} */
  36370. /*! @name MAC_RXIPV4_FRAGMENTED_PACKETS - IPv4 Datagrams Received with Fragmentation */
  36371. /*! @{ */
  36372. #define ENET_QOS_MAC_RXIPV4_FRAGMENTED_PACKETS_RXIPV4FRAGPKT_MASK (0xFFFFFFFFU)
  36373. #define ENET_QOS_MAC_RXIPV4_FRAGMENTED_PACKETS_RXIPV4FRAGPKT_SHIFT (0U)
  36374. /*! RXIPV4FRAGPKT - RxIPv4 Fragmented Packets This field indicates the number of good IPv4 datagrams received with fragmentation.
  36375. */
  36376. #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)
  36377. /*! @} */
  36378. /*! @name MAC_RXIPV4_UDP_CHECKSUM_DISABLED_PACKETS - IPv4 Datagrams Received with UDP Checksum Disabled */
  36379. /*! @{ */
  36380. #define ENET_QOS_MAC_RXIPV4_UDP_CHECKSUM_DISABLED_PACKETS_RXIPV4UDSBLPKT_MASK (0xFFFFFFFFU)
  36381. #define ENET_QOS_MAC_RXIPV4_UDP_CHECKSUM_DISABLED_PACKETS_RXIPV4UDSBLPKT_SHIFT (0U)
  36382. /*! RXIPV4UDSBLPKT - RxIPv4 UDP Checksum Disabled Packets This field indicates the number of good
  36383. * IPv4 datagrams received that had a UDP payload with checksum disabled.
  36384. */
  36385. #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)
  36386. /*! @} */
  36387. /*! @name MAC_RXIPV6_GOOD_PACKETS - Good IPv6 Datagrams Received */
  36388. /*! @{ */
  36389. #define ENET_QOS_MAC_RXIPV6_GOOD_PACKETS_RXIPV6GDPKT_MASK (0xFFFFFFFFU)
  36390. #define ENET_QOS_MAC_RXIPV6_GOOD_PACKETS_RXIPV6GDPKT_SHIFT (0U)
  36391. /*! RXIPV6GDPKT - RxIPv6 Good Packets This field indicates the number of good IPv6 datagrams received with the TCP, UDP, or ICMP payload.
  36392. */
  36393. #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)
  36394. /*! @} */
  36395. /*! @name MAC_RXIPV6_HEADER_ERROR_PACKETS - IPv6 Datagrams Received with Header Errors */
  36396. /*! @{ */
  36397. #define ENET_QOS_MAC_RXIPV6_HEADER_ERROR_PACKETS_RXIPV6HDRERRPKT_MASK (0xFFFFFFFFU)
  36398. #define ENET_QOS_MAC_RXIPV6_HEADER_ERROR_PACKETS_RXIPV6HDRERRPKT_SHIFT (0U)
  36399. /*! RXIPV6HDRERRPKT - RxIPv6 Header Error Packets This field indicates the number of IPv6 datagrams
  36400. * received with header (length or version mismatch) errors.
  36401. */
  36402. #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)
  36403. /*! @} */
  36404. /*! @name MAC_RXIPV6_NO_PAYLOAD_PACKETS - IPv6 Datagrams Received with No Payload */
  36405. /*! @{ */
  36406. #define ENET_QOS_MAC_RXIPV6_NO_PAYLOAD_PACKETS_RXIPV6NOPAYPKT_MASK (0xFFFFFFFFU)
  36407. #define ENET_QOS_MAC_RXIPV6_NO_PAYLOAD_PACKETS_RXIPV6NOPAYPKT_SHIFT (0U)
  36408. /*! RXIPV6NOPAYPKT - RxIPv6 Payload Packets This field indicates the number of IPv6 datagram packets
  36409. * received that did not have a TCP, UDP, or ICMP payload.
  36410. */
  36411. #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)
  36412. /*! @} */
  36413. /*! @name MAC_RXUDP_GOOD_PACKETS - IPv6 Datagrams Received with Good UDP */
  36414. /*! @{ */
  36415. #define ENET_QOS_MAC_RXUDP_GOOD_PACKETS_RXUDPGDPKT_MASK (0xFFFFFFFFU)
  36416. #define ENET_QOS_MAC_RXUDP_GOOD_PACKETS_RXUDPGDPKT_SHIFT (0U)
  36417. /*! RXUDPGDPKT - RxUDP Good Packets This field indicates the number of good IP datagrams received with a good UDP payload.
  36418. */
  36419. #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)
  36420. /*! @} */
  36421. /*! @name MAC_RXUDP_ERROR_PACKETS - IPv6 Datagrams Received with UDP Checksum Error */
  36422. /*! @{ */
  36423. #define ENET_QOS_MAC_RXUDP_ERROR_PACKETS_RXUDPERRPKT_MASK (0xFFFFFFFFU)
  36424. #define ENET_QOS_MAC_RXUDP_ERROR_PACKETS_RXUDPERRPKT_SHIFT (0U)
  36425. /*! RXUDPERRPKT - RxUDP Error Packets This field indicates the number of good IP datagrams received
  36426. * whose UDP payload has a checksum error.
  36427. */
  36428. #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)
  36429. /*! @} */
  36430. /*! @name MAC_RXTCP_GOOD_PACKETS - IPv6 Datagrams Received with Good TCP Payload */
  36431. /*! @{ */
  36432. #define ENET_QOS_MAC_RXTCP_GOOD_PACKETS_RXTCPGDPKT_MASK (0xFFFFFFFFU)
  36433. #define ENET_QOS_MAC_RXTCP_GOOD_PACKETS_RXTCPGDPKT_SHIFT (0U)
  36434. /*! RXTCPGDPKT - RxTCP Good Packets This field indicates the number of good IP datagrams received with a good TCP payload.
  36435. */
  36436. #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)
  36437. /*! @} */
  36438. /*! @name MAC_RXTCP_ERROR_PACKETS - IPv6 Datagrams Received with TCP Checksum Error */
  36439. /*! @{ */
  36440. #define ENET_QOS_MAC_RXTCP_ERROR_PACKETS_RXTCPERRPKT_MASK (0xFFFFFFFFU)
  36441. #define ENET_QOS_MAC_RXTCP_ERROR_PACKETS_RXTCPERRPKT_SHIFT (0U)
  36442. /*! RXTCPERRPKT - RxTCP Error Packets This field indicates the number of good IP datagrams received
  36443. * whose TCP payload has a checksum error.
  36444. */
  36445. #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)
  36446. /*! @} */
  36447. /*! @name MAC_RXICMP_GOOD_PACKETS - IPv6 Datagrams Received with Good ICMP Payload */
  36448. /*! @{ */
  36449. #define ENET_QOS_MAC_RXICMP_GOOD_PACKETS_RXICMPGDPKT_MASK (0xFFFFFFFFU)
  36450. #define ENET_QOS_MAC_RXICMP_GOOD_PACKETS_RXICMPGDPKT_SHIFT (0U)
  36451. /*! RXICMPGDPKT - RxICMP Good Packets This field indicates the number of good IP datagrams received with a good ICMP payload.
  36452. */
  36453. #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)
  36454. /*! @} */
  36455. /*! @name MAC_RXICMP_ERROR_PACKETS - IPv6 Datagrams Received with ICMP Checksum Error */
  36456. /*! @{ */
  36457. #define ENET_QOS_MAC_RXICMP_ERROR_PACKETS_RXICMPERRPKT_MASK (0xFFFFFFFFU)
  36458. #define ENET_QOS_MAC_RXICMP_ERROR_PACKETS_RXICMPERRPKT_SHIFT (0U)
  36459. /*! RXICMPERRPKT - RxICMP Error Packets This field indicates the number of good IP datagrams
  36460. * received whose ICMP payload has a checksum error.
  36461. */
  36462. #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)
  36463. /*! @} */
  36464. /*! @name MAC_RXIPV4_GOOD_OCTETS - Good Bytes Received in IPv4 Datagrams */
  36465. /*! @{ */
  36466. #define ENET_QOS_MAC_RXIPV4_GOOD_OCTETS_RXIPV4GDOCT_MASK (0xFFFFFFFFU)
  36467. #define ENET_QOS_MAC_RXIPV4_GOOD_OCTETS_RXIPV4GDOCT_SHIFT (0U)
  36468. /*! RXIPV4GDOCT - RxIPv4 Good Octets This field indicates the number of bytes received in good IPv4
  36469. * datagrams encapsulating TCP, UDP, or ICMP data.
  36470. */
  36471. #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)
  36472. /*! @} */
  36473. /*! @name MAC_RXIPV4_HEADER_ERROR_OCTETS - Bytes Received in IPv4 Datagrams with Header Errors */
  36474. /*! @{ */
  36475. #define ENET_QOS_MAC_RXIPV4_HEADER_ERROR_OCTETS_RXIPV4HDRERROCT_MASK (0xFFFFFFFFU)
  36476. #define ENET_QOS_MAC_RXIPV4_HEADER_ERROR_OCTETS_RXIPV4HDRERROCT_SHIFT (0U)
  36477. /*! RXIPV4HDRERROCT - RxIPv4 Header Error Octets This field indicates the number of bytes received
  36478. * in IPv4 datagrams with header errors (checksum, length, version mismatch).
  36479. */
  36480. #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)
  36481. /*! @} */
  36482. /*! @name MAC_RXIPV4_NO_PAYLOAD_OCTETS - Bytes Received in IPv4 Datagrams with No Payload */
  36483. /*! @{ */
  36484. #define ENET_QOS_MAC_RXIPV4_NO_PAYLOAD_OCTETS_RXIPV4NOPAYOCT_MASK (0xFFFFFFFFU)
  36485. #define ENET_QOS_MAC_RXIPV4_NO_PAYLOAD_OCTETS_RXIPV4NOPAYOCT_SHIFT (0U)
  36486. /*! RXIPV4NOPAYOCT - RxIPv4 Payload Octets This field indicates the number of bytes received in IPv4
  36487. * datagrams that did not have a TCP, UDP, or ICMP payload.
  36488. */
  36489. #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)
  36490. /*! @} */
  36491. /*! @name MAC_RXIPV4_FRAGMENTED_OCTETS - Bytes Received in Fragmented IPv4 Datagrams */
  36492. /*! @{ */
  36493. #define ENET_QOS_MAC_RXIPV4_FRAGMENTED_OCTETS_RXIPV4FRAGOCT_MASK (0xFFFFFFFFU)
  36494. #define ENET_QOS_MAC_RXIPV4_FRAGMENTED_OCTETS_RXIPV4FRAGOCT_SHIFT (0U)
  36495. /*! RXIPV4FRAGOCT - RxIPv4 Fragmented Octets This field indicates the number of bytes received in fragmented IPv4 datagrams.
  36496. */
  36497. #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)
  36498. /*! @} */
  36499. /*! @name MAC_RXIPV4_UDP_CHECKSUM_DISABLE_OCTETS - Bytes Received with UDP Checksum Disabled */
  36500. /*! @{ */
  36501. #define ENET_QOS_MAC_RXIPV4_UDP_CHECKSUM_DISABLE_OCTETS_RXIPV4UDSBLOCT_MASK (0xFFFFFFFFU)
  36502. #define ENET_QOS_MAC_RXIPV4_UDP_CHECKSUM_DISABLE_OCTETS_RXIPV4UDSBLOCT_SHIFT (0U)
  36503. /*! RXIPV4UDSBLOCT - RxIPv4 UDP Checksum Disable Octets This field indicates the number of bytes
  36504. * received in a UDP segment that had the UDP checksum disabled.
  36505. */
  36506. #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)
  36507. /*! @} */
  36508. /*! @name MAC_RXIPV6_GOOD_OCTETS - Bytes Received in Good IPv6 Datagrams */
  36509. /*! @{ */
  36510. #define ENET_QOS_MAC_RXIPV6_GOOD_OCTETS_RXIPV6GDOCT_MASK (0xFFFFFFFFU)
  36511. #define ENET_QOS_MAC_RXIPV6_GOOD_OCTETS_RXIPV6GDOCT_SHIFT (0U)
  36512. /*! RXIPV6GDOCT - RxIPv6 Good Octets This field indicates the number of bytes received in good IPv6
  36513. * datagrams encapsulating TCP, UDP, or ICMP data.
  36514. */
  36515. #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)
  36516. /*! @} */
  36517. /*! @name MAC_RXIPV6_HEADER_ERROR_OCTETS - Bytes Received in IPv6 Datagrams with Data Errors */
  36518. /*! @{ */
  36519. #define ENET_QOS_MAC_RXIPV6_HEADER_ERROR_OCTETS_RXIPV6HDRERROCT_MASK (0xFFFFFFFFU)
  36520. #define ENET_QOS_MAC_RXIPV6_HEADER_ERROR_OCTETS_RXIPV6HDRERROCT_SHIFT (0U)
  36521. /*! RXIPV6HDRERROCT - RxIPv6 Header Error Octets This field indicates the number of bytes received
  36522. * in IPv6 datagrams with header errors (length, version mismatch).
  36523. */
  36524. #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)
  36525. /*! @} */
  36526. /*! @name MAC_RXIPV6_NO_PAYLOAD_OCTETS - Bytes Received in IPv6 Datagrams with No Payload */
  36527. /*! @{ */
  36528. #define ENET_QOS_MAC_RXIPV6_NO_PAYLOAD_OCTETS_RXIPV6NOPAYOCT_MASK (0xFFFFFFFFU)
  36529. #define ENET_QOS_MAC_RXIPV6_NO_PAYLOAD_OCTETS_RXIPV6NOPAYOCT_SHIFT (0U)
  36530. /*! RXIPV6NOPAYOCT - RxIPv6 Payload Octets This field indicates the number of bytes received in IPv6
  36531. * datagrams that did not have a TCP, UDP, or ICMP payload.
  36532. */
  36533. #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)
  36534. /*! @} */
  36535. /*! @name MAC_RXUDP_GOOD_OCTETS - Bytes Received in Good UDP Segment */
  36536. /*! @{ */
  36537. #define ENET_QOS_MAC_RXUDP_GOOD_OCTETS_RXUDPGDOCT_MASK (0xFFFFFFFFU)
  36538. #define ENET_QOS_MAC_RXUDP_GOOD_OCTETS_RXUDPGDOCT_SHIFT (0U)
  36539. /*! RXUDPGDOCT - RxUDP Good Octets This field indicates the number of bytes received in a good UDP segment.
  36540. */
  36541. #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)
  36542. /*! @} */
  36543. /*! @name MAC_RXUDP_ERROR_OCTETS - Bytes Received in UDP Segment with Checksum Errors */
  36544. /*! @{ */
  36545. #define ENET_QOS_MAC_RXUDP_ERROR_OCTETS_RXUDPERROCT_MASK (0xFFFFFFFFU)
  36546. #define ENET_QOS_MAC_RXUDP_ERROR_OCTETS_RXUDPERROCT_SHIFT (0U)
  36547. /*! RXUDPERROCT - RxUDP Error Octets This field indicates the number of bytes received in a UDP segment that had checksum errors.
  36548. */
  36549. #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)
  36550. /*! @} */
  36551. /*! @name MAC_RXTCP_GOOD_OCTETS - Bytes Received in Good TCP Segment */
  36552. /*! @{ */
  36553. #define ENET_QOS_MAC_RXTCP_GOOD_OCTETS_RXTCPGDOCT_MASK (0xFFFFFFFFU)
  36554. #define ENET_QOS_MAC_RXTCP_GOOD_OCTETS_RXTCPGDOCT_SHIFT (0U)
  36555. /*! RXTCPGDOCT - RxTCP Good Octets This field indicates the number of bytes received in a good TCP segment.
  36556. */
  36557. #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)
  36558. /*! @} */
  36559. /*! @name MAC_RXTCP_ERROR_OCTETS - Bytes Received in TCP Segment with Checksum Errors */
  36560. /*! @{ */
  36561. #define ENET_QOS_MAC_RXTCP_ERROR_OCTETS_RXTCPERROCT_MASK (0xFFFFFFFFU)
  36562. #define ENET_QOS_MAC_RXTCP_ERROR_OCTETS_RXTCPERROCT_SHIFT (0U)
  36563. /*! RXTCPERROCT - RxTCP Error Octets This field indicates the number of bytes received in a TCP segment that had checksum errors.
  36564. */
  36565. #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)
  36566. /*! @} */
  36567. /*! @name MAC_RXICMP_GOOD_OCTETS - Bytes Received in Good ICMP Segment */
  36568. /*! @{ */
  36569. #define ENET_QOS_MAC_RXICMP_GOOD_OCTETS_RXICMPGDOCT_MASK (0xFFFFFFFFU)
  36570. #define ENET_QOS_MAC_RXICMP_GOOD_OCTETS_RXICMPGDOCT_SHIFT (0U)
  36571. /*! RXICMPGDOCT - RxICMP Good Octets This field indicates the number of bytes received in a good ICMP segment.
  36572. */
  36573. #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)
  36574. /*! @} */
  36575. /*! @name MAC_RXICMP_ERROR_OCTETS - Bytes Received in ICMP Segment with Checksum Errors */
  36576. /*! @{ */
  36577. #define ENET_QOS_MAC_RXICMP_ERROR_OCTETS_RXICMPERROCT_MASK (0xFFFFFFFFU)
  36578. #define ENET_QOS_MAC_RXICMP_ERROR_OCTETS_RXICMPERROCT_SHIFT (0U)
  36579. /*! RXICMPERROCT - RxICMP Error Octets This field indicates the number of bytes received in a ICMP segment that had checksum errors.
  36580. */
  36581. #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)
  36582. /*! @} */
  36583. /*! @name MAC_MMC_FPE_TX_INTERRUPT - MMC FPE Transmit Interrupt */
  36584. /*! @{ */
  36585. #define ENET_QOS_MAC_MMC_FPE_TX_INTERRUPT_FCIS_MASK (0x1U)
  36586. #define ENET_QOS_MAC_MMC_FPE_TX_INTERRUPT_FCIS_SHIFT (0U)
  36587. /*! FCIS - MMC Tx FPE Fragment Counter Interrupt status This bit is set when the
  36588. * Tx_FPE_Fragment_Cntr counter reaches half of the maximum value or the maximum value.
  36589. * 0b1..MMC Tx FPE Fragment Counter Interrupt status detected
  36590. * 0b0..MMC Tx FPE Fragment Counter Interrupt status not detected
  36591. */
  36592. #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)
  36593. #define ENET_QOS_MAC_MMC_FPE_TX_INTERRUPT_HRCIS_MASK (0x2U)
  36594. #define ENET_QOS_MAC_MMC_FPE_TX_INTERRUPT_HRCIS_SHIFT (1U)
  36595. /*! HRCIS - MMC Tx Hold Request Counter Interrupt Status This bit is set when the Tx_Hold_Req_Cntr
  36596. * counter reaches half of the maximum value or the maximum value.
  36597. * 0b1..MMC Tx Hold Request Counter Interrupt Status detected
  36598. * 0b0..MMC Tx Hold Request Counter Interrupt Status not detected
  36599. */
  36600. #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)
  36601. /*! @} */
  36602. /*! @name MAC_MMC_FPE_TX_INTERRUPT_MASK - MMC FPE Transmit Mask Interrupt */
  36603. /*! @{ */
  36604. #define ENET_QOS_MAC_MMC_FPE_TX_INTERRUPT_MASK_FCIM_MASK (0x1U)
  36605. #define ENET_QOS_MAC_MMC_FPE_TX_INTERRUPT_MASK_FCIM_SHIFT (0U)
  36606. /*! FCIM - MMC Transmit Fragment Counter Interrupt Mask Setting this bit masks the interrupt when
  36607. * the Tx_FPE_Fragment_Cntr counter reaches half of the maximum value or the maximum value.
  36608. * 0b0..MMC Transmit Fragment Counter Interrupt Mask is disabled
  36609. * 0b1..MMC Transmit Fragment Counter Interrupt Mask is enabled
  36610. */
  36611. #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)
  36612. #define ENET_QOS_MAC_MMC_FPE_TX_INTERRUPT_MASK_HRCIM_MASK (0x2U)
  36613. #define ENET_QOS_MAC_MMC_FPE_TX_INTERRUPT_MASK_HRCIM_SHIFT (1U)
  36614. /*! HRCIM - MMC Transmit Hold Request Counter Interrupt Mask Setting this bit masks the interrupt
  36615. * when the Tx_Hold_Req_Cntr counter reaches half of the maximum value or the maximum value.
  36616. * 0b0..MMC Transmit Hold Request Counter Interrupt Mask is disabled
  36617. * 0b1..MMC Transmit Hold Request Counter Interrupt Mask is enabled
  36618. */
  36619. #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)
  36620. /*! @} */
  36621. /*! @name MAC_MMC_TX_FPE_FRAGMENT_CNTR - MMC FPE Transmitted Fragment Counter */
  36622. /*! @{ */
  36623. #define ENET_QOS_MAC_MMC_TX_FPE_FRAGMENT_CNTR_TXFFC_MASK (0xFFFFFFFFU)
  36624. #define ENET_QOS_MAC_MMC_TX_FPE_FRAGMENT_CNTR_TXFFC_SHIFT (0U)
  36625. /*! TXFFC - Tx FPE Fragment counter This field indicates the number of additional mPackets that has
  36626. * been transmitted due to preemption Exists when any one of the RX/TX MMC counters are enabled
  36627. * during FPE Enabled configuration.
  36628. */
  36629. #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)
  36630. /*! @} */
  36631. /*! @name MAC_MMC_TX_HOLD_REQ_CNTR - MMC FPE Transmitted Hold Request Counter */
  36632. /*! @{ */
  36633. #define ENET_QOS_MAC_MMC_TX_HOLD_REQ_CNTR_TXHRC_MASK (0xFFFFFFFFU)
  36634. #define ENET_QOS_MAC_MMC_TX_HOLD_REQ_CNTR_TXHRC_SHIFT (0U)
  36635. /*! TXHRC - Tx Hold Request Counter This field indicates count of number of a hold request is given to MAC.
  36636. */
  36637. #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)
  36638. /*! @} */
  36639. /*! @name MAC_MMC_FPE_RX_INTERRUPT - MMC FPE Receive Interrupt */
  36640. /*! @{ */
  36641. #define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_PAECIS_MASK (0x1U)
  36642. #define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_PAECIS_SHIFT (0U)
  36643. /*! PAECIS - MMC Rx Packet Assembly Error Counter Interrupt Status This bit is set when the
  36644. * Rx_Packet_Assemble_Err_Cntr counter reaches half of the maximum value or the maximum value.
  36645. * 0b1..MMC Rx Packet Assembly Error Counter Interrupt Status detected
  36646. * 0b0..MMC Rx Packet Assembly Error Counter Interrupt Status not detected
  36647. */
  36648. #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)
  36649. #define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_PSECIS_MASK (0x2U)
  36650. #define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_PSECIS_SHIFT (1U)
  36651. /*! PSECIS - MMC Rx Packet SMD Error Counter Interrupt Status This bit is set when the
  36652. * Rx_Packet_SMD_Err_Cntr counter reaches half of the maximum value or the maximum value.
  36653. * 0b1..MMC Rx Packet SMD Error Counter Interrupt Status detected
  36654. * 0b0..MMC Rx Packet SMD Error Counter Interrupt Status not detected
  36655. */
  36656. #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)
  36657. #define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_PAOCIS_MASK (0x4U)
  36658. #define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_PAOCIS_SHIFT (2U)
  36659. /*! PAOCIS - MMC Rx Packet Assembly OK Counter Interrupt Status This bit is set when the
  36660. * Rx_Packet_Assemble_Ok_Cntr counter reaches half of the maximum value or the maximum value.
  36661. * 0b1..MMC Rx Packet Assembly OK Counter Interrupt Status detected
  36662. * 0b0..MMC Rx Packet Assembly OK Counter Interrupt Status not detected
  36663. */
  36664. #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)
  36665. #define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_FCIS_MASK (0x8U)
  36666. #define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_FCIS_SHIFT (3U)
  36667. /*! FCIS - MMC Rx FPE Fragment Counter Interrupt Status This bit is set when the
  36668. * Rx_FPE_Fragment_Cntr counter reaches half of the maximum value or the maximum value.
  36669. * 0b1..MMC Rx FPE Fragment Counter Interrupt Status detected
  36670. * 0b0..MMC Rx FPE Fragment Counter Interrupt Status not detected
  36671. */
  36672. #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)
  36673. /*! @} */
  36674. /*! @name MAC_MMC_FPE_RX_INTERRUPT_MASK - MMC FPE Receive Interrupt Mask */
  36675. /*! @{ */
  36676. #define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_MASK_PAECIM_MASK (0x1U)
  36677. #define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_MASK_PAECIM_SHIFT (0U)
  36678. /*! PAECIM - MMC Rx Packet Assembly Error Counter Interrupt Mask Setting this bit masks the
  36679. * interrupt when the R Rx_Packet_Assemble_Err_Cntr counter reaches half of the maximum value or the
  36680. * maximum value.
  36681. * 0b0..MMC Rx Packet Assembly Error Counter Interrupt Mask is disabled
  36682. * 0b1..MMC Rx Packet Assembly Error Counter Interrupt Mask is enabled
  36683. */
  36684. #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)
  36685. #define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_MASK_PSECIM_MASK (0x2U)
  36686. #define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_MASK_PSECIM_SHIFT (1U)
  36687. /*! PSECIM - MMC Rx Packet SMD Error Counter Interrupt Mask Setting this bit masks the interrupt
  36688. * when the R Rx_Packet_SMD_Err_Cntr counter reaches half of the maximum value or the maximum value.
  36689. * 0b0..MMC Rx Packet SMD Error Counter Interrupt Mask is disabled
  36690. * 0b1..MMC Rx Packet SMD Error Counter Interrupt Mask is enabled
  36691. */
  36692. #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)
  36693. #define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_MASK_PAOCIM_MASK (0x4U)
  36694. #define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_MASK_PAOCIM_SHIFT (2U)
  36695. /*! PAOCIM - MMC Rx Packet Assembly OK Counter Interrupt Mask Setting this bit masks the interrupt
  36696. * when the Rx_Packet_Assemble_Ok_Cntr counter reaches half of the maximum value or the maximum
  36697. * value.
  36698. * 0b0..MMC Rx Packet Assembly OK Counter Interrupt Mask is disabled
  36699. * 0b1..MMC Rx Packet Assembly OK Counter Interrupt Mask is enabled
  36700. */
  36701. #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)
  36702. #define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_MASK_FCIM_MASK (0x8U)
  36703. #define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_MASK_FCIM_SHIFT (3U)
  36704. /*! FCIM - MMC Rx FPE Fragment Counter Interrupt Mask Setting this bit masks the interrupt when the
  36705. * Tx_FPE_Fragment_Cntr counter reaches half of the maximum value or the maximum value.
  36706. * 0b0..MMC Rx FPE Fragment Counter Interrupt Mask is disabled
  36707. * 0b1..MMC Rx FPE Fragment Counter Interrupt Mask is enabled
  36708. */
  36709. #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)
  36710. /*! @} */
  36711. /*! @name MAC_MMC_RX_PACKET_ASSEMBLY_ERR_CNTR - MMC Receive Packet Reassembly Error Counter */
  36712. /*! @{ */
  36713. #define ENET_QOS_MAC_MMC_RX_PACKET_ASSEMBLY_ERR_CNTR_PAEC_MASK (0xFFFFFFFFU)
  36714. #define ENET_QOS_MAC_MMC_RX_PACKET_ASSEMBLY_ERR_CNTR_PAEC_SHIFT (0U)
  36715. /*! PAEC - Rx Packet Assembly Error Counter This field indicates the number of MAC frames with
  36716. * reassembly errors on the Receiver, due to mismatch in the Fragment Count value.
  36717. */
  36718. #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)
  36719. /*! @} */
  36720. /*! @name MAC_MMC_RX_PACKET_SMD_ERR_CNTR - MMC Receive Packet SMD Error Counter */
  36721. /*! @{ */
  36722. #define ENET_QOS_MAC_MMC_RX_PACKET_SMD_ERR_CNTR_PSEC_MASK (0xFFFFFFFFU)
  36723. #define ENET_QOS_MAC_MMC_RX_PACKET_SMD_ERR_CNTR_PSEC_SHIFT (0U)
  36724. /*! PSEC - Rx Packet SMD Error Counter This field indicates the number of MAC frames rejected due to
  36725. * unknown SMD value and MAC frame fragments rejected due to arriving with an SMD-C when there
  36726. * was no preceding preempted frame.
  36727. */
  36728. #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)
  36729. /*! @} */
  36730. /*! @name MAC_MMC_RX_PACKET_ASSEMBLY_OK_CNTR - MMC Receive Packet Successful Reassembly Counter */
  36731. /*! @{ */
  36732. #define ENET_QOS_MAC_MMC_RX_PACKET_ASSEMBLY_OK_CNTR_PAOC_MASK (0xFFFFFFFFU)
  36733. #define ENET_QOS_MAC_MMC_RX_PACKET_ASSEMBLY_OK_CNTR_PAOC_SHIFT (0U)
  36734. /*! PAOC - Rx Packet Assembly OK Counter This field indicates the number of MAC frames that were
  36735. * successfully reassembled and delivered to MAC.
  36736. */
  36737. #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)
  36738. /*! @} */
  36739. /*! @name MAC_MMC_RX_FPE_FRAGMENT_CNTR - MMC FPE Received Fragment Counter */
  36740. /*! @{ */
  36741. #define ENET_QOS_MAC_MMC_RX_FPE_FRAGMENT_CNTR_FFC_MASK (0xFFFFFFFFU)
  36742. #define ENET_QOS_MAC_MMC_RX_FPE_FRAGMENT_CNTR_FFC_SHIFT (0U)
  36743. /*! FFC - Rx FPE Fragment Counter This field indicates the number of additional mPackets received
  36744. * due to preemption Exists when at least one of the RX/TX MMC counters are enabled during FPE
  36745. * Enabled configuration.
  36746. */
  36747. #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)
  36748. /*! @} */
  36749. /*! @name MAC_L3_L4_CONTROL0 - Layer 3 and Layer 4 Control of Filter 0 */
  36750. /*! @{ */
  36751. #define ENET_QOS_MAC_L3_L4_CONTROL0_L3PEN0_MASK (0x1U)
  36752. #define ENET_QOS_MAC_L3_L4_CONTROL0_L3PEN0_SHIFT (0U)
  36753. /*! L3PEN0 - Layer 3 Protocol Enable When this bit is set, the Layer 3 IP Source or Destination
  36754. * Address matching is enabled for IPv6 packets.
  36755. * 0b0..Layer 3 Protocol is disabled
  36756. * 0b1..Layer 3 Protocol is enabled
  36757. */
  36758. #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)
  36759. #define ENET_QOS_MAC_L3_L4_CONTROL0_L3SAM0_MASK (0x4U)
  36760. #define ENET_QOS_MAC_L3_L4_CONTROL0_L3SAM0_SHIFT (2U)
  36761. /*! L3SAM0 - Layer 3 IP SA Match Enable When this bit is set, the Layer 3 IP Source Address field is enabled for matching.
  36762. * 0b0..Layer 3 IP SA Match is disabled
  36763. * 0b1..Layer 3 IP SA Match is enabled
  36764. */
  36765. #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)
  36766. #define ENET_QOS_MAC_L3_L4_CONTROL0_L3SAIM0_MASK (0x8U)
  36767. #define ENET_QOS_MAC_L3_L4_CONTROL0_L3SAIM0_SHIFT (3U)
  36768. /*! L3SAIM0 - Layer 3 IP SA Inverse Match Enable When this bit is set, the Layer 3 IP Source Address
  36769. * field is enabled for inverse matching.
  36770. * 0b0..Layer 3 IP SA Inverse Match is disabled
  36771. * 0b1..Layer 3 IP SA Inverse Match is enabled
  36772. */
  36773. #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)
  36774. #define ENET_QOS_MAC_L3_L4_CONTROL0_L3DAM0_MASK (0x10U)
  36775. #define ENET_QOS_MAC_L3_L4_CONTROL0_L3DAM0_SHIFT (4U)
  36776. /*! L3DAM0 - Layer 3 IP DA Match Enable When this bit is set, the Layer 3 IP Destination Address field is enabled for matching.
  36777. * 0b0..Layer 3 IP DA Match is disabled
  36778. * 0b1..Layer 3 IP DA Match is enabled
  36779. */
  36780. #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)
  36781. #define ENET_QOS_MAC_L3_L4_CONTROL0_L3DAIM0_MASK (0x20U)
  36782. #define ENET_QOS_MAC_L3_L4_CONTROL0_L3DAIM0_SHIFT (5U)
  36783. /*! L3DAIM0 - Layer 3 IP DA Inverse Match Enable When this bit is set, the Layer 3 IP Destination
  36784. * Address field is enabled for inverse matching.
  36785. * 0b0..Layer 3 IP DA Inverse Match is disabled
  36786. * 0b1..Layer 3 IP DA Inverse Match is enabled
  36787. */
  36788. #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)
  36789. #define ENET_QOS_MAC_L3_L4_CONTROL0_L3HSBM0_MASK (0x7C0U)
  36790. #define ENET_QOS_MAC_L3_L4_CONTROL0_L3HSBM0_SHIFT (6U)
  36791. /*! L3HSBM0 - Layer 3 IP SA Higher Bits Match IPv4 Packets: This field contains the number of lower
  36792. * bits of IP Source Address that are masked for matching in the IPv4 packets.
  36793. */
  36794. #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)
  36795. #define ENET_QOS_MAC_L3_L4_CONTROL0_L3HDBM0_MASK (0xF800U)
  36796. #define ENET_QOS_MAC_L3_L4_CONTROL0_L3HDBM0_SHIFT (11U)
  36797. /*! L3HDBM0 - Layer 3 IP DA Higher Bits Match IPv4 Packets: This field contains the number of higher
  36798. * bits of IP Destination Address that are matched in the IPv4 packets.
  36799. */
  36800. #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)
  36801. #define ENET_QOS_MAC_L3_L4_CONTROL0_L4PEN0_MASK (0x10000U)
  36802. #define ENET_QOS_MAC_L3_L4_CONTROL0_L4PEN0_SHIFT (16U)
  36803. /*! L4PEN0 - Layer 4 Protocol Enable When this bit is set, the Source and Destination Port number
  36804. * fields of UDP packets are used for matching.
  36805. * 0b0..Layer 4 Protocol is disabled
  36806. * 0b1..Layer 4 Protocol is enabled
  36807. */
  36808. #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)
  36809. #define ENET_QOS_MAC_L3_L4_CONTROL0_L4SPM0_MASK (0x40000U)
  36810. #define ENET_QOS_MAC_L3_L4_CONTROL0_L4SPM0_SHIFT (18U)
  36811. /*! L4SPM0 - Layer 4 Source Port Match Enable When this bit is set, the Layer 4 Source Port number field is enabled for matching.
  36812. * 0b0..Layer 4 Source Port Match is disabled
  36813. * 0b1..Layer 4 Source Port Match is enabled
  36814. */
  36815. #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)
  36816. #define ENET_QOS_MAC_L3_L4_CONTROL0_L4SPIM0_MASK (0x80000U)
  36817. #define ENET_QOS_MAC_L3_L4_CONTROL0_L4SPIM0_SHIFT (19U)
  36818. /*! L4SPIM0 - Layer 4 Source Port Inverse Match Enable When this bit is set, the Layer 4 Source Port
  36819. * number field is enabled for inverse matching.
  36820. * 0b0..Layer 4 Source Port Inverse Match is disabled
  36821. * 0b1..Layer 4 Source Port Inverse Match is enabled
  36822. */
  36823. #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)
  36824. #define ENET_QOS_MAC_L3_L4_CONTROL0_L4DPM0_MASK (0x100000U)
  36825. #define ENET_QOS_MAC_L3_L4_CONTROL0_L4DPM0_SHIFT (20U)
  36826. /*! L4DPM0 - Layer 4 Destination Port Match Enable When this bit is set, the Layer 4 Destination
  36827. * Port number field is enabled for matching.
  36828. * 0b0..Layer 4 Destination Port Match is disabled
  36829. * 0b1..Layer 4 Destination Port Match is enabled
  36830. */
  36831. #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)
  36832. #define ENET_QOS_MAC_L3_L4_CONTROL0_L4DPIM0_MASK (0x200000U)
  36833. #define ENET_QOS_MAC_L3_L4_CONTROL0_L4DPIM0_SHIFT (21U)
  36834. /*! L4DPIM0 - Layer 4 Destination Port Inverse Match Enable When this bit is set, the Layer 4
  36835. * Destination Port number field is enabled for inverse matching.
  36836. * 0b0..Layer 4 Destination Port Inverse Match is disabled
  36837. * 0b1..Layer 4 Destination Port Inverse Match is enabled
  36838. */
  36839. #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)
  36840. #define ENET_QOS_MAC_L3_L4_CONTROL0_DMCHN0_MASK (0x7000000U)
  36841. #define ENET_QOS_MAC_L3_L4_CONTROL0_DMCHN0_SHIFT (24U)
  36842. /*! DMCHN0 - DMA Channel Number When DMCHEN is set high, this field selects the DMA Channel number
  36843. * to which the packet passed by this filter is routed.
  36844. */
  36845. #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)
  36846. #define ENET_QOS_MAC_L3_L4_CONTROL0_DMCHEN0_MASK (0x10000000U)
  36847. #define ENET_QOS_MAC_L3_L4_CONTROL0_DMCHEN0_SHIFT (28U)
  36848. /*! DMCHEN0 - DMA Channel Select Enable When set, this bit enables the selection of the DMA channel
  36849. * number for the packet that is passed by this L3_L4 filter.
  36850. * 0b0..DMA Channel Select is disabled
  36851. * 0b1..DMA Channel Select is enabled
  36852. */
  36853. #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)
  36854. /*! @} */
  36855. /*! @name MAC_LAYER4_ADDRESS0 - Layer 4 Address 0 */
  36856. /*! @{ */
  36857. #define ENET_QOS_MAC_LAYER4_ADDRESS0_L4SP0_MASK (0xFFFFU)
  36858. #define ENET_QOS_MAC_LAYER4_ADDRESS0_L4SP0_SHIFT (0U)
  36859. /*! L4SP0 - Layer 4 Source Port Number Field When the L4PEN0 bit is reset and the L4SPM0 bit is set
  36860. * in the MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with the TCP
  36861. * Source Port Number field in the IPv4 or IPv6 packets.
  36862. */
  36863. #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)
  36864. #define ENET_QOS_MAC_LAYER4_ADDRESS0_L4DP0_MASK (0xFFFF0000U)
  36865. #define ENET_QOS_MAC_LAYER4_ADDRESS0_L4DP0_SHIFT (16U)
  36866. /*! L4DP0 - Layer 4 Destination Port Number Field When the L4PEN0 bit is reset and the L4DPM0 bit is
  36867. * set in the MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with the
  36868. * TCP Destination Port Number field in the IPv4 or IPv6 packets.
  36869. */
  36870. #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)
  36871. /*! @} */
  36872. /*! @name MAC_LAYER3_ADDR0_REG0 - Layer 3 Address 0 Register 0 */
  36873. /*! @{ */
  36874. #define ENET_QOS_MAC_LAYER3_ADDR0_REG0_L3A00_MASK (0xFFFFFFFFU)
  36875. #define ENET_QOS_MAC_LAYER3_ADDR0_REG0_L3A00_SHIFT (0U)
  36876. /*! L3A00 - Layer 3 Address 0 Field When the L3PEN0 and L3SAM0 bits are set in the
  36877. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[31:0] of the IP Source
  36878. * Address field in the IPv6 packets.
  36879. */
  36880. #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)
  36881. /*! @} */
  36882. /*! @name MAC_LAYER3_ADDR1_REG0 - Layer 3 Address 1 Register 0 */
  36883. /*! @{ */
  36884. #define ENET_QOS_MAC_LAYER3_ADDR1_REG0_L3A10_MASK (0xFFFFFFFFU)
  36885. #define ENET_QOS_MAC_LAYER3_ADDR1_REG0_L3A10_SHIFT (0U)
  36886. /*! L3A10 - Layer 3 Address 1 Field When the L3PEN0 and L3SAM0 bits are set in the
  36887. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[63:32] of the IP Source
  36888. * Address field in the IPv6 packets.
  36889. */
  36890. #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)
  36891. /*! @} */
  36892. /*! @name MAC_LAYER3_ADDR2_REG0 - Layer 3 Address 2 Register 0 */
  36893. /*! @{ */
  36894. #define ENET_QOS_MAC_LAYER3_ADDR2_REG0_L3A20_MASK (0xFFFFFFFFU)
  36895. #define ENET_QOS_MAC_LAYER3_ADDR2_REG0_L3A20_SHIFT (0U)
  36896. /*! L3A20 - Layer 3 Address 2 Field When the L3PEN0 and L3SAM0 bits are set in the
  36897. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[95:64] of the IP Source
  36898. * Address field in the IPv6 packets.
  36899. */
  36900. #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)
  36901. /*! @} */
  36902. /*! @name MAC_LAYER3_ADDR3_REG0 - Layer 3 Address 3 Register 0 */
  36903. /*! @{ */
  36904. #define ENET_QOS_MAC_LAYER3_ADDR3_REG0_L3A30_MASK (0xFFFFFFFFU)
  36905. #define ENET_QOS_MAC_LAYER3_ADDR3_REG0_L3A30_SHIFT (0U)
  36906. /*! L3A30 - Layer 3 Address 3 Field When the L3PEN0 and L3SAM0 bits are set in the
  36907. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[127:96] of the IP Source
  36908. * Address field in the IPv6 packets.
  36909. */
  36910. #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)
  36911. /*! @} */
  36912. /*! @name MAC_L3_L4_CONTROL1 - Layer 3 and Layer 4 Control of Filter 1 */
  36913. /*! @{ */
  36914. #define ENET_QOS_MAC_L3_L4_CONTROL1_L3PEN1_MASK (0x1U)
  36915. #define ENET_QOS_MAC_L3_L4_CONTROL1_L3PEN1_SHIFT (0U)
  36916. /*! L3PEN1 - Layer 3 Protocol Enable When this bit is set, the Layer 3 IP Source or Destination
  36917. * Address matching is enabled for IPv6 packets.
  36918. * 0b0..Layer 3 Protocol is disabled
  36919. * 0b1..Layer 3 Protocol is enabled
  36920. */
  36921. #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)
  36922. #define ENET_QOS_MAC_L3_L4_CONTROL1_L3SAM1_MASK (0x4U)
  36923. #define ENET_QOS_MAC_L3_L4_CONTROL1_L3SAM1_SHIFT (2U)
  36924. /*! L3SAM1 - Layer 3 IP SA Match Enable When this bit is set, the Layer 3 IP Source Address field is enabled for matching.
  36925. * 0b0..Layer 3 IP SA Match is disabled
  36926. * 0b1..Layer 3 IP SA Match is enabled
  36927. */
  36928. #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)
  36929. #define ENET_QOS_MAC_L3_L4_CONTROL1_L3SAIM1_MASK (0x8U)
  36930. #define ENET_QOS_MAC_L3_L4_CONTROL1_L3SAIM1_SHIFT (3U)
  36931. /*! L3SAIM1 - Layer 3 IP SA Inverse Match Enable When this bit is set, the Layer 3 IP Source Address
  36932. * field is enabled for inverse matching.
  36933. * 0b0..Layer 3 IP SA Inverse Match is disabled
  36934. * 0b1..Layer 3 IP SA Inverse Match is enabled
  36935. */
  36936. #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)
  36937. #define ENET_QOS_MAC_L3_L4_CONTROL1_L3DAM1_MASK (0x10U)
  36938. #define ENET_QOS_MAC_L3_L4_CONTROL1_L3DAM1_SHIFT (4U)
  36939. /*! L3DAM1 - Layer 3 IP DA Match Enable When this bit is set, the Layer 3 IP Destination Address field is enabled for matching.
  36940. * 0b0..Layer 3 IP DA Match is disabled
  36941. * 0b1..Layer 3 IP DA Match is enabled
  36942. */
  36943. #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)
  36944. #define ENET_QOS_MAC_L3_L4_CONTROL1_L3DAIM1_MASK (0x20U)
  36945. #define ENET_QOS_MAC_L3_L4_CONTROL1_L3DAIM1_SHIFT (5U)
  36946. /*! L3DAIM1 - Layer 3 IP DA Inverse Match Enable When this bit is set, the Layer 3 IP Destination
  36947. * Address field is enabled for inverse matching.
  36948. * 0b0..Layer 3 IP DA Inverse Match is disabled
  36949. * 0b1..Layer 3 IP DA Inverse Match is enabled
  36950. */
  36951. #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)
  36952. #define ENET_QOS_MAC_L3_L4_CONTROL1_L3HSBM1_MASK (0x7C0U)
  36953. #define ENET_QOS_MAC_L3_L4_CONTROL1_L3HSBM1_SHIFT (6U)
  36954. /*! L3HSBM1 - Layer 3 IP SA Higher Bits Match IPv4 Packets: This field contains the number of lower
  36955. * bits of IP Source Address that are masked for matching in the IPv4 packets.
  36956. */
  36957. #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)
  36958. #define ENET_QOS_MAC_L3_L4_CONTROL1_L3HDBM1_MASK (0xF800U)
  36959. #define ENET_QOS_MAC_L3_L4_CONTROL1_L3HDBM1_SHIFT (11U)
  36960. /*! L3HDBM1 - Layer 3 IP DA Higher Bits Match IPv4 Packets: This field contains the number of higher
  36961. * bits of IP Destination Address that are matched in the IPv4 packets.
  36962. */
  36963. #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)
  36964. #define ENET_QOS_MAC_L3_L4_CONTROL1_L4PEN1_MASK (0x10000U)
  36965. #define ENET_QOS_MAC_L3_L4_CONTROL1_L4PEN1_SHIFT (16U)
  36966. /*! L4PEN1 - Layer 4 Protocol Enable When this bit is set, the Source and Destination Port number
  36967. * fields of UDP packets are used for matching.
  36968. * 0b0..Layer 4 Protocol is disabled
  36969. * 0b1..Layer 4 Protocol is enabled
  36970. */
  36971. #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)
  36972. #define ENET_QOS_MAC_L3_L4_CONTROL1_L4SPM1_MASK (0x40000U)
  36973. #define ENET_QOS_MAC_L3_L4_CONTROL1_L4SPM1_SHIFT (18U)
  36974. /*! L4SPM1 - Layer 4 Source Port Match Enable When this bit is set, the Layer 4 Source Port number field is enabled for matching.
  36975. * 0b0..Layer 4 Source Port Match is disabled
  36976. * 0b1..Layer 4 Source Port Match is enabled
  36977. */
  36978. #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)
  36979. #define ENET_QOS_MAC_L3_L4_CONTROL1_L4SPIM1_MASK (0x80000U)
  36980. #define ENET_QOS_MAC_L3_L4_CONTROL1_L4SPIM1_SHIFT (19U)
  36981. /*! L4SPIM1 - Layer 4 Source Port Inverse Match Enable When this bit is set, the Layer 4 Source Port
  36982. * number field is enabled for inverse matching.
  36983. * 0b0..Layer 4 Source Port Inverse Match is disabled
  36984. * 0b1..Layer 4 Source Port Inverse Match is enabled
  36985. */
  36986. #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)
  36987. #define ENET_QOS_MAC_L3_L4_CONTROL1_L4DPM1_MASK (0x100000U)
  36988. #define ENET_QOS_MAC_L3_L4_CONTROL1_L4DPM1_SHIFT (20U)
  36989. /*! L4DPM1 - Layer 4 Destination Port Match Enable When this bit is set, the Layer 4 Destination
  36990. * Port number field is enabled for matching.
  36991. * 0b0..Layer 4 Destination Port Match is disabled
  36992. * 0b1..Layer 4 Destination Port Match is enabled
  36993. */
  36994. #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)
  36995. #define ENET_QOS_MAC_L3_L4_CONTROL1_L4DPIM1_MASK (0x200000U)
  36996. #define ENET_QOS_MAC_L3_L4_CONTROL1_L4DPIM1_SHIFT (21U)
  36997. /*! L4DPIM1 - Layer 4 Destination Port Inverse Match Enable When this bit is set, the Layer 4
  36998. * Destination Port number field is enabled for inverse matching.
  36999. * 0b0..Layer 4 Destination Port Inverse Match is disabled
  37000. * 0b1..Layer 4 Destination Port Inverse Match is enabled
  37001. */
  37002. #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)
  37003. #define ENET_QOS_MAC_L3_L4_CONTROL1_DMCHN1_MASK (0x7000000U)
  37004. #define ENET_QOS_MAC_L3_L4_CONTROL1_DMCHN1_SHIFT (24U)
  37005. /*! DMCHN1 - DMA Channel Number When DMCHEN is set high, this field selects the DMA Channel number
  37006. * to which the packet passed by this filter is routed.
  37007. */
  37008. #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)
  37009. #define ENET_QOS_MAC_L3_L4_CONTROL1_DMCHEN1_MASK (0x10000000U)
  37010. #define ENET_QOS_MAC_L3_L4_CONTROL1_DMCHEN1_SHIFT (28U)
  37011. /*! DMCHEN1 - DMA Channel Select Enable When set, this bit enables the selection of the DMA channel
  37012. * number for the packet that is passed by this L3_L4 filter.
  37013. * 0b0..DMA Channel Select is disabled
  37014. * 0b1..DMA Channel Select is enabled
  37015. */
  37016. #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)
  37017. /*! @} */
  37018. /*! @name MAC_LAYER4_ADDRESS1 - Layer 4 Address 0 */
  37019. /*! @{ */
  37020. #define ENET_QOS_MAC_LAYER4_ADDRESS1_L4SP1_MASK (0xFFFFU)
  37021. #define ENET_QOS_MAC_LAYER4_ADDRESS1_L4SP1_SHIFT (0U)
  37022. /*! L4SP1 - Layer 4 Source Port Number Field When the L4PEN0 bit is reset and the L4SPM0 bit is set
  37023. * in the MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with the TCP
  37024. * Source Port Number field in the IPv4 or IPv6 packets.
  37025. */
  37026. #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)
  37027. #define ENET_QOS_MAC_LAYER4_ADDRESS1_L4DP1_MASK (0xFFFF0000U)
  37028. #define ENET_QOS_MAC_LAYER4_ADDRESS1_L4DP1_SHIFT (16U)
  37029. /*! L4DP1 - Layer 4 Destination Port Number Field When the L4PEN0 bit is reset and the L4DPM0 bit is
  37030. * set in the MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with the
  37031. * TCP Destination Port Number field in the IPv4 or IPv6 packets.
  37032. */
  37033. #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)
  37034. /*! @} */
  37035. /*! @name MAC_LAYER3_ADDR0_REG1 - Layer 3 Address 0 Register 1 */
  37036. /*! @{ */
  37037. #define ENET_QOS_MAC_LAYER3_ADDR0_REG1_L3A01_MASK (0xFFFFFFFFU)
  37038. #define ENET_QOS_MAC_LAYER3_ADDR0_REG1_L3A01_SHIFT (0U)
  37039. /*! L3A01 - Layer 3 Address 0 Field When the L3PEN0 and L3SAM0 bits are set in the
  37040. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[31:0] of the IP Source
  37041. * Address field in the IPv6 packets.
  37042. */
  37043. #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)
  37044. /*! @} */
  37045. /*! @name MAC_LAYER3_ADDR1_REG1 - Layer 3 Address 1 Register 1 */
  37046. /*! @{ */
  37047. #define ENET_QOS_MAC_LAYER3_ADDR1_REG1_L3A11_MASK (0xFFFFFFFFU)
  37048. #define ENET_QOS_MAC_LAYER3_ADDR1_REG1_L3A11_SHIFT (0U)
  37049. /*! L3A11 - Layer 3 Address 1 Field When the L3PEN0 and L3SAM0 bits are set in the
  37050. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[63:32] of the IP Source
  37051. * Address field in the IPv6 packets.
  37052. */
  37053. #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)
  37054. /*! @} */
  37055. /*! @name MAC_LAYER3_ADDR2_REG1 - Layer 3 Address 2 Register 1 */
  37056. /*! @{ */
  37057. #define ENET_QOS_MAC_LAYER3_ADDR2_REG1_L3A21_MASK (0xFFFFFFFFU)
  37058. #define ENET_QOS_MAC_LAYER3_ADDR2_REG1_L3A21_SHIFT (0U)
  37059. /*! L3A21 - Layer 3 Address 2 Field When the L3PEN0 and L3SAM0 bits are set in the
  37060. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[95:64] of the IP Source
  37061. * Address field in the IPv6 packets.
  37062. */
  37063. #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)
  37064. /*! @} */
  37065. /*! @name MAC_LAYER3_ADDR3_REG1 - Layer 3 Address 3 Register 1 */
  37066. /*! @{ */
  37067. #define ENET_QOS_MAC_LAYER3_ADDR3_REG1_L3A31_MASK (0xFFFFFFFFU)
  37068. #define ENET_QOS_MAC_LAYER3_ADDR3_REG1_L3A31_SHIFT (0U)
  37069. /*! L3A31 - Layer 3 Address 3 Field When the L3PEN0 and L3SAM0 bits are set in the
  37070. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[127:96] of the IP Source
  37071. * Address field in the IPv6 packets.
  37072. */
  37073. #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)
  37074. /*! @} */
  37075. /*! @name MAC_L3_L4_CONTROL2 - Layer 3 and Layer 4 Control of Filter 2 */
  37076. /*! @{ */
  37077. #define ENET_QOS_MAC_L3_L4_CONTROL2_L3PEN2_MASK (0x1U)
  37078. #define ENET_QOS_MAC_L3_L4_CONTROL2_L3PEN2_SHIFT (0U)
  37079. /*! L3PEN2 - Layer 3 Protocol Enable When this bit is set, the Layer 3 IP Source or Destination
  37080. * Address matching is enabled for IPv6 packets.
  37081. * 0b0..Layer 3 Protocol is disabled
  37082. * 0b1..Layer 3 Protocol is enabled
  37083. */
  37084. #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)
  37085. #define ENET_QOS_MAC_L3_L4_CONTROL2_L3SAM2_MASK (0x4U)
  37086. #define ENET_QOS_MAC_L3_L4_CONTROL2_L3SAM2_SHIFT (2U)
  37087. /*! L3SAM2 - Layer 3 IP SA Match Enable When this bit is set, the Layer 3 IP Source Address field is enabled for matching.
  37088. * 0b0..Layer 3 IP SA Match is disabled
  37089. * 0b1..Layer 3 IP SA Match is enabled
  37090. */
  37091. #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)
  37092. #define ENET_QOS_MAC_L3_L4_CONTROL2_L3SAIM2_MASK (0x8U)
  37093. #define ENET_QOS_MAC_L3_L4_CONTROL2_L3SAIM2_SHIFT (3U)
  37094. /*! L3SAIM2 - Layer 3 IP SA Inverse Match Enable When this bit is set, the Layer 3 IP Source Address
  37095. * field is enabled for inverse matching.
  37096. * 0b0..Layer 3 IP SA Inverse Match is disabled
  37097. * 0b1..Layer 3 IP SA Inverse Match is enabled
  37098. */
  37099. #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)
  37100. #define ENET_QOS_MAC_L3_L4_CONTROL2_L3DAM2_MASK (0x10U)
  37101. #define ENET_QOS_MAC_L3_L4_CONTROL2_L3DAM2_SHIFT (4U)
  37102. /*! L3DAM2 - Layer 3 IP DA Match Enable When this bit is set, the Layer 3 IP Destination Address field is enabled for matching.
  37103. * 0b0..Layer 3 IP DA Match is disabled
  37104. * 0b1..Layer 3 IP DA Match is enabled
  37105. */
  37106. #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)
  37107. #define ENET_QOS_MAC_L3_L4_CONTROL2_L3DAIM2_MASK (0x20U)
  37108. #define ENET_QOS_MAC_L3_L4_CONTROL2_L3DAIM2_SHIFT (5U)
  37109. /*! L3DAIM2 - Layer 3 IP DA Inverse Match Enable When this bit is set, the Layer 3 IP Destination
  37110. * Address field is enabled for inverse matching.
  37111. * 0b0..Layer 3 IP DA Inverse Match is disabled
  37112. * 0b1..Layer 3 IP DA Inverse Match is enabled
  37113. */
  37114. #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)
  37115. #define ENET_QOS_MAC_L3_L4_CONTROL2_L3HSBM2_MASK (0x7C0U)
  37116. #define ENET_QOS_MAC_L3_L4_CONTROL2_L3HSBM2_SHIFT (6U)
  37117. /*! L3HSBM2 - Layer 3 IP SA Higher Bits Match IPv4 Packets: This field contains the number of lower
  37118. * bits of IP Source Address that are masked for matching in the IPv4 packets.
  37119. */
  37120. #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)
  37121. #define ENET_QOS_MAC_L3_L4_CONTROL2_L3HDBM2_MASK (0xF800U)
  37122. #define ENET_QOS_MAC_L3_L4_CONTROL2_L3HDBM2_SHIFT (11U)
  37123. /*! L3HDBM2 - Layer 3 IP DA Higher Bits Match IPv4 Packets: This field contains the number of higher
  37124. * bits of IP Destination Address that are matched in the IPv4 packets.
  37125. */
  37126. #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)
  37127. #define ENET_QOS_MAC_L3_L4_CONTROL2_L4PEN2_MASK (0x10000U)
  37128. #define ENET_QOS_MAC_L3_L4_CONTROL2_L4PEN2_SHIFT (16U)
  37129. /*! L4PEN2 - Layer 4 Protocol Enable When this bit is set, the Source and Destination Port number
  37130. * fields of UDP packets are used for matching.
  37131. * 0b0..Layer 4 Protocol is disabled
  37132. * 0b1..Layer 4 Protocol is enabled
  37133. */
  37134. #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)
  37135. #define ENET_QOS_MAC_L3_L4_CONTROL2_L4SPM2_MASK (0x40000U)
  37136. #define ENET_QOS_MAC_L3_L4_CONTROL2_L4SPM2_SHIFT (18U)
  37137. /*! L4SPM2 - Layer 4 Source Port Match Enable When this bit is set, the Layer 4 Source Port number field is enabled for matching.
  37138. * 0b0..Layer 4 Source Port Match is disabled
  37139. * 0b1..Layer 4 Source Port Match is enabled
  37140. */
  37141. #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)
  37142. #define ENET_QOS_MAC_L3_L4_CONTROL2_L4SPIM2_MASK (0x80000U)
  37143. #define ENET_QOS_MAC_L3_L4_CONTROL2_L4SPIM2_SHIFT (19U)
  37144. /*! L4SPIM2 - Layer 4 Source Port Inverse Match Enable When this bit is set, the Layer 4 Source Port
  37145. * number field is enabled for inverse matching.
  37146. * 0b0..Layer 4 Source Port Inverse Match is disabled
  37147. * 0b1..Layer 4 Source Port Inverse Match is enabled
  37148. */
  37149. #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)
  37150. #define ENET_QOS_MAC_L3_L4_CONTROL2_L4DPM2_MASK (0x100000U)
  37151. #define ENET_QOS_MAC_L3_L4_CONTROL2_L4DPM2_SHIFT (20U)
  37152. /*! L4DPM2 - Layer 4 Destination Port Match Enable When this bit is set, the Layer 4 Destination
  37153. * Port number field is enabled for matching.
  37154. * 0b0..Layer 4 Destination Port Match is disabled
  37155. * 0b1..Layer 4 Destination Port Match is enabled
  37156. */
  37157. #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)
  37158. #define ENET_QOS_MAC_L3_L4_CONTROL2_L4DPIM2_MASK (0x200000U)
  37159. #define ENET_QOS_MAC_L3_L4_CONTROL2_L4DPIM2_SHIFT (21U)
  37160. /*! L4DPIM2 - Layer 4 Destination Port Inverse Match Enable When this bit is set, the Layer 4
  37161. * Destination Port number field is enabled for inverse matching.
  37162. * 0b0..Layer 4 Destination Port Inverse Match is disabled
  37163. * 0b1..Layer 4 Destination Port Inverse Match is enabled
  37164. */
  37165. #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)
  37166. #define ENET_QOS_MAC_L3_L4_CONTROL2_DMCHN2_MASK (0x7000000U)
  37167. #define ENET_QOS_MAC_L3_L4_CONTROL2_DMCHN2_SHIFT (24U)
  37168. /*! DMCHN2 - DMA Channel Number When DMCHEN is set high, this field selects the DMA Channel number
  37169. * to which the packet passed by this filter is routed.
  37170. */
  37171. #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)
  37172. #define ENET_QOS_MAC_L3_L4_CONTROL2_DMCHEN2_MASK (0x10000000U)
  37173. #define ENET_QOS_MAC_L3_L4_CONTROL2_DMCHEN2_SHIFT (28U)
  37174. /*! DMCHEN2 - DMA Channel Select Enable When set, this bit enables the selection of the DMA channel
  37175. * number for the packet that is passed by this L3_L4 filter.
  37176. * 0b0..DMA Channel Select is disabled
  37177. * 0b1..DMA Channel Select is enabled
  37178. */
  37179. #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)
  37180. /*! @} */
  37181. /*! @name MAC_LAYER4_ADDRESS2 - Layer 4 Address 2 */
  37182. /*! @{ */
  37183. #define ENET_QOS_MAC_LAYER4_ADDRESS2_L4SP2_MASK (0xFFFFU)
  37184. #define ENET_QOS_MAC_LAYER4_ADDRESS2_L4SP2_SHIFT (0U)
  37185. /*! L4SP2 - Layer 4 Source Port Number Field When the L4PEN0 bit is reset and the L4SPM0 bit is set
  37186. * in the MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with the TCP
  37187. * Source Port Number field in the IPv4 or IPv6 packets.
  37188. */
  37189. #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)
  37190. #define ENET_QOS_MAC_LAYER4_ADDRESS2_L4DP2_MASK (0xFFFF0000U)
  37191. #define ENET_QOS_MAC_LAYER4_ADDRESS2_L4DP2_SHIFT (16U)
  37192. /*! L4DP2 - Layer 4 Destination Port Number Field When the L4PEN0 bit is reset and the L4DPM0 bit is
  37193. * set in the MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with the
  37194. * TCP Destination Port Number field in the IPv4 or IPv6 packets.
  37195. */
  37196. #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)
  37197. /*! @} */
  37198. /*! @name MAC_LAYER3_ADDR0_REG2 - Layer 3 Address 0 Register 2 */
  37199. /*! @{ */
  37200. #define ENET_QOS_MAC_LAYER3_ADDR0_REG2_L3A02_MASK (0xFFFFFFFFU)
  37201. #define ENET_QOS_MAC_LAYER3_ADDR0_REG2_L3A02_SHIFT (0U)
  37202. /*! L3A02 - Layer 3 Address 0 Field When the L3PEN0 and L3SAM0 bits are set in the
  37203. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[31:0] of the IP Source
  37204. * Address field in the IPv6 packets.
  37205. */
  37206. #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)
  37207. /*! @} */
  37208. /*! @name MAC_LAYER3_ADDR1_REG2 - Layer 3 Address 0 Register 2 */
  37209. /*! @{ */
  37210. #define ENET_QOS_MAC_LAYER3_ADDR1_REG2_L3A12_MASK (0xFFFFFFFFU)
  37211. #define ENET_QOS_MAC_LAYER3_ADDR1_REG2_L3A12_SHIFT (0U)
  37212. /*! L3A12 - Layer 3 Address 1 Field When the L3PEN0 and L3SAM0 bits are set in the
  37213. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[63:32] of the IP Source
  37214. * Address field in the IPv6 packets.
  37215. */
  37216. #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)
  37217. /*! @} */
  37218. /*! @name MAC_LAYER3_ADDR2_REG2 - Layer 3 Address 2 Register 2 */
  37219. /*! @{ */
  37220. #define ENET_QOS_MAC_LAYER3_ADDR2_REG2_L3A22_MASK (0xFFFFFFFFU)
  37221. #define ENET_QOS_MAC_LAYER3_ADDR2_REG2_L3A22_SHIFT (0U)
  37222. /*! L3A22 - Layer 3 Address 2 Field When the L3PEN0 and L3SAM0 bits are set in the
  37223. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[95:64] of the IP Source
  37224. * Address field in the IPv6 packets.
  37225. */
  37226. #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)
  37227. /*! @} */
  37228. /*! @name MAC_LAYER3_ADDR3_REG2 - Layer 3 Address 3 Register 2 */
  37229. /*! @{ */
  37230. #define ENET_QOS_MAC_LAYER3_ADDR3_REG2_L3A32_MASK (0xFFFFFFFFU)
  37231. #define ENET_QOS_MAC_LAYER3_ADDR3_REG2_L3A32_SHIFT (0U)
  37232. /*! L3A32 - Layer 3 Address 3 Field When the L3PEN0 and L3SAM0 bits are set in the
  37233. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[127:96] of the IP Source
  37234. * Address field in the IPv6 packets.
  37235. */
  37236. #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)
  37237. /*! @} */
  37238. /*! @name MAC_L3_L4_CONTROL3 - Layer 3 and Layer 4 Control of Filter 3 */
  37239. /*! @{ */
  37240. #define ENET_QOS_MAC_L3_L4_CONTROL3_L3PEN3_MASK (0x1U)
  37241. #define ENET_QOS_MAC_L3_L4_CONTROL3_L3PEN3_SHIFT (0U)
  37242. /*! L3PEN3 - Layer 3 Protocol Enable When this bit is set, the Layer 3 IP Source or Destination
  37243. * Address matching is enabled for IPv6 packets.
  37244. * 0b0..Layer 3 Protocol is disabled
  37245. * 0b1..Layer 3 Protocol is enabled
  37246. */
  37247. #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)
  37248. #define ENET_QOS_MAC_L3_L4_CONTROL3_L3SAM3_MASK (0x4U)
  37249. #define ENET_QOS_MAC_L3_L4_CONTROL3_L3SAM3_SHIFT (2U)
  37250. /*! L3SAM3 - Layer 3 IP SA Match Enable When this bit is set, the Layer 3 IP Source Address field is enabled for matching.
  37251. * 0b0..Layer 3 IP SA Match is disabled
  37252. * 0b1..Layer 3 IP SA Match is enabled
  37253. */
  37254. #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)
  37255. #define ENET_QOS_MAC_L3_L4_CONTROL3_L3SAIM3_MASK (0x8U)
  37256. #define ENET_QOS_MAC_L3_L4_CONTROL3_L3SAIM3_SHIFT (3U)
  37257. /*! L3SAIM3 - Layer 3 IP SA Inverse Match Enable When this bit is set, the Layer 3 IP Source Address
  37258. * field is enabled for inverse matching.
  37259. * 0b0..Layer 3 IP SA Inverse Match is disabled
  37260. * 0b1..Layer 3 IP SA Inverse Match is enabled
  37261. */
  37262. #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)
  37263. #define ENET_QOS_MAC_L3_L4_CONTROL3_L3DAM3_MASK (0x10U)
  37264. #define ENET_QOS_MAC_L3_L4_CONTROL3_L3DAM3_SHIFT (4U)
  37265. /*! L3DAM3 - Layer 3 IP DA Match Enable When this bit is set, the Layer 3 IP Destination Address field is enabled for matching.
  37266. * 0b0..Layer 3 IP DA Match is disabled
  37267. * 0b1..Layer 3 IP DA Match is enabled
  37268. */
  37269. #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)
  37270. #define ENET_QOS_MAC_L3_L4_CONTROL3_L3DAIM3_MASK (0x20U)
  37271. #define ENET_QOS_MAC_L3_L4_CONTROL3_L3DAIM3_SHIFT (5U)
  37272. /*! L3DAIM3 - Layer 3 IP DA Inverse Match Enable When this bit is set, the Layer 3 IP Destination
  37273. * Address field is enabled for inverse matching.
  37274. * 0b0..Layer 3 IP DA Inverse Match is disabled
  37275. * 0b1..Layer 3 IP DA Inverse Match is enabled
  37276. */
  37277. #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)
  37278. #define ENET_QOS_MAC_L3_L4_CONTROL3_L3HSBM3_MASK (0x7C0U)
  37279. #define ENET_QOS_MAC_L3_L4_CONTROL3_L3HSBM3_SHIFT (6U)
  37280. /*! L3HSBM3 - Layer 3 IP SA Higher Bits Match IPv4 Packets: This field contains the number of lower
  37281. * bits of IP Source Address that are masked for matching in the IPv4 packets.
  37282. */
  37283. #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)
  37284. #define ENET_QOS_MAC_L3_L4_CONTROL3_L3HDBM3_MASK (0xF800U)
  37285. #define ENET_QOS_MAC_L3_L4_CONTROL3_L3HDBM3_SHIFT (11U)
  37286. /*! L3HDBM3 - Layer 3 IP DA Higher Bits Match IPv4 Packets: This field contains the number of higher
  37287. * bits of IP Destination Address that are matched in the IPv4 packets.
  37288. */
  37289. #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)
  37290. #define ENET_QOS_MAC_L3_L4_CONTROL3_L4PEN3_MASK (0x10000U)
  37291. #define ENET_QOS_MAC_L3_L4_CONTROL3_L4PEN3_SHIFT (16U)
  37292. /*! L4PEN3 - Layer 4 Protocol Enable When this bit is set, the Source and Destination Port number
  37293. * fields of UDP packets are used for matching.
  37294. * 0b0..Layer 4 Protocol is disabled
  37295. * 0b1..Layer 4 Protocol is enabled
  37296. */
  37297. #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)
  37298. #define ENET_QOS_MAC_L3_L4_CONTROL3_L4SPM3_MASK (0x40000U)
  37299. #define ENET_QOS_MAC_L3_L4_CONTROL3_L4SPM3_SHIFT (18U)
  37300. /*! L4SPM3 - Layer 4 Source Port Match Enable When this bit is set, the Layer 4 Source Port number field is enabled for matching.
  37301. * 0b0..Layer 4 Source Port Match is disabled
  37302. * 0b1..Layer 4 Source Port Match is enabled
  37303. */
  37304. #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)
  37305. #define ENET_QOS_MAC_L3_L4_CONTROL3_L4SPIM3_MASK (0x80000U)
  37306. #define ENET_QOS_MAC_L3_L4_CONTROL3_L4SPIM3_SHIFT (19U)
  37307. /*! L4SPIM3 - Layer 4 Source Port Inverse Match Enable When this bit is set, the Layer 4 Source Port
  37308. * number field is enabled for inverse matching.
  37309. * 0b0..Layer 4 Source Port Inverse Match is disabled
  37310. * 0b1..Layer 4 Source Port Inverse Match is enabled
  37311. */
  37312. #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)
  37313. #define ENET_QOS_MAC_L3_L4_CONTROL3_L4DPM3_MASK (0x100000U)
  37314. #define ENET_QOS_MAC_L3_L4_CONTROL3_L4DPM3_SHIFT (20U)
  37315. /*! L4DPM3 - Layer 4 Destination Port Match Enable When this bit is set, the Layer 4 Destination
  37316. * Port number field is enabled for matching.
  37317. * 0b0..Layer 4 Destination Port Match is disabled
  37318. * 0b1..Layer 4 Destination Port Match is enabled
  37319. */
  37320. #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)
  37321. #define ENET_QOS_MAC_L3_L4_CONTROL3_L4DPIM3_MASK (0x200000U)
  37322. #define ENET_QOS_MAC_L3_L4_CONTROL3_L4DPIM3_SHIFT (21U)
  37323. /*! L4DPIM3 - Layer 4 Destination Port Inverse Match Enable When this bit is set, the Layer 4
  37324. * Destination Port number field is enabled for inverse matching.
  37325. * 0b0..Layer 4 Destination Port Inverse Match is disabled
  37326. * 0b1..Layer 4 Destination Port Inverse Match is enabled
  37327. */
  37328. #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)
  37329. #define ENET_QOS_MAC_L3_L4_CONTROL3_DMCHN3_MASK (0x7000000U)
  37330. #define ENET_QOS_MAC_L3_L4_CONTROL3_DMCHN3_SHIFT (24U)
  37331. /*! DMCHN3 - DMA Channel Number When DMCHEN is set high, this field selects the DMA Channel number
  37332. * to which the packet passed by this filter is routed.
  37333. */
  37334. #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)
  37335. #define ENET_QOS_MAC_L3_L4_CONTROL3_DMCHEN3_MASK (0x10000000U)
  37336. #define ENET_QOS_MAC_L3_L4_CONTROL3_DMCHEN3_SHIFT (28U)
  37337. /*! DMCHEN3 - DMA Channel Select Enable When set, this bit enables the selection of the DMA channel
  37338. * number for the packet that is passed by this L3_L4 filter.
  37339. * 0b0..DMA Channel Select is disabled
  37340. * 0b1..DMA Channel Select is enabled
  37341. */
  37342. #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)
  37343. /*! @} */
  37344. /*! @name MAC_LAYER4_ADDRESS3 - Layer 4 Address 3 */
  37345. /*! @{ */
  37346. #define ENET_QOS_MAC_LAYER4_ADDRESS3_L4SP3_MASK (0xFFFFU)
  37347. #define ENET_QOS_MAC_LAYER4_ADDRESS3_L4SP3_SHIFT (0U)
  37348. /*! L4SP3 - Layer 4 Source Port Number Field When the L4PEN0 bit is reset and the L4SPM0 bit is set
  37349. * in the MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with the TCP
  37350. * Source Port Number field in the IPv4 or IPv6 packets.
  37351. */
  37352. #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)
  37353. #define ENET_QOS_MAC_LAYER4_ADDRESS3_L4DP3_MASK (0xFFFF0000U)
  37354. #define ENET_QOS_MAC_LAYER4_ADDRESS3_L4DP3_SHIFT (16U)
  37355. /*! L4DP3 - Layer 4 Destination Port Number Field When the L4PEN0 bit is reset and the L4DPM0 bit is
  37356. * set in the MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with the
  37357. * TCP Destination Port Number field in the IPv4 or IPv6 packets.
  37358. */
  37359. #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)
  37360. /*! @} */
  37361. /*! @name MAC_LAYER3_ADDR0_REG3 - Layer 3 Address 0 Register 3 */
  37362. /*! @{ */
  37363. #define ENET_QOS_MAC_LAYER3_ADDR0_REG3_L3A03_MASK (0xFFFFFFFFU)
  37364. #define ENET_QOS_MAC_LAYER3_ADDR0_REG3_L3A03_SHIFT (0U)
  37365. /*! L3A03 - Layer 3 Address 0 Field When the L3PEN0 and L3SAM0 bits are set in the
  37366. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[31:0] of the IP Source
  37367. * Address field in the IPv6 packets.
  37368. */
  37369. #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)
  37370. /*! @} */
  37371. /*! @name MAC_LAYER3_ADDR1_REG3 - Layer 3 Address 1 Register 3 */
  37372. /*! @{ */
  37373. #define ENET_QOS_MAC_LAYER3_ADDR1_REG3_L3A13_MASK (0xFFFFFFFFU)
  37374. #define ENET_QOS_MAC_LAYER3_ADDR1_REG3_L3A13_SHIFT (0U)
  37375. /*! L3A13 - Layer 3 Address 1 Field When the L3PEN0 and L3SAM0 bits are set in the
  37376. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[63:32] of the IP Source
  37377. * Address field in the IPv6 packets.
  37378. */
  37379. #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)
  37380. /*! @} */
  37381. /*! @name MAC_LAYER3_ADDR2_REG3 - Layer 3 Address 2 Register 3 */
  37382. /*! @{ */
  37383. #define ENET_QOS_MAC_LAYER3_ADDR2_REG3_L3A23_MASK (0xFFFFFFFFU)
  37384. #define ENET_QOS_MAC_LAYER3_ADDR2_REG3_L3A23_SHIFT (0U)
  37385. /*! L3A23 - Layer 3 Address 2 Field When the L3PEN0 and L3SAM0 bits are set in the
  37386. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[95:64] of the IP Source
  37387. * Address field in the IPv6 packets.
  37388. */
  37389. #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)
  37390. /*! @} */
  37391. /*! @name MAC_LAYER3_ADDR3_REG3 - Layer 3 Address 3 Register 3 */
  37392. /*! @{ */
  37393. #define ENET_QOS_MAC_LAYER3_ADDR3_REG3_L3A33_MASK (0xFFFFFFFFU)
  37394. #define ENET_QOS_MAC_LAYER3_ADDR3_REG3_L3A33_SHIFT (0U)
  37395. /*! L3A33 - Layer 3 Address 3 Field When the L3PEN0 and L3SAM0 bits are set in the
  37396. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[127:96] of the IP Source
  37397. * Address field in the IPv6 packets.
  37398. */
  37399. #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)
  37400. /*! @} */
  37401. /*! @name MAC_L3_L4_CONTROL4 - Layer 3 and Layer 4 Control of Filter 4 */
  37402. /*! @{ */
  37403. #define ENET_QOS_MAC_L3_L4_CONTROL4_L3PEN4_MASK (0x1U)
  37404. #define ENET_QOS_MAC_L3_L4_CONTROL4_L3PEN4_SHIFT (0U)
  37405. /*! L3PEN4 - Layer 3 Protocol Enable When this bit is set, the Layer 3 IP Source or Destination
  37406. * Address matching is enabled for IPv6 packets.
  37407. * 0b0..Layer 3 Protocol is disabled
  37408. * 0b1..Layer 3 Protocol is enabled
  37409. */
  37410. #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)
  37411. #define ENET_QOS_MAC_L3_L4_CONTROL4_L3SAM4_MASK (0x4U)
  37412. #define ENET_QOS_MAC_L3_L4_CONTROL4_L3SAM4_SHIFT (2U)
  37413. /*! L3SAM4 - Layer 3 IP SA Match Enable When this bit is set, the Layer 3 IP Source Address field is enabled for matching.
  37414. * 0b0..Layer 3 IP SA Match is disabled
  37415. * 0b1..Layer 3 IP SA Match is enabled
  37416. */
  37417. #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)
  37418. #define ENET_QOS_MAC_L3_L4_CONTROL4_L3SAIM4_MASK (0x8U)
  37419. #define ENET_QOS_MAC_L3_L4_CONTROL4_L3SAIM4_SHIFT (3U)
  37420. /*! L3SAIM4 - Layer 3 IP SA Inverse Match Enable When this bit is set, the Layer 3 IP Source Address
  37421. * field is enabled for inverse matching.
  37422. * 0b0..Layer 3 IP SA Inverse Match is disabled
  37423. * 0b1..Layer 3 IP SA Inverse Match is enabled
  37424. */
  37425. #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)
  37426. #define ENET_QOS_MAC_L3_L4_CONTROL4_L3DAM4_MASK (0x10U)
  37427. #define ENET_QOS_MAC_L3_L4_CONTROL4_L3DAM4_SHIFT (4U)
  37428. /*! L3DAM4 - Layer 3 IP DA Match Enable When this bit is set, the Layer 3 IP Destination Address field is enabled for matching.
  37429. * 0b0..Layer 3 IP DA Match is disabled
  37430. * 0b1..Layer 3 IP DA Match is enabled
  37431. */
  37432. #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)
  37433. #define ENET_QOS_MAC_L3_L4_CONTROL4_L3DAIM4_MASK (0x20U)
  37434. #define ENET_QOS_MAC_L3_L4_CONTROL4_L3DAIM4_SHIFT (5U)
  37435. /*! L3DAIM4 - Layer 3 IP DA Inverse Match Enable When this bit is set, the Layer 3 IP Destination
  37436. * Address field is enabled for inverse matching.
  37437. * 0b0..Layer 3 IP DA Inverse Match is disabled
  37438. * 0b1..Layer 3 IP DA Inverse Match is enabled
  37439. */
  37440. #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)
  37441. #define ENET_QOS_MAC_L3_L4_CONTROL4_L3HSBM4_MASK (0x7C0U)
  37442. #define ENET_QOS_MAC_L3_L4_CONTROL4_L3HSBM4_SHIFT (6U)
  37443. /*! L3HSBM4 - Layer 3 IP SA Higher Bits Match IPv4 Packets: This field contains the number of lower
  37444. * bits of IP Source Address that are masked for matching in the IPv4 packets.
  37445. */
  37446. #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)
  37447. #define ENET_QOS_MAC_L3_L4_CONTROL4_L3HDBM4_MASK (0xF800U)
  37448. #define ENET_QOS_MAC_L3_L4_CONTROL4_L3HDBM4_SHIFT (11U)
  37449. /*! L3HDBM4 - Layer 3 IP DA Higher Bits Match IPv4 Packets: This field contains the number of higher
  37450. * bits of IP Destination Address that are matched in the IPv4 packets.
  37451. */
  37452. #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)
  37453. #define ENET_QOS_MAC_L3_L4_CONTROL4_L4PEN4_MASK (0x10000U)
  37454. #define ENET_QOS_MAC_L3_L4_CONTROL4_L4PEN4_SHIFT (16U)
  37455. /*! L4PEN4 - Layer 4 Protocol Enable When this bit is set, the Source and Destination Port number
  37456. * fields of UDP packets are used for matching.
  37457. * 0b0..Layer 4 Protocol is disabled
  37458. * 0b1..Layer 4 Protocol is enabled
  37459. */
  37460. #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)
  37461. #define ENET_QOS_MAC_L3_L4_CONTROL4_L4SPM4_MASK (0x40000U)
  37462. #define ENET_QOS_MAC_L3_L4_CONTROL4_L4SPM4_SHIFT (18U)
  37463. /*! L4SPM4 - Layer 4 Source Port Match Enable When this bit is set, the Layer 4 Source Port number field is enabled for matching.
  37464. * 0b0..Layer 4 Source Port Match is disabled
  37465. * 0b1..Layer 4 Source Port Match is enabled
  37466. */
  37467. #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)
  37468. #define ENET_QOS_MAC_L3_L4_CONTROL4_L4SPIM4_MASK (0x80000U)
  37469. #define ENET_QOS_MAC_L3_L4_CONTROL4_L4SPIM4_SHIFT (19U)
  37470. /*! L4SPIM4 - Layer 4 Source Port Inverse Match Enable When this bit is set, the Layer 4 Source Port
  37471. * number field is enabled for inverse matching.
  37472. * 0b0..Layer 4 Source Port Inverse Match is disabled
  37473. * 0b1..Layer 4 Source Port Inverse Match is enabled
  37474. */
  37475. #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)
  37476. #define ENET_QOS_MAC_L3_L4_CONTROL4_L4DPM4_MASK (0x100000U)
  37477. #define ENET_QOS_MAC_L3_L4_CONTROL4_L4DPM4_SHIFT (20U)
  37478. /*! L4DPM4 - Layer 4 Destination Port Match Enable When this bit is set, the Layer 4 Destination
  37479. * Port number field is enabled for matching.
  37480. * 0b0..Layer 4 Destination Port Match is disabled
  37481. * 0b1..Layer 4 Destination Port Match is enabled
  37482. */
  37483. #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)
  37484. #define ENET_QOS_MAC_L3_L4_CONTROL4_L4DPIM4_MASK (0x200000U)
  37485. #define ENET_QOS_MAC_L3_L4_CONTROL4_L4DPIM4_SHIFT (21U)
  37486. /*! L4DPIM4 - Layer 4 Destination Port Inverse Match Enable When this bit is set, the Layer 4
  37487. * Destination Port number field is enabled for inverse matching.
  37488. * 0b0..Layer 4 Destination Port Inverse Match is disabled
  37489. * 0b1..Layer 4 Destination Port Inverse Match is enabled
  37490. */
  37491. #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)
  37492. #define ENET_QOS_MAC_L3_L4_CONTROL4_DMCHN4_MASK (0x7000000U)
  37493. #define ENET_QOS_MAC_L3_L4_CONTROL4_DMCHN4_SHIFT (24U)
  37494. /*! DMCHN4 - DMA Channel Number When DMCHEN is set high, this field selects the DMA Channel number
  37495. * to which the packet passed by this filter is routed.
  37496. */
  37497. #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)
  37498. #define ENET_QOS_MAC_L3_L4_CONTROL4_DMCHEN4_MASK (0x10000000U)
  37499. #define ENET_QOS_MAC_L3_L4_CONTROL4_DMCHEN4_SHIFT (28U)
  37500. /*! DMCHEN4 - DMA Channel Select Enable When set, this bit enables the selection of the DMA channel
  37501. * number for the packet that is passed by this L3_L4 filter.
  37502. * 0b0..DMA Channel Select is disabled
  37503. * 0b1..DMA Channel Select is enabled
  37504. */
  37505. #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)
  37506. /*! @} */
  37507. /*! @name MAC_LAYER4_ADDRESS4 - Layer 4 Address 4 */
  37508. /*! @{ */
  37509. #define ENET_QOS_MAC_LAYER4_ADDRESS4_L4SP4_MASK (0xFFFFU)
  37510. #define ENET_QOS_MAC_LAYER4_ADDRESS4_L4SP4_SHIFT (0U)
  37511. /*! L4SP4 - Layer 4 Source Port Number Field When the L4PEN0 bit is reset and the L4SPM0 bit is set
  37512. * in the MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with the TCP
  37513. * Source Port Number field in the IPv4 or IPv6 packets.
  37514. */
  37515. #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)
  37516. #define ENET_QOS_MAC_LAYER4_ADDRESS4_L4DP4_MASK (0xFFFF0000U)
  37517. #define ENET_QOS_MAC_LAYER4_ADDRESS4_L4DP4_SHIFT (16U)
  37518. /*! L4DP4 - Layer 4 Destination Port Number Field When the L4PEN0 bit is reset and the L4DPM0 bit is
  37519. * set in the MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with the
  37520. * TCP Destination Port Number field in the IPv4 or IPv6 packets.
  37521. */
  37522. #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)
  37523. /*! @} */
  37524. /*! @name MAC_LAYER3_ADDR0_REG4 - Layer 3 Address 0 Register 4 */
  37525. /*! @{ */
  37526. #define ENET_QOS_MAC_LAYER3_ADDR0_REG4_L3A04_MASK (0xFFFFFFFFU)
  37527. #define ENET_QOS_MAC_LAYER3_ADDR0_REG4_L3A04_SHIFT (0U)
  37528. /*! L3A04 - Layer 3 Address 0 Field When the L3PEN0 and L3SAM0 bits are set in the
  37529. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[31:0] of the IP Source
  37530. * Address field in the IPv6 packets.
  37531. */
  37532. #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)
  37533. /*! @} */
  37534. /*! @name MAC_LAYER3_ADDR1_REG4 - Layer 3 Address 1 Register 4 */
  37535. /*! @{ */
  37536. #define ENET_QOS_MAC_LAYER3_ADDR1_REG4_L3A14_MASK (0xFFFFFFFFU)
  37537. #define ENET_QOS_MAC_LAYER3_ADDR1_REG4_L3A14_SHIFT (0U)
  37538. /*! L3A14 - Layer 3 Address 1 Field When the L3PEN0 and L3SAM0 bits are set in the
  37539. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[63:32] of the IP Source
  37540. * Address field in the IPv6 packets.
  37541. */
  37542. #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)
  37543. /*! @} */
  37544. /*! @name MAC_LAYER3_ADDR2_REG4 - Layer 3 Address 2 Register 4 */
  37545. /*! @{ */
  37546. #define ENET_QOS_MAC_LAYER3_ADDR2_REG4_L3A24_MASK (0xFFFFFFFFU)
  37547. #define ENET_QOS_MAC_LAYER3_ADDR2_REG4_L3A24_SHIFT (0U)
  37548. /*! L3A24 - Layer 3 Address 2 Field When the L3PEN0 and L3SAM0 bits are set in the
  37549. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[95:64] of the IP Source
  37550. * Address field in the IPv6 packets.
  37551. */
  37552. #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)
  37553. /*! @} */
  37554. /*! @name MAC_LAYER3_ADDR3_REG4 - Layer 3 Address 3 Register 4 */
  37555. /*! @{ */
  37556. #define ENET_QOS_MAC_LAYER3_ADDR3_REG4_L3A34_MASK (0xFFFFFFFFU)
  37557. #define ENET_QOS_MAC_LAYER3_ADDR3_REG4_L3A34_SHIFT (0U)
  37558. /*! L3A34 - Layer 3 Address 3 Field When the L3PEN0 and L3SAM0 bits are set in the
  37559. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[127:96] of the IP Source
  37560. * Address field in the IPv6 packets.
  37561. */
  37562. #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)
  37563. /*! @} */
  37564. /*! @name MAC_L3_L4_CONTROL5 - Layer 3 and Layer 4 Control of Filter 5 */
  37565. /*! @{ */
  37566. #define ENET_QOS_MAC_L3_L4_CONTROL5_L3PEN5_MASK (0x1U)
  37567. #define ENET_QOS_MAC_L3_L4_CONTROL5_L3PEN5_SHIFT (0U)
  37568. /*! L3PEN5 - Layer 3 Protocol Enable When this bit is set, the Layer 3 IP Source or Destination
  37569. * Address matching is enabled for IPv6 packets.
  37570. * 0b0..Layer 3 Protocol is disabled
  37571. * 0b1..Layer 3 Protocol is enabled
  37572. */
  37573. #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)
  37574. #define ENET_QOS_MAC_L3_L4_CONTROL5_L3SAM5_MASK (0x4U)
  37575. #define ENET_QOS_MAC_L3_L4_CONTROL5_L3SAM5_SHIFT (2U)
  37576. /*! L3SAM5 - Layer 3 IP SA Match Enable When this bit is set, the Layer 3 IP Source Address field is enabled for matching.
  37577. * 0b0..Layer 3 IP SA Match is disabled
  37578. * 0b1..Layer 3 IP SA Match is enabled
  37579. */
  37580. #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)
  37581. #define ENET_QOS_MAC_L3_L4_CONTROL5_L3SAIM5_MASK (0x8U)
  37582. #define ENET_QOS_MAC_L3_L4_CONTROL5_L3SAIM5_SHIFT (3U)
  37583. /*! L3SAIM5 - Layer 3 IP SA Inverse Match Enable When this bit is set, the Layer 3 IP Source Address
  37584. * field is enabled for inverse matching.
  37585. * 0b0..Layer 3 IP SA Inverse Match is disabled
  37586. * 0b1..Layer 3 IP SA Inverse Match is enabled
  37587. */
  37588. #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)
  37589. #define ENET_QOS_MAC_L3_L4_CONTROL5_L3DAM5_MASK (0x10U)
  37590. #define ENET_QOS_MAC_L3_L4_CONTROL5_L3DAM5_SHIFT (4U)
  37591. /*! L3DAM5 - Layer 3 IP DA Match Enable When this bit is set, the Layer 3 IP Destination Address field is enabled for matching.
  37592. * 0b0..Layer 3 IP DA Match is disabled
  37593. * 0b1..Layer 3 IP DA Match is enabled
  37594. */
  37595. #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)
  37596. #define ENET_QOS_MAC_L3_L4_CONTROL5_L3DAIM5_MASK (0x20U)
  37597. #define ENET_QOS_MAC_L3_L4_CONTROL5_L3DAIM5_SHIFT (5U)
  37598. /*! L3DAIM5 - Layer 3 IP DA Inverse Match Enable When this bit is set, the Layer 3 IP Destination
  37599. * Address field is enabled for inverse matching.
  37600. * 0b0..Layer 3 IP DA Inverse Match is disabled
  37601. * 0b1..Layer 3 IP DA Inverse Match is enabled
  37602. */
  37603. #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)
  37604. #define ENET_QOS_MAC_L3_L4_CONTROL5_L3HSBM5_MASK (0x7C0U)
  37605. #define ENET_QOS_MAC_L3_L4_CONTROL5_L3HSBM5_SHIFT (6U)
  37606. /*! L3HSBM5 - Layer 3 IP SA Higher Bits Match IPv4 Packets: This field contains the number of lower
  37607. * bits of IP Source Address that are masked for matching in the IPv4 packets.
  37608. */
  37609. #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)
  37610. #define ENET_QOS_MAC_L3_L4_CONTROL5_L3HDBM5_MASK (0xF800U)
  37611. #define ENET_QOS_MAC_L3_L4_CONTROL5_L3HDBM5_SHIFT (11U)
  37612. /*! L3HDBM5 - Layer 3 IP DA Higher Bits Match IPv4 Packets: This field contains the number of higher
  37613. * bits of IP Destination Address that are matched in the IPv4 packets.
  37614. */
  37615. #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)
  37616. #define ENET_QOS_MAC_L3_L4_CONTROL5_L4PEN5_MASK (0x10000U)
  37617. #define ENET_QOS_MAC_L3_L4_CONTROL5_L4PEN5_SHIFT (16U)
  37618. /*! L4PEN5 - Layer 4 Protocol Enable When this bit is set, the Source and Destination Port number
  37619. * fields of UDP packets are used for matching.
  37620. * 0b0..Layer 4 Protocol is disabled
  37621. * 0b1..Layer 4 Protocol is enabled
  37622. */
  37623. #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)
  37624. #define ENET_QOS_MAC_L3_L4_CONTROL5_L4SPM5_MASK (0x40000U)
  37625. #define ENET_QOS_MAC_L3_L4_CONTROL5_L4SPM5_SHIFT (18U)
  37626. /*! L4SPM5 - Layer 4 Source Port Match Enable When this bit is set, the Layer 4 Source Port number field is enabled for matching.
  37627. * 0b0..Layer 4 Source Port Match is disabled
  37628. * 0b1..Layer 4 Source Port Match is enabled
  37629. */
  37630. #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)
  37631. #define ENET_QOS_MAC_L3_L4_CONTROL5_L4SPIM5_MASK (0x80000U)
  37632. #define ENET_QOS_MAC_L3_L4_CONTROL5_L4SPIM5_SHIFT (19U)
  37633. /*! L4SPIM5 - Layer 4 Source Port Inverse Match Enable When this bit is set, the Layer 4 Source Port
  37634. * number field is enabled for inverse matching.
  37635. * 0b0..Layer 4 Source Port Inverse Match is disabled
  37636. * 0b1..Layer 4 Source Port Inverse Match is enabled
  37637. */
  37638. #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)
  37639. #define ENET_QOS_MAC_L3_L4_CONTROL5_L4DPM5_MASK (0x100000U)
  37640. #define ENET_QOS_MAC_L3_L4_CONTROL5_L4DPM5_SHIFT (20U)
  37641. /*! L4DPM5 - Layer 4 Destination Port Match Enable When this bit is set, the Layer 4 Destination
  37642. * Port number field is enabled for matching.
  37643. * 0b0..Layer 4 Destination Port Match is disabled
  37644. * 0b1..Layer 4 Destination Port Match is enabled
  37645. */
  37646. #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)
  37647. #define ENET_QOS_MAC_L3_L4_CONTROL5_L4DPIM5_MASK (0x200000U)
  37648. #define ENET_QOS_MAC_L3_L4_CONTROL5_L4DPIM5_SHIFT (21U)
  37649. /*! L4DPIM5 - Layer 4 Destination Port Inverse Match Enable When this bit is set, the Layer 4
  37650. * Destination Port number field is enabled for inverse matching.
  37651. * 0b0..Layer 4 Destination Port Inverse Match is disabled
  37652. * 0b1..Layer 4 Destination Port Inverse Match is enabled
  37653. */
  37654. #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)
  37655. #define ENET_QOS_MAC_L3_L4_CONTROL5_DMCHN5_MASK (0x7000000U)
  37656. #define ENET_QOS_MAC_L3_L4_CONTROL5_DMCHN5_SHIFT (24U)
  37657. /*! DMCHN5 - DMA Channel Number When DMCHEN is set high, this field selects the DMA Channel number
  37658. * to which the packet passed by this filter is routed.
  37659. */
  37660. #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)
  37661. #define ENET_QOS_MAC_L3_L4_CONTROL5_DMCHEN5_MASK (0x10000000U)
  37662. #define ENET_QOS_MAC_L3_L4_CONTROL5_DMCHEN5_SHIFT (28U)
  37663. /*! DMCHEN5 - DMA Channel Select Enable When set, this bit enables the selection of the DMA channel
  37664. * number for the packet that is passed by this L3_L4 filter.
  37665. * 0b0..DMA Channel Select is disabled
  37666. * 0b1..DMA Channel Select is enabled
  37667. */
  37668. #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)
  37669. /*! @} */
  37670. /*! @name MAC_LAYER4_ADDRESS5 - Layer 4 Address 5 */
  37671. /*! @{ */
  37672. #define ENET_QOS_MAC_LAYER4_ADDRESS5_L4SP5_MASK (0xFFFFU)
  37673. #define ENET_QOS_MAC_LAYER4_ADDRESS5_L4SP5_SHIFT (0U)
  37674. /*! L4SP5 - Layer 4 Source Port Number Field When the L4PEN0 bit is reset and the L4SPM0 bit is set
  37675. * in the MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with the TCP
  37676. * Source Port Number field in the IPv4 or IPv6 packets.
  37677. */
  37678. #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)
  37679. #define ENET_QOS_MAC_LAYER4_ADDRESS5_L4DP5_MASK (0xFFFF0000U)
  37680. #define ENET_QOS_MAC_LAYER4_ADDRESS5_L4DP5_SHIFT (16U)
  37681. /*! L4DP5 - Layer 4 Destination Port Number Field When the L4PEN0 bit is reset and the L4DPM0 bit is
  37682. * set in the MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with the
  37683. * TCP Destination Port Number field in the IPv4 or IPv6 packets.
  37684. */
  37685. #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)
  37686. /*! @} */
  37687. /*! @name MAC_LAYER3_ADDR0_REG5 - Layer 3 Address 0 Register 5 */
  37688. /*! @{ */
  37689. #define ENET_QOS_MAC_LAYER3_ADDR0_REG5_L3A05_MASK (0xFFFFFFFFU)
  37690. #define ENET_QOS_MAC_LAYER3_ADDR0_REG5_L3A05_SHIFT (0U)
  37691. /*! L3A05 - Layer 3 Address 0 Field When the L3PEN0 and L3SAM0 bits are set in the
  37692. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[31:0] of the IP Source
  37693. * Address field in the IPv6 packets.
  37694. */
  37695. #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)
  37696. /*! @} */
  37697. /*! @name MAC_LAYER3_ADDR1_REG5 - Layer 3 Address 1 Register 5 */
  37698. /*! @{ */
  37699. #define ENET_QOS_MAC_LAYER3_ADDR1_REG5_L3A15_MASK (0xFFFFFFFFU)
  37700. #define ENET_QOS_MAC_LAYER3_ADDR1_REG5_L3A15_SHIFT (0U)
  37701. /*! L3A15 - Layer 3 Address 1 Field When the L3PEN0 and L3SAM0 bits are set in the
  37702. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[63:32] of the IP Source
  37703. * Address field in the IPv6 packets.
  37704. */
  37705. #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)
  37706. /*! @} */
  37707. /*! @name MAC_LAYER3_ADDR2_REG5 - Layer 3 Address 2 Register 5 */
  37708. /*! @{ */
  37709. #define ENET_QOS_MAC_LAYER3_ADDR2_REG5_L3A25_MASK (0xFFFFFFFFU)
  37710. #define ENET_QOS_MAC_LAYER3_ADDR2_REG5_L3A25_SHIFT (0U)
  37711. /*! L3A25 - Layer 3 Address 2 Field When the L3PEN0 and L3SAM0 bits are set in the
  37712. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[95:64] of the IP Source
  37713. * Address field in the IPv6 packets.
  37714. */
  37715. #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)
  37716. /*! @} */
  37717. /*! @name MAC_LAYER3_ADDR3_REG5 - Layer 3 Address 3 Register 5 */
  37718. /*! @{ */
  37719. #define ENET_QOS_MAC_LAYER3_ADDR3_REG5_L3A35_MASK (0xFFFFFFFFU)
  37720. #define ENET_QOS_MAC_LAYER3_ADDR3_REG5_L3A35_SHIFT (0U)
  37721. /*! L3A35 - Layer 3 Address 3 Field When the L3PEN0 and L3SAM0 bits are set in the
  37722. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[127:96] of the IP Source
  37723. * Address field in the IPv6 packets.
  37724. */
  37725. #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)
  37726. /*! @} */
  37727. /*! @name MAC_L3_L4_CONTROL6 - Layer 3 and Layer 4 Control of Filter 6 */
  37728. /*! @{ */
  37729. #define ENET_QOS_MAC_L3_L4_CONTROL6_L3PEN6_MASK (0x1U)
  37730. #define ENET_QOS_MAC_L3_L4_CONTROL6_L3PEN6_SHIFT (0U)
  37731. /*! L3PEN6 - Layer 3 Protocol Enable When this bit is set, the Layer 3 IP Source or Destination
  37732. * Address matching is enabled for IPv6 packets.
  37733. * 0b0..Layer 3 Protocol is disabled
  37734. * 0b1..Layer 3 Protocol is enabled
  37735. */
  37736. #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)
  37737. #define ENET_QOS_MAC_L3_L4_CONTROL6_L3SAM6_MASK (0x4U)
  37738. #define ENET_QOS_MAC_L3_L4_CONTROL6_L3SAM6_SHIFT (2U)
  37739. /*! L3SAM6 - Layer 3 IP SA Match Enable When this bit is set, the Layer 3 IP Source Address field is enabled for matching.
  37740. * 0b0..Layer 3 IP SA Match is disabled
  37741. * 0b1..Layer 3 IP SA Match is enabled
  37742. */
  37743. #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)
  37744. #define ENET_QOS_MAC_L3_L4_CONTROL6_L3SAIM6_MASK (0x8U)
  37745. #define ENET_QOS_MAC_L3_L4_CONTROL6_L3SAIM6_SHIFT (3U)
  37746. /*! L3SAIM6 - Layer 3 IP SA Inverse Match Enable When this bit is set, the Layer 3 IP Source Address
  37747. * field is enabled for inverse matching.
  37748. * 0b0..Layer 3 IP SA Inverse Match is disabled
  37749. * 0b1..Layer 3 IP SA Inverse Match is enabled
  37750. */
  37751. #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)
  37752. #define ENET_QOS_MAC_L3_L4_CONTROL6_L3DAM6_MASK (0x10U)
  37753. #define ENET_QOS_MAC_L3_L4_CONTROL6_L3DAM6_SHIFT (4U)
  37754. /*! L3DAM6 - Layer 3 IP DA Match Enable When this bit is set, the Layer 3 IP Destination Address field is enabled for matching.
  37755. * 0b0..Layer 3 IP DA Match is disabled
  37756. * 0b1..Layer 3 IP DA Match is enabled
  37757. */
  37758. #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)
  37759. #define ENET_QOS_MAC_L3_L4_CONTROL6_L3DAIM6_MASK (0x20U)
  37760. #define ENET_QOS_MAC_L3_L4_CONTROL6_L3DAIM6_SHIFT (5U)
  37761. /*! L3DAIM6 - Layer 3 IP DA Inverse Match Enable When this bit is set, the Layer 3 IP Destination
  37762. * Address field is enabled for inverse matching.
  37763. * 0b0..Layer 3 IP DA Inverse Match is disabled
  37764. * 0b1..Layer 3 IP DA Inverse Match is enabled
  37765. */
  37766. #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)
  37767. #define ENET_QOS_MAC_L3_L4_CONTROL6_L3HSBM6_MASK (0x7C0U)
  37768. #define ENET_QOS_MAC_L3_L4_CONTROL6_L3HSBM6_SHIFT (6U)
  37769. /*! L3HSBM6 - Layer 3 IP SA Higher Bits Match IPv4 Packets: This field contains the number of lower
  37770. * bits of IP Source Address that are masked for matching in the IPv4 packets.
  37771. */
  37772. #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)
  37773. #define ENET_QOS_MAC_L3_L4_CONTROL6_L3HDBM6_MASK (0xF800U)
  37774. #define ENET_QOS_MAC_L3_L4_CONTROL6_L3HDBM6_SHIFT (11U)
  37775. /*! L3HDBM6 - Layer 3 IP DA Higher Bits Match IPv4 Packets: This field contains the number of higher
  37776. * bits of IP Destination Address that are matched in the IPv4 packets.
  37777. */
  37778. #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)
  37779. #define ENET_QOS_MAC_L3_L4_CONTROL6_L4PEN6_MASK (0x10000U)
  37780. #define ENET_QOS_MAC_L3_L4_CONTROL6_L4PEN6_SHIFT (16U)
  37781. /*! L4PEN6 - Layer 4 Protocol Enable When this bit is set, the Source and Destination Port number
  37782. * fields of UDP packets are used for matching.
  37783. * 0b0..Layer 4 Protocol is disabled
  37784. * 0b1..Layer 4 Protocol is enabled
  37785. */
  37786. #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)
  37787. #define ENET_QOS_MAC_L3_L4_CONTROL6_L4SPM6_MASK (0x40000U)
  37788. #define ENET_QOS_MAC_L3_L4_CONTROL6_L4SPM6_SHIFT (18U)
  37789. /*! L4SPM6 - Layer 4 Source Port Match Enable When this bit is set, the Layer 4 Source Port number field is enabled for matching.
  37790. * 0b0..Layer 4 Source Port Match is disabled
  37791. * 0b1..Layer 4 Source Port Match is enabled
  37792. */
  37793. #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)
  37794. #define ENET_QOS_MAC_L3_L4_CONTROL6_L4SPIM6_MASK (0x80000U)
  37795. #define ENET_QOS_MAC_L3_L4_CONTROL6_L4SPIM6_SHIFT (19U)
  37796. /*! L4SPIM6 - Layer 4 Source Port Inverse Match Enable When this bit is set, the Layer 4 Source Port
  37797. * number field is enabled for inverse matching.
  37798. * 0b0..Layer 4 Source Port Inverse Match is disabled
  37799. * 0b1..Layer 4 Source Port Inverse Match is enabled
  37800. */
  37801. #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)
  37802. #define ENET_QOS_MAC_L3_L4_CONTROL6_L4DPM6_MASK (0x100000U)
  37803. #define ENET_QOS_MAC_L3_L4_CONTROL6_L4DPM6_SHIFT (20U)
  37804. /*! L4DPM6 - Layer 4 Destination Port Match Enable When this bit is set, the Layer 4 Destination
  37805. * Port number field is enabled for matching.
  37806. * 0b0..Layer 4 Destination Port Match is disabled
  37807. * 0b1..Layer 4 Destination Port Match is enabled
  37808. */
  37809. #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)
  37810. #define ENET_QOS_MAC_L3_L4_CONTROL6_L4DPIM6_MASK (0x200000U)
  37811. #define ENET_QOS_MAC_L3_L4_CONTROL6_L4DPIM6_SHIFT (21U)
  37812. /*! L4DPIM6 - Layer 4 Destination Port Inverse Match Enable When this bit is set, the Layer 4
  37813. * Destination Port number field is enabled for inverse matching.
  37814. * 0b0..Layer 4 Destination Port Inverse Match is disabled
  37815. * 0b1..Layer 4 Destination Port Inverse Match is enabled
  37816. */
  37817. #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)
  37818. #define ENET_QOS_MAC_L3_L4_CONTROL6_DMCHN6_MASK (0x7000000U)
  37819. #define ENET_QOS_MAC_L3_L4_CONTROL6_DMCHN6_SHIFT (24U)
  37820. /*! DMCHN6 - DMA Channel Number When DMCHEN is set high, this field selects the DMA Channel number
  37821. * to which the packet passed by this filter is routed.
  37822. */
  37823. #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)
  37824. #define ENET_QOS_MAC_L3_L4_CONTROL6_DMCHEN6_MASK (0x10000000U)
  37825. #define ENET_QOS_MAC_L3_L4_CONTROL6_DMCHEN6_SHIFT (28U)
  37826. /*! DMCHEN6 - DMA Channel Select Enable When set, this bit enables the selection of the DMA channel
  37827. * number for the packet that is passed by this L3_L4 filter.
  37828. * 0b0..DMA Channel Select is disabled
  37829. * 0b1..DMA Channel Select is enabled
  37830. */
  37831. #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)
  37832. /*! @} */
  37833. /*! @name MAC_LAYER4_ADDRESS6 - Layer 4 Address 6 */
  37834. /*! @{ */
  37835. #define ENET_QOS_MAC_LAYER4_ADDRESS6_L4SP6_MASK (0xFFFFU)
  37836. #define ENET_QOS_MAC_LAYER4_ADDRESS6_L4SP6_SHIFT (0U)
  37837. /*! L4SP6 - Layer 4 Source Port Number Field When the L4PEN0 bit is reset and the L4SPM0 bit is set
  37838. * in the MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with the TCP
  37839. * Source Port Number field in the IPv4 or IPv6 packets.
  37840. */
  37841. #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)
  37842. #define ENET_QOS_MAC_LAYER4_ADDRESS6_L4DP6_MASK (0xFFFF0000U)
  37843. #define ENET_QOS_MAC_LAYER4_ADDRESS6_L4DP6_SHIFT (16U)
  37844. /*! L4DP6 - Layer 4 Destination Port Number Field When the L4PEN0 bit is reset and the L4DPM0 bit is
  37845. * set in the MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with the
  37846. * TCP Destination Port Number field in the IPv4 or IPv6 packets.
  37847. */
  37848. #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)
  37849. /*! @} */
  37850. /*! @name MAC_LAYER3_ADDR0_REG6 - Layer 3 Address 0 Register 6 */
  37851. /*! @{ */
  37852. #define ENET_QOS_MAC_LAYER3_ADDR0_REG6_L3A06_MASK (0xFFFFFFFFU)
  37853. #define ENET_QOS_MAC_LAYER3_ADDR0_REG6_L3A06_SHIFT (0U)
  37854. /*! L3A06 - Layer 3 Address 0 Field When the L3PEN0 and L3SAM0 bits are set in the
  37855. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[31:0] of the IP Source
  37856. * Address field in the IPv6 packets.
  37857. */
  37858. #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)
  37859. /*! @} */
  37860. /*! @name MAC_LAYER3_ADDR1_REG6 - Layer 3 Address 1 Register 6 */
  37861. /*! @{ */
  37862. #define ENET_QOS_MAC_LAYER3_ADDR1_REG6_L3A16_MASK (0xFFFFFFFFU)
  37863. #define ENET_QOS_MAC_LAYER3_ADDR1_REG6_L3A16_SHIFT (0U)
  37864. /*! L3A16 - Layer 3 Address 1 Field When the L3PEN0 and L3SAM0 bits are set in the
  37865. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[63:32] of the IP Source
  37866. * Address field in the IPv6 packets.
  37867. */
  37868. #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)
  37869. /*! @} */
  37870. /*! @name MAC_LAYER3_ADDR2_REG6 - Layer 3 Address 2 Register 6 */
  37871. /*! @{ */
  37872. #define ENET_QOS_MAC_LAYER3_ADDR2_REG6_L3A26_MASK (0xFFFFFFFFU)
  37873. #define ENET_QOS_MAC_LAYER3_ADDR2_REG6_L3A26_SHIFT (0U)
  37874. /*! L3A26 - Layer 3 Address 2 Field When the L3PEN0 and L3SAM0 bits are set in the
  37875. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[95:64] of the IP Source
  37876. * Address field in the IPv6 packets.
  37877. */
  37878. #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)
  37879. /*! @} */
  37880. /*! @name MAC_LAYER3_ADDR3_REG6 - Layer 3 Address 3 Register 6 */
  37881. /*! @{ */
  37882. #define ENET_QOS_MAC_LAYER3_ADDR3_REG6_L3A36_MASK (0xFFFFFFFFU)
  37883. #define ENET_QOS_MAC_LAYER3_ADDR3_REG6_L3A36_SHIFT (0U)
  37884. /*! L3A36 - Layer 3 Address 3 Field When the L3PEN0 and L3SAM0 bits are set in the
  37885. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[127:96] of the IP Source
  37886. * Address field in the IPv6 packets.
  37887. */
  37888. #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)
  37889. /*! @} */
  37890. /*! @name MAC_L3_L4_CONTROL7 - Layer 3 and Layer 4 Control of Filter 0 */
  37891. /*! @{ */
  37892. #define ENET_QOS_MAC_L3_L4_CONTROL7_L3PEN7_MASK (0x1U)
  37893. #define ENET_QOS_MAC_L3_L4_CONTROL7_L3PEN7_SHIFT (0U)
  37894. /*! L3PEN7 - Layer 3 Protocol Enable When this bit is set, the Layer 3 IP Source or Destination
  37895. * Address matching is enabled for IPv6 packets.
  37896. * 0b0..Layer 3 Protocol is disabled
  37897. * 0b1..Layer 3 Protocol is enabled
  37898. */
  37899. #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)
  37900. #define ENET_QOS_MAC_L3_L4_CONTROL7_L3SAM7_MASK (0x4U)
  37901. #define ENET_QOS_MAC_L3_L4_CONTROL7_L3SAM7_SHIFT (2U)
  37902. /*! L3SAM7 - Layer 3 IP SA Match Enable When this bit is set, the Layer 3 IP Source Address field is enabled for matching.
  37903. * 0b0..Layer 3 IP SA Match is disabled
  37904. * 0b1..Layer 3 IP SA Match is enabled
  37905. */
  37906. #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)
  37907. #define ENET_QOS_MAC_L3_L4_CONTROL7_L3SAIM7_MASK (0x8U)
  37908. #define ENET_QOS_MAC_L3_L4_CONTROL7_L3SAIM7_SHIFT (3U)
  37909. /*! L3SAIM7 - Layer 3 IP SA Inverse Match Enable When this bit is set, the Layer 3 IP Source Address
  37910. * field is enabled for inverse matching.
  37911. * 0b0..Layer 3 IP SA Inverse Match is disabled
  37912. * 0b1..Layer 3 IP SA Inverse Match is enabled
  37913. */
  37914. #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)
  37915. #define ENET_QOS_MAC_L3_L4_CONTROL7_L3DAM7_MASK (0x10U)
  37916. #define ENET_QOS_MAC_L3_L4_CONTROL7_L3DAM7_SHIFT (4U)
  37917. /*! L3DAM7 - Layer 3 IP DA Match Enable When this bit is set, the Layer 3 IP Destination Address field is enabled for matching.
  37918. * 0b0..Layer 3 IP DA Match is disabled
  37919. * 0b1..Layer 3 IP DA Match is enabled
  37920. */
  37921. #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)
  37922. #define ENET_QOS_MAC_L3_L4_CONTROL7_L3DAIM7_MASK (0x20U)
  37923. #define ENET_QOS_MAC_L3_L4_CONTROL7_L3DAIM7_SHIFT (5U)
  37924. /*! L3DAIM7 - Layer 3 IP DA Inverse Match Enable When this bit is set, the Layer 3 IP Destination
  37925. * Address field is enabled for inverse matching.
  37926. * 0b0..Layer 3 IP DA Inverse Match is disabled
  37927. * 0b1..Layer 3 IP DA Inverse Match is enabled
  37928. */
  37929. #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)
  37930. #define ENET_QOS_MAC_L3_L4_CONTROL7_L3HSBM7_MASK (0x7C0U)
  37931. #define ENET_QOS_MAC_L3_L4_CONTROL7_L3HSBM7_SHIFT (6U)
  37932. /*! L3HSBM7 - Layer 3 IP SA Higher Bits Match IPv4 Packets: This field contains the number of lower
  37933. * bits of IP Source Address that are masked for matching in the IPv4 packets.
  37934. */
  37935. #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)
  37936. #define ENET_QOS_MAC_L3_L4_CONTROL7_L3HDBM7_MASK (0xF800U)
  37937. #define ENET_QOS_MAC_L3_L4_CONTROL7_L3HDBM7_SHIFT (11U)
  37938. /*! L3HDBM7 - Layer 3 IP DA Higher Bits Match IPv4 Packets: This field contains the number of higher
  37939. * bits of IP Destination Address that are matched in the IPv4 packets.
  37940. */
  37941. #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)
  37942. #define ENET_QOS_MAC_L3_L4_CONTROL7_L4PEN7_MASK (0x10000U)
  37943. #define ENET_QOS_MAC_L3_L4_CONTROL7_L4PEN7_SHIFT (16U)
  37944. /*! L4PEN7 - Layer 4 Protocol Enable When this bit is set, the Source and Destination Port number
  37945. * fields of UDP packets are used for matching.
  37946. * 0b0..Layer 4 Protocol is disabled
  37947. * 0b1..Layer 4 Protocol is enabled
  37948. */
  37949. #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)
  37950. #define ENET_QOS_MAC_L3_L4_CONTROL7_L4SPM7_MASK (0x40000U)
  37951. #define ENET_QOS_MAC_L3_L4_CONTROL7_L4SPM7_SHIFT (18U)
  37952. /*! L4SPM7 - Layer 4 Source Port Match Enable When this bit is set, the Layer 4 Source Port number field is enabled for matching.
  37953. * 0b0..Layer 4 Source Port Match is disabled
  37954. * 0b1..Layer 4 Source Port Match is enabled
  37955. */
  37956. #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)
  37957. #define ENET_QOS_MAC_L3_L4_CONTROL7_L4SPIM7_MASK (0x80000U)
  37958. #define ENET_QOS_MAC_L3_L4_CONTROL7_L4SPIM7_SHIFT (19U)
  37959. /*! L4SPIM7 - Layer 4 Source Port Inverse Match Enable When this bit is set, the Layer 4 Source Port
  37960. * number field is enabled for inverse matching.
  37961. * 0b0..Layer 4 Source Port Inverse Match is disabled
  37962. * 0b1..Layer 4 Source Port Inverse Match is enabled
  37963. */
  37964. #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)
  37965. #define ENET_QOS_MAC_L3_L4_CONTROL7_L4DPM7_MASK (0x100000U)
  37966. #define ENET_QOS_MAC_L3_L4_CONTROL7_L4DPM7_SHIFT (20U)
  37967. /*! L4DPM7 - Layer 4 Destination Port Match Enable When this bit is set, the Layer 4 Destination
  37968. * Port number field is enabled for matching.
  37969. * 0b0..Layer 4 Destination Port Match is disabled
  37970. * 0b1..Layer 4 Destination Port Match is enabled
  37971. */
  37972. #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)
  37973. #define ENET_QOS_MAC_L3_L4_CONTROL7_L4DPIM7_MASK (0x200000U)
  37974. #define ENET_QOS_MAC_L3_L4_CONTROL7_L4DPIM7_SHIFT (21U)
  37975. /*! L4DPIM7 - Layer 4 Destination Port Inverse Match Enable When this bit is set, the Layer 4
  37976. * Destination Port number field is enabled for inverse matching.
  37977. * 0b0..Layer 4 Destination Port Inverse Match is disabled
  37978. * 0b1..Layer 4 Destination Port Inverse Match is enabled
  37979. */
  37980. #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)
  37981. #define ENET_QOS_MAC_L3_L4_CONTROL7_DMCHN7_MASK (0x7000000U)
  37982. #define ENET_QOS_MAC_L3_L4_CONTROL7_DMCHN7_SHIFT (24U)
  37983. /*! DMCHN7 - DMA Channel Number When DMCHEN is set high, this field selects the DMA Channel number
  37984. * to which the packet passed by this filter is routed.
  37985. */
  37986. #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)
  37987. #define ENET_QOS_MAC_L3_L4_CONTROL7_DMCHEN7_MASK (0x10000000U)
  37988. #define ENET_QOS_MAC_L3_L4_CONTROL7_DMCHEN7_SHIFT (28U)
  37989. /*! DMCHEN7 - DMA Channel Select Enable When set, this bit enables the selection of the DMA channel
  37990. * number for the packet that is passed by this L3_L4 filter.
  37991. * 0b0..DMA Channel Select is disabled
  37992. * 0b1..DMA Channel Select is enabled
  37993. */
  37994. #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)
  37995. /*! @} */
  37996. /*! @name MAC_LAYER4_ADDRESS7 - Layer 4 Address 7 */
  37997. /*! @{ */
  37998. #define ENET_QOS_MAC_LAYER4_ADDRESS7_L4SP7_MASK (0xFFFFU)
  37999. #define ENET_QOS_MAC_LAYER4_ADDRESS7_L4SP7_SHIFT (0U)
  38000. /*! L4SP7 - Layer 4 Source Port Number Field When the L4PEN0 bit is reset and the L4SPM0 bit is set
  38001. * in the MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with the TCP
  38002. * Source Port Number field in the IPv4 or IPv6 packets.
  38003. */
  38004. #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)
  38005. #define ENET_QOS_MAC_LAYER4_ADDRESS7_L4DP7_MASK (0xFFFF0000U)
  38006. #define ENET_QOS_MAC_LAYER4_ADDRESS7_L4DP7_SHIFT (16U)
  38007. /*! L4DP7 - Layer 4 Destination Port Number Field When the L4PEN0 bit is reset and the L4DPM0 bit is
  38008. * set in the MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with the
  38009. * TCP Destination Port Number field in the IPv4 or IPv6 packets.
  38010. */
  38011. #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)
  38012. /*! @} */
  38013. /*! @name MAC_LAYER3_ADDR0_REG7 - Layer 3 Address 0 Register 7 */
  38014. /*! @{ */
  38015. #define ENET_QOS_MAC_LAYER3_ADDR0_REG7_L3A07_MASK (0xFFFFFFFFU)
  38016. #define ENET_QOS_MAC_LAYER3_ADDR0_REG7_L3A07_SHIFT (0U)
  38017. /*! L3A07 - Layer 3 Address 0 Field When the L3PEN0 and L3SAM0 bits are set in the
  38018. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[31:0] of the IP Source
  38019. * Address field in the IPv6 packets.
  38020. */
  38021. #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)
  38022. /*! @} */
  38023. /*! @name MAC_LAYER3_ADDR1_REG7 - Layer 3 Address 1 Register 7 */
  38024. /*! @{ */
  38025. #define ENET_QOS_MAC_LAYER3_ADDR1_REG7_L3A17_MASK (0xFFFFFFFFU)
  38026. #define ENET_QOS_MAC_LAYER3_ADDR1_REG7_L3A17_SHIFT (0U)
  38027. /*! L3A17 - Layer 3 Address 1 Field When the L3PEN0 and L3SAM0 bits are set in the
  38028. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[63:32] of the IP Source
  38029. * Address field in the IPv6 packets.
  38030. */
  38031. #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)
  38032. /*! @} */
  38033. /*! @name MAC_LAYER3_ADDR2_REG7 - Layer 3 Address 2 Register 7 */
  38034. /*! @{ */
  38035. #define ENET_QOS_MAC_LAYER3_ADDR2_REG7_L3A27_MASK (0xFFFFFFFFU)
  38036. #define ENET_QOS_MAC_LAYER3_ADDR2_REG7_L3A27_SHIFT (0U)
  38037. /*! L3A27 - Layer 3 Address 2 Field When the L3PEN0 and L3SAM0 bits are set in the
  38038. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[95:64] of the IP Source
  38039. * Address field in the IPv6 packets.
  38040. */
  38041. #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)
  38042. /*! @} */
  38043. /*! @name MAC_LAYER3_ADDR3_REG7 - Layer 3 Address 3 Register 7 */
  38044. /*! @{ */
  38045. #define ENET_QOS_MAC_LAYER3_ADDR3_REG7_L3A37_MASK (0xFFFFFFFFU)
  38046. #define ENET_QOS_MAC_LAYER3_ADDR3_REG7_L3A37_SHIFT (0U)
  38047. /*! L3A37 - Layer 3 Address 3 Field When the L3PEN0 and L3SAM0 bits are set in the
  38048. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[127:96] of the IP Source
  38049. * Address field in the IPv6 packets.
  38050. */
  38051. #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)
  38052. /*! @} */
  38053. /*! @name MAC_TIMESTAMP_CONTROL - Timestamp Control */
  38054. /*! @{ */
  38055. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSENA_MASK (0x1U)
  38056. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSENA_SHIFT (0U)
  38057. /*! TSENA - Enable Timestamp When this bit is set, the timestamp is added for Transmit and Receive packets.
  38058. * 0b0..Timestamp is disabled
  38059. * 0b1..Timestamp is enabled
  38060. */
  38061. #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)
  38062. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSCFUPDT_MASK (0x2U)
  38063. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSCFUPDT_SHIFT (1U)
  38064. /*! TSCFUPDT - Fine or Coarse Timestamp Update When this bit is set, the Fine method is used to update system timestamp.
  38065. * 0b0..Coarse method is used to update system timestamp
  38066. * 0b1..Fine method is used to update system timestamp
  38067. */
  38068. #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)
  38069. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSINIT_MASK (0x4U)
  38070. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSINIT_SHIFT (2U)
  38071. /*! TSINIT - Initialize Timestamp When this bit is set, the system time is initialized (overwritten)
  38072. * with the value specified in the MAC_System_Time_Seconds_Update and
  38073. * MAC_System_Time_Nanoseconds_Update registers.
  38074. * 0b0..Timestamp is not initialized
  38075. * 0b1..Timestamp is initialized
  38076. */
  38077. #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)
  38078. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSUPDT_MASK (0x8U)
  38079. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSUPDT_SHIFT (3U)
  38080. /*! TSUPDT - Update Timestamp When this bit is set, the system time is updated (added or subtracted)
  38081. * with the value specified in MAC_System_Time_Seconds_Update and
  38082. * MAC_System_Time_Nanoseconds_Update registers.
  38083. * 0b0..Timestamp is not updated
  38084. * 0b1..Timestamp is updated
  38085. */
  38086. #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)
  38087. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSADDREG_MASK (0x20U)
  38088. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSADDREG_SHIFT (5U)
  38089. /*! TSADDREG - Update Addend Register When this bit is set, the content of the Timestamp Addend
  38090. * register is updated in the PTP block for fine correction.
  38091. * 0b0..Addend Register is not updated
  38092. * 0b1..Addend Register is updated
  38093. */
  38094. #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)
  38095. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_PTGE_MASK (0x40U)
  38096. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_PTGE_SHIFT (6U)
  38097. /*! PTGE - Presentation Time Generation Enable When this bit is set the Presentation Time generation will be enabled.
  38098. * 0b0..Presentation Time Generation is disabled
  38099. * 0b1..Presentation Time Generation is enabled
  38100. */
  38101. #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)
  38102. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSENALL_MASK (0x100U)
  38103. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSENALL_SHIFT (8U)
  38104. /*! TSENALL - Enable Timestamp for All Packets When this bit is set, the timestamp snapshot is
  38105. * enabled for all packets received by the MAC.
  38106. * 0b0..Timestamp for All Packets disabled
  38107. * 0b1..Timestamp for All Packets enabled
  38108. */
  38109. #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)
  38110. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSCTRLSSR_MASK (0x200U)
  38111. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSCTRLSSR_SHIFT (9U)
  38112. /*! TSCTRLSSR - Timestamp Digital or Binary Rollover Control When this bit is set, the Timestamp Low
  38113. * register rolls over after 0x3B9A_C9FF value (that is, 1 nanosecond accuracy) and increments
  38114. * the timestamp (High) seconds.
  38115. * 0b0..Timestamp Digital or Binary Rollover Control is disabled
  38116. * 0b1..Timestamp Digital or Binary Rollover Control is enabled
  38117. */
  38118. #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)
  38119. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSVER2ENA_MASK (0x400U)
  38120. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSVER2ENA_SHIFT (10U)
  38121. /*! TSVER2ENA - Enable PTP Packet Processing for Version 2 Format When this bit is set, the IEEE
  38122. * 1588 version 2 format is used to process the PTP packets.
  38123. * 0b0..PTP Packet Processing for Version 2 Format is disabled
  38124. * 0b1..PTP Packet Processing for Version 2 Format is enabled
  38125. */
  38126. #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)
  38127. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSIPENA_MASK (0x800U)
  38128. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSIPENA_SHIFT (11U)
  38129. /*! TSIPENA - Enable Processing of PTP over Ethernet Packets When this bit is set, the MAC receiver
  38130. * processes the PTP packets encapsulated directly in the Ethernet packets.
  38131. * 0b0..Processing of PTP over Ethernet Packets is disabled
  38132. * 0b1..Processing of PTP over Ethernet Packets is enabled
  38133. */
  38134. #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)
  38135. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSIPV6ENA_MASK (0x1000U)
  38136. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSIPV6ENA_SHIFT (12U)
  38137. /*! TSIPV6ENA - Enable Processing of PTP Packets Sent over IPv6-UDP When this bit is set, the MAC
  38138. * receiver processes the PTP packets encapsulated in IPv6-UDP packets.
  38139. * 0b0..Processing of PTP Packets Sent over IPv6-UDP is disabled
  38140. * 0b1..Processing of PTP Packets Sent over IPv6-UDP is enabled
  38141. */
  38142. #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)
  38143. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSIPV4ENA_MASK (0x2000U)
  38144. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSIPV4ENA_SHIFT (13U)
  38145. /*! TSIPV4ENA - Enable Processing of PTP Packets Sent over IPv4-UDP When this bit is set, the MAC
  38146. * receiver processes the PTP packets encapsulated in IPv4-UDP packets.
  38147. * 0b0..Processing of PTP Packets Sent over IPv4-UDP is disabled
  38148. * 0b1..Processing of PTP Packets Sent over IPv4-UDP is enabled
  38149. */
  38150. #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)
  38151. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSEVNTENA_MASK (0x4000U)
  38152. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSEVNTENA_SHIFT (14U)
  38153. /*! TSEVNTENA - Enable Timestamp Snapshot for Event Messages When this bit is set, the timestamp
  38154. * snapshot is taken only for event messages (SYNC, Delay_Req, Pdelay_Req, or Pdelay_Resp).
  38155. * 0b0..Timestamp Snapshot for Event Messages is disabled
  38156. * 0b1..Timestamp Snapshot for Event Messages is enabled
  38157. */
  38158. #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)
  38159. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSMSTRENA_MASK (0x8000U)
  38160. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSMSTRENA_SHIFT (15U)
  38161. /*! TSMSTRENA - Enable Snapshot for Messages Relevant to Master When this bit is set, the snapshot
  38162. * is taken only for the messages that are relevant to the master node.
  38163. * 0b0..Snapshot for Messages Relevant to Master is disabled
  38164. * 0b1..Snapshot for Messages Relevant to Master is enabled
  38165. */
  38166. #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)
  38167. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_SNAPTYPSEL_MASK (0x30000U)
  38168. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_SNAPTYPSEL_SHIFT (16U)
  38169. /*! SNAPTYPSEL - Select PTP packets for Taking Snapshots These bits, along with Bits 15 and 14,
  38170. * decide the set of PTP packet types for which snapshot needs to be taken.
  38171. */
  38172. #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)
  38173. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSENMACADDR_MASK (0x40000U)
  38174. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSENMACADDR_SHIFT (18U)
  38175. /*! TSENMACADDR - Enable MAC Address for PTP Packet Filtering When this bit is set, the DA MAC
  38176. * address (that matches any MAC Address register) is used to filter the PTP packets when PTP is
  38177. * directly sent over Ethernet.
  38178. * 0b0..MAC Address for PTP Packet Filtering is disabled
  38179. * 0b1..MAC Address for PTP Packet Filtering is enabled
  38180. */
  38181. #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)
  38182. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_CSC_MASK (0x80000U)
  38183. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_CSC_SHIFT (19U)
  38184. /*! CSC - Enable checksum correction during OST for PTP over UDP/IPv4 packets When this bit is set,
  38185. * the last two bytes of PTP message sent over UDP/IPv4 is updated to keep the UDP checksum
  38186. * correct, for changes made to origin timestamp and/or correction field as part of one step timestamp
  38187. * operation.
  38188. * 0b0..checksum correction during OST for PTP over UDP/IPv4 packets is disabled
  38189. * 0b1..checksum correction during OST for PTP over UDP/IPv4 packets is enabled
  38190. */
  38191. #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)
  38192. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_ESTI_MASK (0x100000U)
  38193. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_ESTI_SHIFT (20U)
  38194. /*! ESTI - External System Time Input When this bit is set, the MAC uses the external 64-bit
  38195. * reference System Time input for the following: - To take the timestamp provided as status - To insert
  38196. * the timestamp in transmit PTP packets when One-step Timestamp or Timestamp Offload feature is
  38197. * enabled.
  38198. * 0b0..External System Time Input is disabled
  38199. * 0b1..External System Time Input is enabled
  38200. */
  38201. #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)
  38202. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TXTSSTSM_MASK (0x1000000U)
  38203. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TXTSSTSM_SHIFT (24U)
  38204. /*! TXTSSTSM - Transmit Timestamp Status Mode When this bit is set, the MAC overwrites the earlier
  38205. * transmit timestamp status even if it is not read by the software.
  38206. * 0b0..Transmit Timestamp Status Mode is disabled
  38207. * 0b1..Transmit Timestamp Status Mode is enabled
  38208. */
  38209. #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)
  38210. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_AV8021ASMEN_MASK (0x10000000U)
  38211. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_AV8021ASMEN_SHIFT (28U)
  38212. /*! AV8021ASMEN - AV 802.
  38213. * 0b0..AV 802.1AS Mode is disabled
  38214. * 0b1..AV 802.1AS Mode is enabled
  38215. */
  38216. #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)
  38217. /*! @} */
  38218. /*! @name MAC_SUB_SECOND_INCREMENT - Subsecond Increment */
  38219. /*! @{ */
  38220. #define ENET_QOS_MAC_SUB_SECOND_INCREMENT_SNSINC_MASK (0xFF00U)
  38221. #define ENET_QOS_MAC_SUB_SECOND_INCREMENT_SNSINC_SHIFT (8U)
  38222. /*! SNSINC - Sub-nanosecond Increment Value This field contains the sub-nanosecond increment value,
  38223. * represented in nanoseconds multiplied by 2^8.
  38224. */
  38225. #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)
  38226. #define ENET_QOS_MAC_SUB_SECOND_INCREMENT_SSINC_MASK (0xFF0000U)
  38227. #define ENET_QOS_MAC_SUB_SECOND_INCREMENT_SSINC_SHIFT (16U)
  38228. /*! SSINC - Sub-second Increment Value The value programmed in this field is accumulated every clock
  38229. * cycle (of clk_ptp_i) with the contents of the sub-second register.
  38230. */
  38231. #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)
  38232. /*! @} */
  38233. /*! @name MAC_SYSTEM_TIME_SECONDS - System Time Seconds */
  38234. /*! @{ */
  38235. #define ENET_QOS_MAC_SYSTEM_TIME_SECONDS_TSS_MASK (0xFFFFFFFFU)
  38236. #define ENET_QOS_MAC_SYSTEM_TIME_SECONDS_TSS_SHIFT (0U)
  38237. /*! TSS - Timestamp Second The value in this field indicates the current value in seconds of the
  38238. * System Time maintained by the MAC.
  38239. */
  38240. #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)
  38241. /*! @} */
  38242. /*! @name MAC_SYSTEM_TIME_NANOSECONDS - System Time Nanoseconds */
  38243. /*! @{ */
  38244. #define ENET_QOS_MAC_SYSTEM_TIME_NANOSECONDS_TSSS_MASK (0x7FFFFFFFU)
  38245. #define ENET_QOS_MAC_SYSTEM_TIME_NANOSECONDS_TSSS_SHIFT (0U)
  38246. /*! TSSS - Timestamp Sub Seconds The value in this field has the sub-second representation of time, with an accuracy of 0.
  38247. */
  38248. #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)
  38249. /*! @} */
  38250. /*! @name MAC_SYSTEM_TIME_SECONDS_UPDATE - System Time Seconds Update */
  38251. /*! @{ */
  38252. #define ENET_QOS_MAC_SYSTEM_TIME_SECONDS_UPDATE_TSS_MASK (0xFFFFFFFFU)
  38253. #define ENET_QOS_MAC_SYSTEM_TIME_SECONDS_UPDATE_TSS_SHIFT (0U)
  38254. /*! TSS - Timestamp Seconds The value in this field is the seconds part of the update.
  38255. */
  38256. #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)
  38257. /*! @} */
  38258. /*! @name MAC_SYSTEM_TIME_NANOSECONDS_UPDATE - System Time Nanoseconds Update */
  38259. /*! @{ */
  38260. #define ENET_QOS_MAC_SYSTEM_TIME_NANOSECONDS_UPDATE_TSSS_MASK (0x7FFFFFFFU)
  38261. #define ENET_QOS_MAC_SYSTEM_TIME_NANOSECONDS_UPDATE_TSSS_SHIFT (0U)
  38262. /*! TSSS - Timestamp Sub Seconds The value in this field is the sub-seconds part of the update.
  38263. */
  38264. #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)
  38265. #define ENET_QOS_MAC_SYSTEM_TIME_NANOSECONDS_UPDATE_ADDSUB_MASK (0x80000000U)
  38266. #define ENET_QOS_MAC_SYSTEM_TIME_NANOSECONDS_UPDATE_ADDSUB_SHIFT (31U)
  38267. /*! ADDSUB - Add or Subtract Time When this bit is set, the time value is subtracted with the contents of the update register.
  38268. * 0b0..Add time
  38269. * 0b1..Subtract time
  38270. */
  38271. #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)
  38272. /*! @} */
  38273. /*! @name MAC_TIMESTAMP_ADDEND - Timestamp Addend */
  38274. /*! @{ */
  38275. #define ENET_QOS_MAC_TIMESTAMP_ADDEND_TSAR_MASK (0xFFFFFFFFU)
  38276. #define ENET_QOS_MAC_TIMESTAMP_ADDEND_TSAR_SHIFT (0U)
  38277. /*! TSAR - Timestamp Addend Register This field indicates the 32-bit time value to be added to the
  38278. * Accumulator register to achieve time synchronization.
  38279. */
  38280. #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)
  38281. /*! @} */
  38282. /*! @name MAC_SYSTEM_TIME_HIGHER_WORD_SECONDS - System Time - Higher Word Seconds */
  38283. /*! @{ */
  38284. #define ENET_QOS_MAC_SYSTEM_TIME_HIGHER_WORD_SECONDS_TSHWR_MASK (0xFFFFU)
  38285. #define ENET_QOS_MAC_SYSTEM_TIME_HIGHER_WORD_SECONDS_TSHWR_SHIFT (0U)
  38286. /*! TSHWR - Timestamp Higher Word Register This field contains the most-significant 16-bits of timestamp seconds value.
  38287. */
  38288. #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)
  38289. /*! @} */
  38290. /*! @name MAC_TIMESTAMP_STATUS - Timestamp Status */
  38291. /*! @{ */
  38292. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TSSOVF_MASK (0x1U)
  38293. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TSSOVF_SHIFT (0U)
  38294. /*! TSSOVF - Timestamp Seconds Overflow When this bit is set, it indicates that the seconds value of
  38295. * the timestamp (when supporting version 2 format) has overflowed beyond 32'hFFFF_FFFF.
  38296. * 0b1..Timestamp Seconds Overflow status detected
  38297. * 0b0..Timestamp Seconds Overflow status not detected
  38298. */
  38299. #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)
  38300. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTARGT0_MASK (0x2U)
  38301. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTARGT0_SHIFT (1U)
  38302. /*! TSTARGT0 - Timestamp Target Time Reached When set, this bit indicates that the value of system
  38303. * time is greater than or equal to the value specified in the MAC_PPS0_Target_Time_Seconds and
  38304. * MAC_PPS0_Target_Time_Nanoseconds registers.
  38305. * 0b1..Timestamp Target Time Reached status detected
  38306. * 0b0..Timestamp Target Time Reached status not detected
  38307. */
  38308. #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)
  38309. #define ENET_QOS_MAC_TIMESTAMP_STATUS_AUXTSTRIG_MASK (0x4U)
  38310. #define ENET_QOS_MAC_TIMESTAMP_STATUS_AUXTSTRIG_SHIFT (2U)
  38311. /*! AUXTSTRIG - Auxiliary Timestamp Trigger Snapshot This bit is set high when the auxiliary snapshot is written to the FIFO.
  38312. * 0b1..Auxiliary Timestamp Trigger Snapshot status detected
  38313. * 0b0..Auxiliary Timestamp Trigger Snapshot status not detected
  38314. */
  38315. #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)
  38316. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTRGTERR0_MASK (0x8U)
  38317. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTRGTERR0_SHIFT (3U)
  38318. /*! TSTRGTERR0 - Timestamp Target Time Error This bit is set when the latest target time programmed
  38319. * in the MAC_PPS0_Target_Time_Seconds and MAC_PPS0_Target_Time_Nanoseconds registers elapses.
  38320. * 0b1..Timestamp Target Time Error status detected
  38321. * 0b0..Timestamp Target Time Error status not detected
  38322. */
  38323. #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)
  38324. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTARGT1_MASK (0x10U)
  38325. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTARGT1_SHIFT (4U)
  38326. /*! TSTARGT1 - Timestamp Target Time Reached for Target Time PPS1 When set, this bit indicates that
  38327. * the value of system time is greater than or equal to the value specified in the
  38328. * MAC_PPS1_TARGET_TIME_SECONDS and MAC_PPS1_TARGET_TIME_NANOSECONDS registers.
  38329. * 0b1..Timestamp Target Time Reached for Target Time PPS1 status detected
  38330. * 0b0..Timestamp Target Time Reached for Target Time PPS1 status not detected
  38331. */
  38332. #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)
  38333. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTRGTERR1_MASK (0x20U)
  38334. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTRGTERR1_SHIFT (5U)
  38335. /*! TSTRGTERR1 - Timestamp Target Time Error This bit is set when the latest target time programmed
  38336. * in the MAC_PPS1_TARGET_TIME_SECONDS and MAC_PPS1_TARGET_TIME_NANOSECONDS registers elapses.
  38337. * 0b1..Timestamp Target Time Error status detected
  38338. * 0b0..Timestamp Target Time Error status not detected
  38339. */
  38340. #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)
  38341. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTARGT2_MASK (0x40U)
  38342. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTARGT2_SHIFT (6U)
  38343. /*! TSTARGT2 - Timestamp Target Time Reached for Target Time PPS2 When set, this bit indicates that
  38344. * the value of system time is greater than or equal to the value specified in the
  38345. * MAC_PPS2_TARGET_TIME_SECONDS and MAC_PPS2_TARGET_TIME_NANOSECONDS registers.
  38346. * 0b1..Timestamp Target Time Reached for Target Time PPS2 status detected
  38347. * 0b0..Timestamp Target Time Reached for Target Time PPS2 status not detected
  38348. */
  38349. #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)
  38350. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTRGTERR2_MASK (0x80U)
  38351. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTRGTERR2_SHIFT (7U)
  38352. /*! TSTRGTERR2 - Timestamp Target Time Error This bit is set when the latest target time programmed
  38353. * in the MAC_PPS2_TARGET_TIME_SECONDS and MAC_PPS2_TARGET_TIME_NANOSECONDS registers elapses.
  38354. * 0b1..Timestamp Target Time Error status detected
  38355. * 0b0..Timestamp Target Time Error status not detected
  38356. */
  38357. #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)
  38358. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTARGT3_MASK (0x100U)
  38359. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTARGT3_SHIFT (8U)
  38360. /*! TSTARGT3 - Timestamp Target Time Reached for Target Time PPS3 When this bit is set, it indicates
  38361. * that the value of system time is greater than or equal to the value specified in the
  38362. * MAC_PPS3_TARGET_TIME_SECONDS and MAC_PPS3_TARGET_TIME_NANOSECONDS registers.
  38363. * 0b1..Timestamp Target Time Reached for Target Time PPS3 status detected
  38364. * 0b0..Timestamp Target Time Reached for Target Time PPS3 status not detected
  38365. */
  38366. #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)
  38367. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTRGTERR3_MASK (0x200U)
  38368. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTRGTERR3_SHIFT (9U)
  38369. /*! TSTRGTERR3 - Timestamp Target Time Error This bit is set when the latest target time programmed
  38370. * in the MAC_PPS3_TARGET_TIME_SECONDS and MAC_PPS3_TARGET_TIME_NANOSECONDS registers elapses.
  38371. * 0b1..Timestamp Target Time Error status detected
  38372. * 0b0..Timestamp Target Time Error status not detected
  38373. */
  38374. #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)
  38375. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TXTSSIS_MASK (0x8000U)
  38376. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TXTSSIS_SHIFT (15U)
  38377. /*! TXTSSIS - Tx Timestamp Status Interrupt Status In non-EQOS_CORE configurations when drop
  38378. * transmit status is enabled in MTL, this bit is set when the captured transmit timestamp is updated in
  38379. * the MAC_TX_TIMESTAMP_STATUS_NANOSECONDS and MAC_TX_TIMESTAMP_STATUS_SECONDS registers.
  38380. * 0b1..Tx Timestamp Status Interrupt status detected
  38381. * 0b0..Tx Timestamp Status Interrupt status not detected
  38382. */
  38383. #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)
  38384. #define ENET_QOS_MAC_TIMESTAMP_STATUS_ATSSTN_MASK (0xF0000U)
  38385. #define ENET_QOS_MAC_TIMESTAMP_STATUS_ATSSTN_SHIFT (16U)
  38386. /*! ATSSTN - Auxiliary Timestamp Snapshot Trigger Identifier These bits identify the Auxiliary
  38387. * trigger inputs for which the timestamp available in the Auxiliary Snapshot Register is applicable.
  38388. */
  38389. #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)
  38390. #define ENET_QOS_MAC_TIMESTAMP_STATUS_ATSSTM_MASK (0x1000000U)
  38391. #define ENET_QOS_MAC_TIMESTAMP_STATUS_ATSSTM_SHIFT (24U)
  38392. /*! ATSSTM - Auxiliary Timestamp Snapshot Trigger Missed This bit is set when the Auxiliary
  38393. * timestamp snapshot FIFO is full and external trigger was set.
  38394. * 0b1..Auxiliary Timestamp Snapshot Trigger Missed status detected
  38395. * 0b0..Auxiliary Timestamp Snapshot Trigger Missed status not detected
  38396. */
  38397. #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)
  38398. #define ENET_QOS_MAC_TIMESTAMP_STATUS_ATSNS_MASK (0x3E000000U)
  38399. #define ENET_QOS_MAC_TIMESTAMP_STATUS_ATSNS_SHIFT (25U)
  38400. /*! ATSNS - Number of Auxiliary Timestamp Snapshots This field indicates the number of Snapshots available in the FIFO.
  38401. */
  38402. #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)
  38403. /*! @} */
  38404. /*! @name MAC_TX_TIMESTAMP_STATUS_NANOSECONDS - Transmit Timestamp Status Nanoseconds */
  38405. /*! @{ */
  38406. #define ENET_QOS_MAC_TX_TIMESTAMP_STATUS_NANOSECONDS_TXTSSLO_MASK (0x7FFFFFFFU)
  38407. #define ENET_QOS_MAC_TX_TIMESTAMP_STATUS_NANOSECONDS_TXTSSLO_SHIFT (0U)
  38408. /*! TXTSSLO - Transmit Timestamp Status Low This field contains the 31 bits of the Nanoseconds field
  38409. * of the Transmit packet's captured timestamp.
  38410. */
  38411. #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)
  38412. #define ENET_QOS_MAC_TX_TIMESTAMP_STATUS_NANOSECONDS_TXTSSMIS_MASK (0x80000000U)
  38413. #define ENET_QOS_MAC_TX_TIMESTAMP_STATUS_NANOSECONDS_TXTSSMIS_SHIFT (31U)
  38414. /*! TXTSSMIS - Transmit Timestamp Status Missed When this bit is set, it indicates one of the
  38415. * following: - The timestamp of the current packet is ignored if TXTSSTSM bit of the TIMESTAMP_CONTROL
  38416. * register is reset - The timestamp of the previous packet is overwritten with timestamp of the
  38417. * current packet if TXTSSTSM bit of the MAC_TIMESTAMP_CONTROL register is set.
  38418. * 0b1..Transmit Timestamp Status Missed status detected
  38419. * 0b0..Transmit Timestamp Status Missed status not detected
  38420. */
  38421. #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)
  38422. /*! @} */
  38423. /*! @name MAC_TX_TIMESTAMP_STATUS_SECONDS - Transmit Timestamp Status Seconds */
  38424. /*! @{ */
  38425. #define ENET_QOS_MAC_TX_TIMESTAMP_STATUS_SECONDS_TXTSSHI_MASK (0xFFFFFFFFU)
  38426. #define ENET_QOS_MAC_TX_TIMESTAMP_STATUS_SECONDS_TXTSSHI_SHIFT (0U)
  38427. /*! TXTSSHI - Transmit Timestamp Status High This field contains the lower 32 bits of the Seconds
  38428. * field of Transmit packet's captured timestamp.
  38429. */
  38430. #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)
  38431. /*! @} */
  38432. /*! @name MAC_AUXILIARY_CONTROL - Auxiliary Timestamp Control */
  38433. /*! @{ */
  38434. #define ENET_QOS_MAC_AUXILIARY_CONTROL_ATSFC_MASK (0x1U)
  38435. #define ENET_QOS_MAC_AUXILIARY_CONTROL_ATSFC_SHIFT (0U)
  38436. /*! ATSFC - Auxiliary Snapshot FIFO Clear When set, this bit resets the pointers of the Auxiliary Snapshot FIFO.
  38437. * 0b0..Auxiliary Snapshot FIFO Clear is disabled
  38438. * 0b1..Auxiliary Snapshot FIFO Clear is enabled
  38439. */
  38440. #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)
  38441. #define ENET_QOS_MAC_AUXILIARY_CONTROL_ATSEN0_MASK (0x10U)
  38442. #define ENET_QOS_MAC_AUXILIARY_CONTROL_ATSEN0_SHIFT (4U)
  38443. /*! ATSEN0 - Auxiliary Snapshot 0 Enable This bit controls the capturing of Auxiliary Snapshot Trigger 0.
  38444. * 0b0..Auxiliary Snapshot $i is disabled
  38445. * 0b1..Auxiliary Snapshot $i is enabled
  38446. */
  38447. #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)
  38448. #define ENET_QOS_MAC_AUXILIARY_CONTROL_ATSEN1_MASK (0x20U)
  38449. #define ENET_QOS_MAC_AUXILIARY_CONTROL_ATSEN1_SHIFT (5U)
  38450. /*! ATSEN1 - Auxiliary Snapshot 1 Enable This bit controls the capturing of Auxiliary Snapshot Trigger 1.
  38451. * 0b0..Auxiliary Snapshot $i is disabled
  38452. * 0b1..Auxiliary Snapshot $i is enabled
  38453. */
  38454. #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)
  38455. #define ENET_QOS_MAC_AUXILIARY_CONTROL_ATSEN2_MASK (0x40U)
  38456. #define ENET_QOS_MAC_AUXILIARY_CONTROL_ATSEN2_SHIFT (6U)
  38457. /*! ATSEN2 - Auxiliary Snapshot 2 Enable This bit controls the capturing of Auxiliary Snapshot Trigger 2.
  38458. * 0b0..Auxiliary Snapshot $i is disabled
  38459. * 0b1..Auxiliary Snapshot $i is enabled
  38460. */
  38461. #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)
  38462. #define ENET_QOS_MAC_AUXILIARY_CONTROL_ATSEN3_MASK (0x80U)
  38463. #define ENET_QOS_MAC_AUXILIARY_CONTROL_ATSEN3_SHIFT (7U)
  38464. /*! ATSEN3 - Auxiliary Snapshot 3 Enable This bit controls the capturing of Auxiliary Snapshot Trigger 3.
  38465. * 0b0..Auxiliary Snapshot $i is disabled
  38466. * 0b1..Auxiliary Snapshot $i is enabled
  38467. */
  38468. #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)
  38469. /*! @} */
  38470. /*! @name MAC_AUXILIARY_TIMESTAMP_NANOSECONDS - Auxiliary Timestamp Nanoseconds */
  38471. /*! @{ */
  38472. #define ENET_QOS_MAC_AUXILIARY_TIMESTAMP_NANOSECONDS_AUXTSLO_MASK (0x7FFFFFFFU)
  38473. #define ENET_QOS_MAC_AUXILIARY_TIMESTAMP_NANOSECONDS_AUXTSLO_SHIFT (0U)
  38474. /*! AUXTSLO - Auxiliary Timestamp Contains the lower 31 bits (nanoseconds field) of the auxiliary timestamp.
  38475. */
  38476. #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)
  38477. /*! @} */
  38478. /*! @name MAC_AUXILIARY_TIMESTAMP_SECONDS - Auxiliary Timestamp Seconds */
  38479. /*! @{ */
  38480. #define ENET_QOS_MAC_AUXILIARY_TIMESTAMP_SECONDS_AUXTSHI_MASK (0xFFFFFFFFU)
  38481. #define ENET_QOS_MAC_AUXILIARY_TIMESTAMP_SECONDS_AUXTSHI_SHIFT (0U)
  38482. /*! AUXTSHI - Auxiliary Timestamp Contains the lower 32 bits of the Seconds field of the auxiliary timestamp.
  38483. */
  38484. #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)
  38485. /*! @} */
  38486. /*! @name MAC_TIMESTAMP_INGRESS_ASYM_CORR - Timestamp Ingress Asymmetry Correction */
  38487. /*! @{ */
  38488. #define ENET_QOS_MAC_TIMESTAMP_INGRESS_ASYM_CORR_OSTIAC_MASK (0xFFFFFFFFU)
  38489. #define ENET_QOS_MAC_TIMESTAMP_INGRESS_ASYM_CORR_OSTIAC_SHIFT (0U)
  38490. /*! OSTIAC - One-Step Timestamp Ingress Asymmetry Correction This field contains the ingress path
  38491. * asymmetry value to be added to correctionField of Pdelay_Resp PTP packet.
  38492. */
  38493. #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)
  38494. /*! @} */
  38495. /*! @name MAC_TIMESTAMP_EGRESS_ASYM_CORR - imestamp Egress Asymmetry Correction */
  38496. /*! @{ */
  38497. #define ENET_QOS_MAC_TIMESTAMP_EGRESS_ASYM_CORR_OSTEAC_MASK (0xFFFFFFFFU)
  38498. #define ENET_QOS_MAC_TIMESTAMP_EGRESS_ASYM_CORR_OSTEAC_SHIFT (0U)
  38499. /*! OSTEAC - One-Step Timestamp Egress Asymmetry Correction This field contains the egress path
  38500. * asymmetry value to be subtracted from correctionField of Pdelay_Resp PTP packet.
  38501. */
  38502. #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)
  38503. /*! @} */
  38504. /*! @name MAC_TIMESTAMP_INGRESS_CORR_NANOSECOND - Timestamp Ingress Correction Nanosecond */
  38505. /*! @{ */
  38506. #define ENET_QOS_MAC_TIMESTAMP_INGRESS_CORR_NANOSECOND_TSIC_MASK (0xFFFFFFFFU)
  38507. #define ENET_QOS_MAC_TIMESTAMP_INGRESS_CORR_NANOSECOND_TSIC_SHIFT (0U)
  38508. /*! TSIC - Timestamp Ingress Correction This field contains the ingress path correction value as
  38509. * defined by the Ingress Correction expression.
  38510. */
  38511. #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)
  38512. /*! @} */
  38513. /*! @name MAC_TIMESTAMP_EGRESS_CORR_NANOSECOND - Timestamp Egress Correction Nanosecond */
  38514. /*! @{ */
  38515. #define ENET_QOS_MAC_TIMESTAMP_EGRESS_CORR_NANOSECOND_TSEC_MASK (0xFFFFFFFFU)
  38516. #define ENET_QOS_MAC_TIMESTAMP_EGRESS_CORR_NANOSECOND_TSEC_SHIFT (0U)
  38517. /*! TSEC - Timestamp Egress Correction This field contains the nanoseconds part of the egress path
  38518. * correction value as defined by the Egress Correction expression.
  38519. */
  38520. #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)
  38521. /*! @} */
  38522. /*! @name MAC_TIMESTAMP_INGRESS_CORR_SUBNANOSEC - Timestamp Ingress Correction Subnanosecond */
  38523. /*! @{ */
  38524. #define ENET_QOS_MAC_TIMESTAMP_INGRESS_CORR_SUBNANOSEC_TSICSNS_MASK (0xFF00U)
  38525. #define ENET_QOS_MAC_TIMESTAMP_INGRESS_CORR_SUBNANOSEC_TSICSNS_SHIFT (8U)
  38526. /*! TSICSNS - Timestamp Ingress Correction, sub-nanoseconds This field contains the sub-nanoseconds
  38527. * part of the ingress path correction value as defined by the "Ingress Correction" expression.
  38528. */
  38529. #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)
  38530. /*! @} */
  38531. /*! @name MAC_TIMESTAMP_EGRESS_CORR_SUBNANOSEC - Timestamp Egress Correction Subnanosecond */
  38532. /*! @{ */
  38533. #define ENET_QOS_MAC_TIMESTAMP_EGRESS_CORR_SUBNANOSEC_TSECSNS_MASK (0xFF00U)
  38534. #define ENET_QOS_MAC_TIMESTAMP_EGRESS_CORR_SUBNANOSEC_TSECSNS_SHIFT (8U)
  38535. /*! TSECSNS - Timestamp Egress Correction, sub-nanoseconds This field contains the sub-nanoseconds
  38536. * part of the egress path correction value as defined by the "Egress Correction" expression.
  38537. */
  38538. #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)
  38539. /*! @} */
  38540. /*! @name MAC_TIMESTAMP_INGRESS_LATENCY - Timestamp Ingress Latency */
  38541. /*! @{ */
  38542. #define ENET_QOS_MAC_TIMESTAMP_INGRESS_LATENCY_ITLSNS_MASK (0xFF00U)
  38543. #define ENET_QOS_MAC_TIMESTAMP_INGRESS_LATENCY_ITLSNS_SHIFT (8U)
  38544. /*! ITLSNS - Ingress Timestamp Latency, in nanoseconds This register holds the average latency in
  38545. * nanoseconds between the input ports (phy_rxd_i) of MAC and the actual point (GMII/MII) where the
  38546. * ingress timestamp is taken.
  38547. */
  38548. #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)
  38549. #define ENET_QOS_MAC_TIMESTAMP_INGRESS_LATENCY_ITLNS_MASK (0xFFF0000U)
  38550. #define ENET_QOS_MAC_TIMESTAMP_INGRESS_LATENCY_ITLNS_SHIFT (16U)
  38551. /*! ITLNS - Ingress Timestamp Latency, in sub-nanoseconds This register holds the average latency in
  38552. * sub-nanoseconds between the input ports (phy_rxd_i) of MAC and the actual point (GMII/MII)
  38553. * where the ingress timestamp is taken.
  38554. */
  38555. #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)
  38556. /*! @} */
  38557. /*! @name MAC_TIMESTAMP_EGRESS_LATENCY - Timestamp Egress Latency */
  38558. /*! @{ */
  38559. #define ENET_QOS_MAC_TIMESTAMP_EGRESS_LATENCY_ETLSNS_MASK (0xFF00U)
  38560. #define ENET_QOS_MAC_TIMESTAMP_EGRESS_LATENCY_ETLSNS_SHIFT (8U)
  38561. /*! ETLSNS - Egress Timestamp Latency, in sub-nanoseconds This register holds the average latency in
  38562. * sub-nanoseconds between the actual point (GMII/MII) where the egress timestamp is taken and
  38563. * the output ports (phy_txd_o) of the MAC.
  38564. */
  38565. #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)
  38566. #define ENET_QOS_MAC_TIMESTAMP_EGRESS_LATENCY_ETLNS_MASK (0xFFF0000U)
  38567. #define ENET_QOS_MAC_TIMESTAMP_EGRESS_LATENCY_ETLNS_SHIFT (16U)
  38568. /*! ETLNS - Egress Timestamp Latency, in nanoseconds This register holds the average latency in
  38569. * nanoseconds between the actual point (GMII/MII) where the egress timestamp is taken and the output
  38570. * ports (phy_txd_o) of the MAC.
  38571. */
  38572. #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)
  38573. /*! @} */
  38574. /*! @name MAC_PPS_CONTROL - PPS Control */
  38575. /*! @{ */
  38576. #define ENET_QOS_MAC_PPS_CONTROL_PPSCTRL_PPSCMD_MASK (0xFU)
  38577. #define ENET_QOS_MAC_PPS_CONTROL_PPSCTRL_PPSCMD_SHIFT (0U)
  38578. /*! PPSCTRL_PPSCMD - PPS Output Frequency Control This field controls the frequency of the PPS0 output (ptp_pps_o[0]) signal.
  38579. */
  38580. #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)
  38581. #define ENET_QOS_MAC_PPS_CONTROL_PPSEN0_MASK (0x10U)
  38582. #define ENET_QOS_MAC_PPS_CONTROL_PPSEN0_SHIFT (4U)
  38583. /*! PPSEN0 - Flexible PPS Output Mode Enable When this bit is set, Bits[3:0] function as PPSCMD.
  38584. * 0b0..Flexible PPS Output Mode is disabled
  38585. * 0b1..Flexible PPS Output Mode is enabled
  38586. */
  38587. #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)
  38588. #define ENET_QOS_MAC_PPS_CONTROL_TRGTMODSEL0_MASK (0x60U)
  38589. #define ENET_QOS_MAC_PPS_CONTROL_TRGTMODSEL0_SHIFT (5U)
  38590. /*! TRGTMODSEL0 - Target Time Register Mode for PPS0 Output This field indicates the Target Time
  38591. * registers (MAC_PPS0_TARGET_TIME_SECONDS and MAC_PPS0_TARGET_TIME_NANOSECONDS) mode for PPS0
  38592. * output signal:
  38593. * 0b10..Target Time registers are programmed for generating the interrupt event and starting or stopping the PPS0 output signal generation
  38594. * 0b00..Target Time registers are programmed only for generating the interrupt event. The Flexible PPS function
  38595. * must not be enabled in this mode, otherwise spurious transitions may be observed on the corresponding
  38596. * ptp_pps_o output port
  38597. * 0b11..Target Time registers are programmed only for starting or stopping the PPS0 output signal generation. No interrupt is asserted
  38598. * 0b01..Reserved
  38599. */
  38600. #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)
  38601. #define ENET_QOS_MAC_PPS_CONTROL_MCGREN0_MASK (0x80U)
  38602. #define ENET_QOS_MAC_PPS_CONTROL_MCGREN0_SHIFT (7U)
  38603. /*! MCGREN0 - MCGR Mode Enable for PPS0 Output This field enables the 0th PPS instance to operate in PPS or MCGR mode.
  38604. * 0b1..0th PPS instance is enabled to operate in MCGR mode
  38605. * 0b0..0th PPS instance is enabled to operate in PPS mode
  38606. */
  38607. #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)
  38608. #define ENET_QOS_MAC_PPS_CONTROL_PPSCMD1_MASK (0xF00U)
  38609. #define ENET_QOS_MAC_PPS_CONTROL_PPSCMD1_SHIFT (8U)
  38610. /*! PPSCMD1 - Flexible PPS1 Output Control This field controls the flexible PPS1 output (ptp_pps_o[1]) signal.
  38611. */
  38612. #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)
  38613. #define ENET_QOS_MAC_PPS_CONTROL_TRGTMODSEL1_MASK (0x6000U)
  38614. #define ENET_QOS_MAC_PPS_CONTROL_TRGTMODSEL1_SHIFT (13U)
  38615. /*! TRGTMODSEL1 - Target Time Register Mode for PPS1 Output This field indicates the Target Time
  38616. * registers (MAC_PPS1_TARGET_TIME_SECONDS and MAC_PPS1_TARGET_TIME_NANOSECONDS) mode for PPS1
  38617. * output signal.
  38618. * 0b10..Target Time registers are programmed for generating the interrupt event and starting or stopping the PPS0 output signal generation
  38619. * 0b00..Target Time registers are programmed only for generating the interrupt event. The Flexible PPS function
  38620. * must not be enabled in this mode, otherwise spurious transitions may be observed on the corresponding
  38621. * ptp_pps_o output port
  38622. * 0b11..Target Time registers are programmed only for starting or stopping the PPS0 output signal generation. No interrupt is asserted
  38623. * 0b01..Reserved
  38624. */
  38625. #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)
  38626. #define ENET_QOS_MAC_PPS_CONTROL_MCGREN1_MASK (0x8000U)
  38627. #define ENET_QOS_MAC_PPS_CONTROL_MCGREN1_SHIFT (15U)
  38628. /*! MCGREN1 - MCGR Mode Enable for PPS1 Output This field enables the 1st PPS instance to operate in PPS or MCGR mode.
  38629. * 0b0..1st PPS instance is disabled to operate in PPS or MCGR mode
  38630. * 0b1..1st PPS instance is enabled to operate in PPS or MCGR mode
  38631. */
  38632. #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)
  38633. #define ENET_QOS_MAC_PPS_CONTROL_PPSCMD2_MASK (0xF0000U)
  38634. #define ENET_QOS_MAC_PPS_CONTROL_PPSCMD2_SHIFT (16U)
  38635. /*! PPSCMD2 - Flexible PPS2 Output Control This field controls the flexible PPS2 output (ptp_pps_o[2]) signal.
  38636. */
  38637. #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)
  38638. #define ENET_QOS_MAC_PPS_CONTROL_TRGTMODSEL2_MASK (0x600000U)
  38639. #define ENET_QOS_MAC_PPS_CONTROL_TRGTMODSEL2_SHIFT (21U)
  38640. /*! TRGTMODSEL2 - Target Time Register Mode for PPS2 Output This field indicates the Target Time
  38641. * registers (MAC_PPS2_TARGET_TIME_SECONDS and MAC_PPS2_TARGET_TIME_NANOSECONDS) mode for PPS2
  38642. * output signal.
  38643. * 0b10..Target Time registers are programmed for generating the interrupt event and starting or stopping the PPS0 output signal generation
  38644. * 0b00..Target Time registers are programmed only for generating the interrupt event. The Flexible PPS function
  38645. * must not be enabled in this mode, otherwise spurious transitions may be observed on the corresponding
  38646. * ptp_pps_o output port
  38647. * 0b11..Target Time registers are programmed only for starting or stopping the PPS0 output signal generation. No interrupt is asserted
  38648. * 0b01..Reserved
  38649. */
  38650. #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)
  38651. #define ENET_QOS_MAC_PPS_CONTROL_MCGREN2_MASK (0x800000U)
  38652. #define ENET_QOS_MAC_PPS_CONTROL_MCGREN2_SHIFT (23U)
  38653. /*! MCGREN2 - MCGR Mode Enable for PPS2 Output This field enables the 2nd PPS instance to operate in PPS or MCGR mode.
  38654. * 0b0..2nd PPS instance is disabled to operate in PPS or MCGR mode
  38655. * 0b1..2nd PPS instance is enabled to operate in PPS or MCGR mode
  38656. */
  38657. #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)
  38658. #define ENET_QOS_MAC_PPS_CONTROL_PPSCMD3_MASK (0xF000000U)
  38659. #define ENET_QOS_MAC_PPS_CONTROL_PPSCMD3_SHIFT (24U)
  38660. /*! PPSCMD3 - Flexible PPS3 Output Control This field controls the flexible PPS3 output (ptp_pps_o[3]) signal.
  38661. */
  38662. #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)
  38663. #define ENET_QOS_MAC_PPS_CONTROL_TRGTMODSEL3_MASK (0x60000000U)
  38664. #define ENET_QOS_MAC_PPS_CONTROL_TRGTMODSEL3_SHIFT (29U)
  38665. /*! TRGTMODSEL3 - Target Time Register Mode for PPS3 Output This field indicates the Target Time
  38666. * registers (MAC_PPS3_TARGET_TIME_SECONDS and MAC_PPS3_TARGET_TIME_NANOSECONDS) mode for PPS3
  38667. * output signal.
  38668. * 0b10..Target Time registers are programmed for generating the interrupt event and starting or stopping the PPS0 output signal generation
  38669. * 0b00..Target Time registers are programmed only for generating the interrupt event. The Flexible PPS function
  38670. * must not be enabled in this mode, otherwise spurious transitions may be observed on the corresponding
  38671. * ptp_pps_o output port
  38672. * 0b11..Target Time registers are programmed only for starting or stopping the PPS0 output signal generation. No interrupt is asserted
  38673. * 0b01..Reserved
  38674. */
  38675. #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)
  38676. #define ENET_QOS_MAC_PPS_CONTROL_MCGREN3_MASK (0x80000000U)
  38677. #define ENET_QOS_MAC_PPS_CONTROL_MCGREN3_SHIFT (31U)
  38678. /*! MCGREN3 - MCGR Mode Enable for PPS3 Output This field enables the 3rd PPS instance to operate in PPS or MCGR mode.
  38679. */
  38680. #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)
  38681. /*! @} */
  38682. /*! @name MAC_PPS0_TARGET_TIME_SECONDS - PPS0 Target Time Seconds */
  38683. /*! @{ */
  38684. #define ENET_QOS_MAC_PPS0_TARGET_TIME_SECONDS_TSTRH0_MASK (0xFFFFFFFFU)
  38685. #define ENET_QOS_MAC_PPS0_TARGET_TIME_SECONDS_TSTRH0_SHIFT (0U)
  38686. /*! TSTRH0 - PPS Target Time Seconds Register This field stores the time in seconds.
  38687. */
  38688. #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)
  38689. /*! @} */
  38690. /*! @name MAC_PPS0_TARGET_TIME_NANOSECONDS - PPS0 Target Time Nanoseconds */
  38691. /*! @{ */
  38692. #define ENET_QOS_MAC_PPS0_TARGET_TIME_NANOSECONDS_TTSL0_MASK (0x7FFFFFFFU)
  38693. #define ENET_QOS_MAC_PPS0_TARGET_TIME_NANOSECONDS_TTSL0_SHIFT (0U)
  38694. /*! TTSL0 - Target Time Low for PPS Register This register stores the time in (signed) nanoseconds.
  38695. */
  38696. #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)
  38697. #define ENET_QOS_MAC_PPS0_TARGET_TIME_NANOSECONDS_TRGTBUSY0_MASK (0x80000000U)
  38698. #define ENET_QOS_MAC_PPS0_TARGET_TIME_NANOSECONDS_TRGTBUSY0_SHIFT (31U)
  38699. /*! TRGTBUSY0 - PPS Target Time Register Busy The MAC sets this bit when the PPSCMD0 field in the
  38700. * PPS_CONTROL register is programmed to 010 or 011.
  38701. * 0b1..PPS Target Time Register Busy is detected
  38702. * 0b0..PPS Target Time Register Busy status is not detected
  38703. */
  38704. #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)
  38705. /*! @} */
  38706. /*! @name MAC_PPS0_INTERVAL - PPS0 Interval */
  38707. /*! @{ */
  38708. #define ENET_QOS_MAC_PPS0_INTERVAL_PPSINT0_MASK (0xFFFFFFFFU)
  38709. #define ENET_QOS_MAC_PPS0_INTERVAL_PPSINT0_SHIFT (0U)
  38710. /*! PPSINT0 - PPS Output Signal Interval These bits store the interval between the rising edges of PPS0 signal output.
  38711. */
  38712. #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)
  38713. /*! @} */
  38714. /*! @name MAC_PPS0_WIDTH - PPS0 Width */
  38715. /*! @{ */
  38716. #define ENET_QOS_MAC_PPS0_WIDTH_PPSWIDTH0_MASK (0xFFFFFFFFU)
  38717. #define ENET_QOS_MAC_PPS0_WIDTH_PPSWIDTH0_SHIFT (0U)
  38718. /*! PPSWIDTH0 - PPS Output Signal Width These bits store the width between the rising edge and
  38719. * corresponding falling edge of PPS0 signal output.
  38720. */
  38721. #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)
  38722. /*! @} */
  38723. /*! @name MAC_PPS1_TARGET_TIME_SECONDS - PPS1 Target Time Seconds */
  38724. /*! @{ */
  38725. #define ENET_QOS_MAC_PPS1_TARGET_TIME_SECONDS_TSTRH1_MASK (0xFFFFFFFFU)
  38726. #define ENET_QOS_MAC_PPS1_TARGET_TIME_SECONDS_TSTRH1_SHIFT (0U)
  38727. /*! TSTRH1 - PPS Target Time Seconds Register This field stores the time in seconds.
  38728. */
  38729. #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)
  38730. /*! @} */
  38731. /*! @name MAC_PPS1_TARGET_TIME_NANOSECONDS - PPS1 Target Time Nanoseconds */
  38732. /*! @{ */
  38733. #define ENET_QOS_MAC_PPS1_TARGET_TIME_NANOSECONDS_TTSL1_MASK (0x7FFFFFFFU)
  38734. #define ENET_QOS_MAC_PPS1_TARGET_TIME_NANOSECONDS_TTSL1_SHIFT (0U)
  38735. /*! TTSL1 - Target Time Low for PPS Register This register stores the time in (signed) nanoseconds.
  38736. */
  38737. #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)
  38738. #define ENET_QOS_MAC_PPS1_TARGET_TIME_NANOSECONDS_TRGTBUSY1_MASK (0x80000000U)
  38739. #define ENET_QOS_MAC_PPS1_TARGET_TIME_NANOSECONDS_TRGTBUSY1_SHIFT (31U)
  38740. /*! TRGTBUSY1 - PPS Target Time Register Busy The MAC sets this bit when the PPSCMD0 field in the
  38741. * PPS_CONTROL register is programmed to 010 or 011.
  38742. * 0b1..PPS Target Time Register Busy is detected
  38743. * 0b0..PPS Target Time Register Busy status is not detected
  38744. */
  38745. #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)
  38746. /*! @} */
  38747. /*! @name MAC_PPS1_INTERVAL - PPS1 Interval */
  38748. /*! @{ */
  38749. #define ENET_QOS_MAC_PPS1_INTERVAL_PPSINT1_MASK (0xFFFFFFFFU)
  38750. #define ENET_QOS_MAC_PPS1_INTERVAL_PPSINT1_SHIFT (0U)
  38751. /*! PPSINT1 - PPS Output Signal Interval These bits store the interval between the rising edges of PPS0 signal output.
  38752. */
  38753. #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)
  38754. /*! @} */
  38755. /*! @name MAC_PPS1_WIDTH - PPS1 Width */
  38756. /*! @{ */
  38757. #define ENET_QOS_MAC_PPS1_WIDTH_PPSWIDTH1_MASK (0xFFFFFFFFU)
  38758. #define ENET_QOS_MAC_PPS1_WIDTH_PPSWIDTH1_SHIFT (0U)
  38759. /*! PPSWIDTH1 - PPS Output Signal Width These bits store the width between the rising edge and
  38760. * corresponding falling edge of PPS0 signal output.
  38761. */
  38762. #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)
  38763. /*! @} */
  38764. /*! @name MAC_PPS2_TARGET_TIME_SECONDS - PPS2 Target Time Seconds */
  38765. /*! @{ */
  38766. #define ENET_QOS_MAC_PPS2_TARGET_TIME_SECONDS_TSTRH2_MASK (0xFFFFFFFFU)
  38767. #define ENET_QOS_MAC_PPS2_TARGET_TIME_SECONDS_TSTRH2_SHIFT (0U)
  38768. /*! TSTRH2 - PPS Target Time Seconds Register This field stores the time in seconds.
  38769. */
  38770. #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)
  38771. /*! @} */
  38772. /*! @name MAC_PPS2_TARGET_TIME_NANOSECONDS - PPS2 Target Time Nanoseconds */
  38773. /*! @{ */
  38774. #define ENET_QOS_MAC_PPS2_TARGET_TIME_NANOSECONDS_TTSL2_MASK (0x7FFFFFFFU)
  38775. #define ENET_QOS_MAC_PPS2_TARGET_TIME_NANOSECONDS_TTSL2_SHIFT (0U)
  38776. /*! TTSL2 - Target Time Low for PPS Register This register stores the time in (signed) nanoseconds.
  38777. */
  38778. #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)
  38779. #define ENET_QOS_MAC_PPS2_TARGET_TIME_NANOSECONDS_TRGTBUSY2_MASK (0x80000000U)
  38780. #define ENET_QOS_MAC_PPS2_TARGET_TIME_NANOSECONDS_TRGTBUSY2_SHIFT (31U)
  38781. /*! TRGTBUSY2 - PPS Target Time Register Busy The MAC sets this bit when the PPSCMD0 field in the
  38782. * PPS_CONTROL register is programmed to 010 or 011.
  38783. * 0b1..PPS Target Time Register Busy is detected
  38784. * 0b0..PPS Target Time Register Busy status is not detected
  38785. */
  38786. #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)
  38787. /*! @} */
  38788. /*! @name MAC_PPS2_INTERVAL - PPS2 Interval */
  38789. /*! @{ */
  38790. #define ENET_QOS_MAC_PPS2_INTERVAL_PPSINT2_MASK (0xFFFFFFFFU)
  38791. #define ENET_QOS_MAC_PPS2_INTERVAL_PPSINT2_SHIFT (0U)
  38792. /*! PPSINT2 - PPS Output Signal Interval These bits store the interval between the rising edges of PPS0 signal output.
  38793. */
  38794. #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)
  38795. /*! @} */
  38796. /*! @name MAC_PPS2_WIDTH - PPS2 Width */
  38797. /*! @{ */
  38798. #define ENET_QOS_MAC_PPS2_WIDTH_PPSWIDTH2_MASK (0xFFFFFFFFU)
  38799. #define ENET_QOS_MAC_PPS2_WIDTH_PPSWIDTH2_SHIFT (0U)
  38800. /*! PPSWIDTH2 - PPS Output Signal Width These bits store the width between the rising edge and
  38801. * corresponding falling edge of PPS0 signal output.
  38802. */
  38803. #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)
  38804. /*! @} */
  38805. /*! @name MAC_PPS3_TARGET_TIME_SECONDS - PPS3 Target Time Seconds */
  38806. /*! @{ */
  38807. #define ENET_QOS_MAC_PPS3_TARGET_TIME_SECONDS_TSTRH3_MASK (0xFFFFFFFFU)
  38808. #define ENET_QOS_MAC_PPS3_TARGET_TIME_SECONDS_TSTRH3_SHIFT (0U)
  38809. /*! TSTRH3 - PPS Target Time Seconds Register This field stores the time in seconds.
  38810. */
  38811. #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)
  38812. /*! @} */
  38813. /*! @name MAC_PPS3_TARGET_TIME_NANOSECONDS - PPS3 Target Time Nanoseconds */
  38814. /*! @{ */
  38815. #define ENET_QOS_MAC_PPS3_TARGET_TIME_NANOSECONDS_TTSL3_MASK (0x7FFFFFFFU)
  38816. #define ENET_QOS_MAC_PPS3_TARGET_TIME_NANOSECONDS_TTSL3_SHIFT (0U)
  38817. /*! TTSL3 - Target Time Low for PPS Register This register stores the time in (signed) nanoseconds.
  38818. */
  38819. #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)
  38820. #define ENET_QOS_MAC_PPS3_TARGET_TIME_NANOSECONDS_TRGTBUSY3_MASK (0x80000000U)
  38821. #define ENET_QOS_MAC_PPS3_TARGET_TIME_NANOSECONDS_TRGTBUSY3_SHIFT (31U)
  38822. /*! TRGTBUSY3 - PPS Target Time Register Busy The MAC sets this bit when the PPSCMD0 field in the
  38823. * PPS_CONTROL register is programmed to 010 or 011.
  38824. * 0b1..PPS Target Time Register Busy is detected
  38825. * 0b0..PPS Target Time Register Busy status is not detected
  38826. */
  38827. #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)
  38828. /*! @} */
  38829. /*! @name MAC_PPS3_INTERVAL - PPS3 Interval */
  38830. /*! @{ */
  38831. #define ENET_QOS_MAC_PPS3_INTERVAL_PPSINT3_MASK (0xFFFFFFFFU)
  38832. #define ENET_QOS_MAC_PPS3_INTERVAL_PPSINT3_SHIFT (0U)
  38833. /*! PPSINT3 - PPS Output Signal Interval These bits store the interval between the rising edges of PPS0 signal output.
  38834. */
  38835. #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)
  38836. /*! @} */
  38837. /*! @name MAC_PPS3_WIDTH - PPS3 Width */
  38838. /*! @{ */
  38839. #define ENET_QOS_MAC_PPS3_WIDTH_PPSWIDTH3_MASK (0xFFFFFFFFU)
  38840. #define ENET_QOS_MAC_PPS3_WIDTH_PPSWIDTH3_SHIFT (0U)
  38841. /*! PPSWIDTH3 - PPS Output Signal Width These bits store the width between the rising edge and
  38842. * corresponding falling edge of PPS0 signal output.
  38843. */
  38844. #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)
  38845. /*! @} */
  38846. /*! @name MAC_PTO_CONTROL - PTP Offload Engine Control */
  38847. /*! @{ */
  38848. #define ENET_QOS_MAC_PTO_CONTROL_PTOEN_MASK (0x1U)
  38849. #define ENET_QOS_MAC_PTO_CONTROL_PTOEN_SHIFT (0U)
  38850. /*! PTOEN - PTP Offload Enable When this bit is set, the PTP Offload feature is enabled.
  38851. * 0b0..PTP Offload feature is disabled
  38852. * 0b1..PTP Offload feature is enabled
  38853. */
  38854. #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)
  38855. #define ENET_QOS_MAC_PTO_CONTROL_ASYNCEN_MASK (0x2U)
  38856. #define ENET_QOS_MAC_PTO_CONTROL_ASYNCEN_SHIFT (1U)
  38857. /*! ASYNCEN - Automatic PTP SYNC message Enable When this bit is set, PTP SYNC message is generated
  38858. * periodically based on interval programmed or trigger from application, when the MAC is
  38859. * programmed to be in Clock Master mode.
  38860. * 0b0..Automatic PTP SYNC message is disabled
  38861. * 0b1..Automatic PTP SYNC message is enabled
  38862. */
  38863. #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)
  38864. #define ENET_QOS_MAC_PTO_CONTROL_APDREQEN_MASK (0x4U)
  38865. #define ENET_QOS_MAC_PTO_CONTROL_APDREQEN_SHIFT (2U)
  38866. /*! APDREQEN - Automatic PTP Pdelay_Req message Enable When this bit is set, PTP Pdelay_Req message
  38867. * is generated periodically based on interval programmed or trigger from application, when the
  38868. * MAC is programmed to be in Peer-to-Peer Transparent mode.
  38869. * 0b0..Automatic PTP Pdelay_Req message is disabled
  38870. * 0b1..Automatic PTP Pdelay_Req message is enabled
  38871. */
  38872. #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)
  38873. #define ENET_QOS_MAC_PTO_CONTROL_ASYNCTRIG_MASK (0x10U)
  38874. #define ENET_QOS_MAC_PTO_CONTROL_ASYNCTRIG_SHIFT (4U)
  38875. /*! ASYNCTRIG - Automatic PTP SYNC message Trigger When this bit is set, one PTP SYNC message is transmitted.
  38876. * 0b0..Automatic PTP SYNC message Trigger is disabled
  38877. * 0b1..Automatic PTP SYNC message Trigger is enabled
  38878. */
  38879. #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)
  38880. #define ENET_QOS_MAC_PTO_CONTROL_APDREQTRIG_MASK (0x20U)
  38881. #define ENET_QOS_MAC_PTO_CONTROL_APDREQTRIG_SHIFT (5U)
  38882. /*! APDREQTRIG - Automatic PTP Pdelay_Req message Trigger When this bit is set, one PTP Pdelay_Req message is transmitted.
  38883. * 0b0..Automatic PTP Pdelay_Req message Trigger is disabled
  38884. * 0b1..Automatic PTP Pdelay_Req message Trigger is enabled
  38885. */
  38886. #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)
  38887. #define ENET_QOS_MAC_PTO_CONTROL_DRRDIS_MASK (0x40U)
  38888. #define ENET_QOS_MAC_PTO_CONTROL_DRRDIS_SHIFT (6U)
  38889. /*! DRRDIS - Disable PTO Delay Request/Response response generation When this bit is set, the Delay
  38890. * Request and Delay response is not generated for received SYNC and Delay request packet
  38891. * respectively, as required by the programmed mode.
  38892. * 0b1..PTO Delay Request/Response response generation is disabled
  38893. * 0b0..PTO Delay Request/Response response generation is enabled
  38894. */
  38895. #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)
  38896. #define ENET_QOS_MAC_PTO_CONTROL_PDRDIS_MASK (0x80U)
  38897. #define ENET_QOS_MAC_PTO_CONTROL_PDRDIS_SHIFT (7U)
  38898. /*! PDRDIS - Disable Peer Delay Response response generation When this bit is set, the Peer Delay
  38899. * Response (Pdelay_Resp) response is not be generated for received Peer Delay Request (Pdelay_Req)
  38900. * request packet, as required by the programmed mode.
  38901. * 0b1..Peer Delay Response response generation is disabled
  38902. * 0b0..Peer Delay Response response generation is enabled
  38903. */
  38904. #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)
  38905. #define ENET_QOS_MAC_PTO_CONTROL_DN_MASK (0xFF00U)
  38906. #define ENET_QOS_MAC_PTO_CONTROL_DN_SHIFT (8U)
  38907. /*! DN - Domain Number This field indicates the domain Number in which the PTP node is operating.
  38908. */
  38909. #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)
  38910. /*! @} */
  38911. /*! @name MAC_SOURCE_PORT_IDENTITY0 - Source Port Identity 0 */
  38912. /*! @{ */
  38913. #define ENET_QOS_MAC_SOURCE_PORT_IDENTITY0_SPI0_MASK (0xFFFFFFFFU)
  38914. #define ENET_QOS_MAC_SOURCE_PORT_IDENTITY0_SPI0_SHIFT (0U)
  38915. /*! SPI0 - Source Port Identity 0 This field indicates bits [31:0] of sourcePortIdentity of PTP node.
  38916. */
  38917. #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)
  38918. /*! @} */
  38919. /*! @name MAC_SOURCE_PORT_IDENTITY1 - Source Port Identity 1 */
  38920. /*! @{ */
  38921. #define ENET_QOS_MAC_SOURCE_PORT_IDENTITY1_SPI1_MASK (0xFFFFFFFFU)
  38922. #define ENET_QOS_MAC_SOURCE_PORT_IDENTITY1_SPI1_SHIFT (0U)
  38923. /*! SPI1 - Source Port Identity 1 This field indicates bits [63:32] of sourcePortIdentity of PTP node.
  38924. */
  38925. #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)
  38926. /*! @} */
  38927. /*! @name MAC_SOURCE_PORT_IDENTITY2 - Source Port Identity 2 */
  38928. /*! @{ */
  38929. #define ENET_QOS_MAC_SOURCE_PORT_IDENTITY2_SPI2_MASK (0xFFFFU)
  38930. #define ENET_QOS_MAC_SOURCE_PORT_IDENTITY2_SPI2_SHIFT (0U)
  38931. /*! SPI2 - Source Port Identity 2 This field indicates bits [79:64] of sourcePortIdentity of PTP node.
  38932. */
  38933. #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)
  38934. /*! @} */
  38935. /*! @name MAC_LOG_MESSAGE_INTERVAL - Log Message Interval */
  38936. /*! @{ */
  38937. #define ENET_QOS_MAC_LOG_MESSAGE_INTERVAL_LSI_MASK (0xFFU)
  38938. #define ENET_QOS_MAC_LOG_MESSAGE_INTERVAL_LSI_SHIFT (0U)
  38939. /*! LSI - Log Sync Interval This field indicates the periodicity of the automatically generated SYNC
  38940. * message when the PTP node is Master.
  38941. */
  38942. #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)
  38943. #define ENET_QOS_MAC_LOG_MESSAGE_INTERVAL_DRSYNCR_MASK (0x700U)
  38944. #define ENET_QOS_MAC_LOG_MESSAGE_INTERVAL_DRSYNCR_SHIFT (8U)
  38945. /*! DRSYNCR - Delay_Req to SYNC Ratio In Slave mode, it is used for controlling frequency of Delay_Req messages transmitted.
  38946. * 0b110..Reserved
  38947. * 0b000..DelayReq generated for every received SYNC
  38948. * 0b100..for every 16 SYNC messages
  38949. * 0b001..DelayReq generated every alternate reception of SYNC
  38950. * 0b101..for every 32 SYNC messages
  38951. * 0b010..for every 4 SYNC messages
  38952. * 0b011..for every 8 SYNC messages
  38953. */
  38954. #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)
  38955. #define ENET_QOS_MAC_LOG_MESSAGE_INTERVAL_LMPDRI_MASK (0xFF000000U)
  38956. #define ENET_QOS_MAC_LOG_MESSAGE_INTERVAL_LMPDRI_SHIFT (24U)
  38957. /*! LMPDRI - Log Min Pdelay_Req Interval This field indicates logMinPdelayReqInterval of PTP node.
  38958. */
  38959. #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)
  38960. /*! @} */
  38961. /*! @name MTL_OPERATION_MODE - MTL Operation Mode */
  38962. /*! @{ */
  38963. #define ENET_QOS_MTL_OPERATION_MODE_DTXSTS_MASK (0x2U)
  38964. #define ENET_QOS_MTL_OPERATION_MODE_DTXSTS_SHIFT (1U)
  38965. /*! DTXSTS - Drop Transmit Status When this bit is set, the Tx packet status received from the MAC is dropped in the MTL.
  38966. * 0b0..Drop Transmit Status is disabled
  38967. * 0b1..Drop Transmit Status is enabled
  38968. */
  38969. #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)
  38970. #define ENET_QOS_MTL_OPERATION_MODE_RAA_MASK (0x4U)
  38971. #define ENET_QOS_MTL_OPERATION_MODE_RAA_SHIFT (2U)
  38972. /*! RAA - Receive Arbitration Algorithm This field is used to select the arbitration algorithm for the Rx side.
  38973. * 0b0..Strict priority (SP)
  38974. * 0b1..Weighted Strict Priority (WSP)
  38975. */
  38976. #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)
  38977. #define ENET_QOS_MTL_OPERATION_MODE_SCHALG_MASK (0x60U)
  38978. #define ENET_QOS_MTL_OPERATION_MODE_SCHALG_SHIFT (5U)
  38979. /*! SCHALG - Tx Scheduling Algorithm This field indicates the algorithm for Tx scheduling:
  38980. * 0b10..DWRR algorithm when DCB feature is selected.Otherwise, Reserved
  38981. * 0b11..Strict priority algorithm
  38982. * 0b01..WFQ algorithm when DCB feature is selected.Otherwise, Reserved
  38983. * 0b00..WRR algorithm
  38984. */
  38985. #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)
  38986. #define ENET_QOS_MTL_OPERATION_MODE_CNTPRST_MASK (0x100U)
  38987. #define ENET_QOS_MTL_OPERATION_MODE_CNTPRST_SHIFT (8U)
  38988. /*! CNTPRST - Counters Preset When this bit is set, - MTL_TxQ[0-7]_Underflow register is initialized/preset to 12'h7F0.
  38989. * 0b0..Counters Preset is disabled
  38990. * 0b1..Counters Preset is enabled
  38991. */
  38992. #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)
  38993. #define ENET_QOS_MTL_OPERATION_MODE_CNTCLR_MASK (0x200U)
  38994. #define ENET_QOS_MTL_OPERATION_MODE_CNTCLR_SHIFT (9U)
  38995. /*! CNTCLR - Counters Reset When this bit is set, all counters are reset.
  38996. * 0b0..Counters are not reset
  38997. * 0b1..All counters are reset
  38998. */
  38999. #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)
  39000. #define ENET_QOS_MTL_OPERATION_MODE_FRPE_MASK (0x8000U)
  39001. #define ENET_QOS_MTL_OPERATION_MODE_FRPE_SHIFT (15U)
  39002. /*! FRPE - Flexible Rx parser Enable When this bit is set to 1, the Programmable Rx Parser functionality is enabled.
  39003. * 0b0..Flexible Rx parser is disabled
  39004. * 0b1..Flexible Rx parser is enabled
  39005. */
  39006. #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)
  39007. /*! @} */
  39008. /*! @name MTL_DBG_CTL - FIFO Debug Access Control and Status */
  39009. /*! @{ */
  39010. #define ENET_QOS_MTL_DBG_CTL_FDBGEN_MASK (0x1U)
  39011. #define ENET_QOS_MTL_DBG_CTL_FDBGEN_SHIFT (0U)
  39012. /*! FDBGEN - FIFO Debug Access Enable When this bit is set, it indicates that the debug mode access to the FIFO is enabled.
  39013. * 0b0..FIFO Debug Access is disabled
  39014. * 0b1..FIFO Debug Access is enabled
  39015. */
  39016. #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)
  39017. #define ENET_QOS_MTL_DBG_CTL_DBGMOD_MASK (0x2U)
  39018. #define ENET_QOS_MTL_DBG_CTL_DBGMOD_SHIFT (1U)
  39019. /*! DBGMOD - Debug Mode Access to FIFO When this bit is set, it indicates that the current access to
  39020. * the FIFO is read, write, and debug access.
  39021. * 0b0..Debug Mode Access to FIFO is disabled
  39022. * 0b1..Debug Mode Access to FIFO is enabled
  39023. */
  39024. #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)
  39025. #define ENET_QOS_MTL_DBG_CTL_BYTEEN_MASK (0xCU)
  39026. #define ENET_QOS_MTL_DBG_CTL_BYTEEN_SHIFT (2U)
  39027. /*! BYTEEN - Byte Enables This field indicates the number of data bytes valid in the data register during Write operation.
  39028. * 0b11..All four bytes are valid
  39029. * 0b10..Byte 0, Byte 1, and Byte 2 are valid
  39030. * 0b01..Byte 0 and Byte 1 are valid
  39031. * 0b00..Byte 0 valid
  39032. */
  39033. #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)
  39034. #define ENET_QOS_MTL_DBG_CTL_PKTSTATE_MASK (0x60U)
  39035. #define ENET_QOS_MTL_DBG_CTL_PKTSTATE_SHIFT (5U)
  39036. /*! PKTSTATE - Encoded Packet State This field is used to write the control information to the Tx FIFO or Rx FIFO.
  39037. * 0b01..Control Word/Normal Status
  39038. * 0b11..EOP Data/EOP
  39039. * 0b00..Packet Data
  39040. * 0b10..SOP Data/Last Status
  39041. */
  39042. #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)
  39043. #define ENET_QOS_MTL_DBG_CTL_RSTALL_MASK (0x100U)
  39044. #define ENET_QOS_MTL_DBG_CTL_RSTALL_SHIFT (8U)
  39045. /*! RSTALL - Reset All Pointers When this bit is set, the pointers of all FIFOs are reset when FIFO Debug Access is enabled.
  39046. * 0b0..Reset All Pointers is disabled
  39047. * 0b1..Reset All Pointers is enabled
  39048. */
  39049. #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)
  39050. #define ENET_QOS_MTL_DBG_CTL_RSTSEL_MASK (0x200U)
  39051. #define ENET_QOS_MTL_DBG_CTL_RSTSEL_SHIFT (9U)
  39052. /*! RSTSEL - Reset Pointers of Selected FIFO When this bit is set, the pointers of the
  39053. * currently-selected FIFO are reset when FIFO Debug Access is enabled.
  39054. * 0b0..Reset Pointers of Selected FIFO is disabled
  39055. * 0b1..Reset Pointers of Selected FIFO is enabled
  39056. */
  39057. #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)
  39058. #define ENET_QOS_MTL_DBG_CTL_FIFORDEN_MASK (0x400U)
  39059. #define ENET_QOS_MTL_DBG_CTL_FIFORDEN_SHIFT (10U)
  39060. /*! FIFORDEN - FIFO Read Enable When this bit is set, it enables the Read operation on selected FIFO when FIFO Debug Access is enabled.
  39061. * 0b0..FIFO Read is disabled
  39062. * 0b1..FIFO Read is enabled
  39063. */
  39064. #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)
  39065. #define ENET_QOS_MTL_DBG_CTL_FIFOWREN_MASK (0x800U)
  39066. #define ENET_QOS_MTL_DBG_CTL_FIFOWREN_SHIFT (11U)
  39067. /*! FIFOWREN - FIFO Write Enable When this bit is set, it enables the Write operation on selected
  39068. * FIFO when FIFO Debug Access is enabled.
  39069. * 0b0..FIFO Write is disabled
  39070. * 0b1..FIFO Write is enabled
  39071. */
  39072. #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)
  39073. #define ENET_QOS_MTL_DBG_CTL_FIFOSEL_MASK (0x3000U)
  39074. #define ENET_QOS_MTL_DBG_CTL_FIFOSEL_SHIFT (12U)
  39075. /*! FIFOSEL - FIFO Selected for Access This field indicates the FIFO selected for debug access:
  39076. * 0b11..Rx FIFO
  39077. * 0b10..TSO FIFO (cannot be accessed when SLVMOD is set)
  39078. * 0b00..Tx FIFO
  39079. * 0b01..Tx Status FIFO (only read access when SLVMOD is set)
  39080. */
  39081. #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)
  39082. #define ENET_QOS_MTL_DBG_CTL_PKTIE_MASK (0x4000U)
  39083. #define ENET_QOS_MTL_DBG_CTL_PKTIE_SHIFT (14U)
  39084. /*! PKTIE - Receive Packet Available Interrupt Status Enable When this bit is set, an interrupt is
  39085. * generated when EOP of received packet is written to the Rx FIFO.
  39086. * 0b0..Receive Packet Available Interrupt Status is disabled
  39087. * 0b1..Receive Packet Available Interrupt Status is enabled
  39088. */
  39089. #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)
  39090. #define ENET_QOS_MTL_DBG_CTL_STSIE_MASK (0x8000U)
  39091. #define ENET_QOS_MTL_DBG_CTL_STSIE_SHIFT (15U)
  39092. /*! STSIE - Transmit Status Available Interrupt Status Enable When this bit is set, an interrupt is
  39093. * generated when Transmit status is available in slave mode.
  39094. * 0b0..Transmit Packet Available Interrupt Status is disabled
  39095. * 0b1..Transmit Packet Available Interrupt Status is enabled
  39096. */
  39097. #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)
  39098. /*! @} */
  39099. /*! @name MTL_DBG_STS - FIFO Debug Status */
  39100. /*! @{ */
  39101. #define ENET_QOS_MTL_DBG_STS_FIFOBUSY_MASK (0x1U)
  39102. #define ENET_QOS_MTL_DBG_STS_FIFOBUSY_SHIFT (0U)
  39103. /*! FIFOBUSY - FIFO Busy When set, this bit indicates that a FIFO operation is in progress in the
  39104. * MAC and content of the following fields is not valid: - All other fields of this register - All
  39105. * fields of the MTL_FIFO_DEBUG_DATA register
  39106. * 0b1..FIFO Busy detected
  39107. * 0b0..FIFO Busy not detected
  39108. */
  39109. #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)
  39110. #define ENET_QOS_MTL_DBG_STS_PKTSTATE_MASK (0x6U)
  39111. #define ENET_QOS_MTL_DBG_STS_PKTSTATE_SHIFT (1U)
  39112. /*! PKTSTATE - Encoded Packet State This field is used to get the control or status information of the selected FIFO.
  39113. * 0b01..Control Word/Normal Status
  39114. * 0b11..EOP Data/EOP
  39115. * 0b00..Packet Data
  39116. * 0b10..SOP Data/Last Status
  39117. */
  39118. #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)
  39119. #define ENET_QOS_MTL_DBG_STS_BYTEEN_MASK (0x18U)
  39120. #define ENET_QOS_MTL_DBG_STS_BYTEEN_SHIFT (3U)
  39121. /*! BYTEEN - Byte Enables This field indicates the number of data bytes valid in the data register during Read operation.
  39122. * 0b11..All four bytes are valid
  39123. * 0b10..Byte 0, Byte 1, and Byte 2 are valid
  39124. * 0b01..Byte 0 and Byte 1 are valid
  39125. * 0b00..Byte 0 valid
  39126. */
  39127. #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)
  39128. #define ENET_QOS_MTL_DBG_STS_PKTI_MASK (0x100U)
  39129. #define ENET_QOS_MTL_DBG_STS_PKTI_SHIFT (8U)
  39130. /*! PKTI - Receive Packet Available Interrupt Status When set, this bit indicates that MAC layer has
  39131. * written the EOP of received packet to the Rx FIFO.
  39132. * 0b1..Receive Packet Available Interrupt Status detected
  39133. * 0b0..Receive Packet Available Interrupt Status not detected
  39134. */
  39135. #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)
  39136. #define ENET_QOS_MTL_DBG_STS_STSI_MASK (0x200U)
  39137. #define ENET_QOS_MTL_DBG_STS_STSI_SHIFT (9U)
  39138. /*! STSI - Transmit Status Available Interrupt Status When set, this bit indicates that the Slave
  39139. * mode Tx packet is transmitted, and the status is available in Tx Status FIFO.
  39140. * 0b1..Transmit Status Available Interrupt Status detected
  39141. * 0b0..Transmit Status Available Interrupt Status not detected
  39142. */
  39143. #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)
  39144. #define ENET_QOS_MTL_DBG_STS_LOCR_MASK (0xFFFF8000U)
  39145. #define ENET_QOS_MTL_DBG_STS_LOCR_SHIFT (15U)
  39146. /*! LOCR - Remaining Locations in the FIFO Slave Access Mode: This field indicates the space available in selected FIFO.
  39147. */
  39148. #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)
  39149. /*! @} */
  39150. /*! @name MTL_FIFO_DEBUG_DATA - FIFO Debug Data */
  39151. /*! @{ */
  39152. #define ENET_QOS_MTL_FIFO_DEBUG_DATA_FDBGDATA_MASK (0xFFFFFFFFU)
  39153. #define ENET_QOS_MTL_FIFO_DEBUG_DATA_FDBGDATA_SHIFT (0U)
  39154. /*! FDBGDATA - FIFO Debug Data During debug or slave access write operation, this field contains the
  39155. * data to be written to the Tx FIFO, Rx FIFO, or TSO FIFO.
  39156. */
  39157. #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)
  39158. /*! @} */
  39159. /*! @name MTL_INTERRUPT_STATUS - MTL Interrupt Status */
  39160. /*! @{ */
  39161. #define ENET_QOS_MTL_INTERRUPT_STATUS_Q0IS_MASK (0x1U)
  39162. #define ENET_QOS_MTL_INTERRUPT_STATUS_Q0IS_SHIFT (0U)
  39163. /*! Q0IS - Queue 0 Interrupt status This bit indicates that there is an interrupt from Queue 0.
  39164. * 0b1..Queue 0 Interrupt status detected
  39165. * 0b0..Queue 0 Interrupt status not detected
  39166. */
  39167. #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)
  39168. #define ENET_QOS_MTL_INTERRUPT_STATUS_Q1IS_MASK (0x2U)
  39169. #define ENET_QOS_MTL_INTERRUPT_STATUS_Q1IS_SHIFT (1U)
  39170. /*! Q1IS - Queue 1 Interrupt status This bit indicates that there is an interrupt from Queue 1.
  39171. * 0b1..Queue 1 Interrupt status detected
  39172. * 0b0..Queue 1 Interrupt status not detected
  39173. */
  39174. #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)
  39175. #define ENET_QOS_MTL_INTERRUPT_STATUS_Q2IS_MASK (0x4U)
  39176. #define ENET_QOS_MTL_INTERRUPT_STATUS_Q2IS_SHIFT (2U)
  39177. /*! Q2IS - Queue 2 Interrupt status This bit indicates that there is an interrupt from Queue 2.
  39178. * 0b1..Queue 2 Interrupt status detected
  39179. * 0b0..Queue 2 Interrupt status not detected
  39180. */
  39181. #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)
  39182. #define ENET_QOS_MTL_INTERRUPT_STATUS_Q3IS_MASK (0x8U)
  39183. #define ENET_QOS_MTL_INTERRUPT_STATUS_Q3IS_SHIFT (3U)
  39184. /*! Q3IS - Queue 3 Interrupt status This bit indicates that there is an interrupt from Queue 3.
  39185. * 0b1..Queue 3 Interrupt status detected
  39186. * 0b0..Queue 3 Interrupt status not detected
  39187. */
  39188. #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)
  39189. #define ENET_QOS_MTL_INTERRUPT_STATUS_Q4IS_MASK (0x10U)
  39190. #define ENET_QOS_MTL_INTERRUPT_STATUS_Q4IS_SHIFT (4U)
  39191. /*! Q4IS - Queue 4 Interrupt status This bit indicates that there is an interrupt from Queue 4.
  39192. * 0b1..Queue 4 Interrupt status detected
  39193. * 0b0..Queue 4 Interrupt status not detected
  39194. */
  39195. #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)
  39196. #define ENET_QOS_MTL_INTERRUPT_STATUS_DBGIS_MASK (0x20000U)
  39197. #define ENET_QOS_MTL_INTERRUPT_STATUS_DBGIS_SHIFT (17U)
  39198. /*! DBGIS - Debug Interrupt status This bit indicates an interrupt event during the slave access.
  39199. * 0b1..Debug Interrupt status detected
  39200. * 0b0..Debug Interrupt status not detected
  39201. */
  39202. #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)
  39203. #define ENET_QOS_MTL_INTERRUPT_STATUS_ESTIS_MASK (0x40000U)
  39204. #define ENET_QOS_MTL_INTERRUPT_STATUS_ESTIS_SHIFT (18U)
  39205. /*! ESTIS - EST (TAS- 802.
  39206. * 0b1..EST (TAS- 802.1Qbv) Interrupt status detected
  39207. * 0b0..EST (TAS- 802.1Qbv) Interrupt status not detected
  39208. */
  39209. #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)
  39210. #define ENET_QOS_MTL_INTERRUPT_STATUS_MTLPIS_MASK (0x800000U)
  39211. #define ENET_QOS_MTL_INTERRUPT_STATUS_MTLPIS_SHIFT (23U)
  39212. /*! MTLPIS - MTL Rx Parser Interrupt Status This bit indicates that there is an interrupt from Rx Parser Block.
  39213. * 0b1..MTL Rx Parser Interrupt status detected
  39214. * 0b0..MTL Rx Parser Interrupt status not detected
  39215. */
  39216. #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)
  39217. /*! @} */
  39218. /*! @name MTL_RXQ_DMA_MAP0 - Receive Queue and DMA Channel Mapping 0 */
  39219. /*! @{ */
  39220. #define ENET_QOS_MTL_RXQ_DMA_MAP0_Q0MDMACH_MASK (0x7U)
  39221. #define ENET_QOS_MTL_RXQ_DMA_MAP0_Q0MDMACH_SHIFT (0U)
  39222. /*! Q0MDMACH - Queue 0 Mapped to DMA Channel This field controls the routing of the packet received
  39223. * in Queue 0 to the DMA channel: - 000: DMA Channel 0 - 001: DMA Channel 1 - 010: DMA Channel 2
  39224. * - 011: DMA Channel 3 - 100: DMA Channel 4 - 101: Reserved - 110: Reserved - 111: Reserved This
  39225. * field is valid when the Q0DDMACH field is reset.
  39226. */
  39227. #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)
  39228. #define ENET_QOS_MTL_RXQ_DMA_MAP0_Q0DDMACH_MASK (0x10U)
  39229. #define ENET_QOS_MTL_RXQ_DMA_MAP0_Q0DDMACH_SHIFT (4U)
  39230. /*! Q0DDMACH - Queue 0 Enabled for DA-based DMA Channel Selection When set, this bit indicates that
  39231. * the packets received in Queue 0 are routed to a particular DMA channel as decided in the MAC
  39232. * Receiver based on the DMA channel number programmed in the L3-L4 filter registers, or the
  39233. * Ethernet DA address.
  39234. * 0b0..Queue 0 disabled for DA-based DMA Channel Selection
  39235. * 0b1..Queue 0 enabled for DA-based DMA Channel Selection
  39236. */
  39237. #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)
  39238. #define ENET_QOS_MTL_RXQ_DMA_MAP0_Q1MDMACH_MASK (0x700U)
  39239. #define ENET_QOS_MTL_RXQ_DMA_MAP0_Q1MDMACH_SHIFT (8U)
  39240. /*! Q1MDMACH - Queue 1 Mapped to DMA Channel This field controls the routing of the received packet
  39241. * in Queue 1 to the DMA channel: - 000: DMA Channel 0 - 001: DMA Channel 1 - 010: DMA Channel 2
  39242. * - 011: DMA Channel 3 - 100: DMA Channel 4 - 101: Reserved - 110: Reserved - 111: Reserved This
  39243. * field is valid when the Q1DDMACH field is reset.
  39244. */
  39245. #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)
  39246. #define ENET_QOS_MTL_RXQ_DMA_MAP0_Q1DDMACH_MASK (0x1000U)
  39247. #define ENET_QOS_MTL_RXQ_DMA_MAP0_Q1DDMACH_SHIFT (12U)
  39248. /*! Q1DDMACH - Queue 1 Enabled for DA-based DMA Channel Selection When set, this bit indicates that
  39249. * the packets received in Queue 1 are routed to a particular DMA channel as decided in the MAC
  39250. * Receiver based on the DMA channel number programmed in the L3-L4 filter registers, or the
  39251. * Ethernet DA address.
  39252. * 0b0..Queue 1 disabled for DA-based DMA Channel Selection
  39253. * 0b1..Queue 1 enabled for DA-based DMA Channel Selection
  39254. */
  39255. #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)
  39256. #define ENET_QOS_MTL_RXQ_DMA_MAP0_Q2MDMACH_MASK (0x70000U)
  39257. #define ENET_QOS_MTL_RXQ_DMA_MAP0_Q2MDMACH_SHIFT (16U)
  39258. /*! Q2MDMACH - Queue 2 Mapped to DMA Channel This field controls the routing of the received packet
  39259. * in Queue 2 to the DMA channel: - 000: DMA Channel 0 - 001: DMA Channel 1 - 010: DMA Channel 2
  39260. * - 011: DMA Channel 3 - 100: DMA Channel 4 - 101: Reserved - 110: Reserved - 111: Reserved This
  39261. * field is valid when the Q2DDMACH field is reset.
  39262. */
  39263. #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)
  39264. #define ENET_QOS_MTL_RXQ_DMA_MAP0_Q2DDMACH_MASK (0x100000U)
  39265. #define ENET_QOS_MTL_RXQ_DMA_MAP0_Q2DDMACH_SHIFT (20U)
  39266. /*! Q2DDMACH - Queue 2 Enabled for DA-based DMA Channel Selection When set, this bit indicates that
  39267. * the packets received in Queue 2 are routed to a particular DMA channel as decided in the MAC
  39268. * Receiver based on the DMA channel number programmed in the L3-L4 filter registers, or the
  39269. * Ethernet DA address.
  39270. * 0b0..Queue 2 disabled for DA-based DMA Channel Selection
  39271. * 0b1..Queue 2 enabled for DA-based DMA Channel Selection
  39272. */
  39273. #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)
  39274. #define ENET_QOS_MTL_RXQ_DMA_MAP0_Q3MDMACH_MASK (0x7000000U)
  39275. #define ENET_QOS_MTL_RXQ_DMA_MAP0_Q3MDMACH_SHIFT (24U)
  39276. /*! Q3MDMACH - Queue 3 Mapped to DMA Channel This field controls the routing of the received packet
  39277. * in Queue 3 to the DMA channel: - 000: DMA Channel 0 - 001: DMA Channel 1 - 010: DMA Channel 2
  39278. * - 011: DMA Channel 3 - 100: DMA Channel 4 - 101: Reserved - 110: Reserved - 111: Reserved This
  39279. * field is valid when the Q3DDMACH field is reset.
  39280. */
  39281. #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)
  39282. #define ENET_QOS_MTL_RXQ_DMA_MAP0_Q3DDMACH_MASK (0x10000000U)
  39283. #define ENET_QOS_MTL_RXQ_DMA_MAP0_Q3DDMACH_SHIFT (28U)
  39284. /*! Q3DDMACH - Queue 3 Enabled for Dynamic (per packet) DMA Channel Selection When set, this bit
  39285. * indicates that the packets received in Queue 3 are routed to a particular DMA channel as decided
  39286. * in the MAC Receiver based on the DMA channel number programmed in the L3-L4 filter registers,
  39287. * or the Ethernet DA address.
  39288. * 0b0..Queue 3 disabled for DA-based DMA Channel Selection
  39289. * 0b1..Queue 3 enabled for DA-based DMA Channel Selection
  39290. */
  39291. #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)
  39292. /*! @} */
  39293. /*! @name MTL_RXQ_DMA_MAP1 - Receive Queue and DMA Channel Mapping 1 */
  39294. /*! @{ */
  39295. #define ENET_QOS_MTL_RXQ_DMA_MAP1_Q4MDMACH_MASK (0x7U)
  39296. #define ENET_QOS_MTL_RXQ_DMA_MAP1_Q4MDMACH_SHIFT (0U)
  39297. /*! Q4MDMACH - Queue 4 Mapped to DMA Channel This field controls the routing of the packet received
  39298. * in Queue 4 to the DMA channel: - 000: DMA Channel 0 - 001: DMA Channel 1 - 010: DMA Channel 2
  39299. * - 011: DMA Channel 3 - 100: DMA Channel 4 - 101: Reserved - 110: Reserved - 111: Reserved This
  39300. * field is valid when the Q4DDMACH field is reset.
  39301. */
  39302. #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)
  39303. #define ENET_QOS_MTL_RXQ_DMA_MAP1_Q4DDMACH_MASK (0x10U)
  39304. #define ENET_QOS_MTL_RXQ_DMA_MAP1_Q4DDMACH_SHIFT (4U)
  39305. /*! Q4DDMACH - Queue 4 Enabled for DA-based DMA Channel Selection When set, this bit indicates that
  39306. * the packets received in Queue 4 are routed to a particular DMA channel as decided in the MAC
  39307. * Receiver based on the DMA channel number programmed in the L3-L4 filter registers, or the
  39308. * Ethernet DA address.
  39309. * 0b0..Queue 4 disabled for DA-based DMA Channel Selection
  39310. * 0b1..Queue 4 enabled for DA-based DMA Channel Selection
  39311. */
  39312. #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)
  39313. /*! @} */
  39314. /*! @name MTL_TBS_CTRL - Time Based Scheduling Control */
  39315. /*! @{ */
  39316. #define ENET_QOS_MTL_TBS_CTRL_ESTM_MASK (0x1U)
  39317. #define ENET_QOS_MTL_TBS_CTRL_ESTM_SHIFT (0U)
  39318. /*! ESTM - EST offset Mode When this bit is set, the Launch Time value used in Time Based Scheduling
  39319. * is interpreted as an EST offset value and is added to the Base Time Register (BTR) of the
  39320. * current list.
  39321. * 0b0..EST offset Mode is disabled
  39322. * 0b1..EST offset Mode is enabled
  39323. */
  39324. #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)
  39325. #define ENET_QOS_MTL_TBS_CTRL_LEOV_MASK (0x2U)
  39326. #define ENET_QOS_MTL_TBS_CTRL_LEOV_SHIFT (1U)
  39327. /*! LEOV - Launch Expiry Offset Valid When set indicates the LEOS field is valid.
  39328. * 0b0..LEOS field is invalid
  39329. * 0b1..LEOS field is valid
  39330. */
  39331. #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)
  39332. #define ENET_QOS_MTL_TBS_CTRL_LEGOS_MASK (0x70U)
  39333. #define ENET_QOS_MTL_TBS_CTRL_LEGOS_SHIFT (4U)
  39334. /*! LEGOS - Launch Expiry GSN Offset The number GSN slots that has to be added to the Launch GSN to compute the Launch Expiry time.
  39335. */
  39336. #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)
  39337. #define ENET_QOS_MTL_TBS_CTRL_LEOS_MASK (0xFFFFFF00U)
  39338. #define ENET_QOS_MTL_TBS_CTRL_LEOS_SHIFT (8U)
  39339. /*! LEOS - Launch Expiry Offset The value in units of 256 nanoseconds that has to be added to the
  39340. * Launch time to compute the Launch Expiry time.
  39341. */
  39342. #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)
  39343. /*! @} */
  39344. /*! @name MTL_EST_CONTROL - Enhancements to Scheduled Transmission Control */
  39345. /*! @{ */
  39346. #define ENET_QOS_MTL_EST_CONTROL_EEST_MASK (0x1U)
  39347. #define ENET_QOS_MTL_EST_CONTROL_EEST_SHIFT (0U)
  39348. /*! EEST - Enable EST When reset, the gate control list processing is halted and all gates are assumed to be in Open state.
  39349. * 0b0..EST is disabled
  39350. * 0b1..EST is enabled
  39351. */
  39352. #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)
  39353. #define ENET_QOS_MTL_EST_CONTROL_SSWL_MASK (0x2U)
  39354. #define ENET_QOS_MTL_EST_CONTROL_SSWL_SHIFT (1U)
  39355. /*! SSWL - Switch to S/W owned list When set indicates that the software has programmed that list
  39356. * that it currently owns (SWOL) and the hardware should switch to the new list based on the new
  39357. * BTR.
  39358. * 0b0..Switch to S/W owned list is disabled
  39359. * 0b1..Switch to S/W owned list is enabled
  39360. */
  39361. #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)
  39362. #define ENET_QOS_MTL_EST_CONTROL_DDBF_MASK (0x10U)
  39363. #define ENET_QOS_MTL_EST_CONTROL_DDBF_SHIFT (4U)
  39364. /*! DDBF - Do not Drop frames during Frame Size Error When set, frames are not be dropped during
  39365. * Head-of-Line blocking due to Frame Size Error (HLBF field of MTL_EST_STATUS register).
  39366. * 0b1..Do not Drop frames during Frame Size Error
  39367. * 0b0..Drop frames during Frame Size Error
  39368. */
  39369. #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)
  39370. #define ENET_QOS_MTL_EST_CONTROL_DFBS_MASK (0x20U)
  39371. #define ENET_QOS_MTL_EST_CONTROL_DFBS_SHIFT (5U)
  39372. /*! DFBS - Drop Frames causing Scheduling Error When set frames reported to cause HOL Blocking due
  39373. * to not getting scheduled (HLBS field of EST_STATUS register) after 4,8,16,32 (based on LCSE
  39374. * field of this register) GCL iterations are dropped.
  39375. * 0b0..Do not Drop Frames causing Scheduling Error
  39376. * 0b1..Drop Frames causing Scheduling Error
  39377. */
  39378. #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)
  39379. #define ENET_QOS_MTL_EST_CONTROL_LCSE_MASK (0xC0U)
  39380. #define ENET_QOS_MTL_EST_CONTROL_LCSE_SHIFT (6U)
  39381. /*! LCSE - Loop Count to report Scheduling Error Programmable number of GCL list iterations before
  39382. * reporting an HLBS error defined in EST_STATUS register.
  39383. * 0b10..16 iterations
  39384. * 0b11..32 iterations
  39385. * 0b00..4 iterations
  39386. * 0b01..8 iterations
  39387. */
  39388. #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)
  39389. #define ENET_QOS_MTL_EST_CONTROL_TILS_MASK (0x700U)
  39390. #define ENET_QOS_MTL_EST_CONTROL_TILS_SHIFT (8U)
  39391. /*! TILS - Time Interval Left Shift Amount This field provides the left shift amount for the
  39392. * programmed Time Interval values used in the Gate Control Lists.
  39393. */
  39394. #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)
  39395. #define ENET_QOS_MTL_EST_CONTROL_CTOV_MASK (0xFFF000U)
  39396. #define ENET_QOS_MTL_EST_CONTROL_CTOV_SHIFT (12U)
  39397. /*! CTOV - Current Time Offset Value Provides a 12 bit time offset value in nano second that is
  39398. * added to the current time to compensate for all the implementation pipeline delays such as the CDC
  39399. * sync delay, buffering delays, data path delays etc.
  39400. */
  39401. #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)
  39402. #define ENET_QOS_MTL_EST_CONTROL_PTOV_MASK (0xFF000000U)
  39403. #define ENET_QOS_MTL_EST_CONTROL_PTOV_SHIFT (24U)
  39404. /*! PTOV - PTP Time Offset Value The value of PTP Clock period multiplied by 6 in nanoseconds.
  39405. */
  39406. #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)
  39407. /*! @} */
  39408. /*! @name MTL_EST_STATUS - Enhancements to Scheduled Transmission Status */
  39409. /*! @{ */
  39410. #define ENET_QOS_MTL_EST_STATUS_SWLC_MASK (0x1U)
  39411. #define ENET_QOS_MTL_EST_STATUS_SWLC_SHIFT (0U)
  39412. /*! SWLC - Switch to S/W owned list Complete When "1" indicates the hardware has successfully
  39413. * switched to the SWOL, and the SWOL bit has been updated to that effect.
  39414. * 0b1..Switch to S/W owned list Complete detected
  39415. * 0b0..Switch to S/W owned list Complete not detected
  39416. */
  39417. #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)
  39418. #define ENET_QOS_MTL_EST_STATUS_BTRE_MASK (0x2U)
  39419. #define ENET_QOS_MTL_EST_STATUS_BTRE_SHIFT (1U)
  39420. /*! BTRE - BTR Error When "1" indicates a programming error in the BTR of SWOL where the programmed
  39421. * value is less than current time.
  39422. * 0b1..BTR Error detected
  39423. * 0b0..BTR Error not detected
  39424. */
  39425. #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)
  39426. #define ENET_QOS_MTL_EST_STATUS_HLBF_MASK (0x4U)
  39427. #define ENET_QOS_MTL_EST_STATUS_HLBF_SHIFT (2U)
  39428. /*! HLBF - Head-Of-Line Blocking due to Frame Size Set when HOL Blocking is noticed on one or more
  39429. * Queues as a result of none of the Time Intervals of gate open in the GCL being greater than or
  39430. * equal to the duration needed for frame size (or frame fragment size when preemption is
  39431. * enabled) transmission.
  39432. * 0b1..Head-Of-Line Blocking due to Frame Size detected
  39433. * 0b0..Head-Of-Line Blocking due to Frame Size not detected
  39434. */
  39435. #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)
  39436. #define ENET_QOS_MTL_EST_STATUS_HLBS_MASK (0x8U)
  39437. #define ENET_QOS_MTL_EST_STATUS_HLBS_SHIFT (3U)
  39438. /*! HLBS - Head-Of-Line Blocking due to Scheduling Set when the frame is not able to win arbitration
  39439. * and get scheduled even after 4 iterations of the GCL.
  39440. * 0b1..Head-Of-Line Blocking due to Scheduling detected
  39441. * 0b0..Head-Of-Line Blocking due to Scheduling not detected
  39442. */
  39443. #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)
  39444. #define ENET_QOS_MTL_EST_STATUS_CGCE_MASK (0x10U)
  39445. #define ENET_QOS_MTL_EST_STATUS_CGCE_SHIFT (4U)
  39446. /*! CGCE - Constant Gate Control Error This error occurs when the list length (LLR) is 1 and the
  39447. * programmed Time Interval (TI) value after the optional Left Shifting is less than or equal to the
  39448. * Cycle Time (CTR).
  39449. * 0b1..Constant Gate Control Error detected
  39450. * 0b0..Constant Gate Control Error not detected
  39451. */
  39452. #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)
  39453. #define ENET_QOS_MTL_EST_STATUS_SWOL_MASK (0x80U)
  39454. #define ENET_QOS_MTL_EST_STATUS_SWOL_SHIFT (7U)
  39455. /*! SWOL - S/W owned list When '0' indicates Gate control list number "0" is owned by software and
  39456. * when "1" indicates the Gate Control list "1" is owned by the software.
  39457. * 0b1..Gate control list number "1" is owned by software
  39458. * 0b0..Gate control list number "0" is owned by software
  39459. */
  39460. #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)
  39461. #define ENET_QOS_MTL_EST_STATUS_BTRL_MASK (0xF00U)
  39462. #define ENET_QOS_MTL_EST_STATUS_BTRL_SHIFT (8U)
  39463. /*! BTRL - BTR Error Loop Count Provides the minimum count (N) for which the equation Current Time
  39464. * =< New BTR + (N * New Cycle Time) becomes true.
  39465. */
  39466. #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)
  39467. #define ENET_QOS_MTL_EST_STATUS_CGSN_MASK (0xF0000U)
  39468. #define ENET_QOS_MTL_EST_STATUS_CGSN_SHIFT (16U)
  39469. /*! CGSN - Current GCL Slot Number Indicates the slot number of the GCL list.
  39470. */
  39471. #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)
  39472. /*! @} */
  39473. /*! @name MTL_EST_SCH_ERROR - EST Scheduling Error */
  39474. /*! @{ */
  39475. #define ENET_QOS_MTL_EST_SCH_ERROR_SEQN_MASK (0x1FU)
  39476. #define ENET_QOS_MTL_EST_SCH_ERROR_SEQN_SHIFT (0U)
  39477. /*! SEQN - Schedule Error Queue Number The One Hot Encoded Queue Numbers that have experienced
  39478. * error/timeout described in HLBS field of status register.
  39479. */
  39480. #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)
  39481. /*! @} */
  39482. /*! @name MTL_EST_FRM_SIZE_ERROR - EST Frame Size Error */
  39483. /*! @{ */
  39484. #define ENET_QOS_MTL_EST_FRM_SIZE_ERROR_FEQN_MASK (0x1FU)
  39485. #define ENET_QOS_MTL_EST_FRM_SIZE_ERROR_FEQN_SHIFT (0U)
  39486. /*! FEQN - Frame Size Error Queue Number The One Hot Encoded Queue Numbers that have experienced
  39487. * error described in HLBF field of status register.
  39488. */
  39489. #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)
  39490. /*! @} */
  39491. /*! @name MTL_EST_FRM_SIZE_CAPTURE - EST Frame Size Capture */
  39492. /*! @{ */
  39493. #define ENET_QOS_MTL_EST_FRM_SIZE_CAPTURE_HBFS_MASK (0x7FFFU)
  39494. #define ENET_QOS_MTL_EST_FRM_SIZE_CAPTURE_HBFS_SHIFT (0U)
  39495. /*! HBFS - Frame Size of HLBF Captures the Frame Size of the dropped frame related to queue number
  39496. * indicated in HBFQ field of this register.
  39497. */
  39498. #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)
  39499. #define ENET_QOS_MTL_EST_FRM_SIZE_CAPTURE_HBFQ_MASK (0x70000U)
  39500. #define ENET_QOS_MTL_EST_FRM_SIZE_CAPTURE_HBFQ_SHIFT (16U)
  39501. /*! HBFQ - Queue Number of HLBF Captures the binary value of the of the first Queue (number)
  39502. * experiencing HLBF error (see HLBF field of status register).
  39503. */
  39504. #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)
  39505. /*! @} */
  39506. /*! @name MTL_EST_INTR_ENABLE - EST Interrupt Enable */
  39507. /*! @{ */
  39508. #define ENET_QOS_MTL_EST_INTR_ENABLE_IECC_MASK (0x1U)
  39509. #define ENET_QOS_MTL_EST_INTR_ENABLE_IECC_SHIFT (0U)
  39510. /*! IECC - Interrupt Enable for Switch List When set, generates interrupt when the configuration
  39511. * change is successful and the hardware has switched to the new list.
  39512. * 0b0..Interrupt for Switch List is disabled
  39513. * 0b1..Interrupt for Switch List is enabled
  39514. */
  39515. #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)
  39516. #define ENET_QOS_MTL_EST_INTR_ENABLE_IEBE_MASK (0x2U)
  39517. #define ENET_QOS_MTL_EST_INTR_ENABLE_IEBE_SHIFT (1U)
  39518. /*! IEBE - Interrupt Enable for BTR Error When set, generates interrupt when the BTR Error occurs and is indicated in the status.
  39519. * 0b0..Interrupt for BTR Error is disabled
  39520. * 0b1..Interrupt for BTR Error is enabled
  39521. */
  39522. #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)
  39523. #define ENET_QOS_MTL_EST_INTR_ENABLE_IEHF_MASK (0x4U)
  39524. #define ENET_QOS_MTL_EST_INTR_ENABLE_IEHF_SHIFT (2U)
  39525. /*! IEHF - Interrupt Enable for HLBF When set, generates interrupt when the Head-of-Line Blocking
  39526. * due to Frame Size error occurs and is indicated in the status.
  39527. * 0b0..Interrupt for HLBF is disabled
  39528. * 0b1..Interrupt for HLBF is enabled
  39529. */
  39530. #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)
  39531. #define ENET_QOS_MTL_EST_INTR_ENABLE_IEHS_MASK (0x8U)
  39532. #define ENET_QOS_MTL_EST_INTR_ENABLE_IEHS_SHIFT (3U)
  39533. /*! IEHS - Interrupt Enable for HLBS When set, generates interrupt when the Head-of-Line Blocking
  39534. * due to Scheduling issue and is indicated in the status.
  39535. * 0b0..Interrupt for HLBS is disabled
  39536. * 0b1..Interrupt for HLBS is enabled
  39537. */
  39538. #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)
  39539. #define ENET_QOS_MTL_EST_INTR_ENABLE_CGCE_MASK (0x10U)
  39540. #define ENET_QOS_MTL_EST_INTR_ENABLE_CGCE_SHIFT (4U)
  39541. /*! CGCE - Interrupt Enable for CGCE When set, generates interrupt when the Constant Gate Control
  39542. * Error occurs and is indicated in the status.
  39543. * 0b0..Interrupt for CGCE is disabled
  39544. * 0b1..Interrupt for CGCE is enabled
  39545. */
  39546. #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)
  39547. /*! @} */
  39548. /*! @name MTL_EST_GCL_CONTROL - EST GCL Control */
  39549. /*! @{ */
  39550. #define ENET_QOS_MTL_EST_GCL_CONTROL_SRWO_MASK (0x1U)
  39551. #define ENET_QOS_MTL_EST_GCL_CONTROL_SRWO_SHIFT (0U)
  39552. /*! SRWO - Start Read/Write Op When set indicates a Read/Write Op has started and is in progress.
  39553. * 0b0..Start Read/Write Op disabled
  39554. * 0b1..Start Read/Write Op enabled
  39555. */
  39556. #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)
  39557. #define ENET_QOS_MTL_EST_GCL_CONTROL_R1W0_MASK (0x2U)
  39558. #define ENET_QOS_MTL_EST_GCL_CONTROL_R1W0_SHIFT (1U)
  39559. /*! R1W0 - Read '1', Write '0': When set to '1': Read Operation When set to '0': Write Operation.
  39560. * 0b1..Read Operation
  39561. * 0b0..Write Operation
  39562. */
  39563. #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)
  39564. #define ENET_QOS_MTL_EST_GCL_CONTROL_GCRR_MASK (0x4U)
  39565. #define ENET_QOS_MTL_EST_GCL_CONTROL_GCRR_SHIFT (2U)
  39566. /*! GCRR - Gate Control Related Registers When set to "1" indicates the R/W access is for the GCL
  39567. * related registers (BTR, CTR, TER, LLR) whose address is provided by GCRA.
  39568. * 0b0..Gate Control Related Registers are disabled
  39569. * 0b1..Gate Control Related Registers are enabled
  39570. */
  39571. #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)
  39572. #define ENET_QOS_MTL_EST_GCL_CONTROL_DBGM_MASK (0x10U)
  39573. #define ENET_QOS_MTL_EST_GCL_CONTROL_DBGM_SHIFT (4U)
  39574. /*! DBGM - Debug Mode When set to "1" indicates R/W in debug mode where the memory bank (for GCL and
  39575. * Time related registers) is explicitly provided by DBGB value, when set to "0" SWOL bit is
  39576. * used to determine which bank to use.
  39577. * 0b0..Debug Mode is disabled
  39578. * 0b1..Debug Mode is enabled
  39579. */
  39580. #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)
  39581. #define ENET_QOS_MTL_EST_GCL_CONTROL_DBGB_MASK (0x20U)
  39582. #define ENET_QOS_MTL_EST_GCL_CONTROL_DBGB_SHIFT (5U)
  39583. /*! DBGB - Debug Mode Bank Select When set to "0" indicates R/W in debug mode should be directed to
  39584. * Bank 0 (GCL0 and corresponding Time related registers).
  39585. * 0b0..R/W in debug mode should be directed to Bank 0
  39586. * 0b1..R/W in debug mode should be directed to Bank 1
  39587. */
  39588. #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)
  39589. #define ENET_QOS_MTL_EST_GCL_CONTROL_ADDR_MASK (0x1FF00U)
  39590. #define ENET_QOS_MTL_EST_GCL_CONTROL_ADDR_SHIFT (8U)
  39591. /*! ADDR - Gate Control List Address: (GCLA when GCRR is "0").
  39592. */
  39593. #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)
  39594. #define ENET_QOS_MTL_EST_GCL_CONTROL_ERR0_MASK (0x100000U)
  39595. #define ENET_QOS_MTL_EST_GCL_CONTROL_ERR0_SHIFT (20U)
  39596. /*! ERR0 - When set indicates the last write operation was aborted as software writes to GCL and GCL
  39597. * registers is prohibited when SSWL bit of MTL_EST_CONTROL Register is set.
  39598. * 0b0..ERR0 is disabled
  39599. * 0b1..ERR1 is enabled
  39600. */
  39601. #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)
  39602. #define ENET_QOS_MTL_EST_GCL_CONTROL_ESTEIEE_MASK (0x200000U)
  39603. #define ENET_QOS_MTL_EST_GCL_CONTROL_ESTEIEE_SHIFT (21U)
  39604. /*! ESTEIEE - EST ECC Inject Error Enable When set along with EEST bit of MTL_EST_CONTROL register,
  39605. * enables the ECC error injection feature.
  39606. * 0b0..EST ECC Inject Error is disabled
  39607. * 0b1..EST ECC Inject Error is enabled
  39608. */
  39609. #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)
  39610. #define ENET_QOS_MTL_EST_GCL_CONTROL_ESTEIEC_MASK (0xC00000U)
  39611. #define ENET_QOS_MTL_EST_GCL_CONTROL_ESTEIEC_SHIFT (22U)
  39612. /*! ESTEIEC - ECC Inject Error Control for EST Memory When EIEE bit of this register is set,
  39613. * following are the errors inserted based on the value encoded in this field.
  39614. * 0b00..Insert 1 bit error
  39615. * 0b11..Insert 1 bit error in address field
  39616. * 0b01..Insert 2 bit errors
  39617. * 0b10..Insert 3 bit errors
  39618. */
  39619. #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)
  39620. /*! @} */
  39621. /*! @name MTL_EST_GCL_DATA - EST GCL Data */
  39622. /*! @{ */
  39623. #define ENET_QOS_MTL_EST_GCL_DATA_GCD_MASK (0xFFFFFFFFU)
  39624. #define ENET_QOS_MTL_EST_GCL_DATA_GCD_SHIFT (0U)
  39625. /*! GCD - Gate Control Data The data corresponding to the address selected in the MTL_GCL_CONTROL register.
  39626. */
  39627. #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)
  39628. /*! @} */
  39629. /*! @name MTL_FPE_CTRL_STS - Frame Preemption Control and Status */
  39630. /*! @{ */
  39631. #define ENET_QOS_MTL_FPE_CTRL_STS_AFSZ_MASK (0x3U)
  39632. #define ENET_QOS_MTL_FPE_CTRL_STS_AFSZ_SHIFT (0U)
  39633. /*! AFSZ - Additional Fragment Size used to indicate, in units of 64 bytes, the minimum number of
  39634. * bytes over 64 bytes required in non-final fragments of preempted frames.
  39635. */
  39636. #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)
  39637. #define ENET_QOS_MTL_FPE_CTRL_STS_PEC_MASK (0x1F00U)
  39638. #define ENET_QOS_MTL_FPE_CTRL_STS_PEC_SHIFT (8U)
  39639. /*! PEC - Preemption Classification When set indicates the corresponding Queue must be classified as
  39640. * preemptable, when '0' Queue is classified as express.
  39641. */
  39642. #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)
  39643. #define ENET_QOS_MTL_FPE_CTRL_STS_HRS_MASK (0x10000000U)
  39644. #define ENET_QOS_MTL_FPE_CTRL_STS_HRS_SHIFT (28U)
  39645. /*! HRS - Hold/Release Status - 1: Indicates a Set-and-Hold-MAC operation was last executed and the pMAC is in Hold State.
  39646. * 0b1..Indicates a Set-and-Hold-MAC operation was last executed and the pMAC is in Hold State
  39647. * 0b0..Indicates a Set-and-Release-MAC operation was last executed and the pMAC is in Release State
  39648. */
  39649. #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)
  39650. /*! @} */
  39651. /*! @name MTL_FPE_ADVANCE - Frame Preemption Hold and Release Advance */
  39652. /*! @{ */
  39653. #define ENET_QOS_MTL_FPE_ADVANCE_HADV_MASK (0xFFFFU)
  39654. #define ENET_QOS_MTL_FPE_ADVANCE_HADV_SHIFT (0U)
  39655. /*! HADV - Hold Advance The maximum time in nanoseconds that can elapse between issuing a HOLD to
  39656. * the MAC and the MAC ceasing to transmit any preemptable frame that is in the process of
  39657. * transmission or any preemptable frames that are queued for transmission.
  39658. */
  39659. #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)
  39660. #define ENET_QOS_MTL_FPE_ADVANCE_RADV_MASK (0xFFFF0000U)
  39661. #define ENET_QOS_MTL_FPE_ADVANCE_RADV_SHIFT (16U)
  39662. /*! RADV - Release Advance The maximum time in nanoseconds that can elapse between issuing a RELEASE
  39663. * to the MAC and the MAC being ready to resume transmission of preemptable frames, in the
  39664. * absence of there being any express frames available for transmission.
  39665. */
  39666. #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)
  39667. /*! @} */
  39668. /*! @name MTL_RXP_CONTROL_STATUS - RXP Control Status */
  39669. /*! @{ */
  39670. #define ENET_QOS_MTL_RXP_CONTROL_STATUS_NVE_MASK (0xFFU)
  39671. #define ENET_QOS_MTL_RXP_CONTROL_STATUS_NVE_SHIFT (0U)
  39672. /*! NVE - Number of valid entries in the Instruction table This control indicates the number of
  39673. * valid entries in the Instruction Memory.
  39674. */
  39675. #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)
  39676. #define ENET_QOS_MTL_RXP_CONTROL_STATUS_NPE_MASK (0xFF0000U)
  39677. #define ENET_QOS_MTL_RXP_CONTROL_STATUS_NPE_SHIFT (16U)
  39678. /*! NPE - Number of parsable entries in the Instruction table This control indicates the number of
  39679. * parsable entries in the Instruction Memory.
  39680. */
  39681. #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)
  39682. #define ENET_QOS_MTL_RXP_CONTROL_STATUS_RXPI_MASK (0x80000000U)
  39683. #define ENET_QOS_MTL_RXP_CONTROL_STATUS_RXPI_SHIFT (31U)
  39684. /*! RXPI - RX Parser in Idle state This status bit is set to 1 when the Rx parser is in Idle State
  39685. * and waiting for a new packet for processing.
  39686. * 0b1..RX Parser in Idle state
  39687. * 0b0..RX Parser not in Idle state
  39688. */
  39689. #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)
  39690. /*! @} */
  39691. /*! @name MTL_RXP_INTERRUPT_CONTROL_STATUS - RXP Interrupt Control Status */
  39692. /*! @{ */
  39693. #define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_NVEOVIS_MASK (0x1U)
  39694. #define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_NVEOVIS_SHIFT (0U)
  39695. /*! NVEOVIS - Number of Valid Entries Overflow Interrupt Status While parsing if the Instruction
  39696. * address found to be more than NVE (Number of Valid Entries in MTL_RXP_CONTROL register), then
  39697. * this bit is set to 1.
  39698. * 0b1..Number of Valid Entries Overflow Interrupt Status detected
  39699. * 0b0..Number of Valid Entries Overflow Interrupt Status not detected
  39700. */
  39701. #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)
  39702. #define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_NPEOVIS_MASK (0x2U)
  39703. #define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_NPEOVIS_SHIFT (1U)
  39704. /*! NPEOVIS - Number of Parsable Entries Overflow Interrupt Status While parsing a packet if the
  39705. * number of parsed entries found to be more than NPE[] (Number of Parseable Entries in
  39706. * MTL_RXP_CONTROL register),then this bit is set to 1.
  39707. * 0b1..Number of Parsable Entries Overflow Interrupt Status detected
  39708. * 0b0..Number of Parsable Entries Overflow Interrupt Status not detected
  39709. */
  39710. #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)
  39711. #define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_FOOVIS_MASK (0x4U)
  39712. #define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_FOOVIS_SHIFT (2U)
  39713. /*! FOOVIS - Frame Offset Overflow Interrupt Status While parsing if the Instruction table entry's
  39714. * 'Frame Offset' found to be more than EOF offset, then then this bit is set.
  39715. * 0b1..Frame Offset Overflow Interrupt Status detected
  39716. * 0b0..Frame Offset Overflow Interrupt Status not detected
  39717. */
  39718. #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)
  39719. #define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_PDRFIS_MASK (0x8U)
  39720. #define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_PDRFIS_SHIFT (3U)
  39721. /*! PDRFIS - Packet Dropped due to RF Interrupt Status If the Rx Parser result says to drop the
  39722. * packet by setting RF=1 in the instruction memory, then this bit is set to 1.
  39723. * 0b1..Packet Dropped due to RF Interrupt Status detected
  39724. * 0b0..Packet Dropped due to RF Interrupt Status not detected
  39725. */
  39726. #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)
  39727. #define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_NVEOVIE_MASK (0x10000U)
  39728. #define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_NVEOVIE_SHIFT (16U)
  39729. /*! NVEOVIE - Number of Valid Entries Overflow Interrupt Enable When this bit is set, the NVEOVIS interrupt is enabled.
  39730. * 0b0..Number of Valid Entries Overflow Interrupt is disabled
  39731. * 0b1..Number of Valid Entries Overflow Interrupt is enabled
  39732. */
  39733. #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)
  39734. #define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_NPEOVIE_MASK (0x20000U)
  39735. #define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_NPEOVIE_SHIFT (17U)
  39736. /*! NPEOVIE - Number of Parsable Entries Overflow Interrupt Enable When this bit is set, the NPEOVIS interrupt is enabled.
  39737. * 0b0..Number of Parsable Entries Overflow Interrupt is disabled
  39738. * 0b1..Number of Parsable Entries Overflow Interrupt is enabled
  39739. */
  39740. #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)
  39741. #define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_FOOVIE_MASK (0x40000U)
  39742. #define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_FOOVIE_SHIFT (18U)
  39743. /*! FOOVIE - Frame Offset Overflow Interrupt Enable When this bit is set, the FOOVIS interrupt is enabled.
  39744. * 0b0..Frame Offset Overflow Interrupt is disabled
  39745. * 0b1..Frame Offset Overflow Interrupt is enabled
  39746. */
  39747. #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)
  39748. #define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_PDRFIE_MASK (0x80000U)
  39749. #define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_PDRFIE_SHIFT (19U)
  39750. /*! PDRFIE - Packet Drop due to RF Interrupt Enable When this bit is set, the PDRFIS interrupt is enabled.
  39751. * 0b0..Packet Drop due to RF Interrupt is disabled
  39752. * 0b1..Packet Drop due to RF Interrupt is enabled
  39753. */
  39754. #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)
  39755. /*! @} */
  39756. /*! @name MTL_RXP_DROP_CNT - RXP Drop Count */
  39757. /*! @{ */
  39758. #define ENET_QOS_MTL_RXP_DROP_CNT_RXPDC_MASK (0x7FFFFFFFU)
  39759. #define ENET_QOS_MTL_RXP_DROP_CNT_RXPDC_SHIFT (0U)
  39760. /*! RXPDC - Rx Parser Drop count This 31-bit counter is implemented whenever a Rx Parser Drops a packet due to RF =1.
  39761. */
  39762. #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)
  39763. #define ENET_QOS_MTL_RXP_DROP_CNT_RXPDCOVF_MASK (0x80000000U)
  39764. #define ENET_QOS_MTL_RXP_DROP_CNT_RXPDCOVF_SHIFT (31U)
  39765. /*! RXPDCOVF - Rx Parser Drop Counter Overflow Bit When set, this bit indicates that the
  39766. * MTL_RXP_DROP_CNT (RXPDC) Counter field crossed the maximum limit.
  39767. * 0b1..Rx Parser Drop count overflow occurred
  39768. * 0b0..Rx Parser Drop count overflow not occurred
  39769. */
  39770. #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)
  39771. /*! @} */
  39772. /*! @name MTL_RXP_ERROR_CNT - RXP Error Count */
  39773. /*! @{ */
  39774. #define ENET_QOS_MTL_RXP_ERROR_CNT_RXPEC_MASK (0x7FFFFFFFU)
  39775. #define ENET_QOS_MTL_RXP_ERROR_CNT_RXPEC_SHIFT (0U)
  39776. /*! RXPEC - Rx Parser Error count This 31-bit counter is implemented whenever a Rx Parser encounters
  39777. * following Error scenarios - Entry address >= NVE[] - Number Parsed Entries >= NPE[] - Entry
  39778. * address > EOF data entry address The counter is cleared when the register is read.
  39779. */
  39780. #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)
  39781. #define ENET_QOS_MTL_RXP_ERROR_CNT_RXPECOVF_MASK (0x80000000U)
  39782. #define ENET_QOS_MTL_RXP_ERROR_CNT_RXPECOVF_SHIFT (31U)
  39783. /*! RXPECOVF - Rx Parser Error Counter Overflow Bit When set, this bit indicates that the
  39784. * MTL_RXP_ERROR_CNT (RXPEC) Counter field crossed the maximum limit.
  39785. * 0b1..Rx Parser Error count overflow occurred
  39786. * 0b0..Rx Parser Error count overflow not occurred
  39787. */
  39788. #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)
  39789. /*! @} */
  39790. /*! @name MTL_RXP_INDIRECT_ACC_CONTROL_STATUS - RXP Indirect Access Control and Status */
  39791. /*! @{ */
  39792. #define ENET_QOS_MTL_RXP_INDIRECT_ACC_CONTROL_STATUS_ADDR_MASK (0x3FFU)
  39793. #define ENET_QOS_MTL_RXP_INDIRECT_ACC_CONTROL_STATUS_ADDR_SHIFT (0U)
  39794. /*! ADDR - FRP Instruction Table Offset Address This field indicates the ADDR of the 32-bit entry in Rx parser instruction table.
  39795. */
  39796. #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)
  39797. #define ENET_QOS_MTL_RXP_INDIRECT_ACC_CONTROL_STATUS_WRRDN_MASK (0x10000U)
  39798. #define ENET_QOS_MTL_RXP_INDIRECT_ACC_CONTROL_STATUS_WRRDN_SHIFT (16U)
  39799. /*! WRRDN - Read Write Control When this bit is set to 1 indicates the write operation to the Rx Parser Memory.
  39800. * 0b0..Read operation to the Rx Parser Memory
  39801. * 0b1..Write operation to the Rx Parser Memory
  39802. */
  39803. #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)
  39804. #define ENET_QOS_MTL_RXP_INDIRECT_ACC_CONTROL_STATUS_STARTBUSY_MASK (0x80000000U)
  39805. #define ENET_QOS_MTL_RXP_INDIRECT_ACC_CONTROL_STATUS_STARTBUSY_SHIFT (31U)
  39806. /*! STARTBUSY - FRP Instruction Table Access Busy When this bit is set to 1 by the software then it
  39807. * indicates to start the Read/Write operation from/to the Rx Parser Memory.
  39808. * 0b1..hardware is busy (Read/Write operation from/to the Rx Parser Memory)
  39809. * 0b0..hardware not busy
  39810. */
  39811. #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)
  39812. /*! @} */
  39813. /*! @name MTL_RXP_INDIRECT_ACC_DATA - RXP Indirect Access Data */
  39814. /*! @{ */
  39815. #define ENET_QOS_MTL_RXP_INDIRECT_ACC_DATA_DATA_MASK (0xFFFFFFFFU)
  39816. #define ENET_QOS_MTL_RXP_INDIRECT_ACC_DATA_DATA_SHIFT (0U)
  39817. /*! DATA - FRP Instruction Table Write/Read Data Software should write this register before issuing any write command.
  39818. */
  39819. #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)
  39820. /*! @} */
  39821. /*! @name MTL_TXQX_OP_MODE - Queue 0 Transmit Operation Mode..Queue 4 Transmit Operation Mode */
  39822. /*! @{ */
  39823. #define ENET_QOS_MTL_TXQX_OP_MODE_FTQ_MASK (0x1U)
  39824. #define ENET_QOS_MTL_TXQX_OP_MODE_FTQ_SHIFT (0U)
  39825. /*! FTQ - Flush Transmit Queue When this bit is set, the Tx queue controller logic is reset to its default values.
  39826. * 0b0..Flush Transmit Queue is disabled
  39827. * 0b1..Flush Transmit Queue is enabled
  39828. */
  39829. #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)
  39830. #define ENET_QOS_MTL_TXQX_OP_MODE_TSF_MASK (0x2U)
  39831. #define ENET_QOS_MTL_TXQX_OP_MODE_TSF_SHIFT (1U)
  39832. /*! TSF - Transmit Store and Forward When this bit is set, the transmission starts when a full packet resides in the MTL Tx queue.
  39833. * 0b0..Transmit Store and Forward is disabled
  39834. * 0b1..Transmit Store and Forward is enabled
  39835. */
  39836. #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)
  39837. #define ENET_QOS_MTL_TXQX_OP_MODE_TXQEN_MASK (0xCU)
  39838. #define ENET_QOS_MTL_TXQX_OP_MODE_TXQEN_SHIFT (2U)
  39839. /*! TXQEN - Transmit Queue Enable This field is used to enable/disable the transmit queue 0.
  39840. * 0b00..Not enabled
  39841. * 0b10..Enabled
  39842. * 0b01..Enable in AV mode (Reserved in non-AV)
  39843. * 0b11..Reserved
  39844. */
  39845. #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)
  39846. #define ENET_QOS_MTL_TXQX_OP_MODE_TTC_MASK (0x70U)
  39847. #define ENET_QOS_MTL_TXQX_OP_MODE_TTC_SHIFT (4U)
  39848. /*! TTC - Transmit Threshold Control These bits control the threshold level of the MTL Tx Queue.
  39849. * 0b011..128
  39850. * 0b100..192
  39851. * 0b101..256
  39852. * 0b000..32
  39853. * 0b110..384
  39854. * 0b111..512
  39855. * 0b001..64
  39856. * 0b010..96
  39857. */
  39858. #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)
  39859. #define ENET_QOS_MTL_TXQX_OP_MODE_TQS_MASK (0x1F0000U)
  39860. #define ENET_QOS_MTL_TXQX_OP_MODE_TQS_SHIFT (16U)
  39861. /*! TQS - Transmit Queue Size This field indicates the size of the allocated Transmit queues in blocks of 256 bytes.
  39862. */
  39863. #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)
  39864. /*! @} */
  39865. /* The count of ENET_QOS_MTL_TXQX_OP_MODE */
  39866. #define ENET_QOS_MTL_TXQX_OP_MODE_COUNT (5U)
  39867. /*! @name MTL_TXQX_UNDRFLW - Queue 0 Underflow Counter..Queue 4 Underflow Counter */
  39868. /*! @{ */
  39869. #define ENET_QOS_MTL_TXQX_UNDRFLW_UFFRMCNT_MASK (0x7FFU)
  39870. #define ENET_QOS_MTL_TXQX_UNDRFLW_UFFRMCNT_SHIFT (0U)
  39871. /*! UFFRMCNT - Underflow Packet Counter This field indicates the number of packets aborted by the
  39872. * controller because of Tx Queue Underflow.
  39873. */
  39874. #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)
  39875. #define ENET_QOS_MTL_TXQX_UNDRFLW_UFCNTOVF_MASK (0x800U)
  39876. #define ENET_QOS_MTL_TXQX_UNDRFLW_UFCNTOVF_SHIFT (11U)
  39877. /*! UFCNTOVF - Overflow Bit for Underflow Packet Counter This bit is set every time the Tx queue
  39878. * Underflow Packet Counter field overflows, that is, it has crossed the maximum count.
  39879. * 0b1..Overflow detected for Underflow Packet Counter
  39880. * 0b0..Overflow not detected for Underflow Packet Counter
  39881. */
  39882. #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)
  39883. /*! @} */
  39884. /* The count of ENET_QOS_MTL_TXQX_UNDRFLW */
  39885. #define ENET_QOS_MTL_TXQX_UNDRFLW_COUNT (5U)
  39886. /*! @name MTL_TXQX_DBG - Queue 0 Transmit Debug..Queue 4 Transmit Debug */
  39887. /*! @{ */
  39888. #define ENET_QOS_MTL_TXQX_DBG_TXQPAUSED_MASK (0x1U)
  39889. #define ENET_QOS_MTL_TXQX_DBG_TXQPAUSED_SHIFT (0U)
  39890. /*! TXQPAUSED - Transmit Queue in Pause When this bit is high and the Rx flow control is enabled, it
  39891. * indicates that the Tx Queue is in the Pause condition (in the full-duplex only mode) because
  39892. * of the following: - Reception of the PFC packet for the priorities assigned to the Tx Queue
  39893. * when PFC is enabled - Reception of 802.
  39894. * 0b1..Transmit Queue in Pause status is detected
  39895. * 0b0..Transmit Queue in Pause status is not detected
  39896. */
  39897. #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)
  39898. #define ENET_QOS_MTL_TXQX_DBG_TRCSTS_MASK (0x6U)
  39899. #define ENET_QOS_MTL_TXQX_DBG_TRCSTS_SHIFT (1U)
  39900. /*! TRCSTS - MTL Tx Queue Read Controller Status This field indicates the state of the Tx Queue Read Controller:
  39901. * 0b11..Flushing the Tx queue because of the Packet Abort request from the MAC
  39902. * 0b00..Idle state
  39903. * 0b01..Read state (transferring data to the MAC transmitter)
  39904. * 0b10..Waiting for pending Tx Status from the MAC transmitter
  39905. */
  39906. #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)
  39907. #define ENET_QOS_MTL_TXQX_DBG_TWCSTS_MASK (0x8U)
  39908. #define ENET_QOS_MTL_TXQX_DBG_TWCSTS_SHIFT (3U)
  39909. /*! TWCSTS - MTL Tx Queue Write Controller Status When high, this bit indicates that the MTL Tx
  39910. * Queue Write Controller is active, and it is transferring the data to the Tx Queue.
  39911. * 0b1..MTL Tx Queue Write Controller status is detected
  39912. * 0b0..MTL Tx Queue Write Controller status is not detected
  39913. */
  39914. #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)
  39915. #define ENET_QOS_MTL_TXQX_DBG_TXQSTS_MASK (0x10U)
  39916. #define ENET_QOS_MTL_TXQX_DBG_TXQSTS_SHIFT (4U)
  39917. /*! TXQSTS - MTL Tx Queue Not Empty Status When this bit is high, it indicates that the MTL Tx Queue
  39918. * is not empty and some data is left for transmission.
  39919. * 0b1..MTL Tx Queue Not Empty status is detected
  39920. * 0b0..MTL Tx Queue Not Empty status is not detected
  39921. */
  39922. #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)
  39923. #define ENET_QOS_MTL_TXQX_DBG_TXSTSFSTS_MASK (0x20U)
  39924. #define ENET_QOS_MTL_TXQX_DBG_TXSTSFSTS_SHIFT (5U)
  39925. /*! TXSTSFSTS - MTL Tx Status FIFO Full Status When high, this bit indicates that the MTL Tx Status FIFO is full.
  39926. * 0b1..MTL Tx Status FIFO Full status is detected
  39927. * 0b0..MTL Tx Status FIFO Full status is not detected
  39928. */
  39929. #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)
  39930. #define ENET_QOS_MTL_TXQX_DBG_PTXQ_MASK (0x70000U)
  39931. #define ENET_QOS_MTL_TXQX_DBG_PTXQ_SHIFT (16U)
  39932. /*! PTXQ - Number of Packets in the Transmit Queue This field indicates the current number of packets in the Tx Queue.
  39933. */
  39934. #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)
  39935. #define ENET_QOS_MTL_TXQX_DBG_STXSTSF_MASK (0x700000U)
  39936. #define ENET_QOS_MTL_TXQX_DBG_STXSTSF_SHIFT (20U)
  39937. /*! STXSTSF - Number of Status Words in Tx Status FIFO of Queue This field indicates the current
  39938. * number of status in the Tx Status FIFO of this queue.
  39939. */
  39940. #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)
  39941. /*! @} */
  39942. /* The count of ENET_QOS_MTL_TXQX_DBG */
  39943. #define ENET_QOS_MTL_TXQX_DBG_COUNT (5U)
  39944. /*! @name MTL_TXQX_ETS_CTRL - Queue 1 ETS Control..Queue 4 ETS Control */
  39945. /*! @{ */
  39946. #define ENET_QOS_MTL_TXQX_ETS_CTRL_AVALG_MASK (0x4U)
  39947. #define ENET_QOS_MTL_TXQX_ETS_CTRL_AVALG_SHIFT (2U)
  39948. /*! AVALG - AV Algorithm When Queue 1 is programmed for AV, this field configures the scheduling
  39949. * algorithm for this queue: This bit when set, indicates credit based shaper algorithm (CBS) is
  39950. * selected for Queue 1 traffic.
  39951. * 0b0..CBS Algorithm is disabled
  39952. * 0b1..CBS Algorithm is enabled
  39953. */
  39954. #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)
  39955. #define ENET_QOS_MTL_TXQX_ETS_CTRL_CC_MASK (0x8U)
  39956. #define ENET_QOS_MTL_TXQX_ETS_CTRL_CC_SHIFT (3U)
  39957. /*! CC - Credit Control When this bit is set, the accumulated credit parameter in the credit-based
  39958. * shaper algorithm logic is not reset to zero when there is positive credit and no packet to
  39959. * transmit in Channel 1.
  39960. * 0b0..Credit Control is disabled
  39961. * 0b1..Credit Control is enabled
  39962. */
  39963. #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)
  39964. #define ENET_QOS_MTL_TXQX_ETS_CTRL_SLC_MASK (0x70U)
  39965. #define ENET_QOS_MTL_TXQX_ETS_CTRL_SLC_SHIFT (4U)
  39966. /*! SLC - Slot Count If the credit-based shaper algorithm is enabled, the software can program the
  39967. * number of slots (of duration programmed in DMA_CH[n]_Slot_Interval register) over which the
  39968. * average transmitted bits per slot, provided in the MTL_TXQ[N]_ETS_STATUS register, need to be
  39969. * computed for Queue.
  39970. * 0b100..16 slots
  39971. * 0b000..1 slot
  39972. * 0b001..2 slots
  39973. * 0b010..4 slots
  39974. * 0b011..8 slots
  39975. * 0b101..Reserved
  39976. */
  39977. #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)
  39978. /*! @} */
  39979. /* The count of ENET_QOS_MTL_TXQX_ETS_CTRL */
  39980. #define ENET_QOS_MTL_TXQX_ETS_CTRL_COUNT (5U)
  39981. /*! @name MTL_TXQX_ETS_STAT - Queue 0 ETS Status..Queue 4 ETS Status */
  39982. /*! @{ */
  39983. #define ENET_QOS_MTL_TXQX_ETS_STAT_ABS_MASK (0xFFFFFFU)
  39984. #define ENET_QOS_MTL_TXQX_ETS_STAT_ABS_SHIFT (0U)
  39985. /*! ABS - Average Bits per Slot This field contains the average transmitted bits per slot.
  39986. */
  39987. #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)
  39988. /*! @} */
  39989. /* The count of ENET_QOS_MTL_TXQX_ETS_STAT */
  39990. #define ENET_QOS_MTL_TXQX_ETS_STAT_COUNT (5U)
  39991. /*! @name MTL_TXQX_QNTM_WGHT - Queue 0 Quantum or Weights..Queue 4 idleSlopeCredit, Quantum or Weights */
  39992. /*! @{ */
  39993. #define ENET_QOS_MTL_TXQX_QNTM_WGHT_ISCQW_MASK (0x1FFFFFU)
  39994. #define ENET_QOS_MTL_TXQX_QNTM_WGHT_ISCQW_SHIFT (0U)
  39995. /*! ISCQW - Quantum or Weights When the DCB operation is enabled with DWRR algorithm for Queue 0
  39996. * traffic, this field contains the quantum value in bytes to be added to credit during every queue
  39997. * scanning cycle.
  39998. */
  39999. #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)
  40000. /*! @} */
  40001. /* The count of ENET_QOS_MTL_TXQX_QNTM_WGHT */
  40002. #define ENET_QOS_MTL_TXQX_QNTM_WGHT_COUNT (5U)
  40003. /*! @name MTL_TXQX_SNDSLP_CRDT - Queue 1 sendSlopeCredit..Queue 4 sendSlopeCredit */
  40004. /*! @{ */
  40005. #define ENET_QOS_MTL_TXQX_SNDSLP_CRDT_SSC_MASK (0x3FFFU)
  40006. #define ENET_QOS_MTL_TXQX_SNDSLP_CRDT_SSC_SHIFT (0U)
  40007. /*! SSC - sendSlopeCredit Value When AV operation is enabled, this field contains the
  40008. * sendSlopeCredit value required for credit-based shaper algorithm for Queue 1.
  40009. */
  40010. #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)
  40011. /*! @} */
  40012. /* The count of ENET_QOS_MTL_TXQX_SNDSLP_CRDT */
  40013. #define ENET_QOS_MTL_TXQX_SNDSLP_CRDT_COUNT (5U)
  40014. /*! @name MTL_TXQX_HI_CRDT - Queue 1 hiCredit..Queue 4 hiCredit */
  40015. /*! @{ */
  40016. #define ENET_QOS_MTL_TXQX_HI_CRDT_HC_MASK (0x1FFFFFFFU)
  40017. #define ENET_QOS_MTL_TXQX_HI_CRDT_HC_SHIFT (0U)
  40018. /*! HC - hiCredit Value When the AV feature is enabled, this field contains the hiCredit value
  40019. * required for the credit-based shaper algorithm.
  40020. */
  40021. #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)
  40022. /*! @} */
  40023. /* The count of ENET_QOS_MTL_TXQX_HI_CRDT */
  40024. #define ENET_QOS_MTL_TXQX_HI_CRDT_COUNT (5U)
  40025. /*! @name MTL_TXQX_LO_CRDT - Queue 1 loCredit..Queue 4 loCredit */
  40026. /*! @{ */
  40027. #define ENET_QOS_MTL_TXQX_LO_CRDT_LC_MASK (0x1FFFFFFFU)
  40028. #define ENET_QOS_MTL_TXQX_LO_CRDT_LC_SHIFT (0U)
  40029. /*! LC - loCredit Value When AV operation is enabled, this field contains the loCredit value
  40030. * required for the credit-based shaper algorithm.
  40031. */
  40032. #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)
  40033. /*! @} */
  40034. /* The count of ENET_QOS_MTL_TXQX_LO_CRDT */
  40035. #define ENET_QOS_MTL_TXQX_LO_CRDT_COUNT (5U)
  40036. /*! @name MTL_TXQX_INTCTRL_STAT - Queue 0 Interrupt Control Status..Queue 4 Interrupt Control Status */
  40037. /*! @{ */
  40038. #define ENET_QOS_MTL_TXQX_INTCTRL_STAT_TXUNFIS_MASK (0x1U)
  40039. #define ENET_QOS_MTL_TXQX_INTCTRL_STAT_TXUNFIS_SHIFT (0U)
  40040. /*! TXUNFIS - Transmit Queue Underflow Interrupt Status This bit indicates that the Transmit Queue
  40041. * had an underflow while transmitting the packet.
  40042. * 0b1..Transmit Queue Underflow Interrupt Status detected
  40043. * 0b0..Transmit Queue Underflow Interrupt Status not detected
  40044. */
  40045. #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)
  40046. #define ENET_QOS_MTL_TXQX_INTCTRL_STAT_ABPSIS_MASK (0x2U)
  40047. #define ENET_QOS_MTL_TXQX_INTCTRL_STAT_ABPSIS_SHIFT (1U)
  40048. /*! ABPSIS - Average Bits Per Slot Interrupt Status When set, this bit indicates that the MAC has updated the ABS value.
  40049. * 0b1..Average Bits Per Slot Interrupt Status detected
  40050. * 0b0..Average Bits Per Slot Interrupt Status not detected
  40051. */
  40052. #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)
  40053. #define ENET_QOS_MTL_TXQX_INTCTRL_STAT_TXUIE_MASK (0x100U)
  40054. #define ENET_QOS_MTL_TXQX_INTCTRL_STAT_TXUIE_SHIFT (8U)
  40055. /*! TXUIE - Transmit Queue Underflow Interrupt Enable When this bit is set, the Transmit Queue Underflow interrupt is enabled.
  40056. * 0b0..Transmit Queue Underflow Interrupt Status is disabled
  40057. * 0b1..Transmit Queue Underflow Interrupt Status is enabled
  40058. */
  40059. #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)
  40060. #define ENET_QOS_MTL_TXQX_INTCTRL_STAT_ABPSIE_MASK (0x200U)
  40061. #define ENET_QOS_MTL_TXQX_INTCTRL_STAT_ABPSIE_SHIFT (9U)
  40062. /*! ABPSIE - Average Bits Per Slot Interrupt Enable When this bit is set, the MAC asserts the
  40063. * sbd_intr_o or mci_intr_o interrupt when the average bits per slot status is updated.
  40064. * 0b0..Average Bits Per Slot Interrupt is disabled
  40065. * 0b1..Average Bits Per Slot Interrupt is enabled
  40066. */
  40067. #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)
  40068. #define ENET_QOS_MTL_TXQX_INTCTRL_STAT_RXOVFIS_MASK (0x10000U)
  40069. #define ENET_QOS_MTL_TXQX_INTCTRL_STAT_RXOVFIS_SHIFT (16U)
  40070. /*! RXOVFIS - Receive Queue Overflow Interrupt Status This bit indicates that the Receive Queue had
  40071. * an overflow while receiving the packet.
  40072. * 0b1..Receive Queue Overflow Interrupt Status detected
  40073. * 0b0..Receive Queue Overflow Interrupt Status not detected
  40074. */
  40075. #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)
  40076. #define ENET_QOS_MTL_TXQX_INTCTRL_STAT_RXOIE_MASK (0x1000000U)
  40077. #define ENET_QOS_MTL_TXQX_INTCTRL_STAT_RXOIE_SHIFT (24U)
  40078. /*! RXOIE - Receive Queue Overflow Interrupt Enable When this bit is set, the Receive Queue Overflow interrupt is enabled.
  40079. * 0b0..Receive Queue Overflow Interrupt is disabled
  40080. * 0b1..Receive Queue Overflow Interrupt is enabled
  40081. */
  40082. #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)
  40083. /*! @} */
  40084. /* The count of ENET_QOS_MTL_TXQX_INTCTRL_STAT */
  40085. #define ENET_QOS_MTL_TXQX_INTCTRL_STAT_COUNT (5U)
  40086. /*! @name MTL_RXQX_OP_MODE - Queue 0 Receive Operation Mode..Queue 4 Receive Operation Mode */
  40087. /*! @{ */
  40088. #define ENET_QOS_MTL_RXQX_OP_MODE_RTC_MASK (0x3U)
  40089. #define ENET_QOS_MTL_RXQX_OP_MODE_RTC_SHIFT (0U)
  40090. /*! RTC - Receive Queue Threshold Control These bits control the threshold level of the MTL Rx queue
  40091. * (in bytes): The received packet is transferred to the application or DMA when the packet size
  40092. * within the MTL Rx queue is larger than the threshold.
  40093. * 0b11..128
  40094. * 0b01..32
  40095. * 0b00..64
  40096. * 0b10..96
  40097. */
  40098. #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)
  40099. #define ENET_QOS_MTL_RXQX_OP_MODE_FUP_MASK (0x8U)
  40100. #define ENET_QOS_MTL_RXQX_OP_MODE_FUP_SHIFT (3U)
  40101. /*! FUP - Forward Undersized Good Packets When this bit is set, the Rx queue forwards the undersized
  40102. * good packets (packets with no error and length less than 64 bytes), including pad-bytes and
  40103. * CRC.
  40104. * 0b0..Forward Undersized Good Packets is disabled
  40105. * 0b1..Forward Undersized Good Packets is enabled
  40106. */
  40107. #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)
  40108. #define ENET_QOS_MTL_RXQX_OP_MODE_FEP_MASK (0x10U)
  40109. #define ENET_QOS_MTL_RXQX_OP_MODE_FEP_SHIFT (4U)
  40110. /*! FEP - Forward Error Packets When this bit is reset, the Rx queue drops packets with error status
  40111. * (CRC error, GMII_ER, watchdog timeout, or overflow).
  40112. * 0b0..Forward Error Packets is disabled
  40113. * 0b1..Forward Error Packets is enabled
  40114. */
  40115. #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)
  40116. #define ENET_QOS_MTL_RXQX_OP_MODE_RSF_MASK (0x20U)
  40117. #define ENET_QOS_MTL_RXQX_OP_MODE_RSF_SHIFT (5U)
  40118. /*! RSF - Receive Queue Store and Forward When this bit is set, the DWC_ether_qos reads a packet
  40119. * from the Rx queue only after the complete packet has been written to it, ignoring the RTC field
  40120. * of this register.
  40121. * 0b0..Receive Queue Store and Forward is disabled
  40122. * 0b1..Receive Queue Store and Forward is enabled
  40123. */
  40124. #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)
  40125. #define ENET_QOS_MTL_RXQX_OP_MODE_DIS_TCP_EF_MASK (0x40U)
  40126. #define ENET_QOS_MTL_RXQX_OP_MODE_DIS_TCP_EF_SHIFT (6U)
  40127. /*! DIS_TCP_EF - Disable Dropping of TCP/IP Checksum Error Packets When this bit is set, the MAC
  40128. * does not drop the packets which only have the errors detected by the Receive Checksum Offload
  40129. * engine.
  40130. * 0b1..Dropping of TCP/IP Checksum Error Packets is disabled
  40131. * 0b0..Dropping of TCP/IP Checksum Error Packets is enabled
  40132. */
  40133. #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)
  40134. #define ENET_QOS_MTL_RXQX_OP_MODE_EHFC_MASK (0x80U)
  40135. #define ENET_QOS_MTL_RXQX_OP_MODE_EHFC_SHIFT (7U)
  40136. /*! EHFC - Enable Hardware Flow Control When this bit is set, the flow control signal operation,
  40137. * based on the fill-level of Rx queue, is enabled.
  40138. * 0b0..Hardware Flow Control is disabled
  40139. * 0b1..Hardware Flow Control is enabled
  40140. */
  40141. #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)
  40142. #define ENET_QOS_MTL_RXQX_OP_MODE_RFA_MASK (0xF00U)
  40143. #define ENET_QOS_MTL_RXQX_OP_MODE_RFA_SHIFT (8U)
  40144. /*! RFA - Threshold for Activating Flow Control (in half-duplex and full-duplex These bits control
  40145. * the threshold (fill-level of Rx queue) at which the flow control is activated: For more
  40146. * information on encoding for this field, see RFD.
  40147. */
  40148. #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)
  40149. #define ENET_QOS_MTL_RXQX_OP_MODE_RFD_MASK (0x3C000U)
  40150. #define ENET_QOS_MTL_RXQX_OP_MODE_RFD_SHIFT (14U)
  40151. /*! RFD - Threshold for Deactivating Flow Control (in half-duplex and full-duplex modes) These bits
  40152. * control the threshold (fill-level of Rx queue) at which the flow control is de-asserted after
  40153. * activation: - 0: Full minus 1 KB, that is, FULL 1 KB - 1: Full minus 1.
  40154. */
  40155. #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)
  40156. #define ENET_QOS_MTL_RXQX_OP_MODE_RQS_MASK (0x1F00000U)
  40157. #define ENET_QOS_MTL_RXQX_OP_MODE_RQS_SHIFT (20U)
  40158. /*! RQS - Receive Queue Size This field indicates the size of the allocated Receive queues in blocks of 256 bytes.
  40159. */
  40160. #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)
  40161. /*! @} */
  40162. /* The count of ENET_QOS_MTL_RXQX_OP_MODE */
  40163. #define ENET_QOS_MTL_RXQX_OP_MODE_COUNT (5U)
  40164. /*! @name MTL_RXQX_MISSPKT_OVRFLW_CNT - Queue 0 Missed Packet and Overflow Counter..Queue 4 Missed Packet and Overflow Counter */
  40165. /*! @{ */
  40166. #define ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_OVFPKTCNT_MASK (0x7FFU)
  40167. #define ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_OVFPKTCNT_SHIFT (0U)
  40168. /*! OVFPKTCNT - Overflow Packet Counter This field indicates the number of packets discarded by the
  40169. * DWC_ether_qos because of Receive queue overflow.
  40170. */
  40171. #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)
  40172. #define ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_OVFCNTOVF_MASK (0x800U)
  40173. #define ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_OVFCNTOVF_SHIFT (11U)
  40174. /*! OVFCNTOVF - Overflow Counter Overflow Bit When set, this bit indicates that the Rx Queue
  40175. * Overflow Packet Counter field crossed the maximum limit.
  40176. * 0b1..Overflow Counter overflow detected
  40177. * 0b0..Overflow Counter overflow not detected
  40178. */
  40179. #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)
  40180. #define ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_MISPKTCNT_MASK (0x7FF0000U)
  40181. #define ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_MISPKTCNT_SHIFT (16U)
  40182. /*! MISPKTCNT - Missed Packet Counter This field indicates the number of packets missed by the
  40183. * DWC_ether_qos because the application asserted ari_pkt_flush_i[] for this queue.
  40184. */
  40185. #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)
  40186. #define ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_MISCNTOVF_MASK (0x8000000U)
  40187. #define ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_MISCNTOVF_SHIFT (27U)
  40188. /*! MISCNTOVF - Missed Packet Counter Overflow Bit When set, this bit indicates that the Rx Queue
  40189. * Missed Packet Counter crossed the maximum limit.
  40190. * 0b1..Missed Packet Counter overflow detected
  40191. * 0b0..Missed Packet Counter overflow not detected
  40192. */
  40193. #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)
  40194. /*! @} */
  40195. /* The count of ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT */
  40196. #define ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_COUNT (5U)
  40197. /*! @name MTL_RXQX_DBG - Queue 0 Receive Debug..Queue 4 Receive Debug */
  40198. /*! @{ */
  40199. #define ENET_QOS_MTL_RXQX_DBG_RWCSTS_MASK (0x1U)
  40200. #define ENET_QOS_MTL_RXQX_DBG_RWCSTS_SHIFT (0U)
  40201. /*! RWCSTS - MTL Rx Queue Write Controller Active Status When high, this bit indicates that the MTL
  40202. * Rx queue Write controller is active, and it is transferring a received packet to the Rx Queue.
  40203. * 0b1..MTL Rx Queue Write Controller Active Status detected
  40204. * 0b0..MTL Rx Queue Write Controller Active Status not detected
  40205. */
  40206. #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)
  40207. #define ENET_QOS_MTL_RXQX_DBG_RRCSTS_MASK (0x6U)
  40208. #define ENET_QOS_MTL_RXQX_DBG_RRCSTS_SHIFT (1U)
  40209. /*! RRCSTS - MTL Rx Queue Read Controller State This field gives the state of the Rx queue Read controller:
  40210. * 0b11..Flushing the packet data and status
  40211. * 0b00..Idle state
  40212. * 0b01..Reading packet data
  40213. * 0b10..Reading packet status (or timestamp)
  40214. */
  40215. #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)
  40216. #define ENET_QOS_MTL_RXQX_DBG_RXQSTS_MASK (0x30U)
  40217. #define ENET_QOS_MTL_RXQX_DBG_RXQSTS_SHIFT (4U)
  40218. /*! RXQSTS - MTL Rx Queue Fill-Level Status This field gives the status of the fill-level of the Rx Queue:
  40219. * 0b10..Rx Queue fill-level above flow-control activate threshold
  40220. * 0b01..Rx Queue fill-level below flow-control deactivate threshold
  40221. * 0b00..Rx Queue empty
  40222. * 0b11..Rx Queue full
  40223. */
  40224. #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)
  40225. #define ENET_QOS_MTL_RXQX_DBG_PRXQ_MASK (0x3FFF0000U)
  40226. #define ENET_QOS_MTL_RXQX_DBG_PRXQ_SHIFT (16U)
  40227. /*! PRXQ - Number of Packets in Receive Queue This field indicates the current number of packets in the Rx Queue.
  40228. */
  40229. #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)
  40230. /*! @} */
  40231. /* The count of ENET_QOS_MTL_RXQX_DBG */
  40232. #define ENET_QOS_MTL_RXQX_DBG_COUNT (5U)
  40233. /*! @name MTL_RXQX_CTRL - Queue 0 Receive Control..Queue 4 Receive Control */
  40234. /*! @{ */
  40235. #define ENET_QOS_MTL_RXQX_CTRL_RXQ_WEGT_MASK (0x7U)
  40236. #define ENET_QOS_MTL_RXQX_CTRL_RXQ_WEGT_SHIFT (0U)
  40237. /*! RXQ_WEGT - Receive Queue Weight This field indicates the weight assigned to the Rx Queue 0.
  40238. */
  40239. #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)
  40240. #define ENET_QOS_MTL_RXQX_CTRL_RXQ_FRM_ARBIT_MASK (0x8U)
  40241. #define ENET_QOS_MTL_RXQX_CTRL_RXQ_FRM_ARBIT_SHIFT (3U)
  40242. /*! RXQ_FRM_ARBIT - Receive Queue Packet Arbitration When this bit is set, the DWC_ether_qos drives
  40243. * the packet data to the ARI interface such that the entire packet data of currently-selected
  40244. * queue is transmitted before switching to other queue.
  40245. * 0b0..Receive Queue Packet Arbitration is disabled
  40246. * 0b1..Receive Queue Packet Arbitration is enabled
  40247. */
  40248. #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)
  40249. /*! @} */
  40250. /* The count of ENET_QOS_MTL_RXQX_CTRL */
  40251. #define ENET_QOS_MTL_RXQX_CTRL_COUNT (5U)
  40252. /*! @name DMA_MODE - DMA Bus Mode */
  40253. /*! @{ */
  40254. #define ENET_QOS_DMA_MODE_SWR_MASK (0x1U)
  40255. #define ENET_QOS_DMA_MODE_SWR_SHIFT (0U)
  40256. /*! SWR - Software Reset When this bit is set, the MAC and the DMA controller reset the logic and
  40257. * all internal registers of the DMA, MTL, and MAC.
  40258. * 0b0..Software Reset is disabled
  40259. * 0b1..Software Reset is enabled
  40260. */
  40261. #define ENET_QOS_DMA_MODE_SWR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_MODE_SWR_SHIFT)) & ENET_QOS_DMA_MODE_SWR_MASK)
  40262. #define ENET_QOS_DMA_MODE_DSPW_MASK (0x100U)
  40263. #define ENET_QOS_DMA_MODE_DSPW_SHIFT (8U)
  40264. /*! DSPW - Descriptor Posted Write When this bit is set to 0, the descriptor writes are always non-posted.
  40265. * 0b0..Descriptor Posted Write is disabled
  40266. * 0b1..Descriptor Posted Write is enabled
  40267. */
  40268. #define ENET_QOS_DMA_MODE_DSPW(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_MODE_DSPW_SHIFT)) & ENET_QOS_DMA_MODE_DSPW_MASK)
  40269. #define ENET_QOS_DMA_MODE_INTM_MASK (0x30000U)
  40270. #define ENET_QOS_DMA_MODE_INTM_SHIFT (16U)
  40271. /*! INTM - Interrupt Mode This field defines the interrupt mode of DWC_ether_qos.
  40272. * 0b00..See above description
  40273. * 0b01..See above description
  40274. * 0b10..See above description
  40275. * 0b11..Reserved
  40276. */
  40277. #define ENET_QOS_DMA_MODE_INTM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_MODE_INTM_SHIFT)) & ENET_QOS_DMA_MODE_INTM_MASK)
  40278. /*! @} */
  40279. /*! @name DMA_SYSBUS_MODE - DMA System Bus Mode */
  40280. /*! @{ */
  40281. #define ENET_QOS_DMA_SYSBUS_MODE_FB_MASK (0x1U)
  40282. #define ENET_QOS_DMA_SYSBUS_MODE_FB_SHIFT (0U)
  40283. /*! FB - Fixed Burst Length When this bit is set to 1, the EQOS-AXI master initiates burst transfers
  40284. * of specified lengths as given below.
  40285. * 0b0..Fixed Burst Length is disabled
  40286. * 0b1..Fixed Burst Length is enabled
  40287. */
  40288. #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)
  40289. #define ENET_QOS_DMA_SYSBUS_MODE_BLEN4_MASK (0x2U)
  40290. #define ENET_QOS_DMA_SYSBUS_MODE_BLEN4_SHIFT (1U)
  40291. /*! BLEN4 - AXI Burst Length 4 When this bit is set to 1 or the FB bit is set to 0, the EQOS-AXI
  40292. * master can select a burst length of 4 on the AXI interface.
  40293. * 0b0..No effect
  40294. * 0b1..AXI Burst Length 4
  40295. */
  40296. #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)
  40297. #define ENET_QOS_DMA_SYSBUS_MODE_BLEN8_MASK (0x4U)
  40298. #define ENET_QOS_DMA_SYSBUS_MODE_BLEN8_SHIFT (2U)
  40299. /*! BLEN8 - AXI Burst Length 8 When this bit is set to 1 or the FB bit is set to 0, the EQOS-AXI
  40300. * master can select a burst length of 8 on the AXI interface.
  40301. * 0b0..No effect
  40302. * 0b1..AXI Burst Length 8
  40303. */
  40304. #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)
  40305. #define ENET_QOS_DMA_SYSBUS_MODE_BLEN16_MASK (0x8U)
  40306. #define ENET_QOS_DMA_SYSBUS_MODE_BLEN16_SHIFT (3U)
  40307. /*! BLEN16 - AXI Burst Length 16 When this bit is set to 1 or the FB bit is set to 0, the EQOS-AXI
  40308. * master can select a burst length of 16 on the AXI interface.
  40309. * 0b0..No effect
  40310. * 0b1..AXI Burst Length 16
  40311. */
  40312. #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)
  40313. #define ENET_QOS_DMA_SYSBUS_MODE_AALE_MASK (0x400U)
  40314. #define ENET_QOS_DMA_SYSBUS_MODE_AALE_SHIFT (10U)
  40315. /*! AALE - Automatic AXI LPI enable When set to 1, enables the AXI master to enter into LPI state
  40316. * when there is no activity in the DWC_ether_qos for number of system clock cycles programmed in
  40317. * the LPIEI field of DMA_AXI_LPI_ENTRY_INTERVAL register.
  40318. * 0b0..Automatic AXI LPI is disabled
  40319. * 0b1..Automatic AXI LPI is enabled
  40320. */
  40321. #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)
  40322. #define ENET_QOS_DMA_SYSBUS_MODE_AAL_MASK (0x1000U)
  40323. #define ENET_QOS_DMA_SYSBUS_MODE_AAL_SHIFT (12U)
  40324. /*! AAL - Address-Aligned Beats When this bit is set to 1, the EQOS-AXI or EQOS-AHB master performs
  40325. * address-aligned burst transfers on Read and Write channels.
  40326. * 0b0..Address-Aligned Beats is disabled
  40327. * 0b1..Address-Aligned Beats is enabled
  40328. */
  40329. #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)
  40330. #define ENET_QOS_DMA_SYSBUS_MODE_ONEKBBE_MASK (0x2000U)
  40331. #define ENET_QOS_DMA_SYSBUS_MODE_ONEKBBE_SHIFT (13U)
  40332. /*! ONEKBBE - 1 KB Boundary Crossing Enable for the EQOS-AXI Master When set, the burst transfers
  40333. * performed by the EQOS-AXI master do not cross 1 KB boundary.
  40334. * 0b0..1 KB Boundary Crossing for the EQOS-AXI Master Beats is disabled
  40335. * 0b1..1 KB Boundary Crossing for the EQOS-AXI Master Beats is enabled
  40336. */
  40337. #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)
  40338. #define ENET_QOS_DMA_SYSBUS_MODE_RD_OSR_LMT_MASK (0xF0000U)
  40339. #define ENET_QOS_DMA_SYSBUS_MODE_RD_OSR_LMT_SHIFT (16U)
  40340. /*! RD_OSR_LMT - AXI Maximum Read Outstanding Request Limit This value limits the maximum outstanding request on the AXI read interface.
  40341. */
  40342. #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)
  40343. #define ENET_QOS_DMA_SYSBUS_MODE_WR_OSR_LMT_MASK (0xF000000U)
  40344. #define ENET_QOS_DMA_SYSBUS_MODE_WR_OSR_LMT_SHIFT (24U)
  40345. /*! WR_OSR_LMT - AXI Maximum Write Outstanding Request Limit This value limits the maximum
  40346. * outstanding request on the AXI write interface.
  40347. */
  40348. #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)
  40349. #define ENET_QOS_DMA_SYSBUS_MODE_LPI_XIT_PKT_MASK (0x40000000U)
  40350. #define ENET_QOS_DMA_SYSBUS_MODE_LPI_XIT_PKT_SHIFT (30U)
  40351. /*! LPI_XIT_PKT - Unlock on Magic Packet or Remote Wake-Up Packet When set to 1, this bit enables
  40352. * the AXI master to come out of the LPI mode only when the magic packet or remote wake-up packet
  40353. * is received.
  40354. * 0b0..Unlock on Magic Packet or Remote Wake-Up Packet is disabled
  40355. * 0b1..Unlock on Magic Packet or Remote Wake-Up Packet is enabled
  40356. */
  40357. #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)
  40358. #define ENET_QOS_DMA_SYSBUS_MODE_EN_LPI_MASK (0x80000000U)
  40359. #define ENET_QOS_DMA_SYSBUS_MODE_EN_LPI_SHIFT (31U)
  40360. /*! EN_LPI - Enable Low Power Interface (LPI) When set to 1, this bit enables the LPI mode supported
  40361. * by the EQOS-AXI configuration and accepts the LPI request from the AXI System Clock
  40362. * controller.
  40363. * 0b0..Low Power Interface (LPI) is disabled
  40364. * 0b1..Low Power Interface (LPI) is enabled
  40365. */
  40366. #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)
  40367. /*! @} */
  40368. /*! @name DMA_INTERRUPT_STATUS - DMA Interrupt Status */
  40369. /*! @{ */
  40370. #define ENET_QOS_DMA_INTERRUPT_STATUS_DC0IS_MASK (0x1U)
  40371. #define ENET_QOS_DMA_INTERRUPT_STATUS_DC0IS_SHIFT (0U)
  40372. /*! DC0IS - DMA Channel 0 Interrupt Status This bit indicates an interrupt event in DMA Channel 0.
  40373. * 0b1..DMA Channel 0 Interrupt Status detected
  40374. * 0b0..DMA Channel 0 Interrupt Status not detected
  40375. */
  40376. #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)
  40377. #define ENET_QOS_DMA_INTERRUPT_STATUS_DC1IS_MASK (0x2U)
  40378. #define ENET_QOS_DMA_INTERRUPT_STATUS_DC1IS_SHIFT (1U)
  40379. /*! DC1IS - DMA Channel 1 Interrupt Status This bit indicates an interrupt event in DMA Channel 1.
  40380. * 0b1..DMA Channel 1 Interrupt Status detected
  40381. * 0b0..DMA Channel 1 Interrupt Status not detected
  40382. */
  40383. #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)
  40384. #define ENET_QOS_DMA_INTERRUPT_STATUS_DC2IS_MASK (0x4U)
  40385. #define ENET_QOS_DMA_INTERRUPT_STATUS_DC2IS_SHIFT (2U)
  40386. /*! DC2IS - DMA Channel 2 Interrupt Status This bit indicates an interrupt event in DMA Channel 2.
  40387. * 0b1..DMA Channel 2 Interrupt Status detected
  40388. * 0b0..DMA Channel 2 Interrupt Status not detected
  40389. */
  40390. #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)
  40391. #define ENET_QOS_DMA_INTERRUPT_STATUS_DC3IS_MASK (0x8U)
  40392. #define ENET_QOS_DMA_INTERRUPT_STATUS_DC3IS_SHIFT (3U)
  40393. /*! DC3IS - DMA Channel 3 Interrupt Status This bit indicates an interrupt event in DMA Channel 3.
  40394. * 0b1..DMA Channel 3 Interrupt Status detected
  40395. * 0b0..DMA Channel 3 Interrupt Status not detected
  40396. */
  40397. #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)
  40398. #define ENET_QOS_DMA_INTERRUPT_STATUS_DC4IS_MASK (0x10U)
  40399. #define ENET_QOS_DMA_INTERRUPT_STATUS_DC4IS_SHIFT (4U)
  40400. /*! DC4IS - DMA Channel 4 Interrupt Status This bit indicates an interrupt event in DMA Channel 4.
  40401. * 0b1..DMA Channel 4 Interrupt Status detected
  40402. * 0b0..DMA Channel 4 Interrupt Status not detected
  40403. */
  40404. #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)
  40405. #define ENET_QOS_DMA_INTERRUPT_STATUS_MTLIS_MASK (0x10000U)
  40406. #define ENET_QOS_DMA_INTERRUPT_STATUS_MTLIS_SHIFT (16U)
  40407. /*! MTLIS - MTL Interrupt Status This bit indicates an interrupt event in the MTL.
  40408. * 0b1..MTL Interrupt Status detected
  40409. * 0b0..MTL Interrupt Status not detected
  40410. */
  40411. #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)
  40412. #define ENET_QOS_DMA_INTERRUPT_STATUS_MACIS_MASK (0x20000U)
  40413. #define ENET_QOS_DMA_INTERRUPT_STATUS_MACIS_SHIFT (17U)
  40414. /*! MACIS - MAC Interrupt Status This bit indicates an interrupt event in the MAC.
  40415. * 0b1..MAC Interrupt Status detected
  40416. * 0b0..MAC Interrupt Status not detected
  40417. */
  40418. #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)
  40419. /*! @} */
  40420. /*! @name DMA_DEBUG_STATUS0 - DMA Debug Status 0 */
  40421. /*! @{ */
  40422. #define ENET_QOS_DMA_DEBUG_STATUS0_AXWHSTS_MASK (0x1U)
  40423. #define ENET_QOS_DMA_DEBUG_STATUS0_AXWHSTS_SHIFT (0U)
  40424. /*! AXWHSTS - AXI Master Write Channel When high, this bit indicates that the write channel of the
  40425. * AXI master is active, and it is transferring data.
  40426. * 0b1..AXI Master Write Channel or AHB Master Status detected
  40427. * 0b0..AXI Master Write Channel or AHB Master Status not detected
  40428. */
  40429. #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)
  40430. #define ENET_QOS_DMA_DEBUG_STATUS0_AXRHSTS_MASK (0x2U)
  40431. #define ENET_QOS_DMA_DEBUG_STATUS0_AXRHSTS_SHIFT (1U)
  40432. /*! AXRHSTS - AXI Master Read Channel Status When high, this bit indicates that the read channel of
  40433. * the AXI master is active, and it is transferring the data.
  40434. * 0b1..AXI Master Read Channel Status detected
  40435. * 0b0..AXI Master Read Channel Status not detected
  40436. */
  40437. #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)
  40438. #define ENET_QOS_DMA_DEBUG_STATUS0_RPS0_MASK (0xF00U)
  40439. #define ENET_QOS_DMA_DEBUG_STATUS0_RPS0_SHIFT (8U)
  40440. /*! RPS0 - DMA Channel 0 Receive Process State This field indicates the Rx DMA FSM state for Channel 0.
  40441. * 0b0010..Reserved for future use
  40442. * 0b0101..Running (Closing the Rx Descriptor)
  40443. * 0b0001..Running (Fetching Rx Transfer Descriptor)
  40444. * 0b0111..Running (Transferring the received packet data from the Rx buffer to the system memory)
  40445. * 0b0011..Running (Waiting for Rx packet)
  40446. * 0b0000..Stopped (Reset or Stop Receive Command issued)
  40447. * 0b0100..Suspended (Rx Descriptor Unavailable)
  40448. * 0b0110..Timestamp write state
  40449. */
  40450. #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)
  40451. #define ENET_QOS_DMA_DEBUG_STATUS0_TPS0_MASK (0xF000U)
  40452. #define ENET_QOS_DMA_DEBUG_STATUS0_TPS0_SHIFT (12U)
  40453. /*! TPS0 - DMA Channel 0 Transmit Process State This field indicates the Tx DMA FSM state for Channel 0.
  40454. * 0b0101..Reserved for future use
  40455. * 0b0111..Running (Closing Tx Descriptor)
  40456. * 0b0001..Running (Fetching Tx Transfer Descriptor)
  40457. * 0b0011..Running (Reading Data from system memory buffer and queuing it to the Tx buffer (Tx FIFO))
  40458. * 0b0010..Running (Waiting for status)
  40459. * 0b0000..Stopped (Reset or Stop Transmit Command issued)
  40460. * 0b0110..Suspended (Tx Descriptor Unavailable or Tx Buffer Underflow)
  40461. * 0b0100..Timestamp write state
  40462. */
  40463. #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)
  40464. #define ENET_QOS_DMA_DEBUG_STATUS0_RPS1_MASK (0xF0000U)
  40465. #define ENET_QOS_DMA_DEBUG_STATUS0_RPS1_SHIFT (16U)
  40466. /*! RPS1 - DMA Channel 1 Receive Process State This field indicates the Rx DMA FSM state for Channel 1.
  40467. * 0b0010..Reserved for future use
  40468. * 0b0101..Running (Closing the Rx Descriptor)
  40469. * 0b0001..Running (Fetching Rx Transfer Descriptor)
  40470. * 0b0111..Running (Transferring the received packet data from the Rx buffer to the system memory)
  40471. * 0b0011..Running (Waiting for Rx packet)
  40472. * 0b0000..Stopped (Reset or Stop Receive Command issued)
  40473. * 0b0100..Suspended (Rx Descriptor Unavailable)
  40474. * 0b0110..Timestamp write state
  40475. */
  40476. #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)
  40477. #define ENET_QOS_DMA_DEBUG_STATUS0_TPS1_MASK (0xF00000U)
  40478. #define ENET_QOS_DMA_DEBUG_STATUS0_TPS1_SHIFT (20U)
  40479. /*! TPS1 - DMA Channel 1 Transmit Process State This field indicates the Tx DMA FSM state for Channel 1.
  40480. * 0b0101..Reserved for future use
  40481. * 0b0111..Running (Closing Tx Descriptor)
  40482. * 0b0001..Running (Fetching Tx Transfer Descriptor)
  40483. * 0b0011..Running (Reading Data from system memory buffer and queuing it to the Tx buffer (Tx FIFO))
  40484. * 0b0010..Running (Waiting for status)
  40485. * 0b0000..Stopped (Reset or Stop Transmit Command issued)
  40486. * 0b0110..Suspended (Tx Descriptor Unavailable or Tx Buffer Underflow)
  40487. * 0b0100..Timestamp write state
  40488. */
  40489. #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)
  40490. #define ENET_QOS_DMA_DEBUG_STATUS0_RPS2_MASK (0xF000000U)
  40491. #define ENET_QOS_DMA_DEBUG_STATUS0_RPS2_SHIFT (24U)
  40492. /*! RPS2 - DMA Channel 2 Receive Process State This field indicates the Rx DMA FSM state for Channel 2.
  40493. * 0b0010..Reserved for future use
  40494. * 0b0101..Running (Closing the Rx Descriptor)
  40495. * 0b0001..Running (Fetching Rx Transfer Descriptor)
  40496. * 0b0111..Running (Transferring the received packet data from the Rx buffer to the system memory)
  40497. * 0b0011..Running (Waiting for Rx packet)
  40498. * 0b0000..Stopped (Reset or Stop Receive Command issued)
  40499. * 0b0100..Suspended (Rx Descriptor Unavailable)
  40500. * 0b0110..Timestamp write state
  40501. */
  40502. #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)
  40503. #define ENET_QOS_DMA_DEBUG_STATUS0_TPS2_MASK (0xF0000000U)
  40504. #define ENET_QOS_DMA_DEBUG_STATUS0_TPS2_SHIFT (28U)
  40505. /*! TPS2 - DMA Channel 2 Transmit Process State This field indicates the Tx DMA FSM state for Channel 2.
  40506. * 0b0101..Reserved for future use
  40507. * 0b0111..Running (Closing Tx Descriptor)
  40508. * 0b0001..Running (Fetching Tx Transfer Descriptor)
  40509. * 0b0011..Running (Reading Data from system memory buffer and queuing it to the Tx buffer (Tx FIFO))
  40510. * 0b0010..Running (Waiting for status)
  40511. * 0b0000..Stopped (Reset or Stop Transmit Command issued)
  40512. * 0b0110..Suspended (Tx Descriptor Unavailable or Tx Buffer Underflow)
  40513. * 0b0100..Timestamp write state
  40514. */
  40515. #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)
  40516. /*! @} */
  40517. /*! @name DMA_DEBUG_STATUS1 - DMA Debug Status 1 */
  40518. /*! @{ */
  40519. #define ENET_QOS_DMA_DEBUG_STATUS1_RPS3_MASK (0xFU)
  40520. #define ENET_QOS_DMA_DEBUG_STATUS1_RPS3_SHIFT (0U)
  40521. /*! RPS3 - DMA Channel 3 Receive Process State This field indicates the Rx DMA FSM state for Channel 3.
  40522. * 0b0010..Reserved for future use
  40523. * 0b0101..Running (Closing the Rx Descriptor)
  40524. * 0b0001..Running (Fetching Rx Transfer Descriptor)
  40525. * 0b0111..Running (Transferring the received packet data from the Rx buffer to the system memory)
  40526. * 0b0011..Running (Waiting for Rx packet)
  40527. * 0b0000..Stopped (Reset or Stop Receive Command issued)
  40528. * 0b0100..Suspended (Rx Descriptor Unavailable)
  40529. * 0b0110..Timestamp write state
  40530. */
  40531. #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)
  40532. #define ENET_QOS_DMA_DEBUG_STATUS1_TPS3_MASK (0xF0U)
  40533. #define ENET_QOS_DMA_DEBUG_STATUS1_TPS3_SHIFT (4U)
  40534. /*! TPS3 - DMA Channel 3 Transmit Process State This field indicates the Tx DMA FSM state for Channel 3.
  40535. * 0b0101..Reserved for future use
  40536. * 0b0111..Running (Closing Tx Descriptor)
  40537. * 0b0001..Running (Fetching Tx Transfer Descriptor)
  40538. * 0b0011..Running (Reading Data from system memory buffer and queuing it to the Tx buffer (Tx FIFO))
  40539. * 0b0010..Running (Waiting for status)
  40540. * 0b0000..Stopped (Reset or Stop Transmit Command issued)
  40541. * 0b0110..Suspended (Tx Descriptor Unavailable or Tx Buffer Underflow)
  40542. * 0b0100..Timestamp write state
  40543. */
  40544. #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)
  40545. #define ENET_QOS_DMA_DEBUG_STATUS1_RPS4_MASK (0xF00U)
  40546. #define ENET_QOS_DMA_DEBUG_STATUS1_RPS4_SHIFT (8U)
  40547. /*! RPS4 - DMA Channel 4 Receive Process State This field indicates the Rx DMA FSM state for Channel 4.
  40548. * 0b0010..Reserved for future use
  40549. * 0b0101..Running (Closing the Rx Descriptor)
  40550. * 0b0001..Running (Fetching Rx Transfer Descriptor)
  40551. * 0b0111..Running (Transferring the received packet data from the Rx buffer to the system memory)
  40552. * 0b0011..Running (Waiting for Rx packet)
  40553. * 0b0000..Stopped (Reset or Stop Receive Command issued)
  40554. * 0b0100..Suspended (Rx Descriptor Unavailable)
  40555. * 0b0110..Timestamp write state
  40556. */
  40557. #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)
  40558. #define ENET_QOS_DMA_DEBUG_STATUS1_TPS4_MASK (0xF000U)
  40559. #define ENET_QOS_DMA_DEBUG_STATUS1_TPS4_SHIFT (12U)
  40560. /*! TPS4 - DMA Channel 4 Transmit Process State This field indicates the Tx DMA FSM state for Channel 4.
  40561. * 0b0101..Reserved for future use
  40562. * 0b0111..Running (Closing Tx Descriptor)
  40563. * 0b0001..Running (Fetching Tx Transfer Descriptor)
  40564. * 0b0011..Running (Reading Data from system memory buffer and queuing it to the Tx buffer (Tx FIFO))
  40565. * 0b0010..Running (Waiting for status)
  40566. * 0b0000..Stopped (Reset or Stop Transmit Command issued)
  40567. * 0b0110..Suspended (Tx Descriptor Unavailable or Tx Buffer Underflow)
  40568. * 0b0100..Timestamp write state
  40569. */
  40570. #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)
  40571. /*! @} */
  40572. /*! @name DMA_AXI_LPI_ENTRY_INTERVAL - AXI LPI Entry Interval Control */
  40573. /*! @{ */
  40574. #define ENET_QOS_DMA_AXI_LPI_ENTRY_INTERVAL_LPIEI_MASK (0xFU)
  40575. #define ENET_QOS_DMA_AXI_LPI_ENTRY_INTERVAL_LPIEI_SHIFT (0U)
  40576. /*! LPIEI - LPI Entry Interval Contains the number of system clock cycles, multiplied by 64, to wait
  40577. * for an activity in the DWC_ether_qos to enter into the AXI low power state 0 indicates 64
  40578. * clock cycles
  40579. */
  40580. #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)
  40581. /*! @} */
  40582. /*! @name DMA_TBS_CTRL - TBS Control */
  40583. /*! @{ */
  40584. #define ENET_QOS_DMA_TBS_CTRL_FTOV_MASK (0x1U)
  40585. #define ENET_QOS_DMA_TBS_CTRL_FTOV_SHIFT (0U)
  40586. /*! FTOV - Fetch Time Offset Valid When set indicates the FTOS field is valid.
  40587. * 0b0..Fetch Time Offset is invalid
  40588. * 0b1..Fetch Time Offset is valid
  40589. */
  40590. #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)
  40591. #define ENET_QOS_DMA_TBS_CTRL_FGOS_MASK (0x70U)
  40592. #define ENET_QOS_DMA_TBS_CTRL_FGOS_SHIFT (4U)
  40593. /*! FGOS - Fetch GSN Offset The number GSN slots that must be deducted from the Launch GSN to compute the Fetch GSN.
  40594. */
  40595. #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)
  40596. #define ENET_QOS_DMA_TBS_CTRL_FTOS_MASK (0xFFFFFF00U)
  40597. #define ENET_QOS_DMA_TBS_CTRL_FTOS_SHIFT (8U)
  40598. /*! FTOS - Fetch Time Offset The value in units of 256 nanoseconds, that has to be deducted from the
  40599. * Launch time to compute the Fetch Time.
  40600. */
  40601. #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)
  40602. /*! @} */
  40603. /*! @name DMA_CHX_CTRL - DMA Channel 0 Control..DMA Channel 4 Control */
  40604. /*! @{ */
  40605. #define ENET_QOS_DMA_CHX_CTRL_PBLx8_MASK (0x10000U)
  40606. #define ENET_QOS_DMA_CHX_CTRL_PBLx8_SHIFT (16U)
  40607. /*! PBLx8 - 8xPBL mode When this bit is set, the PBL value programmed in Bits[21:16] in
  40608. * DMA_CH4_TX_CONTROL and Bits[21:16] in DMA_CH4_RX_CONTROL is multiplied by eight times.
  40609. * 0b0..8xPBL mode is disabled
  40610. * 0b1..8xPBL mode is enabled
  40611. */
  40612. #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)
  40613. #define ENET_QOS_DMA_CHX_CTRL_DSL_MASK (0x1C0000U)
  40614. #define ENET_QOS_DMA_CHX_CTRL_DSL_SHIFT (18U)
  40615. /*! DSL - Descriptor Skip Length This bit specifies the Word, Dword, or Lword number (depending on
  40616. * the 32-bit, 64-bit, or 128-bit bus) to skip between two unchained descriptors.
  40617. */
  40618. #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)
  40619. /*! @} */
  40620. /* The count of ENET_QOS_DMA_CHX_CTRL */
  40621. #define ENET_QOS_DMA_CHX_CTRL_COUNT (5U)
  40622. /*! @name DMA_CHX_TX_CTRL - DMA Channel 0 Transmit Control..DMA Channel 4 Transmit Control */
  40623. /*! @{ */
  40624. #define ENET_QOS_DMA_CHX_TX_CTRL_ST_MASK (0x1U)
  40625. #define ENET_QOS_DMA_CHX_TX_CTRL_ST_SHIFT (0U)
  40626. /*! ST - Start or Stop Transmission Command When this bit is set, transmission is placed in the Running state.
  40627. * 0b1..Start Transmission Command
  40628. * 0b0..Stop Transmission Command
  40629. */
  40630. #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)
  40631. #define ENET_QOS_DMA_CHX_TX_CTRL_OSF_MASK (0x10U)
  40632. #define ENET_QOS_DMA_CHX_TX_CTRL_OSF_SHIFT (4U)
  40633. /*! OSF - Operate on Second Packet When this bit is set, it instructs the DMA to process the second
  40634. * packet of the Transmit data even before the status for the first packet is obtained.
  40635. * 0b0..Operate on Second Packet disabled
  40636. * 0b1..Operate on Second Packet enabled
  40637. */
  40638. #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)
  40639. #define ENET_QOS_DMA_CHX_TX_CTRL_IPBL_MASK (0x8000U)
  40640. #define ENET_QOS_DMA_CHX_TX_CTRL_IPBL_SHIFT (15U)
  40641. /*! IPBL - Ignore PBL Requirement When this bit is set, the DMA does not check for PBL number of
  40642. * locations in the MTL before initiating a transfer.
  40643. * 0b0..Ignore PBL Requirement is disabled
  40644. * 0b1..Ignore PBL Requirement is enabled
  40645. */
  40646. #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)
  40647. #define ENET_QOS_DMA_CHX_TX_CTRL_TxPBL_MASK (0x3F0000U)
  40648. #define ENET_QOS_DMA_CHX_TX_CTRL_TxPBL_SHIFT (16U)
  40649. /*! TxPBL - Transmit Programmable Burst Length These bits indicate the maximum number of beats to be
  40650. * transferred in one DMA block data transfer.
  40651. */
  40652. #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)
  40653. #define ENET_QOS_DMA_CHX_TX_CTRL_EDSE_MASK (0x10000000U)
  40654. #define ENET_QOS_DMA_CHX_TX_CTRL_EDSE_SHIFT (28U)
  40655. /*! EDSE - Enhanced Descriptor Enable When this bit is set, the corresponding channel uses Enhanced
  40656. * Descriptors that are 32 Bytes for both Normal and Context Descriptors.
  40657. * 0b0..Enhanced Descriptor is disabled
  40658. * 0b1..Enhanced Descriptor is enabled
  40659. */
  40660. #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)
  40661. /*! @} */
  40662. /* The count of ENET_QOS_DMA_CHX_TX_CTRL */
  40663. #define ENET_QOS_DMA_CHX_TX_CTRL_COUNT (5U)
  40664. /*! @name DMA_CHX_RX_CTRL - DMA Channel 0 Receive Control..DMA Channel 4 Receive Control */
  40665. /*! @{ */
  40666. #define ENET_QOS_DMA_CHX_RX_CTRL_SR_MASK (0x1U)
  40667. #define ENET_QOS_DMA_CHX_RX_CTRL_SR_SHIFT (0U)
  40668. /*! SR - Start or Stop Receive When this bit is set, the DMA tries to acquire the descriptor from
  40669. * the Receive list and processes the incoming packets.
  40670. * 0b1..Start Receive
  40671. * 0b0..Stop Receive
  40672. */
  40673. #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)
  40674. #define ENET_QOS_DMA_CHX_RX_CTRL_RBSZ_x_0_MASK (0xEU)
  40675. #define ENET_QOS_DMA_CHX_RX_CTRL_RBSZ_x_0_SHIFT (1U)
  40676. /*! RBSZ_x_0 - Receive Buffer size Low RBSZ[13:0] is split into two fields RBSZ_13_y and RBSZ_x_0.
  40677. */
  40678. #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)
  40679. #define ENET_QOS_DMA_CHX_RX_CTRL_RBSZ_13_y_MASK (0x7FF0U)
  40680. #define ENET_QOS_DMA_CHX_RX_CTRL_RBSZ_13_y_SHIFT (4U)
  40681. /*! RBSZ_13_y - Receive Buffer size High RBSZ[13:0] is split into two fields higher RBSZ_13_y and lower RBSZ_x_0.
  40682. */
  40683. #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)
  40684. #define ENET_QOS_DMA_CHX_RX_CTRL_RxPBL_MASK (0x3F0000U)
  40685. #define ENET_QOS_DMA_CHX_RX_CTRL_RxPBL_SHIFT (16U)
  40686. /*! RxPBL - Receive Programmable Burst Length These bits indicate the maximum number of beats to be
  40687. * transferred in one DMA block data transfer.
  40688. */
  40689. #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)
  40690. #define ENET_QOS_DMA_CHX_RX_CTRL_RPF_MASK (0x80000000U)
  40691. #define ENET_QOS_DMA_CHX_RX_CTRL_RPF_SHIFT (31U)
  40692. /*! RPF - Rx Packet Flush.
  40693. * 0b0..Rx Packet Flush is disabled
  40694. * 0b1..Rx Packet Flush is enabled
  40695. */
  40696. #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)
  40697. /*! @} */
  40698. /* The count of ENET_QOS_DMA_CHX_RX_CTRL */
  40699. #define ENET_QOS_DMA_CHX_RX_CTRL_COUNT (5U)
  40700. /*! @name DMA_CHX_TXDESC_LIST_ADDR - Channel 0 Tx Descriptor List Address register..Channel 4 Tx Descriptor List Address */
  40701. /*! @{ */
  40702. #define ENET_QOS_DMA_CHX_TXDESC_LIST_ADDR_TDESLA_MASK (0xFFFFFFF8U)
  40703. #define ENET_QOS_DMA_CHX_TXDESC_LIST_ADDR_TDESLA_SHIFT (3U)
  40704. /*! TDESLA - Start of Transmit List This field contains the base address of the first descriptor in the Transmit descriptor list.
  40705. */
  40706. #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)
  40707. /*! @} */
  40708. /* The count of ENET_QOS_DMA_CHX_TXDESC_LIST_ADDR */
  40709. #define ENET_QOS_DMA_CHX_TXDESC_LIST_ADDR_COUNT (5U)
  40710. /*! @name DMA_CHX_RXDESC_LIST_ADDR - Channel 0 Rx Descriptor List Address register..Channel 4 Rx Descriptor List Address */
  40711. /*! @{ */
  40712. #define ENET_QOS_DMA_CHX_RXDESC_LIST_ADDR_RDESLA_MASK (0xFFFFFFF8U)
  40713. #define ENET_QOS_DMA_CHX_RXDESC_LIST_ADDR_RDESLA_SHIFT (3U)
  40714. /*! RDESLA - Start of Receive List This field contains the base address of the first descriptor in the Rx Descriptor list.
  40715. */
  40716. #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)
  40717. /*! @} */
  40718. /* The count of ENET_QOS_DMA_CHX_RXDESC_LIST_ADDR */
  40719. #define ENET_QOS_DMA_CHX_RXDESC_LIST_ADDR_COUNT (5U)
  40720. /*! @name DMA_CHX_TXDESC_TAIL_PTR - Channel 0 Tx Descriptor Tail Pointer..Channel 4 Tx Descriptor Tail Pointer */
  40721. /*! @{ */
  40722. #define ENET_QOS_DMA_CHX_TXDESC_TAIL_PTR_TDTP_MASK (0xFFFFFFF8U)
  40723. #define ENET_QOS_DMA_CHX_TXDESC_TAIL_PTR_TDTP_SHIFT (3U)
  40724. /*! TDTP - Transmit Descriptor Tail Pointer This field contains the tail pointer for the Tx descriptor ring.
  40725. */
  40726. #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)
  40727. /*! @} */
  40728. /* The count of ENET_QOS_DMA_CHX_TXDESC_TAIL_PTR */
  40729. #define ENET_QOS_DMA_CHX_TXDESC_TAIL_PTR_COUNT (5U)
  40730. /*! @name DMA_CHX_RXDESC_TAIL_PTR - Channel 0 Rx Descriptor Tail Pointer..Channel 4 Rx Descriptor Tail Pointer */
  40731. /*! @{ */
  40732. #define ENET_QOS_DMA_CHX_RXDESC_TAIL_PTR_RDTP_MASK (0xFFFFFFF8U)
  40733. #define ENET_QOS_DMA_CHX_RXDESC_TAIL_PTR_RDTP_SHIFT (3U)
  40734. /*! RDTP - Receive Descriptor Tail Pointer This field contains the tail pointer for the Rx descriptor ring.
  40735. */
  40736. #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)
  40737. /*! @} */
  40738. /* The count of ENET_QOS_DMA_CHX_RXDESC_TAIL_PTR */
  40739. #define ENET_QOS_DMA_CHX_RXDESC_TAIL_PTR_COUNT (5U)
  40740. /*! @name DMA_CHX_TXDESC_RING_LENGTH - Channel 0 Tx Descriptor Ring Length..Channel 4 Tx Descriptor Ring Length */
  40741. /*! @{ */
  40742. #define ENET_QOS_DMA_CHX_TXDESC_RING_LENGTH_TDRL_MASK (0x3FFU)
  40743. #define ENET_QOS_DMA_CHX_TXDESC_RING_LENGTH_TDRL_SHIFT (0U)
  40744. /*! TDRL - Transmit Descriptor Ring Length This field sets the maximum number of Tx descriptors in the circular descriptor ring.
  40745. */
  40746. #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)
  40747. /*! @} */
  40748. /* The count of ENET_QOS_DMA_CHX_TXDESC_RING_LENGTH */
  40749. #define ENET_QOS_DMA_CHX_TXDESC_RING_LENGTH_COUNT (5U)
  40750. /*! @name DMA_CHX_RXDESC_RING_LENGTH - Channel 0 Rx Descriptor Ring Length..Channel 4 Rx Descriptor Ring Length */
  40751. /*! @{ */
  40752. #define ENET_QOS_DMA_CHX_RXDESC_RING_LENGTH_RDRL_MASK (0x3FFU)
  40753. #define ENET_QOS_DMA_CHX_RXDESC_RING_LENGTH_RDRL_SHIFT (0U)
  40754. /*! RDRL - Receive Descriptor Ring Length This register sets the maximum number of Rx descriptors in the circular descriptor ring.
  40755. */
  40756. #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)
  40757. /*! @} */
  40758. /* The count of ENET_QOS_DMA_CHX_RXDESC_RING_LENGTH */
  40759. #define ENET_QOS_DMA_CHX_RXDESC_RING_LENGTH_COUNT (5U)
  40760. /*! @name DMA_CHX_INT_EN - Channel 0 Interrupt Enable..Channel 4 Interrupt Enable */
  40761. /*! @{ */
  40762. #define ENET_QOS_DMA_CHX_INT_EN_TIE_MASK (0x1U)
  40763. #define ENET_QOS_DMA_CHX_INT_EN_TIE_SHIFT (0U)
  40764. /*! TIE - Transmit Interrupt Enable When this bit is set along with the NIE bit, the Transmit Interrupt is enabled.
  40765. * 0b0..Transmit Interrupt is disabled
  40766. * 0b1..Transmit Interrupt is enabled
  40767. */
  40768. #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)
  40769. #define ENET_QOS_DMA_CHX_INT_EN_TXSE_MASK (0x2U)
  40770. #define ENET_QOS_DMA_CHX_INT_EN_TXSE_SHIFT (1U)
  40771. /*! TXSE - Transmit Stopped Enable When this bit is set along with the AIE bit, the Transmission Stopped interrupt is enabled.
  40772. * 0b0..Transmit Stopped is disabled
  40773. * 0b1..Transmit Stopped is enabled
  40774. */
  40775. #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)
  40776. #define ENET_QOS_DMA_CHX_INT_EN_TBUE_MASK (0x4U)
  40777. #define ENET_QOS_DMA_CHX_INT_EN_TBUE_SHIFT (2U)
  40778. /*! TBUE - Transmit Buffer Unavailable Enable When this bit is set along with the NIE bit, the
  40779. * Transmit Buffer Unavailable interrupt is enabled.
  40780. * 0b0..Transmit Buffer Unavailable is disabled
  40781. * 0b1..Transmit Buffer Unavailable is enabled
  40782. */
  40783. #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)
  40784. #define ENET_QOS_DMA_CHX_INT_EN_RIE_MASK (0x40U)
  40785. #define ENET_QOS_DMA_CHX_INT_EN_RIE_SHIFT (6U)
  40786. /*! RIE - Receive Interrupt Enable When this bit is set along with the NIE bit, the Receive Interrupt is enabled.
  40787. * 0b0..Receive Interrupt is disabled
  40788. * 0b1..Receive Interrupt is enabled
  40789. */
  40790. #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)
  40791. #define ENET_QOS_DMA_CHX_INT_EN_RBUE_MASK (0x80U)
  40792. #define ENET_QOS_DMA_CHX_INT_EN_RBUE_SHIFT (7U)
  40793. /*! RBUE - Receive Buffer Unavailable Enable When this bit is set along with the AIE bit, the
  40794. * Receive Buffer Unavailable interrupt is enabled.
  40795. * 0b0..Receive Buffer Unavailable is disabled
  40796. * 0b1..Receive Buffer Unavailable is enabled
  40797. */
  40798. #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)
  40799. #define ENET_QOS_DMA_CHX_INT_EN_RSE_MASK (0x100U)
  40800. #define ENET_QOS_DMA_CHX_INT_EN_RSE_SHIFT (8U)
  40801. /*! RSE - Receive Stopped Enable When this bit is set along with the AIE bit, the Receive Stopped Interrupt is enabled.
  40802. * 0b0..Receive Stopped is disabled
  40803. * 0b1..Receive Stopped is enabled
  40804. */
  40805. #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)
  40806. #define ENET_QOS_DMA_CHX_INT_EN_RWTE_MASK (0x200U)
  40807. #define ENET_QOS_DMA_CHX_INT_EN_RWTE_SHIFT (9U)
  40808. /*! RWTE - Receive Watchdog Timeout Enable When this bit is set along with the AIE bit, the Receive
  40809. * Watchdog Timeout interrupt is enabled.
  40810. * 0b0..Receive Watchdog Timeout is disabled
  40811. * 0b1..Receive Watchdog Timeout is enabled
  40812. */
  40813. #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)
  40814. #define ENET_QOS_DMA_CHX_INT_EN_ETIE_MASK (0x400U)
  40815. #define ENET_QOS_DMA_CHX_INT_EN_ETIE_SHIFT (10U)
  40816. /*! ETIE - Early Transmit Interrupt Enable When this bit is set along with the AIE bit, the Early Transmit interrupt is enabled.
  40817. * 0b0..Early Transmit Interrupt is disabled
  40818. * 0b1..Early Transmit Interrupt is enabled
  40819. */
  40820. #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)
  40821. #define ENET_QOS_DMA_CHX_INT_EN_ERIE_MASK (0x800U)
  40822. #define ENET_QOS_DMA_CHX_INT_EN_ERIE_SHIFT (11U)
  40823. /*! ERIE - Early Receive Interrupt Enable When this bit is set along with the NIE bit, the Early Receive interrupt is enabled.
  40824. * 0b0..Early Receive Interrupt is disabled
  40825. * 0b1..Early Receive Interrupt is enabled
  40826. */
  40827. #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)
  40828. #define ENET_QOS_DMA_CHX_INT_EN_FBEE_MASK (0x1000U)
  40829. #define ENET_QOS_DMA_CHX_INT_EN_FBEE_SHIFT (12U)
  40830. /*! FBEE - Fatal Bus Error Enable When this bit is set along with the AIE bit, the Fatal Bus error interrupt is enabled.
  40831. * 0b0..Fatal Bus Error is disabled
  40832. * 0b1..Fatal Bus Error is enabled
  40833. */
  40834. #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)
  40835. #define ENET_QOS_DMA_CHX_INT_EN_CDEE_MASK (0x2000U)
  40836. #define ENET_QOS_DMA_CHX_INT_EN_CDEE_SHIFT (13U)
  40837. /*! CDEE - Context Descriptor Error Enable When this bit is set along with the AIE bit, the Descriptor error interrupt is enabled.
  40838. * 0b0..Context Descriptor Error is disabled
  40839. * 0b1..Context Descriptor Error is enabled
  40840. */
  40841. #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)
  40842. #define ENET_QOS_DMA_CHX_INT_EN_AIE_MASK (0x4000U)
  40843. #define ENET_QOS_DMA_CHX_INT_EN_AIE_SHIFT (14U)
  40844. /*! AIE - Abnormal Interrupt Summary Enable When this bit is set, the abnormal interrupt summary is enabled.
  40845. * 0b0..Abnormal Interrupt Summary is disabled
  40846. * 0b1..Abnormal Interrupt Summary is enabled
  40847. */
  40848. #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)
  40849. #define ENET_QOS_DMA_CHX_INT_EN_NIE_MASK (0x8000U)
  40850. #define ENET_QOS_DMA_CHX_INT_EN_NIE_SHIFT (15U)
  40851. /*! NIE - Normal Interrupt Summary Enable When this bit is set, the normal interrupt summary is enabled.
  40852. * 0b0..Normal Interrupt Summary is disabled
  40853. * 0b1..Normal Interrupt Summary is enabled
  40854. */
  40855. #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)
  40856. /*! @} */
  40857. /* The count of ENET_QOS_DMA_CHX_INT_EN */
  40858. #define ENET_QOS_DMA_CHX_INT_EN_COUNT (5U)
  40859. /*! @name DMA_CHX_RX_INT_WDTIMER - Channel 0 Receive Interrupt Watchdog Timer..Channel 4 Receive Interrupt Watchdog Timer */
  40860. /*! @{ */
  40861. #define ENET_QOS_DMA_CHX_RX_INT_WDTIMER_RWT_MASK (0xFFU)
  40862. #define ENET_QOS_DMA_CHX_RX_INT_WDTIMER_RWT_SHIFT (0U)
  40863. /*! RWT - Receive Interrupt Watchdog Timer Count This field indicates the number of system clock
  40864. * cycles, multiplied by factor indicated in RWTU field, for which the watchdog timer is set.
  40865. */
  40866. #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)
  40867. #define ENET_QOS_DMA_CHX_RX_INT_WDTIMER_RWTU_MASK (0x30000U)
  40868. #define ENET_QOS_DMA_CHX_RX_INT_WDTIMER_RWTU_SHIFT (16U)
  40869. /*! RWTU - Receive Interrupt Watchdog Timer Count Units This fields indicates the number of system
  40870. * clock cycles corresponding to one unit in RWT field.
  40871. */
  40872. #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)
  40873. /*! @} */
  40874. /* The count of ENET_QOS_DMA_CHX_RX_INT_WDTIMER */
  40875. #define ENET_QOS_DMA_CHX_RX_INT_WDTIMER_COUNT (5U)
  40876. /*! @name DMA_CHX_SLOT_FUNC_CTRL_STAT - Channel 0 Slot Function Control and Status..Channel 4 Slot Function Control and Status */
  40877. /*! @{ */
  40878. #define ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_ESC_MASK (0x1U)
  40879. #define ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_ESC_SHIFT (0U)
  40880. /*! ESC - Enable Slot Comparison When set, this bit enables the checking of the slot numbers
  40881. * programmed in the Tx descriptor with the current reference given in the RSN field.
  40882. * 0b0..Slot Comparison is disabled
  40883. * 0b1..Slot Comparison is enabled
  40884. */
  40885. #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)
  40886. #define ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_ASC_MASK (0x2U)
  40887. #define ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_ASC_SHIFT (1U)
  40888. /*! ASC - Advance Slot Check When set, this bit enables the DMA to fetch the data from the buffer
  40889. * when the slot number (SLOTNUM) programmed in the Tx descriptor is - equal to the reference slot
  40890. * number given in the RSN field or - ahead of the reference slot number by up to two slots This
  40891. * bit is applicable only when the ESC bit is set.
  40892. * 0b0..Advance Slot Check is disabled
  40893. * 0b1..Advance Slot Check is enabled
  40894. */
  40895. #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)
  40896. #define ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_SIV_MASK (0xFFF0U)
  40897. #define ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_SIV_SHIFT (4U)
  40898. /*! SIV - Slot Interval Value This field controls the period of the slot interval in which the TxDMA
  40899. * fetches the scheduled packets.
  40900. */
  40901. #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)
  40902. #define ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_RSN_MASK (0xF0000U)
  40903. #define ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_RSN_SHIFT (16U)
  40904. /*! RSN - Reference Slot Number This field gives the current value of the reference slot number in the DMA.
  40905. */
  40906. #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)
  40907. /*! @} */
  40908. /* The count of ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT */
  40909. #define ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_COUNT (5U)
  40910. /*! @name DMA_CHX_CUR_HST_TXDESC - Channel 0 Current Application Transmit Descriptor..Channel 4 Current Application Transmit Descriptor */
  40911. /*! @{ */
  40912. #define ENET_QOS_DMA_CHX_CUR_HST_TXDESC_CURTDESAPTR_MASK (0xFFFFFFFFU)
  40913. #define ENET_QOS_DMA_CHX_CUR_HST_TXDESC_CURTDESAPTR_SHIFT (0U)
  40914. /*! CURTDESAPTR - Application Transmit Descriptor Address Pointer The DMA updates this pointer during Tx operation.
  40915. */
  40916. #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)
  40917. /*! @} */
  40918. /* The count of ENET_QOS_DMA_CHX_CUR_HST_TXDESC */
  40919. #define ENET_QOS_DMA_CHX_CUR_HST_TXDESC_COUNT (5U)
  40920. /*! @name DMA_CHX_CUR_HST_RXDESC - Channel 0 Current Application Receive Descriptor..Channel 4 Current Application Receive Descriptor */
  40921. /*! @{ */
  40922. #define ENET_QOS_DMA_CHX_CUR_HST_RXDESC_CURRDESAPTR_MASK (0xFFFFFFFFU)
  40923. #define ENET_QOS_DMA_CHX_CUR_HST_RXDESC_CURRDESAPTR_SHIFT (0U)
  40924. /*! CURRDESAPTR - Application Receive Descriptor Address Pointer The DMA updates this pointer during Rx operation.
  40925. */
  40926. #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)
  40927. /*! @} */
  40928. /* The count of ENET_QOS_DMA_CHX_CUR_HST_RXDESC */
  40929. #define ENET_QOS_DMA_CHX_CUR_HST_RXDESC_COUNT (5U)
  40930. /*! @name DMA_CHX_CUR_HST_TXBUF - Channel 0 Current Application Transmit Buffer Address..Channel 4 Current Application Transmit Buffer Address */
  40931. /*! @{ */
  40932. #define ENET_QOS_DMA_CHX_CUR_HST_TXBUF_CURTBUFAPTR_MASK (0xFFFFFFFFU)
  40933. #define ENET_QOS_DMA_CHX_CUR_HST_TXBUF_CURTBUFAPTR_SHIFT (0U)
  40934. /*! CURTBUFAPTR - Application Transmit Buffer Address Pointer The DMA updates this pointer during Tx operation.
  40935. */
  40936. #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)
  40937. /*! @} */
  40938. /* The count of ENET_QOS_DMA_CHX_CUR_HST_TXBUF */
  40939. #define ENET_QOS_DMA_CHX_CUR_HST_TXBUF_COUNT (5U)
  40940. /*! @name DMA_CHX_CUR_HST_RXBUF - Channel 0 Current Application Receive Buffer Address..Channel 4 Current Application Receive Buffer Address */
  40941. /*! @{ */
  40942. #define ENET_QOS_DMA_CHX_CUR_HST_RXBUF_CURRBUFAPTR_MASK (0xFFFFFFFFU)
  40943. #define ENET_QOS_DMA_CHX_CUR_HST_RXBUF_CURRBUFAPTR_SHIFT (0U)
  40944. /*! CURRBUFAPTR - Application Receive Buffer Address Pointer The DMA updates this pointer during Rx operation.
  40945. */
  40946. #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)
  40947. /*! @} */
  40948. /* The count of ENET_QOS_DMA_CHX_CUR_HST_RXBUF */
  40949. #define ENET_QOS_DMA_CHX_CUR_HST_RXBUF_COUNT (5U)
  40950. /*! @name DMA_CHX_STAT - DMA Channel 0 Status..DMA Channel 4 Status */
  40951. /*! @{ */
  40952. #define ENET_QOS_DMA_CHX_STAT_TI_MASK (0x1U)
  40953. #define ENET_QOS_DMA_CHX_STAT_TI_SHIFT (0U)
  40954. /*! TI - Transmit Interrupt This bit indicates that the packet transmission is complete.
  40955. * 0b1..Transmit Interrupt status detected
  40956. * 0b0..Transmit Interrupt status not detected
  40957. */
  40958. #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)
  40959. #define ENET_QOS_DMA_CHX_STAT_TPS_MASK (0x2U)
  40960. #define ENET_QOS_DMA_CHX_STAT_TPS_SHIFT (1U)
  40961. /*! TPS - Transmit Process Stopped This bit is set when the transmission is stopped.
  40962. * 0b1..Transmit Process Stopped status detected
  40963. * 0b0..Transmit Process Stopped status not detected
  40964. */
  40965. #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)
  40966. #define ENET_QOS_DMA_CHX_STAT_TBU_MASK (0x4U)
  40967. #define ENET_QOS_DMA_CHX_STAT_TBU_SHIFT (2U)
  40968. /*! TBU - Transmit Buffer Unavailable This bit indicates that the application owns the next
  40969. * descriptor in the Transmit list, and the DMA cannot acquire it.
  40970. * 0b1..Transmit Buffer Unavailable status detected
  40971. * 0b0..Transmit Buffer Unavailable status not detected
  40972. */
  40973. #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)
  40974. #define ENET_QOS_DMA_CHX_STAT_RI_MASK (0x40U)
  40975. #define ENET_QOS_DMA_CHX_STAT_RI_SHIFT (6U)
  40976. /*! RI - Receive Interrupt This bit indicates that the packet reception is complete.
  40977. * 0b1..Receive Interrupt status detected
  40978. * 0b0..Receive Interrupt status not detected
  40979. */
  40980. #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)
  40981. #define ENET_QOS_DMA_CHX_STAT_RBU_MASK (0x80U)
  40982. #define ENET_QOS_DMA_CHX_STAT_RBU_SHIFT (7U)
  40983. /*! RBU - Receive Buffer Unavailable This bit indicates that the application owns the next
  40984. * descriptor in the Receive list, and the DMA cannot acquire it.
  40985. * 0b1..Receive Buffer Unavailable status detected
  40986. * 0b0..Receive Buffer Unavailable status not detected
  40987. */
  40988. #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)
  40989. #define ENET_QOS_DMA_CHX_STAT_RPS_MASK (0x100U)
  40990. #define ENET_QOS_DMA_CHX_STAT_RPS_SHIFT (8U)
  40991. /*! RPS - Receive Process Stopped This bit is asserted when the Rx process enters the Stopped state.
  40992. * 0b1..Receive Process Stopped status detected
  40993. * 0b0..Receive Process Stopped status not detected
  40994. */
  40995. #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)
  40996. #define ENET_QOS_DMA_CHX_STAT_RWT_MASK (0x200U)
  40997. #define ENET_QOS_DMA_CHX_STAT_RWT_SHIFT (9U)
  40998. /*! RWT - Receive Watchdog Timeout This bit is asserted when a packet with length greater than 2,048
  40999. * bytes (10,240 bytes when Jumbo Packet mode is enabled) is received.
  41000. * 0b1..Receive Watchdog Timeout status detected
  41001. * 0b0..Receive Watchdog Timeout status not detected
  41002. */
  41003. #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)
  41004. #define ENET_QOS_DMA_CHX_STAT_ETI_MASK (0x400U)
  41005. #define ENET_QOS_DMA_CHX_STAT_ETI_SHIFT (10U)
  41006. /*! ETI - Early Transmit Interrupt This bit when set indicates that the TxDMA has completed the
  41007. * transfer of packet data to the MTL TXFIFO memory.
  41008. * 0b1..Early Transmit Interrupt status detected
  41009. * 0b0..Early Transmit Interrupt status not detected
  41010. */
  41011. #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)
  41012. #define ENET_QOS_DMA_CHX_STAT_ERI_MASK (0x800U)
  41013. #define ENET_QOS_DMA_CHX_STAT_ERI_SHIFT (11U)
  41014. /*! ERI - Early Receive Interrupt This bit when set indicates that the RxDMA has completed the
  41015. * transfer of packet data to the memory.
  41016. * 0b1..Early Receive Interrupt status detected
  41017. * 0b0..Early Receive Interrupt status not detected
  41018. */
  41019. #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)
  41020. #define ENET_QOS_DMA_CHX_STAT_FBE_MASK (0x1000U)
  41021. #define ENET_QOS_DMA_CHX_STAT_FBE_SHIFT (12U)
  41022. /*! FBE - Fatal Bus Error This bit indicates that a bus error occurred (as described in the EB field).
  41023. * 0b1..Fatal Bus Error status detected
  41024. * 0b0..Fatal Bus Error status not detected
  41025. */
  41026. #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)
  41027. #define ENET_QOS_DMA_CHX_STAT_CDE_MASK (0x2000U)
  41028. #define ENET_QOS_DMA_CHX_STAT_CDE_SHIFT (13U)
  41029. /*! CDE - Context Descriptor Error This bit indicates that the DMA Tx/Rx engine received a
  41030. * descriptor error, which indicates invalid context in the middle of packet flow ( intermediate
  41031. * descriptor) or all one's descriptor in Tx case and on Rx side it indicates DMA has read a descriptor
  41032. * with either of the buffer address as ones which is considered to be invalid.
  41033. * 0b1..Context Descriptor Error status detected
  41034. * 0b0..Context Descriptor Error status not detected
  41035. */
  41036. #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)
  41037. #define ENET_QOS_DMA_CHX_STAT_AIS_MASK (0x4000U)
  41038. #define ENET_QOS_DMA_CHX_STAT_AIS_SHIFT (14U)
  41039. /*! AIS - Abnormal Interrupt Summary Abnormal Interrupt Summary bit value is the logical OR of the
  41040. * following when the corresponding interrupt bits are enabled in the DMA_CH3_INTERRUPT_ENABLE
  41041. * register: - Bit 1: Transmit Process Stopped - Bit 7: Receive Buffer Unavailable - Bit 8: Receive
  41042. * Process Stopped - Bit 10: Early Transmit Interrupt - Bit 12: Fatal Bus Error - Bit 13: Context
  41043. * Descriptor Error Only unmasked bits affect the Abnormal Interrupt Summary bit.
  41044. * 0b1..Abnormal Interrupt Summary status detected
  41045. * 0b0..Abnormal Interrupt Summary status not detected
  41046. */
  41047. #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)
  41048. #define ENET_QOS_DMA_CHX_STAT_NIS_MASK (0x8000U)
  41049. #define ENET_QOS_DMA_CHX_STAT_NIS_SHIFT (15U)
  41050. /*! NIS - Normal Interrupt Summary Normal Interrupt Summary bit value is the logical OR of the
  41051. * following bits when the corresponding interrupt bits are enabled in the DMA_CH3_INTERRUPT_ENABLE
  41052. * register: - Bit 0: Transmit Interrupt - Bit 2: Transmit Buffer Unavailable - Bit 6: Receive
  41053. * Interrupt - Bit 11: Early Receive Interrupt Only unmasked bits (interrupts for which interrupt
  41054. * enable is set in DMA_CH3_INTERRUPT_ENABLE register) affect the Normal Interrupt Summary bit.
  41055. * 0b1..Normal Interrupt Summary status detected
  41056. * 0b0..Normal Interrupt Summary status not detected
  41057. */
  41058. #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)
  41059. #define ENET_QOS_DMA_CHX_STAT_TEB_MASK (0x70000U)
  41060. #define ENET_QOS_DMA_CHX_STAT_TEB_SHIFT (16U)
  41061. /*! TEB - Tx DMA Error Bits This field indicates the type of error that caused a Bus Error.
  41062. */
  41063. #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)
  41064. #define ENET_QOS_DMA_CHX_STAT_REB_MASK (0x380000U)
  41065. #define ENET_QOS_DMA_CHX_STAT_REB_SHIFT (19U)
  41066. /*! REB - Rx DMA Error Bits This field indicates the type of error that caused a Bus Error.
  41067. */
  41068. #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)
  41069. /*! @} */
  41070. /* The count of ENET_QOS_DMA_CHX_STAT */
  41071. #define ENET_QOS_DMA_CHX_STAT_COUNT (5U)
  41072. /*! @name DMA_CHX_MISS_FRAME_CNT - Channel 0 Missed Frame Counter..Channel 4 Missed Frame Counter */
  41073. /*! @{ */
  41074. #define ENET_QOS_DMA_CHX_MISS_FRAME_CNT_MFC_MASK (0x7FFU)
  41075. #define ENET_QOS_DMA_CHX_MISS_FRAME_CNT_MFC_SHIFT (0U)
  41076. /*! MFC - Dropped Packet Counters This counter indicates the number of packet counters that are
  41077. * dropped by the DMA either because of bus error or because of programming RPF field in
  41078. * DMA_CH2_RX_CONTROL register.
  41079. */
  41080. #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)
  41081. #define ENET_QOS_DMA_CHX_MISS_FRAME_CNT_MFCO_MASK (0x8000U)
  41082. #define ENET_QOS_DMA_CHX_MISS_FRAME_CNT_MFCO_SHIFT (15U)
  41083. /*! MFCO - Overflow status of the MFC Counter When this bit is set then the MFC counter does not get incremented further.
  41084. * 0b1..Miss Frame Counter overflow occurred
  41085. * 0b0..Miss Frame Counter overflow not occurred
  41086. */
  41087. #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)
  41088. /*! @} */
  41089. /* The count of ENET_QOS_DMA_CHX_MISS_FRAME_CNT */
  41090. #define ENET_QOS_DMA_CHX_MISS_FRAME_CNT_COUNT (5U)
  41091. /*! @name DMA_CHX_RXP_ACCEPT_CNT - Channel 0 RXP Frames Accepted Counter..Channel 4 RXP Frames Accepted Counter */
  41092. /*! @{ */
  41093. #define ENET_QOS_DMA_CHX_RXP_ACCEPT_CNT_RXPAC_MASK (0x7FFFFFFFU)
  41094. #define ENET_QOS_DMA_CHX_RXP_ACCEPT_CNT_RXPAC_SHIFT (0U)
  41095. /*! RXPAC - Rx Parser Accept Counter This 31-bit counter is implemented whenever a Rx Parser Accept a packet due to AF =1.
  41096. */
  41097. #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)
  41098. #define ENET_QOS_DMA_CHX_RXP_ACCEPT_CNT_RXPACOF_MASK (0x80000000U)
  41099. #define ENET_QOS_DMA_CHX_RXP_ACCEPT_CNT_RXPACOF_SHIFT (31U)
  41100. /*! RXPACOF - Rx Parser Accept Counter Overflow Bit When set, this bit indicates that the RXPAC
  41101. * Counter field crossed the maximum limit.
  41102. * 0b1..Rx Parser Accept Counter overflow occurred
  41103. * 0b0..Rx Parser Accept Counter overflow not occurred
  41104. */
  41105. #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)
  41106. /*! @} */
  41107. /* The count of ENET_QOS_DMA_CHX_RXP_ACCEPT_CNT */
  41108. #define ENET_QOS_DMA_CHX_RXP_ACCEPT_CNT_COUNT (5U)
  41109. /*! @name DMA_CHX_RX_ERI_CNT - Channel 0 Receive ERI Counter..Channel 4 Receive ERI Counter */
  41110. /*! @{ */
  41111. #define ENET_QOS_DMA_CHX_RX_ERI_CNT_ECNT_MASK (0xFFFU)
  41112. #define ENET_QOS_DMA_CHX_RX_ERI_CNT_ECNT_SHIFT (0U)
  41113. /*! ECNT - ERI Counter When ERIC bit of DMA_CH4_RX_CONTROL register is set, this counter increments
  41114. * for burst transfer completed by the Rx DMA from the start of packet transfer.
  41115. */
  41116. #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)
  41117. /*! @} */
  41118. /* The count of ENET_QOS_DMA_CHX_RX_ERI_CNT */
  41119. #define ENET_QOS_DMA_CHX_RX_ERI_CNT_COUNT (5U)
  41120. /*!
  41121. * @}
  41122. */ /* end of group ENET_QOS_Register_Masks */
  41123. /* ENET_QOS - Peripheral instance base addresses */
  41124. /** Peripheral ENET_QOS base address */
  41125. #define ENET_QOS_BASE (0x4043C000u)
  41126. /** Peripheral ENET_QOS base pointer */
  41127. #define ENET_QOS ((ENET_QOS_Type *)ENET_QOS_BASE)
  41128. /** Array initializer of ENET_QOS peripheral base addresses */
  41129. #define ENET_QOS_BASE_ADDRS { ENET_QOS_BASE }
  41130. /** Array initializer of ENET_QOS peripheral base pointers */
  41131. #define ENET_QOS_BASE_PTRS { ENET_QOS }
  41132. /** Interrupt vectors for the ENET_QOS peripheral type */
  41133. #define ENET_QOS_IRQS { ENET_QOS_IRQn }
  41134. #define ENET_QOS_PMT_IRQS { ENET_QOS_PMT_IRQn }
  41135. /*!
  41136. * @}
  41137. */ /* end of group ENET_QOS_Peripheral_Access_Layer */
  41138. /* ----------------------------------------------------------------------------
  41139. -- ETHERNET_PLL Peripheral Access Layer
  41140. ---------------------------------------------------------------------------- */
  41141. /*!
  41142. * @addtogroup ETHERNET_PLL_Peripheral_Access_Layer ETHERNET_PLL Peripheral Access Layer
  41143. * @{
  41144. */
  41145. /** ETHERNET_PLL - Register Layout Typedef */
  41146. typedef struct {
  41147. struct { /* offset: 0x0 */
  41148. __IO uint32_t RW; /**< Fractional PLL Control Register, offset: 0x0 */
  41149. __IO uint32_t SET; /**< Fractional PLL Control Register, offset: 0x4 */
  41150. __IO uint32_t CLR; /**< Fractional PLL Control Register, offset: 0x8 */
  41151. __IO uint32_t TOG; /**< Fractional PLL Control Register, offset: 0xC */
  41152. } CTRL0;
  41153. struct { /* offset: 0x10 */
  41154. __IO uint32_t RW; /**< Fractional PLL Spread Spectrum Control Register, offset: 0x10 */
  41155. __IO uint32_t SET; /**< Fractional PLL Spread Spectrum Control Register, offset: 0x14 */
  41156. __IO uint32_t CLR; /**< Fractional PLL Spread Spectrum Control Register, offset: 0x18 */
  41157. __IO uint32_t TOG; /**< Fractional PLL Spread Spectrum Control Register, offset: 0x1C */
  41158. } SPREAD_SPECTRUM;
  41159. struct { /* offset: 0x20 */
  41160. __IO uint32_t RW; /**< Fractional PLL Numerator Control Register, offset: 0x20 */
  41161. __IO uint32_t SET; /**< Fractional PLL Numerator Control Register, offset: 0x24 */
  41162. __IO uint32_t CLR; /**< Fractional PLL Numerator Control Register, offset: 0x28 */
  41163. __IO uint32_t TOG; /**< Fractional PLL Numerator Control Register, offset: 0x2C */
  41164. } NUMERATOR;
  41165. struct { /* offset: 0x30 */
  41166. __IO uint32_t RW; /**< Fractional PLL Denominator Control Register, offset: 0x30 */
  41167. __IO uint32_t SET; /**< Fractional PLL Denominator Control Register, offset: 0x34 */
  41168. __IO uint32_t CLR; /**< Fractional PLL Denominator Control Register, offset: 0x38 */
  41169. __IO uint32_t TOG; /**< Fractional PLL Denominator Control Register, offset: 0x3C */
  41170. } DENOMINATOR;
  41171. } ETHERNET_PLL_Type;
  41172. /* ----------------------------------------------------------------------------
  41173. -- ETHERNET_PLL Register Masks
  41174. ---------------------------------------------------------------------------- */
  41175. /*!
  41176. * @addtogroup ETHERNET_PLL_Register_Masks ETHERNET_PLL Register Masks
  41177. * @{
  41178. */
  41179. /*! @name CTRL0 - Fractional PLL Control Register */
  41180. /*! @{ */
  41181. #define ETHERNET_PLL_CTRL0_DIV_SELECT_MASK (0x7FU)
  41182. #define ETHERNET_PLL_CTRL0_DIV_SELECT_SHIFT (0U)
  41183. /*! DIV_SELECT - DIV_SELECT
  41184. */
  41185. #define ETHERNET_PLL_CTRL0_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << ETHERNET_PLL_CTRL0_DIV_SELECT_SHIFT)) & ETHERNET_PLL_CTRL0_DIV_SELECT_MASK)
  41186. #define ETHERNET_PLL_CTRL0_ENABLE_ALT_MASK (0x100U)
  41187. #define ETHERNET_PLL_CTRL0_ENABLE_ALT_SHIFT (8U)
  41188. /*! ENABLE_ALT - ENABLE_ALT
  41189. * 0b0..Disable the alternate clock output
  41190. * 0b1..Enable the alternate clock output which is the output of the post_divider, and cannot be bypassed
  41191. */
  41192. #define ETHERNET_PLL_CTRL0_ENABLE_ALT(x) (((uint32_t)(((uint32_t)(x)) << ETHERNET_PLL_CTRL0_ENABLE_ALT_SHIFT)) & ETHERNET_PLL_CTRL0_ENABLE_ALT_MASK)
  41193. #define ETHERNET_PLL_CTRL0_HOLD_RING_OFF_MASK (0x2000U)
  41194. #define ETHERNET_PLL_CTRL0_HOLD_RING_OFF_SHIFT (13U)
  41195. /*! HOLD_RING_OFF - PLL Start up initialization
  41196. * 0b0..Normal operation
  41197. * 0b1..Initialize PLL start up
  41198. */
  41199. #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)
  41200. #define ETHERNET_PLL_CTRL0_POWERUP_MASK (0x4000U)
  41201. #define ETHERNET_PLL_CTRL0_POWERUP_SHIFT (14U)
  41202. /*! POWERUP - POWERUP
  41203. * 0b1..Power Up the PLL
  41204. * 0b0..Power down the PLL
  41205. */
  41206. #define ETHERNET_PLL_CTRL0_POWERUP(x) (((uint32_t)(((uint32_t)(x)) << ETHERNET_PLL_CTRL0_POWERUP_SHIFT)) & ETHERNET_PLL_CTRL0_POWERUP_MASK)
  41207. #define ETHERNET_PLL_CTRL0_ENABLE_MASK (0x8000U)
  41208. #define ETHERNET_PLL_CTRL0_ENABLE_SHIFT (15U)
  41209. /*! ENABLE - ENABLE
  41210. * 0b1..Enable the clock output
  41211. * 0b0..Disable the clock output
  41212. */
  41213. #define ETHERNET_PLL_CTRL0_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << ETHERNET_PLL_CTRL0_ENABLE_SHIFT)) & ETHERNET_PLL_CTRL0_ENABLE_MASK)
  41214. #define ETHERNET_PLL_CTRL0_BYPASS_MASK (0x10000U)
  41215. #define ETHERNET_PLL_CTRL0_BYPASS_SHIFT (16U)
  41216. /*! BYPASS - BYPASS
  41217. * 0b1..Bypass the PLL
  41218. * 0b0..No Bypass
  41219. */
  41220. #define ETHERNET_PLL_CTRL0_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << ETHERNET_PLL_CTRL0_BYPASS_SHIFT)) & ETHERNET_PLL_CTRL0_BYPASS_MASK)
  41221. #define ETHERNET_PLL_CTRL0_DITHER_EN_MASK (0x20000U)
  41222. #define ETHERNET_PLL_CTRL0_DITHER_EN_SHIFT (17U)
  41223. /*! DITHER_EN - DITHER_EN
  41224. * 0b0..Disable Dither
  41225. * 0b1..Enable Dither
  41226. */
  41227. #define ETHERNET_PLL_CTRL0_DITHER_EN(x) (((uint32_t)(((uint32_t)(x)) << ETHERNET_PLL_CTRL0_DITHER_EN_SHIFT)) & ETHERNET_PLL_CTRL0_DITHER_EN_MASK)
  41228. #define ETHERNET_PLL_CTRL0_BIAS_TRIM_MASK (0x380000U)
  41229. #define ETHERNET_PLL_CTRL0_BIAS_TRIM_SHIFT (19U)
  41230. /*! BIAS_TRIM - BIAS_TRIM
  41231. */
  41232. #define ETHERNET_PLL_CTRL0_BIAS_TRIM(x) (((uint32_t)(((uint32_t)(x)) << ETHERNET_PLL_CTRL0_BIAS_TRIM_SHIFT)) & ETHERNET_PLL_CTRL0_BIAS_TRIM_MASK)
  41233. #define ETHERNET_PLL_CTRL0_PLL_REG_EN_MASK (0x400000U)
  41234. #define ETHERNET_PLL_CTRL0_PLL_REG_EN_SHIFT (22U)
  41235. /*! PLL_REG_EN - PLL_REG_EN
  41236. */
  41237. #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)
  41238. #define ETHERNET_PLL_CTRL0_POST_DIV_SEL_MASK (0xE000000U)
  41239. #define ETHERNET_PLL_CTRL0_POST_DIV_SEL_SHIFT (25U)
  41240. /*! POST_DIV_SEL - Post Divide Select
  41241. * 0b000..Divide by 1
  41242. * 0b001..Divide by 2
  41243. * 0b010..Divide by 4
  41244. * 0b011..Divide by 8
  41245. * 0b100..Divide by 16
  41246. * 0b101..Divide by 32
  41247. */
  41248. #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)
  41249. #define ETHERNET_PLL_CTRL0_BIAS_SELECT_MASK (0x20000000U)
  41250. #define ETHERNET_PLL_CTRL0_BIAS_SELECT_SHIFT (29U)
  41251. /*! BIAS_SELECT - BIAS_SELECT
  41252. * 0b0..Used in SoCs with a bias current of 10uA
  41253. * 0b1..Used in SoCs with a bias current of 2uA
  41254. */
  41255. #define ETHERNET_PLL_CTRL0_BIAS_SELECT(x) (((uint32_t)(((uint32_t)(x)) << ETHERNET_PLL_CTRL0_BIAS_SELECT_SHIFT)) & ETHERNET_PLL_CTRL0_BIAS_SELECT_MASK)
  41256. /*! @} */
  41257. /*! @name SPREAD_SPECTRUM - Fractional PLL Spread Spectrum Control Register */
  41258. /*! @{ */
  41259. #define ETHERNET_PLL_SPREAD_SPECTRUM_STEP_MASK (0x7FFFU)
  41260. #define ETHERNET_PLL_SPREAD_SPECTRUM_STEP_SHIFT (0U)
  41261. /*! STEP - Step
  41262. */
  41263. #define ETHERNET_PLL_SPREAD_SPECTRUM_STEP(x) (((uint32_t)(((uint32_t)(x)) << ETHERNET_PLL_SPREAD_SPECTRUM_STEP_SHIFT)) & ETHERNET_PLL_SPREAD_SPECTRUM_STEP_MASK)
  41264. #define ETHERNET_PLL_SPREAD_SPECTRUM_ENABLE_MASK (0x8000U)
  41265. #define ETHERNET_PLL_SPREAD_SPECTRUM_ENABLE_SHIFT (15U)
  41266. /*! ENABLE - Enable
  41267. */
  41268. #define ETHERNET_PLL_SPREAD_SPECTRUM_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << ETHERNET_PLL_SPREAD_SPECTRUM_ENABLE_SHIFT)) & ETHERNET_PLL_SPREAD_SPECTRUM_ENABLE_MASK)
  41269. #define ETHERNET_PLL_SPREAD_SPECTRUM_STOP_MASK (0xFFFF0000U)
  41270. #define ETHERNET_PLL_SPREAD_SPECTRUM_STOP_SHIFT (16U)
  41271. /*! STOP - Stop
  41272. */
  41273. #define ETHERNET_PLL_SPREAD_SPECTRUM_STOP(x) (((uint32_t)(((uint32_t)(x)) << ETHERNET_PLL_SPREAD_SPECTRUM_STOP_SHIFT)) & ETHERNET_PLL_SPREAD_SPECTRUM_STOP_MASK)
  41274. /*! @} */
  41275. /*! @name NUMERATOR - Fractional PLL Numerator Control Register */
  41276. /*! @{ */
  41277. #define ETHERNET_PLL_NUMERATOR_NUM_MASK (0x3FFFFFFFU)
  41278. #define ETHERNET_PLL_NUMERATOR_NUM_SHIFT (0U)
  41279. /*! NUM - Numerator
  41280. */
  41281. #define ETHERNET_PLL_NUMERATOR_NUM(x) (((uint32_t)(((uint32_t)(x)) << ETHERNET_PLL_NUMERATOR_NUM_SHIFT)) & ETHERNET_PLL_NUMERATOR_NUM_MASK)
  41282. /*! @} */
  41283. /*! @name DENOMINATOR - Fractional PLL Denominator Control Register */
  41284. /*! @{ */
  41285. #define ETHERNET_PLL_DENOMINATOR_DENOM_MASK (0x3FFFFFFFU)
  41286. #define ETHERNET_PLL_DENOMINATOR_DENOM_SHIFT (0U)
  41287. /*! DENOM - Denominator
  41288. */
  41289. #define ETHERNET_PLL_DENOMINATOR_DENOM(x) (((uint32_t)(((uint32_t)(x)) << ETHERNET_PLL_DENOMINATOR_DENOM_SHIFT)) & ETHERNET_PLL_DENOMINATOR_DENOM_MASK)
  41290. /*! @} */
  41291. /*!
  41292. * @}
  41293. */ /* end of group ETHERNET_PLL_Register_Masks */
  41294. /* ETHERNET_PLL - Peripheral instance base addresses */
  41295. /** Peripheral ETHERNET_PLL base address */
  41296. #define ETHERNET_PLL_BASE (0u)
  41297. /** Peripheral ETHERNET_PLL base pointer */
  41298. #define ETHERNET_PLL ((ETHERNET_PLL_Type *)ETHERNET_PLL_BASE)
  41299. /** Array initializer of ETHERNET_PLL peripheral base addresses */
  41300. #define ETHERNET_PLL_BASE_ADDRS { ETHERNET_PLL_BASE }
  41301. /** Array initializer of ETHERNET_PLL peripheral base pointers */
  41302. #define ETHERNET_PLL_BASE_PTRS { ETHERNET_PLL }
  41303. /*!
  41304. * @}
  41305. */ /* end of group ETHERNET_PLL_Peripheral_Access_Layer */
  41306. /* ----------------------------------------------------------------------------
  41307. -- EWM Peripheral Access Layer
  41308. ---------------------------------------------------------------------------- */
  41309. /*!
  41310. * @addtogroup EWM_Peripheral_Access_Layer EWM Peripheral Access Layer
  41311. * @{
  41312. */
  41313. /** EWM - Register Layout Typedef */
  41314. typedef struct {
  41315. __IO uint8_t CTRL; /**< Control Register, offset: 0x0 */
  41316. __O uint8_t SERV; /**< Service Register, offset: 0x1 */
  41317. __IO uint8_t CMPL; /**< Compare Low Register, offset: 0x2 */
  41318. __IO uint8_t CMPH; /**< Compare High Register, offset: 0x3 */
  41319. __IO uint8_t CLKCTRL; /**< Clock Control Register, offset: 0x4 */
  41320. __IO uint8_t CLKPRESCALER; /**< Clock Prescaler Register, offset: 0x5 */
  41321. } EWM_Type;
  41322. /* ----------------------------------------------------------------------------
  41323. -- EWM Register Masks
  41324. ---------------------------------------------------------------------------- */
  41325. /*!
  41326. * @addtogroup EWM_Register_Masks EWM Register Masks
  41327. * @{
  41328. */
  41329. /*! @name CTRL - Control Register */
  41330. /*! @{ */
  41331. #define EWM_CTRL_EWMEN_MASK (0x1U)
  41332. #define EWM_CTRL_EWMEN_SHIFT (0U)
  41333. /*! EWMEN - EWM enable.
  41334. * 0b0..EWM module is disabled.
  41335. * 0b1..EWM module is enabled.
  41336. */
  41337. #define EWM_CTRL_EWMEN(x) (((uint8_t)(((uint8_t)(x)) << EWM_CTRL_EWMEN_SHIFT)) & EWM_CTRL_EWMEN_MASK)
  41338. #define EWM_CTRL_ASSIN_MASK (0x2U)
  41339. #define EWM_CTRL_ASSIN_SHIFT (1U)
  41340. /*! ASSIN - EWM_in's Assertion State Select.
  41341. * 0b0..Default assert state of the EWM_in signal.
  41342. * 0b1..Inverts the assert state of EWM_in signal.
  41343. */
  41344. #define EWM_CTRL_ASSIN(x) (((uint8_t)(((uint8_t)(x)) << EWM_CTRL_ASSIN_SHIFT)) & EWM_CTRL_ASSIN_MASK)
  41345. #define EWM_CTRL_INEN_MASK (0x4U)
  41346. #define EWM_CTRL_INEN_SHIFT (2U)
  41347. /*! INEN - Input Enable.
  41348. * 0b0..EWM_in port is disabled.
  41349. * 0b1..EWM_in port is enabled.
  41350. */
  41351. #define EWM_CTRL_INEN(x) (((uint8_t)(((uint8_t)(x)) << EWM_CTRL_INEN_SHIFT)) & EWM_CTRL_INEN_MASK)
  41352. #define EWM_CTRL_INTEN_MASK (0x8U)
  41353. #define EWM_CTRL_INTEN_SHIFT (3U)
  41354. /*! INTEN - Interrupt Enable.
  41355. * 0b1..Generates an interrupt request, when EWM_OUT_b is asserted.
  41356. * 0b0..Deasserts the interrupt request.
  41357. */
  41358. #define EWM_CTRL_INTEN(x) (((uint8_t)(((uint8_t)(x)) << EWM_CTRL_INTEN_SHIFT)) & EWM_CTRL_INTEN_MASK)
  41359. /*! @} */
  41360. /*! @name SERV - Service Register */
  41361. /*! @{ */
  41362. #define EWM_SERV_SERVICE_MASK (0xFFU)
  41363. #define EWM_SERV_SERVICE_SHIFT (0U)
  41364. /*! SERVICE - SERVICE
  41365. */
  41366. #define EWM_SERV_SERVICE(x) (((uint8_t)(((uint8_t)(x)) << EWM_SERV_SERVICE_SHIFT)) & EWM_SERV_SERVICE_MASK)
  41367. /*! @} */
  41368. /*! @name CMPL - Compare Low Register */
  41369. /*! @{ */
  41370. #define EWM_CMPL_COMPAREL_MASK (0xFFU)
  41371. #define EWM_CMPL_COMPAREL_SHIFT (0U)
  41372. /*! COMPAREL - COMPAREL
  41373. */
  41374. #define EWM_CMPL_COMPAREL(x) (((uint8_t)(((uint8_t)(x)) << EWM_CMPL_COMPAREL_SHIFT)) & EWM_CMPL_COMPAREL_MASK)
  41375. /*! @} */
  41376. /*! @name CMPH - Compare High Register */
  41377. /*! @{ */
  41378. #define EWM_CMPH_COMPAREH_MASK (0xFFU)
  41379. #define EWM_CMPH_COMPAREH_SHIFT (0U)
  41380. /*! COMPAREH - COMPAREH
  41381. */
  41382. #define EWM_CMPH_COMPAREH(x) (((uint8_t)(((uint8_t)(x)) << EWM_CMPH_COMPAREH_SHIFT)) & EWM_CMPH_COMPAREH_MASK)
  41383. /*! @} */
  41384. /*! @name CLKCTRL - Clock Control Register */
  41385. /*! @{ */
  41386. #define EWM_CLKCTRL_CLKSEL_MASK (0x3U)
  41387. #define EWM_CLKCTRL_CLKSEL_SHIFT (0U)
  41388. /*! CLKSEL - CLKSEL
  41389. */
  41390. #define EWM_CLKCTRL_CLKSEL(x) (((uint8_t)(((uint8_t)(x)) << EWM_CLKCTRL_CLKSEL_SHIFT)) & EWM_CLKCTRL_CLKSEL_MASK)
  41391. /*! @} */
  41392. /*! @name CLKPRESCALER - Clock Prescaler Register */
  41393. /*! @{ */
  41394. #define EWM_CLKPRESCALER_CLK_DIV_MASK (0xFFU)
  41395. #define EWM_CLKPRESCALER_CLK_DIV_SHIFT (0U)
  41396. /*! CLK_DIV - CLK_DIV
  41397. */
  41398. #define EWM_CLKPRESCALER_CLK_DIV(x) (((uint8_t)(((uint8_t)(x)) << EWM_CLKPRESCALER_CLK_DIV_SHIFT)) & EWM_CLKPRESCALER_CLK_DIV_MASK)
  41399. /*! @} */
  41400. /*!
  41401. * @}
  41402. */ /* end of group EWM_Register_Masks */
  41403. /* EWM - Peripheral instance base addresses */
  41404. /** Peripheral EWM base address */
  41405. #define EWM_BASE (0x4002C000u)
  41406. /** Peripheral EWM base pointer */
  41407. #define EWM ((EWM_Type *)EWM_BASE)
  41408. /** Array initializer of EWM peripheral base addresses */
  41409. #define EWM_BASE_ADDRS { EWM_BASE }
  41410. /** Array initializer of EWM peripheral base pointers */
  41411. #define EWM_BASE_PTRS { EWM }
  41412. /** Interrupt vectors for the EWM peripheral type */
  41413. #define EWM_IRQS { EWM_IRQn }
  41414. /*!
  41415. * @}
  41416. */ /* end of group EWM_Peripheral_Access_Layer */
  41417. /* ----------------------------------------------------------------------------
  41418. -- FLEXIO Peripheral Access Layer
  41419. ---------------------------------------------------------------------------- */
  41420. /*!
  41421. * @addtogroup FLEXIO_Peripheral_Access_Layer FLEXIO Peripheral Access Layer
  41422. * @{
  41423. */
  41424. /** FLEXIO - Register Layout Typedef */
  41425. typedef struct {
  41426. __I uint32_t VERID; /**< Version ID Register, offset: 0x0 */
  41427. __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */
  41428. __IO uint32_t CTRL; /**< FlexIO Control Register, offset: 0x8 */
  41429. __I uint32_t PIN; /**< Pin State Register, offset: 0xC */
  41430. __IO uint32_t SHIFTSTAT; /**< Shifter Status Register, offset: 0x10 */
  41431. __IO uint32_t SHIFTERR; /**< Shifter Error Register, offset: 0x14 */
  41432. __IO uint32_t TIMSTAT; /**< Timer Status Register, offset: 0x18 */
  41433. uint8_t RESERVED_0[4];
  41434. __IO uint32_t SHIFTSIEN; /**< Shifter Status Interrupt Enable, offset: 0x20 */
  41435. __IO uint32_t SHIFTEIEN; /**< Shifter Error Interrupt Enable, offset: 0x24 */
  41436. __IO uint32_t TIMIEN; /**< Timer Interrupt Enable Register, offset: 0x28 */
  41437. uint8_t RESERVED_1[4];
  41438. __IO uint32_t SHIFTSDEN; /**< Shifter Status DMA Enable, offset: 0x30 */
  41439. uint8_t RESERVED_2[4];
  41440. __IO uint32_t TIMERSDEN; /**< Timer Status DMA Enable, offset: 0x38 */
  41441. uint8_t RESERVED_3[4];
  41442. __IO uint32_t SHIFTSTATE; /**< Shifter State Register, offset: 0x40 */
  41443. uint8_t RESERVED_4[60];
  41444. __IO uint32_t SHIFTCTL[8]; /**< Shifter Control N Register, array offset: 0x80, array step: 0x4 */
  41445. uint8_t RESERVED_5[96];
  41446. __IO uint32_t SHIFTCFG[8]; /**< Shifter Configuration N Register, array offset: 0x100, array step: 0x4 */
  41447. uint8_t RESERVED_6[224];
  41448. __IO uint32_t SHIFTBUF[8]; /**< Shifter Buffer N Register, array offset: 0x200, array step: 0x4 */
  41449. uint8_t RESERVED_7[96];
  41450. __IO uint32_t SHIFTBUFBIS[8]; /**< Shifter Buffer N Bit Swapped Register, array offset: 0x280, array step: 0x4 */
  41451. uint8_t RESERVED_8[96];
  41452. __IO uint32_t SHIFTBUFBYS[8]; /**< Shifter Buffer N Byte Swapped Register, array offset: 0x300, array step: 0x4 */
  41453. uint8_t RESERVED_9[96];
  41454. __IO uint32_t SHIFTBUFBBS[8]; /**< Shifter Buffer N Bit Byte Swapped Register, array offset: 0x380, array step: 0x4 */
  41455. uint8_t RESERVED_10[96];
  41456. __IO uint32_t TIMCTL[8]; /**< Timer Control N Register, array offset: 0x400, array step: 0x4 */
  41457. uint8_t RESERVED_11[96];
  41458. __IO uint32_t TIMCFG[8]; /**< Timer Configuration N Register, array offset: 0x480, array step: 0x4 */
  41459. uint8_t RESERVED_12[96];
  41460. __IO uint32_t TIMCMP[8]; /**< Timer Compare N Register, array offset: 0x500, array step: 0x4 */
  41461. uint8_t RESERVED_13[352];
  41462. __IO uint32_t SHIFTBUFNBS[8]; /**< Shifter Buffer N Nibble Byte Swapped Register, array offset: 0x680, array step: 0x4 */
  41463. uint8_t RESERVED_14[96];
  41464. __IO uint32_t SHIFTBUFHWS[8]; /**< Shifter Buffer N Half Word Swapped Register, array offset: 0x700, array step: 0x4 */
  41465. uint8_t RESERVED_15[96];
  41466. __IO uint32_t SHIFTBUFNIS[8]; /**< Shifter Buffer N Nibble Swapped Register, array offset: 0x780, array step: 0x4 */
  41467. uint8_t RESERVED_16[96];
  41468. __IO uint32_t SHIFTBUFOES[8]; /**< Shifter Buffer N Odd Even Swapped Register, array offset: 0x800, array step: 0x4 */
  41469. uint8_t RESERVED_17[96];
  41470. __IO uint32_t SHIFTBUFEOS[8]; /**< Shifter Buffer N Even Odd Swapped Register, array offset: 0x880, array step: 0x4 */
  41471. } FLEXIO_Type;
  41472. /* ----------------------------------------------------------------------------
  41473. -- FLEXIO Register Masks
  41474. ---------------------------------------------------------------------------- */
  41475. /*!
  41476. * @addtogroup FLEXIO_Register_Masks FLEXIO Register Masks
  41477. * @{
  41478. */
  41479. /*! @name VERID - Version ID Register */
  41480. /*! @{ */
  41481. #define FLEXIO_VERID_FEATURE_MASK (0xFFFFU)
  41482. #define FLEXIO_VERID_FEATURE_SHIFT (0U)
  41483. /*! FEATURE - Feature Specification Number
  41484. * 0b0000000000000000..Standard features implemented.
  41485. * 0b0000000000000001..Supports state, logic and parallel modes.
  41486. * 0b0000000000000010..Supports pin control registers.
  41487. * 0b0000000000000011..Supports state, logic and parallel modes; plus pin control registers.
  41488. */
  41489. #define FLEXIO_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_VERID_FEATURE_SHIFT)) & FLEXIO_VERID_FEATURE_MASK)
  41490. #define FLEXIO_VERID_MINOR_MASK (0xFF0000U)
  41491. #define FLEXIO_VERID_MINOR_SHIFT (16U)
  41492. /*! MINOR - Minor Version Number
  41493. */
  41494. #define FLEXIO_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_VERID_MINOR_SHIFT)) & FLEXIO_VERID_MINOR_MASK)
  41495. #define FLEXIO_VERID_MAJOR_MASK (0xFF000000U)
  41496. #define FLEXIO_VERID_MAJOR_SHIFT (24U)
  41497. /*! MAJOR - Major Version Number
  41498. */
  41499. #define FLEXIO_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_VERID_MAJOR_SHIFT)) & FLEXIO_VERID_MAJOR_MASK)
  41500. /*! @} */
  41501. /*! @name PARAM - Parameter Register */
  41502. /*! @{ */
  41503. #define FLEXIO_PARAM_SHIFTER_MASK (0xFFU)
  41504. #define FLEXIO_PARAM_SHIFTER_SHIFT (0U)
  41505. /*! SHIFTER - Shifter Number
  41506. */
  41507. #define FLEXIO_PARAM_SHIFTER(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PARAM_SHIFTER_SHIFT)) & FLEXIO_PARAM_SHIFTER_MASK)
  41508. #define FLEXIO_PARAM_TIMER_MASK (0xFF00U)
  41509. #define FLEXIO_PARAM_TIMER_SHIFT (8U)
  41510. /*! TIMER - Timer Number
  41511. */
  41512. #define FLEXIO_PARAM_TIMER(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PARAM_TIMER_SHIFT)) & FLEXIO_PARAM_TIMER_MASK)
  41513. #define FLEXIO_PARAM_PIN_MASK (0xFF0000U)
  41514. #define FLEXIO_PARAM_PIN_SHIFT (16U)
  41515. /*! PIN - Pin Number
  41516. */
  41517. #define FLEXIO_PARAM_PIN(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PARAM_PIN_SHIFT)) & FLEXIO_PARAM_PIN_MASK)
  41518. #define FLEXIO_PARAM_TRIGGER_MASK (0xFF000000U)
  41519. #define FLEXIO_PARAM_TRIGGER_SHIFT (24U)
  41520. /*! TRIGGER - Trigger Number
  41521. */
  41522. #define FLEXIO_PARAM_TRIGGER(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PARAM_TRIGGER_SHIFT)) & FLEXIO_PARAM_TRIGGER_MASK)
  41523. /*! @} */
  41524. /*! @name CTRL - FlexIO Control Register */
  41525. /*! @{ */
  41526. #define FLEXIO_CTRL_FLEXEN_MASK (0x1U)
  41527. #define FLEXIO_CTRL_FLEXEN_SHIFT (0U)
  41528. /*! FLEXEN - FlexIO Enable
  41529. * 0b0..FlexIO module is disabled.
  41530. * 0b1..FlexIO module is enabled.
  41531. */
  41532. #define FLEXIO_CTRL_FLEXEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_CTRL_FLEXEN_SHIFT)) & FLEXIO_CTRL_FLEXEN_MASK)
  41533. #define FLEXIO_CTRL_SWRST_MASK (0x2U)
  41534. #define FLEXIO_CTRL_SWRST_SHIFT (1U)
  41535. /*! SWRST - Software Reset
  41536. * 0b0..Software reset is disabled
  41537. * 0b1..Software reset is enabled, all FlexIO registers except the Control Register are reset.
  41538. */
  41539. #define FLEXIO_CTRL_SWRST(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_CTRL_SWRST_SHIFT)) & FLEXIO_CTRL_SWRST_MASK)
  41540. #define FLEXIO_CTRL_FASTACC_MASK (0x4U)
  41541. #define FLEXIO_CTRL_FASTACC_SHIFT (2U)
  41542. /*! FASTACC - Fast Access
  41543. * 0b0..Configures for normal register accesses to FlexIO
  41544. * 0b1..Configures for fast register accesses to FlexIO
  41545. */
  41546. #define FLEXIO_CTRL_FASTACC(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_CTRL_FASTACC_SHIFT)) & FLEXIO_CTRL_FASTACC_MASK)
  41547. #define FLEXIO_CTRL_DBGE_MASK (0x40000000U)
  41548. #define FLEXIO_CTRL_DBGE_SHIFT (30U)
  41549. /*! DBGE - Debug Enable
  41550. * 0b0..FlexIO is disabled in debug modes.
  41551. * 0b1..FlexIO is enabled in debug modes
  41552. */
  41553. #define FLEXIO_CTRL_DBGE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_CTRL_DBGE_SHIFT)) & FLEXIO_CTRL_DBGE_MASK)
  41554. #define FLEXIO_CTRL_DOZEN_MASK (0x80000000U)
  41555. #define FLEXIO_CTRL_DOZEN_SHIFT (31U)
  41556. /*! DOZEN - Doze Enable
  41557. * 0b0..FlexIO enabled in Doze modes.
  41558. * 0b1..FlexIO disabled in Doze modes.
  41559. */
  41560. #define FLEXIO_CTRL_DOZEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_CTRL_DOZEN_SHIFT)) & FLEXIO_CTRL_DOZEN_MASK)
  41561. /*! @} */
  41562. /*! @name PIN - Pin State Register */
  41563. /*! @{ */
  41564. #define FLEXIO_PIN_PDI_MASK (0xFFFFFFFFU)
  41565. #define FLEXIO_PIN_PDI_SHIFT (0U)
  41566. /*! PDI - Pin Data Input
  41567. */
  41568. #define FLEXIO_PIN_PDI(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PIN_PDI_SHIFT)) & FLEXIO_PIN_PDI_MASK)
  41569. /*! @} */
  41570. /*! @name SHIFTSTAT - Shifter Status Register */
  41571. /*! @{ */
  41572. #define FLEXIO_SHIFTSTAT_SSF_MASK (0xFFU)
  41573. #define FLEXIO_SHIFTSTAT_SSF_SHIFT (0U)
  41574. /*! SSF - Shifter Status Flag
  41575. */
  41576. #define FLEXIO_SHIFTSTAT_SSF(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTSTAT_SSF_SHIFT)) & FLEXIO_SHIFTSTAT_SSF_MASK)
  41577. /*! @} */
  41578. /*! @name SHIFTERR - Shifter Error Register */
  41579. /*! @{ */
  41580. #define FLEXIO_SHIFTERR_SEF_MASK (0xFFU)
  41581. #define FLEXIO_SHIFTERR_SEF_SHIFT (0U)
  41582. /*! SEF - Shifter Error Flags
  41583. */
  41584. #define FLEXIO_SHIFTERR_SEF(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTERR_SEF_SHIFT)) & FLEXIO_SHIFTERR_SEF_MASK)
  41585. /*! @} */
  41586. /*! @name TIMSTAT - Timer Status Register */
  41587. /*! @{ */
  41588. #define FLEXIO_TIMSTAT_TSF_MASK (0xFFU)
  41589. #define FLEXIO_TIMSTAT_TSF_SHIFT (0U)
  41590. /*! TSF - Timer Status Flags
  41591. */
  41592. #define FLEXIO_TIMSTAT_TSF(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMSTAT_TSF_SHIFT)) & FLEXIO_TIMSTAT_TSF_MASK)
  41593. /*! @} */
  41594. /*! @name SHIFTSIEN - Shifter Status Interrupt Enable */
  41595. /*! @{ */
  41596. #define FLEXIO_SHIFTSIEN_SSIE_MASK (0xFFU)
  41597. #define FLEXIO_SHIFTSIEN_SSIE_SHIFT (0U)
  41598. /*! SSIE - Shifter Status Interrupt Enable
  41599. */
  41600. #define FLEXIO_SHIFTSIEN_SSIE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTSIEN_SSIE_SHIFT)) & FLEXIO_SHIFTSIEN_SSIE_MASK)
  41601. /*! @} */
  41602. /*! @name SHIFTEIEN - Shifter Error Interrupt Enable */
  41603. /*! @{ */
  41604. #define FLEXIO_SHIFTEIEN_SEIE_MASK (0xFFU)
  41605. #define FLEXIO_SHIFTEIEN_SEIE_SHIFT (0U)
  41606. /*! SEIE - Shifter Error Interrupt Enable
  41607. */
  41608. #define FLEXIO_SHIFTEIEN_SEIE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTEIEN_SEIE_SHIFT)) & FLEXIO_SHIFTEIEN_SEIE_MASK)
  41609. /*! @} */
  41610. /*! @name TIMIEN - Timer Interrupt Enable Register */
  41611. /*! @{ */
  41612. #define FLEXIO_TIMIEN_TEIE_MASK (0xFFU)
  41613. #define FLEXIO_TIMIEN_TEIE_SHIFT (0U)
  41614. /*! TEIE - Timer Status Interrupt Enable
  41615. */
  41616. #define FLEXIO_TIMIEN_TEIE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMIEN_TEIE_SHIFT)) & FLEXIO_TIMIEN_TEIE_MASK)
  41617. /*! @} */
  41618. /*! @name SHIFTSDEN - Shifter Status DMA Enable */
  41619. /*! @{ */
  41620. #define FLEXIO_SHIFTSDEN_SSDE_MASK (0xFFU)
  41621. #define FLEXIO_SHIFTSDEN_SSDE_SHIFT (0U)
  41622. /*! SSDE - Shifter Status DMA Enable
  41623. */
  41624. #define FLEXIO_SHIFTSDEN_SSDE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTSDEN_SSDE_SHIFT)) & FLEXIO_SHIFTSDEN_SSDE_MASK)
  41625. /*! @} */
  41626. /*! @name TIMERSDEN - Timer Status DMA Enable */
  41627. /*! @{ */
  41628. #define FLEXIO_TIMERSDEN_TSDE_MASK (0xFFU)
  41629. #define FLEXIO_TIMERSDEN_TSDE_SHIFT (0U)
  41630. /*! TSDE - Timer Status DMA Enable
  41631. */
  41632. #define FLEXIO_TIMERSDEN_TSDE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMERSDEN_TSDE_SHIFT)) & FLEXIO_TIMERSDEN_TSDE_MASK)
  41633. /*! @} */
  41634. /*! @name SHIFTSTATE - Shifter State Register */
  41635. /*! @{ */
  41636. #define FLEXIO_SHIFTSTATE_STATE_MASK (0x7U)
  41637. #define FLEXIO_SHIFTSTATE_STATE_SHIFT (0U)
  41638. /*! STATE - Current State Pointer
  41639. */
  41640. #define FLEXIO_SHIFTSTATE_STATE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTSTATE_STATE_SHIFT)) & FLEXIO_SHIFTSTATE_STATE_MASK)
  41641. /*! @} */
  41642. /*! @name SHIFTCTL - Shifter Control N Register */
  41643. /*! @{ */
  41644. #define FLEXIO_SHIFTCTL_SMOD_MASK (0x7U)
  41645. #define FLEXIO_SHIFTCTL_SMOD_SHIFT (0U)
  41646. /*! SMOD - Shifter Mode
  41647. * 0b000..Disabled.
  41648. * 0b001..Receive mode. Captures the current Shifter content into the SHIFTBUF on expiration of the Timer.
  41649. * 0b010..Transmit mode. Load SHIFTBUF contents into the Shifter on expiration of the Timer.
  41650. * 0b011..Reserved.
  41651. * 0b100..Match Store mode. Shifter data is compared to SHIFTBUF content on expiration of the Timer.
  41652. * 0b101..Match Continuous mode. Shifter data is continuously compared to SHIFTBUF contents.
  41653. * 0b110..State mode. SHIFTBUF contents are used for storing programmable state attributes.
  41654. * 0b111..Logic mode. SHIFTBUF contents are used for implementing programmable logic look up table.
  41655. */
  41656. #define FLEXIO_SHIFTCTL_SMOD(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCTL_SMOD_SHIFT)) & FLEXIO_SHIFTCTL_SMOD_MASK)
  41657. #define FLEXIO_SHIFTCTL_PINPOL_MASK (0x80U)
  41658. #define FLEXIO_SHIFTCTL_PINPOL_SHIFT (7U)
  41659. /*! PINPOL - Shifter Pin Polarity
  41660. * 0b0..Pin is active high
  41661. * 0b1..Pin is active low
  41662. */
  41663. #define FLEXIO_SHIFTCTL_PINPOL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCTL_PINPOL_SHIFT)) & FLEXIO_SHIFTCTL_PINPOL_MASK)
  41664. #define FLEXIO_SHIFTCTL_PINSEL_MASK (0x1F00U)
  41665. #define FLEXIO_SHIFTCTL_PINSEL_SHIFT (8U)
  41666. /*! PINSEL - Shifter Pin Select
  41667. */
  41668. #define FLEXIO_SHIFTCTL_PINSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCTL_PINSEL_SHIFT)) & FLEXIO_SHIFTCTL_PINSEL_MASK)
  41669. #define FLEXIO_SHIFTCTL_PINCFG_MASK (0x30000U)
  41670. #define FLEXIO_SHIFTCTL_PINCFG_SHIFT (16U)
  41671. /*! PINCFG - Shifter Pin Configuration
  41672. * 0b00..Shifter pin output disabled
  41673. * 0b01..Shifter pin open drain or bidirectional output enable
  41674. * 0b10..Shifter pin bidirectional output data
  41675. * 0b11..Shifter pin output
  41676. */
  41677. #define FLEXIO_SHIFTCTL_PINCFG(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCTL_PINCFG_SHIFT)) & FLEXIO_SHIFTCTL_PINCFG_MASK)
  41678. #define FLEXIO_SHIFTCTL_TIMPOL_MASK (0x800000U)
  41679. #define FLEXIO_SHIFTCTL_TIMPOL_SHIFT (23U)
  41680. /*! TIMPOL - Timer Polarity
  41681. * 0b0..Shift on posedge of Shift clock
  41682. * 0b1..Shift on negedge of Shift clock
  41683. */
  41684. #define FLEXIO_SHIFTCTL_TIMPOL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCTL_TIMPOL_SHIFT)) & FLEXIO_SHIFTCTL_TIMPOL_MASK)
  41685. #define FLEXIO_SHIFTCTL_TIMSEL_MASK (0x7000000U)
  41686. #define FLEXIO_SHIFTCTL_TIMSEL_SHIFT (24U)
  41687. /*! TIMSEL - Timer Select
  41688. */
  41689. #define FLEXIO_SHIFTCTL_TIMSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCTL_TIMSEL_SHIFT)) & FLEXIO_SHIFTCTL_TIMSEL_MASK)
  41690. /*! @} */
  41691. /* The count of FLEXIO_SHIFTCTL */
  41692. #define FLEXIO_SHIFTCTL_COUNT (8U)
  41693. /*! @name SHIFTCFG - Shifter Configuration N Register */
  41694. /*! @{ */
  41695. #define FLEXIO_SHIFTCFG_SSTART_MASK (0x3U)
  41696. #define FLEXIO_SHIFTCFG_SSTART_SHIFT (0U)
  41697. /*! SSTART - Shifter Start bit
  41698. * 0b00..Start bit disabled for transmitter/receiver/match store, transmitter loads data on enable
  41699. * 0b01..Start bit disabled for transmitter/receiver/match store, transmitter loads data on first shift
  41700. * 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
  41701. * 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
  41702. */
  41703. #define FLEXIO_SHIFTCFG_SSTART(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCFG_SSTART_SHIFT)) & FLEXIO_SHIFTCFG_SSTART_MASK)
  41704. #define FLEXIO_SHIFTCFG_SSTOP_MASK (0x30U)
  41705. #define FLEXIO_SHIFTCFG_SSTOP_SHIFT (4U)
  41706. /*! SSTOP - Shifter Stop bit
  41707. * 0b00..Stop bit disabled for transmitter/receiver/match store
  41708. * 0b01..Reserved for transmitter/receiver/match store
  41709. * 0b10..Transmitter outputs stop bit value 0 on store, receiver/match store sets error flag if stop bit is not 0
  41710. * 0b11..Transmitter outputs stop bit value 1 on store, receiver/match store sets error flag if stop bit is not 1
  41711. */
  41712. #define FLEXIO_SHIFTCFG_SSTOP(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCFG_SSTOP_SHIFT)) & FLEXIO_SHIFTCFG_SSTOP_MASK)
  41713. #define FLEXIO_SHIFTCFG_INSRC_MASK (0x100U)
  41714. #define FLEXIO_SHIFTCFG_INSRC_SHIFT (8U)
  41715. /*! INSRC - Input Source
  41716. * 0b0..Pin
  41717. * 0b1..Shifter N+1 Output
  41718. */
  41719. #define FLEXIO_SHIFTCFG_INSRC(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCFG_INSRC_SHIFT)) & FLEXIO_SHIFTCFG_INSRC_MASK)
  41720. #define FLEXIO_SHIFTCFG_LATST_MASK (0x200U)
  41721. #define FLEXIO_SHIFTCFG_LATST_SHIFT (9U)
  41722. /*! LATST - Late Store
  41723. * 0b0..Shift register stores the pre-shift register state.
  41724. * 0b1..Shift register stores the post-shift register state.
  41725. */
  41726. #define FLEXIO_SHIFTCFG_LATST(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCFG_LATST_SHIFT)) & FLEXIO_SHIFTCFG_LATST_MASK)
  41727. #define FLEXIO_SHIFTCFG_PWIDTH_MASK (0x1F0000U)
  41728. #define FLEXIO_SHIFTCFG_PWIDTH_SHIFT (16U)
  41729. /*! PWIDTH - Parallel Width
  41730. */
  41731. #define FLEXIO_SHIFTCFG_PWIDTH(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCFG_PWIDTH_SHIFT)) & FLEXIO_SHIFTCFG_PWIDTH_MASK)
  41732. /*! @} */
  41733. /* The count of FLEXIO_SHIFTCFG */
  41734. #define FLEXIO_SHIFTCFG_COUNT (8U)
  41735. /*! @name SHIFTBUF - Shifter Buffer N Register */
  41736. /*! @{ */
  41737. #define FLEXIO_SHIFTBUF_SHIFTBUF_MASK (0xFFFFFFFFU)
  41738. #define FLEXIO_SHIFTBUF_SHIFTBUF_SHIFT (0U)
  41739. /*! SHIFTBUF - Shift Buffer
  41740. */
  41741. #define FLEXIO_SHIFTBUF_SHIFTBUF(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUF_SHIFTBUF_SHIFT)) & FLEXIO_SHIFTBUF_SHIFTBUF_MASK)
  41742. /*! @} */
  41743. /* The count of FLEXIO_SHIFTBUF */
  41744. #define FLEXIO_SHIFTBUF_COUNT (8U)
  41745. /*! @name SHIFTBUFBIS - Shifter Buffer N Bit Swapped Register */
  41746. /*! @{ */
  41747. #define FLEXIO_SHIFTBUFBIS_SHIFTBUFBIS_MASK (0xFFFFFFFFU)
  41748. #define FLEXIO_SHIFTBUFBIS_SHIFTBUFBIS_SHIFT (0U)
  41749. /*! SHIFTBUFBIS - Shift Buffer
  41750. */
  41751. #define FLEXIO_SHIFTBUFBIS_SHIFTBUFBIS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFBIS_SHIFTBUFBIS_SHIFT)) & FLEXIO_SHIFTBUFBIS_SHIFTBUFBIS_MASK)
  41752. /*! @} */
  41753. /* The count of FLEXIO_SHIFTBUFBIS */
  41754. #define FLEXIO_SHIFTBUFBIS_COUNT (8U)
  41755. /*! @name SHIFTBUFBYS - Shifter Buffer N Byte Swapped Register */
  41756. /*! @{ */
  41757. #define FLEXIO_SHIFTBUFBYS_SHIFTBUFBYS_MASK (0xFFFFFFFFU)
  41758. #define FLEXIO_SHIFTBUFBYS_SHIFTBUFBYS_SHIFT (0U)
  41759. /*! SHIFTBUFBYS - Shift Buffer
  41760. */
  41761. #define FLEXIO_SHIFTBUFBYS_SHIFTBUFBYS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFBYS_SHIFTBUFBYS_SHIFT)) & FLEXIO_SHIFTBUFBYS_SHIFTBUFBYS_MASK)
  41762. /*! @} */
  41763. /* The count of FLEXIO_SHIFTBUFBYS */
  41764. #define FLEXIO_SHIFTBUFBYS_COUNT (8U)
  41765. /*! @name SHIFTBUFBBS - Shifter Buffer N Bit Byte Swapped Register */
  41766. /*! @{ */
  41767. #define FLEXIO_SHIFTBUFBBS_SHIFTBUFBBS_MASK (0xFFFFFFFFU)
  41768. #define FLEXIO_SHIFTBUFBBS_SHIFTBUFBBS_SHIFT (0U)
  41769. /*! SHIFTBUFBBS - Shift Buffer
  41770. */
  41771. #define FLEXIO_SHIFTBUFBBS_SHIFTBUFBBS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFBBS_SHIFTBUFBBS_SHIFT)) & FLEXIO_SHIFTBUFBBS_SHIFTBUFBBS_MASK)
  41772. /*! @} */
  41773. /* The count of FLEXIO_SHIFTBUFBBS */
  41774. #define FLEXIO_SHIFTBUFBBS_COUNT (8U)
  41775. /*! @name TIMCTL - Timer Control N Register */
  41776. /*! @{ */
  41777. #define FLEXIO_TIMCTL_TIMOD_MASK (0x7U)
  41778. #define FLEXIO_TIMCTL_TIMOD_SHIFT (0U)
  41779. /*! TIMOD - Timer Mode
  41780. * 0b000..Timer Disabled.
  41781. * 0b001..Dual 8-bit counters baud mode.
  41782. * 0b010..Dual 8-bit counters PWM high mode.
  41783. * 0b011..Single 16-bit counter mode.
  41784. * 0b100..Single 16-bit counter disable mode.
  41785. * 0b101..Dual 8-bit counters word mode.
  41786. * 0b110..Dual 8-bit counters PWM low mode.
  41787. * 0b111..Single 16-bit input capture mode.
  41788. */
  41789. #define FLEXIO_TIMCTL_TIMOD(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_TIMOD_SHIFT)) & FLEXIO_TIMCTL_TIMOD_MASK)
  41790. #define FLEXIO_TIMCTL_ONETIM_MASK (0x20U)
  41791. #define FLEXIO_TIMCTL_ONETIM_SHIFT (5U)
  41792. /*! ONETIM - Timer One Time Operation
  41793. * 0b0..The timer enable event is generated as normal.
  41794. * 0b1..The timer enable event is blocked unless timer status flag is clear.
  41795. */
  41796. #define FLEXIO_TIMCTL_ONETIM(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_ONETIM_SHIFT)) & FLEXIO_TIMCTL_ONETIM_MASK)
  41797. #define FLEXIO_TIMCTL_PININS_MASK (0x40U)
  41798. #define FLEXIO_TIMCTL_PININS_SHIFT (6U)
  41799. /*! PININS - Timer Pin Input Select
  41800. * 0b0..Timer pin input and output are selected by PINSEL.
  41801. * 0b1..Timer pin input is selected by PINSEL+1, timer pin output remains selected by PINSEL.
  41802. */
  41803. #define FLEXIO_TIMCTL_PININS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_PININS_SHIFT)) & FLEXIO_TIMCTL_PININS_MASK)
  41804. #define FLEXIO_TIMCTL_PINPOL_MASK (0x80U)
  41805. #define FLEXIO_TIMCTL_PINPOL_SHIFT (7U)
  41806. /*! PINPOL - Timer Pin Polarity
  41807. * 0b0..Pin is active high
  41808. * 0b1..Pin is active low
  41809. */
  41810. #define FLEXIO_TIMCTL_PINPOL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_PINPOL_SHIFT)) & FLEXIO_TIMCTL_PINPOL_MASK)
  41811. #define FLEXIO_TIMCTL_PINSEL_MASK (0x1F00U)
  41812. #define FLEXIO_TIMCTL_PINSEL_SHIFT (8U)
  41813. /*! PINSEL - Timer Pin Select
  41814. */
  41815. #define FLEXIO_TIMCTL_PINSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_PINSEL_SHIFT)) & FLEXIO_TIMCTL_PINSEL_MASK)
  41816. #define FLEXIO_TIMCTL_PINCFG_MASK (0x30000U)
  41817. #define FLEXIO_TIMCTL_PINCFG_SHIFT (16U)
  41818. /*! PINCFG - Timer Pin Configuration
  41819. * 0b00..Timer pin output disabled
  41820. * 0b01..Timer pin open drain or bidirectional output enable
  41821. * 0b10..Timer pin bidirectional output data
  41822. * 0b11..Timer pin output
  41823. */
  41824. #define FLEXIO_TIMCTL_PINCFG(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_PINCFG_SHIFT)) & FLEXIO_TIMCTL_PINCFG_MASK)
  41825. #define FLEXIO_TIMCTL_TRGSRC_MASK (0x400000U)
  41826. #define FLEXIO_TIMCTL_TRGSRC_SHIFT (22U)
  41827. /*! TRGSRC - Trigger Source
  41828. * 0b0..External trigger selected
  41829. * 0b1..Internal trigger selected
  41830. */
  41831. #define FLEXIO_TIMCTL_TRGSRC(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_TRGSRC_SHIFT)) & FLEXIO_TIMCTL_TRGSRC_MASK)
  41832. #define FLEXIO_TIMCTL_TRGPOL_MASK (0x800000U)
  41833. #define FLEXIO_TIMCTL_TRGPOL_SHIFT (23U)
  41834. /*! TRGPOL - Trigger Polarity
  41835. * 0b0..Trigger active high
  41836. * 0b1..Trigger active low
  41837. */
  41838. #define FLEXIO_TIMCTL_TRGPOL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_TRGPOL_SHIFT)) & FLEXIO_TIMCTL_TRGPOL_MASK)
  41839. #define FLEXIO_TIMCTL_TRGSEL_MASK (0x3F000000U)
  41840. #define FLEXIO_TIMCTL_TRGSEL_SHIFT (24U)
  41841. /*! TRGSEL - Trigger Select
  41842. */
  41843. #define FLEXIO_TIMCTL_TRGSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_TRGSEL_SHIFT)) & FLEXIO_TIMCTL_TRGSEL_MASK)
  41844. /*! @} */
  41845. /* The count of FLEXIO_TIMCTL */
  41846. #define FLEXIO_TIMCTL_COUNT (8U)
  41847. /*! @name TIMCFG - Timer Configuration N Register */
  41848. /*! @{ */
  41849. #define FLEXIO_TIMCFG_TSTART_MASK (0x2U)
  41850. #define FLEXIO_TIMCFG_TSTART_SHIFT (1U)
  41851. /*! TSTART - Timer Start Bit
  41852. * 0b0..Start bit disabled
  41853. * 0b1..Start bit enabled
  41854. */
  41855. #define FLEXIO_TIMCFG_TSTART(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TSTART_SHIFT)) & FLEXIO_TIMCFG_TSTART_MASK)
  41856. #define FLEXIO_TIMCFG_TSTOP_MASK (0x30U)
  41857. #define FLEXIO_TIMCFG_TSTOP_SHIFT (4U)
  41858. /*! TSTOP - Timer Stop Bit
  41859. * 0b00..Stop bit disabled
  41860. * 0b01..Stop bit is enabled on timer compare
  41861. * 0b10..Stop bit is enabled on timer disable
  41862. * 0b11..Stop bit is enabled on timer compare and timer disable
  41863. */
  41864. #define FLEXIO_TIMCFG_TSTOP(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TSTOP_SHIFT)) & FLEXIO_TIMCFG_TSTOP_MASK)
  41865. #define FLEXIO_TIMCFG_TIMENA_MASK (0x700U)
  41866. #define FLEXIO_TIMCFG_TIMENA_SHIFT (8U)
  41867. /*! TIMENA - Timer Enable
  41868. * 0b000..Timer always enabled
  41869. * 0b001..Timer enabled on Timer N-1 enable
  41870. * 0b010..Timer enabled on Trigger high
  41871. * 0b011..Timer enabled on Trigger high and Pin high
  41872. * 0b100..Timer enabled on Pin rising edge
  41873. * 0b101..Timer enabled on Pin rising edge and Trigger high
  41874. * 0b110..Timer enabled on Trigger rising edge
  41875. * 0b111..Timer enabled on Trigger rising or falling edge
  41876. */
  41877. #define FLEXIO_TIMCFG_TIMENA(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TIMENA_SHIFT)) & FLEXIO_TIMCFG_TIMENA_MASK)
  41878. #define FLEXIO_TIMCFG_TIMDIS_MASK (0x7000U)
  41879. #define FLEXIO_TIMCFG_TIMDIS_SHIFT (12U)
  41880. /*! TIMDIS - Timer Disable
  41881. * 0b000..Timer never disabled
  41882. * 0b001..Timer disabled on Timer N-1 disable
  41883. * 0b010..Timer disabled on Timer compare (upper 8-bits match and decrement)
  41884. * 0b011..Timer disabled on Timer compare (upper 8-bits match and decrement) and Trigger Low
  41885. * 0b100..Timer disabled on Pin rising or falling edge
  41886. * 0b101..Timer disabled on Pin rising or falling edge provided Trigger is high
  41887. * 0b110..Timer disabled on Trigger falling edge
  41888. * 0b111..Reserved
  41889. */
  41890. #define FLEXIO_TIMCFG_TIMDIS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TIMDIS_SHIFT)) & FLEXIO_TIMCFG_TIMDIS_MASK)
  41891. #define FLEXIO_TIMCFG_TIMRST_MASK (0x70000U)
  41892. #define FLEXIO_TIMCFG_TIMRST_SHIFT (16U)
  41893. /*! TIMRST - Timer Reset
  41894. * 0b000..Timer never reset
  41895. * 0b001..Timer reset on Timer Output high.
  41896. * 0b010..Timer reset on Timer Pin equal to Timer Output
  41897. * 0b011..Timer reset on Timer Trigger equal to Timer Output
  41898. * 0b100..Timer reset on Timer Pin rising edge
  41899. * 0b101..Reserved
  41900. * 0b110..Timer reset on Trigger rising edge
  41901. * 0b111..Timer reset on Trigger rising or falling edge
  41902. */
  41903. #define FLEXIO_TIMCFG_TIMRST(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TIMRST_SHIFT)) & FLEXIO_TIMCFG_TIMRST_MASK)
  41904. #define FLEXIO_TIMCFG_TIMDEC_MASK (0x700000U)
  41905. #define FLEXIO_TIMCFG_TIMDEC_SHIFT (20U)
  41906. /*! TIMDEC - Timer Decrement
  41907. * 0b000..Decrement counter on FlexIO clock, Shift clock equals Timer output.
  41908. * 0b001..Decrement counter on Trigger input (both edges), Shift clock equals Timer output.
  41909. * 0b010..Decrement counter on Pin input (both edges), Shift clock equals Pin input.
  41910. * 0b011..Decrement counter on Trigger input (both edges), Shift clock equals Trigger input.
  41911. * 0b100..Decrement counter on FlexIO clock divided by 16, Shift clock equals Timer output.
  41912. * 0b101..Decrement counter on FlexIO clock divided by 256, Shift clock equals Timer output.
  41913. * 0b110..Decrement counter on Pin input (rising edge), Shift clock equals Pin input.
  41914. * 0b111..Decrement counter on Trigger input (rising edge), Shift clock equals Trigger input.
  41915. */
  41916. #define FLEXIO_TIMCFG_TIMDEC(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TIMDEC_SHIFT)) & FLEXIO_TIMCFG_TIMDEC_MASK)
  41917. #define FLEXIO_TIMCFG_TIMOUT_MASK (0x3000000U)
  41918. #define FLEXIO_TIMCFG_TIMOUT_SHIFT (24U)
  41919. /*! TIMOUT - Timer Output
  41920. * 0b00..Timer output is logic one when enabled and is not affected by timer reset
  41921. * 0b01..Timer output is logic zero when enabled and is not affected by timer reset
  41922. * 0b10..Timer output is logic one when enabled and on timer reset
  41923. * 0b11..Timer output is logic zero when enabled and on timer reset
  41924. */
  41925. #define FLEXIO_TIMCFG_TIMOUT(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TIMOUT_SHIFT)) & FLEXIO_TIMCFG_TIMOUT_MASK)
  41926. /*! @} */
  41927. /* The count of FLEXIO_TIMCFG */
  41928. #define FLEXIO_TIMCFG_COUNT (8U)
  41929. /*! @name TIMCMP - Timer Compare N Register */
  41930. /*! @{ */
  41931. #define FLEXIO_TIMCMP_CMP_MASK (0xFFFFU)
  41932. #define FLEXIO_TIMCMP_CMP_SHIFT (0U)
  41933. /*! CMP - Timer Compare Value
  41934. */
  41935. #define FLEXIO_TIMCMP_CMP(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCMP_CMP_SHIFT)) & FLEXIO_TIMCMP_CMP_MASK)
  41936. /*! @} */
  41937. /* The count of FLEXIO_TIMCMP */
  41938. #define FLEXIO_TIMCMP_COUNT (8U)
  41939. /*! @name SHIFTBUFNBS - Shifter Buffer N Nibble Byte Swapped Register */
  41940. /*! @{ */
  41941. #define FLEXIO_SHIFTBUFNBS_SHIFTBUFNBS_MASK (0xFFFFFFFFU)
  41942. #define FLEXIO_SHIFTBUFNBS_SHIFTBUFNBS_SHIFT (0U)
  41943. /*! SHIFTBUFNBS - Shift Buffer
  41944. */
  41945. #define FLEXIO_SHIFTBUFNBS_SHIFTBUFNBS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFNBS_SHIFTBUFNBS_SHIFT)) & FLEXIO_SHIFTBUFNBS_SHIFTBUFNBS_MASK)
  41946. /*! @} */
  41947. /* The count of FLEXIO_SHIFTBUFNBS */
  41948. #define FLEXIO_SHIFTBUFNBS_COUNT (8U)
  41949. /*! @name SHIFTBUFHWS - Shifter Buffer N Half Word Swapped Register */
  41950. /*! @{ */
  41951. #define FLEXIO_SHIFTBUFHWS_SHIFTBUFHWS_MASK (0xFFFFFFFFU)
  41952. #define FLEXIO_SHIFTBUFHWS_SHIFTBUFHWS_SHIFT (0U)
  41953. /*! SHIFTBUFHWS - Shift Buffer
  41954. */
  41955. #define FLEXIO_SHIFTBUFHWS_SHIFTBUFHWS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFHWS_SHIFTBUFHWS_SHIFT)) & FLEXIO_SHIFTBUFHWS_SHIFTBUFHWS_MASK)
  41956. /*! @} */
  41957. /* The count of FLEXIO_SHIFTBUFHWS */
  41958. #define FLEXIO_SHIFTBUFHWS_COUNT (8U)
  41959. /*! @name SHIFTBUFNIS - Shifter Buffer N Nibble Swapped Register */
  41960. /*! @{ */
  41961. #define FLEXIO_SHIFTBUFNIS_SHIFTBUFNIS_MASK (0xFFFFFFFFU)
  41962. #define FLEXIO_SHIFTBUFNIS_SHIFTBUFNIS_SHIFT (0U)
  41963. /*! SHIFTBUFNIS - Shift Buffer
  41964. */
  41965. #define FLEXIO_SHIFTBUFNIS_SHIFTBUFNIS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFNIS_SHIFTBUFNIS_SHIFT)) & FLEXIO_SHIFTBUFNIS_SHIFTBUFNIS_MASK)
  41966. /*! @} */
  41967. /* The count of FLEXIO_SHIFTBUFNIS */
  41968. #define FLEXIO_SHIFTBUFNIS_COUNT (8U)
  41969. /*! @name SHIFTBUFOES - Shifter Buffer N Odd Even Swapped Register */
  41970. /*! @{ */
  41971. #define FLEXIO_SHIFTBUFOES_SHIFTBUFOES_MASK (0xFFFFFFFFU)
  41972. #define FLEXIO_SHIFTBUFOES_SHIFTBUFOES_SHIFT (0U)
  41973. /*! SHIFTBUFOES - Shift Buffer
  41974. */
  41975. #define FLEXIO_SHIFTBUFOES_SHIFTBUFOES(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFOES_SHIFTBUFOES_SHIFT)) & FLEXIO_SHIFTBUFOES_SHIFTBUFOES_MASK)
  41976. /*! @} */
  41977. /* The count of FLEXIO_SHIFTBUFOES */
  41978. #define FLEXIO_SHIFTBUFOES_COUNT (8U)
  41979. /*! @name SHIFTBUFEOS - Shifter Buffer N Even Odd Swapped Register */
  41980. /*! @{ */
  41981. #define FLEXIO_SHIFTBUFEOS_SHIFTBUFEOS_MASK (0xFFFFFFFFU)
  41982. #define FLEXIO_SHIFTBUFEOS_SHIFTBUFEOS_SHIFT (0U)
  41983. /*! SHIFTBUFEOS - Shift Buffer
  41984. */
  41985. #define FLEXIO_SHIFTBUFEOS_SHIFTBUFEOS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFEOS_SHIFTBUFEOS_SHIFT)) & FLEXIO_SHIFTBUFEOS_SHIFTBUFEOS_MASK)
  41986. /*! @} */
  41987. /* The count of FLEXIO_SHIFTBUFEOS */
  41988. #define FLEXIO_SHIFTBUFEOS_COUNT (8U)
  41989. /*!
  41990. * @}
  41991. */ /* end of group FLEXIO_Register_Masks */
  41992. /* FLEXIO - Peripheral instance base addresses */
  41993. /** Peripheral FLEXIO1 base address */
  41994. #define FLEXIO1_BASE (0x400AC000u)
  41995. /** Peripheral FLEXIO1 base pointer */
  41996. #define FLEXIO1 ((FLEXIO_Type *)FLEXIO1_BASE)
  41997. /** Peripheral FLEXIO2 base address */
  41998. #define FLEXIO2_BASE (0x400B0000u)
  41999. /** Peripheral FLEXIO2 base pointer */
  42000. #define FLEXIO2 ((FLEXIO_Type *)FLEXIO2_BASE)
  42001. /** Array initializer of FLEXIO peripheral base addresses */
  42002. #define FLEXIO_BASE_ADDRS { 0u, FLEXIO1_BASE, FLEXIO2_BASE }
  42003. /** Array initializer of FLEXIO peripheral base pointers */
  42004. #define FLEXIO_BASE_PTRS { (FLEXIO_Type *)0u, FLEXIO1, FLEXIO2 }
  42005. /** Interrupt vectors for the FLEXIO peripheral type */
  42006. #define FLEXIO_IRQS { NotAvail_IRQn, FLEXIO1_IRQn, FLEXIO2_IRQn }
  42007. /*!
  42008. * @}
  42009. */ /* end of group FLEXIO_Peripheral_Access_Layer */
  42010. /* ----------------------------------------------------------------------------
  42011. -- FLEXRAM Peripheral Access Layer
  42012. ---------------------------------------------------------------------------- */
  42013. /*!
  42014. * @addtogroup FLEXRAM_Peripheral_Access_Layer FLEXRAM Peripheral Access Layer
  42015. * @{
  42016. */
  42017. /** FLEXRAM - Register Layout Typedef */
  42018. typedef struct {
  42019. __IO uint32_t TCM_CTRL; /**< TCM CRTL Register, offset: 0x0 */
  42020. __IO uint32_t OCRAM_MAGIC_ADDR; /**< OCRAM Magic Address Register, offset: 0x4 */
  42021. __IO uint32_t DTCM_MAGIC_ADDR; /**< DTCM Magic Address Register, offset: 0x8 */
  42022. __IO uint32_t ITCM_MAGIC_ADDR; /**< ITCM Magic Address Register, offset: 0xC */
  42023. __IO uint32_t INT_STATUS; /**< Interrupt Status Register, offset: 0x10 */
  42024. __IO uint32_t INT_STAT_EN; /**< Interrupt Status Enable Register, offset: 0x14 */
  42025. __IO uint32_t INT_SIG_EN; /**< Interrupt Enable Register, offset: 0x18 */
  42026. __I uint32_t OCRAM_ECC_SINGLE_ERROR_INFO; /**< OCRAM single-bit ECC Error Information Register, offset: 0x1C */
  42027. __I uint32_t OCRAM_ECC_SINGLE_ERROR_ADDR; /**< OCRAM single-bit ECC Error Address Register, offset: 0x20 */
  42028. __I uint32_t OCRAM_ECC_SINGLE_ERROR_DATA_LSB; /**< OCRAM single-bit ECC Error Data Register, offset: 0x24 */
  42029. __I uint32_t OCRAM_ECC_SINGLE_ERROR_DATA_MSB; /**< OCRAM single-bit ECC Error Data Register, offset: 0x28 */
  42030. __I uint32_t OCRAM_ECC_MULTI_ERROR_INFO; /**< OCRAM multi-bit ECC Error Information Register, offset: 0x2C */
  42031. __I uint32_t OCRAM_ECC_MULTI_ERROR_ADDR; /**< OCRAM multi-bit ECC Error Address Register, offset: 0x30 */
  42032. __I uint32_t OCRAM_ECC_MULTI_ERROR_DATA_LSB; /**< OCRAM multi-bit ECC Error Data Register, offset: 0x34 */
  42033. __I uint32_t OCRAM_ECC_MULTI_ERROR_DATA_MSB; /**< OCRAM multi-bit ECC Error Data Register, offset: 0x38 */
  42034. __I uint32_t ITCM_ECC_SINGLE_ERROR_INFO; /**< ITCM single-bit ECC Error Information Register, offset: 0x3C */
  42035. __I uint32_t ITCM_ECC_SINGLE_ERROR_ADDR; /**< ITCM single-bit ECC Error Address Register, offset: 0x40 */
  42036. __I uint32_t ITCM_ECC_SINGLE_ERROR_DATA_LSB; /**< ITCM single-bit ECC Error Data Register, offset: 0x44 */
  42037. __I uint32_t ITCM_ECC_SINGLE_ERROR_DATA_MSB; /**< ITCM single-bit ECC Error Data Register, offset: 0x48 */
  42038. __I uint32_t ITCM_ECC_MULTI_ERROR_INFO; /**< ITCM multi-bit ECC Error Information Register, offset: 0x4C */
  42039. __I uint32_t ITCM_ECC_MULTI_ERROR_ADDR; /**< ITCM multi-bit ECC Error Address Register, offset: 0x50 */
  42040. __I uint32_t ITCM_ECC_MULTI_ERROR_DATA_LSB; /**< ITCM multi-bit ECC Error Data Register, offset: 0x54 */
  42041. __I uint32_t ITCM_ECC_MULTI_ERROR_DATA_MSB; /**< ITCM multi-bit ECC Error Data Register, offset: 0x58 */
  42042. __I uint32_t D0TCM_ECC_SINGLE_ERROR_INFO; /**< D0TCM single-bit ECC Error Information Register, offset: 0x5C */
  42043. __I uint32_t D0TCM_ECC_SINGLE_ERROR_ADDR; /**< D0TCM single-bit ECC Error Address Register, offset: 0x60 */
  42044. __I uint32_t D0TCM_ECC_SINGLE_ERROR_DATA; /**< D0TCM single-bit ECC Error Data Register, offset: 0x64 */
  42045. __I uint32_t D0TCM_ECC_MULTI_ERROR_INFO; /**< D0TCM multi-bit ECC Error Information Register, offset: 0x68 */
  42046. __I uint32_t D0TCM_ECC_MULTI_ERROR_ADDR; /**< D0TCM multi-bit ECC Error Address Register, offset: 0x6C */
  42047. __I uint32_t D0TCM_ECC_MULTI_ERROR_DATA; /**< D0TCM multi-bit ECC Error Data Register, offset: 0x70 */
  42048. __I uint32_t D1TCM_ECC_SINGLE_ERROR_INFO; /**< D1TCM single-bit ECC Error Information Register, offset: 0x74 */
  42049. __I uint32_t D1TCM_ECC_SINGLE_ERROR_ADDR; /**< D1TCM single-bit ECC Error Address Register, offset: 0x78 */
  42050. __I uint32_t D1TCM_ECC_SINGLE_ERROR_DATA; /**< D1TCM single-bit ECC Error Data Register, offset: 0x7C */
  42051. __I uint32_t D1TCM_ECC_MULTI_ERROR_INFO; /**< D1TCM multi-bit ECC Error Information Register, offset: 0x80 */
  42052. __I uint32_t D1TCM_ECC_MULTI_ERROR_ADDR; /**< D1TCM multi-bit ECC Error Address Register, offset: 0x84 */
  42053. __I uint32_t D1TCM_ECC_MULTI_ERROR_DATA; /**< D1TCM multi-bit ECC Error Data Register, offset: 0x88 */
  42054. uint8_t RESERVED_0[124];
  42055. __IO uint32_t FLEXRAM_CTRL; /**< FlexRAM feature Control register, offset: 0x108 */
  42056. __I uint32_t OCRAM_PIPELINE_STATUS; /**< OCRAM Pipeline Status register, offset: 0x10C */
  42057. } FLEXRAM_Type;
  42058. /* ----------------------------------------------------------------------------
  42059. -- FLEXRAM Register Masks
  42060. ---------------------------------------------------------------------------- */
  42061. /*!
  42062. * @addtogroup FLEXRAM_Register_Masks FLEXRAM Register Masks
  42063. * @{
  42064. */
  42065. /*! @name TCM_CTRL - TCM CRTL Register */
  42066. /*! @{ */
  42067. #define FLEXRAM_TCM_CTRL_TCM_WWAIT_EN_MASK (0x1U)
  42068. #define FLEXRAM_TCM_CTRL_TCM_WWAIT_EN_SHIFT (0U)
  42069. /*! TCM_WWAIT_EN - TCM Write Wait Mode Enable
  42070. * 0b0..TCM write fast mode: Write RAM accesses are expected to be finished in 1-cycle.
  42071. * 0b1..TCM write wait mode: Write RAM accesses are expected to be finished in 2-cycles.
  42072. */
  42073. #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)
  42074. #define FLEXRAM_TCM_CTRL_TCM_RWAIT_EN_MASK (0x2U)
  42075. #define FLEXRAM_TCM_CTRL_TCM_RWAIT_EN_SHIFT (1U)
  42076. /*! TCM_RWAIT_EN - TCM Read Wait Mode Enable
  42077. * 0b0..TCM read fast mode: Read RAM accesses are expected to be finished in 1-cycle.
  42078. * 0b1..TCM read wait mode: Read RAM accesses are expected to be finished in 2-cycles.
  42079. */
  42080. #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)
  42081. #define FLEXRAM_TCM_CTRL_FORCE_CLK_ON_MASK (0x4U)
  42082. #define FLEXRAM_TCM_CTRL_FORCE_CLK_ON_SHIFT (2U)
  42083. /*! FORCE_CLK_ON - Force RAM Clock Always On
  42084. */
  42085. #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)
  42086. #define FLEXRAM_TCM_CTRL_Reserved_MASK (0xFFFFFFF8U)
  42087. #define FLEXRAM_TCM_CTRL_Reserved_SHIFT (3U)
  42088. /*! Reserved - Reserved
  42089. */
  42090. #define FLEXRAM_TCM_CTRL_Reserved(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_TCM_CTRL_Reserved_SHIFT)) & FLEXRAM_TCM_CTRL_Reserved_MASK)
  42091. /*! @} */
  42092. /*! @name OCRAM_MAGIC_ADDR - OCRAM Magic Address Register */
  42093. /*! @{ */
  42094. #define FLEXRAM_OCRAM_MAGIC_ADDR_OCRAM_WR_RD_SEL_MASK (0x1U)
  42095. #define FLEXRAM_OCRAM_MAGIC_ADDR_OCRAM_WR_RD_SEL_SHIFT (0U)
  42096. /*! OCRAM_WR_RD_SEL - OCRAM Write Read Select
  42097. * 0b0..When OCRAM read access hits magic address, it will generate interrupt.
  42098. * 0b1..When OCRAM write access hits magic address, it will generate interrupt.
  42099. */
  42100. #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)
  42101. #define FLEXRAM_OCRAM_MAGIC_ADDR_OCRAM_MAGIC_ADDR_MASK (0x3FFFEU)
  42102. #define FLEXRAM_OCRAM_MAGIC_ADDR_OCRAM_MAGIC_ADDR_SHIFT (1U)
  42103. /*! OCRAM_MAGIC_ADDR - OCRAM Magic Address
  42104. */
  42105. #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)
  42106. #define FLEXRAM_OCRAM_MAGIC_ADDR_Reserved_MASK (0xFFFC0000U)
  42107. #define FLEXRAM_OCRAM_MAGIC_ADDR_Reserved_SHIFT (18U)
  42108. /*! Reserved - Reserved
  42109. */
  42110. #define FLEXRAM_OCRAM_MAGIC_ADDR_Reserved(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_OCRAM_MAGIC_ADDR_Reserved_SHIFT)) & FLEXRAM_OCRAM_MAGIC_ADDR_Reserved_MASK)
  42111. /*! @} */
  42112. /*! @name DTCM_MAGIC_ADDR - DTCM Magic Address Register */
  42113. /*! @{ */
  42114. #define FLEXRAM_DTCM_MAGIC_ADDR_DTCM_WR_RD_SEL_MASK (0x1U)
  42115. #define FLEXRAM_DTCM_MAGIC_ADDR_DTCM_WR_RD_SEL_SHIFT (0U)
  42116. /*! DTCM_WR_RD_SEL - DTCM Write Read Select
  42117. * 0b0..When DTCM read access hits magic address, it will generate interrupt.
  42118. * 0b1..When DTCM write access hits magic address, it will generate interrupt.
  42119. */
  42120. #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)
  42121. #define FLEXRAM_DTCM_MAGIC_ADDR_DTCM_MAGIC_ADDR_MASK (0x1FFFEU)
  42122. #define FLEXRAM_DTCM_MAGIC_ADDR_DTCM_MAGIC_ADDR_SHIFT (1U)
  42123. /*! DTCM_MAGIC_ADDR - DTCM Magic Address
  42124. */
  42125. #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)
  42126. #define FLEXRAM_DTCM_MAGIC_ADDR_Reserved_MASK (0xFFFE0000U)
  42127. #define FLEXRAM_DTCM_MAGIC_ADDR_Reserved_SHIFT (17U)
  42128. /*! Reserved - Reserved
  42129. */
  42130. #define FLEXRAM_DTCM_MAGIC_ADDR_Reserved(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_DTCM_MAGIC_ADDR_Reserved_SHIFT)) & FLEXRAM_DTCM_MAGIC_ADDR_Reserved_MASK)
  42131. /*! @} */
  42132. /*! @name ITCM_MAGIC_ADDR - ITCM Magic Address Register */
  42133. /*! @{ */
  42134. #define FLEXRAM_ITCM_MAGIC_ADDR_ITCM_WR_RD_SEL_MASK (0x1U)
  42135. #define FLEXRAM_ITCM_MAGIC_ADDR_ITCM_WR_RD_SEL_SHIFT (0U)
  42136. /*! ITCM_WR_RD_SEL - ITCM Write Read Select
  42137. * 0b0..When ITCM read access hits magic address, it will generate interrupt.
  42138. * 0b1..When ITCM write access hits magic address, it will generate interrupt.
  42139. */
  42140. #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)
  42141. #define FLEXRAM_ITCM_MAGIC_ADDR_ITCM_MAGIC_ADDR_MASK (0x1FFFEU)
  42142. #define FLEXRAM_ITCM_MAGIC_ADDR_ITCM_MAGIC_ADDR_SHIFT (1U)
  42143. /*! ITCM_MAGIC_ADDR - ITCM Magic Address
  42144. */
  42145. #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)
  42146. #define FLEXRAM_ITCM_MAGIC_ADDR_Reserved_MASK (0xFFFE0000U)
  42147. #define FLEXRAM_ITCM_MAGIC_ADDR_Reserved_SHIFT (17U)
  42148. /*! Reserved - Reserved
  42149. */
  42150. #define FLEXRAM_ITCM_MAGIC_ADDR_Reserved(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_ITCM_MAGIC_ADDR_Reserved_SHIFT)) & FLEXRAM_ITCM_MAGIC_ADDR_Reserved_MASK)
  42151. /*! @} */
  42152. /*! @name INT_STATUS - Interrupt Status Register */
  42153. /*! @{ */
  42154. #define FLEXRAM_INT_STATUS_ITCM_MAM_STATUS_MASK (0x1U)
  42155. #define FLEXRAM_INT_STATUS_ITCM_MAM_STATUS_SHIFT (0U)
  42156. /*! ITCM_MAM_STATUS - ITCM Magic Address Match Status
  42157. * 0b0..ITCM did not access magic address.
  42158. * 0b1..ITCM accessed magic address.
  42159. */
  42160. #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)
  42161. #define FLEXRAM_INT_STATUS_DTCM_MAM_STATUS_MASK (0x2U)
  42162. #define FLEXRAM_INT_STATUS_DTCM_MAM_STATUS_SHIFT (1U)
  42163. /*! DTCM_MAM_STATUS - DTCM Magic Address Match Status
  42164. * 0b0..DTCM did not access magic address.
  42165. * 0b1..DTCM accessed magic address.
  42166. */
  42167. #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)
  42168. #define FLEXRAM_INT_STATUS_OCRAM_MAM_STATUS_MASK (0x4U)
  42169. #define FLEXRAM_INT_STATUS_OCRAM_MAM_STATUS_SHIFT (2U)
  42170. /*! OCRAM_MAM_STATUS - OCRAM Magic Address Match Status
  42171. * 0b0..OCRAM did not access magic address.
  42172. * 0b1..OCRAM accessed magic address.
  42173. */
  42174. #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)
  42175. #define FLEXRAM_INT_STATUS_ITCM_ERR_STATUS_MASK (0x8U)
  42176. #define FLEXRAM_INT_STATUS_ITCM_ERR_STATUS_SHIFT (3U)
  42177. /*! ITCM_ERR_STATUS - ITCM Access Error Status
  42178. * 0b0..ITCM access error does not happen
  42179. * 0b1..ITCM access error happens.
  42180. */
  42181. #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)
  42182. #define FLEXRAM_INT_STATUS_DTCM_ERR_STATUS_MASK (0x10U)
  42183. #define FLEXRAM_INT_STATUS_DTCM_ERR_STATUS_SHIFT (4U)
  42184. /*! DTCM_ERR_STATUS - DTCM Access Error Status
  42185. * 0b0..DTCM access error does not happen
  42186. * 0b1..DTCM access error happens.
  42187. */
  42188. #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)
  42189. #define FLEXRAM_INT_STATUS_OCRAM_ERR_STATUS_MASK (0x20U)
  42190. #define FLEXRAM_INT_STATUS_OCRAM_ERR_STATUS_SHIFT (5U)
  42191. /*! OCRAM_ERR_STATUS - OCRAM Access Error Status
  42192. * 0b0..OCRAM access error does not happen
  42193. * 0b1..OCRAM access error happens.
  42194. */
  42195. #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)
  42196. #define FLEXRAM_INT_STATUS_OCRAM_ECC_ERRM_INT_MASK (0x40U)
  42197. #define FLEXRAM_INT_STATUS_OCRAM_ECC_ERRM_INT_SHIFT (6U)
  42198. /*! OCRAM_ECC_ERRM_INT - OCRAM access multi-bit ECC Error Interrupt Status
  42199. * 0b0..OCRAM multi-bit ECC error does not happen
  42200. * 0b1..OCRAM multi-bit ECC error happens.
  42201. */
  42202. #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)
  42203. #define FLEXRAM_INT_STATUS_OCRAM_ECC_ERRS_INT_MASK (0x80U)
  42204. #define FLEXRAM_INT_STATUS_OCRAM_ECC_ERRS_INT_SHIFT (7U)
  42205. /*! OCRAM_ECC_ERRS_INT - OCRAM access single-bit ECC Error Interrupt Status
  42206. * 0b0..OCRAM single-bit ECC error does not happen
  42207. * 0b1..OCRAM single-bit ECC error happens.
  42208. */
  42209. #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)
  42210. #define FLEXRAM_INT_STATUS_ITCM_ECC_ERRM_INT_MASK (0x100U)
  42211. #define FLEXRAM_INT_STATUS_ITCM_ECC_ERRM_INT_SHIFT (8U)
  42212. /*! ITCM_ECC_ERRM_INT - ITCM Access multi-bit ECC Error Interrupt Status
  42213. * 0b0..ITCM multi-bit ECC error does not happen
  42214. * 0b1..ITCM multi-bit ECC error happens.
  42215. */
  42216. #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)
  42217. #define FLEXRAM_INT_STATUS_ITCM_ECC_ERRS_INT_MASK (0x200U)
  42218. #define FLEXRAM_INT_STATUS_ITCM_ECC_ERRS_INT_SHIFT (9U)
  42219. /*! ITCM_ECC_ERRS_INT - ITCM access single-bit ECC Error Interrupt Status
  42220. * 0b0..ITCM single-bit ECC error does not happen
  42221. * 0b1..ITCM single-bit ECC error happens.
  42222. */
  42223. #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)
  42224. #define FLEXRAM_INT_STATUS_D0TCM_ECC_ERRM_INT_MASK (0x400U)
  42225. #define FLEXRAM_INT_STATUS_D0TCM_ECC_ERRM_INT_SHIFT (10U)
  42226. /*! D0TCM_ECC_ERRM_INT - D0TCM access multi-bit ECC Error Interrupt Status
  42227. * 0b0..D0TCM multi-bit ECC error does not happen
  42228. * 0b1..D0TCM multi-bit ECC error happens.
  42229. */
  42230. #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)
  42231. #define FLEXRAM_INT_STATUS_D0TCM_ECC_ERRS_INT_MASK (0x800U)
  42232. #define FLEXRAM_INT_STATUS_D0TCM_ECC_ERRS_INT_SHIFT (11U)
  42233. /*! D0TCM_ECC_ERRS_INT - D0TCM access single-bit ECC Error Interrupt Status
  42234. * 0b0..D0TCM single-bit ECC error does not happen
  42235. * 0b1..D0TCM single-bit ECC error happens.
  42236. */
  42237. #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)
  42238. #define FLEXRAM_INT_STATUS_D1TCM_ECC_ERRM_INT_MASK (0x1000U)
  42239. #define FLEXRAM_INT_STATUS_D1TCM_ECC_ERRM_INT_SHIFT (12U)
  42240. /*! D1TCM_ECC_ERRM_INT - D1TCM access multi-bit ECC Error Interrupt Status
  42241. * 0b0..D1TCM multi-bit ECC error does not happen
  42242. * 0b1..D1TCM multi-bit ECC error happens.
  42243. */
  42244. #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)
  42245. #define FLEXRAM_INT_STATUS_D1TCM_ECC_ERRS_INT_MASK (0x2000U)
  42246. #define FLEXRAM_INT_STATUS_D1TCM_ECC_ERRS_INT_SHIFT (13U)
  42247. /*! D1TCM_ECC_ERRS_INT - D1TCM access single-bit ECC Error Interrupt Status
  42248. * 0b0..D1TCM single-bit ECC error does not happen
  42249. * 0b1..D1TCM single-bit ECC error happens.
  42250. */
  42251. #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)
  42252. #define FLEXRAM_INT_STATUS_ITCM_PARTIAL_WR_INT_S_MASK (0x4000U)
  42253. #define FLEXRAM_INT_STATUS_ITCM_PARTIAL_WR_INT_S_SHIFT (14U)
  42254. /*! ITCM_PARTIAL_WR_INT_S - ITCM Partial Write Interrupt Status
  42255. * 0b0..ITCM Partial Write does not happen
  42256. * 0b1..ITCM Partial Write happens.
  42257. */
  42258. #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)
  42259. #define FLEXRAM_INT_STATUS_D0TCM_PARTIAL_WR_INT_S_MASK (0x8000U)
  42260. #define FLEXRAM_INT_STATUS_D0TCM_PARTIAL_WR_INT_S_SHIFT (15U)
  42261. /*! D0TCM_PARTIAL_WR_INT_S - D0TCM Partial Write Interrupt Status
  42262. * 0b0..D0TCM Partial Write does not happen
  42263. * 0b1..D0TCM Partial Write happens.
  42264. */
  42265. #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)
  42266. #define FLEXRAM_INT_STATUS_D1TCM_PARTIAL_WR_INT_S_MASK (0x10000U)
  42267. #define FLEXRAM_INT_STATUS_D1TCM_PARTIAL_WR_INT_S_SHIFT (16U)
  42268. /*! D1TCM_PARTIAL_WR_INT_S - D1TCM Partial Write Interrupt Status
  42269. * 0b0..D1TCM Partial Write does not happen
  42270. * 0b1..D1TCM Partial Write happens.
  42271. */
  42272. #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)
  42273. #define FLEXRAM_INT_STATUS_OCRAM_PARTIAL_WR_INT_S_MASK (0x20000U)
  42274. #define FLEXRAM_INT_STATUS_OCRAM_PARTIAL_WR_INT_S_SHIFT (17U)
  42275. /*! OCRAM_PARTIAL_WR_INT_S - OCRAM Partial Write Interrupt Status
  42276. * 0b0..OCRAM Partial Write does not happen
  42277. * 0b1..OCRAM Partial Write happens.
  42278. */
  42279. #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)
  42280. #define FLEXRAM_INT_STATUS_Reserved_MASK (0xFFFC0000U)
  42281. #define FLEXRAM_INT_STATUS_Reserved_SHIFT (18U)
  42282. /*! Reserved - Reserved
  42283. */
  42284. #define FLEXRAM_INT_STATUS_Reserved(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_STATUS_Reserved_SHIFT)) & FLEXRAM_INT_STATUS_Reserved_MASK)
  42285. /*! @} */
  42286. /*! @name INT_STAT_EN - Interrupt Status Enable Register */
  42287. /*! @{ */
  42288. #define FLEXRAM_INT_STAT_EN_ITCM_MAM_STAT_EN_MASK (0x1U)
  42289. #define FLEXRAM_INT_STAT_EN_ITCM_MAM_STAT_EN_SHIFT (0U)
  42290. /*! ITCM_MAM_STAT_EN - ITCM Magic Address Match Status Enable
  42291. * 0b0..Masked
  42292. * 0b1..Enabled
  42293. */
  42294. #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)
  42295. #define FLEXRAM_INT_STAT_EN_DTCM_MAM_STAT_EN_MASK (0x2U)
  42296. #define FLEXRAM_INT_STAT_EN_DTCM_MAM_STAT_EN_SHIFT (1U)
  42297. /*! DTCM_MAM_STAT_EN - DTCM Magic Address Match Status Enable
  42298. * 0b0..Masked
  42299. * 0b1..Enabled
  42300. */
  42301. #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)
  42302. #define FLEXRAM_INT_STAT_EN_OCRAM_MAM_STAT_EN_MASK (0x4U)
  42303. #define FLEXRAM_INT_STAT_EN_OCRAM_MAM_STAT_EN_SHIFT (2U)
  42304. /*! OCRAM_MAM_STAT_EN - OCRAM Magic Address Match Status Enable
  42305. * 0b0..Masked
  42306. * 0b1..Enabled
  42307. */
  42308. #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)
  42309. #define FLEXRAM_INT_STAT_EN_ITCM_ERR_STAT_EN_MASK (0x8U)
  42310. #define FLEXRAM_INT_STAT_EN_ITCM_ERR_STAT_EN_SHIFT (3U)
  42311. /*! ITCM_ERR_STAT_EN - ITCM Access Error Status Enable
  42312. * 0b0..Masked
  42313. * 0b1..Enabled
  42314. */
  42315. #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)
  42316. #define FLEXRAM_INT_STAT_EN_DTCM_ERR_STAT_EN_MASK (0x10U)
  42317. #define FLEXRAM_INT_STAT_EN_DTCM_ERR_STAT_EN_SHIFT (4U)
  42318. /*! DTCM_ERR_STAT_EN - DTCM Access Error Status Enable
  42319. * 0b0..Masked
  42320. * 0b1..Enabled
  42321. */
  42322. #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)
  42323. #define FLEXRAM_INT_STAT_EN_OCRAM_ERR_STAT_EN_MASK (0x20U)
  42324. #define FLEXRAM_INT_STAT_EN_OCRAM_ERR_STAT_EN_SHIFT (5U)
  42325. /*! OCRAM_ERR_STAT_EN - OCRAM Access Error Status Enable
  42326. * 0b0..Masked
  42327. * 0b1..Enabled
  42328. */
  42329. #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)
  42330. #define FLEXRAM_INT_STAT_EN_OCRAM_ERRM_INT_EN_MASK (0x40U)
  42331. #define FLEXRAM_INT_STAT_EN_OCRAM_ERRM_INT_EN_SHIFT (6U)
  42332. /*! OCRAM_ERRM_INT_EN - OCRAM Access multi-bit ECC Error Interrupt Status Enable
  42333. * 0b0..Masked
  42334. * 0b1..Enabled
  42335. */
  42336. #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)
  42337. #define FLEXRAM_INT_STAT_EN_OCRAM_ERRS_INT_EN_MASK (0x80U)
  42338. #define FLEXRAM_INT_STAT_EN_OCRAM_ERRS_INT_EN_SHIFT (7U)
  42339. /*! OCRAM_ERRS_INT_EN - OCRAM Access single-bit ECC Error Interrupt Status Enable
  42340. * 0b0..Masked
  42341. * 0b1..Enabled
  42342. */
  42343. #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)
  42344. #define FLEXRAM_INT_STAT_EN_ITCM_ERRM_INT_EN_MASK (0x100U)
  42345. #define FLEXRAM_INT_STAT_EN_ITCM_ERRM_INT_EN_SHIFT (8U)
  42346. /*! ITCM_ERRM_INT_EN - ITCM Access multi-bit ECC Error Interrupt Status Enable
  42347. * 0b0..Masked
  42348. * 0b1..Enabled
  42349. */
  42350. #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)
  42351. #define FLEXRAM_INT_STAT_EN_ITCM_ERRS_INT_EN_MASK (0x200U)
  42352. #define FLEXRAM_INT_STAT_EN_ITCM_ERRS_INT_EN_SHIFT (9U)
  42353. /*! ITCM_ERRS_INT_EN - ITCM Access single-bit ECC Error Interrupt Status Enable
  42354. * 0b0..Masked
  42355. * 0b1..Enabled
  42356. */
  42357. #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)
  42358. #define FLEXRAM_INT_STAT_EN_D0TCM_ERRM_INT_EN_MASK (0x400U)
  42359. #define FLEXRAM_INT_STAT_EN_D0TCM_ERRM_INT_EN_SHIFT (10U)
  42360. /*! D0TCM_ERRM_INT_EN - D0TCM Access multi-bit ECC Error Interrupt Status Enable
  42361. * 0b0..Masked
  42362. * 0b1..Enabled
  42363. */
  42364. #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)
  42365. #define FLEXRAM_INT_STAT_EN_D0TCM_ERRS_INT_EN_MASK (0x800U)
  42366. #define FLEXRAM_INT_STAT_EN_D0TCM_ERRS_INT_EN_SHIFT (11U)
  42367. /*! D0TCM_ERRS_INT_EN - D0TCM Access single-bit ECC Error Interrupt Status Enable
  42368. * 0b0..Masked
  42369. * 0b1..Enabled
  42370. */
  42371. #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)
  42372. #define FLEXRAM_INT_STAT_EN_D1TCM_ERRM_INT_EN_MASK (0x1000U)
  42373. #define FLEXRAM_INT_STAT_EN_D1TCM_ERRM_INT_EN_SHIFT (12U)
  42374. /*! D1TCM_ERRM_INT_EN - D1TCM Access multi-bit ECC Error Interrupt Status Enable
  42375. * 0b0..Masked
  42376. * 0b1..Enabled
  42377. */
  42378. #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)
  42379. #define FLEXRAM_INT_STAT_EN_D1TCM_ERRS_INT_EN_MASK (0x2000U)
  42380. #define FLEXRAM_INT_STAT_EN_D1TCM_ERRS_INT_EN_SHIFT (13U)
  42381. /*! D1TCM_ERRS_INT_EN - D1TCM Access single-bit ECC Error Interrupt Status Enable
  42382. * 0b0..Masked
  42383. * 0b1..Enabled
  42384. */
  42385. #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)
  42386. #define FLEXRAM_INT_STAT_EN_ITCM_PARTIAL_WR_INT_S_EN_MASK (0x4000U)
  42387. #define FLEXRAM_INT_STAT_EN_ITCM_PARTIAL_WR_INT_S_EN_SHIFT (14U)
  42388. /*! ITCM_PARTIAL_WR_INT_S_EN - ITCM Partial Write Interrupt Status Enable
  42389. * 0b0..Masked
  42390. * 0b1..Enabled
  42391. */
  42392. #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)
  42393. #define FLEXRAM_INT_STAT_EN_D0TCM_PARTIAL_WR_INT_S_EN_MASK (0x8000U)
  42394. #define FLEXRAM_INT_STAT_EN_D0TCM_PARTIAL_WR_INT_S_EN_SHIFT (15U)
  42395. /*! D0TCM_PARTIAL_WR_INT_S_EN - D0TCM Partial Write Interrupt Status Enable
  42396. * 0b0..Masked
  42397. * 0b1..Enabled
  42398. */
  42399. #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)
  42400. #define FLEXRAM_INT_STAT_EN_D1TCM_PARTIAL_WR_INT_S_EN_MASK (0x10000U)
  42401. #define FLEXRAM_INT_STAT_EN_D1TCM_PARTIAL_WR_INT_S_EN_SHIFT (16U)
  42402. /*! D1TCM_PARTIAL_WR_INT_S_EN - D1TCM Partial Write Interrupt Status EN
  42403. * 0b0..Masked
  42404. * 0b1..Enbaled
  42405. */
  42406. #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)
  42407. #define FLEXRAM_INT_STAT_EN_OCRAM_PARTIAL_WR_INT_S_EN_MASK (0x20000U)
  42408. #define FLEXRAM_INT_STAT_EN_OCRAM_PARTIAL_WR_INT_S_EN_SHIFT (17U)
  42409. /*! OCRAM_PARTIAL_WR_INT_S_EN - OCRAM Partial Write Interrupt Status
  42410. * 0b0..Masked
  42411. * 0b1..Enabled
  42412. */
  42413. #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)
  42414. #define FLEXRAM_INT_STAT_EN_Reserved_MASK (0xFFFC0000U)
  42415. #define FLEXRAM_INT_STAT_EN_Reserved_SHIFT (18U)
  42416. /*! Reserved - Reserved
  42417. */
  42418. #define FLEXRAM_INT_STAT_EN_Reserved(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_STAT_EN_Reserved_SHIFT)) & FLEXRAM_INT_STAT_EN_Reserved_MASK)
  42419. /*! @} */
  42420. /*! @name INT_SIG_EN - Interrupt Enable Register */
  42421. /*! @{ */
  42422. #define FLEXRAM_INT_SIG_EN_ITCM_MAM_SIG_EN_MASK (0x1U)
  42423. #define FLEXRAM_INT_SIG_EN_ITCM_MAM_SIG_EN_SHIFT (0U)
  42424. /*! ITCM_MAM_SIG_EN - ITCM Magic Address Match Interrupt Enable
  42425. * 0b0..Masked
  42426. * 0b1..Enabled
  42427. */
  42428. #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)
  42429. #define FLEXRAM_INT_SIG_EN_DTCM_MAM_SIG_EN_MASK (0x2U)
  42430. #define FLEXRAM_INT_SIG_EN_DTCM_MAM_SIG_EN_SHIFT (1U)
  42431. /*! DTCM_MAM_SIG_EN - DTCM Magic Address Match Interrupt Enable
  42432. * 0b0..Masked
  42433. * 0b1..Enabled
  42434. */
  42435. #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)
  42436. #define FLEXRAM_INT_SIG_EN_OCRAM_MAM_SIG_EN_MASK (0x4U)
  42437. #define FLEXRAM_INT_SIG_EN_OCRAM_MAM_SIG_EN_SHIFT (2U)
  42438. /*! OCRAM_MAM_SIG_EN - OCRAM Magic Address Match Interrupt Enable
  42439. * 0b0..Masked
  42440. * 0b1..Enabled
  42441. */
  42442. #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)
  42443. #define FLEXRAM_INT_SIG_EN_ITCM_ERR_SIG_EN_MASK (0x8U)
  42444. #define FLEXRAM_INT_SIG_EN_ITCM_ERR_SIG_EN_SHIFT (3U)
  42445. /*! ITCM_ERR_SIG_EN - ITCM Access Error Interrupt Enable
  42446. * 0b0..Masked
  42447. * 0b1..Enabled
  42448. */
  42449. #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)
  42450. #define FLEXRAM_INT_SIG_EN_DTCM_ERR_SIG_EN_MASK (0x10U)
  42451. #define FLEXRAM_INT_SIG_EN_DTCM_ERR_SIG_EN_SHIFT (4U)
  42452. /*! DTCM_ERR_SIG_EN - DTCM Access Error Interrupt Enable
  42453. * 0b0..Masked
  42454. * 0b1..Enabled
  42455. */
  42456. #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)
  42457. #define FLEXRAM_INT_SIG_EN_OCRAM_ERR_SIG_EN_MASK (0x20U)
  42458. #define FLEXRAM_INT_SIG_EN_OCRAM_ERR_SIG_EN_SHIFT (5U)
  42459. /*! OCRAM_ERR_SIG_EN - OCRAM Access Error Interrupt Enable
  42460. * 0b0..Masked
  42461. * 0b1..Enabled
  42462. */
  42463. #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)
  42464. #define FLEXRAM_INT_SIG_EN_OCRAM_ERRM_INT_SIG_EN_MASK (0x40U)
  42465. #define FLEXRAM_INT_SIG_EN_OCRAM_ERRM_INT_SIG_EN_SHIFT (6U)
  42466. /*! OCRAM_ERRM_INT_SIG_EN - OCRAM Access multi-bit ECC Error Interrupt Signal Enable
  42467. * 0b0..Masked
  42468. * 0b1..Enabled
  42469. */
  42470. #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)
  42471. #define FLEXRAM_INT_SIG_EN_OCRAM_ERRS_INT_SIG_EN_MASK (0x80U)
  42472. #define FLEXRAM_INT_SIG_EN_OCRAM_ERRS_INT_SIG_EN_SHIFT (7U)
  42473. /*! OCRAM_ERRS_INT_SIG_EN - OCRAM Access single-bit ECC Error Interrupt Signal Enable
  42474. * 0b0..Masked
  42475. * 0b1..Enabled
  42476. */
  42477. #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)
  42478. #define FLEXRAM_INT_SIG_EN_ITCM_ERRM_INT_SIG_EN_MASK (0x100U)
  42479. #define FLEXRAM_INT_SIG_EN_ITCM_ERRM_INT_SIG_EN_SHIFT (8U)
  42480. /*! ITCM_ERRM_INT_SIG_EN - ITCM Access multi-bit ECC Error Interrupt Signal Enable
  42481. * 0b0..Masked
  42482. * 0b1..Enabled
  42483. */
  42484. #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)
  42485. #define FLEXRAM_INT_SIG_EN_ITCM_ERRS_INT_SIG_EN_MASK (0x200U)
  42486. #define FLEXRAM_INT_SIG_EN_ITCM_ERRS_INT_SIG_EN_SHIFT (9U)
  42487. /*! ITCM_ERRS_INT_SIG_EN - ITCM Access single-bit ECC Error Interrupt Signal Enable
  42488. * 0b0..Masked
  42489. * 0b1..Enabled
  42490. */
  42491. #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)
  42492. #define FLEXRAM_INT_SIG_EN_D0TCM_ERRM_INT_SIG_EN_MASK (0x400U)
  42493. #define FLEXRAM_INT_SIG_EN_D0TCM_ERRM_INT_SIG_EN_SHIFT (10U)
  42494. /*! D0TCM_ERRM_INT_SIG_EN - D0TCM Access multi-bit ECC Error Interrupt Signal Enable
  42495. * 0b0..Masked
  42496. * 0b1..Enabled
  42497. */
  42498. #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)
  42499. #define FLEXRAM_INT_SIG_EN_D0TCM_ERRS_INT_SIG_EN_MASK (0x800U)
  42500. #define FLEXRAM_INT_SIG_EN_D0TCM_ERRS_INT_SIG_EN_SHIFT (11U)
  42501. /*! D0TCM_ERRS_INT_SIG_EN - D0TCM Access single-bit ECC Error Interrupt Signal Enable
  42502. * 0b0..Masked
  42503. * 0b1..Enabled
  42504. */
  42505. #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)
  42506. #define FLEXRAM_INT_SIG_EN_D1TCM_ERRM_INT_SIG_EN_MASK (0x1000U)
  42507. #define FLEXRAM_INT_SIG_EN_D1TCM_ERRM_INT_SIG_EN_SHIFT (12U)
  42508. /*! D1TCM_ERRM_INT_SIG_EN - D1TCM Access multi-bit ECC Error Interrupt Signal Enable
  42509. * 0b0..Masked
  42510. * 0b1..Enabled
  42511. */
  42512. #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)
  42513. #define FLEXRAM_INT_SIG_EN_D1TCM_ERRS_INT_SIG_EN_MASK (0x2000U)
  42514. #define FLEXRAM_INT_SIG_EN_D1TCM_ERRS_INT_SIG_EN_SHIFT (13U)
  42515. /*! D1TCM_ERRS_INT_SIG_EN - D1TCM Access single-bit ECC Error Interrupt Signal Enable
  42516. * 0b0..Masked
  42517. * 0b1..Enabled
  42518. */
  42519. #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)
  42520. #define FLEXRAM_INT_SIG_EN_ITCM_PARTIAL_WR_INT_SIG_EN_MASK (0x4000U)
  42521. #define FLEXRAM_INT_SIG_EN_ITCM_PARTIAL_WR_INT_SIG_EN_SHIFT (14U)
  42522. /*! ITCM_PARTIAL_WR_INT_SIG_EN - ITCM Partial Write Interrupt Signal Enable Enable
  42523. * 0b0..Masked
  42524. * 0b1..Enabled
  42525. */
  42526. #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)
  42527. #define FLEXRAM_INT_SIG_EN_D0TCM_PARTIAL_WR_INT_SIG_EN_MASK (0x8000U)
  42528. #define FLEXRAM_INT_SIG_EN_D0TCM_PARTIAL_WR_INT_SIG_EN_SHIFT (15U)
  42529. /*! D0TCM_PARTIAL_WR_INT_SIG_EN - D0TCM Partial Write Interrupt Signal Enable Enable
  42530. * 0b0..Masked
  42531. * 0b1..Enabled
  42532. */
  42533. #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)
  42534. #define FLEXRAM_INT_SIG_EN_D1TCM_PARTIAL_WR_INT_SIG_EN_MASK (0x10000U)
  42535. #define FLEXRAM_INT_SIG_EN_D1TCM_PARTIAL_WR_INT_SIG_EN_SHIFT (16U)
  42536. /*! D1TCM_PARTIAL_WR_INT_SIG_EN - D1TCM Partial Write Interrupt Signal Enable EN
  42537. * 0b0..Masked
  42538. * 0b1..Enbaled
  42539. */
  42540. #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)
  42541. #define FLEXRAM_INT_SIG_EN_OCRAM_PARTIAL_WR_INT_SIG_EN_MASK (0x20000U)
  42542. #define FLEXRAM_INT_SIG_EN_OCRAM_PARTIAL_WR_INT_SIG_EN_SHIFT (17U)
  42543. /*! OCRAM_PARTIAL_WR_INT_SIG_EN - OCRAM Partial Write Interrupt Signal Enable
  42544. * 0b0..Masked
  42545. * 0b1..Enabled
  42546. */
  42547. #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)
  42548. #define FLEXRAM_INT_SIG_EN_Reserved_MASK (0xFFFC0000U)
  42549. #define FLEXRAM_INT_SIG_EN_Reserved_SHIFT (18U)
  42550. /*! Reserved - Reserved
  42551. */
  42552. #define FLEXRAM_INT_SIG_EN_Reserved(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_SIG_EN_Reserved_SHIFT)) & FLEXRAM_INT_SIG_EN_Reserved_MASK)
  42553. /*! @} */
  42554. /*! @name OCRAM_ECC_SINGLE_ERROR_INFO - OCRAM single-bit ECC Error Information Register */
  42555. /*! @{ */
  42556. #define FLEXRAM_OCRAM_ECC_SINGLE_ERROR_INFO_OCRAM_ECCS_ERRED_ECC_MASK (0xFFU)
  42557. #define FLEXRAM_OCRAM_ECC_SINGLE_ERROR_INFO_OCRAM_ECCS_ERRED_ECC_SHIFT (0U)
  42558. /*! OCRAM_ECCS_ERRED_ECC - corresponding ECC cipher of OCRAM single-bit ECC error
  42559. */
  42560. #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)
  42561. #define FLEXRAM_OCRAM_ECC_SINGLE_ERROR_INFO_OCRAM_ECCS_ERRED_SYN_MASK (0xFF00U)
  42562. #define FLEXRAM_OCRAM_ECC_SINGLE_ERROR_INFO_OCRAM_ECCS_ERRED_SYN_SHIFT (8U)
  42563. /*! OCRAM_ECCS_ERRED_SYN - corresponding ECC syndrome of OCRAM single-bit ECC error
  42564. */
  42565. #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)
  42566. #define FLEXRAM_OCRAM_ECC_SINGLE_ERROR_INFO_Reserved_MASK (0xFFFF0000U)
  42567. #define FLEXRAM_OCRAM_ECC_SINGLE_ERROR_INFO_Reserved_SHIFT (16U)
  42568. /*! Reserved - Reserved
  42569. */
  42570. #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)
  42571. /*! @} */
  42572. /*! @name OCRAM_ECC_SINGLE_ERROR_ADDR - OCRAM single-bit ECC Error Address Register */
  42573. /*! @{ */
  42574. #define FLEXRAM_OCRAM_ECC_SINGLE_ERROR_ADDR_OCRAM_ECCS_ERRED_ADDR_MASK (0xFFFFFFFFU)
  42575. #define FLEXRAM_OCRAM_ECC_SINGLE_ERROR_ADDR_OCRAM_ECCS_ERRED_ADDR_SHIFT (0U)
  42576. /*! OCRAM_ECCS_ERRED_ADDR - OCRAM single-bit ECC error address
  42577. */
  42578. #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)
  42579. /*! @} */
  42580. /*! @name OCRAM_ECC_SINGLE_ERROR_DATA_LSB - OCRAM single-bit ECC Error Data Register */
  42581. /*! @{ */
  42582. #define FLEXRAM_OCRAM_ECC_SINGLE_ERROR_DATA_LSB_OCRAM_ECCS_ERRED_DATA_LSB_MASK (0xFFFFFFFFU)
  42583. #define FLEXRAM_OCRAM_ECC_SINGLE_ERROR_DATA_LSB_OCRAM_ECCS_ERRED_DATA_LSB_SHIFT (0U)
  42584. /*! OCRAM_ECCS_ERRED_DATA_LSB - OCRAM single-bit ECC error data [31:0]
  42585. */
  42586. #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)
  42587. /*! @} */
  42588. /*! @name OCRAM_ECC_SINGLE_ERROR_DATA_MSB - OCRAM single-bit ECC Error Data Register */
  42589. /*! @{ */
  42590. #define FLEXRAM_OCRAM_ECC_SINGLE_ERROR_DATA_MSB_OCRAM_ECCS_ERRED_DATA_MSB_MASK (0xFFFFFFFFU)
  42591. #define FLEXRAM_OCRAM_ECC_SINGLE_ERROR_DATA_MSB_OCRAM_ECCS_ERRED_DATA_MSB_SHIFT (0U)
  42592. /*! OCRAM_ECCS_ERRED_DATA_MSB - OCRAM single-bit ECC error data [63:32]
  42593. */
  42594. #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)
  42595. /*! @} */
  42596. /*! @name OCRAM_ECC_MULTI_ERROR_INFO - OCRAM multi-bit ECC Error Information Register */
  42597. /*! @{ */
  42598. #define FLEXRAM_OCRAM_ECC_MULTI_ERROR_INFO_OCRAM_ECCM_ERRED_ECC_MASK (0xFFU)
  42599. #define FLEXRAM_OCRAM_ECC_MULTI_ERROR_INFO_OCRAM_ECCM_ERRED_ECC_SHIFT (0U)
  42600. /*! OCRAM_ECCM_ERRED_ECC - OCRAM multi-bit ECC error corresponding ECC value
  42601. */
  42602. #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)
  42603. #define FLEXRAM_OCRAM_ECC_MULTI_ERROR_INFO_Reserved_MASK (0xFFFFFF00U)
  42604. #define FLEXRAM_OCRAM_ECC_MULTI_ERROR_INFO_Reserved_SHIFT (8U)
  42605. /*! Reserved - Reserved
  42606. */
  42607. #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)
  42608. /*! @} */
  42609. /*! @name OCRAM_ECC_MULTI_ERROR_ADDR - OCRAM multi-bit ECC Error Address Register */
  42610. /*! @{ */
  42611. #define FLEXRAM_OCRAM_ECC_MULTI_ERROR_ADDR_OCRAM_ECCM_ERRED_ADDR_MASK (0xFFFFFFFFU)
  42612. #define FLEXRAM_OCRAM_ECC_MULTI_ERROR_ADDR_OCRAM_ECCM_ERRED_ADDR_SHIFT (0U)
  42613. /*! OCRAM_ECCM_ERRED_ADDR - OCRAM multi-bit ECC error address
  42614. */
  42615. #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)
  42616. /*! @} */
  42617. /*! @name OCRAM_ECC_MULTI_ERROR_DATA_LSB - OCRAM multi-bit ECC Error Data Register */
  42618. /*! @{ */
  42619. #define FLEXRAM_OCRAM_ECC_MULTI_ERROR_DATA_LSB_OCRAM_ECCM_ERRED_DATA_LSB_MASK (0xFFFFFFFFU)
  42620. #define FLEXRAM_OCRAM_ECC_MULTI_ERROR_DATA_LSB_OCRAM_ECCM_ERRED_DATA_LSB_SHIFT (0U)
  42621. /*! OCRAM_ECCM_ERRED_DATA_LSB - OCRAM multi-bit ECC error data [31:0]
  42622. */
  42623. #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)
  42624. /*! @} */
  42625. /*! @name OCRAM_ECC_MULTI_ERROR_DATA_MSB - OCRAM multi-bit ECC Error Data Register */
  42626. /*! @{ */
  42627. #define FLEXRAM_OCRAM_ECC_MULTI_ERROR_DATA_MSB_OCRAM_ECCM_ERRED_DATA_MSB_MASK (0xFFFFFFFFU)
  42628. #define FLEXRAM_OCRAM_ECC_MULTI_ERROR_DATA_MSB_OCRAM_ECCM_ERRED_DATA_MSB_SHIFT (0U)
  42629. /*! OCRAM_ECCM_ERRED_DATA_MSB - OCRAM multi-bit ECC error data [63:32]
  42630. */
  42631. #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)
  42632. /*! @} */
  42633. /*! @name ITCM_ECC_SINGLE_ERROR_INFO - ITCM single-bit ECC Error Information Register */
  42634. /*! @{ */
  42635. #define FLEXRAM_ITCM_ECC_SINGLE_ERROR_INFO_ITCM_ECCS_EFW_MASK (0x1U)
  42636. #define FLEXRAM_ITCM_ECC_SINGLE_ERROR_INFO_ITCM_ECCS_EFW_SHIFT (0U)
  42637. /*! ITCM_ECCS_EFW - ITCM single-bit ECC error corresponding TCM_WR value.
  42638. */
  42639. #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)
  42640. #define FLEXRAM_ITCM_ECC_SINGLE_ERROR_INFO_ITCM_ECCS_EFSIZ_MASK (0xEU)
  42641. #define FLEXRAM_ITCM_ECC_SINGLE_ERROR_INFO_ITCM_ECCS_EFSIZ_SHIFT (1U)
  42642. /*! ITCM_ECCS_EFSIZ - ITCM single-bit ECC error corresponding TCM size
  42643. */
  42644. #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)
  42645. #define FLEXRAM_ITCM_ECC_SINGLE_ERROR_INFO_ITCM_ECCS_EFMST_MASK (0xF0U)
  42646. #define FLEXRAM_ITCM_ECC_SINGLE_ERROR_INFO_ITCM_ECCS_EFMST_SHIFT (4U)
  42647. /*! ITCM_ECCS_EFMST - ITCM single-bit ECC error corresponding TCM_MASTER.
  42648. */
  42649. #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)
  42650. #define FLEXRAM_ITCM_ECC_SINGLE_ERROR_INFO_ITCM_ECCS_EFPRT_MASK (0xF00U)
  42651. #define FLEXRAM_ITCM_ECC_SINGLE_ERROR_INFO_ITCM_ECCS_EFPRT_SHIFT (8U)
  42652. /*! ITCM_ECCS_EFPRT - ITCM single-bit ECC error corresponding TCM_PRIV.
  42653. */
  42654. #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)
  42655. #define FLEXRAM_ITCM_ECC_SINGLE_ERROR_INFO_ITCM_ECCS_EFSYN_MASK (0xFF000U)
  42656. #define FLEXRAM_ITCM_ECC_SINGLE_ERROR_INFO_ITCM_ECCS_EFSYN_SHIFT (12U)
  42657. /*! ITCM_ECCS_EFSYN - ITCM single-bit ECC error corresponding syndrome
  42658. */
  42659. #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)
  42660. #define FLEXRAM_ITCM_ECC_SINGLE_ERROR_INFO_Reserved_MASK (0xFFF00000U)
  42661. #define FLEXRAM_ITCM_ECC_SINGLE_ERROR_INFO_Reserved_SHIFT (20U)
  42662. /*! Reserved - Reserved
  42663. */
  42664. #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)
  42665. /*! @} */
  42666. /*! @name ITCM_ECC_SINGLE_ERROR_ADDR - ITCM single-bit ECC Error Address Register */
  42667. /*! @{ */
  42668. #define FLEXRAM_ITCM_ECC_SINGLE_ERROR_ADDR_ITCM_ECCS_ERRED_ADDR_MASK (0xFFFFFFFFU)
  42669. #define FLEXRAM_ITCM_ECC_SINGLE_ERROR_ADDR_ITCM_ECCS_ERRED_ADDR_SHIFT (0U)
  42670. /*! ITCM_ECCS_ERRED_ADDR - ITCM single-bit ECC error address
  42671. */
  42672. #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)
  42673. /*! @} */
  42674. /*! @name ITCM_ECC_SINGLE_ERROR_DATA_LSB - ITCM single-bit ECC Error Data Register */
  42675. /*! @{ */
  42676. #define FLEXRAM_ITCM_ECC_SINGLE_ERROR_DATA_LSB_ITCM_ECCS_ERRED_DATA_LSB_MASK (0xFFFFFFFFU)
  42677. #define FLEXRAM_ITCM_ECC_SINGLE_ERROR_DATA_LSB_ITCM_ECCS_ERRED_DATA_LSB_SHIFT (0U)
  42678. /*! ITCM_ECCS_ERRED_DATA_LSB - ITCM single-bit ECC error data [31:0]
  42679. */
  42680. #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)
  42681. /*! @} */
  42682. /*! @name ITCM_ECC_SINGLE_ERROR_DATA_MSB - ITCM single-bit ECC Error Data Register */
  42683. /*! @{ */
  42684. #define FLEXRAM_ITCM_ECC_SINGLE_ERROR_DATA_MSB_ITCM_ECCS_ERRED_DATA_MSB_MASK (0xFFFFFFFFU)
  42685. #define FLEXRAM_ITCM_ECC_SINGLE_ERROR_DATA_MSB_ITCM_ECCS_ERRED_DATA_MSB_SHIFT (0U)
  42686. /*! ITCM_ECCS_ERRED_DATA_MSB - ITCM single-bit ECC error data [63:32]
  42687. */
  42688. #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)
  42689. /*! @} */
  42690. /*! @name ITCM_ECC_MULTI_ERROR_INFO - ITCM multi-bit ECC Error Information Register */
  42691. /*! @{ */
  42692. #define FLEXRAM_ITCM_ECC_MULTI_ERROR_INFO_ITCM_ECCM_EFW_MASK (0x1U)
  42693. #define FLEXRAM_ITCM_ECC_MULTI_ERROR_INFO_ITCM_ECCM_EFW_SHIFT (0U)
  42694. /*! ITCM_ECCM_EFW - ITCM multi-bit ECC error corresponding TCM_WR value
  42695. */
  42696. #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)
  42697. #define FLEXRAM_ITCM_ECC_MULTI_ERROR_INFO_ITCM_ECCM_EFSIZ_MASK (0xEU)
  42698. #define FLEXRAM_ITCM_ECC_MULTI_ERROR_INFO_ITCM_ECCM_EFSIZ_SHIFT (1U)
  42699. /*! ITCM_ECCM_EFSIZ - ITCM multi-bit ECC error corresponding tcm access size
  42700. */
  42701. #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)
  42702. #define FLEXRAM_ITCM_ECC_MULTI_ERROR_INFO_ITCM_ECCM_EFMST_MASK (0xF0U)
  42703. #define FLEXRAM_ITCM_ECC_MULTI_ERROR_INFO_ITCM_ECCM_EFMST_SHIFT (4U)
  42704. /*! ITCM_ECCM_EFMST - ITCM multi-bit ECC error corresponding TCM_MASTER
  42705. */
  42706. #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)
  42707. #define FLEXRAM_ITCM_ECC_MULTI_ERROR_INFO_ITCM_ECCM_EFPRT_MASK (0xF00U)
  42708. #define FLEXRAM_ITCM_ECC_MULTI_ERROR_INFO_ITCM_ECCM_EFPRT_SHIFT (8U)
  42709. /*! ITCM_ECCM_EFPRT - ITCM multi-bit ECC error corresponding TCM_PRIV
  42710. */
  42711. #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)
  42712. #define FLEXRAM_ITCM_ECC_MULTI_ERROR_INFO_ITCM_ECCM_EFSYN_MASK (0xFF000U)
  42713. #define FLEXRAM_ITCM_ECC_MULTI_ERROR_INFO_ITCM_ECCM_EFSYN_SHIFT (12U)
  42714. /*! ITCM_ECCM_EFSYN - ITCM multi-bit ECC error corresponding syndrome
  42715. */
  42716. #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)
  42717. #define FLEXRAM_ITCM_ECC_MULTI_ERROR_INFO_Reserved_MASK (0xFFF00000U)
  42718. #define FLEXRAM_ITCM_ECC_MULTI_ERROR_INFO_Reserved_SHIFT (20U)
  42719. /*! Reserved - Reserved
  42720. */
  42721. #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)
  42722. /*! @} */
  42723. /*! @name ITCM_ECC_MULTI_ERROR_ADDR - ITCM multi-bit ECC Error Address Register */
  42724. /*! @{ */
  42725. #define FLEXRAM_ITCM_ECC_MULTI_ERROR_ADDR_ITCM_ECCM_ERRED_ADDR_MASK (0xFFFFFFFFU)
  42726. #define FLEXRAM_ITCM_ECC_MULTI_ERROR_ADDR_ITCM_ECCM_ERRED_ADDR_SHIFT (0U)
  42727. /*! ITCM_ECCM_ERRED_ADDR - ITCM multi-bit ECC error address
  42728. */
  42729. #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)
  42730. /*! @} */
  42731. /*! @name ITCM_ECC_MULTI_ERROR_DATA_LSB - ITCM multi-bit ECC Error Data Register */
  42732. /*! @{ */
  42733. #define FLEXRAM_ITCM_ECC_MULTI_ERROR_DATA_LSB_ITCM_ECCM_ERRED_DATA_LSB_MASK (0xFFFFFFFFU)
  42734. #define FLEXRAM_ITCM_ECC_MULTI_ERROR_DATA_LSB_ITCM_ECCM_ERRED_DATA_LSB_SHIFT (0U)
  42735. /*! ITCM_ECCM_ERRED_DATA_LSB - ITCM multi-bit ECC error data [31:0]
  42736. */
  42737. #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)
  42738. /*! @} */
  42739. /*! @name ITCM_ECC_MULTI_ERROR_DATA_MSB - ITCM multi-bit ECC Error Data Register */
  42740. /*! @{ */
  42741. #define FLEXRAM_ITCM_ECC_MULTI_ERROR_DATA_MSB_ITCM_ECCM_ERRED_DATA_MSB_MASK (0xFFFFFFFFU)
  42742. #define FLEXRAM_ITCM_ECC_MULTI_ERROR_DATA_MSB_ITCM_ECCM_ERRED_DATA_MSB_SHIFT (0U)
  42743. /*! ITCM_ECCM_ERRED_DATA_MSB - ITCM multi-bit ECC error data [63:32]
  42744. */
  42745. #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)
  42746. /*! @} */
  42747. /*! @name D0TCM_ECC_SINGLE_ERROR_INFO - D0TCM single-bit ECC Error Information Register */
  42748. /*! @{ */
  42749. #define FLEXRAM_D0TCM_ECC_SINGLE_ERROR_INFO_D0TCM_ECCS_EFW_MASK (0x1U)
  42750. #define FLEXRAM_D0TCM_ECC_SINGLE_ERROR_INFO_D0TCM_ECCS_EFW_SHIFT (0U)
  42751. /*! D0TCM_ECCS_EFW - D0TCM single-bit ECC error corresponding TCM_WR value
  42752. */
  42753. #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)
  42754. #define FLEXRAM_D0TCM_ECC_SINGLE_ERROR_INFO_D0TCM_ECCS_EFSIZ_MASK (0xEU)
  42755. #define FLEXRAM_D0TCM_ECC_SINGLE_ERROR_INFO_D0TCM_ECCS_EFSIZ_SHIFT (1U)
  42756. /*! D0TCM_ECCS_EFSIZ - D0TCM single-bit ECC error corresponding tcm access size
  42757. */
  42758. #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)
  42759. #define FLEXRAM_D0TCM_ECC_SINGLE_ERROR_INFO_D0TCM_ECCS_EFMST_MASK (0xF0U)
  42760. #define FLEXRAM_D0TCM_ECC_SINGLE_ERROR_INFO_D0TCM_ECCS_EFMST_SHIFT (4U)
  42761. /*! D0TCM_ECCS_EFMST - D0TCM single-bit ECC error corresponding TCM_MASTER
  42762. */
  42763. #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)
  42764. #define FLEXRAM_D0TCM_ECC_SINGLE_ERROR_INFO_D0TCM_ECCS_EFPRT_MASK (0xF00U)
  42765. #define FLEXRAM_D0TCM_ECC_SINGLE_ERROR_INFO_D0TCM_ECCS_EFPRT_SHIFT (8U)
  42766. /*! D0TCM_ECCS_EFPRT - D0TCM single-bit ECC error corresponding TCM_PRIV
  42767. */
  42768. #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)
  42769. #define FLEXRAM_D0TCM_ECC_SINGLE_ERROR_INFO_D0TCM_ECCS_EFSYN_MASK (0x7F000U)
  42770. #define FLEXRAM_D0TCM_ECC_SINGLE_ERROR_INFO_D0TCM_ECCS_EFSYN_SHIFT (12U)
  42771. /*! D0TCM_ECCS_EFSYN - D0TCM single-bit ECC error corresponding syndrome
  42772. */
  42773. #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)
  42774. #define FLEXRAM_D0TCM_ECC_SINGLE_ERROR_INFO_Reserved_MASK (0xFFF80000U)
  42775. #define FLEXRAM_D0TCM_ECC_SINGLE_ERROR_INFO_Reserved_SHIFT (19U)
  42776. /*! Reserved - Reserved
  42777. */
  42778. #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)
  42779. /*! @} */
  42780. /*! @name D0TCM_ECC_SINGLE_ERROR_ADDR - D0TCM single-bit ECC Error Address Register */
  42781. /*! @{ */
  42782. #define FLEXRAM_D0TCM_ECC_SINGLE_ERROR_ADDR_D0TCM_ECCS_ERRED_ADDR_MASK (0xFFFFFFFFU)
  42783. #define FLEXRAM_D0TCM_ECC_SINGLE_ERROR_ADDR_D0TCM_ECCS_ERRED_ADDR_SHIFT (0U)
  42784. /*! D0TCM_ECCS_ERRED_ADDR - D0TCM single-bit ECC error address
  42785. */
  42786. #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)
  42787. /*! @} */
  42788. /*! @name D0TCM_ECC_SINGLE_ERROR_DATA - D0TCM single-bit ECC Error Data Register */
  42789. /*! @{ */
  42790. #define FLEXRAM_D0TCM_ECC_SINGLE_ERROR_DATA_D0TCM_ECCS_ERRED_DATA_MASK (0xFFFFFFFFU)
  42791. #define FLEXRAM_D0TCM_ECC_SINGLE_ERROR_DATA_D0TCM_ECCS_ERRED_DATA_SHIFT (0U)
  42792. /*! D0TCM_ECCS_ERRED_DATA - D0TCM single-bit ECC error data
  42793. */
  42794. #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)
  42795. /*! @} */
  42796. /*! @name D0TCM_ECC_MULTI_ERROR_INFO - D0TCM multi-bit ECC Error Information Register */
  42797. /*! @{ */
  42798. #define FLEXRAM_D0TCM_ECC_MULTI_ERROR_INFO_D0TCM_ECCM_EFW_MASK (0x1U)
  42799. #define FLEXRAM_D0TCM_ECC_MULTI_ERROR_INFO_D0TCM_ECCM_EFW_SHIFT (0U)
  42800. /*! D0TCM_ECCM_EFW - D0TCM multi-bit ECC error corresponding TCM_WR value
  42801. */
  42802. #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)
  42803. #define FLEXRAM_D0TCM_ECC_MULTI_ERROR_INFO_D0TCM_ECCM_EFSIZ_MASK (0xEU)
  42804. #define FLEXRAM_D0TCM_ECC_MULTI_ERROR_INFO_D0TCM_ECCM_EFSIZ_SHIFT (1U)
  42805. /*! D0TCM_ECCM_EFSIZ - D0TCM multi-bit ECC error corresponding tcm access size
  42806. */
  42807. #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)
  42808. #define FLEXRAM_D0TCM_ECC_MULTI_ERROR_INFO_D0TCM_ECCM_EFMST_MASK (0xF0U)
  42809. #define FLEXRAM_D0TCM_ECC_MULTI_ERROR_INFO_D0TCM_ECCM_EFMST_SHIFT (4U)
  42810. /*! D0TCM_ECCM_EFMST - D0TCM multi-bit ECC error corresponding TCM_MASTER
  42811. */
  42812. #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)
  42813. #define FLEXRAM_D0TCM_ECC_MULTI_ERROR_INFO_D0TCM_ECCM_EFPRT_MASK (0xF00U)
  42814. #define FLEXRAM_D0TCM_ECC_MULTI_ERROR_INFO_D0TCM_ECCM_EFPRT_SHIFT (8U)
  42815. /*! D0TCM_ECCM_EFPRT - D0TCM multi-bit ECC error corresponding TCM_PRIV
  42816. */
  42817. #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)
  42818. #define FLEXRAM_D0TCM_ECC_MULTI_ERROR_INFO_D0TCM_ECCM_EFSYN_MASK (0x7F000U)
  42819. #define FLEXRAM_D0TCM_ECC_MULTI_ERROR_INFO_D0TCM_ECCM_EFSYN_SHIFT (12U)
  42820. /*! D0TCM_ECCM_EFSYN - D0TCM multi-bit ECC error corresponding syndrome
  42821. */
  42822. #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)
  42823. #define FLEXRAM_D0TCM_ECC_MULTI_ERROR_INFO_Reserved_MASK (0xFFF80000U)
  42824. #define FLEXRAM_D0TCM_ECC_MULTI_ERROR_INFO_Reserved_SHIFT (19U)
  42825. /*! Reserved - Reserved
  42826. */
  42827. #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)
  42828. /*! @} */
  42829. /*! @name D0TCM_ECC_MULTI_ERROR_ADDR - D0TCM multi-bit ECC Error Address Register */
  42830. /*! @{ */
  42831. #define FLEXRAM_D0TCM_ECC_MULTI_ERROR_ADDR_D0TCM_ECCM_ERRED_ADDR_MASK (0xFFFFFFFFU)
  42832. #define FLEXRAM_D0TCM_ECC_MULTI_ERROR_ADDR_D0TCM_ECCM_ERRED_ADDR_SHIFT (0U)
  42833. /*! D0TCM_ECCM_ERRED_ADDR - D0TCM multi-bit ECC error address
  42834. */
  42835. #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)
  42836. /*! @} */
  42837. /*! @name D0TCM_ECC_MULTI_ERROR_DATA - D0TCM multi-bit ECC Error Data Register */
  42838. /*! @{ */
  42839. #define FLEXRAM_D0TCM_ECC_MULTI_ERROR_DATA_D0TCM_ECCM_ERRED_DATA_MASK (0xFFFFFFFFU)
  42840. #define FLEXRAM_D0TCM_ECC_MULTI_ERROR_DATA_D0TCM_ECCM_ERRED_DATA_SHIFT (0U)
  42841. /*! D0TCM_ECCM_ERRED_DATA - D0TCM multi-bit ECC error data
  42842. */
  42843. #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)
  42844. /*! @} */
  42845. /*! @name D1TCM_ECC_SINGLE_ERROR_INFO - D1TCM single-bit ECC Error Information Register */
  42846. /*! @{ */
  42847. #define FLEXRAM_D1TCM_ECC_SINGLE_ERROR_INFO_D1TCM_ECCS_EFW_MASK (0x1U)
  42848. #define FLEXRAM_D1TCM_ECC_SINGLE_ERROR_INFO_D1TCM_ECCS_EFW_SHIFT (0U)
  42849. /*! D1TCM_ECCS_EFW - D1TCM single-bit ECC error corresponding TCM_WR value
  42850. */
  42851. #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)
  42852. #define FLEXRAM_D1TCM_ECC_SINGLE_ERROR_INFO_D1TCM_ECCS_EFSIZ_MASK (0xEU)
  42853. #define FLEXRAM_D1TCM_ECC_SINGLE_ERROR_INFO_D1TCM_ECCS_EFSIZ_SHIFT (1U)
  42854. /*! D1TCM_ECCS_EFSIZ - D1TCM single-bit ECC error corresponding tcm access size
  42855. */
  42856. #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)
  42857. #define FLEXRAM_D1TCM_ECC_SINGLE_ERROR_INFO_D1TCM_ECCS_EFMST_MASK (0xF0U)
  42858. #define FLEXRAM_D1TCM_ECC_SINGLE_ERROR_INFO_D1TCM_ECCS_EFMST_SHIFT (4U)
  42859. /*! D1TCM_ECCS_EFMST - D1TCM single-bit ECC error corresponding TCM_MASTER
  42860. */
  42861. #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)
  42862. #define FLEXRAM_D1TCM_ECC_SINGLE_ERROR_INFO_D1TCM_ECCS_EFPRT_MASK (0xF00U)
  42863. #define FLEXRAM_D1TCM_ECC_SINGLE_ERROR_INFO_D1TCM_ECCS_EFPRT_SHIFT (8U)
  42864. /*! D1TCM_ECCS_EFPRT - D1TCM single-bit ECC error corresponding TCM_PRIV
  42865. */
  42866. #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)
  42867. #define FLEXRAM_D1TCM_ECC_SINGLE_ERROR_INFO_D1TCM_ECCS_EFSYN_MASK (0x7F000U)
  42868. #define FLEXRAM_D1TCM_ECC_SINGLE_ERROR_INFO_D1TCM_ECCS_EFSYN_SHIFT (12U)
  42869. /*! D1TCM_ECCS_EFSYN - D1TCM single-bit ECC error corresponding syndrome
  42870. */
  42871. #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)
  42872. #define FLEXRAM_D1TCM_ECC_SINGLE_ERROR_INFO_Reserved_MASK (0xFFF80000U)
  42873. #define FLEXRAM_D1TCM_ECC_SINGLE_ERROR_INFO_Reserved_SHIFT (19U)
  42874. /*! Reserved - Reserved
  42875. */
  42876. #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)
  42877. /*! @} */
  42878. /*! @name D1TCM_ECC_SINGLE_ERROR_ADDR - D1TCM single-bit ECC Error Address Register */
  42879. /*! @{ */
  42880. #define FLEXRAM_D1TCM_ECC_SINGLE_ERROR_ADDR_D1TCM_ECCS_ERRED_ADDR_MASK (0xFFFFFFFFU)
  42881. #define FLEXRAM_D1TCM_ECC_SINGLE_ERROR_ADDR_D1TCM_ECCS_ERRED_ADDR_SHIFT (0U)
  42882. /*! D1TCM_ECCS_ERRED_ADDR - D1TCM single-bit ECC error address
  42883. */
  42884. #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)
  42885. /*! @} */
  42886. /*! @name D1TCM_ECC_SINGLE_ERROR_DATA - D1TCM single-bit ECC Error Data Register */
  42887. /*! @{ */
  42888. #define FLEXRAM_D1TCM_ECC_SINGLE_ERROR_DATA_D1TCM_ECCS_ERRED_DATA_MASK (0xFFFFFFFFU)
  42889. #define FLEXRAM_D1TCM_ECC_SINGLE_ERROR_DATA_D1TCM_ECCS_ERRED_DATA_SHIFT (0U)
  42890. /*! D1TCM_ECCS_ERRED_DATA - D1TCM single-bit ECC error data
  42891. */
  42892. #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)
  42893. /*! @} */
  42894. /*! @name D1TCM_ECC_MULTI_ERROR_INFO - D1TCM multi-bit ECC Error Information Register */
  42895. /*! @{ */
  42896. #define FLEXRAM_D1TCM_ECC_MULTI_ERROR_INFO_D1TCM_ECCM_EFW_MASK (0x1U)
  42897. #define FLEXRAM_D1TCM_ECC_MULTI_ERROR_INFO_D1TCM_ECCM_EFW_SHIFT (0U)
  42898. /*! D1TCM_ECCM_EFW - D1TCM multi-bit ECC error corresponding TCM_WR value
  42899. */
  42900. #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)
  42901. #define FLEXRAM_D1TCM_ECC_MULTI_ERROR_INFO_D1TCM_ECCM_EFSIZ_MASK (0xEU)
  42902. #define FLEXRAM_D1TCM_ECC_MULTI_ERROR_INFO_D1TCM_ECCM_EFSIZ_SHIFT (1U)
  42903. /*! D1TCM_ECCM_EFSIZ - D1TCM multi-bit ECC error corresponding tcm access size
  42904. */
  42905. #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)
  42906. #define FLEXRAM_D1TCM_ECC_MULTI_ERROR_INFO_D1TCM_ECCM_EFMST_MASK (0xF0U)
  42907. #define FLEXRAM_D1TCM_ECC_MULTI_ERROR_INFO_D1TCM_ECCM_EFMST_SHIFT (4U)
  42908. /*! D1TCM_ECCM_EFMST - D1TCM multi-bit ECC error corresponding TCM_MASTER
  42909. */
  42910. #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)
  42911. #define FLEXRAM_D1TCM_ECC_MULTI_ERROR_INFO_D1TCM_ECCM_EFPRT_MASK (0xF00U)
  42912. #define FLEXRAM_D1TCM_ECC_MULTI_ERROR_INFO_D1TCM_ECCM_EFPRT_SHIFT (8U)
  42913. /*! D1TCM_ECCM_EFPRT - D1TCM multi-bit ECC error corresponding TCM_PRIV
  42914. */
  42915. #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)
  42916. #define FLEXRAM_D1TCM_ECC_MULTI_ERROR_INFO_D1TCM_ECCM_EFSYN_MASK (0x7F000U)
  42917. #define FLEXRAM_D1TCM_ECC_MULTI_ERROR_INFO_D1TCM_ECCM_EFSYN_SHIFT (12U)
  42918. /*! D1TCM_ECCM_EFSYN - D1TCM multi-bit ECC error corresponding syndrome
  42919. */
  42920. #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)
  42921. #define FLEXRAM_D1TCM_ECC_MULTI_ERROR_INFO_Reserved_MASK (0xFFF80000U)
  42922. #define FLEXRAM_D1TCM_ECC_MULTI_ERROR_INFO_Reserved_SHIFT (19U)
  42923. /*! Reserved - Reserved
  42924. */
  42925. #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)
  42926. /*! @} */
  42927. /*! @name D1TCM_ECC_MULTI_ERROR_ADDR - D1TCM multi-bit ECC Error Address Register */
  42928. /*! @{ */
  42929. #define FLEXRAM_D1TCM_ECC_MULTI_ERROR_ADDR_D1TCM_ECCM_ERRED_ADDR_MASK (0xFFFFFFFFU)
  42930. #define FLEXRAM_D1TCM_ECC_MULTI_ERROR_ADDR_D1TCM_ECCM_ERRED_ADDR_SHIFT (0U)
  42931. /*! D1TCM_ECCM_ERRED_ADDR - D1TCM multi-bit ECC error address
  42932. */
  42933. #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)
  42934. /*! @} */
  42935. /*! @name D1TCM_ECC_MULTI_ERROR_DATA - D1TCM multi-bit ECC Error Data Register */
  42936. /*! @{ */
  42937. #define FLEXRAM_D1TCM_ECC_MULTI_ERROR_DATA_D1TCM_ECCM_ERRED_DATA_MASK (0xFFFFFFFFU)
  42938. #define FLEXRAM_D1TCM_ECC_MULTI_ERROR_DATA_D1TCM_ECCM_ERRED_DATA_SHIFT (0U)
  42939. /*! D1TCM_ECCM_ERRED_DATA - D1TCM multi-bit ECC error data
  42940. */
  42941. #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)
  42942. /*! @} */
  42943. /*! @name FLEXRAM_CTRL - FlexRAM feature Control register */
  42944. /*! @{ */
  42945. #define FLEXRAM_FLEXRAM_CTRL_OCRAM_RDATA_WAIT_EN_MASK (0x1U)
  42946. #define FLEXRAM_FLEXRAM_CTRL_OCRAM_RDATA_WAIT_EN_SHIFT (0U)
  42947. /*! OCRAM_RDATA_WAIT_EN - Read Data Wait Enable
  42948. */
  42949. #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)
  42950. #define FLEXRAM_FLEXRAM_CTRL_OCRAM_RADDR_PIPELINE_EN_MASK (0x2U)
  42951. #define FLEXRAM_FLEXRAM_CTRL_OCRAM_RADDR_PIPELINE_EN_SHIFT (1U)
  42952. /*! OCRAM_RADDR_PIPELINE_EN - Read Address Pipeline Enable
  42953. */
  42954. #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)
  42955. #define FLEXRAM_FLEXRAM_CTRL_OCRAM_WRDATA_PIPELINE_EN_MASK (0x4U)
  42956. #define FLEXRAM_FLEXRAM_CTRL_OCRAM_WRDATA_PIPELINE_EN_SHIFT (2U)
  42957. /*! OCRAM_WRDATA_PIPELINE_EN - Write Data Pipeline Enable
  42958. */
  42959. #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)
  42960. #define FLEXRAM_FLEXRAM_CTRL_OCRAM_WRADDR_PIPELINE_EN_MASK (0x8U)
  42961. #define FLEXRAM_FLEXRAM_CTRL_OCRAM_WRADDR_PIPELINE_EN_SHIFT (3U)
  42962. /*! OCRAM_WRADDR_PIPELINE_EN - Write Address Pipeline Enable
  42963. */
  42964. #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)
  42965. #define FLEXRAM_FLEXRAM_CTRL_OCRAM_ECC_EN_MASK (0x10U)
  42966. #define FLEXRAM_FLEXRAM_CTRL_OCRAM_ECC_EN_SHIFT (4U)
  42967. /*! OCRAM_ECC_EN - OCRAM ECC enable
  42968. */
  42969. #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)
  42970. #define FLEXRAM_FLEXRAM_CTRL_TCM_ECC_EN_MASK (0x20U)
  42971. #define FLEXRAM_FLEXRAM_CTRL_TCM_ECC_EN_SHIFT (5U)
  42972. /*! TCM_ECC_EN - TCM ECC enable
  42973. */
  42974. #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)
  42975. #define FLEXRAM_FLEXRAM_CTRL_Reserved_MASK (0xFFFFFFC0U)
  42976. #define FLEXRAM_FLEXRAM_CTRL_Reserved_SHIFT (6U)
  42977. /*! Reserved - Reserved
  42978. */
  42979. #define FLEXRAM_FLEXRAM_CTRL_Reserved(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_FLEXRAM_CTRL_Reserved_SHIFT)) & FLEXRAM_FLEXRAM_CTRL_Reserved_MASK)
  42980. /*! @} */
  42981. /*! @name OCRAM_PIPELINE_STATUS - OCRAM Pipeline Status register */
  42982. /*! @{ */
  42983. #define FLEXRAM_OCRAM_PIPELINE_STATUS_OCRAM_RDATA_WAIT_EN_UPDATA_PENDING_MASK (0x1U)
  42984. #define FLEXRAM_OCRAM_PIPELINE_STATUS_OCRAM_RDATA_WAIT_EN_UPDATA_PENDING_SHIFT (0U)
  42985. /*! OCRAM_RDATA_WAIT_EN_UPDATA_PENDING - Read Data Wait Enable Pending
  42986. */
  42987. #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)
  42988. #define FLEXRAM_OCRAM_PIPELINE_STATUS_OCRAM_RADDR_PIPELINE_EN_UPDATA_PENDING_MASK (0x2U)
  42989. #define FLEXRAM_OCRAM_PIPELINE_STATUS_OCRAM_RADDR_PIPELINE_EN_UPDATA_PENDING_SHIFT (1U)
  42990. /*! OCRAM_RADDR_PIPELINE_EN_UPDATA_PENDING - Read Address Pipeline Enable Pending
  42991. */
  42992. #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)
  42993. #define FLEXRAM_OCRAM_PIPELINE_STATUS_OCRAM_WRDATA_PIPELINE_EN_UPDATA_PENDING_MASK (0x4U)
  42994. #define FLEXRAM_OCRAM_PIPELINE_STATUS_OCRAM_WRDATA_PIPELINE_EN_UPDATA_PENDING_SHIFT (2U)
  42995. /*! OCRAM_WRDATA_PIPELINE_EN_UPDATA_PENDING - Write Data Pipeline Enable Pending
  42996. */
  42997. #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)
  42998. #define FLEXRAM_OCRAM_PIPELINE_STATUS_OCRAM_WRADDR_PIPELINE_EN_UPDATA_PENDING_MASK (0x8U)
  42999. #define FLEXRAM_OCRAM_PIPELINE_STATUS_OCRAM_WRADDR_PIPELINE_EN_UPDATA_PENDING_SHIFT (3U)
  43000. /*! OCRAM_WRADDR_PIPELINE_EN_UPDATA_PENDING - Write Address Pipeline Enable Pending
  43001. */
  43002. #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)
  43003. #define FLEXRAM_OCRAM_PIPELINE_STATUS_Reserved_MASK (0xFFFFFFF0U)
  43004. #define FLEXRAM_OCRAM_PIPELINE_STATUS_Reserved_SHIFT (4U)
  43005. /*! Reserved - Reserved
  43006. */
  43007. #define FLEXRAM_OCRAM_PIPELINE_STATUS_Reserved(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_OCRAM_PIPELINE_STATUS_Reserved_SHIFT)) & FLEXRAM_OCRAM_PIPELINE_STATUS_Reserved_MASK)
  43008. /*! @} */
  43009. /*!
  43010. * @}
  43011. */ /* end of group FLEXRAM_Register_Masks */
  43012. /* FLEXRAM - Peripheral instance base addresses */
  43013. /** Peripheral FLEXRAM base address */
  43014. #define FLEXRAM_BASE (0x40028000u)
  43015. /** Peripheral FLEXRAM base pointer */
  43016. #define FLEXRAM ((FLEXRAM_Type *)FLEXRAM_BASE)
  43017. /** Array initializer of FLEXRAM peripheral base addresses */
  43018. #define FLEXRAM_BASE_ADDRS { FLEXRAM_BASE }
  43019. /** Array initializer of FLEXRAM peripheral base pointers */
  43020. #define FLEXRAM_BASE_PTRS { FLEXRAM }
  43021. /** Interrupt vectors for the FLEXRAM peripheral type */
  43022. #define FLEXRAM_ECC_IRQS { FLEXRAM_ECC_IRQn }
  43023. /*!
  43024. * @}
  43025. */ /* end of group FLEXRAM_Peripheral_Access_Layer */
  43026. /* ----------------------------------------------------------------------------
  43027. -- FLEXSPI Peripheral Access Layer
  43028. ---------------------------------------------------------------------------- */
  43029. /*!
  43030. * @addtogroup FLEXSPI_Peripheral_Access_Layer FLEXSPI Peripheral Access Layer
  43031. * @{
  43032. */
  43033. /** FLEXSPI - Register Layout Typedef */
  43034. typedef struct {
  43035. __IO uint32_t MCR0; /**< Module Control Register 0, offset: 0x0 */
  43036. __IO uint32_t MCR1; /**< Module Control Register 1, offset: 0x4 */
  43037. __IO uint32_t MCR2; /**< Module Control Register 2, offset: 0x8 */
  43038. __IO uint32_t AHBCR; /**< AHB Bus Control Register, offset: 0xC */
  43039. __IO uint32_t INTEN; /**< Interrupt Enable Register, offset: 0x10 */
  43040. __IO uint32_t INTR; /**< Interrupt Register, offset: 0x14 */
  43041. __IO uint32_t LUTKEY; /**< LUT Key Register, offset: 0x18 */
  43042. __IO uint32_t LUTCR; /**< LUT Control Register, offset: 0x1C */
  43043. __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 */
  43044. uint8_t RESERVED_0[32];
  43045. __IO uint32_t FLSHCR0[4]; /**< Flash Control Register 0, array offset: 0x60, array step: 0x4 */
  43046. __IO uint32_t FLSHCR1[4]; /**< Flash Control Register 1, array offset: 0x70, array step: 0x4 */
  43047. __IO uint32_t FLSHCR2[4]; /**< Flash Control Register 2, array offset: 0x80, array step: 0x4 */
  43048. uint8_t RESERVED_1[4];
  43049. __IO uint32_t FLSHCR4; /**< Flash Control Register 4, offset: 0x94 */
  43050. uint8_t RESERVED_2[8];
  43051. __IO uint32_t IPCR0; /**< IP Control Register 0, offset: 0xA0 */
  43052. __IO uint32_t IPCR1; /**< IP Control Register 1, offset: 0xA4 */
  43053. uint8_t RESERVED_3[8];
  43054. __IO uint32_t IPCMD; /**< IP Command Register, offset: 0xB0 */
  43055. uint8_t RESERVED_4[4];
  43056. __IO uint32_t IPRXFCR; /**< IP RX FIFO Control Register, offset: 0xB8 */
  43057. __IO uint32_t IPTXFCR; /**< IP TX FIFO Control Register, offset: 0xBC */
  43058. __IO uint32_t DLLCR[2]; /**< DLL Control Register 0, array offset: 0xC0, array step: 0x4 */
  43059. uint8_t RESERVED_5[8];
  43060. __I uint32_t MISCCR4; /**< Misc Control Register 4, offset: 0xD0 */
  43061. __I uint32_t MISCCR5; /**< Misc Control Register 5, offset: 0xD4 */
  43062. __I uint32_t MISCCR6; /**< Misc Control Register 6, offset: 0xD8 */
  43063. __I uint32_t MISCCR7; /**< Misc Control Register 7, offset: 0xDC */
  43064. __I uint32_t STS0; /**< Status Register 0, offset: 0xE0 */
  43065. __I uint32_t STS1; /**< Status Register 1, offset: 0xE4 */
  43066. __I uint32_t STS2; /**< Status Register 2, offset: 0xE8 */
  43067. __I uint32_t AHBSPNDSTS; /**< AHB Suspend Status Register, offset: 0xEC */
  43068. __I uint32_t IPRXFSTS; /**< IP RX FIFO Status Register, offset: 0xF0 */
  43069. __I uint32_t IPTXFSTS; /**< IP TX FIFO Status Register, offset: 0xF4 */
  43070. uint8_t RESERVED_6[8];
  43071. __I uint32_t RFDR[32]; /**< IP RX FIFO Data Register 0..IP RX FIFO Data Register 31, array offset: 0x100, array step: 0x4 */
  43072. __O uint32_t TFDR[32]; /**< IP TX FIFO Data Register 0..IP TX FIFO Data Register 31, array offset: 0x180, array step: 0x4 */
  43073. __IO uint32_t LUT[64]; /**< LUT 0..LUT 63, array offset: 0x200, array step: 0x4 */
  43074. uint8_t RESERVED_7[256];
  43075. __IO uint32_t HMSTRCR[8]; /**< AHB Master ID 0 Control Register..AHB Master ID 7 Control Register, array offset: 0x400, array step: 0x4 */
  43076. __IO uint32_t HADDRSTART; /**< HADDR REMAP START ADDR, offset: 0x420 */
  43077. __IO uint32_t HADDREND; /**< HADDR REMAP END ADDR, offset: 0x424 */
  43078. __IO uint32_t HADDROFFSET; /**< HADDR REMAP OFFSET, offset: 0x428 */
  43079. uint8_t RESERVED_8[4];
  43080. __IO uint32_t IPSNSZSTART0; /**< IPS nonsecure region Start address of region 0, offset: 0x430 */
  43081. __IO uint32_t IPSNSZEND0; /**< IPS nonsecure region End address of region 0, offset: 0x434 */
  43082. __IO uint32_t IPSNSZSTART1; /**< IPS nonsecure region Start address of region 1, offset: 0x438 */
  43083. __IO uint32_t IPSNSZEND1; /**< IPS nonsecure region End address of region 1, offset: 0x43C */
  43084. __IO uint32_t AHBBUFREGIONSTART0; /**< RX BUF Start address of region 0, offset: 0x440 */
  43085. __IO uint32_t AHBBUFREGIONEND0; /**< RX BUF region End address of region 0, offset: 0x444 */
  43086. __IO uint32_t AHBBUFREGIONSTART1; /**< RX BUF Start address of region 1, offset: 0x448 */
  43087. __IO uint32_t AHBBUFREGIONEND1; /**< RX BUF region End address of region 1, offset: 0x44C */
  43088. __IO uint32_t AHBBUFREGIONSTART2; /**< RX BUF Start address of region 2, offset: 0x450 */
  43089. __IO uint32_t AHBBUFREGIONEND2; /**< RX BUF region End address of region 2, offset: 0x454 */
  43090. __IO uint32_t AHBBUFREGIONSTART3; /**< RX BUF Start address of region 3, offset: 0x458 */
  43091. __IO uint32_t AHBBUFREGIONEND3; /**< RX BUF region End address of region 3, offset: 0x45C */
  43092. } FLEXSPI_Type;
  43093. /* ----------------------------------------------------------------------------
  43094. -- FLEXSPI Register Masks
  43095. ---------------------------------------------------------------------------- */
  43096. /*!
  43097. * @addtogroup FLEXSPI_Register_Masks FLEXSPI Register Masks
  43098. * @{
  43099. */
  43100. /*! @name MCR0 - Module Control Register 0 */
  43101. /*! @{ */
  43102. #define FLEXSPI_MCR0_SWRESET_MASK (0x1U)
  43103. #define FLEXSPI_MCR0_SWRESET_SHIFT (0U)
  43104. /*! SWRESET - Software Reset
  43105. */
  43106. #define FLEXSPI_MCR0_SWRESET(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_SWRESET_SHIFT)) & FLEXSPI_MCR0_SWRESET_MASK)
  43107. #define FLEXSPI_MCR0_MDIS_MASK (0x2U)
  43108. #define FLEXSPI_MCR0_MDIS_SHIFT (1U)
  43109. /*! MDIS - Module Disable
  43110. */
  43111. #define FLEXSPI_MCR0_MDIS(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_MDIS_SHIFT)) & FLEXSPI_MCR0_MDIS_MASK)
  43112. #define FLEXSPI_MCR0_RXCLKSRC_MASK (0x30U)
  43113. #define FLEXSPI_MCR0_RXCLKSRC_SHIFT (4U)
  43114. /*! RXCLKSRC - Sample Clock source selection for Flash Reading
  43115. * 0b00..Dummy Read strobe generated by FlexSPI Controller and loopback internally.
  43116. * 0b01..Dummy Read strobe generated by FlexSPI Controller and loopback from DQS pad.
  43117. * 0b10..Reserved
  43118. * 0b11..Flash provided Read strobe and input from DQS pad
  43119. */
  43120. #define FLEXSPI_MCR0_RXCLKSRC(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_RXCLKSRC_SHIFT)) & FLEXSPI_MCR0_RXCLKSRC_MASK)
  43121. #define FLEXSPI_MCR0_ARDFEN_MASK (0x40U)
  43122. #define FLEXSPI_MCR0_ARDFEN_SHIFT (6U)
  43123. /*! ARDFEN - Enable AHB bus Read Access to IP RX FIFO.
  43124. * 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.
  43125. * 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.
  43126. */
  43127. #define FLEXSPI_MCR0_ARDFEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_ARDFEN_SHIFT)) & FLEXSPI_MCR0_ARDFEN_MASK)
  43128. #define FLEXSPI_MCR0_ATDFEN_MASK (0x80U)
  43129. #define FLEXSPI_MCR0_ATDFEN_SHIFT (7U)
  43130. /*! ATDFEN - Enable AHB bus Write Access to IP TX FIFO.
  43131. * 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.
  43132. * 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.
  43133. */
  43134. #define FLEXSPI_MCR0_ATDFEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_ATDFEN_SHIFT)) & FLEXSPI_MCR0_ATDFEN_MASK)
  43135. #define FLEXSPI_MCR0_SERCLKDIV_MASK (0x700U)
  43136. #define FLEXSPI_MCR0_SERCLKDIV_SHIFT (8U)
  43137. /*! SERCLKDIV - The serial root clock could be divided inside FlexSPI . Refer Clocks chapter for more details on clocking.
  43138. * 0b000..Divided by 1
  43139. * 0b001..Divided by 2
  43140. * 0b010..Divided by 3
  43141. * 0b011..Divided by 4
  43142. * 0b100..Divided by 5
  43143. * 0b101..Divided by 6
  43144. * 0b110..Divided by 7
  43145. * 0b111..Divided by 8
  43146. */
  43147. #define FLEXSPI_MCR0_SERCLKDIV(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_SERCLKDIV_SHIFT)) & FLEXSPI_MCR0_SERCLKDIV_MASK)
  43148. #define FLEXSPI_MCR0_HSEN_MASK (0x800U)
  43149. #define FLEXSPI_MCR0_HSEN_SHIFT (11U)
  43150. /*! HSEN - Half Speed Serial Flash access Enable.
  43151. * 0b0..Disable divide by 2 of serial flash clock for half speed commands.
  43152. * 0b1..Enable divide by 2 of serial flash clock for half speed commands.
  43153. */
  43154. #define FLEXSPI_MCR0_HSEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_HSEN_SHIFT)) & FLEXSPI_MCR0_HSEN_MASK)
  43155. #define FLEXSPI_MCR0_DOZEEN_MASK (0x1000U)
  43156. #define FLEXSPI_MCR0_DOZEEN_SHIFT (12U)
  43157. /*! DOZEEN - Doze mode enable bit
  43158. * 0b0..Doze mode support disabled. AHB clock and serial clock will not be gated off when there is doze mode request from system.
  43159. * 0b1..Doze mode support enabled. AHB clock and serial clock will be gated off when there is doze mode request from system.
  43160. */
  43161. #define FLEXSPI_MCR0_DOZEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_DOZEEN_SHIFT)) & FLEXSPI_MCR0_DOZEEN_MASK)
  43162. #define FLEXSPI_MCR0_COMBINATIONEN_MASK (0x2000U)
  43163. #define FLEXSPI_MCR0_COMBINATIONEN_SHIFT (13U)
  43164. /*! COMBINATIONEN - This bit is to support Flash Octal mode access by combining Port A and B Data
  43165. * pins (A_DATA[3:0] and B_DATA[3:0]), when Port A and Port B are of 4 bit data width.
  43166. * 0b0..Disable.
  43167. * 0b1..Enable.
  43168. */
  43169. #define FLEXSPI_MCR0_COMBINATIONEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_COMBINATIONEN_SHIFT)) & FLEXSPI_MCR0_COMBINATIONEN_MASK)
  43170. #define FLEXSPI_MCR0_SCKFREERUNEN_MASK (0x4000U)
  43171. #define FLEXSPI_MCR0_SCKFREERUNEN_SHIFT (14U)
  43172. /*! SCKFREERUNEN - This bit is used to force SCLK output free-running. For FPGA applications,
  43173. * external device may use SCLK as reference clock to its internal PLL. If SCLK free-running is
  43174. * enabled, data sampling with loopback clock from SCLK pad is not supported (MCR0[RXCLKSRC]=2).
  43175. * 0b0..Disable.
  43176. * 0b1..Enable.
  43177. */
  43178. #define FLEXSPI_MCR0_SCKFREERUNEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_SCKFREERUNEN_SHIFT)) & FLEXSPI_MCR0_SCKFREERUNEN_MASK)
  43179. #define FLEXSPI_MCR0_IPGRANTWAIT_MASK (0xFF0000U)
  43180. #define FLEXSPI_MCR0_IPGRANTWAIT_SHIFT (16U)
  43181. /*! IPGRANTWAIT - Time out wait cycle for IP command grant.
  43182. */
  43183. #define FLEXSPI_MCR0_IPGRANTWAIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_IPGRANTWAIT_SHIFT)) & FLEXSPI_MCR0_IPGRANTWAIT_MASK)
  43184. #define FLEXSPI_MCR0_AHBGRANTWAIT_MASK (0xFF000000U)
  43185. #define FLEXSPI_MCR0_AHBGRANTWAIT_SHIFT (24U)
  43186. /*! AHBGRANTWAIT - Timeout wait cycle for AHB command grant.
  43187. */
  43188. #define FLEXSPI_MCR0_AHBGRANTWAIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_AHBGRANTWAIT_SHIFT)) & FLEXSPI_MCR0_AHBGRANTWAIT_MASK)
  43189. /*! @} */
  43190. /*! @name MCR1 - Module Control Register 1 */
  43191. /*! @{ */
  43192. #define FLEXSPI_MCR1_AHBBUSWAIT_MASK (0xFFFFU)
  43193. #define FLEXSPI_MCR1_AHBBUSWAIT_SHIFT (0U)
  43194. #define FLEXSPI_MCR1_AHBBUSWAIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR1_AHBBUSWAIT_SHIFT)) & FLEXSPI_MCR1_AHBBUSWAIT_MASK)
  43195. #define FLEXSPI_MCR1_SEQWAIT_MASK (0xFFFF0000U)
  43196. #define FLEXSPI_MCR1_SEQWAIT_SHIFT (16U)
  43197. #define FLEXSPI_MCR1_SEQWAIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR1_SEQWAIT_SHIFT)) & FLEXSPI_MCR1_SEQWAIT_MASK)
  43198. /*! @} */
  43199. /*! @name MCR2 - Module Control Register 2 */
  43200. /*! @{ */
  43201. #define FLEXSPI_MCR2_CLRAHBBUFOPT_MASK (0x800U)
  43202. #define FLEXSPI_MCR2_CLRAHBBUFOPT_SHIFT (11U)
  43203. /*! CLRAHBBUFOPT - This bit determines whether AHB RX Buffer and AHB TX Buffer will be cleaned
  43204. * automatically when FlexSPI returns STOP mode ACK. Software should set this bit if AHB RX Buffer or
  43205. * AHB TX Buffer will be powered off in STOP mode. Otherwise AHB read access after exiting STOP
  43206. * mode may hit AHB RX Buffer or AHB TX Buffer but their data entries are invalid.
  43207. * 0b0..AHB RX/TX Buffer will not be cleaned automatically when FlexSPI return Stop mode ACK.
  43208. * 0b1..AHB RX/TX Buffer will be cleaned automatically when FlexSPI return Stop mode ACK.
  43209. */
  43210. #define FLEXSPI_MCR2_CLRAHBBUFOPT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR2_CLRAHBBUFOPT_SHIFT)) & FLEXSPI_MCR2_CLRAHBBUFOPT_MASK)
  43211. #define FLEXSPI_MCR2_SAMEDEVICEEN_MASK (0x8000U)
  43212. #define FLEXSPI_MCR2_SAMEDEVICEEN_SHIFT (15U)
  43213. /*! SAMEDEVICEEN - All external devices are same devices (both in types and size) for A1/A2/B1/B2.
  43214. * 0b0..In Individual mode, FLSHA1CRx/FLSHA2CRx/FLSHB1CRx/FLSHB2CRx register setting will be applied to Flash
  43215. * A1/A2/B1/B2 separately. In Parallel mode, FLSHA1CRx register setting will be applied to Flash A1 and B1,
  43216. * FLSHA2CRx register setting will be applied to Flash A2 and B2. FLSHB1CRx/FLSHB2CRx register settings will be
  43217. * ignored.
  43218. * 0b1..FLSHA1CR0/FLSHA1CR1/FLSHA1CR2 register settings will be applied to Flash A1/A2/B1/B2. FLSHA2CRx/FLSHB1CRx/FLSHB2CRx will be ignored.
  43219. */
  43220. #define FLEXSPI_MCR2_SAMEDEVICEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR2_SAMEDEVICEEN_SHIFT)) & FLEXSPI_MCR2_SAMEDEVICEEN_MASK)
  43221. #define FLEXSPI_MCR2_SCKBDIFFOPT_MASK (0x80000U)
  43222. #define FLEXSPI_MCR2_SCKBDIFFOPT_SHIFT (19U)
  43223. /*! SCKBDIFFOPT - B_SCLK pad can be used as A_SCLK differential clock output (inverted clock to
  43224. * A_SCLK). In this case, port B flash access is not available. After changing the value of this
  43225. * field, MCR0[SWRESET] should be set.
  43226. * 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.
  43227. * 0b0..B_SCLK pad is used as port B SCLK clock output. Port B flash access is available.
  43228. */
  43229. #define FLEXSPI_MCR2_SCKBDIFFOPT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR2_SCKBDIFFOPT_SHIFT)) & FLEXSPI_MCR2_SCKBDIFFOPT_MASK)
  43230. #define FLEXSPI_MCR2_RESUMEWAIT_MASK (0xFF000000U)
  43231. #define FLEXSPI_MCR2_RESUMEWAIT_SHIFT (24U)
  43232. /*! RESUMEWAIT - Wait cycle (in AHB clock cycle) for idle state before suspended command sequence resumed.
  43233. */
  43234. #define FLEXSPI_MCR2_RESUMEWAIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR2_RESUMEWAIT_SHIFT)) & FLEXSPI_MCR2_RESUMEWAIT_MASK)
  43235. /*! @} */
  43236. /*! @name AHBCR - AHB Bus Control Register */
  43237. /*! @{ */
  43238. #define FLEXSPI_AHBCR_APAREN_MASK (0x1U)
  43239. #define FLEXSPI_AHBCR_APAREN_SHIFT (0U)
  43240. /*! APAREN - Parallel mode enabled for AHB triggered Command (both read and write) .
  43241. * 0b0..Flash will be accessed in Individual mode.
  43242. * 0b1..Flash will be accessed in Parallel mode.
  43243. */
  43244. #define FLEXSPI_AHBCR_APAREN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_APAREN_SHIFT)) & FLEXSPI_AHBCR_APAREN_MASK)
  43245. #define FLEXSPI_AHBCR_CLRAHBRXBUF_MASK (0x2U)
  43246. #define FLEXSPI_AHBCR_CLRAHBRXBUF_SHIFT (1U)
  43247. /*! CLRAHBRXBUF - Clear the status/pointers of AHB RX Buffer. Auto-cleared.
  43248. */
  43249. #define FLEXSPI_AHBCR_CLRAHBRXBUF(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_CLRAHBRXBUF_SHIFT)) & FLEXSPI_AHBCR_CLRAHBRXBUF_MASK)
  43250. #define FLEXSPI_AHBCR_CACHABLEEN_MASK (0x8U)
  43251. #define FLEXSPI_AHBCR_CACHABLEEN_SHIFT (3U)
  43252. /*! CACHABLEEN - Enable AHB bus cachable read access support.
  43253. * 0b0..Disabled. When there is AHB bus cachable read access, FlexSPI will not check whether it hit AHB TX Buffer.
  43254. * 0b1..Enabled. When there is AHB bus cachable read access, FlexSPI will check whether it hit AHB TX Buffer first.
  43255. */
  43256. #define FLEXSPI_AHBCR_CACHABLEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_CACHABLEEN_SHIFT)) & FLEXSPI_AHBCR_CACHABLEEN_MASK)
  43257. #define FLEXSPI_AHBCR_BUFFERABLEEN_MASK (0x10U)
  43258. #define FLEXSPI_AHBCR_BUFFERABLEEN_SHIFT (4U)
  43259. /*! BUFFERABLEEN - Enable AHB bus bufferable write access support. This field affects the last beat
  43260. * of AHB write access, refer for more details about AHB bufferable write.
  43261. * 0b0..Disabled. For all AHB write access (no matter bufferable or non-bufferable ), FlexSPI will return AHB Bus
  43262. * ready after all data is transmitted to External device and AHB command finished.
  43263. * 0b1..Enabled. For AHB bufferable write access, FlexSPI will return AHB Bus ready when the AHB command is
  43264. * granted by arbitrator and will not wait for AHB command finished.
  43265. */
  43266. #define FLEXSPI_AHBCR_BUFFERABLEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_BUFFERABLEEN_SHIFT)) & FLEXSPI_AHBCR_BUFFERABLEEN_MASK)
  43267. #define FLEXSPI_AHBCR_PREFETCHEN_MASK (0x20U)
  43268. #define FLEXSPI_AHBCR_PREFETCHEN_SHIFT (5U)
  43269. /*! PREFETCHEN - AHB Read Prefetch Enable.
  43270. */
  43271. #define FLEXSPI_AHBCR_PREFETCHEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_PREFETCHEN_SHIFT)) & FLEXSPI_AHBCR_PREFETCHEN_MASK)
  43272. #define FLEXSPI_AHBCR_READADDROPT_MASK (0x40U)
  43273. #define FLEXSPI_AHBCR_READADDROPT_SHIFT (6U)
  43274. /*! READADDROPT - AHB Read Address option bit. This option bit is intend to remove AHB burst start address alignment limitation.
  43275. * 0b0..There is AHB read burst start address alignment limitation when flash is accessed in parallel mode or flash is word-addressable.
  43276. * 0b1..There is no AHB read burst start address alignment limitation. FlexSPI will fetch more data than AHB
  43277. * burst required to meet the alignment requirement.
  43278. */
  43279. #define FLEXSPI_AHBCR_READADDROPT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_READADDROPT_SHIFT)) & FLEXSPI_AHBCR_READADDROPT_MASK)
  43280. #define FLEXSPI_AHBCR_READSZALIGN_MASK (0x400U)
  43281. #define FLEXSPI_AHBCR_READSZALIGN_SHIFT (10U)
  43282. /*! READSZALIGN - AHB Read Size Alignment
  43283. * 0b0..AHB read size will be decided by other register setting like PREFETCH_EN,OTFAD_EN...
  43284. * 0b1..AHB read size to up size to 8 bytes aligned, no prefetching
  43285. */
  43286. #define FLEXSPI_AHBCR_READSZALIGN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_READSZALIGN_SHIFT)) & FLEXSPI_AHBCR_READSZALIGN_MASK)
  43287. #define FLEXSPI_AHBCR_ECCEN_MASK (0x800U)
  43288. #define FLEXSPI_AHBCR_ECCEN_SHIFT (11U)
  43289. /*! ECCEN - AHB Read ECC Enable
  43290. * 0b0..AHB read ECC check disabled
  43291. * 0b1..AHB read ECC check enabled
  43292. */
  43293. #define FLEXSPI_AHBCR_ECCEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_ECCEN_SHIFT)) & FLEXSPI_AHBCR_ECCEN_MASK)
  43294. #define FLEXSPI_AHBCR_SPLITEN_MASK (0x1000U)
  43295. #define FLEXSPI_AHBCR_SPLITEN_SHIFT (12U)
  43296. /*! SPLITEN - AHB transaction SPLIT
  43297. * 0b0..AHB Split disabled
  43298. * 0b1..AHB Split enabled
  43299. */
  43300. #define FLEXSPI_AHBCR_SPLITEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_SPLITEN_SHIFT)) & FLEXSPI_AHBCR_SPLITEN_MASK)
  43301. #define FLEXSPI_AHBCR_SPLIT_LIMIT_MASK (0x6000U)
  43302. #define FLEXSPI_AHBCR_SPLIT_LIMIT_SHIFT (13U)
  43303. /*! SPLIT_LIMIT - AHB SPLIT SIZE
  43304. * 0b00..AHB Split Size=8bytes
  43305. * 0b01..AHB Split Size=16bytes
  43306. * 0b10..AHB Split Size=32bytes
  43307. * 0b11..AHB Split Size=64bytes
  43308. */
  43309. #define FLEXSPI_AHBCR_SPLIT_LIMIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_SPLIT_LIMIT_SHIFT)) & FLEXSPI_AHBCR_SPLIT_LIMIT_MASK)
  43310. #define FLEXSPI_AHBCR_KEYECCEN_MASK (0x8000U)
  43311. #define FLEXSPI_AHBCR_KEYECCEN_SHIFT (15U)
  43312. /*! KEYECCEN - OTFAD KEY BLOC ECC Enable
  43313. * 0b0..AHB KEY ECC check disabled
  43314. * 0b1..AHB KEY ECC check enabled
  43315. */
  43316. #define FLEXSPI_AHBCR_KEYECCEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_KEYECCEN_SHIFT)) & FLEXSPI_AHBCR_KEYECCEN_MASK)
  43317. #define FLEXSPI_AHBCR_ECCSINGLEERRCLR_MASK (0x10000U)
  43318. #define FLEXSPI_AHBCR_ECCSINGLEERRCLR_SHIFT (16U)
  43319. /*! ECCSINGLEERRCLR - AHB ECC Single bit ERR CLR
  43320. */
  43321. #define FLEXSPI_AHBCR_ECCSINGLEERRCLR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_ECCSINGLEERRCLR_SHIFT)) & FLEXSPI_AHBCR_ECCSINGLEERRCLR_MASK)
  43322. #define FLEXSPI_AHBCR_ECCMULTIERRCLR_MASK (0x20000U)
  43323. #define FLEXSPI_AHBCR_ECCMULTIERRCLR_SHIFT (17U)
  43324. /*! ECCMULTIERRCLR - AHB ECC Multi bits ERR CLR
  43325. */
  43326. #define FLEXSPI_AHBCR_ECCMULTIERRCLR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_ECCMULTIERRCLR_SHIFT)) & FLEXSPI_AHBCR_ECCMULTIERRCLR_MASK)
  43327. #define FLEXSPI_AHBCR_HMSTRIDREMAP_MASK (0x40000U)
  43328. #define FLEXSPI_AHBCR_HMSTRIDREMAP_SHIFT (18U)
  43329. /*! HMSTRIDREMAP - AHB Master ID Remapping enable
  43330. */
  43331. #define FLEXSPI_AHBCR_HMSTRIDREMAP(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_HMSTRIDREMAP_SHIFT)) & FLEXSPI_AHBCR_HMSTRIDREMAP_MASK)
  43332. #define FLEXSPI_AHBCR_ECCSWAPEN_MASK (0x80000U)
  43333. #define FLEXSPI_AHBCR_ECCSWAPEN_SHIFT (19U)
  43334. /*! ECCSWAPEN - ECC Read data swap function
  43335. * 0b0..rdata send to ecc check without swap.
  43336. * 0b1..rdata send to ecc ehck with swap.
  43337. */
  43338. #define FLEXSPI_AHBCR_ECCSWAPEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_ECCSWAPEN_SHIFT)) & FLEXSPI_AHBCR_ECCSWAPEN_MASK)
  43339. #define FLEXSPI_AHBCR_ALIGNMENT_MASK (0x300000U)
  43340. #define FLEXSPI_AHBCR_ALIGNMENT_SHIFT (20U)
  43341. /*! ALIGNMENT - Decides all AHB read/write boundary. All access cross the boundary will be divided into smaller sub accesses.
  43342. * 0b00..No limit
  43343. * 0b01..1 KBytes
  43344. * 0b10..512 Bytes
  43345. * 0b11..256 Bytes
  43346. */
  43347. #define FLEXSPI_AHBCR_ALIGNMENT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_ALIGNMENT_SHIFT)) & FLEXSPI_AHBCR_ALIGNMENT_MASK)
  43348. /*! @} */
  43349. /*! @name INTEN - Interrupt Enable Register */
  43350. /*! @{ */
  43351. #define FLEXSPI_INTEN_IPCMDDONEEN_MASK (0x1U)
  43352. #define FLEXSPI_INTEN_IPCMDDONEEN_SHIFT (0U)
  43353. /*! IPCMDDONEEN - IP triggered Command Sequences Execution finished interrupt enable.
  43354. */
  43355. #define FLEXSPI_INTEN_IPCMDDONEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_IPCMDDONEEN_SHIFT)) & FLEXSPI_INTEN_IPCMDDONEEN_MASK)
  43356. #define FLEXSPI_INTEN_IPCMDGEEN_MASK (0x2U)
  43357. #define FLEXSPI_INTEN_IPCMDGEEN_SHIFT (1U)
  43358. /*! IPCMDGEEN - IP triggered Command Sequences Grant Timeout interrupt enable.
  43359. */
  43360. #define FLEXSPI_INTEN_IPCMDGEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_IPCMDGEEN_SHIFT)) & FLEXSPI_INTEN_IPCMDGEEN_MASK)
  43361. #define FLEXSPI_INTEN_AHBCMDGEEN_MASK (0x4U)
  43362. #define FLEXSPI_INTEN_AHBCMDGEEN_SHIFT (2U)
  43363. /*! AHBCMDGEEN - AHB triggered Command Sequences Grant Timeout interrupt enable.
  43364. */
  43365. #define FLEXSPI_INTEN_AHBCMDGEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_AHBCMDGEEN_SHIFT)) & FLEXSPI_INTEN_AHBCMDGEEN_MASK)
  43366. #define FLEXSPI_INTEN_IPCMDERREN_MASK (0x8U)
  43367. #define FLEXSPI_INTEN_IPCMDERREN_SHIFT (3U)
  43368. /*! IPCMDERREN - IP triggered Command Sequences Error Detected interrupt enable.
  43369. */
  43370. #define FLEXSPI_INTEN_IPCMDERREN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_IPCMDERREN_SHIFT)) & FLEXSPI_INTEN_IPCMDERREN_MASK)
  43371. #define FLEXSPI_INTEN_AHBCMDERREN_MASK (0x10U)
  43372. #define FLEXSPI_INTEN_AHBCMDERREN_SHIFT (4U)
  43373. /*! AHBCMDERREN - AHB triggered Command Sequences Error Detected interrupt enable.
  43374. */
  43375. #define FLEXSPI_INTEN_AHBCMDERREN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_AHBCMDERREN_SHIFT)) & FLEXSPI_INTEN_AHBCMDERREN_MASK)
  43376. #define FLEXSPI_INTEN_IPRXWAEN_MASK (0x20U)
  43377. #define FLEXSPI_INTEN_IPRXWAEN_SHIFT (5U)
  43378. /*! IPRXWAEN - IP RX FIFO WaterMark available interrupt enable.
  43379. */
  43380. #define FLEXSPI_INTEN_IPRXWAEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_IPRXWAEN_SHIFT)) & FLEXSPI_INTEN_IPRXWAEN_MASK)
  43381. #define FLEXSPI_INTEN_IPTXWEEN_MASK (0x40U)
  43382. #define FLEXSPI_INTEN_IPTXWEEN_SHIFT (6U)
  43383. /*! IPTXWEEN - IP TX FIFO WaterMark empty interrupt enable.
  43384. */
  43385. #define FLEXSPI_INTEN_IPTXWEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_IPTXWEEN_SHIFT)) & FLEXSPI_INTEN_IPTXWEEN_MASK)
  43386. #define FLEXSPI_INTEN_SCKSTOPBYRDEN_MASK (0x100U)
  43387. #define FLEXSPI_INTEN_SCKSTOPBYRDEN_SHIFT (8U)
  43388. /*! SCKSTOPBYRDEN - SCLK is stopped during command sequence because Async RX FIFO full interrupt enable.
  43389. */
  43390. #define FLEXSPI_INTEN_SCKSTOPBYRDEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_SCKSTOPBYRDEN_SHIFT)) & FLEXSPI_INTEN_SCKSTOPBYRDEN_MASK)
  43391. #define FLEXSPI_INTEN_SCKSTOPBYWREN_MASK (0x200U)
  43392. #define FLEXSPI_INTEN_SCKSTOPBYWREN_SHIFT (9U)
  43393. /*! SCKSTOPBYWREN - SCLK is stopped during command sequence because Async TX FIFO empty interrupt enable.
  43394. */
  43395. #define FLEXSPI_INTEN_SCKSTOPBYWREN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_SCKSTOPBYWREN_SHIFT)) & FLEXSPI_INTEN_SCKSTOPBYWREN_MASK)
  43396. #define FLEXSPI_INTEN_AHBBUSERROREN_MASK (0x400U)
  43397. #define FLEXSPI_INTEN_AHBBUSERROREN_SHIFT (10U)
  43398. /*! AHBBUSERROREN - AHB Bus error interrupt enable.Refer Interrupts chapter for more details.
  43399. */
  43400. #define FLEXSPI_INTEN_AHBBUSERROREN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_AHBBUSERROREN_SHIFT)) & FLEXSPI_INTEN_AHBBUSERROREN_MASK)
  43401. #define FLEXSPI_INTEN_SEQTIMEOUTEN_MASK (0x800U)
  43402. #define FLEXSPI_INTEN_SEQTIMEOUTEN_SHIFT (11U)
  43403. /*! SEQTIMEOUTEN - Sequence execution timeout interrupt enable.Refer Interrupts chapter for more details.
  43404. */
  43405. #define FLEXSPI_INTEN_SEQTIMEOUTEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_SEQTIMEOUTEN_SHIFT)) & FLEXSPI_INTEN_SEQTIMEOUTEN_MASK)
  43406. #define FLEXSPI_INTEN_KEYDONEEN_MASK (0x1000U)
  43407. #define FLEXSPI_INTEN_KEYDONEEN_SHIFT (12U)
  43408. /*! KEYDONEEN - OTFAD key blob processing done interrupt enable.Refer Interrupts chapter for more details.
  43409. */
  43410. #define FLEXSPI_INTEN_KEYDONEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_KEYDONEEN_SHIFT)) & FLEXSPI_INTEN_KEYDONEEN_MASK)
  43411. #define FLEXSPI_INTEN_KEYERROREN_MASK (0x2000U)
  43412. #define FLEXSPI_INTEN_KEYERROREN_SHIFT (13U)
  43413. /*! KEYERROREN - OTFAD key blob processing error interrupt enable.Refer Interrupts chapter for more details.
  43414. */
  43415. #define FLEXSPI_INTEN_KEYERROREN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_KEYERROREN_SHIFT)) & FLEXSPI_INTEN_KEYERROREN_MASK)
  43416. #define FLEXSPI_INTEN_ECCMULTIERREN_MASK (0x4000U)
  43417. #define FLEXSPI_INTEN_ECCMULTIERREN_SHIFT (14U)
  43418. /*! ECCMULTIERREN - ECC multi bits error interrupt enable.Refer Interrupts chapter for more details.
  43419. */
  43420. #define FLEXSPI_INTEN_ECCMULTIERREN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_ECCMULTIERREN_SHIFT)) & FLEXSPI_INTEN_ECCMULTIERREN_MASK)
  43421. #define FLEXSPI_INTEN_ECCSINGLEERREN_MASK (0x8000U)
  43422. #define FLEXSPI_INTEN_ECCSINGLEERREN_SHIFT (15U)
  43423. /*! ECCSINGLEERREN - ECC single bit error interrupt enable.Refer Interrupts chapter for more details.
  43424. */
  43425. #define FLEXSPI_INTEN_ECCSINGLEERREN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_ECCSINGLEERREN_SHIFT)) & FLEXSPI_INTEN_ECCSINGLEERREN_MASK)
  43426. #define FLEXSPI_INTEN_IPCMDSECUREVIOEN_MASK (0x10000U)
  43427. #define FLEXSPI_INTEN_IPCMDSECUREVIOEN_SHIFT (16U)
  43428. /*! IPCMDSECUREVIOEN - IP command security violation interrupt enable.
  43429. */
  43430. #define FLEXSPI_INTEN_IPCMDSECUREVIOEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_IPCMDSECUREVIOEN_SHIFT)) & FLEXSPI_INTEN_IPCMDSECUREVIOEN_MASK)
  43431. /*! @} */
  43432. /*! @name INTR - Interrupt Register */
  43433. /*! @{ */
  43434. #define FLEXSPI_INTR_IPCMDDONE_MASK (0x1U)
  43435. #define FLEXSPI_INTR_IPCMDDONE_SHIFT (0U)
  43436. /*! IPCMDDONE - IP triggered Command Sequences Execution finished interrupt. This interrupt is also
  43437. * generated when there is IPCMDGE or IPCMDERR interrupt generated.
  43438. */
  43439. #define FLEXSPI_INTR_IPCMDDONE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_IPCMDDONE_SHIFT)) & FLEXSPI_INTR_IPCMDDONE_MASK)
  43440. #define FLEXSPI_INTR_IPCMDGE_MASK (0x2U)
  43441. #define FLEXSPI_INTR_IPCMDGE_SHIFT (1U)
  43442. /*! IPCMDGE - IP triggered Command Sequences Grant Timeout interrupt.
  43443. */
  43444. #define FLEXSPI_INTR_IPCMDGE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_IPCMDGE_SHIFT)) & FLEXSPI_INTR_IPCMDGE_MASK)
  43445. #define FLEXSPI_INTR_AHBCMDGE_MASK (0x4U)
  43446. #define FLEXSPI_INTR_AHBCMDGE_SHIFT (2U)
  43447. /*! AHBCMDGE - AHB triggered Command Sequences Grant Timeout interrupt.
  43448. */
  43449. #define FLEXSPI_INTR_AHBCMDGE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_AHBCMDGE_SHIFT)) & FLEXSPI_INTR_AHBCMDGE_MASK)
  43450. #define FLEXSPI_INTR_IPCMDERR_MASK (0x8U)
  43451. #define FLEXSPI_INTR_IPCMDERR_SHIFT (3U)
  43452. /*! IPCMDERR - IP triggered Command Sequences Error Detected interrupt. When an error detected for
  43453. * IP command, this command will be ignored and not executed at all.
  43454. */
  43455. #define FLEXSPI_INTR_IPCMDERR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_IPCMDERR_SHIFT)) & FLEXSPI_INTR_IPCMDERR_MASK)
  43456. #define FLEXSPI_INTR_AHBCMDERR_MASK (0x10U)
  43457. #define FLEXSPI_INTR_AHBCMDERR_SHIFT (4U)
  43458. /*! AHBCMDERR - AHB triggered Command Sequences Error Detected interrupt. When an error detected for
  43459. * AHB command, this command will be ignored and not executed at all.
  43460. */
  43461. #define FLEXSPI_INTR_AHBCMDERR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_AHBCMDERR_SHIFT)) & FLEXSPI_INTR_AHBCMDERR_MASK)
  43462. #define FLEXSPI_INTR_IPRXWA_MASK (0x20U)
  43463. #define FLEXSPI_INTR_IPRXWA_SHIFT (5U)
  43464. /*! IPRXWA - IP RX FIFO watermark available interrupt.
  43465. */
  43466. #define FLEXSPI_INTR_IPRXWA(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_IPRXWA_SHIFT)) & FLEXSPI_INTR_IPRXWA_MASK)
  43467. #define FLEXSPI_INTR_IPTXWE_MASK (0x40U)
  43468. #define FLEXSPI_INTR_IPTXWE_SHIFT (6U)
  43469. /*! IPTXWE - IP TX FIFO watermark empty interrupt.
  43470. */
  43471. #define FLEXSPI_INTR_IPTXWE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_IPTXWE_SHIFT)) & FLEXSPI_INTR_IPTXWE_MASK)
  43472. #define FLEXSPI_INTR_SCKSTOPBYRD_MASK (0x100U)
  43473. #define FLEXSPI_INTR_SCKSTOPBYRD_SHIFT (8U)
  43474. /*! SCKSTOPBYRD - SCLK is stopped during command sequence because Async RX FIFO full interrupt.
  43475. */
  43476. #define FLEXSPI_INTR_SCKSTOPBYRD(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_SCKSTOPBYRD_SHIFT)) & FLEXSPI_INTR_SCKSTOPBYRD_MASK)
  43477. #define FLEXSPI_INTR_SCKSTOPBYWR_MASK (0x200U)
  43478. #define FLEXSPI_INTR_SCKSTOPBYWR_SHIFT (9U)
  43479. /*! SCKSTOPBYWR - SCLK is stopped during command sequence because Async TX FIFO empty interrupt.
  43480. */
  43481. #define FLEXSPI_INTR_SCKSTOPBYWR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_SCKSTOPBYWR_SHIFT)) & FLEXSPI_INTR_SCKSTOPBYWR_MASK)
  43482. #define FLEXSPI_INTR_AHBBUSERROR_MASK (0x400U)
  43483. #define FLEXSPI_INTR_AHBBUSERROR_SHIFT (10U)
  43484. /*! AHBBUSERROR - AHB Bus timeout or AHB bus illegal access Flash during OTFAD key blob processing interrupt.
  43485. */
  43486. #define FLEXSPI_INTR_AHBBUSERROR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_AHBBUSERROR_SHIFT)) & FLEXSPI_INTR_AHBBUSERROR_MASK)
  43487. #define FLEXSPI_INTR_SEQTIMEOUT_MASK (0x800U)
  43488. #define FLEXSPI_INTR_SEQTIMEOUT_SHIFT (11U)
  43489. /*! SEQTIMEOUT - Sequence execution timeout interrupt.
  43490. */
  43491. #define FLEXSPI_INTR_SEQTIMEOUT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_SEQTIMEOUT_SHIFT)) & FLEXSPI_INTR_SEQTIMEOUT_MASK)
  43492. #define FLEXSPI_INTR_KEYDONE_MASK (0x1000U)
  43493. #define FLEXSPI_INTR_KEYDONE_SHIFT (12U)
  43494. /*! KEYDONE - OTFAD key blob processing done interrupt.
  43495. */
  43496. #define FLEXSPI_INTR_KEYDONE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_KEYDONE_SHIFT)) & FLEXSPI_INTR_KEYDONE_MASK)
  43497. #define FLEXSPI_INTR_KEYERROR_MASK (0x2000U)
  43498. #define FLEXSPI_INTR_KEYERROR_SHIFT (13U)
  43499. /*! KEYERROR - OTFAD key blob processing error interrupt.
  43500. */
  43501. #define FLEXSPI_INTR_KEYERROR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_KEYERROR_SHIFT)) & FLEXSPI_INTR_KEYERROR_MASK)
  43502. #define FLEXSPI_INTR_ECCMULTIERR_MASK (0x4000U)
  43503. #define FLEXSPI_INTR_ECCMULTIERR_SHIFT (14U)
  43504. /*! ECCMULTIERR - ECC multi bits error interrupt.
  43505. */
  43506. #define FLEXSPI_INTR_ECCMULTIERR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_ECCMULTIERR_SHIFT)) & FLEXSPI_INTR_ECCMULTIERR_MASK)
  43507. #define FLEXSPI_INTR_ECCSINGLEERR_MASK (0x8000U)
  43508. #define FLEXSPI_INTR_ECCSINGLEERR_SHIFT (15U)
  43509. /*! ECCSINGLEERR - ECC single bit error interrupt.
  43510. */
  43511. #define FLEXSPI_INTR_ECCSINGLEERR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_ECCSINGLEERR_SHIFT)) & FLEXSPI_INTR_ECCSINGLEERR_MASK)
  43512. #define FLEXSPI_INTR_IPCMDSECUREVIO_MASK (0x10000U)
  43513. #define FLEXSPI_INTR_IPCMDSECUREVIO_SHIFT (16U)
  43514. /*! IPCMDSECUREVIO - IP command security violation interrupt.
  43515. */
  43516. #define FLEXSPI_INTR_IPCMDSECUREVIO(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_IPCMDSECUREVIO_SHIFT)) & FLEXSPI_INTR_IPCMDSECUREVIO_MASK)
  43517. /*! @} */
  43518. /*! @name LUTKEY - LUT Key Register */
  43519. /*! @{ */
  43520. #define FLEXSPI_LUTKEY_KEY_MASK (0xFFFFFFFFU)
  43521. #define FLEXSPI_LUTKEY_KEY_SHIFT (0U)
  43522. /*! KEY - The Key to lock or unlock LUT.
  43523. */
  43524. #define FLEXSPI_LUTKEY_KEY(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUTKEY_KEY_SHIFT)) & FLEXSPI_LUTKEY_KEY_MASK)
  43525. /*! @} */
  43526. /*! @name LUTCR - LUT Control Register */
  43527. /*! @{ */
  43528. #define FLEXSPI_LUTCR_LOCK_MASK (0x1U)
  43529. #define FLEXSPI_LUTCR_LOCK_SHIFT (0U)
  43530. /*! LOCK - Lock LUT
  43531. */
  43532. #define FLEXSPI_LUTCR_LOCK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUTCR_LOCK_SHIFT)) & FLEXSPI_LUTCR_LOCK_MASK)
  43533. #define FLEXSPI_LUTCR_UNLOCK_MASK (0x2U)
  43534. #define FLEXSPI_LUTCR_UNLOCK_SHIFT (1U)
  43535. /*! UNLOCK - Unlock LUT
  43536. */
  43537. #define FLEXSPI_LUTCR_UNLOCK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUTCR_UNLOCK_SHIFT)) & FLEXSPI_LUTCR_UNLOCK_MASK)
  43538. #define FLEXSPI_LUTCR_PROTECT_MASK (0x4U)
  43539. #define FLEXSPI_LUTCR_PROTECT_SHIFT (2U)
  43540. /*! PROTECT - LUT protection
  43541. */
  43542. #define FLEXSPI_LUTCR_PROTECT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUTCR_PROTECT_SHIFT)) & FLEXSPI_LUTCR_PROTECT_MASK)
  43543. /*! @} */
  43544. /*! @name AHBRXBUFCR0 - AHB RX Buffer 0 Control Register 0..AHB RX Buffer 7 Control Register 0 */
  43545. /*! @{ */
  43546. #define FLEXSPI_AHBRXBUFCR0_BUFSZ_MASK (0x3FFU)
  43547. #define FLEXSPI_AHBRXBUFCR0_BUFSZ_SHIFT (0U)
  43548. /*! BUFSZ - AHB RX Buffer Size in 64 bits.
  43549. */
  43550. #define FLEXSPI_AHBRXBUFCR0_BUFSZ(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBRXBUFCR0_BUFSZ_SHIFT)) & FLEXSPI_AHBRXBUFCR0_BUFSZ_MASK)
  43551. #define FLEXSPI_AHBRXBUFCR0_MSTRID_MASK (0xF0000U)
  43552. #define FLEXSPI_AHBRXBUFCR0_MSTRID_SHIFT (16U)
  43553. /*! MSTRID - This AHB RX Buffer is assigned according to AHB Master with ID (MSTR_ID).
  43554. */
  43555. #define FLEXSPI_AHBRXBUFCR0_MSTRID(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBRXBUFCR0_MSTRID_SHIFT)) & FLEXSPI_AHBRXBUFCR0_MSTRID_MASK)
  43556. #define FLEXSPI_AHBRXBUFCR0_PRIORITY_MASK (0x7000000U)
  43557. #define FLEXSPI_AHBRXBUFCR0_PRIORITY_SHIFT (24U)
  43558. /*! PRIORITY - This priority for AHB Master Read which this AHB RX Buffer is assigned. 7 is the highest priority, 0 the lowest.
  43559. */
  43560. #define FLEXSPI_AHBRXBUFCR0_PRIORITY(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBRXBUFCR0_PRIORITY_SHIFT)) & FLEXSPI_AHBRXBUFCR0_PRIORITY_MASK)
  43561. #define FLEXSPI_AHBRXBUFCR0_REGIONEN_MASK (0x40000000U)
  43562. #define FLEXSPI_AHBRXBUFCR0_REGIONEN_SHIFT (30U)
  43563. /*! REGIONEN - AHB RX Buffer address region funciton enable
  43564. */
  43565. #define FLEXSPI_AHBRXBUFCR0_REGIONEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBRXBUFCR0_REGIONEN_SHIFT)) & FLEXSPI_AHBRXBUFCR0_REGIONEN_MASK)
  43566. #define FLEXSPI_AHBRXBUFCR0_PREFETCHEN_MASK (0x80000000U)
  43567. #define FLEXSPI_AHBRXBUFCR0_PREFETCHEN_SHIFT (31U)
  43568. /*! PREFETCHEN - AHB Read Prefetch Enable for current AHB RX Buffer corresponding Master.
  43569. */
  43570. #define FLEXSPI_AHBRXBUFCR0_PREFETCHEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBRXBUFCR0_PREFETCHEN_SHIFT)) & FLEXSPI_AHBRXBUFCR0_PREFETCHEN_MASK)
  43571. /*! @} */
  43572. /* The count of FLEXSPI_AHBRXBUFCR0 */
  43573. #define FLEXSPI_AHBRXBUFCR0_COUNT (8U)
  43574. /*! @name FLSHCR0 - Flash Control Register 0 */
  43575. /*! @{ */
  43576. #define FLEXSPI_FLSHCR0_FLSHSZ_MASK (0x7FFFFFU)
  43577. #define FLEXSPI_FLSHCR0_FLSHSZ_SHIFT (0U)
  43578. /*! FLSHSZ - Flash Size in KByte.
  43579. */
  43580. #define FLEXSPI_FLSHCR0_FLSHSZ(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR0_FLSHSZ_SHIFT)) & FLEXSPI_FLSHCR0_FLSHSZ_MASK)
  43581. #define FLEXSPI_FLSHCR0_SPLITWREN_MASK (0x40000000U)
  43582. #define FLEXSPI_FLSHCR0_SPLITWREN_SHIFT (30U)
  43583. /*! SPLITWREN - AHB write access split function control.
  43584. */
  43585. #define FLEXSPI_FLSHCR0_SPLITWREN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR0_SPLITWREN_SHIFT)) & FLEXSPI_FLSHCR0_SPLITWREN_MASK)
  43586. #define FLEXSPI_FLSHCR0_SPLITRDEN_MASK (0x80000000U)
  43587. #define FLEXSPI_FLSHCR0_SPLITRDEN_SHIFT (31U)
  43588. /*! SPLITRDEN - AHB read access split function control.
  43589. */
  43590. #define FLEXSPI_FLSHCR0_SPLITRDEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR0_SPLITRDEN_SHIFT)) & FLEXSPI_FLSHCR0_SPLITRDEN_MASK)
  43591. /*! @} */
  43592. /* The count of FLEXSPI_FLSHCR0 */
  43593. #define FLEXSPI_FLSHCR0_COUNT (4U)
  43594. /*! @name FLSHCR1 - Flash Control Register 1 */
  43595. /*! @{ */
  43596. #define FLEXSPI_FLSHCR1_TCSS_MASK (0x1FU)
  43597. #define FLEXSPI_FLSHCR1_TCSS_SHIFT (0U)
  43598. /*! TCSS - Serial Flash CS setup time.
  43599. */
  43600. #define FLEXSPI_FLSHCR1_TCSS(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR1_TCSS_SHIFT)) & FLEXSPI_FLSHCR1_TCSS_MASK)
  43601. #define FLEXSPI_FLSHCR1_TCSH_MASK (0x3E0U)
  43602. #define FLEXSPI_FLSHCR1_TCSH_SHIFT (5U)
  43603. /*! TCSH - Serial Flash CS Hold time.
  43604. */
  43605. #define FLEXSPI_FLSHCR1_TCSH(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR1_TCSH_SHIFT)) & FLEXSPI_FLSHCR1_TCSH_MASK)
  43606. #define FLEXSPI_FLSHCR1_WA_MASK (0x400U)
  43607. #define FLEXSPI_FLSHCR1_WA_SHIFT (10U)
  43608. /*! WA - Word Addressable.
  43609. */
  43610. #define FLEXSPI_FLSHCR1_WA(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR1_WA_SHIFT)) & FLEXSPI_FLSHCR1_WA_MASK)
  43611. #define FLEXSPI_FLSHCR1_CAS_MASK (0x7800U)
  43612. #define FLEXSPI_FLSHCR1_CAS_SHIFT (11U)
  43613. /*! CAS - Column Address Size.
  43614. */
  43615. #define FLEXSPI_FLSHCR1_CAS(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR1_CAS_SHIFT)) & FLEXSPI_FLSHCR1_CAS_MASK)
  43616. #define FLEXSPI_FLSHCR1_CSINTERVALUNIT_MASK (0x8000U)
  43617. #define FLEXSPI_FLSHCR1_CSINTERVALUNIT_SHIFT (15U)
  43618. /*! CSINTERVALUNIT - CS interval unit
  43619. * 0b0..The CS interval unit is 1 serial clock cycle
  43620. * 0b1..The CS interval unit is 256 serial clock cycle
  43621. */
  43622. #define FLEXSPI_FLSHCR1_CSINTERVALUNIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR1_CSINTERVALUNIT_SHIFT)) & FLEXSPI_FLSHCR1_CSINTERVALUNIT_MASK)
  43623. #define FLEXSPI_FLSHCR1_CSINTERVAL_MASK (0xFFFF0000U)
  43624. #define FLEXSPI_FLSHCR1_CSINTERVAL_SHIFT (16U)
  43625. /*! CSINTERVAL - This field is used to set the minimum interval between flash device Chip selection
  43626. * deassertion and flash device Chip selection assertion. If external flash has a limitation on
  43627. * the interval between command sequences, this field should be set accordingly. If there is no
  43628. * limitation, set this field with value 0x0.
  43629. */
  43630. #define FLEXSPI_FLSHCR1_CSINTERVAL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR1_CSINTERVAL_SHIFT)) & FLEXSPI_FLSHCR1_CSINTERVAL_MASK)
  43631. /*! @} */
  43632. /* The count of FLEXSPI_FLSHCR1 */
  43633. #define FLEXSPI_FLSHCR1_COUNT (4U)
  43634. /*! @name FLSHCR2 - Flash Control Register 2 */
  43635. /*! @{ */
  43636. #define FLEXSPI_FLSHCR2_ARDSEQID_MASK (0xFU)
  43637. #define FLEXSPI_FLSHCR2_ARDSEQID_SHIFT (0U)
  43638. /*! ARDSEQID - Sequence Index for AHB Read triggered Command in LUT.
  43639. */
  43640. #define FLEXSPI_FLSHCR2_ARDSEQID(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR2_ARDSEQID_SHIFT)) & FLEXSPI_FLSHCR2_ARDSEQID_MASK)
  43641. #define FLEXSPI_FLSHCR2_ARDSEQNUM_MASK (0xE0U)
  43642. #define FLEXSPI_FLSHCR2_ARDSEQNUM_SHIFT (5U)
  43643. /*! ARDSEQNUM - Sequence Number for AHB Read triggered Command in LUT.
  43644. */
  43645. #define FLEXSPI_FLSHCR2_ARDSEQNUM(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR2_ARDSEQNUM_SHIFT)) & FLEXSPI_FLSHCR2_ARDSEQNUM_MASK)
  43646. #define FLEXSPI_FLSHCR2_AWRSEQID_MASK (0xF00U)
  43647. #define FLEXSPI_FLSHCR2_AWRSEQID_SHIFT (8U)
  43648. /*! AWRSEQID - Sequence Index for AHB Write triggered Command.
  43649. */
  43650. #define FLEXSPI_FLSHCR2_AWRSEQID(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR2_AWRSEQID_SHIFT)) & FLEXSPI_FLSHCR2_AWRSEQID_MASK)
  43651. #define FLEXSPI_FLSHCR2_AWRSEQNUM_MASK (0xE000U)
  43652. #define FLEXSPI_FLSHCR2_AWRSEQNUM_SHIFT (13U)
  43653. /*! AWRSEQNUM - Sequence Number for AHB Write triggered Command.
  43654. */
  43655. #define FLEXSPI_FLSHCR2_AWRSEQNUM(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR2_AWRSEQNUM_SHIFT)) & FLEXSPI_FLSHCR2_AWRSEQNUM_MASK)
  43656. #define FLEXSPI_FLSHCR2_AWRWAIT_MASK (0xFFF0000U)
  43657. #define FLEXSPI_FLSHCR2_AWRWAIT_SHIFT (16U)
  43658. #define FLEXSPI_FLSHCR2_AWRWAIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR2_AWRWAIT_SHIFT)) & FLEXSPI_FLSHCR2_AWRWAIT_MASK)
  43659. #define FLEXSPI_FLSHCR2_AWRWAITUNIT_MASK (0x70000000U)
  43660. #define FLEXSPI_FLSHCR2_AWRWAITUNIT_SHIFT (28U)
  43661. /*! AWRWAITUNIT - AWRWAIT unit
  43662. * 0b000..The AWRWAIT unit is 2 ahb clock cycle
  43663. * 0b001..The AWRWAIT unit is 8 ahb clock cycle
  43664. * 0b010..The AWRWAIT unit is 32 ahb clock cycle
  43665. * 0b011..The AWRWAIT unit is 128 ahb clock cycle
  43666. * 0b100..The AWRWAIT unit is 512 ahb clock cycle
  43667. * 0b101..The AWRWAIT unit is 2048 ahb clock cycle
  43668. * 0b110..The AWRWAIT unit is 8192 ahb clock cycle
  43669. * 0b111..The AWRWAIT unit is 32768 ahb clock cycle
  43670. */
  43671. #define FLEXSPI_FLSHCR2_AWRWAITUNIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR2_AWRWAITUNIT_SHIFT)) & FLEXSPI_FLSHCR2_AWRWAITUNIT_MASK)
  43672. #define FLEXSPI_FLSHCR2_CLRINSTRPTR_MASK (0x80000000U)
  43673. #define FLEXSPI_FLSHCR2_CLRINSTRPTR_SHIFT (31U)
  43674. /*! CLRINSTRPTR - Clear the instruction pointer which is internally saved pointer by JMP_ON_CS.
  43675. * Refer Programmable Sequence Engine for details.
  43676. */
  43677. #define FLEXSPI_FLSHCR2_CLRINSTRPTR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR2_CLRINSTRPTR_SHIFT)) & FLEXSPI_FLSHCR2_CLRINSTRPTR_MASK)
  43678. /*! @} */
  43679. /* The count of FLEXSPI_FLSHCR2 */
  43680. #define FLEXSPI_FLSHCR2_COUNT (4U)
  43681. /*! @name FLSHCR4 - Flash Control Register 4 */
  43682. /*! @{ */
  43683. #define FLEXSPI_FLSHCR4_WMOPT1_MASK (0x1U)
  43684. #define FLEXSPI_FLSHCR4_WMOPT1_SHIFT (0U)
  43685. /*! WMOPT1 - Write mask option bit 1. This option bit could be used to remove AHB write burst start address alignment limitation.
  43686. * 0b0..DQS pin will be used as Write Mask when writing to external device. There is no limitation on AHB write
  43687. * burst start address alignment when flash is accessed in individual mode.
  43688. * 0b1..DQS pin will not be used as Write Mask when writing to external device. There is limitation on AHB write
  43689. * burst start address alignment when flash is accessed in individual mode.
  43690. */
  43691. #define FLEXSPI_FLSHCR4_WMOPT1(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR4_WMOPT1_SHIFT)) & FLEXSPI_FLSHCR4_WMOPT1_MASK)
  43692. #define FLEXSPI_FLSHCR4_WMOPT2_MASK (0x2U)
  43693. #define FLEXSPI_FLSHCR4_WMOPT2_SHIFT (1U)
  43694. /*! WMOPT2 - Write mask option bit 2. When using AP memory, This option bit could be used to remove
  43695. * AHB write burst minimal length limitation. When using this bit, WMOPT1 should also be set.
  43696. * 0b0..DQS pin will be used as Write Mask when writing to external device. There is no limitation on AHB write
  43697. * burst length when flash is accessed in individual mode.
  43698. * 0b1..DQS pin will not be used as Write Mask when writing to external device. There is limitation on AHB write
  43699. * burst length when flash is accessed in individual mode, the minimal write burst length should be 4.
  43700. */
  43701. #define FLEXSPI_FLSHCR4_WMOPT2(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR4_WMOPT2_SHIFT)) & FLEXSPI_FLSHCR4_WMOPT2_MASK)
  43702. #define FLEXSPI_FLSHCR4_WMENA_MASK (0x4U)
  43703. #define FLEXSPI_FLSHCR4_WMENA_SHIFT (2U)
  43704. /*! WMENA - Write mask enable bit for flash device on port A. When write mask function is needed for
  43705. * memory device on port A, this bit must be set.
  43706. * 0b0..Write mask is disabled, DQS(RWDS) pin will be un-driven when writing to external device.
  43707. * 0b1..Write mask is enabled, DQS(RWDS) pin will be driven by FlexSPI as write mask output when writing to external device.
  43708. */
  43709. #define FLEXSPI_FLSHCR4_WMENA(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR4_WMENA_SHIFT)) & FLEXSPI_FLSHCR4_WMENA_MASK)
  43710. #define FLEXSPI_FLSHCR4_WMENB_MASK (0x8U)
  43711. #define FLEXSPI_FLSHCR4_WMENB_SHIFT (3U)
  43712. /*! WMENB - Write mask enable bit for flash device on port B. When write mask function is needed for
  43713. * memory device on port B, this bit must be set.
  43714. * 0b0..Write mask is disabled, DQS(RWDS) pin will be un-driven when writing to external device.
  43715. * 0b1..Write mask is enabled, DQS(RWDS) pin will be driven by FlexSPI as write mask output when writing to external device.
  43716. */
  43717. #define FLEXSPI_FLSHCR4_WMENB(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR4_WMENB_SHIFT)) & FLEXSPI_FLSHCR4_WMENB_MASK)
  43718. #define FLEXSPI_FLSHCR4_PAR_WM_MASK (0x600U)
  43719. #define FLEXSPI_FLSHCR4_PAR_WM_SHIFT (9U)
  43720. /*! PAR_WM - Enable APMEM 16 bit write mask function, bit 9 for A1-B1 pair, bit 10 for A2-B2 pair.
  43721. */
  43722. #define FLEXSPI_FLSHCR4_PAR_WM(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR4_PAR_WM_SHIFT)) & FLEXSPI_FLSHCR4_PAR_WM_MASK)
  43723. #define FLEXSPI_FLSHCR4_PAR_ADDR_ADJ_DIS_MASK (0x800U)
  43724. #define FLEXSPI_FLSHCR4_PAR_ADDR_ADJ_DIS_SHIFT (11U)
  43725. /*! PAR_ADDR_ADJ_DIS - Disable the address shift logic for lower density of 16 bit PSRAM.
  43726. */
  43727. #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)
  43728. /*! @} */
  43729. /*! @name IPCR0 - IP Control Register 0 */
  43730. /*! @{ */
  43731. #define FLEXSPI_IPCR0_SFAR_MASK (0xFFFFFFFFU)
  43732. #define FLEXSPI_IPCR0_SFAR_SHIFT (0U)
  43733. /*! SFAR - Serial Flash Address for IP command.
  43734. */
  43735. #define FLEXSPI_IPCR0_SFAR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPCR0_SFAR_SHIFT)) & FLEXSPI_IPCR0_SFAR_MASK)
  43736. /*! @} */
  43737. /*! @name IPCR1 - IP Control Register 1 */
  43738. /*! @{ */
  43739. #define FLEXSPI_IPCR1_IDATSZ_MASK (0xFFFFU)
  43740. #define FLEXSPI_IPCR1_IDATSZ_SHIFT (0U)
  43741. /*! IDATSZ - Flash Read/Program Data Size (in Bytes) for IP command.
  43742. */
  43743. #define FLEXSPI_IPCR1_IDATSZ(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPCR1_IDATSZ_SHIFT)) & FLEXSPI_IPCR1_IDATSZ_MASK)
  43744. #define FLEXSPI_IPCR1_ISEQID_MASK (0xF0000U)
  43745. #define FLEXSPI_IPCR1_ISEQID_SHIFT (16U)
  43746. /*! ISEQID - Sequence Index in LUT for IP command.
  43747. */
  43748. #define FLEXSPI_IPCR1_ISEQID(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPCR1_ISEQID_SHIFT)) & FLEXSPI_IPCR1_ISEQID_MASK)
  43749. #define FLEXSPI_IPCR1_ISEQNUM_MASK (0x7000000U)
  43750. #define FLEXSPI_IPCR1_ISEQNUM_SHIFT (24U)
  43751. /*! ISEQNUM - Sequence Number for IP command: ISEQNUM+1.
  43752. */
  43753. #define FLEXSPI_IPCR1_ISEQNUM(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPCR1_ISEQNUM_SHIFT)) & FLEXSPI_IPCR1_ISEQNUM_MASK)
  43754. #define FLEXSPI_IPCR1_IPAREN_MASK (0x80000000U)
  43755. #define FLEXSPI_IPCR1_IPAREN_SHIFT (31U)
  43756. /*! IPAREN - Parallel mode Enabled for IP command.
  43757. * 0b0..Flash will be accessed in Individual mode.
  43758. * 0b1..Flash will be accessed in Parallel mode.
  43759. */
  43760. #define FLEXSPI_IPCR1_IPAREN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPCR1_IPAREN_SHIFT)) & FLEXSPI_IPCR1_IPAREN_MASK)
  43761. /*! @} */
  43762. /*! @name IPCMD - IP Command Register */
  43763. /*! @{ */
  43764. #define FLEXSPI_IPCMD_TRG_MASK (0x1U)
  43765. #define FLEXSPI_IPCMD_TRG_SHIFT (0U)
  43766. /*! TRG - Setting this bit will trigger an IP Command.
  43767. */
  43768. #define FLEXSPI_IPCMD_TRG(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPCMD_TRG_SHIFT)) & FLEXSPI_IPCMD_TRG_MASK)
  43769. /*! @} */
  43770. /*! @name IPRXFCR - IP RX FIFO Control Register */
  43771. /*! @{ */
  43772. #define FLEXSPI_IPRXFCR_CLRIPRXF_MASK (0x1U)
  43773. #define FLEXSPI_IPRXFCR_CLRIPRXF_SHIFT (0U)
  43774. /*! CLRIPRXF - Clear all valid data entries in IP RX FIFO.
  43775. */
  43776. #define FLEXSPI_IPRXFCR_CLRIPRXF(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPRXFCR_CLRIPRXF_SHIFT)) & FLEXSPI_IPRXFCR_CLRIPRXF_MASK)
  43777. #define FLEXSPI_IPRXFCR_RXDMAEN_MASK (0x2U)
  43778. #define FLEXSPI_IPRXFCR_RXDMAEN_SHIFT (1U)
  43779. /*! RXDMAEN - IP RX FIFO reading by DMA enabled.
  43780. * 0b0..IP RX FIFO would be read by processor.
  43781. * 0b1..IP RX FIFO would be read by DMA.
  43782. */
  43783. #define FLEXSPI_IPRXFCR_RXDMAEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPRXFCR_RXDMAEN_SHIFT)) & FLEXSPI_IPRXFCR_RXDMAEN_MASK)
  43784. #define FLEXSPI_IPRXFCR_RXWMRK_MASK (0x7CU)
  43785. #define FLEXSPI_IPRXFCR_RXWMRK_SHIFT (2U)
  43786. /*! RXWMRK - Watermark level is (RXWMRK+1)*64 Bits.
  43787. */
  43788. #define FLEXSPI_IPRXFCR_RXWMRK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPRXFCR_RXWMRK_SHIFT)) & FLEXSPI_IPRXFCR_RXWMRK_MASK)
  43789. /*! @} */
  43790. /*! @name IPTXFCR - IP TX FIFO Control Register */
  43791. /*! @{ */
  43792. #define FLEXSPI_IPTXFCR_CLRIPTXF_MASK (0x1U)
  43793. #define FLEXSPI_IPTXFCR_CLRIPTXF_SHIFT (0U)
  43794. /*! CLRIPTXF - Clear all valid data entries in IP TX FIFO.
  43795. */
  43796. #define FLEXSPI_IPTXFCR_CLRIPTXF(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPTXFCR_CLRIPTXF_SHIFT)) & FLEXSPI_IPTXFCR_CLRIPTXF_MASK)
  43797. #define FLEXSPI_IPTXFCR_TXDMAEN_MASK (0x2U)
  43798. #define FLEXSPI_IPTXFCR_TXDMAEN_SHIFT (1U)
  43799. /*! TXDMAEN - IP TX FIFO filling by DMA enabled.
  43800. * 0b0..IP TX FIFO would be filled by processor.
  43801. * 0b1..IP TX FIFO would be filled by DMA.
  43802. */
  43803. #define FLEXSPI_IPTXFCR_TXDMAEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPTXFCR_TXDMAEN_SHIFT)) & FLEXSPI_IPTXFCR_TXDMAEN_MASK)
  43804. #define FLEXSPI_IPTXFCR_TXWMRK_MASK (0x7CU)
  43805. #define FLEXSPI_IPTXFCR_TXWMRK_SHIFT (2U)
  43806. /*! TXWMRK - Watermark level is (TXWMRK+1)*64 Bits.
  43807. */
  43808. #define FLEXSPI_IPTXFCR_TXWMRK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPTXFCR_TXWMRK_SHIFT)) & FLEXSPI_IPTXFCR_TXWMRK_MASK)
  43809. /*! @} */
  43810. /*! @name DLLCR - DLL Control Register 0 */
  43811. /*! @{ */
  43812. #define FLEXSPI_DLLCR_DLLEN_MASK (0x1U)
  43813. #define FLEXSPI_DLLCR_DLLEN_SHIFT (0U)
  43814. /*! DLLEN - DLL calibration enable.
  43815. */
  43816. #define FLEXSPI_DLLCR_DLLEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_DLLCR_DLLEN_SHIFT)) & FLEXSPI_DLLCR_DLLEN_MASK)
  43817. #define FLEXSPI_DLLCR_DLLRESET_MASK (0x2U)
  43818. #define FLEXSPI_DLLCR_DLLRESET_SHIFT (1U)
  43819. /*! DLLRESET - Software could force a reset on DLL by setting this field to 0x1. This will cause the
  43820. * DLL to lose lock and re-calibrate to detect an ref_clock half period phase shift. The reset
  43821. * action is edge triggered, so software need to clear this bit after set this bit (no delay
  43822. * limitation).
  43823. */
  43824. #define FLEXSPI_DLLCR_DLLRESET(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_DLLCR_DLLRESET_SHIFT)) & FLEXSPI_DLLCR_DLLRESET_MASK)
  43825. #define FLEXSPI_DLLCR_SLVDLYTARGET_MASK (0x78U)
  43826. #define FLEXSPI_DLLCR_SLVDLYTARGET_SHIFT (3U)
  43827. /*! SLVDLYTARGET - The delay target for slave delay line is: ((SLVDLYTARGET+1) * 1/32 * clock cycle
  43828. * of reference clock (serial root clock). If serial root clock is >= 100 MHz, DLLEN set to 0x1,
  43829. * OVRDEN set to =0x0, then SLVDLYTARGET setting of 0xF is recommended.
  43830. */
  43831. #define FLEXSPI_DLLCR_SLVDLYTARGET(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_DLLCR_SLVDLYTARGET_SHIFT)) & FLEXSPI_DLLCR_SLVDLYTARGET_MASK)
  43832. #define FLEXSPI_DLLCR_OVRDEN_MASK (0x100U)
  43833. #define FLEXSPI_DLLCR_OVRDEN_SHIFT (8U)
  43834. /*! OVRDEN - Slave clock delay line delay cell number selection override enable.
  43835. */
  43836. #define FLEXSPI_DLLCR_OVRDEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_DLLCR_OVRDEN_SHIFT)) & FLEXSPI_DLLCR_OVRDEN_MASK)
  43837. #define FLEXSPI_DLLCR_OVRDVAL_MASK (0x7E00U)
  43838. #define FLEXSPI_DLLCR_OVRDVAL_SHIFT (9U)
  43839. /*! OVRDVAL - Slave clock delay line delay cell number selection override value.
  43840. */
  43841. #define FLEXSPI_DLLCR_OVRDVAL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_DLLCR_OVRDVAL_SHIFT)) & FLEXSPI_DLLCR_OVRDVAL_MASK)
  43842. /*! @} */
  43843. /* The count of FLEXSPI_DLLCR */
  43844. #define FLEXSPI_DLLCR_COUNT (2U)
  43845. /*! @name MISCCR4 - Misc Control Register 4 */
  43846. /*! @{ */
  43847. #define FLEXSPI_MISCCR4_AHBADDRESS_MASK (0xFFFFFFFFU)
  43848. #define FLEXSPI_MISCCR4_AHBADDRESS_SHIFT (0U)
  43849. /*! AHBADDRESS - AHB bus address that trigger the current ECC multi bits error interrupt.
  43850. */
  43851. #define FLEXSPI_MISCCR4_AHBADDRESS(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MISCCR4_AHBADDRESS_SHIFT)) & FLEXSPI_MISCCR4_AHBADDRESS_MASK)
  43852. /*! @} */
  43853. /*! @name MISCCR5 - Misc Control Register 5 */
  43854. /*! @{ */
  43855. #define FLEXSPI_MISCCR5_ECCSINGLEERRORCORR_MASK (0xFFFFFFFFU)
  43856. #define FLEXSPI_MISCCR5_ECCSINGLEERRORCORR_SHIFT (0U)
  43857. /*! ECCSINGLEERRORCORR - ECC single bit error correction indication.
  43858. */
  43859. #define FLEXSPI_MISCCR5_ECCSINGLEERRORCORR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MISCCR5_ECCSINGLEERRORCORR_SHIFT)) & FLEXSPI_MISCCR5_ECCSINGLEERRORCORR_MASK)
  43860. /*! @} */
  43861. /*! @name MISCCR6 - Misc Control Register 6 */
  43862. /*! @{ */
  43863. #define FLEXSPI_MISCCR6_VALID_MASK (0x1U)
  43864. #define FLEXSPI_MISCCR6_VALID_SHIFT (0U)
  43865. /*! VALID - ECC single error information Valid
  43866. */
  43867. #define FLEXSPI_MISCCR6_VALID(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MISCCR6_VALID_SHIFT)) & FLEXSPI_MISCCR6_VALID_MASK)
  43868. #define FLEXSPI_MISCCR6_HIT_MASK (0x2U)
  43869. #define FLEXSPI_MISCCR6_HIT_SHIFT (1U)
  43870. /*! HIT - ECC single error information Hit
  43871. */
  43872. #define FLEXSPI_MISCCR6_HIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MISCCR6_HIT_SHIFT)) & FLEXSPI_MISCCR6_HIT_MASK)
  43873. #define FLEXSPI_MISCCR6_ADDRESS_MASK (0xFFFFFFFCU)
  43874. #define FLEXSPI_MISCCR6_ADDRESS_SHIFT (2U)
  43875. /*! ADDRESS - ECC single error address
  43876. */
  43877. #define FLEXSPI_MISCCR6_ADDRESS(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MISCCR6_ADDRESS_SHIFT)) & FLEXSPI_MISCCR6_ADDRESS_MASK)
  43878. /*! @} */
  43879. /*! @name MISCCR7 - Misc Control Register 7 */
  43880. /*! @{ */
  43881. #define FLEXSPI_MISCCR7_VALID_MASK (0x1U)
  43882. #define FLEXSPI_MISCCR7_VALID_SHIFT (0U)
  43883. /*! VALID - ECC multi error information Valid
  43884. */
  43885. #define FLEXSPI_MISCCR7_VALID(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MISCCR7_VALID_SHIFT)) & FLEXSPI_MISCCR7_VALID_MASK)
  43886. #define FLEXSPI_MISCCR7_HIT_MASK (0x2U)
  43887. #define FLEXSPI_MISCCR7_HIT_SHIFT (1U)
  43888. /*! HIT - ECC multi error information Hit
  43889. */
  43890. #define FLEXSPI_MISCCR7_HIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MISCCR7_HIT_SHIFT)) & FLEXSPI_MISCCR7_HIT_MASK)
  43891. #define FLEXSPI_MISCCR7_ADDRESS_MASK (0xFFFFFFFCU)
  43892. #define FLEXSPI_MISCCR7_ADDRESS_SHIFT (2U)
  43893. /*! ADDRESS - ECC multi error address
  43894. */
  43895. #define FLEXSPI_MISCCR7_ADDRESS(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MISCCR7_ADDRESS_SHIFT)) & FLEXSPI_MISCCR7_ADDRESS_MASK)
  43896. /*! @} */
  43897. /*! @name STS0 - Status Register 0 */
  43898. /*! @{ */
  43899. #define FLEXSPI_STS0_SEQIDLE_MASK (0x1U)
  43900. #define FLEXSPI_STS0_SEQIDLE_SHIFT (0U)
  43901. /*! SEQIDLE - This status bit indicates the state machine in SEQ_CTL is idle and there is command
  43902. * sequence executing on FlexSPI interface.
  43903. */
  43904. #define FLEXSPI_STS0_SEQIDLE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS0_SEQIDLE_SHIFT)) & FLEXSPI_STS0_SEQIDLE_MASK)
  43905. #define FLEXSPI_STS0_ARBIDLE_MASK (0x2U)
  43906. #define FLEXSPI_STS0_ARBIDLE_SHIFT (1U)
  43907. /*! ARBIDLE - This status bit indicates the state machine in ARB_CTL is busy and there is command
  43908. * sequence granted by arbitrator and not finished yet on FlexSPI interface. When ARB_CTL state
  43909. * (ARBIDLE=0x1) is idle, there will be no transaction on FlexSPI interface also (SEQIDLE=0x1). So
  43910. * this bit should be polled to wait for FlexSPI controller become idle instead of SEQIDLE.
  43911. */
  43912. #define FLEXSPI_STS0_ARBIDLE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS0_ARBIDLE_SHIFT)) & FLEXSPI_STS0_ARBIDLE_MASK)
  43913. #define FLEXSPI_STS0_ARBCMDSRC_MASK (0xCU)
  43914. #define FLEXSPI_STS0_ARBCMDSRC_SHIFT (2U)
  43915. /*! ARBCMDSRC - This status field indicates the trigger source of current command sequence granted
  43916. * by arbitrator. This field value is meaningless when ARB_CTL is not busy (STS0[ARBIDLE]=0x1).
  43917. * 0b00..Triggered by AHB read command (triggered by AHB read).
  43918. * 0b01..Triggered by AHB write command (triggered by AHB Write).
  43919. * 0b10..Triggered by IP command (triggered by setting register bit IPCMD.TRG).
  43920. * 0b11..Triggered by suspended command (resumed).
  43921. */
  43922. #define FLEXSPI_STS0_ARBCMDSRC(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS0_ARBCMDSRC_SHIFT)) & FLEXSPI_STS0_ARBCMDSRC_MASK)
  43923. /*! @} */
  43924. /*! @name STS1 - Status Register 1 */
  43925. /*! @{ */
  43926. #define FLEXSPI_STS1_AHBCMDERRID_MASK (0xFU)
  43927. #define FLEXSPI_STS1_AHBCMDERRID_SHIFT (0U)
  43928. /*! AHBCMDERRID - Indicates the sequence index when an AHB command error is detected. This field
  43929. * will be cleared when INTR[AHBCMDERR] is write-1-clear(w1c).
  43930. */
  43931. #define FLEXSPI_STS1_AHBCMDERRID(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS1_AHBCMDERRID_SHIFT)) & FLEXSPI_STS1_AHBCMDERRID_MASK)
  43932. #define FLEXSPI_STS1_AHBCMDERRCODE_MASK (0xF00U)
  43933. #define FLEXSPI_STS1_AHBCMDERRCODE_SHIFT (8U)
  43934. /*! AHBCMDERRCODE - Indicates the Error Code when AHB command Error detected. This field will be
  43935. * cleared when INTR[AHBCMDERR] is write-1-clear(w1c).
  43936. * 0b0000..No error.
  43937. * 0b0010..AHB Write command with JMP_ON_CS instruction used in the sequence.
  43938. * 0b0011..There is unknown instruction opcode in the sequence.
  43939. * 0b0100..Instruction DUMMY_SDR/DUMMY_RWDS_SDR used in DDR sequence.
  43940. * 0b0101..Instruction DUMMY_DDR/DUMMY_RWDS_DDR used in SDR sequence.
  43941. * 0b1110..Sequence execution timeout.
  43942. */
  43943. #define FLEXSPI_STS1_AHBCMDERRCODE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS1_AHBCMDERRCODE_SHIFT)) & FLEXSPI_STS1_AHBCMDERRCODE_MASK)
  43944. #define FLEXSPI_STS1_IPCMDERRID_MASK (0xF0000U)
  43945. #define FLEXSPI_STS1_IPCMDERRID_SHIFT (16U)
  43946. /*! IPCMDERRID - Indicates the sequence Index when IP command error detected. This field will be
  43947. * cleared when INTR[IPCMDERR] is write-1-clear(w1c).
  43948. */
  43949. #define FLEXSPI_STS1_IPCMDERRID(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS1_IPCMDERRID_SHIFT)) & FLEXSPI_STS1_IPCMDERRID_MASK)
  43950. #define FLEXSPI_STS1_IPCMDERRCODE_MASK (0xF000000U)
  43951. #define FLEXSPI_STS1_IPCMDERRCODE_SHIFT (24U)
  43952. /*! IPCMDERRCODE - Indicates the Error Code when IP command Error detected. This field will be
  43953. * cleared when INTR[IPCMDERR] is write-1-clear(w1c).
  43954. * 0b0000..No error.
  43955. * 0b0010..IP command with JMP_ON_CS instruction used in the sequence.
  43956. * 0b0011..There is unknown instruction opcode in the sequence.
  43957. * 0b0100..Instruction DUMMY_SDR/DUMMY_RWDS_SDR used in DDR sequence.
  43958. * 0b0101..Instruction DUMMY_DDR/DUMMY_RWDS_DDR used in SDR sequence.
  43959. * 0b0110..Flash access start address exceed the whole flash address range (A1/A2/B1/B2).
  43960. * 0b1110..Sequence execution timeout.
  43961. * 0b1111..Flash boundary crossed.
  43962. */
  43963. #define FLEXSPI_STS1_IPCMDERRCODE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS1_IPCMDERRCODE_SHIFT)) & FLEXSPI_STS1_IPCMDERRCODE_MASK)
  43964. /*! @} */
  43965. /*! @name STS2 - Status Register 2 */
  43966. /*! @{ */
  43967. #define FLEXSPI_STS2_ASLVLOCK_MASK (0x1U)
  43968. #define FLEXSPI_STS2_ASLVLOCK_SHIFT (0U)
  43969. /*! ASLVLOCK - Flash A sample clock slave delay line locked.
  43970. */
  43971. #define FLEXSPI_STS2_ASLVLOCK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS2_ASLVLOCK_SHIFT)) & FLEXSPI_STS2_ASLVLOCK_MASK)
  43972. #define FLEXSPI_STS2_AREFLOCK_MASK (0x2U)
  43973. #define FLEXSPI_STS2_AREFLOCK_SHIFT (1U)
  43974. /*! AREFLOCK - Flash A sample clock reference delay line locked.
  43975. */
  43976. #define FLEXSPI_STS2_AREFLOCK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS2_AREFLOCK_SHIFT)) & FLEXSPI_STS2_AREFLOCK_MASK)
  43977. #define FLEXSPI_STS2_ASLVSEL_MASK (0xFCU)
  43978. #define FLEXSPI_STS2_ASLVSEL_SHIFT (2U)
  43979. /*! ASLVSEL - Flash A sample clock slave delay line delay cell number selection .
  43980. */
  43981. #define FLEXSPI_STS2_ASLVSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS2_ASLVSEL_SHIFT)) & FLEXSPI_STS2_ASLVSEL_MASK)
  43982. #define FLEXSPI_STS2_AREFSEL_MASK (0x3F00U)
  43983. #define FLEXSPI_STS2_AREFSEL_SHIFT (8U)
  43984. /*! AREFSEL - Flash A sample clock reference delay line delay cell number selection.
  43985. */
  43986. #define FLEXSPI_STS2_AREFSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS2_AREFSEL_SHIFT)) & FLEXSPI_STS2_AREFSEL_MASK)
  43987. #define FLEXSPI_STS2_BSLVLOCK_MASK (0x10000U)
  43988. #define FLEXSPI_STS2_BSLVLOCK_SHIFT (16U)
  43989. /*! BSLVLOCK - Flash B sample clock slave delay line locked.
  43990. */
  43991. #define FLEXSPI_STS2_BSLVLOCK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS2_BSLVLOCK_SHIFT)) & FLEXSPI_STS2_BSLVLOCK_MASK)
  43992. #define FLEXSPI_STS2_BREFLOCK_MASK (0x20000U)
  43993. #define FLEXSPI_STS2_BREFLOCK_SHIFT (17U)
  43994. /*! BREFLOCK - Flash B sample clock reference delay line locked.
  43995. */
  43996. #define FLEXSPI_STS2_BREFLOCK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS2_BREFLOCK_SHIFT)) & FLEXSPI_STS2_BREFLOCK_MASK)
  43997. #define FLEXSPI_STS2_BSLVSEL_MASK (0xFC0000U)
  43998. #define FLEXSPI_STS2_BSLVSEL_SHIFT (18U)
  43999. /*! BSLVSEL - Flash B sample clock slave delay line delay cell number selection.
  44000. */
  44001. #define FLEXSPI_STS2_BSLVSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS2_BSLVSEL_SHIFT)) & FLEXSPI_STS2_BSLVSEL_MASK)
  44002. #define FLEXSPI_STS2_BREFSEL_MASK (0x3F000000U)
  44003. #define FLEXSPI_STS2_BREFSEL_SHIFT (24U)
  44004. /*! BREFSEL - Flash B sample clock reference delay line delay cell number selection.
  44005. */
  44006. #define FLEXSPI_STS2_BREFSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS2_BREFSEL_SHIFT)) & FLEXSPI_STS2_BREFSEL_MASK)
  44007. /*! @} */
  44008. /*! @name AHBSPNDSTS - AHB Suspend Status Register */
  44009. /*! @{ */
  44010. #define FLEXSPI_AHBSPNDSTS_ACTIVE_MASK (0x1U)
  44011. #define FLEXSPI_AHBSPNDSTS_ACTIVE_SHIFT (0U)
  44012. /*! ACTIVE - Indicates if an AHB read prefetch command sequence has been suspended.
  44013. */
  44014. #define FLEXSPI_AHBSPNDSTS_ACTIVE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBSPNDSTS_ACTIVE_SHIFT)) & FLEXSPI_AHBSPNDSTS_ACTIVE_MASK)
  44015. #define FLEXSPI_AHBSPNDSTS_BUFID_MASK (0xEU)
  44016. #define FLEXSPI_AHBSPNDSTS_BUFID_SHIFT (1U)
  44017. /*! BUFID - AHB RX BUF ID for suspended command sequence.
  44018. */
  44019. #define FLEXSPI_AHBSPNDSTS_BUFID(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBSPNDSTS_BUFID_SHIFT)) & FLEXSPI_AHBSPNDSTS_BUFID_MASK)
  44020. #define FLEXSPI_AHBSPNDSTS_DATLFT_MASK (0xFFFF0000U)
  44021. #define FLEXSPI_AHBSPNDSTS_DATLFT_SHIFT (16U)
  44022. /*! DATLFT - Left Data size for suspended command sequence (in byte).
  44023. */
  44024. #define FLEXSPI_AHBSPNDSTS_DATLFT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBSPNDSTS_DATLFT_SHIFT)) & FLEXSPI_AHBSPNDSTS_DATLFT_MASK)
  44025. /*! @} */
  44026. /*! @name IPRXFSTS - IP RX FIFO Status Register */
  44027. /*! @{ */
  44028. #define FLEXSPI_IPRXFSTS_FILL_MASK (0xFFU)
  44029. #define FLEXSPI_IPRXFSTS_FILL_SHIFT (0U)
  44030. /*! FILL - Fill level of IP RX FIFO.
  44031. */
  44032. #define FLEXSPI_IPRXFSTS_FILL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPRXFSTS_FILL_SHIFT)) & FLEXSPI_IPRXFSTS_FILL_MASK)
  44033. #define FLEXSPI_IPRXFSTS_RDCNTR_MASK (0xFFFF0000U)
  44034. #define FLEXSPI_IPRXFSTS_RDCNTR_SHIFT (16U)
  44035. /*! RDCNTR - Total Read Data Counter: RDCNTR * 64 Bits.
  44036. */
  44037. #define FLEXSPI_IPRXFSTS_RDCNTR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPRXFSTS_RDCNTR_SHIFT)) & FLEXSPI_IPRXFSTS_RDCNTR_MASK)
  44038. /*! @} */
  44039. /*! @name IPTXFSTS - IP TX FIFO Status Register */
  44040. /*! @{ */
  44041. #define FLEXSPI_IPTXFSTS_FILL_MASK (0xFFU)
  44042. #define FLEXSPI_IPTXFSTS_FILL_SHIFT (0U)
  44043. /*! FILL - Fill level of IP TX FIFO.
  44044. */
  44045. #define FLEXSPI_IPTXFSTS_FILL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPTXFSTS_FILL_SHIFT)) & FLEXSPI_IPTXFSTS_FILL_MASK)
  44046. #define FLEXSPI_IPTXFSTS_WRCNTR_MASK (0xFFFF0000U)
  44047. #define FLEXSPI_IPTXFSTS_WRCNTR_SHIFT (16U)
  44048. /*! WRCNTR - Total Write Data Counter: WRCNTR * 64 Bits.
  44049. */
  44050. #define FLEXSPI_IPTXFSTS_WRCNTR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPTXFSTS_WRCNTR_SHIFT)) & FLEXSPI_IPTXFSTS_WRCNTR_MASK)
  44051. /*! @} */
  44052. /*! @name RFDR - IP RX FIFO Data Register 0..IP RX FIFO Data Register 31 */
  44053. /*! @{ */
  44054. #define FLEXSPI_RFDR_RXDATA_MASK (0xFFFFFFFFU)
  44055. #define FLEXSPI_RFDR_RXDATA_SHIFT (0U)
  44056. /*! RXDATA - RX Data
  44057. */
  44058. #define FLEXSPI_RFDR_RXDATA(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_RFDR_RXDATA_SHIFT)) & FLEXSPI_RFDR_RXDATA_MASK)
  44059. /*! @} */
  44060. /* The count of FLEXSPI_RFDR */
  44061. #define FLEXSPI_RFDR_COUNT (32U)
  44062. /*! @name TFDR - IP TX FIFO Data Register 0..IP TX FIFO Data Register 31 */
  44063. /*! @{ */
  44064. #define FLEXSPI_TFDR_TXDATA_MASK (0xFFFFFFFFU)
  44065. #define FLEXSPI_TFDR_TXDATA_SHIFT (0U)
  44066. /*! TXDATA - TX Data
  44067. */
  44068. #define FLEXSPI_TFDR_TXDATA(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_TFDR_TXDATA_SHIFT)) & FLEXSPI_TFDR_TXDATA_MASK)
  44069. /*! @} */
  44070. /* The count of FLEXSPI_TFDR */
  44071. #define FLEXSPI_TFDR_COUNT (32U)
  44072. /*! @name LUT - LUT 0..LUT 63 */
  44073. /*! @{ */
  44074. #define FLEXSPI_LUT_OPERAND0_MASK (0xFFU)
  44075. #define FLEXSPI_LUT_OPERAND0_SHIFT (0U)
  44076. /*! OPERAND0 - OPERAND0
  44077. */
  44078. #define FLEXSPI_LUT_OPERAND0(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUT_OPERAND0_SHIFT)) & FLEXSPI_LUT_OPERAND0_MASK)
  44079. #define FLEXSPI_LUT_NUM_PADS0_MASK (0x300U)
  44080. #define FLEXSPI_LUT_NUM_PADS0_SHIFT (8U)
  44081. /*! NUM_PADS0 - NUM_PADS0
  44082. */
  44083. #define FLEXSPI_LUT_NUM_PADS0(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUT_NUM_PADS0_SHIFT)) & FLEXSPI_LUT_NUM_PADS0_MASK)
  44084. #define FLEXSPI_LUT_OPCODE0_MASK (0xFC00U)
  44085. #define FLEXSPI_LUT_OPCODE0_SHIFT (10U)
  44086. /*! OPCODE0 - OPCODE
  44087. */
  44088. #define FLEXSPI_LUT_OPCODE0(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUT_OPCODE0_SHIFT)) & FLEXSPI_LUT_OPCODE0_MASK)
  44089. #define FLEXSPI_LUT_OPERAND1_MASK (0xFF0000U)
  44090. #define FLEXSPI_LUT_OPERAND1_SHIFT (16U)
  44091. /*! OPERAND1 - OPERAND1
  44092. */
  44093. #define FLEXSPI_LUT_OPERAND1(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUT_OPERAND1_SHIFT)) & FLEXSPI_LUT_OPERAND1_MASK)
  44094. #define FLEXSPI_LUT_NUM_PADS1_MASK (0x3000000U)
  44095. #define FLEXSPI_LUT_NUM_PADS1_SHIFT (24U)
  44096. /*! NUM_PADS1 - NUM_PADS1
  44097. */
  44098. #define FLEXSPI_LUT_NUM_PADS1(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUT_NUM_PADS1_SHIFT)) & FLEXSPI_LUT_NUM_PADS1_MASK)
  44099. #define FLEXSPI_LUT_OPCODE1_MASK (0xFC000000U)
  44100. #define FLEXSPI_LUT_OPCODE1_SHIFT (26U)
  44101. /*! OPCODE1 - OPCODE1
  44102. */
  44103. #define FLEXSPI_LUT_OPCODE1(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUT_OPCODE1_SHIFT)) & FLEXSPI_LUT_OPCODE1_MASK)
  44104. /*! @} */
  44105. /* The count of FLEXSPI_LUT */
  44106. #define FLEXSPI_LUT_COUNT (64U)
  44107. /*! @name HMSTRCR - AHB Master ID 0 Control Register..AHB Master ID 7 Control Register */
  44108. /*! @{ */
  44109. #define FLEXSPI_HMSTRCR_MASK_MASK (0xFFFFU)
  44110. #define FLEXSPI_HMSTRCR_MASK_SHIFT (0U)
  44111. /*! MASK - Mask bits for AHB master ID.
  44112. * 0b0000000000000000..Mask
  44113. * 0b0000000000000001..Unmask
  44114. */
  44115. #define FLEXSPI_HMSTRCR_MASK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_HMSTRCR_MASK_SHIFT)) & FLEXSPI_HMSTRCR_MASK_MASK)
  44116. #define FLEXSPI_HMSTRCR_MSTRID_MASK (0xFFFF0000U)
  44117. #define FLEXSPI_HMSTRCR_MSTRID_SHIFT (16U)
  44118. /*! MSTRID - This is expected Master ID.
  44119. */
  44120. #define FLEXSPI_HMSTRCR_MSTRID(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_HMSTRCR_MSTRID_SHIFT)) & FLEXSPI_HMSTRCR_MSTRID_MASK)
  44121. /*! @} */
  44122. /* The count of FLEXSPI_HMSTRCR */
  44123. #define FLEXSPI_HMSTRCR_COUNT (8U)
  44124. /*! @name HADDRSTART - HADDR REMAP START ADDR */
  44125. /*! @{ */
  44126. #define FLEXSPI_HADDRSTART_REMAPEN_MASK (0x1U)
  44127. #define FLEXSPI_HADDRSTART_REMAPEN_SHIFT (0U)
  44128. /*! REMAPEN
  44129. * 0b0..HADDR REMAP Disabled
  44130. * 0b1..HADDR REMAP Enabled
  44131. */
  44132. #define FLEXSPI_HADDRSTART_REMAPEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_HADDRSTART_REMAPEN_SHIFT)) & FLEXSPI_HADDRSTART_REMAPEN_MASK)
  44133. #define FLEXSPI_HADDRSTART_KBINECC_MASK (0x2U)
  44134. #define FLEXSPI_HADDRSTART_KBINECC_SHIFT (1U)
  44135. /*! KBINECC
  44136. * 0b0..If key blob is in remap region, FlexSPI will fetch keyblob at base address + offset
  44137. * 0b1..If key blob is in remap region, FlexSPI will fetch keyblob at base address + offset*2
  44138. */
  44139. #define FLEXSPI_HADDRSTART_KBINECC(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_HADDRSTART_KBINECC_SHIFT)) & FLEXSPI_HADDRSTART_KBINECC_MASK)
  44140. #define FLEXSPI_HADDRSTART_ADDRSTART_MASK (0xFFFFF000U)
  44141. #define FLEXSPI_HADDRSTART_ADDRSTART_SHIFT (12U)
  44142. #define FLEXSPI_HADDRSTART_ADDRSTART(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_HADDRSTART_ADDRSTART_SHIFT)) & FLEXSPI_HADDRSTART_ADDRSTART_MASK)
  44143. /*! @} */
  44144. /*! @name HADDREND - HADDR REMAP END ADDR */
  44145. /*! @{ */
  44146. #define FLEXSPI_HADDREND_ENDSTART_MASK (0xFFFFF000U)
  44147. #define FLEXSPI_HADDREND_ENDSTART_SHIFT (12U)
  44148. #define FLEXSPI_HADDREND_ENDSTART(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_HADDREND_ENDSTART_SHIFT)) & FLEXSPI_HADDREND_ENDSTART_MASK)
  44149. /*! @} */
  44150. /*! @name HADDROFFSET - HADDR REMAP OFFSET */
  44151. /*! @{ */
  44152. #define FLEXSPI_HADDROFFSET_ADDROFFSET_MASK (0xFFFFF000U)
  44153. #define FLEXSPI_HADDROFFSET_ADDROFFSET_SHIFT (12U)
  44154. #define FLEXSPI_HADDROFFSET_ADDROFFSET(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_HADDROFFSET_ADDROFFSET_SHIFT)) & FLEXSPI_HADDROFFSET_ADDROFFSET_MASK)
  44155. /*! @} */
  44156. /*! @name IPSNSZSTART0 - IPS nonsecure region Start address of region 0 */
  44157. /*! @{ */
  44158. #define FLEXSPI_IPSNSZSTART0_start_address_MASK (0xFFFFF000U)
  44159. #define FLEXSPI_IPSNSZSTART0_start_address_SHIFT (12U)
  44160. /*! start_address - Start address of region 0. Minimal 4K Bytes aligned. It is flash address.
  44161. */
  44162. #define FLEXSPI_IPSNSZSTART0_start_address(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPSNSZSTART0_start_address_SHIFT)) & FLEXSPI_IPSNSZSTART0_start_address_MASK)
  44163. /*! @} */
  44164. /*! @name IPSNSZEND0 - IPS nonsecure region End address of region 0 */
  44165. /*! @{ */
  44166. #define FLEXSPI_IPSNSZEND0_end_address_MASK (0xFFFFF000U)
  44167. #define FLEXSPI_IPSNSZEND0_end_address_SHIFT (12U)
  44168. /*! end_address - End address of region 0. Minimal 4K Bytes aligned. It is flash address.
  44169. */
  44170. #define FLEXSPI_IPSNSZEND0_end_address(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPSNSZEND0_end_address_SHIFT)) & FLEXSPI_IPSNSZEND0_end_address_MASK)
  44171. /*! @} */
  44172. /*! @name IPSNSZSTART1 - IPS nonsecure region Start address of region 1 */
  44173. /*! @{ */
  44174. #define FLEXSPI_IPSNSZSTART1_start_address_MASK (0xFFFFF000U)
  44175. #define FLEXSPI_IPSNSZSTART1_start_address_SHIFT (12U)
  44176. /*! start_address - Start address of region 1. Minimal 4K Bytes aligned. It is flash address.
  44177. */
  44178. #define FLEXSPI_IPSNSZSTART1_start_address(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPSNSZSTART1_start_address_SHIFT)) & FLEXSPI_IPSNSZSTART1_start_address_MASK)
  44179. /*! @} */
  44180. /*! @name IPSNSZEND1 - IPS nonsecure region End address of region 1 */
  44181. /*! @{ */
  44182. #define FLEXSPI_IPSNSZEND1_end_address_MASK (0xFFFFF000U)
  44183. #define FLEXSPI_IPSNSZEND1_end_address_SHIFT (12U)
  44184. /*! end_address - End address of region 1. Minimal 4K Bytes aligned. It is flash address.
  44185. */
  44186. #define FLEXSPI_IPSNSZEND1_end_address(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPSNSZEND1_end_address_SHIFT)) & FLEXSPI_IPSNSZEND1_end_address_MASK)
  44187. /*! @} */
  44188. /*! @name AHBBUFREGIONSTART0 - RX BUF Start address of region 0 */
  44189. /*! @{ */
  44190. #define FLEXSPI_AHBBUFREGIONSTART0_start_address_MASK (0xFFFFF000U)
  44191. #define FLEXSPI_AHBBUFREGIONSTART0_start_address_SHIFT (12U)
  44192. /*! start_address - Start address of region 0. Minimal 4K Bytes aligned. It is system address.
  44193. */
  44194. #define FLEXSPI_AHBBUFREGIONSTART0_start_address(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBBUFREGIONSTART0_start_address_SHIFT)) & FLEXSPI_AHBBUFREGIONSTART0_start_address_MASK)
  44195. /*! @} */
  44196. /*! @name AHBBUFREGIONEND0 - RX BUF region End address of region 0 */
  44197. /*! @{ */
  44198. #define FLEXSPI_AHBBUFREGIONEND0_end_address_MASK (0xFFFFF000U)
  44199. #define FLEXSPI_AHBBUFREGIONEND0_end_address_SHIFT (12U)
  44200. /*! end_address - End address of region 0. Minimal 4K Bytes aligned. It is system address.
  44201. */
  44202. #define FLEXSPI_AHBBUFREGIONEND0_end_address(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBBUFREGIONEND0_end_address_SHIFT)) & FLEXSPI_AHBBUFREGIONEND0_end_address_MASK)
  44203. /*! @} */
  44204. /*! @name AHBBUFREGIONSTART1 - RX BUF Start address of region 1 */
  44205. /*! @{ */
  44206. #define FLEXSPI_AHBBUFREGIONSTART1_start_address_MASK (0xFFFFF000U)
  44207. #define FLEXSPI_AHBBUFREGIONSTART1_start_address_SHIFT (12U)
  44208. /*! start_address - Start address of region 1. Minimal 4K Bytes aligned. It is system address.
  44209. */
  44210. #define FLEXSPI_AHBBUFREGIONSTART1_start_address(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBBUFREGIONSTART1_start_address_SHIFT)) & FLEXSPI_AHBBUFREGIONSTART1_start_address_MASK)
  44211. /*! @} */
  44212. /*! @name AHBBUFREGIONEND1 - RX BUF region End address of region 1 */
  44213. /*! @{ */
  44214. #define FLEXSPI_AHBBUFREGIONEND1_end_address_MASK (0xFFFFF000U)
  44215. #define FLEXSPI_AHBBUFREGIONEND1_end_address_SHIFT (12U)
  44216. /*! end_address - End address of region 1. Minimal 4K Bytes aligned. It is system address.
  44217. */
  44218. #define FLEXSPI_AHBBUFREGIONEND1_end_address(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBBUFREGIONEND1_end_address_SHIFT)) & FLEXSPI_AHBBUFREGIONEND1_end_address_MASK)
  44219. /*! @} */
  44220. /*! @name AHBBUFREGIONSTART2 - RX BUF Start address of region 2 */
  44221. /*! @{ */
  44222. #define FLEXSPI_AHBBUFREGIONSTART2_start_address_MASK (0xFFFFF000U)
  44223. #define FLEXSPI_AHBBUFREGIONSTART2_start_address_SHIFT (12U)
  44224. /*! start_address - Start address of region 2. Minimal 4K Bytes aligned. It is system address.
  44225. */
  44226. #define FLEXSPI_AHBBUFREGIONSTART2_start_address(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBBUFREGIONSTART2_start_address_SHIFT)) & FLEXSPI_AHBBUFREGIONSTART2_start_address_MASK)
  44227. /*! @} */
  44228. /*! @name AHBBUFREGIONEND2 - RX BUF region End address of region 2 */
  44229. /*! @{ */
  44230. #define FLEXSPI_AHBBUFREGIONEND2_end_address_MASK (0xFFFFF000U)
  44231. #define FLEXSPI_AHBBUFREGIONEND2_end_address_SHIFT (12U)
  44232. /*! end_address - End address of region 2. Minimal 4K Bytes aligned. It is system address.
  44233. */
  44234. #define FLEXSPI_AHBBUFREGIONEND2_end_address(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBBUFREGIONEND2_end_address_SHIFT)) & FLEXSPI_AHBBUFREGIONEND2_end_address_MASK)
  44235. /*! @} */
  44236. /*! @name AHBBUFREGIONSTART3 - RX BUF Start address of region 3 */
  44237. /*! @{ */
  44238. #define FLEXSPI_AHBBUFREGIONSTART3_start_address_MASK (0xFFFFF000U)
  44239. #define FLEXSPI_AHBBUFREGIONSTART3_start_address_SHIFT (12U)
  44240. /*! start_address - Start address of region 3. Minimal 4K Bytes aligned. It is system address.
  44241. */
  44242. #define FLEXSPI_AHBBUFREGIONSTART3_start_address(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBBUFREGIONSTART3_start_address_SHIFT)) & FLEXSPI_AHBBUFREGIONSTART3_start_address_MASK)
  44243. /*! @} */
  44244. /*! @name AHBBUFREGIONEND3 - RX BUF region End address of region 3 */
  44245. /*! @{ */
  44246. #define FLEXSPI_AHBBUFREGIONEND3_end_address_MASK (0xFFFFF000U)
  44247. #define FLEXSPI_AHBBUFREGIONEND3_end_address_SHIFT (12U)
  44248. /*! end_address - End address of region 3. Minimal 4K Bytes aligned. It is system address.
  44249. */
  44250. #define FLEXSPI_AHBBUFREGIONEND3_end_address(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBBUFREGIONEND3_end_address_SHIFT)) & FLEXSPI_AHBBUFREGIONEND3_end_address_MASK)
  44251. /*! @} */
  44252. /*!
  44253. * @}
  44254. */ /* end of group FLEXSPI_Register_Masks */
  44255. /* FLEXSPI - Peripheral instance base addresses */
  44256. /** Peripheral FLEXSPI1 base address */
  44257. #define FLEXSPI1_BASE (0x400CC000u)
  44258. /** Peripheral FLEXSPI1 base pointer */
  44259. #define FLEXSPI1 ((FLEXSPI_Type *)FLEXSPI1_BASE)
  44260. /** Peripheral FLEXSPI2 base address */
  44261. #define FLEXSPI2_BASE (0x400D0000u)
  44262. /** Peripheral FLEXSPI2 base pointer */
  44263. #define FLEXSPI2 ((FLEXSPI_Type *)FLEXSPI2_BASE)
  44264. /** Array initializer of FLEXSPI peripheral base addresses */
  44265. #define FLEXSPI_BASE_ADDRS { 0u, FLEXSPI1_BASE, FLEXSPI2_BASE }
  44266. /** Array initializer of FLEXSPI peripheral base pointers */
  44267. #define FLEXSPI_BASE_PTRS { (FLEXSPI_Type *)0u, FLEXSPI1, FLEXSPI2 }
  44268. /** Interrupt vectors for the FLEXSPI peripheral type */
  44269. #define FLEXSPI_IRQS { NotAvail_IRQn, FLEXSPI1_IRQn, FLEXSPI2_IRQn }
  44270. /* FlexSPI1 AMBA address. */
  44271. #define FlexSPI1_AMBA_BASE (0x30000000U)
  44272. /* FlexSPI1 ASFM address. */
  44273. #define FlexSPI1_ASFM_BASE (0x30000000U)
  44274. /* Base Address of AHB address space mapped to IP RX FIFO. */
  44275. #define FlexSPI1_ARDF_BASE (0x2FC00000U)
  44276. /* Base Address of AHB address space mapped to IP TX FIFO. */
  44277. #define FlexSPI1_ATDF_BASE (0x2F800000U)
  44278. /* FlexSPI1 alias base address. */
  44279. #define FlexSPI1_ALIAS_BASE (0x8000000U)
  44280. /* FlexSPI2 AMBA address. */
  44281. #define FlexSPI2_AMBA_BASE (0x60000000U)
  44282. /* FlexSPI ASFM address. */
  44283. #define FlexSPI2_ASFM_BASE (0x60000000U)
  44284. /* Base Address of AHB address space mapped to IP RX FIFO. */
  44285. #define FlexSPI2_ARDF_BASE (0x7FC00000U)
  44286. /* Base Address of AHB address space mapped to IP TX FIFO. */
  44287. #define FlexSPI2_ATDF_BASE (0x7F800000U)
  44288. /*!
  44289. * @}
  44290. */ /* end of group FLEXSPI_Peripheral_Access_Layer */
  44291. /* ----------------------------------------------------------------------------
  44292. -- GPC_CPU_MODE_CTRL Peripheral Access Layer
  44293. ---------------------------------------------------------------------------- */
  44294. /*!
  44295. * @addtogroup GPC_CPU_MODE_CTRL_Peripheral_Access_Layer GPC_CPU_MODE_CTRL Peripheral Access Layer
  44296. * @{
  44297. */
  44298. /** GPC_CPU_MODE_CTRL - Register Layout Typedef */
  44299. typedef struct {
  44300. uint8_t RESERVED_0[4];
  44301. __IO uint32_t CM_AUTHEN_CTRL; /**< CM Authentication Control, offset: 0x4 */
  44302. __IO uint32_t CM_INT_CTRL; /**< CM Interrupt Control, offset: 0x8 */
  44303. __IO uint32_t CM_MISC; /**< Miscellaneous, offset: 0xC */
  44304. __IO uint32_t CM_MODE_CTRL; /**< CPU mode control, offset: 0x10 */
  44305. __I uint32_t CM_MODE_STAT; /**< CM CPU mode Status, offset: 0x14 */
  44306. uint8_t RESERVED_1[232];
  44307. __IO uint32_t CM_IRQ_WAKEUP_MASK[8]; /**< CM IRQ0~31 wakeup mask..CM IRQ224~255 wakeup mask, array offset: 0x100, array step: 0x4 */
  44308. uint8_t RESERVED_2[32];
  44309. __IO uint32_t CM_NON_IRQ_WAKEUP_MASK; /**< CM non-irq wakeup mask, offset: 0x140 */
  44310. uint8_t RESERVED_3[12];
  44311. __I uint32_t CM_IRQ_WAKEUP_STAT[8]; /**< CM IRQ0~31 wakeup status..CM IRQ224~255 wakeup status, array offset: 0x150, array step: 0x4 */
  44312. uint8_t RESERVED_4[32];
  44313. __I uint32_t CM_NON_IRQ_WAKEUP_STAT; /**< CM non-irq wakeup status, offset: 0x190 */
  44314. uint8_t RESERVED_5[108];
  44315. __IO uint32_t CM_SLEEP_SSAR_CTRL; /**< CM sleep SSAR control, offset: 0x200 */
  44316. uint8_t RESERVED_6[4];
  44317. __IO uint32_t CM_SLEEP_LPCG_CTRL; /**< CM sleep LPCG control, offset: 0x208 */
  44318. uint8_t RESERVED_7[4];
  44319. __IO uint32_t CM_SLEEP_PLL_CTRL; /**< CM sleep PLL control, offset: 0x210 */
  44320. uint8_t RESERVED_8[4];
  44321. __IO uint32_t CM_SLEEP_ISO_CTRL; /**< CM sleep isolation control, offset: 0x218 */
  44322. uint8_t RESERVED_9[4];
  44323. __IO uint32_t CM_SLEEP_RESET_CTRL; /**< CM sleep reset control, offset: 0x220 */
  44324. uint8_t RESERVED_10[4];
  44325. __IO uint32_t CM_SLEEP_POWER_CTRL; /**< CM sleep power control, offset: 0x228 */
  44326. uint8_t RESERVED_11[100];
  44327. __IO uint32_t CM_WAKEUP_POWER_CTRL; /**< CM wakeup power control, offset: 0x290 */
  44328. uint8_t RESERVED_12[4];
  44329. __IO uint32_t CM_WAKEUP_RESET_CTRL; /**< CM wakeup reset control, offset: 0x298 */
  44330. uint8_t RESERVED_13[4];
  44331. __IO uint32_t CM_WAKEUP_ISO_CTRL; /**< CM wakeup isolation control, offset: 0x2A0 */
  44332. uint8_t RESERVED_14[4];
  44333. __IO uint32_t CM_WAKEUP_PLL_CTRL; /**< CM wakeup PLL control, offset: 0x2A8 */
  44334. uint8_t RESERVED_15[4];
  44335. __IO uint32_t CM_WAKEUP_LPCG_CTRL; /**< CM wakeup LPCG control, offset: 0x2B0 */
  44336. uint8_t RESERVED_16[4];
  44337. __IO uint32_t CM_WAKEUP_SSAR_CTRL; /**< CM wakeup SSAR control, offset: 0x2B8 */
  44338. uint8_t RESERVED_17[68];
  44339. __IO uint32_t CM_SP_CTRL; /**< CM Setpoint Control, offset: 0x300 */
  44340. __I uint32_t CM_SP_STAT; /**< CM Setpoint Status, offset: 0x304 */
  44341. uint8_t RESERVED_18[8];
  44342. __IO uint32_t CM_RUN_MODE_MAPPING; /**< CM Run Mode Setpoint Allowed, offset: 0x310 */
  44343. __IO uint32_t CM_WAIT_MODE_MAPPING; /**< CM Wait Mode Setpoint Allowed, offset: 0x314 */
  44344. __IO uint32_t CM_STOP_MODE_MAPPING; /**< CM Stop Mode Setpoint Allowed, offset: 0x318 */
  44345. __IO uint32_t CM_SUSPEND_MODE_MAPPING; /**< CM Suspend Mode Setpoint Allowed, offset: 0x31C */
  44346. __IO uint32_t CM_SP_MAPPING[16]; /**< CM Setpoint 0 Mapping..CM Setpoint 15 Mapping, array offset: 0x320, array step: 0x4 */
  44347. uint8_t RESERVED_19[32];
  44348. __IO uint32_t CM_STBY_CTRL; /**< CM standby control, offset: 0x380 */
  44349. } GPC_CPU_MODE_CTRL_Type;
  44350. /* ----------------------------------------------------------------------------
  44351. -- GPC_CPU_MODE_CTRL Register Masks
  44352. ---------------------------------------------------------------------------- */
  44353. /*!
  44354. * @addtogroup GPC_CPU_MODE_CTRL_Register_Masks GPC_CPU_MODE_CTRL Register Masks
  44355. * @{
  44356. */
  44357. /*! @name CM_AUTHEN_CTRL - CM Authentication Control */
  44358. /*! @{ */
  44359. #define GPC_CPU_MODE_CTRL_CM_AUTHEN_CTRL_USER_MASK (0x1U)
  44360. #define GPC_CPU_MODE_CTRL_CM_AUTHEN_CTRL_USER_SHIFT (0U)
  44361. /*! USER - Allow user mode access
  44362. * 0b0..Allow only privilege mode to access CPU mode control registers
  44363. * 0b1..Allow both privilege and user mode to access CPU mode control registers
  44364. */
  44365. #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)
  44366. #define GPC_CPU_MODE_CTRL_CM_AUTHEN_CTRL_NONSECURE_MASK (0x2U)
  44367. #define GPC_CPU_MODE_CTRL_CM_AUTHEN_CTRL_NONSECURE_SHIFT (1U)
  44368. /*! NONSECURE - Allow non-secure mode access
  44369. * 0b0..Allow only secure mode to access CPU mode control registers
  44370. * 0b1..Allow both secure and non-secure mode to access CPU mode control registers
  44371. */
  44372. #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)
  44373. #define GPC_CPU_MODE_CTRL_CM_AUTHEN_CTRL_LOCK_SETTING_MASK (0x10U)
  44374. #define GPC_CPU_MODE_CTRL_CM_AUTHEN_CTRL_LOCK_SETTING_SHIFT (4U)
  44375. /*! LOCK_SETTING - Lock NONSECURE and USER
  44376. */
  44377. #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)
  44378. #define GPC_CPU_MODE_CTRL_CM_AUTHEN_CTRL_WHITE_LIST_MASK (0xF00U)
  44379. #define GPC_CPU_MODE_CTRL_CM_AUTHEN_CTRL_WHITE_LIST_SHIFT (8U)
  44380. /*! WHITE_LIST - Domain ID white list
  44381. */
  44382. #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)
  44383. #define GPC_CPU_MODE_CTRL_CM_AUTHEN_CTRL_LOCK_LIST_MASK (0x1000U)
  44384. #define GPC_CPU_MODE_CTRL_CM_AUTHEN_CTRL_LOCK_LIST_SHIFT (12U)
  44385. /*! LOCK_LIST - White list lock
  44386. */
  44387. #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)
  44388. #define GPC_CPU_MODE_CTRL_CM_AUTHEN_CTRL_LOCK_CFG_MASK (0x100000U)
  44389. #define GPC_CPU_MODE_CTRL_CM_AUTHEN_CTRL_LOCK_CFG_SHIFT (20U)
  44390. /*! LOCK_CFG - Configuration lock
  44391. */
  44392. #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)
  44393. /*! @} */
  44394. /*! @name CM_INT_CTRL - CM Interrupt Control */
  44395. /*! @{ */
  44396. #define GPC_CPU_MODE_CTRL_CM_INT_CTRL_SP_REQ_NOT_ALLOWED_SLEEP_INT_EN_MASK (0x1U)
  44397. #define GPC_CPU_MODE_CTRL_CM_INT_CTRL_SP_REQ_NOT_ALLOWED_SLEEP_INT_EN_SHIFT (0U)
  44398. /*! SP_REQ_NOT_ALLOWED_SLEEP_INT_EN - sp_req_not_allowed_for_sleep interrupt enable
  44399. * 0b0..Interrupt disable
  44400. * 0b1..Interrupt enable
  44401. */
  44402. #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)
  44403. #define GPC_CPU_MODE_CTRL_CM_INT_CTRL_SP_REQ_NOT_ALLOWED_WAKEUP_INT_EN_MASK (0x2U)
  44404. #define GPC_CPU_MODE_CTRL_CM_INT_CTRL_SP_REQ_NOT_ALLOWED_WAKEUP_INT_EN_SHIFT (1U)
  44405. /*! SP_REQ_NOT_ALLOWED_WAKEUP_INT_EN - sp_req_not_allowed_for_wakeup interrupt enable
  44406. * 0b0..Interrupt disable
  44407. * 0b1..Interrupt enable
  44408. */
  44409. #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)
  44410. #define GPC_CPU_MODE_CTRL_CM_INT_CTRL_SP_REQ_NOT_ALLOWED_SOFT_INT_EN_MASK (0x4U)
  44411. #define GPC_CPU_MODE_CTRL_CM_INT_CTRL_SP_REQ_NOT_ALLOWED_SOFT_INT_EN_SHIFT (2U)
  44412. /*! SP_REQ_NOT_ALLOWED_SOFT_INT_EN - sp_req_not_allowed_for_soft interrupt enable
  44413. * 0b0..Interrupt disable
  44414. * 0b1..Interrupt enable
  44415. */
  44416. #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)
  44417. #define GPC_CPU_MODE_CTRL_CM_INT_CTRL_SP_REQ_NOT_ALLOWED_SLEEP_INT_MASK (0x10000U)
  44418. #define GPC_CPU_MODE_CTRL_CM_INT_CTRL_SP_REQ_NOT_ALLOWED_SLEEP_INT_SHIFT (16U)
  44419. /*! SP_REQ_NOT_ALLOWED_SLEEP_INT - sp_req_not_allowed_for_sleep interrupt status and clear register
  44420. */
  44421. #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)
  44422. #define GPC_CPU_MODE_CTRL_CM_INT_CTRL_SP_REQ_NOT_ALLOWED_WAKEUP_INT_MASK (0x20000U)
  44423. #define GPC_CPU_MODE_CTRL_CM_INT_CTRL_SP_REQ_NOT_ALLOWED_WAKEUP_INT_SHIFT (17U)
  44424. /*! SP_REQ_NOT_ALLOWED_WAKEUP_INT - sp_req_not_allowed_for_wakeup interrupt status and clear register
  44425. */
  44426. #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)
  44427. #define GPC_CPU_MODE_CTRL_CM_INT_CTRL_SP_REQ_NOT_ALLOWED_SOFT_INT_MASK (0x40000U)
  44428. #define GPC_CPU_MODE_CTRL_CM_INT_CTRL_SP_REQ_NOT_ALLOWED_SOFT_INT_SHIFT (18U)
  44429. /*! SP_REQ_NOT_ALLOWED_SOFT_INT - sp_req_not_allowed_for_soft interrupt status and clear register
  44430. */
  44431. #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)
  44432. /*! @} */
  44433. /*! @name CM_MISC - Miscellaneous */
  44434. /*! @{ */
  44435. #define GPC_CPU_MODE_CTRL_CM_MISC_NMI_STAT_MASK (0x1U)
  44436. #define GPC_CPU_MODE_CTRL_CM_MISC_NMI_STAT_SHIFT (0U)
  44437. /*! NMI_STAT - Non-masked interrupt status
  44438. * 0b0..NMI is not asserting
  44439. * 0b1..NMI is asserting
  44440. */
  44441. #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)
  44442. #define GPC_CPU_MODE_CTRL_CM_MISC_SLEEP_HOLD_EN_MASK (0x2U)
  44443. #define GPC_CPU_MODE_CTRL_CM_MISC_SLEEP_HOLD_EN_SHIFT (1U)
  44444. /*! SLEEP_HOLD_EN - Allow cpu_sleep_hold_req assert during CPU low power status
  44445. * 0b0..Disable cpu_sleep_hold_req
  44446. * 0b1..Allow cpu_sleep_hold_req assert during CPU low power status
  44447. */
  44448. #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)
  44449. #define GPC_CPU_MODE_CTRL_CM_MISC_SLEEP_HOLD_STAT_MASK (0x4U)
  44450. #define GPC_CPU_MODE_CTRL_CM_MISC_SLEEP_HOLD_STAT_SHIFT (2U)
  44451. /*! SLEEP_HOLD_STAT - Status of cpu_sleep_hold_ack_b
  44452. */
  44453. #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)
  44454. #define GPC_CPU_MODE_CTRL_CM_MISC_MASTER_CPU_MASK (0x10U)
  44455. #define GPC_CPU_MODE_CTRL_CM_MISC_MASTER_CPU_SHIFT (4U)
  44456. /*! MASTER_CPU - Master CPU
  44457. */
  44458. #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)
  44459. /*! @} */
  44460. /*! @name CM_MODE_CTRL - CPU mode control */
  44461. /*! @{ */
  44462. #define GPC_CPU_MODE_CTRL_CM_MODE_CTRL_CPU_MODE_TARGET_MASK (0x3U)
  44463. #define GPC_CPU_MODE_CTRL_CM_MODE_CTRL_CPU_MODE_TARGET_SHIFT (0U)
  44464. /*! CPU_MODE_TARGET - The CPU mode the CPU platform should transit to on next sleep event
  44465. * 0b00..Stay in RUN mode
  44466. * 0b01..Transit to WAIT mode
  44467. * 0b10..Transit to STOP mode
  44468. * 0b11..Transit to SUSPEND mode
  44469. */
  44470. #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)
  44471. #define GPC_CPU_MODE_CTRL_CM_MODE_CTRL_WFE_EN_MASK (0x10U)
  44472. #define GPC_CPU_MODE_CTRL_CM_MODE_CTRL_WFE_EN_SHIFT (4U)
  44473. /*! WFE_EN - WFE assertion can be sleep event
  44474. * 0b0..WFE assertion can not trigger low power
  44475. * 0b1..WFE assertion can trigger low power
  44476. */
  44477. #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)
  44478. /*! @} */
  44479. /*! @name CM_MODE_STAT - CM CPU mode Status */
  44480. /*! @{ */
  44481. #define GPC_CPU_MODE_CTRL_CM_MODE_STAT_CPU_MODE_CURRENT_MASK (0x3U)
  44482. #define GPC_CPU_MODE_CTRL_CM_MODE_STAT_CPU_MODE_CURRENT_SHIFT (0U)
  44483. /*! CPU_MODE_CURRENT - Current CPU mode
  44484. * 0b00..CPU is currently in RUN mode
  44485. * 0b01..CPU is currently in WAIT mode
  44486. * 0b10..CPU is currently in STOP mode
  44487. * 0b11..CPU is currently in SUSPEND mode
  44488. */
  44489. #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)
  44490. #define GPC_CPU_MODE_CTRL_CM_MODE_STAT_CPU_MODE_PREVIOUS_MASK (0xCU)
  44491. #define GPC_CPU_MODE_CTRL_CM_MODE_STAT_CPU_MODE_PREVIOUS_SHIFT (2U)
  44492. /*! CPU_MODE_PREVIOUS - Previous CPU mode
  44493. * 0b00..CPU was previously in RUN mode
  44494. * 0b01..CPU was previously in WAIT mode
  44495. * 0b10..CPU was previously in STOP mode
  44496. * 0b11..CPU was previously in SUSPEND mode
  44497. */
  44498. #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)
  44499. /*! @} */
  44500. /*! @name CM_IRQ_WAKEUP_MASK - CM IRQ0~31 wakeup mask..CM IRQ224~255 wakeup mask */
  44501. /*! @{ */
  44502. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_0_31_MASK (0xFFFFFFFFU)
  44503. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_0_31_SHIFT (0U)
  44504. /*! IRQ_WAKEUP_MASK_0_31 - "1" means the IRQ cannot wakeup CPU platform
  44505. */
  44506. #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)
  44507. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_32_63_MASK (0xFFFFFFFFU)
  44508. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_32_63_SHIFT (0U)
  44509. /*! IRQ_WAKEUP_MASK_32_63 - "1" means the IRQ cannot wakeup CPU platform
  44510. */
  44511. #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)
  44512. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_64_95_MASK (0xFFFFFFFFU)
  44513. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_64_95_SHIFT (0U)
  44514. /*! IRQ_WAKEUP_MASK_64_95 - "1" means the IRQ cannot wakeup CPU platform
  44515. */
  44516. #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)
  44517. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_96_127_MASK (0xFFFFFFFFU)
  44518. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_96_127_SHIFT (0U)
  44519. /*! IRQ_WAKEUP_MASK_96_127 - "1" means the IRQ cannot wakeup CPU platform
  44520. */
  44521. #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)
  44522. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_128_159_MASK (0xFFFFFFFFU)
  44523. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_128_159_SHIFT (0U)
  44524. /*! IRQ_WAKEUP_MASK_128_159 - "1" means the IRQ cannot wakeup CPU platform
  44525. */
  44526. #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)
  44527. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_160_191_MASK (0xFFFFFFFFU)
  44528. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_160_191_SHIFT (0U)
  44529. /*! IRQ_WAKEUP_MASK_160_191 - "1" means the IRQ cannot wakeup CPU platform
  44530. */
  44531. #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)
  44532. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_192_223_MASK (0xFFFFFFFFU)
  44533. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_192_223_SHIFT (0U)
  44534. /*! IRQ_WAKEUP_MASK_192_223 - "1" means the IRQ cannot wakeup CPU platform
  44535. */
  44536. #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)
  44537. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_224_255_MASK (0xFFFFFFFFU)
  44538. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_224_255_SHIFT (0U)
  44539. /*! IRQ_WAKEUP_MASK_224_255 - "1" means the IRQ cannot wakeup CPU platform
  44540. */
  44541. #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)
  44542. /*! @} */
  44543. /* The count of GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK */
  44544. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_COUNT (8U)
  44545. /*! @name CM_NON_IRQ_WAKEUP_MASK - CM non-irq wakeup mask */
  44546. /*! @{ */
  44547. #define GPC_CPU_MODE_CTRL_CM_NON_IRQ_WAKEUP_MASK_EVENT_WAKEUP_MASK_MASK (0x1U)
  44548. #define GPC_CPU_MODE_CTRL_CM_NON_IRQ_WAKEUP_MASK_EVENT_WAKEUP_MASK_SHIFT (0U)
  44549. /*! EVENT_WAKEUP_MASK - There are 256 interrupts and 1 event as a wakeup source for GPC. This field masks the 1 event wakeup source.
  44550. * 0b1..The event cannot wakeup CPU platform
  44551. */
  44552. #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)
  44553. #define GPC_CPU_MODE_CTRL_CM_NON_IRQ_WAKEUP_MASK_DEBUG_WAKEUP_MASK_MASK (0x2U)
  44554. #define GPC_CPU_MODE_CTRL_CM_NON_IRQ_WAKEUP_MASK_DEBUG_WAKEUP_MASK_SHIFT (1U)
  44555. /*! DEBUG_WAKEUP_MASK - "1" means the debug_wakeup_request cannot wakeup CPU platform
  44556. */
  44557. #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)
  44558. /*! @} */
  44559. /*! @name CM_IRQ_WAKEUP_STAT - CM IRQ0~31 wakeup status..CM IRQ224~255 wakeup status */
  44560. /*! @{ */
  44561. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_MASK_224_255_MASK (0xFFFFFFFFU)
  44562. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_MASK_224_255_SHIFT (0U)
  44563. /*! IRQ_WAKEUP_MASK_224_255 - IRQ status
  44564. * 0b00000000000000000000000000000000..None
  44565. * 0b00000000000000000000000000000001..Valid
  44566. */
  44567. #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)
  44568. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_0_31_MASK (0xFFFFFFFFU)
  44569. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_0_31_SHIFT (0U)
  44570. /*! IRQ_WAKEUP_STAT_0_31 - IRQ status
  44571. * 0b00000000000000000000000000000000..None
  44572. * 0b00000000000000000000000000000001..Valid
  44573. */
  44574. #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)
  44575. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_32_63_MASK (0xFFFFFFFFU)
  44576. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_32_63_SHIFT (0U)
  44577. /*! IRQ_WAKEUP_STAT_32_63 - IRQ status
  44578. * 0b00000000000000000000000000000000..None
  44579. * 0b00000000000000000000000000000001..Valid
  44580. */
  44581. #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)
  44582. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_64_95_MASK (0xFFFFFFFFU)
  44583. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_64_95_SHIFT (0U)
  44584. /*! IRQ_WAKEUP_STAT_64_95 - IRQ status
  44585. * 0b00000000000000000000000000000000..None
  44586. * 0b00000000000000000000000000000001..Valid
  44587. */
  44588. #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)
  44589. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_96_127_MASK (0xFFFFFFFFU)
  44590. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_96_127_SHIFT (0U)
  44591. /*! IRQ_WAKEUP_STAT_96_127 - IRQ status
  44592. * 0b00000000000000000000000000000000..None
  44593. * 0b00000000000000000000000000000001..Valid
  44594. */
  44595. #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)
  44596. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_128_159_MASK (0xFFFFFFFFU)
  44597. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_128_159_SHIFT (0U)
  44598. /*! IRQ_WAKEUP_STAT_128_159 - IRQ status
  44599. * 0b00000000000000000000000000000000..None
  44600. * 0b00000000000000000000000000000001..Valid
  44601. */
  44602. #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)
  44603. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_160_191_MASK (0xFFFFFFFFU)
  44604. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_160_191_SHIFT (0U)
  44605. /*! IRQ_WAKEUP_STAT_160_191 - IRQ status
  44606. * 0b00000000000000000000000000000000..None
  44607. * 0b00000000000000000000000000000001..Valid
  44608. */
  44609. #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)
  44610. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_192_223_MASK (0xFFFFFFFFU)
  44611. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_192_223_SHIFT (0U)
  44612. /*! IRQ_WAKEUP_STAT_192_223 - IRQ status
  44613. * 0b00000000000000000000000000000000..None
  44614. * 0b00000000000000000000000000000001..Valid
  44615. */
  44616. #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)
  44617. /*! @} */
  44618. /* The count of GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT */
  44619. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_COUNT (8U)
  44620. /*! @name CM_NON_IRQ_WAKEUP_STAT - CM non-irq wakeup status */
  44621. /*! @{ */
  44622. #define GPC_CPU_MODE_CTRL_CM_NON_IRQ_WAKEUP_STAT_EVENT_WAKEUP_STAT_MASK (0x1U)
  44623. #define GPC_CPU_MODE_CTRL_CM_NON_IRQ_WAKEUP_STAT_EVENT_WAKEUP_STAT_SHIFT (0U)
  44624. /*! EVENT_WAKEUP_STAT - Event wakeup status
  44625. * 0b1..Interrupt is asserting (pending)
  44626. */
  44627. #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)
  44628. #define GPC_CPU_MODE_CTRL_CM_NON_IRQ_WAKEUP_STAT_DEBUG_WAKEUP_STAT_MASK (0x2U)
  44629. #define GPC_CPU_MODE_CTRL_CM_NON_IRQ_WAKEUP_STAT_DEBUG_WAKEUP_STAT_SHIFT (1U)
  44630. /*! DEBUG_WAKEUP_STAT - Debug wakeup status
  44631. */
  44632. #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)
  44633. /*! @} */
  44634. /*! @name CM_SLEEP_SSAR_CTRL - CM sleep SSAR control */
  44635. /*! @{ */
  44636. #define GPC_CPU_MODE_CTRL_CM_SLEEP_SSAR_CTRL_STEP_CNT_MASK (0xFFFFU)
  44637. #define GPC_CPU_MODE_CTRL_CM_SLEEP_SSAR_CTRL_STEP_CNT_SHIFT (0U)
  44638. /*! STEP_CNT - Step count, useage is depending on CNT_MODE.
  44639. */
  44640. #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)
  44641. #define GPC_CPU_MODE_CTRL_CM_SLEEP_SSAR_CTRL_CNT_MODE_MASK (0x30000000U)
  44642. #define GPC_CPU_MODE_CTRL_CM_SLEEP_SSAR_CTRL_CNT_MODE_SHIFT (28U)
  44643. /*! CNT_MODE - Count mode
  44644. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  44645. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  44646. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  44647. * 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
  44648. */
  44649. #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)
  44650. #define GPC_CPU_MODE_CTRL_CM_SLEEP_SSAR_CTRL_DISABLE_MASK (0x80000000U)
  44651. #define GPC_CPU_MODE_CTRL_CM_SLEEP_SSAR_CTRL_DISABLE_SHIFT (31U)
  44652. /*! DISABLE - Disable this step
  44653. */
  44654. #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)
  44655. /*! @} */
  44656. /*! @name CM_SLEEP_LPCG_CTRL - CM sleep LPCG control */
  44657. /*! @{ */
  44658. #define GPC_CPU_MODE_CTRL_CM_SLEEP_LPCG_CTRL_STEP_CNT_MASK (0xFFFFU)
  44659. #define GPC_CPU_MODE_CTRL_CM_SLEEP_LPCG_CTRL_STEP_CNT_SHIFT (0U)
  44660. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  44661. */
  44662. #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)
  44663. #define GPC_CPU_MODE_CTRL_CM_SLEEP_LPCG_CTRL_CNT_MODE_MASK (0x30000000U)
  44664. #define GPC_CPU_MODE_CTRL_CM_SLEEP_LPCG_CTRL_CNT_MODE_SHIFT (28U)
  44665. /*! CNT_MODE - Count mode
  44666. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  44667. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  44668. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  44669. * 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
  44670. */
  44671. #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)
  44672. #define GPC_CPU_MODE_CTRL_CM_SLEEP_LPCG_CTRL_DISABLE_MASK (0x80000000U)
  44673. #define GPC_CPU_MODE_CTRL_CM_SLEEP_LPCG_CTRL_DISABLE_SHIFT (31U)
  44674. /*! DISABLE - Disable this step
  44675. */
  44676. #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)
  44677. /*! @} */
  44678. /*! @name CM_SLEEP_PLL_CTRL - CM sleep PLL control */
  44679. /*! @{ */
  44680. #define GPC_CPU_MODE_CTRL_CM_SLEEP_PLL_CTRL_STEP_CNT_MASK (0xFFFFU)
  44681. #define GPC_CPU_MODE_CTRL_CM_SLEEP_PLL_CTRL_STEP_CNT_SHIFT (0U)
  44682. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  44683. */
  44684. #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)
  44685. #define GPC_CPU_MODE_CTRL_CM_SLEEP_PLL_CTRL_CNT_MODE_MASK (0x30000000U)
  44686. #define GPC_CPU_MODE_CTRL_CM_SLEEP_PLL_CTRL_CNT_MODE_SHIFT (28U)
  44687. /*! CNT_MODE - Count mode
  44688. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  44689. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  44690. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  44691. * 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
  44692. */
  44693. #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)
  44694. #define GPC_CPU_MODE_CTRL_CM_SLEEP_PLL_CTRL_DISABLE_MASK (0x80000000U)
  44695. #define GPC_CPU_MODE_CTRL_CM_SLEEP_PLL_CTRL_DISABLE_SHIFT (31U)
  44696. /*! DISABLE - Disable this step
  44697. */
  44698. #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)
  44699. /*! @} */
  44700. /*! @name CM_SLEEP_ISO_CTRL - CM sleep isolation control */
  44701. /*! @{ */
  44702. #define GPC_CPU_MODE_CTRL_CM_SLEEP_ISO_CTRL_STEP_CNT_MASK (0xFFFFU)
  44703. #define GPC_CPU_MODE_CTRL_CM_SLEEP_ISO_CTRL_STEP_CNT_SHIFT (0U)
  44704. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  44705. */
  44706. #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)
  44707. #define GPC_CPU_MODE_CTRL_CM_SLEEP_ISO_CTRL_CNT_MODE_MASK (0x30000000U)
  44708. #define GPC_CPU_MODE_CTRL_CM_SLEEP_ISO_CTRL_CNT_MODE_SHIFT (28U)
  44709. /*! CNT_MODE - Count mode
  44710. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  44711. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  44712. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  44713. * 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
  44714. */
  44715. #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)
  44716. #define GPC_CPU_MODE_CTRL_CM_SLEEP_ISO_CTRL_DISABLE_MASK (0x80000000U)
  44717. #define GPC_CPU_MODE_CTRL_CM_SLEEP_ISO_CTRL_DISABLE_SHIFT (31U)
  44718. /*! DISABLE - Disable this step
  44719. */
  44720. #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)
  44721. /*! @} */
  44722. /*! @name CM_SLEEP_RESET_CTRL - CM sleep reset control */
  44723. /*! @{ */
  44724. #define GPC_CPU_MODE_CTRL_CM_SLEEP_RESET_CTRL_STEP_CNT_MASK (0xFFFFU)
  44725. #define GPC_CPU_MODE_CTRL_CM_SLEEP_RESET_CTRL_STEP_CNT_SHIFT (0U)
  44726. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  44727. */
  44728. #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)
  44729. #define GPC_CPU_MODE_CTRL_CM_SLEEP_RESET_CTRL_CNT_MODE_MASK (0x30000000U)
  44730. #define GPC_CPU_MODE_CTRL_CM_SLEEP_RESET_CTRL_CNT_MODE_SHIFT (28U)
  44731. /*! CNT_MODE - Count mode
  44732. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  44733. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  44734. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  44735. * 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
  44736. */
  44737. #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)
  44738. #define GPC_CPU_MODE_CTRL_CM_SLEEP_RESET_CTRL_DISABLE_MASK (0x80000000U)
  44739. #define GPC_CPU_MODE_CTRL_CM_SLEEP_RESET_CTRL_DISABLE_SHIFT (31U)
  44740. /*! DISABLE - Disable this step
  44741. */
  44742. #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)
  44743. /*! @} */
  44744. /*! @name CM_SLEEP_POWER_CTRL - CM sleep power control */
  44745. /*! @{ */
  44746. #define GPC_CPU_MODE_CTRL_CM_SLEEP_POWER_CTRL_STEP_CNT_MASK (0xFFFFU)
  44747. #define GPC_CPU_MODE_CTRL_CM_SLEEP_POWER_CTRL_STEP_CNT_SHIFT (0U)
  44748. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  44749. */
  44750. #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)
  44751. #define GPC_CPU_MODE_CTRL_CM_SLEEP_POWER_CTRL_CNT_MODE_MASK (0x30000000U)
  44752. #define GPC_CPU_MODE_CTRL_CM_SLEEP_POWER_CTRL_CNT_MODE_SHIFT (28U)
  44753. /*! CNT_MODE - Count mode
  44754. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  44755. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  44756. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  44757. * 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
  44758. */
  44759. #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)
  44760. #define GPC_CPU_MODE_CTRL_CM_SLEEP_POWER_CTRL_DISABLE_MASK (0x80000000U)
  44761. #define GPC_CPU_MODE_CTRL_CM_SLEEP_POWER_CTRL_DISABLE_SHIFT (31U)
  44762. /*! DISABLE - Disable this step
  44763. */
  44764. #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)
  44765. /*! @} */
  44766. /*! @name CM_WAKEUP_POWER_CTRL - CM wakeup power control */
  44767. /*! @{ */
  44768. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_POWER_CTRL_STEP_CNT_MASK (0xFFFFU)
  44769. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_POWER_CTRL_STEP_CNT_SHIFT (0U)
  44770. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  44771. */
  44772. #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)
  44773. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_POWER_CTRL_CNT_MODE_MASK (0x30000000U)
  44774. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_POWER_CTRL_CNT_MODE_SHIFT (28U)
  44775. /*! CNT_MODE - Count mode
  44776. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  44777. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  44778. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  44779. * 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
  44780. */
  44781. #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)
  44782. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_POWER_CTRL_DISABLE_MASK (0x80000000U)
  44783. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_POWER_CTRL_DISABLE_SHIFT (31U)
  44784. /*! DISABLE - Disable this step
  44785. */
  44786. #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)
  44787. /*! @} */
  44788. /*! @name CM_WAKEUP_RESET_CTRL - CM wakeup reset control */
  44789. /*! @{ */
  44790. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_RESET_CTRL_STEP_CNT_MASK (0xFFFFU)
  44791. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_RESET_CTRL_STEP_CNT_SHIFT (0U)
  44792. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  44793. */
  44794. #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)
  44795. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_RESET_CTRL_CNT_MODE_MASK (0x30000000U)
  44796. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_RESET_CTRL_CNT_MODE_SHIFT (28U)
  44797. /*! CNT_MODE - Count mode
  44798. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  44799. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  44800. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  44801. * 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
  44802. */
  44803. #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)
  44804. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_RESET_CTRL_DISABLE_MASK (0x80000000U)
  44805. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_RESET_CTRL_DISABLE_SHIFT (31U)
  44806. /*! DISABLE - Disable this step
  44807. */
  44808. #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)
  44809. /*! @} */
  44810. /*! @name CM_WAKEUP_ISO_CTRL - CM wakeup isolation control */
  44811. /*! @{ */
  44812. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_ISO_CTRL_STEP_CNT_MASK (0xFFFFU)
  44813. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_ISO_CTRL_STEP_CNT_SHIFT (0U)
  44814. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  44815. */
  44816. #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)
  44817. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_ISO_CTRL_CNT_MODE_MASK (0x30000000U)
  44818. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_ISO_CTRL_CNT_MODE_SHIFT (28U)
  44819. /*! CNT_MODE - Count mode
  44820. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  44821. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  44822. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  44823. * 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
  44824. */
  44825. #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)
  44826. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_ISO_CTRL_DISABLE_MASK (0x80000000U)
  44827. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_ISO_CTRL_DISABLE_SHIFT (31U)
  44828. /*! DISABLE - Disable this step
  44829. */
  44830. #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)
  44831. /*! @} */
  44832. /*! @name CM_WAKEUP_PLL_CTRL - CM wakeup PLL control */
  44833. /*! @{ */
  44834. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_PLL_CTRL_STEP_CNT_MASK (0xFFFFU)
  44835. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_PLL_CTRL_STEP_CNT_SHIFT (0U)
  44836. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  44837. */
  44838. #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)
  44839. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_PLL_CTRL_CNT_MODE_MASK (0x30000000U)
  44840. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_PLL_CTRL_CNT_MODE_SHIFT (28U)
  44841. /*! CNT_MODE - Count mode
  44842. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  44843. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  44844. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  44845. * 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
  44846. */
  44847. #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)
  44848. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_PLL_CTRL_DISABLE_MASK (0x80000000U)
  44849. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_PLL_CTRL_DISABLE_SHIFT (31U)
  44850. /*! DISABLE - Disable this step
  44851. */
  44852. #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)
  44853. /*! @} */
  44854. /*! @name CM_WAKEUP_LPCG_CTRL - CM wakeup LPCG control */
  44855. /*! @{ */
  44856. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_LPCG_CTRL_STEP_CNT_MASK (0xFFFFU)
  44857. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_LPCG_CTRL_STEP_CNT_SHIFT (0U)
  44858. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  44859. */
  44860. #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)
  44861. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_LPCG_CTRL_CNT_MODE_MASK (0x30000000U)
  44862. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_LPCG_CTRL_CNT_MODE_SHIFT (28U)
  44863. /*! CNT_MODE - Count mode
  44864. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  44865. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  44866. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  44867. * 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
  44868. */
  44869. #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)
  44870. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_LPCG_CTRL_DISABLE_MASK (0x80000000U)
  44871. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_LPCG_CTRL_DISABLE_SHIFT (31U)
  44872. /*! DISABLE - Disable this step
  44873. */
  44874. #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)
  44875. /*! @} */
  44876. /*! @name CM_WAKEUP_SSAR_CTRL - CM wakeup SSAR control */
  44877. /*! @{ */
  44878. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_SSAR_CTRL_STEP_CNT_MASK (0xFFFFU)
  44879. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_SSAR_CTRL_STEP_CNT_SHIFT (0U)
  44880. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  44881. */
  44882. #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)
  44883. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_SSAR_CTRL_CNT_MODE_MASK (0x30000000U)
  44884. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_SSAR_CTRL_CNT_MODE_SHIFT (28U)
  44885. /*! CNT_MODE - Count mode
  44886. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  44887. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  44888. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  44889. * 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
  44890. */
  44891. #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)
  44892. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_SSAR_CTRL_DISABLE_MASK (0x80000000U)
  44893. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_SSAR_CTRL_DISABLE_SHIFT (31U)
  44894. /*! DISABLE - Disable this step
  44895. */
  44896. #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)
  44897. /*! @} */
  44898. /*! @name CM_SP_CTRL - CM Setpoint Control */
  44899. /*! @{ */
  44900. #define GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_RUN_EN_MASK (0x1U)
  44901. #define GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_RUN_EN_SHIFT (0U)
  44902. /*! CPU_SP_RUN_EN - Request a Setpoint transition when this bit is set
  44903. */
  44904. #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)
  44905. #define GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_RUN_MASK (0x1EU)
  44906. #define GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_RUN_SHIFT (1U)
  44907. /*! CPU_SP_RUN - The Setpoint that CPU want the system to transit to when CPU_SP_RUN_EN is set
  44908. */
  44909. #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)
  44910. #define GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_SLEEP_EN_MASK (0x20U)
  44911. #define GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_SLEEP_EN_SHIFT (5U)
  44912. /*! CPU_SP_SLEEP_EN - 1 means enable Setpoint transition on next CPU platform sleep sequence
  44913. */
  44914. #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)
  44915. #define GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_SLEEP_MASK (0x3C0U)
  44916. #define GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_SLEEP_SHIFT (6U)
  44917. /*! CPU_SP_SLEEP - The Setpoint that CPU want the system to transit to on next CPU platform sleep sequence
  44918. */
  44919. #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)
  44920. #define GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_WAKEUP_EN_MASK (0x400U)
  44921. #define GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_WAKEUP_EN_SHIFT (10U)
  44922. /*! CPU_SP_WAKEUP_EN - 1 means enable Setpoint transition on next CPU platform wakeup sequence
  44923. */
  44924. #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)
  44925. #define GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_WAKEUP_MASK (0x7800U)
  44926. #define GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_WAKEUP_SHIFT (11U)
  44927. /*! CPU_SP_WAKEUP - The Setpoint that CPU want the system to transit to on next CPU platform wakeup sequence
  44928. */
  44929. #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)
  44930. #define GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_WAKEUP_SEL_MASK (0x8000U)
  44931. #define GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_WAKEUP_SEL_SHIFT (15U)
  44932. /*! CPU_SP_WAKEUP_SEL - Select the Setpoint transiton on the next CPU platform wakeup sequence
  44933. * 0b0..Request SP transition to CPU_SP_WAKEUP
  44934. * 0b1..Request SP transition to the Setpoint when the sleep event happens, which is captured in CPU_SP_PREVIOUS
  44935. */
  44936. #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)
  44937. /*! @} */
  44938. /*! @name CM_SP_STAT - CM Setpoint Status */
  44939. /*! @{ */
  44940. #define GPC_CPU_MODE_CTRL_CM_SP_STAT_CPU_SP_CURRENT_MASK (0xFU)
  44941. #define GPC_CPU_MODE_CTRL_CM_SP_STAT_CPU_SP_CURRENT_SHIFT (0U)
  44942. /*! CPU_SP_CURRENT - The current Setpoint of the system
  44943. */
  44944. #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)
  44945. #define GPC_CPU_MODE_CTRL_CM_SP_STAT_CPU_SP_PREVIOUS_MASK (0xF0U)
  44946. #define GPC_CPU_MODE_CTRL_CM_SP_STAT_CPU_SP_PREVIOUS_SHIFT (4U)
  44947. /*! CPU_SP_PREVIOUS - The previous Setpoint of the system
  44948. */
  44949. #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)
  44950. #define GPC_CPU_MODE_CTRL_CM_SP_STAT_CPU_SP_TARGET_MASK (0xF00U)
  44951. #define GPC_CPU_MODE_CTRL_CM_SP_STAT_CPU_SP_TARGET_SHIFT (8U)
  44952. /*! CPU_SP_TARGET - The requested Setpoint from the CPU platform
  44953. */
  44954. #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)
  44955. /*! @} */
  44956. /*! @name CM_RUN_MODE_MAPPING - CM Run Mode Setpoint Allowed */
  44957. /*! @{ */
  44958. #define GPC_CPU_MODE_CTRL_CM_RUN_MODE_MAPPING_CPU_RUN_MODE_MAPPING_MASK (0xFFFFU)
  44959. #define GPC_CPU_MODE_CTRL_CM_RUN_MODE_MAPPING_CPU_RUN_MODE_MAPPING_SHIFT (0U)
  44960. /*! 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
  44961. */
  44962. #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)
  44963. /*! @} */
  44964. /*! @name CM_WAIT_MODE_MAPPING - CM Wait Mode Setpoint Allowed */
  44965. /*! @{ */
  44966. #define GPC_CPU_MODE_CTRL_CM_WAIT_MODE_MAPPING_CPU_WAIT_MODE_MAPPING_MASK (0xFFFFU)
  44967. #define GPC_CPU_MODE_CTRL_CM_WAIT_MODE_MAPPING_CPU_WAIT_MODE_MAPPING_SHIFT (0U)
  44968. /*! CPU_WAIT_MODE_MAPPING - Defines which Setpoint is allowed when CPU enters WAIT mode. Each bit stands for 1 Setpoint, locked by LOCK_CFG
  44969. */
  44970. #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)
  44971. /*! @} */
  44972. /*! @name CM_STOP_MODE_MAPPING - CM Stop Mode Setpoint Allowed */
  44973. /*! @{ */
  44974. #define GPC_CPU_MODE_CTRL_CM_STOP_MODE_MAPPING_CPU_STOP_MODE_MAPPING_MASK (0xFFFFU)
  44975. #define GPC_CPU_MODE_CTRL_CM_STOP_MODE_MAPPING_CPU_STOP_MODE_MAPPING_SHIFT (0U)
  44976. /*! CPU_STOP_MODE_MAPPING - Defines which Setpoint is allowed when CPU enters STOP mode. Each bit stands for 1 Setpoint, locked by LOCK_CFG
  44977. */
  44978. #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)
  44979. /*! @} */
  44980. /*! @name CM_SUSPEND_MODE_MAPPING - CM Suspend Mode Setpoint Allowed */
  44981. /*! @{ */
  44982. #define GPC_CPU_MODE_CTRL_CM_SUSPEND_MODE_MAPPING_CPU_SUSPEND_MODE_MAPPING_MASK (0xFFFFU)
  44983. #define GPC_CPU_MODE_CTRL_CM_SUSPEND_MODE_MAPPING_CPU_SUSPEND_MODE_MAPPING_SHIFT (0U)
  44984. /*! CPU_SUSPEND_MODE_MAPPING - Defines which Setpoint is allowed when CPU enters SUSPEND mode. Each bit stands for 1 Setpoint, locked by LOCK_CFG
  44985. */
  44986. #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)
  44987. /*! @} */
  44988. /*! @name CM_SP_MAPPING - CM Setpoint 0 Mapping..CM Setpoint 15 Mapping */
  44989. /*! @{ */
  44990. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP0_MAPPING_MASK (0xFFFFU)
  44991. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP0_MAPPING_SHIFT (0U)
  44992. /*! CPU_SP0_MAPPING - Defines when SP0 is set as the CPU_SP_TARGET, which SP is allowed, locked by LOCK_CFG field
  44993. */
  44994. #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)
  44995. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP1_MAPPING_MASK (0xFFFFU)
  44996. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP1_MAPPING_SHIFT (0U)
  44997. /*! CPU_SP1_MAPPING - Defines when SP1 is set as the CPU_SP_TARGET, which SP is allowed, locked by LOCK_CFG field
  44998. */
  44999. #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)
  45000. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP2_MAPPING_MASK (0xFFFFU)
  45001. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP2_MAPPING_SHIFT (0U)
  45002. /*! CPU_SP2_MAPPING - Defines when SP2 is set as the CPU_SP_TARGET, which SP is allowed, locked by LOCK_CFG field
  45003. */
  45004. #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)
  45005. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP3_MAPPING_MASK (0xFFFFU)
  45006. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP3_MAPPING_SHIFT (0U)
  45007. /*! CPU_SP3_MAPPING - Defines when SP3 is set as the CPU_SP_TARGET, which SP is allowed, locked by LOCK_CFG field
  45008. */
  45009. #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)
  45010. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP4_MAPPING_MASK (0xFFFFU)
  45011. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP4_MAPPING_SHIFT (0U)
  45012. /*! CPU_SP4_MAPPING - Defines when SP4 is set as the CPU_SP_TARGET, which SP is allowed, locked by LOCK_CFG field
  45013. */
  45014. #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)
  45015. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP5_MAPPING_MASK (0xFFFFU)
  45016. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP5_MAPPING_SHIFT (0U)
  45017. /*! CPU_SP5_MAPPING - Defines when SP5 is set as the CPU_SP_TARGET, which SP is allowed, locked by LOCK_CFG field
  45018. */
  45019. #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)
  45020. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP6_MAPPING_MASK (0xFFFFU)
  45021. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP6_MAPPING_SHIFT (0U)
  45022. /*! CPU_SP6_MAPPING - Defines when SP6 is set as the CPU_SP_TARGET, which SP is allowed, locked by LOCK_CFG field
  45023. */
  45024. #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)
  45025. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP7_MAPPING_MASK (0xFFFFU)
  45026. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP7_MAPPING_SHIFT (0U)
  45027. /*! CPU_SP7_MAPPING - Defines when SP7 is set as the CPU_SP_TARGET, which SP is allowed, locked by LOCK_CFG field
  45028. */
  45029. #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)
  45030. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP8_MAPPING_MASK (0xFFFFU)
  45031. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP8_MAPPING_SHIFT (0U)
  45032. /*! CPU_SP8_MAPPING - Defines when SP8 is set as the CPU_SP_TARGET, which SP is allowed, locked by LOCK_CFG field
  45033. */
  45034. #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)
  45035. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP9_MAPPING_MASK (0xFFFFU)
  45036. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP9_MAPPING_SHIFT (0U)
  45037. /*! CPU_SP9_MAPPING - Defines when SP9 is set as the CPU_SP_TARGET, which SP is allowed, locked by LOCK_CFG field
  45038. */
  45039. #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)
  45040. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP10_MAPPING_MASK (0xFFFFU)
  45041. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP10_MAPPING_SHIFT (0U)
  45042. /*! CPU_SP10_MAPPING - Defines when SP10 is set as the CPU_SP_TARGET, which SP is allowed, locked by LOCK_CFG field
  45043. */
  45044. #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)
  45045. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP11_MAPPING_MASK (0xFFFFU)
  45046. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP11_MAPPING_SHIFT (0U)
  45047. /*! CPU_SP11_MAPPING - Defines when SP11 is set as the CPU_SP_TARGET, which SP is allowed, locked by LOCK_CFG field
  45048. */
  45049. #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)
  45050. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP12_MAPPING_MASK (0xFFFFU)
  45051. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP12_MAPPING_SHIFT (0U)
  45052. /*! CPU_SP12_MAPPING - Defines when SP12 is set as the CPU_SP_TARGET, which SP is allowed, locked by LOCK_CFG field
  45053. */
  45054. #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)
  45055. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP13_MAPPING_MASK (0xFFFFU)
  45056. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP13_MAPPING_SHIFT (0U)
  45057. /*! CPU_SP13_MAPPING - Defines when SP13 is set as the CPU_SP_TARGET, which SP is allowed, locked by LOCK_CFG field
  45058. */
  45059. #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)
  45060. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP14_MAPPING_MASK (0xFFFFU)
  45061. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP14_MAPPING_SHIFT (0U)
  45062. /*! CPU_SP14_MAPPING - Defines when SP14 is set as the CPU_SP_TARGET, which SP is allowed, locked by LOCK_CFG field
  45063. */
  45064. #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)
  45065. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP15_MAPPING_MASK (0xFFFFU)
  45066. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP15_MAPPING_SHIFT (0U)
  45067. /*! CPU_SP15_MAPPING - Defines when SP15 is set as the CPU_SP_TARGET, which SP is allowed, locked by LOCK_CFG field
  45068. */
  45069. #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)
  45070. /*! @} */
  45071. /* The count of GPC_CPU_MODE_CTRL_CM_SP_MAPPING */
  45072. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_COUNT (16U)
  45073. /*! @name CM_STBY_CTRL - CM standby control */
  45074. /*! @{ */
  45075. #define GPC_CPU_MODE_CTRL_CM_STBY_CTRL_STBY_WAIT_MASK (0x1U)
  45076. #define GPC_CPU_MODE_CTRL_CM_STBY_CTRL_STBY_WAIT_SHIFT (0U)
  45077. /*! STBY_WAIT - 0x1: Request the chip into standby mode when CPU entering WAIT mode, locked by LOCK_CFG field.
  45078. */
  45079. #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)
  45080. #define GPC_CPU_MODE_CTRL_CM_STBY_CTRL_STBY_STOP_MASK (0x2U)
  45081. #define GPC_CPU_MODE_CTRL_CM_STBY_CTRL_STBY_STOP_SHIFT (1U)
  45082. /*! STBY_STOP - 0x1: Request the chip into standby mode when CPU entering STOP mode, locked by LOCK_CFG field.
  45083. */
  45084. #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)
  45085. #define GPC_CPU_MODE_CTRL_CM_STBY_CTRL_STBY_SUSPEND_MASK (0x4U)
  45086. #define GPC_CPU_MODE_CTRL_CM_STBY_CTRL_STBY_SUSPEND_SHIFT (2U)
  45087. /*! STBY_SUSPEND - 0x1: Request the chip into standby mode when CPU entering SUSPEND mode, locked by LOCK_CFG field.
  45088. */
  45089. #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)
  45090. #define GPC_CPU_MODE_CTRL_CM_STBY_CTRL_STBY_SLEEP_BUSY_MASK (0x10000U)
  45091. #define GPC_CPU_MODE_CTRL_CM_STBY_CTRL_STBY_SLEEP_BUSY_SHIFT (16U)
  45092. /*! STBY_SLEEP_BUSY - Indicate the CPU is busy entering standby mode.
  45093. */
  45094. #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)
  45095. #define GPC_CPU_MODE_CTRL_CM_STBY_CTRL_STBY_WAKEUP_BUSY_MASK (0x20000U)
  45096. #define GPC_CPU_MODE_CTRL_CM_STBY_CTRL_STBY_WAKEUP_BUSY_SHIFT (17U)
  45097. /*! STBY_WAKEUP_BUSY - Indicate the CPU is busy exiting standby mode.
  45098. */
  45099. #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)
  45100. /*! @} */
  45101. /*!
  45102. * @}
  45103. */ /* end of group GPC_CPU_MODE_CTRL_Register_Masks */
  45104. /* GPC_CPU_MODE_CTRL - Peripheral instance base addresses */
  45105. /** Peripheral GPC_CPU_MODE_CTRL_0 base address */
  45106. #define GPC_CPU_MODE_CTRL_0_BASE (0x40C00000u)
  45107. /** Peripheral GPC_CPU_MODE_CTRL_0 base pointer */
  45108. #define GPC_CPU_MODE_CTRL_0 ((GPC_CPU_MODE_CTRL_Type *)GPC_CPU_MODE_CTRL_0_BASE)
  45109. /** Peripheral GPC_CPU_MODE_CTRL_1 base address */
  45110. #define GPC_CPU_MODE_CTRL_1_BASE (0x40C00800u)
  45111. /** Peripheral GPC_CPU_MODE_CTRL_1 base pointer */
  45112. #define GPC_CPU_MODE_CTRL_1 ((GPC_CPU_MODE_CTRL_Type *)GPC_CPU_MODE_CTRL_1_BASE)
  45113. /** Array initializer of GPC_CPU_MODE_CTRL peripheral base addresses */
  45114. #define GPC_CPU_MODE_CTRL_BASE_ADDRS { GPC_CPU_MODE_CTRL_0_BASE, GPC_CPU_MODE_CTRL_1_BASE }
  45115. /** Array initializer of GPC_CPU_MODE_CTRL peripheral base pointers */
  45116. #define GPC_CPU_MODE_CTRL_BASE_PTRS { GPC_CPU_MODE_CTRL_0, GPC_CPU_MODE_CTRL_1 }
  45117. /*!
  45118. * @}
  45119. */ /* end of group GPC_CPU_MODE_CTRL_Peripheral_Access_Layer */
  45120. /* ----------------------------------------------------------------------------
  45121. -- GPC_SET_POINT_CTRL Peripheral Access Layer
  45122. ---------------------------------------------------------------------------- */
  45123. /*!
  45124. * @addtogroup GPC_SET_POINT_CTRL_Peripheral_Access_Layer GPC_SET_POINT_CTRL Peripheral Access Layer
  45125. * @{
  45126. */
  45127. /** GPC_SET_POINT_CTRL - Register Layout Typedef */
  45128. typedef struct {
  45129. uint8_t RESERVED_0[4];
  45130. __IO uint32_t SP_AUTHEN_CTRL; /**< SP Authentication Control, offset: 0x4 */
  45131. __IO uint32_t SP_INT_CTRL; /**< SP Interrupt Control, offset: 0x8 */
  45132. uint8_t RESERVED_1[4];
  45133. __I uint32_t SP_CPU_REQ; /**< CPU SP Request, offset: 0x10 */
  45134. __I uint32_t SP_SYS_STAT; /**< SP System Status, offset: 0x14 */
  45135. uint8_t RESERVED_2[4];
  45136. __IO uint32_t SP_ROSC_CTRL; /**< SP ROSC Control, offset: 0x1C */
  45137. uint8_t RESERVED_3[32];
  45138. __IO uint32_t SP_PRIORITY_0_7; /**< SP0~7 Priority, offset: 0x40 */
  45139. __IO uint32_t SP_PRIORITY_8_15; /**< SP8~15 Priority, offset: 0x44 */
  45140. uint8_t RESERVED_4[184];
  45141. __IO uint32_t SP_SSAR_SAVE_CTRL; /**< SP SSAR save control, offset: 0x100 */
  45142. uint8_t RESERVED_5[12];
  45143. __IO uint32_t SP_LPCG_OFF_CTRL; /**< SP LPCG off control, offset: 0x110 */
  45144. uint8_t RESERVED_6[12];
  45145. __IO uint32_t SP_GROUP_DOWN_CTRL; /**< SP group down control, offset: 0x120 */
  45146. uint8_t RESERVED_7[12];
  45147. __IO uint32_t SP_ROOT_DOWN_CTRL; /**< SP root down control, offset: 0x130 */
  45148. uint8_t RESERVED_8[12];
  45149. __IO uint32_t SP_PLL_OFF_CTRL; /**< SP PLL off control, offset: 0x140 */
  45150. uint8_t RESERVED_9[12];
  45151. __IO uint32_t SP_ISO_ON_CTRL; /**< SP ISO on control, offset: 0x150 */
  45152. uint8_t RESERVED_10[12];
  45153. __IO uint32_t SP_RESET_EARLY_CTRL; /**< SP reset early control, offset: 0x160 */
  45154. uint8_t RESERVED_11[12];
  45155. __IO uint32_t SP_POWER_OFF_CTRL; /**< SP power off control, offset: 0x170 */
  45156. uint8_t RESERVED_12[12];
  45157. __IO uint32_t SP_BIAS_OFF_CTRL; /**< SP bias off control, offset: 0x180 */
  45158. uint8_t RESERVED_13[12];
  45159. __IO uint32_t SP_BG_PLDO_OFF_CTRL; /**< SP bandgap and PLL_LDO off control, offset: 0x190 */
  45160. uint8_t RESERVED_14[12];
  45161. __IO uint32_t SP_LDO_PRE_CTRL; /**< SP LDO pre control, offset: 0x1A0 */
  45162. uint8_t RESERVED_15[12];
  45163. __IO uint32_t SP_DCDC_DOWN_CTRL; /**< SP DCDC down control, offset: 0x1B0 */
  45164. uint8_t RESERVED_16[76];
  45165. __IO uint32_t SP_DCDC_UP_CTRL; /**< SP DCDC up control, offset: 0x200 */
  45166. uint8_t RESERVED_17[12];
  45167. __IO uint32_t SP_LDO_POST_CTRL; /**< SP LDO post control, offset: 0x210 */
  45168. uint8_t RESERVED_18[12];
  45169. __IO uint32_t SP_BG_PLDO_ON_CTRL; /**< SP bandgap and PLL_LDO on control, offset: 0x220 */
  45170. uint8_t RESERVED_19[12];
  45171. __IO uint32_t SP_BIAS_ON_CTRL; /**< SP bias on control, offset: 0x230 */
  45172. uint8_t RESERVED_20[12];
  45173. __IO uint32_t SP_POWER_ON_CTRL; /**< SP power on control, offset: 0x240 */
  45174. uint8_t RESERVED_21[12];
  45175. __IO uint32_t SP_RESET_LATE_CTRL; /**< SP reset late control, offset: 0x250 */
  45176. uint8_t RESERVED_22[12];
  45177. __IO uint32_t SP_ISO_OFF_CTRL; /**< SP ISO off control, offset: 0x260 */
  45178. uint8_t RESERVED_23[12];
  45179. __IO uint32_t SP_PLL_ON_CTRL; /**< SP PLL on control, offset: 0x270 */
  45180. uint8_t RESERVED_24[12];
  45181. __IO uint32_t SP_ROOT_UP_CTRL; /**< SP root up control, offset: 0x280 */
  45182. uint8_t RESERVED_25[12];
  45183. __IO uint32_t SP_GROUP_UP_CTRL; /**< SP group up control, offset: 0x290 */
  45184. uint8_t RESERVED_26[12];
  45185. __IO uint32_t SP_LPCG_ON_CTRL; /**< SP LPCG on control, offset: 0x2A0 */
  45186. uint8_t RESERVED_27[12];
  45187. __IO uint32_t SP_SSAR_RESTORE_CTRL; /**< SP SSAR restore control, offset: 0x2B0 */
  45188. } GPC_SET_POINT_CTRL_Type;
  45189. /* ----------------------------------------------------------------------------
  45190. -- GPC_SET_POINT_CTRL Register Masks
  45191. ---------------------------------------------------------------------------- */
  45192. /*!
  45193. * @addtogroup GPC_SET_POINT_CTRL_Register_Masks GPC_SET_POINT_CTRL Register Masks
  45194. * @{
  45195. */
  45196. /*! @name SP_AUTHEN_CTRL - SP Authentication Control */
  45197. /*! @{ */
  45198. #define GPC_SET_POINT_CTRL_SP_AUTHEN_CTRL_USER_MASK (0x1U)
  45199. #define GPC_SET_POINT_CTRL_SP_AUTHEN_CTRL_USER_SHIFT (0U)
  45200. /*! USER - Allow user mode access
  45201. * 0b0..Allow only privilege mode to access setpoint control registers
  45202. * 0b1..Allow both privilege and user mode to access setpoint control registers
  45203. */
  45204. #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)
  45205. #define GPC_SET_POINT_CTRL_SP_AUTHEN_CTRL_NONSECURE_MASK (0x2U)
  45206. #define GPC_SET_POINT_CTRL_SP_AUTHEN_CTRL_NONSECURE_SHIFT (1U)
  45207. /*! NONSECURE - Allow non-secure mode access
  45208. * 0b0..Allow only secure mode to access setpoint control registers
  45209. * 0b1..Allow both secure and non-secure mode to access setpoint control registers
  45210. */
  45211. #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)
  45212. #define GPC_SET_POINT_CTRL_SP_AUTHEN_CTRL_LOCK_SETTING_MASK (0x10U)
  45213. #define GPC_SET_POINT_CTRL_SP_AUTHEN_CTRL_LOCK_SETTING_SHIFT (4U)
  45214. /*! LOCK_SETTING - Lock NONSECURE and USER
  45215. */
  45216. #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)
  45217. #define GPC_SET_POINT_CTRL_SP_AUTHEN_CTRL_WHITE_LIST_MASK (0xF00U)
  45218. #define GPC_SET_POINT_CTRL_SP_AUTHEN_CTRL_WHITE_LIST_SHIFT (8U)
  45219. /*! WHITE_LIST - Domain ID white list
  45220. */
  45221. #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)
  45222. #define GPC_SET_POINT_CTRL_SP_AUTHEN_CTRL_LOCK_LIST_MASK (0x1000U)
  45223. #define GPC_SET_POINT_CTRL_SP_AUTHEN_CTRL_LOCK_LIST_SHIFT (12U)
  45224. /*! LOCK_LIST - White list lock
  45225. */
  45226. #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)
  45227. #define GPC_SET_POINT_CTRL_SP_AUTHEN_CTRL_LOCK_CFG_MASK (0x100000U)
  45228. #define GPC_SET_POINT_CTRL_SP_AUTHEN_CTRL_LOCK_CFG_SHIFT (20U)
  45229. /*! LOCK_CFG - Configuration lock
  45230. */
  45231. #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)
  45232. /*! @} */
  45233. /*! @name SP_INT_CTRL - SP Interrupt Control */
  45234. /*! @{ */
  45235. #define GPC_SET_POINT_CTRL_SP_INT_CTRL_NO_ALLOWED_SP_INT_EN_MASK (0x1U)
  45236. #define GPC_SET_POINT_CTRL_SP_INT_CTRL_NO_ALLOWED_SP_INT_EN_SHIFT (0U)
  45237. /*! NO_ALLOWED_SP_INT_EN - no_allowed_set_point interrupt enable
  45238. */
  45239. #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)
  45240. #define GPC_SET_POINT_CTRL_SP_INT_CTRL_NO_ALLOWED_SP_INT_MASK (0x2U)
  45241. #define GPC_SET_POINT_CTRL_SP_INT_CTRL_NO_ALLOWED_SP_INT_SHIFT (1U)
  45242. /*! NO_ALLOWED_SP_INT - no_allowed_set_point interrupt
  45243. */
  45244. #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)
  45245. /*! @} */
  45246. /*! @name SP_CPU_REQ - CPU SP Request */
  45247. /*! @{ */
  45248. #define GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_REQ_CPU0_MASK (0xFU)
  45249. #define GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_REQ_CPU0_SHIFT (0U)
  45250. /*! SP_REQ_CPU0 - Setpoint requested by CPU0
  45251. */
  45252. #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)
  45253. #define GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_REQ_CPU1_MASK (0xF0U)
  45254. #define GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_REQ_CPU1_SHIFT (4U)
  45255. /*! SP_REQ_CPU1 - Setpoint requested by CPU1
  45256. */
  45257. #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)
  45258. #define GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_REQ_CPU2_MASK (0xF00U)
  45259. #define GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_REQ_CPU2_SHIFT (8U)
  45260. /*! SP_REQ_CPU2 - Setpoint requested by CPU2
  45261. */
  45262. #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)
  45263. #define GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_REQ_CPU3_MASK (0xF000U)
  45264. #define GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_REQ_CPU3_SHIFT (12U)
  45265. /*! SP_REQ_CPU3 - Setpoint requested by CPU3
  45266. */
  45267. #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)
  45268. #define GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_ACCEPTED_CPU0_MASK (0xF0000U)
  45269. #define GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_ACCEPTED_CPU0_SHIFT (16U)
  45270. /*! SP_ACCEPTED_CPU0 - CPU0 Setpoint accepted by SP controller
  45271. */
  45272. #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)
  45273. #define GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_ACCEPTED_CPU1_MASK (0xF00000U)
  45274. #define GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_ACCEPTED_CPU1_SHIFT (20U)
  45275. /*! SP_ACCEPTED_CPU1 - CPU1 Setpoint accepted by SP controller
  45276. */
  45277. #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)
  45278. #define GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_ACCEPTED_CPU2_MASK (0xF000000U)
  45279. #define GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_ACCEPTED_CPU2_SHIFT (24U)
  45280. /*! SP_ACCEPTED_CPU2 - CPU2 Setpoint accepted by SP controller
  45281. */
  45282. #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)
  45283. #define GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_ACCEPTED_CPU3_MASK (0xF0000000U)
  45284. #define GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_ACCEPTED_CPU3_SHIFT (28U)
  45285. /*! SP_ACCEPTED_CPU3 - CPU3 Setpoint accepted by SP controller
  45286. */
  45287. #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)
  45288. /*! @} */
  45289. /*! @name SP_SYS_STAT - SP System Status */
  45290. /*! @{ */
  45291. #define GPC_SET_POINT_CTRL_SP_SYS_STAT_SYS_SP_ALLOWED_MASK (0xFFFFU)
  45292. #define GPC_SET_POINT_CTRL_SP_SYS_STAT_SYS_SP_ALLOWED_SHIFT (0U)
  45293. /*! SYS_SP_ALLOWED - Allowed Setpoints by all current CPU Setpoint requests
  45294. */
  45295. #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)
  45296. #define GPC_SET_POINT_CTRL_SP_SYS_STAT_SYS_SP_TARGET_MASK (0xF0000U)
  45297. #define GPC_SET_POINT_CTRL_SP_SYS_STAT_SYS_SP_TARGET_SHIFT (16U)
  45298. /*! SYS_SP_TARGET - The Setpoint chosen as the target setpoint
  45299. */
  45300. #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)
  45301. #define GPC_SET_POINT_CTRL_SP_SYS_STAT_SYS_SP_CURRENT_MASK (0xF00000U)
  45302. #define GPC_SET_POINT_CTRL_SP_SYS_STAT_SYS_SP_CURRENT_SHIFT (20U)
  45303. /*! SYS_SP_CURRENT - Current Setpoint, only valid when not SP trans busy
  45304. */
  45305. #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)
  45306. #define GPC_SET_POINT_CTRL_SP_SYS_STAT_SYS_SP_PREVIOUS_MASK (0xF000000U)
  45307. #define GPC_SET_POINT_CTRL_SP_SYS_STAT_SYS_SP_PREVIOUS_SHIFT (24U)
  45308. /*! SYS_SP_PREVIOUS - Previous Setpoint, only valid when not SP trans busy
  45309. */
  45310. #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)
  45311. /*! @} */
  45312. /*! @name SP_ROSC_CTRL - SP ROSC Control */
  45313. /*! @{ */
  45314. #define GPC_SET_POINT_CTRL_SP_ROSC_CTRL_SP_ALLOW_ROSC_OFF_MASK (0xFFFFU)
  45315. #define GPC_SET_POINT_CTRL_SP_ROSC_CTRL_SP_ALLOW_ROSC_OFF_SHIFT (0U)
  45316. /*! SP_ALLOW_ROSC_OFF - Allow shutting off the ROSC
  45317. */
  45318. #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)
  45319. /*! @} */
  45320. /*! @name SP_PRIORITY_0_7 - SP0~7 Priority */
  45321. /*! @{ */
  45322. #define GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP0_PRIORITY_MASK (0xFU)
  45323. #define GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP0_PRIORITY_SHIFT (0U)
  45324. /*! SYS_SP0_PRIORITY - priority of Setpoint 0
  45325. */
  45326. #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)
  45327. #define GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP1_PRIORITY_MASK (0xF0U)
  45328. #define GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP1_PRIORITY_SHIFT (4U)
  45329. /*! SYS_SP1_PRIORITY - priority of Setpoint 1
  45330. */
  45331. #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)
  45332. #define GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP2_PRIORITY_MASK (0xF00U)
  45333. #define GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP2_PRIORITY_SHIFT (8U)
  45334. /*! SYS_SP2_PRIORITY - priority of Setpoint 2
  45335. */
  45336. #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)
  45337. #define GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP3_PRIORITY_MASK (0xF000U)
  45338. #define GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP3_PRIORITY_SHIFT (12U)
  45339. /*! SYS_SP3_PRIORITY - priority of Setpoint 3
  45340. */
  45341. #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)
  45342. #define GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP4_PRIORITY_MASK (0xF0000U)
  45343. #define GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP4_PRIORITY_SHIFT (16U)
  45344. /*! SYS_SP4_PRIORITY - priority of Setpoint 4
  45345. */
  45346. #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)
  45347. #define GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP5_PRIORITY_MASK (0xF00000U)
  45348. #define GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP5_PRIORITY_SHIFT (20U)
  45349. /*! SYS_SP5_PRIORITY - priority of Setpoint 5
  45350. */
  45351. #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)
  45352. #define GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP6_PRIORITY_MASK (0xF000000U)
  45353. #define GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP6_PRIORITY_SHIFT (24U)
  45354. /*! SYS_SP6_PRIORITY - priority of Setpoint 6
  45355. */
  45356. #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)
  45357. #define GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP7_PRIORITY_MASK (0xF0000000U)
  45358. #define GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP7_PRIORITY_SHIFT (28U)
  45359. /*! SYS_SP7_PRIORITY - priority of Setpoint 7
  45360. */
  45361. #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)
  45362. /*! @} */
  45363. /*! @name SP_PRIORITY_8_15 - SP8~15 Priority */
  45364. /*! @{ */
  45365. #define GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP8_PRIORITY_MASK (0xFU)
  45366. #define GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP8_PRIORITY_SHIFT (0U)
  45367. /*! SYS_SP8_PRIORITY - priority of Setpoint 8
  45368. */
  45369. #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)
  45370. #define GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP9_PRIORITY_MASK (0xF0U)
  45371. #define GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP9_PRIORITY_SHIFT (4U)
  45372. /*! SYS_SP9_PRIORITY - priority of Setpoint 9
  45373. */
  45374. #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)
  45375. #define GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP10_PRIORITY_MASK (0xF00U)
  45376. #define GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP10_PRIORITY_SHIFT (8U)
  45377. /*! SYS_SP10_PRIORITY - priority of Setpoint 10
  45378. */
  45379. #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)
  45380. #define GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP11_PRIORITY_MASK (0xF000U)
  45381. #define GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP11_PRIORITY_SHIFT (12U)
  45382. /*! SYS_SP11_PRIORITY - priority of Setpoint 11
  45383. */
  45384. #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)
  45385. #define GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP12_PRIORITY_MASK (0xF0000U)
  45386. #define GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP12_PRIORITY_SHIFT (16U)
  45387. /*! SYS_SP12_PRIORITY - priority of Setpoint 12
  45388. */
  45389. #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)
  45390. #define GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP13_PRIORITY_MASK (0xF00000U)
  45391. #define GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP13_PRIORITY_SHIFT (20U)
  45392. /*! SYS_SP13_PRIORITY - priority of Setpoint 13
  45393. */
  45394. #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)
  45395. #define GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP14_PRIORITY_MASK (0xF000000U)
  45396. #define GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP14_PRIORITY_SHIFT (24U)
  45397. /*! SYS_SP14_PRIORITY - priority of Setpoint 14
  45398. */
  45399. #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)
  45400. #define GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP15_PRIORITY_MASK (0xF0000000U)
  45401. #define GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP15_PRIORITY_SHIFT (28U)
  45402. /*! SYS_SP15_PRIORITY - priority of Setpoint 15
  45403. */
  45404. #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)
  45405. /*! @} */
  45406. /*! @name SP_SSAR_SAVE_CTRL - SP SSAR save control */
  45407. /*! @{ */
  45408. #define GPC_SET_POINT_CTRL_SP_SSAR_SAVE_CTRL_STEP_CNT_MASK (0xFFFFU)
  45409. #define GPC_SET_POINT_CTRL_SP_SSAR_SAVE_CTRL_STEP_CNT_SHIFT (0U)
  45410. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  45411. */
  45412. #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)
  45413. #define GPC_SET_POINT_CTRL_SP_SSAR_SAVE_CTRL_CNT_MODE_MASK (0x30000000U)
  45414. #define GPC_SET_POINT_CTRL_SP_SSAR_SAVE_CTRL_CNT_MODE_SHIFT (28U)
  45415. /*! CNT_MODE - Count mode
  45416. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  45417. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  45418. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  45419. * 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
  45420. */
  45421. #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)
  45422. #define GPC_SET_POINT_CTRL_SP_SSAR_SAVE_CTRL_DISABLE_MASK (0x80000000U)
  45423. #define GPC_SET_POINT_CTRL_SP_SSAR_SAVE_CTRL_DISABLE_SHIFT (31U)
  45424. /*! DISABLE - Disable this step
  45425. */
  45426. #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)
  45427. /*! @} */
  45428. /*! @name SP_LPCG_OFF_CTRL - SP LPCG off control */
  45429. /*! @{ */
  45430. #define GPC_SET_POINT_CTRL_SP_LPCG_OFF_CTRL_STEP_CNT_MASK (0xFFFFU)
  45431. #define GPC_SET_POINT_CTRL_SP_LPCG_OFF_CTRL_STEP_CNT_SHIFT (0U)
  45432. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  45433. */
  45434. #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)
  45435. #define GPC_SET_POINT_CTRL_SP_LPCG_OFF_CTRL_CNT_MODE_MASK (0x30000000U)
  45436. #define GPC_SET_POINT_CTRL_SP_LPCG_OFF_CTRL_CNT_MODE_SHIFT (28U)
  45437. /*! CNT_MODE - Count mode
  45438. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  45439. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  45440. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  45441. * 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
  45442. */
  45443. #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)
  45444. #define GPC_SET_POINT_CTRL_SP_LPCG_OFF_CTRL_DISABLE_MASK (0x80000000U)
  45445. #define GPC_SET_POINT_CTRL_SP_LPCG_OFF_CTRL_DISABLE_SHIFT (31U)
  45446. /*! DISABLE - Disable this step
  45447. */
  45448. #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)
  45449. /*! @} */
  45450. /*! @name SP_GROUP_DOWN_CTRL - SP group down control */
  45451. /*! @{ */
  45452. #define GPC_SET_POINT_CTRL_SP_GROUP_DOWN_CTRL_STEP_CNT_MASK (0xFFFFU)
  45453. #define GPC_SET_POINT_CTRL_SP_GROUP_DOWN_CTRL_STEP_CNT_SHIFT (0U)
  45454. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  45455. */
  45456. #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)
  45457. #define GPC_SET_POINT_CTRL_SP_GROUP_DOWN_CTRL_CNT_MODE_MASK (0x30000000U)
  45458. #define GPC_SET_POINT_CTRL_SP_GROUP_DOWN_CTRL_CNT_MODE_SHIFT (28U)
  45459. /*! CNT_MODE - Count mode
  45460. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  45461. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  45462. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  45463. * 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
  45464. */
  45465. #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)
  45466. #define GPC_SET_POINT_CTRL_SP_GROUP_DOWN_CTRL_DISABLE_MASK (0x80000000U)
  45467. #define GPC_SET_POINT_CTRL_SP_GROUP_DOWN_CTRL_DISABLE_SHIFT (31U)
  45468. /*! DISABLE - Disable this step
  45469. */
  45470. #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)
  45471. /*! @} */
  45472. /*! @name SP_ROOT_DOWN_CTRL - SP root down control */
  45473. /*! @{ */
  45474. #define GPC_SET_POINT_CTRL_SP_ROOT_DOWN_CTRL_STEP_CNT_MASK (0xFFFFU)
  45475. #define GPC_SET_POINT_CTRL_SP_ROOT_DOWN_CTRL_STEP_CNT_SHIFT (0U)
  45476. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  45477. */
  45478. #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)
  45479. #define GPC_SET_POINT_CTRL_SP_ROOT_DOWN_CTRL_CNT_MODE_MASK (0x30000000U)
  45480. #define GPC_SET_POINT_CTRL_SP_ROOT_DOWN_CTRL_CNT_MODE_SHIFT (28U)
  45481. /*! CNT_MODE - Count mode
  45482. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  45483. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  45484. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  45485. * 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
  45486. */
  45487. #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)
  45488. #define GPC_SET_POINT_CTRL_SP_ROOT_DOWN_CTRL_DISABLE_MASK (0x80000000U)
  45489. #define GPC_SET_POINT_CTRL_SP_ROOT_DOWN_CTRL_DISABLE_SHIFT (31U)
  45490. /*! DISABLE - Disable this step
  45491. */
  45492. #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)
  45493. /*! @} */
  45494. /*! @name SP_PLL_OFF_CTRL - SP PLL off control */
  45495. /*! @{ */
  45496. #define GPC_SET_POINT_CTRL_SP_PLL_OFF_CTRL_STEP_CNT_MASK (0xFFFFU)
  45497. #define GPC_SET_POINT_CTRL_SP_PLL_OFF_CTRL_STEP_CNT_SHIFT (0U)
  45498. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  45499. */
  45500. #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)
  45501. #define GPC_SET_POINT_CTRL_SP_PLL_OFF_CTRL_CNT_MODE_MASK (0x30000000U)
  45502. #define GPC_SET_POINT_CTRL_SP_PLL_OFF_CTRL_CNT_MODE_SHIFT (28U)
  45503. /*! CNT_MODE - Count mode
  45504. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  45505. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  45506. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  45507. * 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
  45508. */
  45509. #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)
  45510. #define GPC_SET_POINT_CTRL_SP_PLL_OFF_CTRL_DISABLE_MASK (0x80000000U)
  45511. #define GPC_SET_POINT_CTRL_SP_PLL_OFF_CTRL_DISABLE_SHIFT (31U)
  45512. /*! DISABLE - Disable this step
  45513. */
  45514. #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)
  45515. /*! @} */
  45516. /*! @name SP_ISO_ON_CTRL - SP ISO on control */
  45517. /*! @{ */
  45518. #define GPC_SET_POINT_CTRL_SP_ISO_ON_CTRL_STEP_CNT_MASK (0xFFFFU)
  45519. #define GPC_SET_POINT_CTRL_SP_ISO_ON_CTRL_STEP_CNT_SHIFT (0U)
  45520. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  45521. */
  45522. #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)
  45523. #define GPC_SET_POINT_CTRL_SP_ISO_ON_CTRL_CNT_MODE_MASK (0x30000000U)
  45524. #define GPC_SET_POINT_CTRL_SP_ISO_ON_CTRL_CNT_MODE_SHIFT (28U)
  45525. /*! CNT_MODE - Count mode
  45526. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  45527. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  45528. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  45529. * 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
  45530. */
  45531. #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)
  45532. #define GPC_SET_POINT_CTRL_SP_ISO_ON_CTRL_DISABLE_MASK (0x80000000U)
  45533. #define GPC_SET_POINT_CTRL_SP_ISO_ON_CTRL_DISABLE_SHIFT (31U)
  45534. /*! DISABLE - Disable this step
  45535. */
  45536. #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)
  45537. /*! @} */
  45538. /*! @name SP_RESET_EARLY_CTRL - SP reset early control */
  45539. /*! @{ */
  45540. #define GPC_SET_POINT_CTRL_SP_RESET_EARLY_CTRL_STEP_CNT_MASK (0xFFFFU)
  45541. #define GPC_SET_POINT_CTRL_SP_RESET_EARLY_CTRL_STEP_CNT_SHIFT (0U)
  45542. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  45543. */
  45544. #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)
  45545. #define GPC_SET_POINT_CTRL_SP_RESET_EARLY_CTRL_CNT_MODE_MASK (0x30000000U)
  45546. #define GPC_SET_POINT_CTRL_SP_RESET_EARLY_CTRL_CNT_MODE_SHIFT (28U)
  45547. /*! CNT_MODE - Count mode
  45548. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  45549. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  45550. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  45551. * 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
  45552. */
  45553. #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)
  45554. #define GPC_SET_POINT_CTRL_SP_RESET_EARLY_CTRL_DISABLE_MASK (0x80000000U)
  45555. #define GPC_SET_POINT_CTRL_SP_RESET_EARLY_CTRL_DISABLE_SHIFT (31U)
  45556. /*! DISABLE - Disable this step
  45557. */
  45558. #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)
  45559. /*! @} */
  45560. /*! @name SP_POWER_OFF_CTRL - SP power off control */
  45561. /*! @{ */
  45562. #define GPC_SET_POINT_CTRL_SP_POWER_OFF_CTRL_STEP_CNT_MASK (0xFFFFU)
  45563. #define GPC_SET_POINT_CTRL_SP_POWER_OFF_CTRL_STEP_CNT_SHIFT (0U)
  45564. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  45565. */
  45566. #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)
  45567. #define GPC_SET_POINT_CTRL_SP_POWER_OFF_CTRL_CNT_MODE_MASK (0x30000000U)
  45568. #define GPC_SET_POINT_CTRL_SP_POWER_OFF_CTRL_CNT_MODE_SHIFT (28U)
  45569. /*! CNT_MODE - Count mode
  45570. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  45571. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  45572. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  45573. * 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
  45574. */
  45575. #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)
  45576. #define GPC_SET_POINT_CTRL_SP_POWER_OFF_CTRL_DISABLE_MASK (0x80000000U)
  45577. #define GPC_SET_POINT_CTRL_SP_POWER_OFF_CTRL_DISABLE_SHIFT (31U)
  45578. /*! DISABLE - Disable this step
  45579. */
  45580. #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)
  45581. /*! @} */
  45582. /*! @name SP_BIAS_OFF_CTRL - SP bias off control */
  45583. /*! @{ */
  45584. #define GPC_SET_POINT_CTRL_SP_BIAS_OFF_CTRL_STEP_CNT_MASK (0xFFFFU)
  45585. #define GPC_SET_POINT_CTRL_SP_BIAS_OFF_CTRL_STEP_CNT_SHIFT (0U)
  45586. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  45587. */
  45588. #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)
  45589. #define GPC_SET_POINT_CTRL_SP_BIAS_OFF_CTRL_CNT_MODE_MASK (0x30000000U)
  45590. #define GPC_SET_POINT_CTRL_SP_BIAS_OFF_CTRL_CNT_MODE_SHIFT (28U)
  45591. /*! CNT_MODE - Count mode
  45592. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  45593. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  45594. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  45595. * 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
  45596. */
  45597. #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)
  45598. #define GPC_SET_POINT_CTRL_SP_BIAS_OFF_CTRL_DISABLE_MASK (0x80000000U)
  45599. #define GPC_SET_POINT_CTRL_SP_BIAS_OFF_CTRL_DISABLE_SHIFT (31U)
  45600. /*! DISABLE - Disable this step
  45601. */
  45602. #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)
  45603. /*! @} */
  45604. /*! @name SP_BG_PLDO_OFF_CTRL - SP bandgap and PLL_LDO off control */
  45605. /*! @{ */
  45606. #define GPC_SET_POINT_CTRL_SP_BG_PLDO_OFF_CTRL_STEP_CNT_MASK (0xFFFFU)
  45607. #define GPC_SET_POINT_CTRL_SP_BG_PLDO_OFF_CTRL_STEP_CNT_SHIFT (0U)
  45608. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  45609. */
  45610. #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)
  45611. #define GPC_SET_POINT_CTRL_SP_BG_PLDO_OFF_CTRL_CNT_MODE_MASK (0x30000000U)
  45612. #define GPC_SET_POINT_CTRL_SP_BG_PLDO_OFF_CTRL_CNT_MODE_SHIFT (28U)
  45613. /*! CNT_MODE - Count mode
  45614. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  45615. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  45616. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  45617. * 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
  45618. */
  45619. #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)
  45620. #define GPC_SET_POINT_CTRL_SP_BG_PLDO_OFF_CTRL_DISABLE_MASK (0x80000000U)
  45621. #define GPC_SET_POINT_CTRL_SP_BG_PLDO_OFF_CTRL_DISABLE_SHIFT (31U)
  45622. /*! DISABLE - Disable this step
  45623. */
  45624. #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)
  45625. /*! @} */
  45626. /*! @name SP_LDO_PRE_CTRL - SP LDO pre control */
  45627. /*! @{ */
  45628. #define GPC_SET_POINT_CTRL_SP_LDO_PRE_CTRL_STEP_CNT_MASK (0xFFFFU)
  45629. #define GPC_SET_POINT_CTRL_SP_LDO_PRE_CTRL_STEP_CNT_SHIFT (0U)
  45630. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  45631. */
  45632. #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)
  45633. #define GPC_SET_POINT_CTRL_SP_LDO_PRE_CTRL_CNT_MODE_MASK (0x30000000U)
  45634. #define GPC_SET_POINT_CTRL_SP_LDO_PRE_CTRL_CNT_MODE_SHIFT (28U)
  45635. /*! CNT_MODE - Count mode
  45636. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  45637. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  45638. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  45639. * 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
  45640. */
  45641. #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)
  45642. #define GPC_SET_POINT_CTRL_SP_LDO_PRE_CTRL_DISABLE_MASK (0x80000000U)
  45643. #define GPC_SET_POINT_CTRL_SP_LDO_PRE_CTRL_DISABLE_SHIFT (31U)
  45644. /*! DISABLE - Disable this step
  45645. */
  45646. #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)
  45647. /*! @} */
  45648. /*! @name SP_DCDC_DOWN_CTRL - SP DCDC down control */
  45649. /*! @{ */
  45650. #define GPC_SET_POINT_CTRL_SP_DCDC_DOWN_CTRL_STEP_CNT_MASK (0xFFFFU)
  45651. #define GPC_SET_POINT_CTRL_SP_DCDC_DOWN_CTRL_STEP_CNT_SHIFT (0U)
  45652. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  45653. */
  45654. #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)
  45655. #define GPC_SET_POINT_CTRL_SP_DCDC_DOWN_CTRL_CNT_MODE_MASK (0x30000000U)
  45656. #define GPC_SET_POINT_CTRL_SP_DCDC_DOWN_CTRL_CNT_MODE_SHIFT (28U)
  45657. /*! CNT_MODE - Count mode
  45658. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  45659. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  45660. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  45661. * 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
  45662. */
  45663. #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)
  45664. #define GPC_SET_POINT_CTRL_SP_DCDC_DOWN_CTRL_DISABLE_MASK (0x80000000U)
  45665. #define GPC_SET_POINT_CTRL_SP_DCDC_DOWN_CTRL_DISABLE_SHIFT (31U)
  45666. /*! DISABLE - Disable this step
  45667. */
  45668. #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)
  45669. /*! @} */
  45670. /*! @name SP_DCDC_UP_CTRL - SP DCDC up control */
  45671. /*! @{ */
  45672. #define GPC_SET_POINT_CTRL_SP_DCDC_UP_CTRL_STEP_CNT_MASK (0xFFFFU)
  45673. #define GPC_SET_POINT_CTRL_SP_DCDC_UP_CTRL_STEP_CNT_SHIFT (0U)
  45674. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  45675. */
  45676. #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)
  45677. #define GPC_SET_POINT_CTRL_SP_DCDC_UP_CTRL_CNT_MODE_MASK (0x30000000U)
  45678. #define GPC_SET_POINT_CTRL_SP_DCDC_UP_CTRL_CNT_MODE_SHIFT (28U)
  45679. /*! CNT_MODE - Count mode
  45680. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  45681. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  45682. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  45683. * 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
  45684. */
  45685. #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)
  45686. #define GPC_SET_POINT_CTRL_SP_DCDC_UP_CTRL_DISABLE_MASK (0x80000000U)
  45687. #define GPC_SET_POINT_CTRL_SP_DCDC_UP_CTRL_DISABLE_SHIFT (31U)
  45688. /*! DISABLE - Disable this step
  45689. */
  45690. #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)
  45691. /*! @} */
  45692. /*! @name SP_LDO_POST_CTRL - SP LDO post control */
  45693. /*! @{ */
  45694. #define GPC_SET_POINT_CTRL_SP_LDO_POST_CTRL_STEP_CNT_MASK (0xFFFFU)
  45695. #define GPC_SET_POINT_CTRL_SP_LDO_POST_CTRL_STEP_CNT_SHIFT (0U)
  45696. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  45697. */
  45698. #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)
  45699. #define GPC_SET_POINT_CTRL_SP_LDO_POST_CTRL_CNT_MODE_MASK (0x30000000U)
  45700. #define GPC_SET_POINT_CTRL_SP_LDO_POST_CTRL_CNT_MODE_SHIFT (28U)
  45701. /*! CNT_MODE - Count mode
  45702. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  45703. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  45704. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  45705. * 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
  45706. */
  45707. #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)
  45708. #define GPC_SET_POINT_CTRL_SP_LDO_POST_CTRL_DISABLE_MASK (0x80000000U)
  45709. #define GPC_SET_POINT_CTRL_SP_LDO_POST_CTRL_DISABLE_SHIFT (31U)
  45710. /*! DISABLE - Disable this step
  45711. */
  45712. #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)
  45713. /*! @} */
  45714. /*! @name SP_BG_PLDO_ON_CTRL - SP bandgap and PLL_LDO on control */
  45715. /*! @{ */
  45716. #define GPC_SET_POINT_CTRL_SP_BG_PLDO_ON_CTRL_STEP_CNT_MASK (0xFFFFU)
  45717. #define GPC_SET_POINT_CTRL_SP_BG_PLDO_ON_CTRL_STEP_CNT_SHIFT (0U)
  45718. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  45719. */
  45720. #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)
  45721. #define GPC_SET_POINT_CTRL_SP_BG_PLDO_ON_CTRL_CNT_MODE_MASK (0x30000000U)
  45722. #define GPC_SET_POINT_CTRL_SP_BG_PLDO_ON_CTRL_CNT_MODE_SHIFT (28U)
  45723. /*! CNT_MODE - Count mode
  45724. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  45725. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  45726. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  45727. * 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
  45728. */
  45729. #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)
  45730. #define GPC_SET_POINT_CTRL_SP_BG_PLDO_ON_CTRL_DISABLE_MASK (0x80000000U)
  45731. #define GPC_SET_POINT_CTRL_SP_BG_PLDO_ON_CTRL_DISABLE_SHIFT (31U)
  45732. /*! DISABLE - Disable this step
  45733. */
  45734. #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)
  45735. /*! @} */
  45736. /*! @name SP_BIAS_ON_CTRL - SP bias on control */
  45737. /*! @{ */
  45738. #define GPC_SET_POINT_CTRL_SP_BIAS_ON_CTRL_STEP_CNT_MASK (0xFFFFU)
  45739. #define GPC_SET_POINT_CTRL_SP_BIAS_ON_CTRL_STEP_CNT_SHIFT (0U)
  45740. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  45741. */
  45742. #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)
  45743. #define GPC_SET_POINT_CTRL_SP_BIAS_ON_CTRL_CNT_MODE_MASK (0x30000000U)
  45744. #define GPC_SET_POINT_CTRL_SP_BIAS_ON_CTRL_CNT_MODE_SHIFT (28U)
  45745. /*! CNT_MODE - Count mode
  45746. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  45747. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  45748. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  45749. * 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
  45750. */
  45751. #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)
  45752. #define GPC_SET_POINT_CTRL_SP_BIAS_ON_CTRL_DISABLE_MASK (0x80000000U)
  45753. #define GPC_SET_POINT_CTRL_SP_BIAS_ON_CTRL_DISABLE_SHIFT (31U)
  45754. /*! DISABLE - Disable this step
  45755. */
  45756. #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)
  45757. /*! @} */
  45758. /*! @name SP_POWER_ON_CTRL - SP power on control */
  45759. /*! @{ */
  45760. #define GPC_SET_POINT_CTRL_SP_POWER_ON_CTRL_STEP_CNT_MASK (0xFFFFU)
  45761. #define GPC_SET_POINT_CTRL_SP_POWER_ON_CTRL_STEP_CNT_SHIFT (0U)
  45762. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  45763. */
  45764. #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)
  45765. #define GPC_SET_POINT_CTRL_SP_POWER_ON_CTRL_CNT_MODE_MASK (0x30000000U)
  45766. #define GPC_SET_POINT_CTRL_SP_POWER_ON_CTRL_CNT_MODE_SHIFT (28U)
  45767. /*! CNT_MODE - Count mode
  45768. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  45769. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  45770. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  45771. * 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
  45772. */
  45773. #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)
  45774. #define GPC_SET_POINT_CTRL_SP_POWER_ON_CTRL_DISABLE_MASK (0x80000000U)
  45775. #define GPC_SET_POINT_CTRL_SP_POWER_ON_CTRL_DISABLE_SHIFT (31U)
  45776. /*! DISABLE - Disable this step
  45777. */
  45778. #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)
  45779. /*! @} */
  45780. /*! @name SP_RESET_LATE_CTRL - SP reset late control */
  45781. /*! @{ */
  45782. #define GPC_SET_POINT_CTRL_SP_RESET_LATE_CTRL_STEP_CNT_MASK (0xFFFFU)
  45783. #define GPC_SET_POINT_CTRL_SP_RESET_LATE_CTRL_STEP_CNT_SHIFT (0U)
  45784. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  45785. */
  45786. #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)
  45787. #define GPC_SET_POINT_CTRL_SP_RESET_LATE_CTRL_CNT_MODE_MASK (0x30000000U)
  45788. #define GPC_SET_POINT_CTRL_SP_RESET_LATE_CTRL_CNT_MODE_SHIFT (28U)
  45789. /*! CNT_MODE - Count mode
  45790. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  45791. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  45792. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  45793. * 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
  45794. */
  45795. #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)
  45796. #define GPC_SET_POINT_CTRL_SP_RESET_LATE_CTRL_DISABLE_MASK (0x80000000U)
  45797. #define GPC_SET_POINT_CTRL_SP_RESET_LATE_CTRL_DISABLE_SHIFT (31U)
  45798. /*! DISABLE - Disable this step
  45799. */
  45800. #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)
  45801. /*! @} */
  45802. /*! @name SP_ISO_OFF_CTRL - SP ISO off control */
  45803. /*! @{ */
  45804. #define GPC_SET_POINT_CTRL_SP_ISO_OFF_CTRL_STEP_CNT_MASK (0xFFFFU)
  45805. #define GPC_SET_POINT_CTRL_SP_ISO_OFF_CTRL_STEP_CNT_SHIFT (0U)
  45806. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  45807. */
  45808. #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)
  45809. #define GPC_SET_POINT_CTRL_SP_ISO_OFF_CTRL_CNT_MODE_MASK (0x30000000U)
  45810. #define GPC_SET_POINT_CTRL_SP_ISO_OFF_CTRL_CNT_MODE_SHIFT (28U)
  45811. /*! CNT_MODE - Count mode
  45812. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  45813. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  45814. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  45815. * 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
  45816. */
  45817. #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)
  45818. #define GPC_SET_POINT_CTRL_SP_ISO_OFF_CTRL_DISABLE_MASK (0x80000000U)
  45819. #define GPC_SET_POINT_CTRL_SP_ISO_OFF_CTRL_DISABLE_SHIFT (31U)
  45820. /*! DISABLE - Disable this step
  45821. */
  45822. #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)
  45823. /*! @} */
  45824. /*! @name SP_PLL_ON_CTRL - SP PLL on control */
  45825. /*! @{ */
  45826. #define GPC_SET_POINT_CTRL_SP_PLL_ON_CTRL_STEP_CNT_MASK (0xFFFFU)
  45827. #define GPC_SET_POINT_CTRL_SP_PLL_ON_CTRL_STEP_CNT_SHIFT (0U)
  45828. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  45829. */
  45830. #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)
  45831. #define GPC_SET_POINT_CTRL_SP_PLL_ON_CTRL_CNT_MODE_MASK (0x30000000U)
  45832. #define GPC_SET_POINT_CTRL_SP_PLL_ON_CTRL_CNT_MODE_SHIFT (28U)
  45833. /*! CNT_MODE - Count mode
  45834. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  45835. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  45836. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  45837. * 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
  45838. */
  45839. #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)
  45840. #define GPC_SET_POINT_CTRL_SP_PLL_ON_CTRL_DISABLE_MASK (0x80000000U)
  45841. #define GPC_SET_POINT_CTRL_SP_PLL_ON_CTRL_DISABLE_SHIFT (31U)
  45842. /*! DISABLE - Disable this step
  45843. */
  45844. #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)
  45845. /*! @} */
  45846. /*! @name SP_ROOT_UP_CTRL - SP root up control */
  45847. /*! @{ */
  45848. #define GPC_SET_POINT_CTRL_SP_ROOT_UP_CTRL_STEP_CNT_MASK (0xFFFFU)
  45849. #define GPC_SET_POINT_CTRL_SP_ROOT_UP_CTRL_STEP_CNT_SHIFT (0U)
  45850. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  45851. */
  45852. #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)
  45853. #define GPC_SET_POINT_CTRL_SP_ROOT_UP_CTRL_CNT_MODE_MASK (0x30000000U)
  45854. #define GPC_SET_POINT_CTRL_SP_ROOT_UP_CTRL_CNT_MODE_SHIFT (28U)
  45855. /*! CNT_MODE - Count mode
  45856. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  45857. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  45858. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  45859. * 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
  45860. */
  45861. #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)
  45862. #define GPC_SET_POINT_CTRL_SP_ROOT_UP_CTRL_DISABLE_MASK (0x80000000U)
  45863. #define GPC_SET_POINT_CTRL_SP_ROOT_UP_CTRL_DISABLE_SHIFT (31U)
  45864. /*! DISABLE - Disable this step
  45865. */
  45866. #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)
  45867. /*! @} */
  45868. /*! @name SP_GROUP_UP_CTRL - SP group up control */
  45869. /*! @{ */
  45870. #define GPC_SET_POINT_CTRL_SP_GROUP_UP_CTRL_STEP_CNT_MASK (0xFFFFU)
  45871. #define GPC_SET_POINT_CTRL_SP_GROUP_UP_CTRL_STEP_CNT_SHIFT (0U)
  45872. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  45873. */
  45874. #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)
  45875. #define GPC_SET_POINT_CTRL_SP_GROUP_UP_CTRL_CNT_MODE_MASK (0x30000000U)
  45876. #define GPC_SET_POINT_CTRL_SP_GROUP_UP_CTRL_CNT_MODE_SHIFT (28U)
  45877. /*! CNT_MODE - Count mode
  45878. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  45879. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  45880. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  45881. * 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
  45882. */
  45883. #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)
  45884. #define GPC_SET_POINT_CTRL_SP_GROUP_UP_CTRL_DISABLE_MASK (0x80000000U)
  45885. #define GPC_SET_POINT_CTRL_SP_GROUP_UP_CTRL_DISABLE_SHIFT (31U)
  45886. /*! DISABLE - Disable this step
  45887. */
  45888. #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)
  45889. /*! @} */
  45890. /*! @name SP_LPCG_ON_CTRL - SP LPCG on control */
  45891. /*! @{ */
  45892. #define GPC_SET_POINT_CTRL_SP_LPCG_ON_CTRL_STEP_CNT_MASK (0xFFFFU)
  45893. #define GPC_SET_POINT_CTRL_SP_LPCG_ON_CTRL_STEP_CNT_SHIFT (0U)
  45894. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  45895. */
  45896. #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)
  45897. #define GPC_SET_POINT_CTRL_SP_LPCG_ON_CTRL_CNT_MODE_MASK (0x30000000U)
  45898. #define GPC_SET_POINT_CTRL_SP_LPCG_ON_CTRL_CNT_MODE_SHIFT (28U)
  45899. /*! CNT_MODE - Count mode
  45900. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  45901. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  45902. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  45903. * 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
  45904. */
  45905. #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)
  45906. #define GPC_SET_POINT_CTRL_SP_LPCG_ON_CTRL_DISABLE_MASK (0x80000000U)
  45907. #define GPC_SET_POINT_CTRL_SP_LPCG_ON_CTRL_DISABLE_SHIFT (31U)
  45908. /*! DISABLE - Disable this step
  45909. */
  45910. #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)
  45911. /*! @} */
  45912. /*! @name SP_SSAR_RESTORE_CTRL - SP SSAR restore control */
  45913. /*! @{ */
  45914. #define GPC_SET_POINT_CTRL_SP_SSAR_RESTORE_CTRL_STEP_CNT_MASK (0xFFFFU)
  45915. #define GPC_SET_POINT_CTRL_SP_SSAR_RESTORE_CTRL_STEP_CNT_SHIFT (0U)
  45916. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  45917. */
  45918. #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)
  45919. #define GPC_SET_POINT_CTRL_SP_SSAR_RESTORE_CTRL_CNT_MODE_MASK (0x30000000U)
  45920. #define GPC_SET_POINT_CTRL_SP_SSAR_RESTORE_CTRL_CNT_MODE_SHIFT (28U)
  45921. /*! CNT_MODE - Count mode
  45922. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  45923. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  45924. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  45925. * 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
  45926. */
  45927. #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)
  45928. #define GPC_SET_POINT_CTRL_SP_SSAR_RESTORE_CTRL_DISABLE_MASK (0x80000000U)
  45929. #define GPC_SET_POINT_CTRL_SP_SSAR_RESTORE_CTRL_DISABLE_SHIFT (31U)
  45930. /*! DISABLE - Disable this step
  45931. */
  45932. #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)
  45933. /*! @} */
  45934. /*!
  45935. * @}
  45936. */ /* end of group GPC_SET_POINT_CTRL_Register_Masks */
  45937. /* GPC_SET_POINT_CTRL - Peripheral instance base addresses */
  45938. /** Peripheral GPC_SET_POINT_CTRL base address */
  45939. #define GPC_SET_POINT_CTRL_BASE (0x40C02000u)
  45940. /** Peripheral GPC_SET_POINT_CTRL base pointer */
  45941. #define GPC_SET_POINT_CTRL ((GPC_SET_POINT_CTRL_Type *)GPC_SET_POINT_CTRL_BASE)
  45942. /** Array initializer of GPC_SET_POINT_CTRL peripheral base addresses */
  45943. #define GPC_SET_POINT_CTRL_BASE_ADDRS { GPC_SET_POINT_CTRL_BASE }
  45944. /** Array initializer of GPC_SET_POINT_CTRL peripheral base pointers */
  45945. #define GPC_SET_POINT_CTRL_BASE_PTRS { GPC_SET_POINT_CTRL }
  45946. /*!
  45947. * @}
  45948. */ /* end of group GPC_SET_POINT_CTRL_Peripheral_Access_Layer */
  45949. /* ----------------------------------------------------------------------------
  45950. -- GPC_STBY_CTRL Peripheral Access Layer
  45951. ---------------------------------------------------------------------------- */
  45952. /*!
  45953. * @addtogroup GPC_STBY_CTRL_Peripheral_Access_Layer GPC_STBY_CTRL Peripheral Access Layer
  45954. * @{
  45955. */
  45956. /** GPC_STBY_CTRL - Register Layout Typedef */
  45957. typedef struct {
  45958. uint8_t RESERVED_0[4];
  45959. __IO uint32_t STBY_AUTHEN_CTRL; /**< Standby Authentication Control, offset: 0x4 */
  45960. uint8_t RESERVED_1[4];
  45961. __IO uint32_t STBY_MISC; /**< STBY Misc, offset: 0xC */
  45962. uint8_t RESERVED_2[224];
  45963. __IO uint32_t STBY_LPCG_IN_CTRL; /**< STBY lpcg_in control, offset: 0xF0 */
  45964. uint8_t RESERVED_3[12];
  45965. __IO uint32_t STBY_PLL_IN_CTRL; /**< STBY pll_in control, offset: 0x100 */
  45966. uint8_t RESERVED_4[12];
  45967. __IO uint32_t STBY_BIAS_IN_CTRL; /**< STBY bias_in control, offset: 0x110 */
  45968. uint8_t RESERVED_5[12];
  45969. __IO uint32_t STBY_PLDO_IN_CTRL; /**< STBY pldo_in control, offset: 0x120 */
  45970. uint8_t RESERVED_6[4];
  45971. __IO uint32_t STBY_BANDGAP_IN_CTRL; /**< STBY bandgap_in control, offset: 0x128 */
  45972. uint8_t RESERVED_7[4];
  45973. __IO uint32_t STBY_LDO_IN_CTRL; /**< STBY ldo_in control, offset: 0x130 */
  45974. uint8_t RESERVED_8[12];
  45975. __IO uint32_t STBY_DCDC_IN_CTRL; /**< STBY dcdc_in control, offset: 0x140 */
  45976. uint8_t RESERVED_9[12];
  45977. __IO uint32_t STBY_PMIC_IN_CTRL; /**< STBY PMIC in control, offset: 0x150 */
  45978. uint8_t RESERVED_10[172];
  45979. __IO uint32_t STBY_PMIC_OUT_CTRL; /**< STBY PMIC out control, offset: 0x200 */
  45980. uint8_t RESERVED_11[12];
  45981. __IO uint32_t STBY_DCDC_OUT_CTRL; /**< STBY DCDC out control, offset: 0x210 */
  45982. uint8_t RESERVED_12[12];
  45983. __IO uint32_t STBY_LDO_OUT_CTRL; /**< STBY LDO out control, offset: 0x220 */
  45984. uint8_t RESERVED_13[12];
  45985. __IO uint32_t STBY_BANDGAP_OUT_CTRL; /**< STBY bandgap out control, offset: 0x230 */
  45986. uint8_t RESERVED_14[4];
  45987. __IO uint32_t STBY_PLDO_OUT_CTRL; /**< STBY pldo out control, offset: 0x238 */
  45988. uint8_t RESERVED_15[4];
  45989. __IO uint32_t STBY_BIAS_OUT_CTRL; /**< STBY bias out control, offset: 0x240 */
  45990. uint8_t RESERVED_16[12];
  45991. __IO uint32_t STBY_PLL_OUT_CTRL; /**< STBY PLL out control, offset: 0x250 */
  45992. uint8_t RESERVED_17[12];
  45993. __IO uint32_t STBY_LPCG_OUT_CTRL; /**< STBY LPCG out control, offset: 0x260 */
  45994. } GPC_STBY_CTRL_Type;
  45995. /* ----------------------------------------------------------------------------
  45996. -- GPC_STBY_CTRL Register Masks
  45997. ---------------------------------------------------------------------------- */
  45998. /*!
  45999. * @addtogroup GPC_STBY_CTRL_Register_Masks GPC_STBY_CTRL Register Masks
  46000. * @{
  46001. */
  46002. /*! @name STBY_AUTHEN_CTRL - Standby Authentication Control */
  46003. /*! @{ */
  46004. #define GPC_STBY_CTRL_STBY_AUTHEN_CTRL_LOCK_CFG_MASK (0x100000U)
  46005. #define GPC_STBY_CTRL_STBY_AUTHEN_CTRL_LOCK_CFG_SHIFT (20U)
  46006. /*! LOCK_CFG - Configuration lock
  46007. */
  46008. #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)
  46009. /*! @} */
  46010. /*! @name STBY_MISC - STBY Misc */
  46011. /*! @{ */
  46012. #define GPC_STBY_CTRL_STBY_MISC_FORCE_CPU0_STBY_MASK (0x1U)
  46013. #define GPC_STBY_CTRL_STBY_MISC_FORCE_CPU0_STBY_SHIFT (0U)
  46014. /*! FORCE_CPU0_STBY - Force CPU0 requesting standby mode
  46015. */
  46016. #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)
  46017. #define GPC_STBY_CTRL_STBY_MISC_FORCE_CPU1_STBY_MASK (0x2U)
  46018. #define GPC_STBY_CTRL_STBY_MISC_FORCE_CPU1_STBY_SHIFT (1U)
  46019. /*! FORCE_CPU1_STBY - Force CPU0 requesting standby mode
  46020. */
  46021. #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)
  46022. #define GPC_STBY_CTRL_STBY_MISC_FORCE_CPU2_STBY_MASK (0x4U)
  46023. #define GPC_STBY_CTRL_STBY_MISC_FORCE_CPU2_STBY_SHIFT (2U)
  46024. /*! FORCE_CPU2_STBY - Force CPU2 requesting standby mode
  46025. */
  46026. #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)
  46027. #define GPC_STBY_CTRL_STBY_MISC_FORCE_CPU3_STBY_MASK (0x8U)
  46028. #define GPC_STBY_CTRL_STBY_MISC_FORCE_CPU3_STBY_SHIFT (3U)
  46029. /*! FORCE_CPU3_STBY - Force CPU3 requesting standby mode
  46030. */
  46031. #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)
  46032. /*! @} */
  46033. /*! @name STBY_LPCG_IN_CTRL - STBY lpcg_in control */
  46034. /*! @{ */
  46035. #define GPC_STBY_CTRL_STBY_LPCG_IN_CTRL_STEP_CNT_MASK (0xFFFFU)
  46036. #define GPC_STBY_CTRL_STBY_LPCG_IN_CTRL_STEP_CNT_SHIFT (0U)
  46037. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  46038. */
  46039. #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)
  46040. #define GPC_STBY_CTRL_STBY_LPCG_IN_CTRL_CNT_MODE_MASK (0x30000000U)
  46041. #define GPC_STBY_CTRL_STBY_LPCG_IN_CTRL_CNT_MODE_SHIFT (28U)
  46042. /*! CNT_MODE - Count mode
  46043. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  46044. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  46045. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  46046. * 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
  46047. */
  46048. #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)
  46049. #define GPC_STBY_CTRL_STBY_LPCG_IN_CTRL_DISABLE_MASK (0x80000000U)
  46050. #define GPC_STBY_CTRL_STBY_LPCG_IN_CTRL_DISABLE_SHIFT (31U)
  46051. /*! DISABLE - Disable this step
  46052. */
  46053. #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)
  46054. /*! @} */
  46055. /*! @name STBY_PLL_IN_CTRL - STBY pll_in control */
  46056. /*! @{ */
  46057. #define GPC_STBY_CTRL_STBY_PLL_IN_CTRL_STEP_CNT_MASK (0xFFFFU)
  46058. #define GPC_STBY_CTRL_STBY_PLL_IN_CTRL_STEP_CNT_SHIFT (0U)
  46059. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  46060. */
  46061. #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)
  46062. #define GPC_STBY_CTRL_STBY_PLL_IN_CTRL_CNT_MODE_MASK (0x30000000U)
  46063. #define GPC_STBY_CTRL_STBY_PLL_IN_CTRL_CNT_MODE_SHIFT (28U)
  46064. /*! CNT_MODE - Count mode
  46065. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  46066. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  46067. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  46068. * 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
  46069. */
  46070. #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)
  46071. #define GPC_STBY_CTRL_STBY_PLL_IN_CTRL_DISABLE_MASK (0x80000000U)
  46072. #define GPC_STBY_CTRL_STBY_PLL_IN_CTRL_DISABLE_SHIFT (31U)
  46073. /*! DISABLE - Disable this step
  46074. */
  46075. #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)
  46076. /*! @} */
  46077. /*! @name STBY_BIAS_IN_CTRL - STBY bias_in control */
  46078. /*! @{ */
  46079. #define GPC_STBY_CTRL_STBY_BIAS_IN_CTRL_STEP_CNT_MASK (0xFFFFU)
  46080. #define GPC_STBY_CTRL_STBY_BIAS_IN_CTRL_STEP_CNT_SHIFT (0U)
  46081. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  46082. */
  46083. #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)
  46084. #define GPC_STBY_CTRL_STBY_BIAS_IN_CTRL_CNT_MODE_MASK (0x30000000U)
  46085. #define GPC_STBY_CTRL_STBY_BIAS_IN_CTRL_CNT_MODE_SHIFT (28U)
  46086. /*! CNT_MODE - Count mode
  46087. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  46088. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  46089. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  46090. * 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
  46091. */
  46092. #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)
  46093. #define GPC_STBY_CTRL_STBY_BIAS_IN_CTRL_DISABLE_MASK (0x80000000U)
  46094. #define GPC_STBY_CTRL_STBY_BIAS_IN_CTRL_DISABLE_SHIFT (31U)
  46095. /*! DISABLE - Disable this step
  46096. */
  46097. #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)
  46098. /*! @} */
  46099. /*! @name STBY_PLDO_IN_CTRL - STBY pldo_in control */
  46100. /*! @{ */
  46101. #define GPC_STBY_CTRL_STBY_PLDO_IN_CTRL_STEP_CNT_MASK (0xFFFFU)
  46102. #define GPC_STBY_CTRL_STBY_PLDO_IN_CTRL_STEP_CNT_SHIFT (0U)
  46103. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  46104. */
  46105. #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)
  46106. #define GPC_STBY_CTRL_STBY_PLDO_IN_CTRL_CNT_MODE_MASK (0x30000000U)
  46107. #define GPC_STBY_CTRL_STBY_PLDO_IN_CTRL_CNT_MODE_SHIFT (28U)
  46108. /*! CNT_MODE - Count mode
  46109. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  46110. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  46111. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  46112. * 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
  46113. */
  46114. #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)
  46115. #define GPC_STBY_CTRL_STBY_PLDO_IN_CTRL_DISABLE_MASK (0x80000000U)
  46116. #define GPC_STBY_CTRL_STBY_PLDO_IN_CTRL_DISABLE_SHIFT (31U)
  46117. /*! DISABLE - Disable this step
  46118. */
  46119. #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)
  46120. /*! @} */
  46121. /*! @name STBY_BANDGAP_IN_CTRL - STBY bandgap_in control */
  46122. /*! @{ */
  46123. #define GPC_STBY_CTRL_STBY_BANDGAP_IN_CTRL_STEP_CNT_MASK (0xFFFFU)
  46124. #define GPC_STBY_CTRL_STBY_BANDGAP_IN_CTRL_STEP_CNT_SHIFT (0U)
  46125. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  46126. */
  46127. #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)
  46128. #define GPC_STBY_CTRL_STBY_BANDGAP_IN_CTRL_CNT_MODE_MASK (0x30000000U)
  46129. #define GPC_STBY_CTRL_STBY_BANDGAP_IN_CTRL_CNT_MODE_SHIFT (28U)
  46130. /*! CNT_MODE - Count mode
  46131. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  46132. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  46133. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  46134. * 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
  46135. */
  46136. #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)
  46137. #define GPC_STBY_CTRL_STBY_BANDGAP_IN_CTRL_DISABLE_MASK (0x80000000U)
  46138. #define GPC_STBY_CTRL_STBY_BANDGAP_IN_CTRL_DISABLE_SHIFT (31U)
  46139. /*! DISABLE - Disable this step
  46140. */
  46141. #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)
  46142. /*! @} */
  46143. /*! @name STBY_LDO_IN_CTRL - STBY ldo_in control */
  46144. /*! @{ */
  46145. #define GPC_STBY_CTRL_STBY_LDO_IN_CTRL_STEP_CNT_MASK (0xFFFFU)
  46146. #define GPC_STBY_CTRL_STBY_LDO_IN_CTRL_STEP_CNT_SHIFT (0U)
  46147. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  46148. */
  46149. #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)
  46150. #define GPC_STBY_CTRL_STBY_LDO_IN_CTRL_CNT_MODE_MASK (0x30000000U)
  46151. #define GPC_STBY_CTRL_STBY_LDO_IN_CTRL_CNT_MODE_SHIFT (28U)
  46152. /*! CNT_MODE - Count mode
  46153. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  46154. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  46155. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  46156. * 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
  46157. */
  46158. #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)
  46159. #define GPC_STBY_CTRL_STBY_LDO_IN_CTRL_DISABLE_MASK (0x80000000U)
  46160. #define GPC_STBY_CTRL_STBY_LDO_IN_CTRL_DISABLE_SHIFT (31U)
  46161. /*! DISABLE - Disable this step
  46162. */
  46163. #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)
  46164. /*! @} */
  46165. /*! @name STBY_DCDC_IN_CTRL - STBY dcdc_in control */
  46166. /*! @{ */
  46167. #define GPC_STBY_CTRL_STBY_DCDC_IN_CTRL_STEP_CNT_MASK (0xFFFFU)
  46168. #define GPC_STBY_CTRL_STBY_DCDC_IN_CTRL_STEP_CNT_SHIFT (0U)
  46169. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  46170. */
  46171. #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)
  46172. #define GPC_STBY_CTRL_STBY_DCDC_IN_CTRL_CNT_MODE_MASK (0x30000000U)
  46173. #define GPC_STBY_CTRL_STBY_DCDC_IN_CTRL_CNT_MODE_SHIFT (28U)
  46174. /*! CNT_MODE - Count mode
  46175. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  46176. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  46177. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  46178. * 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
  46179. */
  46180. #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)
  46181. #define GPC_STBY_CTRL_STBY_DCDC_IN_CTRL_DISABLE_MASK (0x80000000U)
  46182. #define GPC_STBY_CTRL_STBY_DCDC_IN_CTRL_DISABLE_SHIFT (31U)
  46183. /*! DISABLE - Disable this step
  46184. */
  46185. #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)
  46186. /*! @} */
  46187. /*! @name STBY_PMIC_IN_CTRL - STBY PMIC in control */
  46188. /*! @{ */
  46189. #define GPC_STBY_CTRL_STBY_PMIC_IN_CTRL_STEP_CNT_MASK (0xFFFFU)
  46190. #define GPC_STBY_CTRL_STBY_PMIC_IN_CTRL_STEP_CNT_SHIFT (0U)
  46191. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  46192. */
  46193. #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)
  46194. #define GPC_STBY_CTRL_STBY_PMIC_IN_CTRL_CNT_MODE_MASK (0x30000000U)
  46195. #define GPC_STBY_CTRL_STBY_PMIC_IN_CTRL_CNT_MODE_SHIFT (28U)
  46196. /*! CNT_MODE - Count mode
  46197. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  46198. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  46199. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  46200. * 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
  46201. */
  46202. #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)
  46203. #define GPC_STBY_CTRL_STBY_PMIC_IN_CTRL_DISABLE_MASK (0x80000000U)
  46204. #define GPC_STBY_CTRL_STBY_PMIC_IN_CTRL_DISABLE_SHIFT (31U)
  46205. /*! DISABLE - Disable this step
  46206. */
  46207. #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)
  46208. /*! @} */
  46209. /*! @name STBY_PMIC_OUT_CTRL - STBY PMIC out control */
  46210. /*! @{ */
  46211. #define GPC_STBY_CTRL_STBY_PMIC_OUT_CTRL_STEP_CNT_MASK (0xFFFFU)
  46212. #define GPC_STBY_CTRL_STBY_PMIC_OUT_CTRL_STEP_CNT_SHIFT (0U)
  46213. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  46214. */
  46215. #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)
  46216. #define GPC_STBY_CTRL_STBY_PMIC_OUT_CTRL_CNT_MODE_MASK (0x30000000U)
  46217. #define GPC_STBY_CTRL_STBY_PMIC_OUT_CTRL_CNT_MODE_SHIFT (28U)
  46218. /*! CNT_MODE - Count mode
  46219. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  46220. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  46221. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  46222. * 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
  46223. */
  46224. #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)
  46225. #define GPC_STBY_CTRL_STBY_PMIC_OUT_CTRL_DISABLE_MASK (0x80000000U)
  46226. #define GPC_STBY_CTRL_STBY_PMIC_OUT_CTRL_DISABLE_SHIFT (31U)
  46227. /*! DISABLE - Disable this step
  46228. */
  46229. #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)
  46230. /*! @} */
  46231. /*! @name STBY_DCDC_OUT_CTRL - STBY DCDC out control */
  46232. /*! @{ */
  46233. #define GPC_STBY_CTRL_STBY_DCDC_OUT_CTRL_STEP_CNT_MASK (0xFFFFU)
  46234. #define GPC_STBY_CTRL_STBY_DCDC_OUT_CTRL_STEP_CNT_SHIFT (0U)
  46235. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  46236. */
  46237. #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)
  46238. #define GPC_STBY_CTRL_STBY_DCDC_OUT_CTRL_CNT_MODE_MASK (0x30000000U)
  46239. #define GPC_STBY_CTRL_STBY_DCDC_OUT_CTRL_CNT_MODE_SHIFT (28U)
  46240. /*! CNT_MODE - Count mode
  46241. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  46242. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  46243. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  46244. * 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
  46245. */
  46246. #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)
  46247. #define GPC_STBY_CTRL_STBY_DCDC_OUT_CTRL_DISABLE_MASK (0x80000000U)
  46248. #define GPC_STBY_CTRL_STBY_DCDC_OUT_CTRL_DISABLE_SHIFT (31U)
  46249. /*! DISABLE - Disable this step
  46250. */
  46251. #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)
  46252. /*! @} */
  46253. /*! @name STBY_LDO_OUT_CTRL - STBY LDO out control */
  46254. /*! @{ */
  46255. #define GPC_STBY_CTRL_STBY_LDO_OUT_CTRL_STEP_CNT_MASK (0xFFFFU)
  46256. #define GPC_STBY_CTRL_STBY_LDO_OUT_CTRL_STEP_CNT_SHIFT (0U)
  46257. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  46258. */
  46259. #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)
  46260. #define GPC_STBY_CTRL_STBY_LDO_OUT_CTRL_CNT_MODE_MASK (0x30000000U)
  46261. #define GPC_STBY_CTRL_STBY_LDO_OUT_CTRL_CNT_MODE_SHIFT (28U)
  46262. /*! CNT_MODE - Count mode
  46263. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  46264. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  46265. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  46266. * 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
  46267. */
  46268. #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)
  46269. #define GPC_STBY_CTRL_STBY_LDO_OUT_CTRL_DISABLE_MASK (0x80000000U)
  46270. #define GPC_STBY_CTRL_STBY_LDO_OUT_CTRL_DISABLE_SHIFT (31U)
  46271. /*! DISABLE - Disable this step
  46272. */
  46273. #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)
  46274. /*! @} */
  46275. /*! @name STBY_BANDGAP_OUT_CTRL - STBY bandgap out control */
  46276. /*! @{ */
  46277. #define GPC_STBY_CTRL_STBY_BANDGAP_OUT_CTRL_STEP_CNT_MASK (0xFFFFU)
  46278. #define GPC_STBY_CTRL_STBY_BANDGAP_OUT_CTRL_STEP_CNT_SHIFT (0U)
  46279. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  46280. */
  46281. #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)
  46282. #define GPC_STBY_CTRL_STBY_BANDGAP_OUT_CTRL_CNT_MODE_MASK (0x30000000U)
  46283. #define GPC_STBY_CTRL_STBY_BANDGAP_OUT_CTRL_CNT_MODE_SHIFT (28U)
  46284. /*! CNT_MODE - Count mode
  46285. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  46286. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  46287. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  46288. * 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
  46289. */
  46290. #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)
  46291. #define GPC_STBY_CTRL_STBY_BANDGAP_OUT_CTRL_DISABLE_MASK (0x80000000U)
  46292. #define GPC_STBY_CTRL_STBY_BANDGAP_OUT_CTRL_DISABLE_SHIFT (31U)
  46293. /*! DISABLE - Disable this step
  46294. */
  46295. #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)
  46296. /*! @} */
  46297. /*! @name STBY_PLDO_OUT_CTRL - STBY pldo out control */
  46298. /*! @{ */
  46299. #define GPC_STBY_CTRL_STBY_PLDO_OUT_CTRL_STEP_CNT_MASK (0xFFFFU)
  46300. #define GPC_STBY_CTRL_STBY_PLDO_OUT_CTRL_STEP_CNT_SHIFT (0U)
  46301. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  46302. */
  46303. #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)
  46304. #define GPC_STBY_CTRL_STBY_PLDO_OUT_CTRL_CNT_MODE_MASK (0x30000000U)
  46305. #define GPC_STBY_CTRL_STBY_PLDO_OUT_CTRL_CNT_MODE_SHIFT (28U)
  46306. /*! CNT_MODE - Count mode
  46307. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  46308. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  46309. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  46310. * 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
  46311. */
  46312. #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)
  46313. #define GPC_STBY_CTRL_STBY_PLDO_OUT_CTRL_DISABLE_MASK (0x80000000U)
  46314. #define GPC_STBY_CTRL_STBY_PLDO_OUT_CTRL_DISABLE_SHIFT (31U)
  46315. /*! DISABLE - Disable this step
  46316. */
  46317. #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)
  46318. /*! @} */
  46319. /*! @name STBY_BIAS_OUT_CTRL - STBY bias out control */
  46320. /*! @{ */
  46321. #define GPC_STBY_CTRL_STBY_BIAS_OUT_CTRL_STEP_CNT_MASK (0xFFFFU)
  46322. #define GPC_STBY_CTRL_STBY_BIAS_OUT_CTRL_STEP_CNT_SHIFT (0U)
  46323. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  46324. */
  46325. #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)
  46326. #define GPC_STBY_CTRL_STBY_BIAS_OUT_CTRL_CNT_MODE_MASK (0x30000000U)
  46327. #define GPC_STBY_CTRL_STBY_BIAS_OUT_CTRL_CNT_MODE_SHIFT (28U)
  46328. /*! CNT_MODE - Count mode
  46329. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  46330. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  46331. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  46332. * 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
  46333. */
  46334. #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)
  46335. #define GPC_STBY_CTRL_STBY_BIAS_OUT_CTRL_DISABLE_MASK (0x80000000U)
  46336. #define GPC_STBY_CTRL_STBY_BIAS_OUT_CTRL_DISABLE_SHIFT (31U)
  46337. /*! DISABLE - Disable this step
  46338. */
  46339. #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)
  46340. /*! @} */
  46341. /*! @name STBY_PLL_OUT_CTRL - STBY PLL out control */
  46342. /*! @{ */
  46343. #define GPC_STBY_CTRL_STBY_PLL_OUT_CTRL_STEP_CNT_MASK (0xFFFFU)
  46344. #define GPC_STBY_CTRL_STBY_PLL_OUT_CTRL_STEP_CNT_SHIFT (0U)
  46345. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  46346. */
  46347. #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)
  46348. #define GPC_STBY_CTRL_STBY_PLL_OUT_CTRL_CNT_MODE_MASK (0x30000000U)
  46349. #define GPC_STBY_CTRL_STBY_PLL_OUT_CTRL_CNT_MODE_SHIFT (28U)
  46350. /*! CNT_MODE - Count mode
  46351. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  46352. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  46353. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  46354. * 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
  46355. */
  46356. #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)
  46357. #define GPC_STBY_CTRL_STBY_PLL_OUT_CTRL_DISABLE_MASK (0x80000000U)
  46358. #define GPC_STBY_CTRL_STBY_PLL_OUT_CTRL_DISABLE_SHIFT (31U)
  46359. /*! DISABLE - Disable this step
  46360. */
  46361. #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)
  46362. /*! @} */
  46363. /*! @name STBY_LPCG_OUT_CTRL - STBY LPCG out control */
  46364. /*! @{ */
  46365. #define GPC_STBY_CTRL_STBY_LPCG_OUT_CTRL_STEP_CNT_MASK (0xFFFFU)
  46366. #define GPC_STBY_CTRL_STBY_LPCG_OUT_CTRL_STEP_CNT_SHIFT (0U)
  46367. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  46368. */
  46369. #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)
  46370. #define GPC_STBY_CTRL_STBY_LPCG_OUT_CTRL_CNT_MODE_MASK (0x30000000U)
  46371. #define GPC_STBY_CTRL_STBY_LPCG_OUT_CTRL_CNT_MODE_SHIFT (28U)
  46372. /*! CNT_MODE - Count mode
  46373. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  46374. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  46375. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  46376. * 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
  46377. */
  46378. #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)
  46379. #define GPC_STBY_CTRL_STBY_LPCG_OUT_CTRL_DISABLE_MASK (0x80000000U)
  46380. #define GPC_STBY_CTRL_STBY_LPCG_OUT_CTRL_DISABLE_SHIFT (31U)
  46381. /*! DISABLE - Disable this step
  46382. */
  46383. #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)
  46384. /*! @} */
  46385. /*!
  46386. * @}
  46387. */ /* end of group GPC_STBY_CTRL_Register_Masks */
  46388. /* GPC_STBY_CTRL - Peripheral instance base addresses */
  46389. /** Peripheral GPC_STBY_CTRL base address */
  46390. #define GPC_STBY_CTRL_BASE (0x40C02800u)
  46391. /** Peripheral GPC_STBY_CTRL base pointer */
  46392. #define GPC_STBY_CTRL ((GPC_STBY_CTRL_Type *)GPC_STBY_CTRL_BASE)
  46393. /** Array initializer of GPC_STBY_CTRL peripheral base addresses */
  46394. #define GPC_STBY_CTRL_BASE_ADDRS { GPC_STBY_CTRL_BASE }
  46395. /** Array initializer of GPC_STBY_CTRL peripheral base pointers */
  46396. #define GPC_STBY_CTRL_BASE_PTRS { GPC_STBY_CTRL }
  46397. /*!
  46398. * @}
  46399. */ /* end of group GPC_STBY_CTRL_Peripheral_Access_Layer */
  46400. /* ----------------------------------------------------------------------------
  46401. -- GPIO Peripheral Access Layer
  46402. ---------------------------------------------------------------------------- */
  46403. /*!
  46404. * @addtogroup GPIO_Peripheral_Access_Layer GPIO Peripheral Access Layer
  46405. * @{
  46406. */
  46407. /** GPIO - Register Layout Typedef */
  46408. typedef struct {
  46409. __IO uint32_t DR; /**< GPIO data register, offset: 0x0 */
  46410. __IO uint32_t GDIR; /**< GPIO direction register, offset: 0x4 */
  46411. __I uint32_t PSR; /**< GPIO pad status register, offset: 0x8 */
  46412. __IO uint32_t ICR1; /**< GPIO interrupt configuration register1, offset: 0xC */
  46413. __IO uint32_t ICR2; /**< GPIO interrupt configuration register2, offset: 0x10 */
  46414. __IO uint32_t IMR; /**< GPIO interrupt mask register, offset: 0x14 */
  46415. __IO uint32_t ISR; /**< GPIO interrupt status register, offset: 0x18 */
  46416. __IO uint32_t EDGE_SEL; /**< GPIO edge select register, offset: 0x1C */
  46417. uint8_t RESERVED_0[100];
  46418. __O uint32_t DR_SET; /**< GPIO data register SET, offset: 0x84 */
  46419. __O uint32_t DR_CLEAR; /**< GPIO data register CLEAR, offset: 0x88 */
  46420. __O uint32_t DR_TOGGLE; /**< GPIO data register TOGGLE, offset: 0x8C */
  46421. } GPIO_Type;
  46422. /* ----------------------------------------------------------------------------
  46423. -- GPIO Register Masks
  46424. ---------------------------------------------------------------------------- */
  46425. /*!
  46426. * @addtogroup GPIO_Register_Masks GPIO Register Masks
  46427. * @{
  46428. */
  46429. /*! @name DR - GPIO data register */
  46430. /*! @{ */
  46431. #define GPIO_DR_DR_MASK (0xFFFFFFFFU)
  46432. #define GPIO_DR_DR_SHIFT (0U)
  46433. /*! DR - DR data bits
  46434. */
  46435. #define GPIO_DR_DR(x) (((uint32_t)(((uint32_t)(x)) << GPIO_DR_DR_SHIFT)) & GPIO_DR_DR_MASK)
  46436. /*! @} */
  46437. /*! @name GDIR - GPIO direction register */
  46438. /*! @{ */
  46439. #define GPIO_GDIR_GDIR_MASK (0xFFFFFFFFU)
  46440. #define GPIO_GDIR_GDIR_SHIFT (0U)
  46441. /*! GDIR - GPIO direction bits
  46442. */
  46443. #define GPIO_GDIR_GDIR(x) (((uint32_t)(((uint32_t)(x)) << GPIO_GDIR_GDIR_SHIFT)) & GPIO_GDIR_GDIR_MASK)
  46444. /*! @} */
  46445. /*! @name PSR - GPIO pad status register */
  46446. /*! @{ */
  46447. #define GPIO_PSR_PSR_MASK (0xFFFFFFFFU)
  46448. #define GPIO_PSR_PSR_SHIFT (0U)
  46449. /*! PSR - GPIO pad status bits
  46450. */
  46451. #define GPIO_PSR_PSR(x) (((uint32_t)(((uint32_t)(x)) << GPIO_PSR_PSR_SHIFT)) & GPIO_PSR_PSR_MASK)
  46452. /*! @} */
  46453. /*! @name ICR1 - GPIO interrupt configuration register1 */
  46454. /*! @{ */
  46455. #define GPIO_ICR1_ICR0_MASK (0x3U)
  46456. #define GPIO_ICR1_ICR0_SHIFT (0U)
  46457. /*! ICR0 - Interrupt configuration field for GPIO interrupt 0
  46458. * 0b00..Interrupt 0 is low-level sensitive.
  46459. * 0b01..Interrupt 0 is high-level sensitive.
  46460. * 0b10..Interrupt 0 is rising-edge sensitive.
  46461. * 0b11..Interrupt 0 is falling-edge sensitive.
  46462. */
  46463. #define GPIO_ICR1_ICR0(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR0_SHIFT)) & GPIO_ICR1_ICR0_MASK)
  46464. #define GPIO_ICR1_ICR1_MASK (0xCU)
  46465. #define GPIO_ICR1_ICR1_SHIFT (2U)
  46466. /*! ICR1 - Interrupt configuration field for GPIO interrupt 1
  46467. * 0b00..Interrupt 1 is low-level sensitive.
  46468. * 0b01..Interrupt 1 is high-level sensitive.
  46469. * 0b10..Interrupt 1 is rising-edge sensitive.
  46470. * 0b11..Interrupt 1 is falling-edge sensitive.
  46471. */
  46472. #define GPIO_ICR1_ICR1(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR1_SHIFT)) & GPIO_ICR1_ICR1_MASK)
  46473. #define GPIO_ICR1_ICR2_MASK (0x30U)
  46474. #define GPIO_ICR1_ICR2_SHIFT (4U)
  46475. /*! ICR2 - Interrupt configuration field for GPIO interrupt 2
  46476. * 0b00..Interrupt 2 is low-level sensitive.
  46477. * 0b01..Interrupt 2 is high-level sensitive.
  46478. * 0b10..Interrupt 2 is rising-edge sensitive.
  46479. * 0b11..Interrupt 2 is falling-edge sensitive.
  46480. */
  46481. #define GPIO_ICR1_ICR2(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR2_SHIFT)) & GPIO_ICR1_ICR2_MASK)
  46482. #define GPIO_ICR1_ICR3_MASK (0xC0U)
  46483. #define GPIO_ICR1_ICR3_SHIFT (6U)
  46484. /*! ICR3 - Interrupt configuration field for GPIO interrupt 3
  46485. * 0b00..Interrupt 3 is low-level sensitive.
  46486. * 0b01..Interrupt 3 is high-level sensitive.
  46487. * 0b10..Interrupt 3 is rising-edge sensitive.
  46488. * 0b11..Interrupt 3 is falling-edge sensitive.
  46489. */
  46490. #define GPIO_ICR1_ICR3(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR3_SHIFT)) & GPIO_ICR1_ICR3_MASK)
  46491. #define GPIO_ICR1_ICR4_MASK (0x300U)
  46492. #define GPIO_ICR1_ICR4_SHIFT (8U)
  46493. /*! ICR4 - Interrupt configuration field for GPIO interrupt 4
  46494. * 0b00..Interrupt 4 is low-level sensitive.
  46495. * 0b01..Interrupt 4 is high-level sensitive.
  46496. * 0b10..Interrupt 4 is rising-edge sensitive.
  46497. * 0b11..Interrupt 4 is falling-edge sensitive.
  46498. */
  46499. #define GPIO_ICR1_ICR4(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR4_SHIFT)) & GPIO_ICR1_ICR4_MASK)
  46500. #define GPIO_ICR1_ICR5_MASK (0xC00U)
  46501. #define GPIO_ICR1_ICR5_SHIFT (10U)
  46502. /*! ICR5 - Interrupt configuration field for GPIO interrupt 5
  46503. * 0b00..Interrupt 5 is low-level sensitive.
  46504. * 0b01..Interrupt 5 is high-level sensitive.
  46505. * 0b10..Interrupt 5 is rising-edge sensitive.
  46506. * 0b11..Interrupt 5 is falling-edge sensitive.
  46507. */
  46508. #define GPIO_ICR1_ICR5(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR5_SHIFT)) & GPIO_ICR1_ICR5_MASK)
  46509. #define GPIO_ICR1_ICR6_MASK (0x3000U)
  46510. #define GPIO_ICR1_ICR6_SHIFT (12U)
  46511. /*! ICR6 - Interrupt configuration field for GPIO interrupt 6
  46512. * 0b00..Interrupt 6 is low-level sensitive.
  46513. * 0b01..Interrupt 6 is high-level sensitive.
  46514. * 0b10..Interrupt 6 is rising-edge sensitive.
  46515. * 0b11..Interrupt 6 is falling-edge sensitive.
  46516. */
  46517. #define GPIO_ICR1_ICR6(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR6_SHIFT)) & GPIO_ICR1_ICR6_MASK)
  46518. #define GPIO_ICR1_ICR7_MASK (0xC000U)
  46519. #define GPIO_ICR1_ICR7_SHIFT (14U)
  46520. /*! ICR7 - Interrupt configuration field for GPIO interrupt 7
  46521. * 0b00..Interrupt 7 is low-level sensitive.
  46522. * 0b01..Interrupt 7 is high-level sensitive.
  46523. * 0b10..Interrupt 7 is rising-edge sensitive.
  46524. * 0b11..Interrupt 7 is falling-edge sensitive.
  46525. */
  46526. #define GPIO_ICR1_ICR7(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR7_SHIFT)) & GPIO_ICR1_ICR7_MASK)
  46527. #define GPIO_ICR1_ICR8_MASK (0x30000U)
  46528. #define GPIO_ICR1_ICR8_SHIFT (16U)
  46529. /*! ICR8 - Interrupt configuration field for GPIO interrupt 8
  46530. * 0b00..Interrupt 8 is low-level sensitive.
  46531. * 0b01..Interrupt 8 is high-level sensitive.
  46532. * 0b10..Interrupt 8 is rising-edge sensitive.
  46533. * 0b11..Interrupt 8 is falling-edge sensitive.
  46534. */
  46535. #define GPIO_ICR1_ICR8(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR8_SHIFT)) & GPIO_ICR1_ICR8_MASK)
  46536. #define GPIO_ICR1_ICR9_MASK (0xC0000U)
  46537. #define GPIO_ICR1_ICR9_SHIFT (18U)
  46538. /*! ICR9 - Interrupt configuration field for GPIO interrupt 9
  46539. * 0b00..Interrupt 9 is low-level sensitive.
  46540. * 0b01..Interrupt 9 is high-level sensitive.
  46541. * 0b10..Interrupt 9 is rising-edge sensitive.
  46542. * 0b11..Interrupt 9 is falling-edge sensitive.
  46543. */
  46544. #define GPIO_ICR1_ICR9(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR9_SHIFT)) & GPIO_ICR1_ICR9_MASK)
  46545. #define GPIO_ICR1_ICR10_MASK (0x300000U)
  46546. #define GPIO_ICR1_ICR10_SHIFT (20U)
  46547. /*! ICR10 - Interrupt configuration field for GPIO interrupt 10
  46548. * 0b00..Interrupt 10 is low-level sensitive.
  46549. * 0b01..Interrupt 10 is high-level sensitive.
  46550. * 0b10..Interrupt 10 is rising-edge sensitive.
  46551. * 0b11..Interrupt 10 is falling-edge sensitive.
  46552. */
  46553. #define GPIO_ICR1_ICR10(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR10_SHIFT)) & GPIO_ICR1_ICR10_MASK)
  46554. #define GPIO_ICR1_ICR11_MASK (0xC00000U)
  46555. #define GPIO_ICR1_ICR11_SHIFT (22U)
  46556. /*! ICR11 - Interrupt configuration field for GPIO interrupt 11
  46557. * 0b00..Interrupt 11 is low-level sensitive.
  46558. * 0b01..Interrupt 11 is high-level sensitive.
  46559. * 0b10..Interrupt 11 is rising-edge sensitive.
  46560. * 0b11..Interrupt 11 is falling-edge sensitive.
  46561. */
  46562. #define GPIO_ICR1_ICR11(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR11_SHIFT)) & GPIO_ICR1_ICR11_MASK)
  46563. #define GPIO_ICR1_ICR12_MASK (0x3000000U)
  46564. #define GPIO_ICR1_ICR12_SHIFT (24U)
  46565. /*! ICR12 - Interrupt configuration field for GPIO interrupt 12
  46566. * 0b00..Interrupt 12 is low-level sensitive.
  46567. * 0b01..Interrupt 12 is high-level sensitive.
  46568. * 0b10..Interrupt 12 is rising-edge sensitive.
  46569. * 0b11..Interrupt 12 is falling-edge sensitive.
  46570. */
  46571. #define GPIO_ICR1_ICR12(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR12_SHIFT)) & GPIO_ICR1_ICR12_MASK)
  46572. #define GPIO_ICR1_ICR13_MASK (0xC000000U)
  46573. #define GPIO_ICR1_ICR13_SHIFT (26U)
  46574. /*! ICR13 - Interrupt configuration field for GPIO interrupt 13
  46575. * 0b00..Interrupt 13 is low-level sensitive.
  46576. * 0b01..Interrupt 13 is high-level sensitive.
  46577. * 0b10..Interrupt 13 is rising-edge sensitive.
  46578. * 0b11..Interrupt 13 is falling-edge sensitive.
  46579. */
  46580. #define GPIO_ICR1_ICR13(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR13_SHIFT)) & GPIO_ICR1_ICR13_MASK)
  46581. #define GPIO_ICR1_ICR14_MASK (0x30000000U)
  46582. #define GPIO_ICR1_ICR14_SHIFT (28U)
  46583. /*! ICR14 - Interrupt configuration field for GPIO interrupt 14
  46584. * 0b00..Interrupt 14 is low-level sensitive.
  46585. * 0b01..Interrupt 14 is high-level sensitive.
  46586. * 0b10..Interrupt 14 is rising-edge sensitive.
  46587. * 0b11..Interrupt 14 is falling-edge sensitive.
  46588. */
  46589. #define GPIO_ICR1_ICR14(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR14_SHIFT)) & GPIO_ICR1_ICR14_MASK)
  46590. #define GPIO_ICR1_ICR15_MASK (0xC0000000U)
  46591. #define GPIO_ICR1_ICR15_SHIFT (30U)
  46592. /*! ICR15 - Interrupt configuration field for GPIO interrupt 15
  46593. * 0b00..Interrupt 15 is low-level sensitive.
  46594. * 0b01..Interrupt 15 is high-level sensitive.
  46595. * 0b10..Interrupt 15 is rising-edge sensitive.
  46596. * 0b11..Interrupt 15 is falling-edge sensitive.
  46597. */
  46598. #define GPIO_ICR1_ICR15(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR15_SHIFT)) & GPIO_ICR1_ICR15_MASK)
  46599. /*! @} */
  46600. /*! @name ICR2 - GPIO interrupt configuration register2 */
  46601. /*! @{ */
  46602. #define GPIO_ICR2_ICR16_MASK (0x3U)
  46603. #define GPIO_ICR2_ICR16_SHIFT (0U)
  46604. /*! ICR16 - Interrupt configuration field for GPIO interrupt 16
  46605. * 0b00..Interrupt 16 is low-level sensitive.
  46606. * 0b01..Interrupt 16 is high-level sensitive.
  46607. * 0b10..Interrupt 16 is rising-edge sensitive.
  46608. * 0b11..Interrupt 16 is falling-edge sensitive.
  46609. */
  46610. #define GPIO_ICR2_ICR16(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR16_SHIFT)) & GPIO_ICR2_ICR16_MASK)
  46611. #define GPIO_ICR2_ICR17_MASK (0xCU)
  46612. #define GPIO_ICR2_ICR17_SHIFT (2U)
  46613. /*! ICR17 - Interrupt configuration field for GPIO interrupt 17
  46614. * 0b00..Interrupt 17 is low-level sensitive.
  46615. * 0b01..Interrupt 17 is high-level sensitive.
  46616. * 0b10..Interrupt 17 is rising-edge sensitive.
  46617. * 0b11..Interrupt 17 is falling-edge sensitive.
  46618. */
  46619. #define GPIO_ICR2_ICR17(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR17_SHIFT)) & GPIO_ICR2_ICR17_MASK)
  46620. #define GPIO_ICR2_ICR18_MASK (0x30U)
  46621. #define GPIO_ICR2_ICR18_SHIFT (4U)
  46622. /*! ICR18 - Interrupt configuration field for GPIO interrupt 18
  46623. * 0b00..Interrupt 18 is low-level sensitive.
  46624. * 0b01..Interrupt 18 is high-level sensitive.
  46625. * 0b10..Interrupt 18 is rising-edge sensitive.
  46626. * 0b11..Interrupt 18 is falling-edge sensitive.
  46627. */
  46628. #define GPIO_ICR2_ICR18(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR18_SHIFT)) & GPIO_ICR2_ICR18_MASK)
  46629. #define GPIO_ICR2_ICR19_MASK (0xC0U)
  46630. #define GPIO_ICR2_ICR19_SHIFT (6U)
  46631. /*! ICR19 - Interrupt configuration field for GPIO interrupt 19
  46632. * 0b00..Interrupt 19 is low-level sensitive.
  46633. * 0b01..Interrupt 19 is high-level sensitive.
  46634. * 0b10..Interrupt 19 is rising-edge sensitive.
  46635. * 0b11..Interrupt 19 is falling-edge sensitive.
  46636. */
  46637. #define GPIO_ICR2_ICR19(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR19_SHIFT)) & GPIO_ICR2_ICR19_MASK)
  46638. #define GPIO_ICR2_ICR20_MASK (0x300U)
  46639. #define GPIO_ICR2_ICR20_SHIFT (8U)
  46640. /*! ICR20 - Interrupt configuration field for GPIO interrupt 20
  46641. * 0b00..Interrupt 20 is low-level sensitive.
  46642. * 0b01..Interrupt 20 is high-level sensitive.
  46643. * 0b10..Interrupt 20 is rising-edge sensitive.
  46644. * 0b11..Interrupt 20 is falling-edge sensitive.
  46645. */
  46646. #define GPIO_ICR2_ICR20(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR20_SHIFT)) & GPIO_ICR2_ICR20_MASK)
  46647. #define GPIO_ICR2_ICR21_MASK (0xC00U)
  46648. #define GPIO_ICR2_ICR21_SHIFT (10U)
  46649. /*! ICR21 - Interrupt configuration field for GPIO interrupt 21
  46650. * 0b00..Interrupt 21 is low-level sensitive.
  46651. * 0b01..Interrupt 21 is high-level sensitive.
  46652. * 0b10..Interrupt 21 is rising-edge sensitive.
  46653. * 0b11..Interrupt 21 is falling-edge sensitive.
  46654. */
  46655. #define GPIO_ICR2_ICR21(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR21_SHIFT)) & GPIO_ICR2_ICR21_MASK)
  46656. #define GPIO_ICR2_ICR22_MASK (0x3000U)
  46657. #define GPIO_ICR2_ICR22_SHIFT (12U)
  46658. /*! ICR22 - Interrupt configuration field for GPIO interrupt 22
  46659. * 0b00..Interrupt 22 is low-level sensitive.
  46660. * 0b01..Interrupt 22 is high-level sensitive.
  46661. * 0b10..Interrupt 22 is rising-edge sensitive.
  46662. * 0b11..Interrupt 22 is falling-edge sensitive.
  46663. */
  46664. #define GPIO_ICR2_ICR22(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR22_SHIFT)) & GPIO_ICR2_ICR22_MASK)
  46665. #define GPIO_ICR2_ICR23_MASK (0xC000U)
  46666. #define GPIO_ICR2_ICR23_SHIFT (14U)
  46667. /*! ICR23 - Interrupt configuration field for GPIO interrupt 23
  46668. * 0b00..Interrupt 23 is low-level sensitive.
  46669. * 0b01..Interrupt 23 is high-level sensitive.
  46670. * 0b10..Interrupt 23 is rising-edge sensitive.
  46671. * 0b11..Interrupt 23 is falling-edge sensitive.
  46672. */
  46673. #define GPIO_ICR2_ICR23(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR23_SHIFT)) & GPIO_ICR2_ICR23_MASK)
  46674. #define GPIO_ICR2_ICR24_MASK (0x30000U)
  46675. #define GPIO_ICR2_ICR24_SHIFT (16U)
  46676. /*! ICR24 - Interrupt configuration field for GPIO interrupt 24
  46677. * 0b00..Interrupt 24 is low-level sensitive.
  46678. * 0b01..Interrupt 24 is high-level sensitive.
  46679. * 0b10..Interrupt 24 is rising-edge sensitive.
  46680. * 0b11..Interrupt 24 is falling-edge sensitive.
  46681. */
  46682. #define GPIO_ICR2_ICR24(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR24_SHIFT)) & GPIO_ICR2_ICR24_MASK)
  46683. #define GPIO_ICR2_ICR25_MASK (0xC0000U)
  46684. #define GPIO_ICR2_ICR25_SHIFT (18U)
  46685. /*! ICR25 - Interrupt configuration field for GPIO interrupt 25
  46686. * 0b00..Interrupt 25 is low-level sensitive.
  46687. * 0b01..Interrupt 25 is high-level sensitive.
  46688. * 0b10..Interrupt 25 is rising-edge sensitive.
  46689. * 0b11..Interrupt 25 is falling-edge sensitive.
  46690. */
  46691. #define GPIO_ICR2_ICR25(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR25_SHIFT)) & GPIO_ICR2_ICR25_MASK)
  46692. #define GPIO_ICR2_ICR26_MASK (0x300000U)
  46693. #define GPIO_ICR2_ICR26_SHIFT (20U)
  46694. /*! ICR26 - Interrupt configuration field for GPIO interrupt 26
  46695. * 0b00..Interrupt 26 is low-level sensitive.
  46696. * 0b01..Interrupt 26 is high-level sensitive.
  46697. * 0b10..Interrupt 26 is rising-edge sensitive.
  46698. * 0b11..Interrupt 26 is falling-edge sensitive.
  46699. */
  46700. #define GPIO_ICR2_ICR26(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR26_SHIFT)) & GPIO_ICR2_ICR26_MASK)
  46701. #define GPIO_ICR2_ICR27_MASK (0xC00000U)
  46702. #define GPIO_ICR2_ICR27_SHIFT (22U)
  46703. /*! ICR27 - Interrupt configuration field for GPIO interrupt 27
  46704. * 0b00..Interrupt 27 is low-level sensitive.
  46705. * 0b01..Interrupt 27 is high-level sensitive.
  46706. * 0b10..Interrupt 27 is rising-edge sensitive.
  46707. * 0b11..Interrupt 27 is falling-edge sensitive.
  46708. */
  46709. #define GPIO_ICR2_ICR27(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR27_SHIFT)) & GPIO_ICR2_ICR27_MASK)
  46710. #define GPIO_ICR2_ICR28_MASK (0x3000000U)
  46711. #define GPIO_ICR2_ICR28_SHIFT (24U)
  46712. /*! ICR28 - Interrupt configuration field for GPIO interrupt 28
  46713. * 0b00..Interrupt 28 is low-level sensitive.
  46714. * 0b01..Interrupt 28 is high-level sensitive.
  46715. * 0b10..Interrupt 28 is rising-edge sensitive.
  46716. * 0b11..Interrupt 28 is falling-edge sensitive.
  46717. */
  46718. #define GPIO_ICR2_ICR28(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR28_SHIFT)) & GPIO_ICR2_ICR28_MASK)
  46719. #define GPIO_ICR2_ICR29_MASK (0xC000000U)
  46720. #define GPIO_ICR2_ICR29_SHIFT (26U)
  46721. /*! ICR29 - Interrupt configuration field for GPIO interrupt 29
  46722. * 0b00..Interrupt 29 is low-level sensitive.
  46723. * 0b01..Interrupt 29 is high-level sensitive.
  46724. * 0b10..Interrupt 29 is rising-edge sensitive.
  46725. * 0b11..Interrupt 29 is falling-edge sensitive.
  46726. */
  46727. #define GPIO_ICR2_ICR29(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR29_SHIFT)) & GPIO_ICR2_ICR29_MASK)
  46728. #define GPIO_ICR2_ICR30_MASK (0x30000000U)
  46729. #define GPIO_ICR2_ICR30_SHIFT (28U)
  46730. /*! ICR30 - Interrupt configuration field for GPIO interrupt 30
  46731. * 0b00..Interrupt 30 is low-level sensitive.
  46732. * 0b01..Interrupt 30 is high-level sensitive.
  46733. * 0b10..Interrupt 30 is rising-edge sensitive.
  46734. * 0b11..Interrupt 30 is falling-edge sensitive.
  46735. */
  46736. #define GPIO_ICR2_ICR30(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR30_SHIFT)) & GPIO_ICR2_ICR30_MASK)
  46737. #define GPIO_ICR2_ICR31_MASK (0xC0000000U)
  46738. #define GPIO_ICR2_ICR31_SHIFT (30U)
  46739. /*! ICR31 - Interrupt configuration field for GPIO interrupt 31
  46740. * 0b00..Interrupt 31 is low-level sensitive.
  46741. * 0b01..Interrupt 31 is high-level sensitive.
  46742. * 0b10..Interrupt 31 is rising-edge sensitive.
  46743. * 0b11..Interrupt 31 is falling-edge sensitive.
  46744. */
  46745. #define GPIO_ICR2_ICR31(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR31_SHIFT)) & GPIO_ICR2_ICR31_MASK)
  46746. /*! @} */
  46747. /*! @name IMR - GPIO interrupt mask register */
  46748. /*! @{ */
  46749. #define GPIO_IMR_IMR_MASK (0xFFFFFFFFU)
  46750. #define GPIO_IMR_IMR_SHIFT (0U)
  46751. /*! IMR - Interrupt Mask bits
  46752. */
  46753. #define GPIO_IMR_IMR(x) (((uint32_t)(((uint32_t)(x)) << GPIO_IMR_IMR_SHIFT)) & GPIO_IMR_IMR_MASK)
  46754. /*! @} */
  46755. /*! @name ISR - GPIO interrupt status register */
  46756. /*! @{ */
  46757. #define GPIO_ISR_ISR_MASK (0xFFFFFFFFU)
  46758. #define GPIO_ISR_ISR_SHIFT (0U)
  46759. /*! ISR - Interrupt status bits
  46760. */
  46761. #define GPIO_ISR_ISR(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ISR_ISR_SHIFT)) & GPIO_ISR_ISR_MASK)
  46762. /*! @} */
  46763. /*! @name EDGE_SEL - GPIO edge select register */
  46764. /*! @{ */
  46765. #define GPIO_EDGE_SEL_GPIO_EDGE_SEL_MASK (0xFFFFFFFFU)
  46766. #define GPIO_EDGE_SEL_GPIO_EDGE_SEL_SHIFT (0U)
  46767. /*! GPIO_EDGE_SEL - Edge select
  46768. */
  46769. #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)
  46770. /*! @} */
  46771. /*! @name DR_SET - GPIO data register SET */
  46772. /*! @{ */
  46773. #define GPIO_DR_SET_DR_SET_MASK (0xFFFFFFFFU)
  46774. #define GPIO_DR_SET_DR_SET_SHIFT (0U)
  46775. /*! DR_SET - Set
  46776. */
  46777. #define GPIO_DR_SET_DR_SET(x) (((uint32_t)(((uint32_t)(x)) << GPIO_DR_SET_DR_SET_SHIFT)) & GPIO_DR_SET_DR_SET_MASK)
  46778. /*! @} */
  46779. /*! @name DR_CLEAR - GPIO data register CLEAR */
  46780. /*! @{ */
  46781. #define GPIO_DR_CLEAR_DR_CLEAR_MASK (0xFFFFFFFFU)
  46782. #define GPIO_DR_CLEAR_DR_CLEAR_SHIFT (0U)
  46783. /*! DR_CLEAR - Clear
  46784. */
  46785. #define GPIO_DR_CLEAR_DR_CLEAR(x) (((uint32_t)(((uint32_t)(x)) << GPIO_DR_CLEAR_DR_CLEAR_SHIFT)) & GPIO_DR_CLEAR_DR_CLEAR_MASK)
  46786. /*! @} */
  46787. /*! @name DR_TOGGLE - GPIO data register TOGGLE */
  46788. /*! @{ */
  46789. #define GPIO_DR_TOGGLE_DR_TOGGLE_MASK (0xFFFFFFFFU)
  46790. #define GPIO_DR_TOGGLE_DR_TOGGLE_SHIFT (0U)
  46791. /*! DR_TOGGLE - Toggle
  46792. */
  46793. #define GPIO_DR_TOGGLE_DR_TOGGLE(x) (((uint32_t)(((uint32_t)(x)) << GPIO_DR_TOGGLE_DR_TOGGLE_SHIFT)) & GPIO_DR_TOGGLE_DR_TOGGLE_MASK)
  46794. /*! @} */
  46795. /*!
  46796. * @}
  46797. */ /* end of group GPIO_Register_Masks */
  46798. /* GPIO - Peripheral instance base addresses */
  46799. /** Peripheral GPIO1 base address */
  46800. #define GPIO1_BASE (0x4012C000u)
  46801. /** Peripheral GPIO1 base pointer */
  46802. #define GPIO1 ((GPIO_Type *)GPIO1_BASE)
  46803. /** Peripheral GPIO2 base address */
  46804. #define GPIO2_BASE (0x40130000u)
  46805. /** Peripheral GPIO2 base pointer */
  46806. #define GPIO2 ((GPIO_Type *)GPIO2_BASE)
  46807. /** Peripheral GPIO3 base address */
  46808. #define GPIO3_BASE (0x40134000u)
  46809. /** Peripheral GPIO3 base pointer */
  46810. #define GPIO3 ((GPIO_Type *)GPIO3_BASE)
  46811. /** Peripheral GPIO4 base address */
  46812. #define GPIO4_BASE (0x40138000u)
  46813. /** Peripheral GPIO4 base pointer */
  46814. #define GPIO4 ((GPIO_Type *)GPIO4_BASE)
  46815. /** Peripheral GPIO5 base address */
  46816. #define GPIO5_BASE (0x4013C000u)
  46817. /** Peripheral GPIO5 base pointer */
  46818. #define GPIO5 ((GPIO_Type *)GPIO5_BASE)
  46819. /** Peripheral GPIO6 base address */
  46820. #define GPIO6_BASE (0x40140000u)
  46821. /** Peripheral GPIO6 base pointer */
  46822. #define GPIO6 ((GPIO_Type *)GPIO6_BASE)
  46823. /** Peripheral GPIO7 base address */
  46824. #define GPIO7_BASE (0x40C5C000u)
  46825. /** Peripheral GPIO7 base pointer */
  46826. #define GPIO7 ((GPIO_Type *)GPIO7_BASE)
  46827. /** Peripheral GPIO8 base address */
  46828. #define GPIO8_BASE (0x40C60000u)
  46829. /** Peripheral GPIO8 base pointer */
  46830. #define GPIO8 ((GPIO_Type *)GPIO8_BASE)
  46831. /** Peripheral GPIO9 base address */
  46832. #define GPIO9_BASE (0x40C64000u)
  46833. /** Peripheral GPIO9 base pointer */
  46834. #define GPIO9 ((GPIO_Type *)GPIO9_BASE)
  46835. /** Peripheral GPIO10 base address */
  46836. #define GPIO10_BASE (0x40C68000u)
  46837. /** Peripheral GPIO10 base pointer */
  46838. #define GPIO10 ((GPIO_Type *)GPIO10_BASE)
  46839. /** Peripheral GPIO11 base address */
  46840. #define GPIO11_BASE (0x40C6C000u)
  46841. /** Peripheral GPIO11 base pointer */
  46842. #define GPIO11 ((GPIO_Type *)GPIO11_BASE)
  46843. /** Peripheral GPIO12 base address */
  46844. #define GPIO12_BASE (0x40C70000u)
  46845. /** Peripheral GPIO12 base pointer */
  46846. #define GPIO12 ((GPIO_Type *)GPIO12_BASE)
  46847. /** Peripheral GPIO13 base address */
  46848. #define GPIO13_BASE (0x40CA0000u)
  46849. /** Peripheral GPIO13 base pointer */
  46850. #define GPIO13 ((GPIO_Type *)GPIO13_BASE)
  46851. /** Peripheral CM7_GPIO2 base address */
  46852. #define CM7_GPIO2_BASE (0x42008000u)
  46853. /** Peripheral CM7_GPIO2 base pointer */
  46854. #define CM7_GPIO2 ((GPIO_Type *)CM7_GPIO2_BASE)
  46855. /** Peripheral CM7_GPIO3 base address */
  46856. #define CM7_GPIO3_BASE (0x4200C000u)
  46857. /** Peripheral CM7_GPIO3 base pointer */
  46858. #define CM7_GPIO3 ((GPIO_Type *)CM7_GPIO3_BASE)
  46859. /** Array initializer of GPIO peripheral base addresses */
  46860. #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 }
  46861. /** Array initializer of GPIO peripheral base pointers */
  46862. #define GPIO_BASE_PTRS { (GPIO_Type *)0u, GPIO1, GPIO2, GPIO3, GPIO4, GPIO5, GPIO6, GPIO7, GPIO8, GPIO9, GPIO10, GPIO11, GPIO12, GPIO13, CM7_GPIO2, CM7_GPIO3 }
  46863. /** Interrupt vectors for the GPIO peripheral type */
  46864. #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, NotAvail_IRQn, GPIO7_8_9_10_11_IRQn, GPIO7_8_9_10_11_IRQn, GPIO7_8_9_10_11_IRQn, GPIO7_8_9_10_11_IRQn, GPIO7_8_9_10_11_IRQn, GPIO12_Combined_0_15_IRQn, GPIO13_Combined_0_31_IRQn, NotAvail_IRQn, NotAvail_IRQn }
  46865. #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, NotAvail_IRQn, GPIO7_8_9_10_11_IRQn, GPIO7_8_9_10_11_IRQn, GPIO7_8_9_10_11_IRQn, GPIO7_8_9_10_11_IRQn, GPIO7_8_9_10_11_IRQn, GPIO12_Combined_16_31_IRQn, GPIO13_Combined_0_31_IRQn, NotAvail_IRQn, NotAvail_IRQn }
  46866. /*!
  46867. * @}
  46868. */ /* end of group GPIO_Peripheral_Access_Layer */
  46869. /* ----------------------------------------------------------------------------
  46870. -- GPT Peripheral Access Layer
  46871. ---------------------------------------------------------------------------- */
  46872. /*!
  46873. * @addtogroup GPT_Peripheral_Access_Layer GPT Peripheral Access Layer
  46874. * @{
  46875. */
  46876. /** GPT - Register Layout Typedef */
  46877. typedef struct {
  46878. __IO uint32_t CR; /**< GPT Control Register, offset: 0x0 */
  46879. __IO uint32_t PR; /**< GPT Prescaler Register, offset: 0x4 */
  46880. __IO uint32_t SR; /**< GPT Status Register, offset: 0x8 */
  46881. __IO uint32_t IR; /**< GPT Interrupt Register, offset: 0xC */
  46882. __IO uint32_t OCR[3]; /**< GPT Output Compare Register, array offset: 0x10, array step: 0x4 */
  46883. __I uint32_t ICR[2]; /**< GPT Input Capture Register, array offset: 0x1C, array step: 0x4 */
  46884. __I uint32_t CNT; /**< GPT Counter Register, offset: 0x24 */
  46885. } GPT_Type;
  46886. /* ----------------------------------------------------------------------------
  46887. -- GPT Register Masks
  46888. ---------------------------------------------------------------------------- */
  46889. /*!
  46890. * @addtogroup GPT_Register_Masks GPT Register Masks
  46891. * @{
  46892. */
  46893. /*! @name CR - GPT Control Register */
  46894. /*! @{ */
  46895. #define GPT_CR_EN_MASK (0x1U)
  46896. #define GPT_CR_EN_SHIFT (0U)
  46897. /*! EN - GPT Enable
  46898. * 0b0..Disable
  46899. * 0b1..Enable
  46900. */
  46901. #define GPT_CR_EN(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_EN_SHIFT)) & GPT_CR_EN_MASK)
  46902. #define GPT_CR_ENMOD_MASK (0x2U)
  46903. #define GPT_CR_ENMOD_SHIFT (1U)
  46904. /*! ENMOD - GPT Enable Mode
  46905. * 0b0..Restart counting from their frozen values after GPT is enabled (EN=1).
  46906. * 0b1..Reset counting from 0 after GPT is enabled (EN=1).
  46907. */
  46908. #define GPT_CR_ENMOD(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_ENMOD_SHIFT)) & GPT_CR_ENMOD_MASK)
  46909. #define GPT_CR_DBGEN_MASK (0x4U)
  46910. #define GPT_CR_DBGEN_SHIFT (2U)
  46911. /*! DBGEN - GPT Debug Mode Enable
  46912. * 0b0..Disable in Debug mode
  46913. * 0b1..Enable in Debug mode
  46914. */
  46915. #define GPT_CR_DBGEN(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_DBGEN_SHIFT)) & GPT_CR_DBGEN_MASK)
  46916. #define GPT_CR_WAITEN_MASK (0x8U)
  46917. #define GPT_CR_WAITEN_SHIFT (3U)
  46918. /*! WAITEN - GPT Wait Mode Enable
  46919. * 0b0..Disable in Wait mode
  46920. * 0b1..Enable in Wait mode
  46921. */
  46922. #define GPT_CR_WAITEN(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_WAITEN_SHIFT)) & GPT_CR_WAITEN_MASK)
  46923. #define GPT_CR_DOZEEN_MASK (0x10U)
  46924. #define GPT_CR_DOZEEN_SHIFT (4U)
  46925. /*! DOZEEN - GPT Doze Mode Enable
  46926. * 0b0..Disable in Doze mode
  46927. * 0b1..Enable in Doze mode
  46928. */
  46929. #define GPT_CR_DOZEEN(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_DOZEEN_SHIFT)) & GPT_CR_DOZEEN_MASK)
  46930. #define GPT_CR_STOPEN_MASK (0x20U)
  46931. #define GPT_CR_STOPEN_SHIFT (5U)
  46932. /*! STOPEN - GPT Stop Mode Enable
  46933. * 0b0..Disable in Stop mode
  46934. * 0b1..Enable in Stop mode
  46935. */
  46936. #define GPT_CR_STOPEN(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_STOPEN_SHIFT)) & GPT_CR_STOPEN_MASK)
  46937. #define GPT_CR_CLKSRC_MASK (0x1C0U)
  46938. #define GPT_CR_CLKSRC_SHIFT (6U)
  46939. /*! CLKSRC - Clock Source Select
  46940. * 0b000..No clock
  46941. * 0b001..Peripheral Clock (ipg_clk)
  46942. * 0b010..High Frequency Reference Clock (ipg_clk_highfreq)
  46943. * 0b011..External Clock
  46944. * 0b100..Low Frequency Reference Clock (ipg_clk_32k)
  46945. * 0b101..Oscillator as Reference Clock (ipg_clk_16M)
  46946. */
  46947. #define GPT_CR_CLKSRC(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_CLKSRC_SHIFT)) & GPT_CR_CLKSRC_MASK)
  46948. #define GPT_CR_FRR_MASK (0x200U)
  46949. #define GPT_CR_FRR_SHIFT (9U)
  46950. /*! FRR - Free-Run or Restart Mode
  46951. * 0b0..Restart mode. After a compare event, the counter resets to 0x0000_0000 and resumes counting.
  46952. * 0b1..Free-Run mode. After a compare event, the counter continues counting until 0xFFFF_FFFF and then rolls over to 0.
  46953. */
  46954. #define GPT_CR_FRR(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_FRR_SHIFT)) & GPT_CR_FRR_MASK)
  46955. #define GPT_CR_EN_24M_MASK (0x400U)
  46956. #define GPT_CR_EN_24M_SHIFT (10U)
  46957. /*! EN_24M - Enable Oscillator Clock Input
  46958. * 0b0..Disable
  46959. * 0b1..Enable
  46960. */
  46961. #define GPT_CR_EN_24M(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_EN_24M_SHIFT)) & GPT_CR_EN_24M_MASK)
  46962. #define GPT_CR_SWR_MASK (0x8000U)
  46963. #define GPT_CR_SWR_SHIFT (15U)
  46964. /*! SWR - Software Reset
  46965. * 0b0..GPT is not in software reset state
  46966. * 0b1..GPT is in software reset state
  46967. */
  46968. #define GPT_CR_SWR(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_SWR_SHIFT)) & GPT_CR_SWR_MASK)
  46969. #define GPT_CR_IM1_MASK (0x30000U)
  46970. #define GPT_CR_IM1_SHIFT (16U)
  46971. /*! IM1 - Input Capture Operating Mode for Channel 1
  46972. * 0b00..Capture disabled
  46973. * 0b01..Capture on rising edge only
  46974. * 0b10..Capture on falling edge only
  46975. * 0b11..Capture on both edges
  46976. */
  46977. #define GPT_CR_IM1(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_IM1_SHIFT)) & GPT_CR_IM1_MASK)
  46978. #define GPT_CR_IM2_MASK (0xC0000U)
  46979. #define GPT_CR_IM2_SHIFT (18U)
  46980. /*! IM2 - Input Capture Operating Mode for Channel 2
  46981. * 0b00..Capture disabled
  46982. * 0b01..Capture on rising edge only
  46983. * 0b10..Capture on falling edge only
  46984. * 0b11..Capture on both edges
  46985. */
  46986. #define GPT_CR_IM2(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_IM2_SHIFT)) & GPT_CR_IM2_MASK)
  46987. #define GPT_CR_OM1_MASK (0x700000U)
  46988. #define GPT_CR_OM1_SHIFT (20U)
  46989. /*! OM1 - Output Compare Operating Mode for Channel 1
  46990. * 0b000..Output disabled. No response on pin.
  46991. * 0b001..Toggle output pin
  46992. * 0b010..Clear output pin
  46993. * 0b011..Set output pin
  46994. * 0b1xx..Generate a low pulse that is one input clock cycle wide on the output pin. When OMn is first programmed
  46995. * as 1xx, the output pin is set to one immediately on the next input clock (if it was not one already).
  46996. * "Input clock" here refers to the clock selected by the CLKSRC field of this register.
  46997. */
  46998. #define GPT_CR_OM1(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_OM1_SHIFT)) & GPT_CR_OM1_MASK)
  46999. #define GPT_CR_OM2_MASK (0x3800000U)
  47000. #define GPT_CR_OM2_SHIFT (23U)
  47001. /*! OM2 - Output Compare Operating Mode for Channel 2
  47002. * 0b000..Output disabled. No response on pin.
  47003. * 0b001..Toggle output pin
  47004. * 0b010..Clear output pin
  47005. * 0b011..Set output pin
  47006. * 0b1xx..Generate a low pulse that is one input clock cycle wide on the output pin. When OMn is first programmed
  47007. * as 1xx, the output pin is set to one immediately on the next input clock (if it was not one already).
  47008. * "Input clock" here refers to the clock selected by the CLKSRC field of this register.
  47009. */
  47010. #define GPT_CR_OM2(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_OM2_SHIFT)) & GPT_CR_OM2_MASK)
  47011. #define GPT_CR_OM3_MASK (0x1C000000U)
  47012. #define GPT_CR_OM3_SHIFT (26U)
  47013. /*! OM3 - Output Compare Operating Mode for Channel 3
  47014. * 0b000..Output disabled. No response on pin.
  47015. * 0b001..Toggle output pin
  47016. * 0b010..Clear output pin
  47017. * 0b011..Set output pin
  47018. * 0b1xx..Generate a low pulse that is one input clock cycle wide on the output pin. When OMn is first programmed
  47019. * as 1xx, the output pin is set to one immediately on the next input clock (if it was not one already).
  47020. * "Input clock" here refers to the clock selected by the CLKSRC field of this register.
  47021. */
  47022. #define GPT_CR_OM3(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_OM3_SHIFT)) & GPT_CR_OM3_MASK)
  47023. #define GPT_CR_FO1_MASK (0x20000000U)
  47024. #define GPT_CR_FO1_SHIFT (29U)
  47025. /*! FO1 - Force Output Compare for Channel 1
  47026. * 0b0..No effect
  47027. * 0b1..Trigger the programmed response on the pin
  47028. */
  47029. #define GPT_CR_FO1(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_FO1_SHIFT)) & GPT_CR_FO1_MASK)
  47030. #define GPT_CR_FO2_MASK (0x40000000U)
  47031. #define GPT_CR_FO2_SHIFT (30U)
  47032. /*! FO2 - Force Output Compare for Channel 2
  47033. * 0b0..No effect
  47034. * 0b1..Trigger the programmed response on the pin
  47035. */
  47036. #define GPT_CR_FO2(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_FO2_SHIFT)) & GPT_CR_FO2_MASK)
  47037. #define GPT_CR_FO3_MASK (0x80000000U)
  47038. #define GPT_CR_FO3_SHIFT (31U)
  47039. /*! FO3 - Force Output Compare for Channel 3
  47040. * 0b0..No effect
  47041. * 0b1..Trigger the programmed response on the pin
  47042. */
  47043. #define GPT_CR_FO3(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_FO3_SHIFT)) & GPT_CR_FO3_MASK)
  47044. /*! @} */
  47045. /*! @name PR - GPT Prescaler Register */
  47046. /*! @{ */
  47047. #define GPT_PR_PRESCALER_MASK (0xFFFU)
  47048. #define GPT_PR_PRESCALER_SHIFT (0U)
  47049. /*! PRESCALER - Prescaler divide value
  47050. * 0b000000000000..Divide by 1
  47051. * 0b000000000001..Divide by 2
  47052. * 0b111111111111..Divide by 4096
  47053. */
  47054. #define GPT_PR_PRESCALER(x) (((uint32_t)(((uint32_t)(x)) << GPT_PR_PRESCALER_SHIFT)) & GPT_PR_PRESCALER_MASK)
  47055. #define GPT_PR_PRESCALER24M_MASK (0xF000U)
  47056. #define GPT_PR_PRESCALER24M_SHIFT (12U)
  47057. /*! PRESCALER24M - Prescaler divide value for the oscillator clock
  47058. * 0b0000..Divide by 1
  47059. * 0b0001..Divide by 2
  47060. * 0b1111..Divide by 16
  47061. */
  47062. #define GPT_PR_PRESCALER24M(x) (((uint32_t)(((uint32_t)(x)) << GPT_PR_PRESCALER24M_SHIFT)) & GPT_PR_PRESCALER24M_MASK)
  47063. /*! @} */
  47064. /*! @name SR - GPT Status Register */
  47065. /*! @{ */
  47066. #define GPT_SR_OF1_MASK (0x1U)
  47067. #define GPT_SR_OF1_SHIFT (0U)
  47068. /*! OF1 - Output Compare Flag for Channel 1
  47069. * 0b0..Compare event has not occurred.
  47070. * 0b1..Compare event has occurred.
  47071. */
  47072. #define GPT_SR_OF1(x) (((uint32_t)(((uint32_t)(x)) << GPT_SR_OF1_SHIFT)) & GPT_SR_OF1_MASK)
  47073. #define GPT_SR_OF2_MASK (0x2U)
  47074. #define GPT_SR_OF2_SHIFT (1U)
  47075. /*! OF2 - Output Compare Flag for Channel 2
  47076. * 0b0..Compare event has not occurred.
  47077. * 0b1..Compare event has occurred.
  47078. */
  47079. #define GPT_SR_OF2(x) (((uint32_t)(((uint32_t)(x)) << GPT_SR_OF2_SHIFT)) & GPT_SR_OF2_MASK)
  47080. #define GPT_SR_OF3_MASK (0x4U)
  47081. #define GPT_SR_OF3_SHIFT (2U)
  47082. /*! OF3 - Output Compare Flag for Channel 3
  47083. * 0b0..Compare event has not occurred.
  47084. * 0b1..Compare event has occurred.
  47085. */
  47086. #define GPT_SR_OF3(x) (((uint32_t)(((uint32_t)(x)) << GPT_SR_OF3_SHIFT)) & GPT_SR_OF3_MASK)
  47087. #define GPT_SR_IF1_MASK (0x8U)
  47088. #define GPT_SR_IF1_SHIFT (3U)
  47089. /*! IF1 - Input Capture Flag for Channel 1
  47090. * 0b0..Capture event has not occurred.
  47091. * 0b1..Capture event has occurred.
  47092. */
  47093. #define GPT_SR_IF1(x) (((uint32_t)(((uint32_t)(x)) << GPT_SR_IF1_SHIFT)) & GPT_SR_IF1_MASK)
  47094. #define GPT_SR_IF2_MASK (0x10U)
  47095. #define GPT_SR_IF2_SHIFT (4U)
  47096. /*! IF2 - Input Capture Flag for Channel 2
  47097. * 0b0..Capture event has not occurred.
  47098. * 0b1..Capture event has occurred.
  47099. */
  47100. #define GPT_SR_IF2(x) (((uint32_t)(((uint32_t)(x)) << GPT_SR_IF2_SHIFT)) & GPT_SR_IF2_MASK)
  47101. #define GPT_SR_ROV_MASK (0x20U)
  47102. #define GPT_SR_ROV_SHIFT (5U)
  47103. /*! ROV - Rollover Flag
  47104. * 0b0..Rollover has not occurred.
  47105. * 0b1..Rollover has occurred.
  47106. */
  47107. #define GPT_SR_ROV(x) (((uint32_t)(((uint32_t)(x)) << GPT_SR_ROV_SHIFT)) & GPT_SR_ROV_MASK)
  47108. /*! @} */
  47109. /*! @name IR - GPT Interrupt Register */
  47110. /*! @{ */
  47111. #define GPT_IR_OF1IE_MASK (0x1U)
  47112. #define GPT_IR_OF1IE_SHIFT (0U)
  47113. /*! OF1IE - Output Compare Flag for Channel 1 Interrupt Enable
  47114. * 0b0..Disable
  47115. * 0b1..Enable
  47116. */
  47117. #define GPT_IR_OF1IE(x) (((uint32_t)(((uint32_t)(x)) << GPT_IR_OF1IE_SHIFT)) & GPT_IR_OF1IE_MASK)
  47118. #define GPT_IR_OF2IE_MASK (0x2U)
  47119. #define GPT_IR_OF2IE_SHIFT (1U)
  47120. /*! OF2IE - Output Compare Flag for Channel 2 Interrupt Enable
  47121. * 0b0..Disable
  47122. * 0b1..Enable
  47123. */
  47124. #define GPT_IR_OF2IE(x) (((uint32_t)(((uint32_t)(x)) << GPT_IR_OF2IE_SHIFT)) & GPT_IR_OF2IE_MASK)
  47125. #define GPT_IR_OF3IE_MASK (0x4U)
  47126. #define GPT_IR_OF3IE_SHIFT (2U)
  47127. /*! OF3IE - Output Compare Flag for Channel 3 Interrupt Enable
  47128. * 0b0..Disable
  47129. * 0b1..Enable
  47130. */
  47131. #define GPT_IR_OF3IE(x) (((uint32_t)(((uint32_t)(x)) << GPT_IR_OF3IE_SHIFT)) & GPT_IR_OF3IE_MASK)
  47132. #define GPT_IR_IF1IE_MASK (0x8U)
  47133. #define GPT_IR_IF1IE_SHIFT (3U)
  47134. /*! IF1IE - Input Capture Flag for Channel 1 Interrupt Enable
  47135. * 0b0..Disable
  47136. * 0b1..Enable
  47137. */
  47138. #define GPT_IR_IF1IE(x) (((uint32_t)(((uint32_t)(x)) << GPT_IR_IF1IE_SHIFT)) & GPT_IR_IF1IE_MASK)
  47139. #define GPT_IR_IF2IE_MASK (0x10U)
  47140. #define GPT_IR_IF2IE_SHIFT (4U)
  47141. /*! IF2IE - Input Capture Flag for Channel 2 Interrupt Enable
  47142. * 0b0..Disable
  47143. * 0b1..Enable
  47144. */
  47145. #define GPT_IR_IF2IE(x) (((uint32_t)(((uint32_t)(x)) << GPT_IR_IF2IE_SHIFT)) & GPT_IR_IF2IE_MASK)
  47146. #define GPT_IR_ROVIE_MASK (0x20U)
  47147. #define GPT_IR_ROVIE_SHIFT (5U)
  47148. /*! ROVIE - Rollover Interrupt Enable
  47149. * 0b0..Disable
  47150. * 0b1..Enable
  47151. */
  47152. #define GPT_IR_ROVIE(x) (((uint32_t)(((uint32_t)(x)) << GPT_IR_ROVIE_SHIFT)) & GPT_IR_ROVIE_MASK)
  47153. /*! @} */
  47154. /*! @name OCR - GPT Output Compare Register */
  47155. /*! @{ */
  47156. #define GPT_OCR_COMP_MASK (0xFFFFFFFFU)
  47157. #define GPT_OCR_COMP_SHIFT (0U)
  47158. /*! COMP - Compare Value
  47159. */
  47160. #define GPT_OCR_COMP(x) (((uint32_t)(((uint32_t)(x)) << GPT_OCR_COMP_SHIFT)) & GPT_OCR_COMP_MASK)
  47161. /*! @} */
  47162. /* The count of GPT_OCR */
  47163. #define GPT_OCR_COUNT (3U)
  47164. /*! @name ICR - GPT Input Capture Register */
  47165. /*! @{ */
  47166. #define GPT_ICR_CAPT_MASK (0xFFFFFFFFU)
  47167. #define GPT_ICR_CAPT_SHIFT (0U)
  47168. /*! CAPT - Capture Value
  47169. */
  47170. #define GPT_ICR_CAPT(x) (((uint32_t)(((uint32_t)(x)) << GPT_ICR_CAPT_SHIFT)) & GPT_ICR_CAPT_MASK)
  47171. /*! @} */
  47172. /* The count of GPT_ICR */
  47173. #define GPT_ICR_COUNT (2U)
  47174. /*! @name CNT - GPT Counter Register */
  47175. /*! @{ */
  47176. #define GPT_CNT_COUNT_MASK (0xFFFFFFFFU)
  47177. #define GPT_CNT_COUNT_SHIFT (0U)
  47178. /*! COUNT - Counter Value
  47179. */
  47180. #define GPT_CNT_COUNT(x) (((uint32_t)(((uint32_t)(x)) << GPT_CNT_COUNT_SHIFT)) & GPT_CNT_COUNT_MASK)
  47181. /*! @} */
  47182. /*!
  47183. * @}
  47184. */ /* end of group GPT_Register_Masks */
  47185. /* GPT - Peripheral instance base addresses */
  47186. /** Peripheral GPT1 base address */
  47187. #define GPT1_BASE (0x400EC000u)
  47188. /** Peripheral GPT1 base pointer */
  47189. #define GPT1 ((GPT_Type *)GPT1_BASE)
  47190. /** Peripheral GPT2 base address */
  47191. #define GPT2_BASE (0x400F0000u)
  47192. /** Peripheral GPT2 base pointer */
  47193. #define GPT2 ((GPT_Type *)GPT2_BASE)
  47194. /** Peripheral GPT3 base address */
  47195. #define GPT3_BASE (0x400F4000u)
  47196. /** Peripheral GPT3 base pointer */
  47197. #define GPT3 ((GPT_Type *)GPT3_BASE)
  47198. /** Peripheral GPT4 base address */
  47199. #define GPT4_BASE (0x400F8000u)
  47200. /** Peripheral GPT4 base pointer */
  47201. #define GPT4 ((GPT_Type *)GPT4_BASE)
  47202. /** Peripheral GPT5 base address */
  47203. #define GPT5_BASE (0x400FC000u)
  47204. /** Peripheral GPT5 base pointer */
  47205. #define GPT5 ((GPT_Type *)GPT5_BASE)
  47206. /** Peripheral GPT6 base address */
  47207. #define GPT6_BASE (0x40100000u)
  47208. /** Peripheral GPT6 base pointer */
  47209. #define GPT6 ((GPT_Type *)GPT6_BASE)
  47210. /** Array initializer of GPT peripheral base addresses */
  47211. #define GPT_BASE_ADDRS { 0u, GPT1_BASE, GPT2_BASE, GPT3_BASE, GPT4_BASE, GPT5_BASE, GPT6_BASE }
  47212. /** Array initializer of GPT peripheral base pointers */
  47213. #define GPT_BASE_PTRS { (GPT_Type *)0u, GPT1, GPT2, GPT3, GPT4, GPT5, GPT6 }
  47214. /** Interrupt vectors for the GPT peripheral type */
  47215. #define GPT_IRQS { NotAvail_IRQn, GPT1_IRQn, GPT2_IRQn, GPT3_IRQn, GPT4_IRQn, GPT5_IRQn, GPT6_IRQn }
  47216. /*!
  47217. * @}
  47218. */ /* end of group GPT_Peripheral_Access_Layer */
  47219. /* ----------------------------------------------------------------------------
  47220. -- I2S Peripheral Access Layer
  47221. ---------------------------------------------------------------------------- */
  47222. /*!
  47223. * @addtogroup I2S_Peripheral_Access_Layer I2S Peripheral Access Layer
  47224. * @{
  47225. */
  47226. /** I2S - Register Layout Typedef */
  47227. typedef struct {
  47228. __I uint32_t VERID; /**< Version ID, offset: 0x0 */
  47229. __I uint32_t PARAM; /**< Parameter, offset: 0x4 */
  47230. __IO uint32_t TCSR; /**< Transmit Control, offset: 0x8 */
  47231. __IO uint32_t TCR1; /**< Transmit Configuration 1, offset: 0xC */
  47232. __IO uint32_t TCR2; /**< Transmit Configuration 2, offset: 0x10 */
  47233. __IO uint32_t TCR3; /**< Transmit Configuration 3, offset: 0x14 */
  47234. __IO uint32_t TCR4; /**< Transmit Configuration 4, offset: 0x18 */
  47235. __IO uint32_t TCR5; /**< Transmit Configuration 5, offset: 0x1C */
  47236. __O uint32_t TDR[4]; /**< Transmit Data, array offset: 0x20, array step: 0x4 */
  47237. uint8_t RESERVED_0[16];
  47238. __I uint32_t TFR[4]; /**< Transmit FIFO, array offset: 0x40, array step: 0x4 */
  47239. uint8_t RESERVED_1[16];
  47240. __IO uint32_t TMR; /**< Transmit Mask, offset: 0x60 */
  47241. uint8_t RESERVED_2[36];
  47242. __IO uint32_t RCSR; /**< Receive Control, offset: 0x88 */
  47243. __IO uint32_t RCR1; /**< Receive Configuration 1, offset: 0x8C */
  47244. __IO uint32_t RCR2; /**< Receive Configuration 2, offset: 0x90 */
  47245. __IO uint32_t RCR3; /**< Receive Configuration 3, offset: 0x94 */
  47246. __IO uint32_t RCR4; /**< Receive Configuration 4, offset: 0x98 */
  47247. __IO uint32_t RCR5; /**< Receive Configuration 5, offset: 0x9C */
  47248. __I uint32_t RDR[4]; /**< Receive Data, array offset: 0xA0, array step: 0x4 */
  47249. uint8_t RESERVED_3[16];
  47250. __I uint32_t RFR[4]; /**< Receive FIFO, array offset: 0xC0, array step: 0x4 */
  47251. uint8_t RESERVED_4[16];
  47252. __IO uint32_t RMR; /**< Receive Mask, offset: 0xE0 */
  47253. } I2S_Type;
  47254. /* ----------------------------------------------------------------------------
  47255. -- I2S Register Masks
  47256. ---------------------------------------------------------------------------- */
  47257. /*!
  47258. * @addtogroup I2S_Register_Masks I2S Register Masks
  47259. * @{
  47260. */
  47261. /*! @name VERID - Version ID */
  47262. /*! @{ */
  47263. #define I2S_VERID_FEATURE_MASK (0xFFFFU)
  47264. #define I2S_VERID_FEATURE_SHIFT (0U)
  47265. /*! FEATURE - Feature Specification Number
  47266. * 0b0000000000000000..Standard feature set.
  47267. */
  47268. #define I2S_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << I2S_VERID_FEATURE_SHIFT)) & I2S_VERID_FEATURE_MASK)
  47269. #define I2S_VERID_MINOR_MASK (0xFF0000U)
  47270. #define I2S_VERID_MINOR_SHIFT (16U)
  47271. /*! MINOR - Minor Version Number
  47272. */
  47273. #define I2S_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << I2S_VERID_MINOR_SHIFT)) & I2S_VERID_MINOR_MASK)
  47274. #define I2S_VERID_MAJOR_MASK (0xFF000000U)
  47275. #define I2S_VERID_MAJOR_SHIFT (24U)
  47276. /*! MAJOR - Major Version Number
  47277. */
  47278. #define I2S_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << I2S_VERID_MAJOR_SHIFT)) & I2S_VERID_MAJOR_MASK)
  47279. /*! @} */
  47280. /*! @name PARAM - Parameter */
  47281. /*! @{ */
  47282. #define I2S_PARAM_DATALINE_MASK (0xFU)
  47283. #define I2S_PARAM_DATALINE_SHIFT (0U)
  47284. /*! DATALINE - Number of Datalines
  47285. */
  47286. #define I2S_PARAM_DATALINE(x) (((uint32_t)(((uint32_t)(x)) << I2S_PARAM_DATALINE_SHIFT)) & I2S_PARAM_DATALINE_MASK)
  47287. #define I2S_PARAM_FIFO_MASK (0xF00U)
  47288. #define I2S_PARAM_FIFO_SHIFT (8U)
  47289. /*! FIFO - FIFO Size
  47290. */
  47291. #define I2S_PARAM_FIFO(x) (((uint32_t)(((uint32_t)(x)) << I2S_PARAM_FIFO_SHIFT)) & I2S_PARAM_FIFO_MASK)
  47292. #define I2S_PARAM_FRAME_MASK (0xF0000U)
  47293. #define I2S_PARAM_FRAME_SHIFT (16U)
  47294. /*! FRAME - Frame Size
  47295. */
  47296. #define I2S_PARAM_FRAME(x) (((uint32_t)(((uint32_t)(x)) << I2S_PARAM_FRAME_SHIFT)) & I2S_PARAM_FRAME_MASK)
  47297. /*! @} */
  47298. /*! @name TCSR - Transmit Control */
  47299. /*! @{ */
  47300. #define I2S_TCSR_FRDE_MASK (0x1U)
  47301. #define I2S_TCSR_FRDE_SHIFT (0U)
  47302. /*! FRDE - FIFO Request DMA Enable
  47303. * 0b0..Disables the DMA request.
  47304. * 0b1..Enables the DMA request.
  47305. */
  47306. #define I2S_TCSR_FRDE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FRDE_SHIFT)) & I2S_TCSR_FRDE_MASK)
  47307. #define I2S_TCSR_FWDE_MASK (0x2U)
  47308. #define I2S_TCSR_FWDE_SHIFT (1U)
  47309. /*! FWDE - FIFO Warning DMA Enable
  47310. * 0b0..Disables the DMA request.
  47311. * 0b1..Enables the DMA request.
  47312. */
  47313. #define I2S_TCSR_FWDE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FWDE_SHIFT)) & I2S_TCSR_FWDE_MASK)
  47314. #define I2S_TCSR_FRIE_MASK (0x100U)
  47315. #define I2S_TCSR_FRIE_SHIFT (8U)
  47316. /*! FRIE - FIFO Request Interrupt Enable
  47317. * 0b0..Disables the interrupt.
  47318. * 0b1..Enables the interrupt.
  47319. */
  47320. #define I2S_TCSR_FRIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FRIE_SHIFT)) & I2S_TCSR_FRIE_MASK)
  47321. #define I2S_TCSR_FWIE_MASK (0x200U)
  47322. #define I2S_TCSR_FWIE_SHIFT (9U)
  47323. /*! FWIE - FIFO Warning Interrupt Enable
  47324. * 0b0..Disables the interrupt.
  47325. * 0b1..Enables the interrupt.
  47326. */
  47327. #define I2S_TCSR_FWIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FWIE_SHIFT)) & I2S_TCSR_FWIE_MASK)
  47328. #define I2S_TCSR_FEIE_MASK (0x400U)
  47329. #define I2S_TCSR_FEIE_SHIFT (10U)
  47330. /*! FEIE - FIFO Error Interrupt Enable
  47331. * 0b0..Disables the interrupt.
  47332. * 0b1..Enables the interrupt.
  47333. */
  47334. #define I2S_TCSR_FEIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FEIE_SHIFT)) & I2S_TCSR_FEIE_MASK)
  47335. #define I2S_TCSR_SEIE_MASK (0x800U)
  47336. #define I2S_TCSR_SEIE_SHIFT (11U)
  47337. /*! SEIE - Sync Error Interrupt Enable
  47338. * 0b0..Disables interrupt.
  47339. * 0b1..Enables interrupt.
  47340. */
  47341. #define I2S_TCSR_SEIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_SEIE_SHIFT)) & I2S_TCSR_SEIE_MASK)
  47342. #define I2S_TCSR_WSIE_MASK (0x1000U)
  47343. #define I2S_TCSR_WSIE_SHIFT (12U)
  47344. /*! WSIE - Word Start Interrupt Enable
  47345. * 0b0..Disables interrupt.
  47346. * 0b1..Enables interrupt.
  47347. */
  47348. #define I2S_TCSR_WSIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_WSIE_SHIFT)) & I2S_TCSR_WSIE_MASK)
  47349. #define I2S_TCSR_FRF_MASK (0x10000U)
  47350. #define I2S_TCSR_FRF_SHIFT (16U)
  47351. /*! FRF - FIFO Request Flag
  47352. * 0b0..Transmit FIFO watermark has not been reached.
  47353. * 0b1..Transmit FIFO watermark has been reached.
  47354. */
  47355. #define I2S_TCSR_FRF(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FRF_SHIFT)) & I2S_TCSR_FRF_MASK)
  47356. #define I2S_TCSR_FWF_MASK (0x20000U)
  47357. #define I2S_TCSR_FWF_SHIFT (17U)
  47358. /*! FWF - FIFO Warning Flag
  47359. * 0b0..No enabled transmit FIFO is empty.
  47360. * 0b1..Enabled transmit FIFO is empty.
  47361. */
  47362. #define I2S_TCSR_FWF(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FWF_SHIFT)) & I2S_TCSR_FWF_MASK)
  47363. #define I2S_TCSR_FEF_MASK (0x40000U)
  47364. #define I2S_TCSR_FEF_SHIFT (18U)
  47365. /*! FEF - FIFO Error Flag
  47366. * 0b0..Transmit underrun not detected.
  47367. * 0b1..Transmit underrun detected.
  47368. */
  47369. #define I2S_TCSR_FEF(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FEF_SHIFT)) & I2S_TCSR_FEF_MASK)
  47370. #define I2S_TCSR_SEF_MASK (0x80000U)
  47371. #define I2S_TCSR_SEF_SHIFT (19U)
  47372. /*! SEF - Sync Error Flag
  47373. * 0b0..Sync error not detected.
  47374. * 0b1..Frame sync error detected.
  47375. */
  47376. #define I2S_TCSR_SEF(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_SEF_SHIFT)) & I2S_TCSR_SEF_MASK)
  47377. #define I2S_TCSR_WSF_MASK (0x100000U)
  47378. #define I2S_TCSR_WSF_SHIFT (20U)
  47379. /*! WSF - Word Start Flag
  47380. * 0b0..Start of word not detected.
  47381. * 0b1..Start of word detected.
  47382. */
  47383. #define I2S_TCSR_WSF(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_WSF_SHIFT)) & I2S_TCSR_WSF_MASK)
  47384. #define I2S_TCSR_SR_MASK (0x1000000U)
  47385. #define I2S_TCSR_SR_SHIFT (24U)
  47386. /*! SR - Software Reset
  47387. * 0b0..No effect.
  47388. * 0b1..Software reset.
  47389. */
  47390. #define I2S_TCSR_SR(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_SR_SHIFT)) & I2S_TCSR_SR_MASK)
  47391. #define I2S_TCSR_FR_MASK (0x2000000U)
  47392. #define I2S_TCSR_FR_SHIFT (25U)
  47393. /*! FR - FIFO Reset
  47394. * 0b0..No effect.
  47395. * 0b1..FIFO reset.
  47396. */
  47397. #define I2S_TCSR_FR(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FR_SHIFT)) & I2S_TCSR_FR_MASK)
  47398. #define I2S_TCSR_BCE_MASK (0x10000000U)
  47399. #define I2S_TCSR_BCE_SHIFT (28U)
  47400. /*! BCE - Bit Clock Enable
  47401. * 0b0..Transmit bit clock is disabled.
  47402. * 0b1..Transmit bit clock is enabled.
  47403. */
  47404. #define I2S_TCSR_BCE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_BCE_SHIFT)) & I2S_TCSR_BCE_MASK)
  47405. #define I2S_TCSR_DBGE_MASK (0x20000000U)
  47406. #define I2S_TCSR_DBGE_SHIFT (29U)
  47407. /*! DBGE - Debug Enable
  47408. * 0b0..Transmitter is disabled in Debug mode, after completing the current frame.
  47409. * 0b1..Transmitter is enabled in Debug mode.
  47410. */
  47411. #define I2S_TCSR_DBGE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_DBGE_SHIFT)) & I2S_TCSR_DBGE_MASK)
  47412. #define I2S_TCSR_STOPE_MASK (0x40000000U)
  47413. #define I2S_TCSR_STOPE_SHIFT (30U)
  47414. /*! STOPE - Stop Enable
  47415. * 0b0..Transmitter disabled in Stop mode.
  47416. * 0b1..Transmitter enabled in Stop mode.
  47417. */
  47418. #define I2S_TCSR_STOPE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_STOPE_SHIFT)) & I2S_TCSR_STOPE_MASK)
  47419. #define I2S_TCSR_TE_MASK (0x80000000U)
  47420. #define I2S_TCSR_TE_SHIFT (31U)
  47421. /*! TE - Transmitter Enable
  47422. * 0b0..Transmitter is disabled.
  47423. * 0b1..Transmitter is enabled, or transmitter has been disabled and has not yet reached end of frame.
  47424. */
  47425. #define I2S_TCSR_TE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_TE_SHIFT)) & I2S_TCSR_TE_MASK)
  47426. /*! @} */
  47427. /*! @name TCR1 - Transmit Configuration 1 */
  47428. /*! @{ */
  47429. #define I2S_TCR1_TFW_MASK (0x1FU)
  47430. #define I2S_TCR1_TFW_SHIFT (0U)
  47431. /*! TFW - Transmit FIFO Watermark
  47432. */
  47433. #define I2S_TCR1_TFW(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR1_TFW_SHIFT)) & I2S_TCR1_TFW_MASK)
  47434. /*! @} */
  47435. /*! @name TCR2 - Transmit Configuration 2 */
  47436. /*! @{ */
  47437. #define I2S_TCR2_DIV_MASK (0xFFU)
  47438. #define I2S_TCR2_DIV_SHIFT (0U)
  47439. /*! DIV - Bit Clock Divide
  47440. */
  47441. #define I2S_TCR2_DIV(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_DIV_SHIFT)) & I2S_TCR2_DIV_MASK)
  47442. #define I2S_TCR2_BYP_MASK (0x800000U)
  47443. #define I2S_TCR2_BYP_SHIFT (23U)
  47444. /*! BYP - Bit Clock Bypass
  47445. * 0b0..Internal bit clock is generated from bit clock divider.
  47446. * 0b1..Internal bit clock is divide by one of the audio master clock.
  47447. */
  47448. #define I2S_TCR2_BYP(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_BYP_SHIFT)) & I2S_TCR2_BYP_MASK)
  47449. #define I2S_TCR2_BCD_MASK (0x1000000U)
  47450. #define I2S_TCR2_BCD_SHIFT (24U)
  47451. /*! BCD - Bit Clock Direction
  47452. * 0b0..Bit clock is generated externally in Slave mode.
  47453. * 0b1..Bit clock is generated internally in Master mode.
  47454. */
  47455. #define I2S_TCR2_BCD(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_BCD_SHIFT)) & I2S_TCR2_BCD_MASK)
  47456. #define I2S_TCR2_BCP_MASK (0x2000000U)
  47457. #define I2S_TCR2_BCP_SHIFT (25U)
  47458. /*! BCP - Bit Clock Polarity
  47459. * 0b0..Bit clock is active high with drive outputs on rising edge and sample inputs on falling edge.
  47460. * 0b1..Bit clock is active low with drive outputs on falling edge and sample inputs on rising edge.
  47461. */
  47462. #define I2S_TCR2_BCP(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_BCP_SHIFT)) & I2S_TCR2_BCP_MASK)
  47463. #define I2S_TCR2_MSEL_MASK (0xC000000U)
  47464. #define I2S_TCR2_MSEL_SHIFT (26U)
  47465. /*! MSEL - MCLK Select
  47466. * 0b00..Bus Clock selected.
  47467. * 0b01..Master Clock (MCLK) 1 option selected.
  47468. * 0b10..Master Clock (MCLK) 2 option selected.
  47469. * 0b11..Master Clock (MCLK) 3 option selected.
  47470. */
  47471. #define I2S_TCR2_MSEL(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_MSEL_SHIFT)) & I2S_TCR2_MSEL_MASK)
  47472. #define I2S_TCR2_BCI_MASK (0x10000000U)
  47473. #define I2S_TCR2_BCI_SHIFT (28U)
  47474. /*! BCI - Bit Clock Input
  47475. * 0b0..No effect.
  47476. * 0b1..Internal logic is clocked as if bit clock was externally generated.
  47477. */
  47478. #define I2S_TCR2_BCI(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_BCI_SHIFT)) & I2S_TCR2_BCI_MASK)
  47479. #define I2S_TCR2_BCS_MASK (0x20000000U)
  47480. #define I2S_TCR2_BCS_SHIFT (29U)
  47481. /*! BCS - Bit Clock Swap
  47482. * 0b0..Use the normal bit clock source.
  47483. * 0b1..Swap the bit clock source.
  47484. */
  47485. #define I2S_TCR2_BCS(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_BCS_SHIFT)) & I2S_TCR2_BCS_MASK)
  47486. #define I2S_TCR2_SYNC_MASK (0x40000000U)
  47487. #define I2S_TCR2_SYNC_SHIFT (30U)
  47488. /*! SYNC - Synchronous Mode
  47489. * 0b0..Asynchronous mode.
  47490. * 0b1..Synchronous with receiver.
  47491. */
  47492. #define I2S_TCR2_SYNC(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_SYNC_SHIFT)) & I2S_TCR2_SYNC_MASK)
  47493. /*! @} */
  47494. /*! @name TCR3 - Transmit Configuration 3 */
  47495. /*! @{ */
  47496. #define I2S_TCR3_WDFL_MASK (0x1FU)
  47497. #define I2S_TCR3_WDFL_SHIFT (0U)
  47498. /*! WDFL - Word Flag Configuration
  47499. */
  47500. #define I2S_TCR3_WDFL(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR3_WDFL_SHIFT)) & I2S_TCR3_WDFL_MASK)
  47501. #define I2S_TCR3_TCE_MASK (0xF0000U) /* Merged from fields with different position or width, of widths (1, 4), largest definition used */
  47502. #define I2S_TCR3_TCE_SHIFT (16U)
  47503. /*! TCE - Transmit Channel Enable
  47504. */
  47505. #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 */
  47506. #define I2S_TCR3_CFR_MASK (0xF000000U)
  47507. #define I2S_TCR3_CFR_SHIFT (24U)
  47508. /*! CFR - Channel FIFO Reset
  47509. */
  47510. #define I2S_TCR3_CFR(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR3_CFR_SHIFT)) & I2S_TCR3_CFR_MASK)
  47511. /*! @} */
  47512. /*! @name TCR4 - Transmit Configuration 4 */
  47513. /*! @{ */
  47514. #define I2S_TCR4_FSD_MASK (0x1U)
  47515. #define I2S_TCR4_FSD_SHIFT (0U)
  47516. /*! FSD - Frame Sync Direction
  47517. * 0b0..Frame sync is generated externally in Slave mode.
  47518. * 0b1..Frame sync is generated internally in Master mode.
  47519. */
  47520. #define I2S_TCR4_FSD(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FSD_SHIFT)) & I2S_TCR4_FSD_MASK)
  47521. #define I2S_TCR4_FSP_MASK (0x2U)
  47522. #define I2S_TCR4_FSP_SHIFT (1U)
  47523. /*! FSP - Frame Sync Polarity
  47524. * 0b0..Frame sync is active high.
  47525. * 0b1..Frame sync is active low.
  47526. */
  47527. #define I2S_TCR4_FSP(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FSP_SHIFT)) & I2S_TCR4_FSP_MASK)
  47528. #define I2S_TCR4_ONDEM_MASK (0x4U)
  47529. #define I2S_TCR4_ONDEM_SHIFT (2U)
  47530. /*! ONDEM - On Demand Mode
  47531. * 0b0..Internal frame sync is generated continuously.
  47532. * 0b1..Internal frame sync is generated when the FIFO warning flag is clear.
  47533. */
  47534. #define I2S_TCR4_ONDEM(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_ONDEM_SHIFT)) & I2S_TCR4_ONDEM_MASK)
  47535. #define I2S_TCR4_FSE_MASK (0x8U)
  47536. #define I2S_TCR4_FSE_SHIFT (3U)
  47537. /*! FSE - Frame Sync Early
  47538. * 0b0..Frame sync asserts with the first bit of the frame.
  47539. * 0b1..Frame sync asserts one bit before the first bit of the frame.
  47540. */
  47541. #define I2S_TCR4_FSE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FSE_SHIFT)) & I2S_TCR4_FSE_MASK)
  47542. #define I2S_TCR4_MF_MASK (0x10U)
  47543. #define I2S_TCR4_MF_SHIFT (4U)
  47544. /*! MF - MSB First
  47545. * 0b0..LSB is transmitted first.
  47546. * 0b1..MSB is transmitted first.
  47547. */
  47548. #define I2S_TCR4_MF(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_MF_SHIFT)) & I2S_TCR4_MF_MASK)
  47549. #define I2S_TCR4_CHMOD_MASK (0x20U)
  47550. #define I2S_TCR4_CHMOD_SHIFT (5U)
  47551. /*! CHMOD - Channel Mode
  47552. * 0b0..TDM mode, transmit data pins are tri-stated when slots are masked or channels are disabled.
  47553. * 0b1..Output mode, transmit data pins are never tri-stated and will output zero when slots are masked or channels are disabled.
  47554. */
  47555. #define I2S_TCR4_CHMOD(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_CHMOD_SHIFT)) & I2S_TCR4_CHMOD_MASK)
  47556. #define I2S_TCR4_SYWD_MASK (0x1F00U)
  47557. #define I2S_TCR4_SYWD_SHIFT (8U)
  47558. /*! SYWD - Sync Width
  47559. */
  47560. #define I2S_TCR4_SYWD(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_SYWD_SHIFT)) & I2S_TCR4_SYWD_MASK)
  47561. #define I2S_TCR4_FRSZ_MASK (0x1F0000U)
  47562. #define I2S_TCR4_FRSZ_SHIFT (16U)
  47563. /*! FRSZ - Frame size
  47564. */
  47565. #define I2S_TCR4_FRSZ(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FRSZ_SHIFT)) & I2S_TCR4_FRSZ_MASK)
  47566. #define I2S_TCR4_FPACK_MASK (0x3000000U)
  47567. #define I2S_TCR4_FPACK_SHIFT (24U)
  47568. /*! FPACK - FIFO Packing Mode
  47569. * 0b00..FIFO packing is disabled.
  47570. * 0b01..Reserved
  47571. * 0b10..8-bit FIFO packing is enabled.
  47572. * 0b11..16-bit FIFO packing is enabled.
  47573. */
  47574. #define I2S_TCR4_FPACK(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FPACK_SHIFT)) & I2S_TCR4_FPACK_MASK)
  47575. #define I2S_TCR4_FCOMB_MASK (0xC000000U)
  47576. #define I2S_TCR4_FCOMB_SHIFT (26U)
  47577. /*! FCOMB - FIFO Combine Mode
  47578. * 0b00..FIFO combine mode disabled.
  47579. * 0b01..FIFO combine mode enabled on FIFO reads (from transmit shift registers).
  47580. * 0b10..FIFO combine mode enabled on FIFO writes (by software).
  47581. * 0b11..FIFO combine mode enabled on FIFO reads (from transmit shift registers) and writes (by software).
  47582. */
  47583. #define I2S_TCR4_FCOMB(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FCOMB_SHIFT)) & I2S_TCR4_FCOMB_MASK)
  47584. #define I2S_TCR4_FCONT_MASK (0x10000000U)
  47585. #define I2S_TCR4_FCONT_SHIFT (28U)
  47586. /*! FCONT - FIFO Continue on Error
  47587. * 0b0..On FIFO error, the SAI will continue from the start of the next frame after the FIFO error flag has been cleared.
  47588. * 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.
  47589. */
  47590. #define I2S_TCR4_FCONT(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FCONT_SHIFT)) & I2S_TCR4_FCONT_MASK)
  47591. /*! @} */
  47592. /*! @name TCR5 - Transmit Configuration 5 */
  47593. /*! @{ */
  47594. #define I2S_TCR5_FBT_MASK (0x1F00U)
  47595. #define I2S_TCR5_FBT_SHIFT (8U)
  47596. /*! FBT - First Bit Shifted
  47597. */
  47598. #define I2S_TCR5_FBT(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR5_FBT_SHIFT)) & I2S_TCR5_FBT_MASK)
  47599. #define I2S_TCR5_W0W_MASK (0x1F0000U)
  47600. #define I2S_TCR5_W0W_SHIFT (16U)
  47601. /*! W0W - Word 0 Width
  47602. */
  47603. #define I2S_TCR5_W0W(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR5_W0W_SHIFT)) & I2S_TCR5_W0W_MASK)
  47604. #define I2S_TCR5_WNW_MASK (0x1F000000U)
  47605. #define I2S_TCR5_WNW_SHIFT (24U)
  47606. /*! WNW - Word N Width
  47607. */
  47608. #define I2S_TCR5_WNW(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR5_WNW_SHIFT)) & I2S_TCR5_WNW_MASK)
  47609. /*! @} */
  47610. /*! @name TDR - Transmit Data */
  47611. /*! @{ */
  47612. #define I2S_TDR_TDR_MASK (0xFFFFFFFFU)
  47613. #define I2S_TDR_TDR_SHIFT (0U)
  47614. /*! TDR - Transmit Data Register
  47615. */
  47616. #define I2S_TDR_TDR(x) (((uint32_t)(((uint32_t)(x)) << I2S_TDR_TDR_SHIFT)) & I2S_TDR_TDR_MASK)
  47617. /*! @} */
  47618. /* The count of I2S_TDR */
  47619. #define I2S_TDR_COUNT (4U)
  47620. /*! @name TFR - Transmit FIFO */
  47621. /*! @{ */
  47622. #define I2S_TFR_RFP_MASK (0x3FU)
  47623. #define I2S_TFR_RFP_SHIFT (0U)
  47624. /*! RFP - Read FIFO Pointer
  47625. */
  47626. #define I2S_TFR_RFP(x) (((uint32_t)(((uint32_t)(x)) << I2S_TFR_RFP_SHIFT)) & I2S_TFR_RFP_MASK)
  47627. #define I2S_TFR_WFP_MASK (0x3F0000U)
  47628. #define I2S_TFR_WFP_SHIFT (16U)
  47629. /*! WFP - Write FIFO Pointer
  47630. */
  47631. #define I2S_TFR_WFP(x) (((uint32_t)(((uint32_t)(x)) << I2S_TFR_WFP_SHIFT)) & I2S_TFR_WFP_MASK)
  47632. #define I2S_TFR_WCP_MASK (0x80000000U)
  47633. #define I2S_TFR_WCP_SHIFT (31U)
  47634. /*! WCP - Write Channel Pointer
  47635. * 0b0..No effect.
  47636. * 0b1..FIFO combine is enabled for FIFO writes and this FIFO will be written on the next FIFO write.
  47637. */
  47638. #define I2S_TFR_WCP(x) (((uint32_t)(((uint32_t)(x)) << I2S_TFR_WCP_SHIFT)) & I2S_TFR_WCP_MASK)
  47639. /*! @} */
  47640. /* The count of I2S_TFR */
  47641. #define I2S_TFR_COUNT (4U)
  47642. /*! @name TMR - Transmit Mask */
  47643. /*! @{ */
  47644. #define I2S_TMR_TWM_MASK (0xFFFFFFFFU)
  47645. #define I2S_TMR_TWM_SHIFT (0U)
  47646. /*! TWM - Transmit Word Mask
  47647. * 0b00000000000000000000000000000000..Word N is enabled.
  47648. * 0b00000000000000000000000000000001..Word N is masked. The transmit data pins are tri-stated or drive zero when masked.
  47649. */
  47650. #define I2S_TMR_TWM(x) (((uint32_t)(((uint32_t)(x)) << I2S_TMR_TWM_SHIFT)) & I2S_TMR_TWM_MASK)
  47651. /*! @} */
  47652. /*! @name RCSR - Receive Control */
  47653. /*! @{ */
  47654. #define I2S_RCSR_FRDE_MASK (0x1U)
  47655. #define I2S_RCSR_FRDE_SHIFT (0U)
  47656. /*! FRDE - FIFO Request DMA Enable
  47657. * 0b0..Disables the DMA request.
  47658. * 0b1..Enables the DMA request.
  47659. */
  47660. #define I2S_RCSR_FRDE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FRDE_SHIFT)) & I2S_RCSR_FRDE_MASK)
  47661. #define I2S_RCSR_FWDE_MASK (0x2U)
  47662. #define I2S_RCSR_FWDE_SHIFT (1U)
  47663. /*! FWDE - FIFO Warning DMA Enable
  47664. * 0b0..Disables the DMA request.
  47665. * 0b1..Enables the DMA request.
  47666. */
  47667. #define I2S_RCSR_FWDE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FWDE_SHIFT)) & I2S_RCSR_FWDE_MASK)
  47668. #define I2S_RCSR_FRIE_MASK (0x100U)
  47669. #define I2S_RCSR_FRIE_SHIFT (8U)
  47670. /*! FRIE - FIFO Request Interrupt Enable
  47671. * 0b0..Disables the interrupt.
  47672. * 0b1..Enables the interrupt.
  47673. */
  47674. #define I2S_RCSR_FRIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FRIE_SHIFT)) & I2S_RCSR_FRIE_MASK)
  47675. #define I2S_RCSR_FWIE_MASK (0x200U)
  47676. #define I2S_RCSR_FWIE_SHIFT (9U)
  47677. /*! FWIE - FIFO Warning Interrupt Enable
  47678. * 0b0..Disables the interrupt.
  47679. * 0b1..Enables the interrupt.
  47680. */
  47681. #define I2S_RCSR_FWIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FWIE_SHIFT)) & I2S_RCSR_FWIE_MASK)
  47682. #define I2S_RCSR_FEIE_MASK (0x400U)
  47683. #define I2S_RCSR_FEIE_SHIFT (10U)
  47684. /*! FEIE - FIFO Error Interrupt Enable
  47685. * 0b0..Disables the interrupt.
  47686. * 0b1..Enables the interrupt.
  47687. */
  47688. #define I2S_RCSR_FEIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FEIE_SHIFT)) & I2S_RCSR_FEIE_MASK)
  47689. #define I2S_RCSR_SEIE_MASK (0x800U)
  47690. #define I2S_RCSR_SEIE_SHIFT (11U)
  47691. /*! SEIE - Sync Error Interrupt Enable
  47692. * 0b0..Disables interrupt.
  47693. * 0b1..Enables interrupt.
  47694. */
  47695. #define I2S_RCSR_SEIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_SEIE_SHIFT)) & I2S_RCSR_SEIE_MASK)
  47696. #define I2S_RCSR_WSIE_MASK (0x1000U)
  47697. #define I2S_RCSR_WSIE_SHIFT (12U)
  47698. /*! WSIE - Word Start Interrupt Enable
  47699. * 0b0..Disables interrupt.
  47700. * 0b1..Enables interrupt.
  47701. */
  47702. #define I2S_RCSR_WSIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_WSIE_SHIFT)) & I2S_RCSR_WSIE_MASK)
  47703. #define I2S_RCSR_FRF_MASK (0x10000U)
  47704. #define I2S_RCSR_FRF_SHIFT (16U)
  47705. /*! FRF - FIFO Request Flag
  47706. * 0b0..Receive FIFO watermark not reached.
  47707. * 0b1..Receive FIFO watermark has been reached.
  47708. */
  47709. #define I2S_RCSR_FRF(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FRF_SHIFT)) & I2S_RCSR_FRF_MASK)
  47710. #define I2S_RCSR_FWF_MASK (0x20000U)
  47711. #define I2S_RCSR_FWF_SHIFT (17U)
  47712. /*! FWF - FIFO Warning Flag
  47713. * 0b0..No enabled receive FIFO is full.
  47714. * 0b1..Enabled receive FIFO is full.
  47715. */
  47716. #define I2S_RCSR_FWF(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FWF_SHIFT)) & I2S_RCSR_FWF_MASK)
  47717. #define I2S_RCSR_FEF_MASK (0x40000U)
  47718. #define I2S_RCSR_FEF_SHIFT (18U)
  47719. /*! FEF - FIFO Error Flag
  47720. * 0b0..Receive overflow not detected.
  47721. * 0b1..Receive overflow detected.
  47722. */
  47723. #define I2S_RCSR_FEF(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FEF_SHIFT)) & I2S_RCSR_FEF_MASK)
  47724. #define I2S_RCSR_SEF_MASK (0x80000U)
  47725. #define I2S_RCSR_SEF_SHIFT (19U)
  47726. /*! SEF - Sync Error Flag
  47727. * 0b0..Sync error not detected.
  47728. * 0b1..Frame sync error detected.
  47729. */
  47730. #define I2S_RCSR_SEF(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_SEF_SHIFT)) & I2S_RCSR_SEF_MASK)
  47731. #define I2S_RCSR_WSF_MASK (0x100000U)
  47732. #define I2S_RCSR_WSF_SHIFT (20U)
  47733. /*! WSF - Word Start Flag
  47734. * 0b0..Start of word not detected.
  47735. * 0b1..Start of word detected.
  47736. */
  47737. #define I2S_RCSR_WSF(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_WSF_SHIFT)) & I2S_RCSR_WSF_MASK)
  47738. #define I2S_RCSR_SR_MASK (0x1000000U)
  47739. #define I2S_RCSR_SR_SHIFT (24U)
  47740. /*! SR - Software Reset
  47741. * 0b0..No effect.
  47742. * 0b1..Software reset.
  47743. */
  47744. #define I2S_RCSR_SR(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_SR_SHIFT)) & I2S_RCSR_SR_MASK)
  47745. #define I2S_RCSR_FR_MASK (0x2000000U)
  47746. #define I2S_RCSR_FR_SHIFT (25U)
  47747. /*! FR - FIFO Reset
  47748. * 0b0..No effect.
  47749. * 0b1..FIFO reset.
  47750. */
  47751. #define I2S_RCSR_FR(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FR_SHIFT)) & I2S_RCSR_FR_MASK)
  47752. #define I2S_RCSR_BCE_MASK (0x10000000U)
  47753. #define I2S_RCSR_BCE_SHIFT (28U)
  47754. /*! BCE - Bit Clock Enable
  47755. * 0b0..Receive bit clock is disabled.
  47756. * 0b1..Receive bit clock is enabled.
  47757. */
  47758. #define I2S_RCSR_BCE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_BCE_SHIFT)) & I2S_RCSR_BCE_MASK)
  47759. #define I2S_RCSR_DBGE_MASK (0x20000000U)
  47760. #define I2S_RCSR_DBGE_SHIFT (29U)
  47761. /*! DBGE - Debug Enable
  47762. * 0b0..Receiver is disabled in Debug mode, after completing the current frame.
  47763. * 0b1..Receiver is enabled in Debug mode.
  47764. */
  47765. #define I2S_RCSR_DBGE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_DBGE_SHIFT)) & I2S_RCSR_DBGE_MASK)
  47766. #define I2S_RCSR_STOPE_MASK (0x40000000U)
  47767. #define I2S_RCSR_STOPE_SHIFT (30U)
  47768. /*! STOPE - Stop Enable
  47769. * 0b0..Receiver disabled in Stop mode.
  47770. * 0b1..Receiver enabled in Stop mode.
  47771. */
  47772. #define I2S_RCSR_STOPE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_STOPE_SHIFT)) & I2S_RCSR_STOPE_MASK)
  47773. #define I2S_RCSR_RE_MASK (0x80000000U)
  47774. #define I2S_RCSR_RE_SHIFT (31U)
  47775. /*! RE - Receiver Enable
  47776. * 0b0..Receiver is disabled.
  47777. * 0b1..Receiver is enabled, or receiver has been disabled and has not yet reached end of frame.
  47778. */
  47779. #define I2S_RCSR_RE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_RE_SHIFT)) & I2S_RCSR_RE_MASK)
  47780. /*! @} */
  47781. /*! @name RCR1 - Receive Configuration 1 */
  47782. /*! @{ */
  47783. #define I2S_RCR1_RFW_MASK (0x1FU)
  47784. #define I2S_RCR1_RFW_SHIFT (0U)
  47785. /*! RFW - Receive FIFO Watermark
  47786. */
  47787. #define I2S_RCR1_RFW(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR1_RFW_SHIFT)) & I2S_RCR1_RFW_MASK)
  47788. /*! @} */
  47789. /*! @name RCR2 - Receive Configuration 2 */
  47790. /*! @{ */
  47791. #define I2S_RCR2_DIV_MASK (0xFFU)
  47792. #define I2S_RCR2_DIV_SHIFT (0U)
  47793. /*! DIV - Bit Clock Divide
  47794. */
  47795. #define I2S_RCR2_DIV(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_DIV_SHIFT)) & I2S_RCR2_DIV_MASK)
  47796. #define I2S_RCR2_BYP_MASK (0x800000U)
  47797. #define I2S_RCR2_BYP_SHIFT (23U)
  47798. /*! BYP - Bit Clock Bypass
  47799. * 0b0..Internal bit clock is generated from bit clock divider.
  47800. * 0b1..Internal bit clock is divide by one of the audio master clock.
  47801. */
  47802. #define I2S_RCR2_BYP(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_BYP_SHIFT)) & I2S_RCR2_BYP_MASK)
  47803. #define I2S_RCR2_BCD_MASK (0x1000000U)
  47804. #define I2S_RCR2_BCD_SHIFT (24U)
  47805. /*! BCD - Bit Clock Direction
  47806. * 0b0..Bit clock is generated externally in Slave mode.
  47807. * 0b1..Bit clock is generated internally in Master mode.
  47808. */
  47809. #define I2S_RCR2_BCD(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_BCD_SHIFT)) & I2S_RCR2_BCD_MASK)
  47810. #define I2S_RCR2_BCP_MASK (0x2000000U)
  47811. #define I2S_RCR2_BCP_SHIFT (25U)
  47812. /*! BCP - Bit Clock Polarity
  47813. * 0b0..Bit Clock is active high with drive outputs on rising edge and sample inputs on falling edge.
  47814. * 0b1..Bit Clock is active low with drive outputs on falling edge and sample inputs on rising edge.
  47815. */
  47816. #define I2S_RCR2_BCP(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_BCP_SHIFT)) & I2S_RCR2_BCP_MASK)
  47817. #define I2S_RCR2_MSEL_MASK (0xC000000U)
  47818. #define I2S_RCR2_MSEL_SHIFT (26U)
  47819. /*! MSEL - MCLK Select
  47820. * 0b00..Bus Clock selected.
  47821. * 0b01..Master Clock (MCLK) 1 option selected.
  47822. * 0b10..Master Clock (MCLK) 2 option selected.
  47823. * 0b11..Master Clock (MCLK) 3 option selected.
  47824. */
  47825. #define I2S_RCR2_MSEL(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_MSEL_SHIFT)) & I2S_RCR2_MSEL_MASK)
  47826. #define I2S_RCR2_BCI_MASK (0x10000000U)
  47827. #define I2S_RCR2_BCI_SHIFT (28U)
  47828. /*! BCI - Bit Clock Input
  47829. * 0b0..No effect.
  47830. * 0b1..Internal logic is clocked as if bit clock was externally generated.
  47831. */
  47832. #define I2S_RCR2_BCI(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_BCI_SHIFT)) & I2S_RCR2_BCI_MASK)
  47833. #define I2S_RCR2_BCS_MASK (0x20000000U)
  47834. #define I2S_RCR2_BCS_SHIFT (29U)
  47835. /*! BCS - Bit Clock Swap
  47836. * 0b0..Use the normal bit clock source.
  47837. * 0b1..Swap the bit clock source.
  47838. */
  47839. #define I2S_RCR2_BCS(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_BCS_SHIFT)) & I2S_RCR2_BCS_MASK)
  47840. #define I2S_RCR2_SYNC_MASK (0x40000000U)
  47841. #define I2S_RCR2_SYNC_SHIFT (30U)
  47842. /*! SYNC - Synchronous Mode
  47843. * 0b0..Asynchronous mode.
  47844. * 0b1..Synchronous with transmitter.
  47845. */
  47846. #define I2S_RCR2_SYNC(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_SYNC_SHIFT)) & I2S_RCR2_SYNC_MASK)
  47847. /*! @} */
  47848. /*! @name RCR3 - Receive Configuration 3 */
  47849. /*! @{ */
  47850. #define I2S_RCR3_WDFL_MASK (0x1FU)
  47851. #define I2S_RCR3_WDFL_SHIFT (0U)
  47852. /*! WDFL - Word Flag Configuration
  47853. */
  47854. #define I2S_RCR3_WDFL(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR3_WDFL_SHIFT)) & I2S_RCR3_WDFL_MASK)
  47855. #define I2S_RCR3_RCE_MASK (0xF0000U) /* Merged from fields with different position or width, of widths (1, 4), largest definition used */
  47856. #define I2S_RCR3_RCE_SHIFT (16U)
  47857. /*! RCE - Receive Channel Enable
  47858. */
  47859. #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 */
  47860. #define I2S_RCR3_CFR_MASK (0xF000000U)
  47861. #define I2S_RCR3_CFR_SHIFT (24U)
  47862. /*! CFR - Channel FIFO Reset
  47863. */
  47864. #define I2S_RCR3_CFR(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR3_CFR_SHIFT)) & I2S_RCR3_CFR_MASK)
  47865. /*! @} */
  47866. /*! @name RCR4 - Receive Configuration 4 */
  47867. /*! @{ */
  47868. #define I2S_RCR4_FSD_MASK (0x1U)
  47869. #define I2S_RCR4_FSD_SHIFT (0U)
  47870. /*! FSD - Frame Sync Direction
  47871. * 0b0..Frame Sync is generated externally in Slave mode.
  47872. * 0b1..Frame Sync is generated internally in Master mode.
  47873. */
  47874. #define I2S_RCR4_FSD(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FSD_SHIFT)) & I2S_RCR4_FSD_MASK)
  47875. #define I2S_RCR4_FSP_MASK (0x2U)
  47876. #define I2S_RCR4_FSP_SHIFT (1U)
  47877. /*! FSP - Frame Sync Polarity
  47878. * 0b0..Frame sync is active high.
  47879. * 0b1..Frame sync is active low.
  47880. */
  47881. #define I2S_RCR4_FSP(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FSP_SHIFT)) & I2S_RCR4_FSP_MASK)
  47882. #define I2S_RCR4_ONDEM_MASK (0x4U)
  47883. #define I2S_RCR4_ONDEM_SHIFT (2U)
  47884. /*! ONDEM - On Demand Mode
  47885. * 0b0..Internal frame sync is generated continuously.
  47886. * 0b1..Internal frame sync is generated when the FIFO warning flag is clear.
  47887. */
  47888. #define I2S_RCR4_ONDEM(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_ONDEM_SHIFT)) & I2S_RCR4_ONDEM_MASK)
  47889. #define I2S_RCR4_FSE_MASK (0x8U)
  47890. #define I2S_RCR4_FSE_SHIFT (3U)
  47891. /*! FSE - Frame Sync Early
  47892. * 0b0..Frame sync asserts with the first bit of the frame.
  47893. * 0b1..Frame sync asserts one bit before the first bit of the frame.
  47894. */
  47895. #define I2S_RCR4_FSE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FSE_SHIFT)) & I2S_RCR4_FSE_MASK)
  47896. #define I2S_RCR4_MF_MASK (0x10U)
  47897. #define I2S_RCR4_MF_SHIFT (4U)
  47898. /*! MF - MSB First
  47899. * 0b0..LSB is received first.
  47900. * 0b1..MSB is received first.
  47901. */
  47902. #define I2S_RCR4_MF(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_MF_SHIFT)) & I2S_RCR4_MF_MASK)
  47903. #define I2S_RCR4_SYWD_MASK (0x1F00U)
  47904. #define I2S_RCR4_SYWD_SHIFT (8U)
  47905. /*! SYWD - Sync Width
  47906. */
  47907. #define I2S_RCR4_SYWD(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_SYWD_SHIFT)) & I2S_RCR4_SYWD_MASK)
  47908. #define I2S_RCR4_FRSZ_MASK (0x1F0000U)
  47909. #define I2S_RCR4_FRSZ_SHIFT (16U)
  47910. /*! FRSZ - Frame Size
  47911. */
  47912. #define I2S_RCR4_FRSZ(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FRSZ_SHIFT)) & I2S_RCR4_FRSZ_MASK)
  47913. #define I2S_RCR4_FPACK_MASK (0x3000000U)
  47914. #define I2S_RCR4_FPACK_SHIFT (24U)
  47915. /*! FPACK - FIFO Packing Mode
  47916. * 0b00..FIFO packing is disabled
  47917. * 0b01..Reserved.
  47918. * 0b10..8-bit FIFO packing is enabled
  47919. * 0b11..16-bit FIFO packing is enabled
  47920. */
  47921. #define I2S_RCR4_FPACK(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FPACK_SHIFT)) & I2S_RCR4_FPACK_MASK)
  47922. #define I2S_RCR4_FCOMB_MASK (0xC000000U)
  47923. #define I2S_RCR4_FCOMB_SHIFT (26U)
  47924. /*! FCOMB - FIFO Combine Mode
  47925. * 0b00..FIFO combine mode disabled.
  47926. * 0b01..FIFO combine mode enabled on FIFO writes (from receive shift registers).
  47927. * 0b10..FIFO combine mode enabled on FIFO reads (by software).
  47928. * 0b11..FIFO combine mode enabled on FIFO writes (from receive shift registers) and reads (by software).
  47929. */
  47930. #define I2S_RCR4_FCOMB(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FCOMB_SHIFT)) & I2S_RCR4_FCOMB_MASK)
  47931. #define I2S_RCR4_FCONT_MASK (0x10000000U)
  47932. #define I2S_RCR4_FCONT_SHIFT (28U)
  47933. /*! FCONT - FIFO Continue on Error
  47934. * 0b0..On FIFO error, the SAI will continue from the start of the next frame after the FIFO error flag has been cleared.
  47935. * 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.
  47936. */
  47937. #define I2S_RCR4_FCONT(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FCONT_SHIFT)) & I2S_RCR4_FCONT_MASK)
  47938. /*! @} */
  47939. /*! @name RCR5 - Receive Configuration 5 */
  47940. /*! @{ */
  47941. #define I2S_RCR5_FBT_MASK (0x1F00U)
  47942. #define I2S_RCR5_FBT_SHIFT (8U)
  47943. /*! FBT - First Bit Shifted
  47944. */
  47945. #define I2S_RCR5_FBT(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR5_FBT_SHIFT)) & I2S_RCR5_FBT_MASK)
  47946. #define I2S_RCR5_W0W_MASK (0x1F0000U)
  47947. #define I2S_RCR5_W0W_SHIFT (16U)
  47948. /*! W0W - Word 0 Width
  47949. */
  47950. #define I2S_RCR5_W0W(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR5_W0W_SHIFT)) & I2S_RCR5_W0W_MASK)
  47951. #define I2S_RCR5_WNW_MASK (0x1F000000U)
  47952. #define I2S_RCR5_WNW_SHIFT (24U)
  47953. /*! WNW - Word N Width
  47954. */
  47955. #define I2S_RCR5_WNW(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR5_WNW_SHIFT)) & I2S_RCR5_WNW_MASK)
  47956. /*! @} */
  47957. /*! @name RDR - Receive Data */
  47958. /*! @{ */
  47959. #define I2S_RDR_RDR_MASK (0xFFFFFFFFU)
  47960. #define I2S_RDR_RDR_SHIFT (0U)
  47961. /*! RDR - Receive Data Register
  47962. */
  47963. #define I2S_RDR_RDR(x) (((uint32_t)(((uint32_t)(x)) << I2S_RDR_RDR_SHIFT)) & I2S_RDR_RDR_MASK)
  47964. /*! @} */
  47965. /* The count of I2S_RDR */
  47966. #define I2S_RDR_COUNT (4U)
  47967. /*! @name RFR - Receive FIFO */
  47968. /*! @{ */
  47969. #define I2S_RFR_RFP_MASK (0x3FU)
  47970. #define I2S_RFR_RFP_SHIFT (0U)
  47971. /*! RFP - Read FIFO Pointer
  47972. */
  47973. #define I2S_RFR_RFP(x) (((uint32_t)(((uint32_t)(x)) << I2S_RFR_RFP_SHIFT)) & I2S_RFR_RFP_MASK)
  47974. #define I2S_RFR_RCP_MASK (0x8000U)
  47975. #define I2S_RFR_RCP_SHIFT (15U)
  47976. /*! RCP - Receive Channel Pointer
  47977. * 0b0..No effect.
  47978. * 0b1..FIFO combine is enabled for FIFO reads and this FIFO will be read on the next FIFO read.
  47979. */
  47980. #define I2S_RFR_RCP(x) (((uint32_t)(((uint32_t)(x)) << I2S_RFR_RCP_SHIFT)) & I2S_RFR_RCP_MASK)
  47981. #define I2S_RFR_WFP_MASK (0x3F0000U)
  47982. #define I2S_RFR_WFP_SHIFT (16U)
  47983. /*! WFP - Write FIFO Pointer
  47984. */
  47985. #define I2S_RFR_WFP(x) (((uint32_t)(((uint32_t)(x)) << I2S_RFR_WFP_SHIFT)) & I2S_RFR_WFP_MASK)
  47986. /*! @} */
  47987. /* The count of I2S_RFR */
  47988. #define I2S_RFR_COUNT (4U)
  47989. /*! @name RMR - Receive Mask */
  47990. /*! @{ */
  47991. #define I2S_RMR_RWM_MASK (0xFFFFFFFFU)
  47992. #define I2S_RMR_RWM_SHIFT (0U)
  47993. /*! RWM - Receive Word Mask
  47994. * 0b00000000000000000000000000000000..Word N is enabled.
  47995. * 0b00000000000000000000000000000001..Word N is masked.
  47996. */
  47997. #define I2S_RMR_RWM(x) (((uint32_t)(((uint32_t)(x)) << I2S_RMR_RWM_SHIFT)) & I2S_RMR_RWM_MASK)
  47998. /*! @} */
  47999. /*!
  48000. * @}
  48001. */ /* end of group I2S_Register_Masks */
  48002. /* I2S - Peripheral instance base addresses */
  48003. /** Peripheral SAI1 base address */
  48004. #define SAI1_BASE (0x40404000u)
  48005. /** Peripheral SAI1 base pointer */
  48006. #define SAI1 ((I2S_Type *)SAI1_BASE)
  48007. /** Peripheral SAI2 base address */
  48008. #define SAI2_BASE (0x40408000u)
  48009. /** Peripheral SAI2 base pointer */
  48010. #define SAI2 ((I2S_Type *)SAI2_BASE)
  48011. /** Peripheral SAI3 base address */
  48012. #define SAI3_BASE (0x4040C000u)
  48013. /** Peripheral SAI3 base pointer */
  48014. #define SAI3 ((I2S_Type *)SAI3_BASE)
  48015. /** Peripheral SAI4 base address */
  48016. #define SAI4_BASE (0x40C40000u)
  48017. /** Peripheral SAI4 base pointer */
  48018. #define SAI4 ((I2S_Type *)SAI4_BASE)
  48019. /** Array initializer of I2S peripheral base addresses */
  48020. #define I2S_BASE_ADDRS { 0u, SAI1_BASE, SAI2_BASE, SAI3_BASE, SAI4_BASE }
  48021. /** Array initializer of I2S peripheral base pointers */
  48022. #define I2S_BASE_PTRS { (I2S_Type *)0u, SAI1, SAI2, SAI3, SAI4 }
  48023. /** Interrupt vectors for the I2S peripheral type */
  48024. #define I2S_RX_IRQS { NotAvail_IRQn, SAI1_IRQn, SAI2_IRQn, SAI3_RX_IRQn, SAI4_RX_IRQn }
  48025. #define I2S_TX_IRQS { NotAvail_IRQn, SAI1_IRQn, SAI2_IRQn, SAI3_TX_IRQn, SAI4_TX_IRQn }
  48026. /*!
  48027. * @}
  48028. */ /* end of group I2S_Peripheral_Access_Layer */
  48029. /* ----------------------------------------------------------------------------
  48030. -- IEE Peripheral Access Layer
  48031. ---------------------------------------------------------------------------- */
  48032. /*!
  48033. * @addtogroup IEE_Peripheral_Access_Layer IEE Peripheral Access Layer
  48034. * @{
  48035. */
  48036. /** IEE - Register Layout Typedef */
  48037. typedef struct {
  48038. __IO uint32_t GCFG; /**< IEE Global Configuration, offset: 0x0 */
  48039. __I uint32_t STA; /**< IEE Status, offset: 0x4 */
  48040. __IO uint32_t TSTMD; /**< IEE Test Mode Register, offset: 0x8 */
  48041. __O uint32_t DPAMS; /**< AES Mask Generation Seed, offset: 0xC */
  48042. uint8_t RESERVED_0[16];
  48043. __IO uint32_t PC_S_LT; /**< Performance Counter, AES Slave Latency Threshold Value, offset: 0x20 */
  48044. __IO uint32_t PC_M_LT; /**< Performance Counter, AES Master Latency Threshold, offset: 0x24 */
  48045. uint8_t RESERVED_1[24];
  48046. __IO uint32_t PC_BLK_ENC; /**< Performance Counter, Number of AES Block Encryptions, offset: 0x40 */
  48047. __IO uint32_t PC_BLK_DEC; /**< Performance Counter, Number of AES Block Decryptions, offset: 0x44 */
  48048. uint8_t RESERVED_2[8];
  48049. __IO uint32_t PC_SR_TRANS; /**< Performance Counter, Number of AXI Slave Read Transactions, offset: 0x50 */
  48050. __IO uint32_t PC_SW_TRANS; /**< Performance Counter, Number of AXI Slave Write Transactions, offset: 0x54 */
  48051. __IO uint32_t PC_MR_TRANS; /**< Performance Counter, Number of AXI Master Read Transactions, offset: 0x58 */
  48052. __IO uint32_t PC_MW_TRANS; /**< Performance Counter, Number of AXI Master Write Transactions, offset: 0x5C */
  48053. uint8_t RESERVED_3[4];
  48054. __IO uint32_t PC_M_MBR; /**< Performance Counter, Number of AXI Master Merge Buffer Read Transactions, offset: 0x64 */
  48055. uint8_t RESERVED_4[8];
  48056. __IO uint32_t PC_SR_TBC_U; /**< Performance Counter, Upper Slave Read Transactions Byte Count, offset: 0x70 */
  48057. __IO uint32_t PC_SR_TBC_L; /**< Performance Counter, Lower Slave Read Transactions Byte Count, offset: 0x74 */
  48058. __IO uint32_t PC_SW_TBC_U; /**< Performance Counter, Upper Slave Write Transactions Byte Count, offset: 0x78 */
  48059. __IO uint32_t PC_SW_TBC_L; /**< Performance Counter, Lower Slave Write Transactions Byte Count, offset: 0x7C */
  48060. __IO uint32_t PC_MR_TBC_U; /**< Performance Counter, Upper Master Read Transactions Byte Count, offset: 0x80 */
  48061. __IO uint32_t PC_MR_TBC_L; /**< Performance Counter, Lower Master Read Transactions Byte Count, offset: 0x84 */
  48062. __IO uint32_t PC_MW_TBC_U; /**< Performance Counter, Upper Master Write Transactions Byte Count, offset: 0x88 */
  48063. __IO uint32_t PC_MW_TBC_L; /**< Performance Counter, Lower Master Write Transactions Byte Count, offset: 0x8C */
  48064. __IO uint32_t PC_SR_TLGTT; /**< Performance Counter, Number of AXI Slave Read Transactions with Latency Greater than the Threshold, offset: 0x90 */
  48065. __IO uint32_t PC_SW_TLGTT; /**< Performance Counter, Number of AXI Slave Write Transactions with Latency Greater than the Threshold, offset: 0x94 */
  48066. __IO uint32_t PC_MR_TLGTT; /**< Performance Counter, Number of AXI Master Read Transactions with Latency Greater than the Threshold, offset: 0x98 */
  48067. __IO uint32_t PC_MW_TLGTT; /**< Performance Counter, Number of AXI Master Write Transactions with Latency Greater than the Threshold, offset: 0x9C */
  48068. __IO uint32_t PC_SR_TLAT_U; /**< Performance Counter, Upper Slave Read Latency Count, offset: 0xA0 */
  48069. __IO uint32_t PC_SR_TLAT_L; /**< Performance Counter, Lower Slave Read Latency Count, offset: 0xA4 */
  48070. __IO uint32_t PC_SW_TLAT_U; /**< Performance Counter, Upper Slave Write Latency Count, offset: 0xA8 */
  48071. __IO uint32_t PC_SW_TLAT_L; /**< Performance Counter, Lower Slave Write Latency Count, offset: 0xAC */
  48072. __IO uint32_t PC_MR_TLAT_U; /**< Performance Counter, Upper Master Read Latency Count, offset: 0xB0 */
  48073. __IO uint32_t PC_MR_TLAT_L; /**< Performance Counter, Lower Master Read Latency Count, offset: 0xB4 */
  48074. __IO uint32_t PC_MW_TLAT_U; /**< Performance Counter, Upper Master Write Latency Count, offset: 0xB8 */
  48075. __IO uint32_t PC_MW_TLAT_L; /**< Performance Counter, Lower Master Write Latency Count, offset: 0xBC */
  48076. __IO uint32_t PC_SR_TNRT_U; /**< Performance Counter, Upper Slave Read Total Non-Responding Time, offset: 0xC0 */
  48077. __IO uint32_t PC_SR_TNRT_L; /**< Performance Counter, Lower Slave Read Total Non-Responding Time, offset: 0xC4 */
  48078. __IO uint32_t PC_SW_TNRT_U; /**< Performance Counter, Upper Slave Write Total Non-Responding Time, offset: 0xC8 */
  48079. __IO uint32_t PC_SW_TNRT_L; /**< Performance Counter, Lower Slave Write Total Non-Responding Time, offset: 0xCC */
  48080. uint8_t RESERVED_5[32];
  48081. __I uint32_t VIDR1; /**< IEE Version ID Register 1, offset: 0xF0 */
  48082. uint8_t RESERVED_6[4];
  48083. __I uint32_t AESVID; /**< IEE AES Version ID Register, offset: 0xF8 */
  48084. uint8_t RESERVED_7[4];
  48085. struct { /* offset: 0x100, array step: 0x100 */
  48086. __IO uint32_t REGATTR; /**< IEE Region 0 Attribute Register...IEE Region 7 Attribute Register., array offset: 0x100, array step: 0x100 */
  48087. uint8_t RESERVED_0[4];
  48088. __IO uint32_t REGPO; /**< IEE Region 0 Page Offset Register..IEE Region 7 Page Offset Register, array offset: 0x108, array step: 0x100 */
  48089. uint8_t RESERVED_1[52];
  48090. __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 */
  48091. uint8_t RESERVED_2[32];
  48092. __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 */
  48093. uint8_t RESERVED_3[96];
  48094. } REGX[8];
  48095. uint8_t RESERVED_8[1536];
  48096. __IO uint32_t AES_TST_DB[32]; /**< IEE AES Test Mode Data Buffer, array offset: 0xF00, array step: 0x4 */
  48097. } IEE_Type;
  48098. /* ----------------------------------------------------------------------------
  48099. -- IEE Register Masks
  48100. ---------------------------------------------------------------------------- */
  48101. /*!
  48102. * @addtogroup IEE_Register_Masks IEE Register Masks
  48103. * @{
  48104. */
  48105. /*! @name GCFG - IEE Global Configuration */
  48106. /*! @{ */
  48107. #define IEE_GCFG_RL0_MASK (0x1U)
  48108. #define IEE_GCFG_RL0_SHIFT (0U)
  48109. /*! RL0
  48110. * 0b0..Unlocked.
  48111. * 0b1..Key, Offset and Attribute registers are locked.
  48112. */
  48113. #define IEE_GCFG_RL0(x) (((uint32_t)(((uint32_t)(x)) << IEE_GCFG_RL0_SHIFT)) & IEE_GCFG_RL0_MASK)
  48114. #define IEE_GCFG_RL1_MASK (0x2U)
  48115. #define IEE_GCFG_RL1_SHIFT (1U)
  48116. /*! RL1
  48117. * 0b0..Unlocked.
  48118. * 0b1..Key, Offset and Attribute registers are locked.
  48119. */
  48120. #define IEE_GCFG_RL1(x) (((uint32_t)(((uint32_t)(x)) << IEE_GCFG_RL1_SHIFT)) & IEE_GCFG_RL1_MASK)
  48121. #define IEE_GCFG_RL2_MASK (0x4U)
  48122. #define IEE_GCFG_RL2_SHIFT (2U)
  48123. /*! RL2
  48124. * 0b0..Unlocked.
  48125. * 0b1..Key, Offset and Attribute registers are locked.
  48126. */
  48127. #define IEE_GCFG_RL2(x) (((uint32_t)(((uint32_t)(x)) << IEE_GCFG_RL2_SHIFT)) & IEE_GCFG_RL2_MASK)
  48128. #define IEE_GCFG_RL3_MASK (0x8U)
  48129. #define IEE_GCFG_RL3_SHIFT (3U)
  48130. /*! RL3
  48131. * 0b0..Unlocked.
  48132. * 0b1..Key, Offset and Attribute registers are locked.
  48133. */
  48134. #define IEE_GCFG_RL3(x) (((uint32_t)(((uint32_t)(x)) << IEE_GCFG_RL3_SHIFT)) & IEE_GCFG_RL3_MASK)
  48135. #define IEE_GCFG_RL4_MASK (0x10U)
  48136. #define IEE_GCFG_RL4_SHIFT (4U)
  48137. /*! RL4
  48138. * 0b0..Unlocked.
  48139. * 0b1..Key, Offset and Attribute registers are locked.
  48140. */
  48141. #define IEE_GCFG_RL4(x) (((uint32_t)(((uint32_t)(x)) << IEE_GCFG_RL4_SHIFT)) & IEE_GCFG_RL4_MASK)
  48142. #define IEE_GCFG_RL5_MASK (0x20U)
  48143. #define IEE_GCFG_RL5_SHIFT (5U)
  48144. /*! RL5
  48145. * 0b0..Unlocked.
  48146. * 0b1..Key, Offset and Attribute registers are locked.
  48147. */
  48148. #define IEE_GCFG_RL5(x) (((uint32_t)(((uint32_t)(x)) << IEE_GCFG_RL5_SHIFT)) & IEE_GCFG_RL5_MASK)
  48149. #define IEE_GCFG_RL6_MASK (0x40U)
  48150. #define IEE_GCFG_RL6_SHIFT (6U)
  48151. /*! RL6
  48152. * 0b0..Unlocked.
  48153. * 0b1..Key, Offset and Attribute registers are locked.
  48154. */
  48155. #define IEE_GCFG_RL6(x) (((uint32_t)(((uint32_t)(x)) << IEE_GCFG_RL6_SHIFT)) & IEE_GCFG_RL6_MASK)
  48156. #define IEE_GCFG_RL7_MASK (0x80U)
  48157. #define IEE_GCFG_RL7_SHIFT (7U)
  48158. /*! RL7
  48159. * 0b0..Unlocked.
  48160. * 0b1..Key, Offset and Attribute registers are locked.
  48161. */
  48162. #define IEE_GCFG_RL7(x) (((uint32_t)(((uint32_t)(x)) << IEE_GCFG_RL7_SHIFT)) & IEE_GCFG_RL7_MASK)
  48163. #define IEE_GCFG_TME_MASK (0x10000U)
  48164. #define IEE_GCFG_TME_SHIFT (16U)
  48165. /*! TME
  48166. * 0b0..Disabled.
  48167. * 0b1..Enabled.
  48168. */
  48169. #define IEE_GCFG_TME(x) (((uint32_t)(((uint32_t)(x)) << IEE_GCFG_TME_SHIFT)) & IEE_GCFG_TME_MASK)
  48170. #define IEE_GCFG_TMD_MASK (0x20000U)
  48171. #define IEE_GCFG_TMD_SHIFT (17U)
  48172. /*! TMD
  48173. * 0b0..Test mode is usable.
  48174. * 0b1..Test mode is disabled.
  48175. */
  48176. #define IEE_GCFG_TMD(x) (((uint32_t)(((uint32_t)(x)) << IEE_GCFG_TMD_SHIFT)) & IEE_GCFG_TMD_MASK)
  48177. #define IEE_GCFG_KEY_RD_DIS_MASK (0x2000000U)
  48178. #define IEE_GCFG_KEY_RD_DIS_SHIFT (25U)
  48179. /*! KEY_RD_DIS
  48180. * 0b0..Key read enabled. Reading the key registers is allowed.
  48181. * 0b1..Key read disabled. Reading the key registers is disabled.
  48182. */
  48183. #define IEE_GCFG_KEY_RD_DIS(x) (((uint32_t)(((uint32_t)(x)) << IEE_GCFG_KEY_RD_DIS_SHIFT)) & IEE_GCFG_KEY_RD_DIS_MASK)
  48184. #define IEE_GCFG_MON_EN_MASK (0x10000000U)
  48185. #define IEE_GCFG_MON_EN_SHIFT (28U)
  48186. /*! MON_EN
  48187. * 0b0..Performance monitoring disabled. Writing of the performance counter registers is enabled.
  48188. * 0b1..Performance monitoring enabled. Writing of the performance counter registers is disabled.
  48189. */
  48190. #define IEE_GCFG_MON_EN(x) (((uint32_t)(((uint32_t)(x)) << IEE_GCFG_MON_EN_SHIFT)) & IEE_GCFG_MON_EN_MASK)
  48191. #define IEE_GCFG_CLR_MON_MASK (0x20000000U)
  48192. #define IEE_GCFG_CLR_MON_SHIFT (29U)
  48193. /*! CLR_MON
  48194. * 0b0..Do not reset.
  48195. * 0b1..Reset performance counters.
  48196. */
  48197. #define IEE_GCFG_CLR_MON(x) (((uint32_t)(((uint32_t)(x)) << IEE_GCFG_CLR_MON_SHIFT)) & IEE_GCFG_CLR_MON_MASK)
  48198. #define IEE_GCFG_RST_MASK (0x80000000U)
  48199. #define IEE_GCFG_RST_SHIFT (31U)
  48200. /*! RST
  48201. * 0b0..Do Not Reset.
  48202. * 0b1..Reset IEE.
  48203. */
  48204. #define IEE_GCFG_RST(x) (((uint32_t)(((uint32_t)(x)) << IEE_GCFG_RST_SHIFT)) & IEE_GCFG_RST_MASK)
  48205. /*! @} */
  48206. /*! @name STA - IEE Status */
  48207. /*! @{ */
  48208. #define IEE_STA_DSR_MASK (0x1U)
  48209. #define IEE_STA_DSR_SHIFT (0U)
  48210. /*! DSR
  48211. * 0b0..No seed request present
  48212. * 0b1..Seed request present
  48213. */
  48214. #define IEE_STA_DSR(x) (((uint32_t)(((uint32_t)(x)) << IEE_STA_DSR_SHIFT)) & IEE_STA_DSR_MASK)
  48215. #define IEE_STA_AFD_MASK (0x10U)
  48216. #define IEE_STA_AFD_SHIFT (4U)
  48217. /*! AFD
  48218. * 0b0..No fault detected
  48219. * 0b1..Fault detected
  48220. */
  48221. #define IEE_STA_AFD(x) (((uint32_t)(((uint32_t)(x)) << IEE_STA_AFD_SHIFT)) & IEE_STA_AFD_MASK)
  48222. /*! @} */
  48223. /*! @name TSTMD - IEE Test Mode Register */
  48224. /*! @{ */
  48225. #define IEE_TSTMD_TMRDY_MASK (0x1U)
  48226. #define IEE_TSTMD_TMRDY_SHIFT (0U)
  48227. /*! TMRDY
  48228. * 0b0..Not Ready.
  48229. * 0b1..Ready.
  48230. */
  48231. #define IEE_TSTMD_TMRDY(x) (((uint32_t)(((uint32_t)(x)) << IEE_TSTMD_TMRDY_SHIFT)) & IEE_TSTMD_TMRDY_MASK)
  48232. #define IEE_TSTMD_TMR_MASK (0x2U)
  48233. #define IEE_TSTMD_TMR_SHIFT (1U)
  48234. /*! TMR
  48235. * 0b0..Not running. May be written if IEE_GCFG[TME] = 1
  48236. * 0b1..Run AES Test until TMDONE is indicated.
  48237. */
  48238. #define IEE_TSTMD_TMR(x) (((uint32_t)(((uint32_t)(x)) << IEE_TSTMD_TMR_SHIFT)) & IEE_TSTMD_TMR_MASK)
  48239. #define IEE_TSTMD_TMENCR_MASK (0x4U)
  48240. #define IEE_TSTMD_TMENCR_SHIFT (2U)
  48241. /*! TMENCR
  48242. * 0b0..AES Test mode will do decryption.
  48243. * 0b1..AES Test mode will do encryption.
  48244. */
  48245. #define IEE_TSTMD_TMENCR(x) (((uint32_t)(((uint32_t)(x)) << IEE_TSTMD_TMENCR_SHIFT)) & IEE_TSTMD_TMENCR_MASK)
  48246. #define IEE_TSTMD_TMCONT_MASK (0x8U)
  48247. #define IEE_TSTMD_TMCONT_SHIFT (3U)
  48248. /*! TMCONT
  48249. * 0b0..Do not continue. This is the last block of data for AES.
  48250. * 0b1..Continue. Do not initialize AES after this block.
  48251. */
  48252. #define IEE_TSTMD_TMCONT(x) (((uint32_t)(((uint32_t)(x)) << IEE_TSTMD_TMCONT_SHIFT)) & IEE_TSTMD_TMCONT_MASK)
  48253. #define IEE_TSTMD_TMDONE_MASK (0x10U)
  48254. #define IEE_TSTMD_TMDONE_SHIFT (4U)
  48255. /*! TMDONE
  48256. * 0b0..Not Done.
  48257. * 0b1..Test Done.
  48258. */
  48259. #define IEE_TSTMD_TMDONE(x) (((uint32_t)(((uint32_t)(x)) << IEE_TSTMD_TMDONE_SHIFT)) & IEE_TSTMD_TMDONE_MASK)
  48260. #define IEE_TSTMD_TMLEN_MASK (0xF00U)
  48261. #define IEE_TSTMD_TMLEN_SHIFT (8U)
  48262. #define IEE_TSTMD_TMLEN(x) (((uint32_t)(((uint32_t)(x)) << IEE_TSTMD_TMLEN_SHIFT)) & IEE_TSTMD_TMLEN_MASK)
  48263. /*! @} */
  48264. /*! @name DPAMS - AES Mask Generation Seed */
  48265. /*! @{ */
  48266. #define IEE_DPAMS_DPAMS_MASK (0xFFFFFFFFU)
  48267. #define IEE_DPAMS_DPAMS_SHIFT (0U)
  48268. #define IEE_DPAMS_DPAMS(x) (((uint32_t)(((uint32_t)(x)) << IEE_DPAMS_DPAMS_SHIFT)) & IEE_DPAMS_DPAMS_MASK)
  48269. /*! @} */
  48270. /*! @name PC_S_LT - Performance Counter, AES Slave Latency Threshold Value */
  48271. /*! @{ */
  48272. #define IEE_PC_S_LT_SW_LT_MASK (0xFFFFU)
  48273. #define IEE_PC_S_LT_SW_LT_SHIFT (0U)
  48274. #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)
  48275. #define IEE_PC_S_LT_SR_LT_MASK (0xFFFF0000U)
  48276. #define IEE_PC_S_LT_SR_LT_SHIFT (16U)
  48277. #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)
  48278. /*! @} */
  48279. /*! @name PC_M_LT - Performance Counter, AES Master Latency Threshold */
  48280. /*! @{ */
  48281. #define IEE_PC_M_LT_MW_LT_MASK (0xFFFU)
  48282. #define IEE_PC_M_LT_MW_LT_SHIFT (0U)
  48283. #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)
  48284. #define IEE_PC_M_LT_MR_LT_MASK (0xFFF0000U)
  48285. #define IEE_PC_M_LT_MR_LT_SHIFT (16U)
  48286. #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)
  48287. /*! @} */
  48288. /*! @name PC_BLK_ENC - Performance Counter, Number of AES Block Encryptions */
  48289. /*! @{ */
  48290. #define IEE_PC_BLK_ENC_BLK_ENC_MASK (0xFFFFFFFFU)
  48291. #define IEE_PC_BLK_ENC_BLK_ENC_SHIFT (0U)
  48292. #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)
  48293. /*! @} */
  48294. /*! @name PC_BLK_DEC - Performance Counter, Number of AES Block Decryptions */
  48295. /*! @{ */
  48296. #define IEE_PC_BLK_DEC_BLK_DEC_MASK (0xFFFFFFFFU)
  48297. #define IEE_PC_BLK_DEC_BLK_DEC_SHIFT (0U)
  48298. #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)
  48299. /*! @} */
  48300. /*! @name PC_SR_TRANS - Performance Counter, Number of AXI Slave Read Transactions */
  48301. /*! @{ */
  48302. #define IEE_PC_SR_TRANS_SR_TRANS_MASK (0xFFFFFFFFU)
  48303. #define IEE_PC_SR_TRANS_SR_TRANS_SHIFT (0U)
  48304. #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)
  48305. /*! @} */
  48306. /*! @name PC_SW_TRANS - Performance Counter, Number of AXI Slave Write Transactions */
  48307. /*! @{ */
  48308. #define IEE_PC_SW_TRANS_SW_TRANS_MASK (0xFFFFFFFFU)
  48309. #define IEE_PC_SW_TRANS_SW_TRANS_SHIFT (0U)
  48310. #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)
  48311. /*! @} */
  48312. /*! @name PC_MR_TRANS - Performance Counter, Number of AXI Master Read Transactions */
  48313. /*! @{ */
  48314. #define IEE_PC_MR_TRANS_MR_TRANS_MASK (0xFFFFFFFFU)
  48315. #define IEE_PC_MR_TRANS_MR_TRANS_SHIFT (0U)
  48316. #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)
  48317. /*! @} */
  48318. /*! @name PC_MW_TRANS - Performance Counter, Number of AXI Master Write Transactions */
  48319. /*! @{ */
  48320. #define IEE_PC_MW_TRANS_MW_TRANS_MASK (0xFFFFFFFFU)
  48321. #define IEE_PC_MW_TRANS_MW_TRANS_SHIFT (0U)
  48322. #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)
  48323. /*! @} */
  48324. /*! @name PC_M_MBR - Performance Counter, Number of AXI Master Merge Buffer Read Transactions */
  48325. /*! @{ */
  48326. #define IEE_PC_M_MBR_M_MBR_MASK (0xFFFFFFFFU)
  48327. #define IEE_PC_M_MBR_M_MBR_SHIFT (0U)
  48328. #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)
  48329. /*! @} */
  48330. /*! @name PC_SR_TBC_U - Performance Counter, Upper Slave Read Transactions Byte Count */
  48331. /*! @{ */
  48332. #define IEE_PC_SR_TBC_U_SR_TBC_MASK (0xFFFFU)
  48333. #define IEE_PC_SR_TBC_U_SR_TBC_SHIFT (0U)
  48334. #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)
  48335. /*! @} */
  48336. /*! @name PC_SR_TBC_L - Performance Counter, Lower Slave Read Transactions Byte Count */
  48337. /*! @{ */
  48338. #define IEE_PC_SR_TBC_L_SR_TBC_MASK (0xFFFFFFFFU)
  48339. #define IEE_PC_SR_TBC_L_SR_TBC_SHIFT (0U)
  48340. #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)
  48341. /*! @} */
  48342. /*! @name PC_SW_TBC_U - Performance Counter, Upper Slave Write Transactions Byte Count */
  48343. /*! @{ */
  48344. #define IEE_PC_SW_TBC_U_SW_TBC_MASK (0xFFFFU)
  48345. #define IEE_PC_SW_TBC_U_SW_TBC_SHIFT (0U)
  48346. #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)
  48347. /*! @} */
  48348. /*! @name PC_SW_TBC_L - Performance Counter, Lower Slave Write Transactions Byte Count */
  48349. /*! @{ */
  48350. #define IEE_PC_SW_TBC_L_SW_TBC_MASK (0xFFFFFFFFU)
  48351. #define IEE_PC_SW_TBC_L_SW_TBC_SHIFT (0U)
  48352. #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)
  48353. /*! @} */
  48354. /*! @name PC_MR_TBC_U - Performance Counter, Upper Master Read Transactions Byte Count */
  48355. /*! @{ */
  48356. #define IEE_PC_MR_TBC_U_MR_TBC_MASK (0xFFFFU)
  48357. #define IEE_PC_MR_TBC_U_MR_TBC_SHIFT (0U)
  48358. #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)
  48359. /*! @} */
  48360. /*! @name PC_MR_TBC_L - Performance Counter, Lower Master Read Transactions Byte Count */
  48361. /*! @{ */
  48362. #define IEE_PC_MR_TBC_L_MR_TBC_LSB_MASK (0xFU)
  48363. #define IEE_PC_MR_TBC_L_MR_TBC_LSB_SHIFT (0U)
  48364. #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)
  48365. #define IEE_PC_MR_TBC_L_MR_TBC_MASK (0xFFFFFFF0U)
  48366. #define IEE_PC_MR_TBC_L_MR_TBC_SHIFT (4U)
  48367. #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)
  48368. /*! @} */
  48369. /*! @name PC_MW_TBC_U - Performance Counter, Upper Master Write Transactions Byte Count */
  48370. /*! @{ */
  48371. #define IEE_PC_MW_TBC_U_MW_TBC_MASK (0xFFFFU)
  48372. #define IEE_PC_MW_TBC_U_MW_TBC_SHIFT (0U)
  48373. #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)
  48374. /*! @} */
  48375. /*! @name PC_MW_TBC_L - Performance Counter, Lower Master Write Transactions Byte Count */
  48376. /*! @{ */
  48377. #define IEE_PC_MW_TBC_L_MW_TBC_LSB_MASK (0xFU)
  48378. #define IEE_PC_MW_TBC_L_MW_TBC_LSB_SHIFT (0U)
  48379. #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)
  48380. #define IEE_PC_MW_TBC_L_MW_TBC_MASK (0xFFFFFFF0U)
  48381. #define IEE_PC_MW_TBC_L_MW_TBC_SHIFT (4U)
  48382. #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)
  48383. /*! @} */
  48384. /*! @name PC_SR_TLGTT - Performance Counter, Number of AXI Slave Read Transactions with Latency Greater than the Threshold */
  48385. /*! @{ */
  48386. #define IEE_PC_SR_TLGTT_SR_TLGTT_MASK (0xFFFFFFFFU)
  48387. #define IEE_PC_SR_TLGTT_SR_TLGTT_SHIFT (0U)
  48388. #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)
  48389. /*! @} */
  48390. /*! @name PC_SW_TLGTT - Performance Counter, Number of AXI Slave Write Transactions with Latency Greater than the Threshold */
  48391. /*! @{ */
  48392. #define IEE_PC_SW_TLGTT_SW_TLGTT_MASK (0xFFFFFFFFU)
  48393. #define IEE_PC_SW_TLGTT_SW_TLGTT_SHIFT (0U)
  48394. #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)
  48395. /*! @} */
  48396. /*! @name PC_MR_TLGTT - Performance Counter, Number of AXI Master Read Transactions with Latency Greater than the Threshold */
  48397. /*! @{ */
  48398. #define IEE_PC_MR_TLGTT_MR_TLGTT_MASK (0xFFFFFFFFU)
  48399. #define IEE_PC_MR_TLGTT_MR_TLGTT_SHIFT (0U)
  48400. #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)
  48401. /*! @} */
  48402. /*! @name PC_MW_TLGTT - Performance Counter, Number of AXI Master Write Transactions with Latency Greater than the Threshold */
  48403. /*! @{ */
  48404. #define IEE_PC_MW_TLGTT_MW_TGTT_MASK (0xFFFFFFFFU)
  48405. #define IEE_PC_MW_TLGTT_MW_TGTT_SHIFT (0U)
  48406. #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)
  48407. /*! @} */
  48408. /*! @name PC_SR_TLAT_U - Performance Counter, Upper Slave Read Latency Count */
  48409. /*! @{ */
  48410. #define IEE_PC_SR_TLAT_U_SR_TLAT_MASK (0xFFFFU)
  48411. #define IEE_PC_SR_TLAT_U_SR_TLAT_SHIFT (0U)
  48412. #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)
  48413. /*! @} */
  48414. /*! @name PC_SR_TLAT_L - Performance Counter, Lower Slave Read Latency Count */
  48415. /*! @{ */
  48416. #define IEE_PC_SR_TLAT_L_SR_TLAT_MASK (0xFFFFFFFFU)
  48417. #define IEE_PC_SR_TLAT_L_SR_TLAT_SHIFT (0U)
  48418. #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)
  48419. /*! @} */
  48420. /*! @name PC_SW_TLAT_U - Performance Counter, Upper Slave Write Latency Count */
  48421. /*! @{ */
  48422. #define IEE_PC_SW_TLAT_U_SW_TLAT_MASK (0xFFFFU)
  48423. #define IEE_PC_SW_TLAT_U_SW_TLAT_SHIFT (0U)
  48424. #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)
  48425. /*! @} */
  48426. /*! @name PC_SW_TLAT_L - Performance Counter, Lower Slave Write Latency Count */
  48427. /*! @{ */
  48428. #define IEE_PC_SW_TLAT_L_SW_TLAT_MASK (0xFFFFFFFFU)
  48429. #define IEE_PC_SW_TLAT_L_SW_TLAT_SHIFT (0U)
  48430. #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)
  48431. /*! @} */
  48432. /*! @name PC_MR_TLAT_U - Performance Counter, Upper Master Read Latency Count */
  48433. /*! @{ */
  48434. #define IEE_PC_MR_TLAT_U_MR_TLAT_MASK (0xFFFFU)
  48435. #define IEE_PC_MR_TLAT_U_MR_TLAT_SHIFT (0U)
  48436. #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)
  48437. /*! @} */
  48438. /*! @name PC_MR_TLAT_L - Performance Counter, Lower Master Read Latency Count */
  48439. /*! @{ */
  48440. #define IEE_PC_MR_TLAT_L_MR_TLAT_MASK (0xFFFFFFFFU)
  48441. #define IEE_PC_MR_TLAT_L_MR_TLAT_SHIFT (0U)
  48442. #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)
  48443. /*! @} */
  48444. /*! @name PC_MW_TLAT_U - Performance Counter, Upper Master Write Latency Count */
  48445. /*! @{ */
  48446. #define IEE_PC_MW_TLAT_U_MW_TLAT_MASK (0xFFFFU)
  48447. #define IEE_PC_MW_TLAT_U_MW_TLAT_SHIFT (0U)
  48448. #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)
  48449. /*! @} */
  48450. /*! @name PC_MW_TLAT_L - Performance Counter, Lower Master Write Latency Count */
  48451. /*! @{ */
  48452. #define IEE_PC_MW_TLAT_L_MW_TLAT_MASK (0xFFFFFFFFU)
  48453. #define IEE_PC_MW_TLAT_L_MW_TLAT_SHIFT (0U)
  48454. #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)
  48455. /*! @} */
  48456. /*! @name PC_SR_TNRT_U - Performance Counter, Upper Slave Read Total Non-Responding Time */
  48457. /*! @{ */
  48458. #define IEE_PC_SR_TNRT_U_SR_TNRT_MASK (0xFFFFU)
  48459. #define IEE_PC_SR_TNRT_U_SR_TNRT_SHIFT (0U)
  48460. #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)
  48461. /*! @} */
  48462. /*! @name PC_SR_TNRT_L - Performance Counter, Lower Slave Read Total Non-Responding Time */
  48463. /*! @{ */
  48464. #define IEE_PC_SR_TNRT_L_SR_TNRT_MASK (0xFFFFFFFFU)
  48465. #define IEE_PC_SR_TNRT_L_SR_TNRT_SHIFT (0U)
  48466. #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)
  48467. /*! @} */
  48468. /*! @name PC_SW_TNRT_U - Performance Counter, Upper Slave Write Total Non-Responding Time */
  48469. /*! @{ */
  48470. #define IEE_PC_SW_TNRT_U_SW_TNRT_MASK (0xFFFFU)
  48471. #define IEE_PC_SW_TNRT_U_SW_TNRT_SHIFT (0U)
  48472. #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)
  48473. /*! @} */
  48474. /*! @name PC_SW_TNRT_L - Performance Counter, Lower Slave Write Total Non-Responding Time */
  48475. /*! @{ */
  48476. #define IEE_PC_SW_TNRT_L_SW_TNRT_MASK (0xFFFFFFFFU)
  48477. #define IEE_PC_SW_TNRT_L_SW_TNRT_SHIFT (0U)
  48478. #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)
  48479. /*! @} */
  48480. /*! @name VIDR1 - IEE Version ID Register 1 */
  48481. /*! @{ */
  48482. #define IEE_VIDR1_MIN_REV_MASK (0xFFU)
  48483. #define IEE_VIDR1_MIN_REV_SHIFT (0U)
  48484. #define IEE_VIDR1_MIN_REV(x) (((uint32_t)(((uint32_t)(x)) << IEE_VIDR1_MIN_REV_SHIFT)) & IEE_VIDR1_MIN_REV_MASK)
  48485. #define IEE_VIDR1_MAJ_REV_MASK (0xFF00U)
  48486. #define IEE_VIDR1_MAJ_REV_SHIFT (8U)
  48487. #define IEE_VIDR1_MAJ_REV(x) (((uint32_t)(((uint32_t)(x)) << IEE_VIDR1_MAJ_REV_SHIFT)) & IEE_VIDR1_MAJ_REV_MASK)
  48488. #define IEE_VIDR1_IP_ID_MASK (0xFFFF0000U)
  48489. #define IEE_VIDR1_IP_ID_SHIFT (16U)
  48490. #define IEE_VIDR1_IP_ID(x) (((uint32_t)(((uint32_t)(x)) << IEE_VIDR1_IP_ID_SHIFT)) & IEE_VIDR1_IP_ID_MASK)
  48491. /*! @} */
  48492. /*! @name AESVID - IEE AES Version ID Register */
  48493. /*! @{ */
  48494. #define IEE_AESVID_AESRN_MASK (0xFU)
  48495. #define IEE_AESVID_AESRN_SHIFT (0U)
  48496. #define IEE_AESVID_AESRN(x) (((uint32_t)(((uint32_t)(x)) << IEE_AESVID_AESRN_SHIFT)) & IEE_AESVID_AESRN_MASK)
  48497. #define IEE_AESVID_AESVID_MASK (0xF0U)
  48498. #define IEE_AESVID_AESVID_SHIFT (4U)
  48499. #define IEE_AESVID_AESVID(x) (((uint32_t)(((uint32_t)(x)) << IEE_AESVID_AESVID_SHIFT)) & IEE_AESVID_AESVID_MASK)
  48500. /*! @} */
  48501. /*! @name REGATTR - IEE Region 0 Attribute Register...IEE Region 7 Attribute Register. */
  48502. /*! @{ */
  48503. #define IEE_REGATTR_KS_MASK (0x1U)
  48504. #define IEE_REGATTR_KS_SHIFT (0U)
  48505. /*! KS
  48506. * 0b0..128 bits (CTR), 256 bits (XTS).
  48507. * 0b1..256 bits (CTR), 512 bits (XTS).
  48508. */
  48509. #define IEE_REGATTR_KS(x) (((uint32_t)(((uint32_t)(x)) << IEE_REGATTR_KS_SHIFT)) & IEE_REGATTR_KS_MASK)
  48510. #define IEE_REGATTR_MD_MASK (0x70U)
  48511. #define IEE_REGATTR_MD_SHIFT (4U)
  48512. /*! MD
  48513. * 0b000..None (AXI error if accessed)
  48514. * 0b001..XTS
  48515. * 0b010..CTR w/ address binding
  48516. * 0b011..CTR w/o address binding
  48517. * 0b100..CTR keystream only
  48518. * 0b101..Undefined, AXI error if used
  48519. * 0b110..Undefined, AXI error if used
  48520. * 0b111..Undefined, AXI error if used
  48521. */
  48522. #define IEE_REGATTR_MD(x) (((uint32_t)(((uint32_t)(x)) << IEE_REGATTR_MD_SHIFT)) & IEE_REGATTR_MD_MASK)
  48523. #define IEE_REGATTR_BYP_MASK (0x80U)
  48524. #define IEE_REGATTR_BYP_SHIFT (7U)
  48525. /*! BYP
  48526. * 0b0..use MD field
  48527. * 0b1..Bypass AES, no encrypt/decrypt
  48528. */
  48529. #define IEE_REGATTR_BYP(x) (((uint32_t)(((uint32_t)(x)) << IEE_REGATTR_BYP_SHIFT)) & IEE_REGATTR_BYP_MASK)
  48530. /*! @} */
  48531. /* The count of IEE_REGATTR */
  48532. #define IEE_REGATTR_COUNT (8U)
  48533. /*! @name REGPO - IEE Region 0 Page Offset Register..IEE Region 7 Page Offset Register */
  48534. /*! @{ */
  48535. #define IEE_REGPO_PGOFF_MASK (0xFFFFFFU)
  48536. #define IEE_REGPO_PGOFF_SHIFT (0U)
  48537. #define IEE_REGPO_PGOFF(x) (((uint32_t)(((uint32_t)(x)) << IEE_REGPO_PGOFF_SHIFT)) & IEE_REGPO_PGOFF_MASK)
  48538. /*! @} */
  48539. /* The count of IEE_REGPO */
  48540. #define IEE_REGPO_COUNT (8U)
  48541. /*! @name REGKEY1 - IEE Region 0 Key 1 Register..IEE Region 7 Key 1 Register */
  48542. /*! @{ */
  48543. #define IEE_REGKEY1_KEY1_MASK (0xFFFFFFFFU)
  48544. #define IEE_REGKEY1_KEY1_SHIFT (0U)
  48545. #define IEE_REGKEY1_KEY1(x) (((uint32_t)(((uint32_t)(x)) << IEE_REGKEY1_KEY1_SHIFT)) & IEE_REGKEY1_KEY1_MASK)
  48546. /*! @} */
  48547. /* The count of IEE_REGKEY1 */
  48548. #define IEE_REGKEY1_COUNT (8U)
  48549. /* The count of IEE_REGKEY1 */
  48550. #define IEE_REGKEY1_COUNT2 (8U)
  48551. /*! @name REGKEY2 - IEE Region 0 Key 2 Register..IEE Region 7 Key 2 Register */
  48552. /*! @{ */
  48553. #define IEE_REGKEY2_KEY2_MASK (0xFFFFFFFFU)
  48554. #define IEE_REGKEY2_KEY2_SHIFT (0U)
  48555. #define IEE_REGKEY2_KEY2(x) (((uint32_t)(((uint32_t)(x)) << IEE_REGKEY2_KEY2_SHIFT)) & IEE_REGKEY2_KEY2_MASK)
  48556. /*! @} */
  48557. /* The count of IEE_REGKEY2 */
  48558. #define IEE_REGKEY2_COUNT (8U)
  48559. /* The count of IEE_REGKEY2 */
  48560. #define IEE_REGKEY2_COUNT2 (8U)
  48561. /*! @name AES_TST_DB - IEE AES Test Mode Data Buffer */
  48562. /*! @{ */
  48563. #define IEE_AES_TST_DB_AES_TST_DB0_MASK (0xFFFFFFFFU)
  48564. #define IEE_AES_TST_DB_AES_TST_DB0_SHIFT (0U)
  48565. #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)
  48566. #define IEE_AES_TST_DB_AES_TST_DB1_MASK (0xFFFFFFFFU)
  48567. #define IEE_AES_TST_DB_AES_TST_DB1_SHIFT (0U)
  48568. #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)
  48569. #define IEE_AES_TST_DB_AES_TST_DB2_MASK (0xFFFFFFFFU)
  48570. #define IEE_AES_TST_DB_AES_TST_DB2_SHIFT (0U)
  48571. #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)
  48572. #define IEE_AES_TST_DB_AES_TST_DB3_MASK (0xFFFFFFFFU)
  48573. #define IEE_AES_TST_DB_AES_TST_DB3_SHIFT (0U)
  48574. #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)
  48575. #define IEE_AES_TST_DB_AES_TST_DB4_MASK (0xFFFFFFFFU)
  48576. #define IEE_AES_TST_DB_AES_TST_DB4_SHIFT (0U)
  48577. #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)
  48578. #define IEE_AES_TST_DB_AES_TST_DB5_MASK (0xFFFFFFFFU)
  48579. #define IEE_AES_TST_DB_AES_TST_DB5_SHIFT (0U)
  48580. #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)
  48581. #define IEE_AES_TST_DB_AES_TST_DB6_MASK (0xFFFFFFFFU)
  48582. #define IEE_AES_TST_DB_AES_TST_DB6_SHIFT (0U)
  48583. #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)
  48584. #define IEE_AES_TST_DB_AES_TST_DB7_MASK (0xFFFFFFFFU)
  48585. #define IEE_AES_TST_DB_AES_TST_DB7_SHIFT (0U)
  48586. #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)
  48587. #define IEE_AES_TST_DB_AES_TST_DB8_MASK (0xFFFFFFFFU)
  48588. #define IEE_AES_TST_DB_AES_TST_DB8_SHIFT (0U)
  48589. #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)
  48590. #define IEE_AES_TST_DB_AES_TST_DB9_MASK (0xFFFFFFFFU)
  48591. #define IEE_AES_TST_DB_AES_TST_DB9_SHIFT (0U)
  48592. #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)
  48593. #define IEE_AES_TST_DB_AES_TST_DB10_MASK (0xFFFFFFFFU)
  48594. #define IEE_AES_TST_DB_AES_TST_DB10_SHIFT (0U)
  48595. #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)
  48596. #define IEE_AES_TST_DB_AES_TST_DB11_MASK (0xFFFFFFFFU)
  48597. #define IEE_AES_TST_DB_AES_TST_DB11_SHIFT (0U)
  48598. #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)
  48599. #define IEE_AES_TST_DB_AES_TST_DB12_MASK (0xFFFFFFFFU)
  48600. #define IEE_AES_TST_DB_AES_TST_DB12_SHIFT (0U)
  48601. #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)
  48602. #define IEE_AES_TST_DB_AES_TST_DB13_MASK (0xFFFFFFFFU)
  48603. #define IEE_AES_TST_DB_AES_TST_DB13_SHIFT (0U)
  48604. #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)
  48605. #define IEE_AES_TST_DB_AES_TST_DB14_MASK (0xFFFFFFFFU)
  48606. #define IEE_AES_TST_DB_AES_TST_DB14_SHIFT (0U)
  48607. #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)
  48608. #define IEE_AES_TST_DB_AES_TST_DB15_MASK (0xFFFFFFFFU)
  48609. #define IEE_AES_TST_DB_AES_TST_DB15_SHIFT (0U)
  48610. #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)
  48611. #define IEE_AES_TST_DB_AES_TST_DB16_MASK (0xFFFFFFFFU)
  48612. #define IEE_AES_TST_DB_AES_TST_DB16_SHIFT (0U)
  48613. #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)
  48614. #define IEE_AES_TST_DB_AES_TST_DB17_MASK (0xFFFFFFFFU)
  48615. #define IEE_AES_TST_DB_AES_TST_DB17_SHIFT (0U)
  48616. #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)
  48617. #define IEE_AES_TST_DB_AES_TST_DB18_MASK (0xFFFFFFFFU)
  48618. #define IEE_AES_TST_DB_AES_TST_DB18_SHIFT (0U)
  48619. #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)
  48620. #define IEE_AES_TST_DB_AES_TST_DB19_MASK (0xFFFFFFFFU)
  48621. #define IEE_AES_TST_DB_AES_TST_DB19_SHIFT (0U)
  48622. #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)
  48623. #define IEE_AES_TST_DB_AES_TST_DB20_MASK (0xFFFFFFFFU)
  48624. #define IEE_AES_TST_DB_AES_TST_DB20_SHIFT (0U)
  48625. #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)
  48626. #define IEE_AES_TST_DB_AES_TST_DB21_MASK (0xFFFFFFFFU)
  48627. #define IEE_AES_TST_DB_AES_TST_DB21_SHIFT (0U)
  48628. #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)
  48629. #define IEE_AES_TST_DB_AES_TST_DB22_MASK (0xFFFFFFFFU)
  48630. #define IEE_AES_TST_DB_AES_TST_DB22_SHIFT (0U)
  48631. #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)
  48632. #define IEE_AES_TST_DB_AES_TST_DB23_MASK (0xFFFFFFFFU)
  48633. #define IEE_AES_TST_DB_AES_TST_DB23_SHIFT (0U)
  48634. #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)
  48635. #define IEE_AES_TST_DB_AES_TST_DB24_MASK (0xFFFFFFFFU)
  48636. #define IEE_AES_TST_DB_AES_TST_DB24_SHIFT (0U)
  48637. #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)
  48638. #define IEE_AES_TST_DB_AES_TST_DB25_MASK (0xFFFFFFFFU)
  48639. #define IEE_AES_TST_DB_AES_TST_DB25_SHIFT (0U)
  48640. #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)
  48641. #define IEE_AES_TST_DB_AES_TST_DB26_MASK (0xFFFFFFFFU)
  48642. #define IEE_AES_TST_DB_AES_TST_DB26_SHIFT (0U)
  48643. #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)
  48644. #define IEE_AES_TST_DB_AES_TST_DB27_MASK (0xFFFFFFFFU)
  48645. #define IEE_AES_TST_DB_AES_TST_DB27_SHIFT (0U)
  48646. #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)
  48647. #define IEE_AES_TST_DB_AES_TST_DB28_MASK (0xFFFFFFFFU)
  48648. #define IEE_AES_TST_DB_AES_TST_DB28_SHIFT (0U)
  48649. #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)
  48650. #define IEE_AES_TST_DB_AES_TST_DB29_MASK (0xFFFFFFFFU)
  48651. #define IEE_AES_TST_DB_AES_TST_DB29_SHIFT (0U)
  48652. #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)
  48653. #define IEE_AES_TST_DB_AES_TST_DB30_MASK (0xFFFFFFFFU)
  48654. #define IEE_AES_TST_DB_AES_TST_DB30_SHIFT (0U)
  48655. #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)
  48656. #define IEE_AES_TST_DB_AES_TST_DB31_MASK (0xFFFFFFFFU)
  48657. #define IEE_AES_TST_DB_AES_TST_DB31_SHIFT (0U)
  48658. #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)
  48659. /*! @} */
  48660. /* The count of IEE_AES_TST_DB */
  48661. #define IEE_AES_TST_DB_COUNT (32U)
  48662. /*!
  48663. * @}
  48664. */ /* end of group IEE_Register_Masks */
  48665. /* IEE - Peripheral instance base addresses */
  48666. /** Peripheral IEE__IEE_RT1170 base address */
  48667. #define IEE__IEE_RT1170_BASE (0x4006C000u)
  48668. /** Peripheral IEE__IEE_RT1170 base pointer */
  48669. #define IEE__IEE_RT1170 ((IEE_Type *)IEE__IEE_RT1170_BASE)
  48670. /** Array initializer of IEE peripheral base addresses */
  48671. #define IEE_BASE_ADDRS { IEE__IEE_RT1170_BASE }
  48672. /** Array initializer of IEE peripheral base pointers */
  48673. #define IEE_BASE_PTRS { IEE__IEE_RT1170 }
  48674. /*!
  48675. * @}
  48676. */ /* end of group IEE_Peripheral_Access_Layer */
  48677. /* ----------------------------------------------------------------------------
  48678. -- IEE_APC Peripheral Access Layer
  48679. ---------------------------------------------------------------------------- */
  48680. /*!
  48681. * @addtogroup IEE_APC_Peripheral_Access_Layer IEE_APC Peripheral Access Layer
  48682. * @{
  48683. */
  48684. /** IEE_APC - Register Layout Typedef */
  48685. typedef struct {
  48686. __IO uint32_t REGION0_TOP_ADDR; /**< End address of IEE region (n), offset: 0x0 */
  48687. __IO uint32_t REGION0_BOT_ADDR; /**< Start address of IEE region (n), offset: 0x4 */
  48688. __IO uint32_t REGION0_RDC_D0; /**< Region control of core domain 0 for region (n), offset: 0x8 */
  48689. __IO uint32_t REGION0_RDC_D1; /**< Region control of core domain 1 for region (n), offset: 0xC */
  48690. __IO uint32_t REGION1_TOP_ADDR; /**< End address of IEE region (n), offset: 0x10 */
  48691. __IO uint32_t REGION1_BOT_ADDR; /**< Start address of IEE region (n), offset: 0x14 */
  48692. __IO uint32_t REGION1_RDC_D0; /**< Region control of core domain 0 for region (n), offset: 0x18 */
  48693. __IO uint32_t REGION1_RDC_D1; /**< Region control of core domain 1 for region (n), offset: 0x1C */
  48694. __IO uint32_t REGION2_TOP_ADDR; /**< End address of IEE region (n), offset: 0x20 */
  48695. __IO uint32_t REGION2_BOT_ADDR; /**< Start address of IEE region (n), offset: 0x24 */
  48696. __IO uint32_t REGION2_RDC_D0; /**< Region control of core domain 0 for region (n), offset: 0x28 */
  48697. __IO uint32_t REGION2_RDC_D1; /**< Region control of core domain 1 for region (n), offset: 0x2C */
  48698. __IO uint32_t REGION3_TOP_ADDR; /**< End address of IEE region (n), offset: 0x30 */
  48699. __IO uint32_t REGION3_BOT_ADDR; /**< Start address of IEE region (n), offset: 0x34 */
  48700. __IO uint32_t REGION3_RDC_D0; /**< Region control of core domain 0 for region (n), offset: 0x38 */
  48701. __IO uint32_t REGION3_RDC_D1; /**< Region control of core domain 1 for region (n), offset: 0x3C */
  48702. __IO uint32_t REGION4_TOP_ADDR; /**< End address of IEE region (n), offset: 0x40 */
  48703. __IO uint32_t REGION4_BOT_ADDR; /**< Start address of IEE region (n), offset: 0x44 */
  48704. __IO uint32_t REGION4_RDC_D0; /**< Region control of core domain 0 for region (n), offset: 0x48 */
  48705. __IO uint32_t REGION4_RDC_D1; /**< Region control of core domain 1 for region (n), offset: 0x4C */
  48706. __IO uint32_t REGION5_TOP_ADDR; /**< End address of IEE region (n), offset: 0x50 */
  48707. __IO uint32_t REGION5_BOT_ADDR; /**< Start address of IEE region (n), offset: 0x54 */
  48708. __IO uint32_t REGION5_RDC_D0; /**< Region control of core domain 0 for region (n), offset: 0x58 */
  48709. __IO uint32_t REGION5_RDC_D1; /**< Region control of core domain 1 for region (n), offset: 0x5C */
  48710. __IO uint32_t REGION6_TOP_ADDR; /**< End address of IEE region (n), offset: 0x60 */
  48711. __IO uint32_t REGION6_BOT_ADDR; /**< Start address of IEE region (n), offset: 0x64 */
  48712. __IO uint32_t REGION6_RDC_D0; /**< Region control of core domain 0 for region (n), offset: 0x68 */
  48713. __IO uint32_t REGION6_RDC_D1; /**< Region control of core domain 1 for region (n), offset: 0x6C */
  48714. __IO uint32_t REGION7_TOP_ADDR; /**< End address of IEE region (n), offset: 0x70 */
  48715. __IO uint32_t REGION7_BOT_ADDR; /**< Start address of IEE region (n), offset: 0x74 */
  48716. __IO uint32_t REGION7_RDC_D0; /**< Region control of core domain 0 for region (n), offset: 0x78 */
  48717. __IO uint32_t REGION7_RDC_D1; /**< Region control of core domain 1 for region (n), offset: 0x7C */
  48718. } IEE_APC_Type;
  48719. /* ----------------------------------------------------------------------------
  48720. -- IEE_APC Register Masks
  48721. ---------------------------------------------------------------------------- */
  48722. /*!
  48723. * @addtogroup IEE_APC_Register_Masks IEE_APC Register Masks
  48724. * @{
  48725. */
  48726. /*! @name REGION0_TOP_ADDR - End address of IEE region (n) */
  48727. /*! @{ */
  48728. #define IEE_APC_REGION0_TOP_ADDR_TOP_ADDR_MASK (0x1FFFFFFFU)
  48729. #define IEE_APC_REGION0_TOP_ADDR_TOP_ADDR_SHIFT (0U)
  48730. /*! TOP_ADDR - End address of IEE region
  48731. */
  48732. #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)
  48733. /*! @} */
  48734. /*! @name REGION0_BOT_ADDR - Start address of IEE region (n) */
  48735. /*! @{ */
  48736. #define IEE_APC_REGION0_BOT_ADDR_BOT_ADDR_MASK (0x1FFFFFFFU)
  48737. #define IEE_APC_REGION0_BOT_ADDR_BOT_ADDR_SHIFT (0U)
  48738. /*! BOT_ADDR - Start address of IEE region
  48739. */
  48740. #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)
  48741. /*! @} */
  48742. /*! @name REGION0_RDC_D0 - Region control of core domain 0 for region (n) */
  48743. /*! @{ */
  48744. #define IEE_APC_REGION0_RDC_D0_RDC_D0_WRITE_DIS_MASK (0x1U)
  48745. #define IEE_APC_REGION0_RDC_D0_RDC_D0_WRITE_DIS_SHIFT (0U)
  48746. /*! RDC_D0_WRITE_DIS - Write disable of core domain 1
  48747. * 0b0..Write to TOP_ADDR and BOT_ADDR of this region enabled
  48748. * 0b1..Write to TOP_ADDR and BOT_ADDR of this region disabled
  48749. */
  48750. #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)
  48751. #define IEE_APC_REGION0_RDC_D0_RDC_D0_LOCK_MASK (0x2U)
  48752. #define IEE_APC_REGION0_RDC_D0_RDC_D0_LOCK_SHIFT (1U)
  48753. /*! RDC_D0_LOCK - Lock bit for bit 0
  48754. * 0b0..Bit 0 is unlocked
  48755. * 0b1..Bit 0 is locked
  48756. */
  48757. #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)
  48758. /*! @} */
  48759. /*! @name REGION0_RDC_D1 - Region control of core domain 1 for region (n) */
  48760. /*! @{ */
  48761. #define IEE_APC_REGION0_RDC_D1_RDC_D1_WRITE_DIS_MASK (0x1U)
  48762. #define IEE_APC_REGION0_RDC_D1_RDC_D1_WRITE_DIS_SHIFT (0U)
  48763. /*! RDC_D1_WRITE_DIS - Write disable of core domain 1
  48764. * 0b0..Write to TOP_ADDR and BOT_ADDR of this region enabled
  48765. * 0b1..Write to TOP_ADDR and BOT_ADDR of this region disabled
  48766. */
  48767. #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)
  48768. #define IEE_APC_REGION0_RDC_D1_RDC_D1_LOCK_MASK (0x2U)
  48769. #define IEE_APC_REGION0_RDC_D1_RDC_D1_LOCK_SHIFT (1U)
  48770. /*! RDC_D1_LOCK - Lock bit for bit 0
  48771. * 0b0..Bit 0 is unlocked
  48772. * 0b1..Bit 0 is locked
  48773. */
  48774. #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)
  48775. /*! @} */
  48776. /*! @name REGION1_TOP_ADDR - End address of IEE region (n) */
  48777. /*! @{ */
  48778. #define IEE_APC_REGION1_TOP_ADDR_TOP_ADDR_MASK (0x1FFFFFFFU)
  48779. #define IEE_APC_REGION1_TOP_ADDR_TOP_ADDR_SHIFT (0U)
  48780. /*! TOP_ADDR - End address of IEE region
  48781. */
  48782. #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)
  48783. /*! @} */
  48784. /*! @name REGION1_BOT_ADDR - Start address of IEE region (n) */
  48785. /*! @{ */
  48786. #define IEE_APC_REGION1_BOT_ADDR_BOT_ADDR_MASK (0x1FFFFFFFU)
  48787. #define IEE_APC_REGION1_BOT_ADDR_BOT_ADDR_SHIFT (0U)
  48788. /*! BOT_ADDR - Start address of IEE region
  48789. */
  48790. #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)
  48791. /*! @} */
  48792. /*! @name REGION1_RDC_D0 - Region control of core domain 0 for region (n) */
  48793. /*! @{ */
  48794. #define IEE_APC_REGION1_RDC_D0_RDC_D0_WRITE_DIS_MASK (0x1U)
  48795. #define IEE_APC_REGION1_RDC_D0_RDC_D0_WRITE_DIS_SHIFT (0U)
  48796. /*! RDC_D0_WRITE_DIS - Write disable of core domain 1
  48797. * 0b0..Write to TOP_ADDR and BOT_ADDR of this region enabled
  48798. * 0b1..Write to TOP_ADDR and BOT_ADDR of this region disabled
  48799. */
  48800. #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)
  48801. #define IEE_APC_REGION1_RDC_D0_RDC_D0_LOCK_MASK (0x2U)
  48802. #define IEE_APC_REGION1_RDC_D0_RDC_D0_LOCK_SHIFT (1U)
  48803. /*! RDC_D0_LOCK - Lock bit for bit 0
  48804. * 0b0..Bit 0 is unlocked
  48805. * 0b1..Bit 0 is locked
  48806. */
  48807. #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)
  48808. /*! @} */
  48809. /*! @name REGION1_RDC_D1 - Region control of core domain 1 for region (n) */
  48810. /*! @{ */
  48811. #define IEE_APC_REGION1_RDC_D1_RDC_D1_WRITE_DIS_MASK (0x1U)
  48812. #define IEE_APC_REGION1_RDC_D1_RDC_D1_WRITE_DIS_SHIFT (0U)
  48813. /*! RDC_D1_WRITE_DIS - Write disable of core domain 1
  48814. * 0b0..Write to TOP_ADDR and BOT_ADDR of this region enabled
  48815. * 0b1..Write to TOP_ADDR and BOT_ADDR of this region disabled
  48816. */
  48817. #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)
  48818. #define IEE_APC_REGION1_RDC_D1_RDC_D1_LOCK_MASK (0x2U)
  48819. #define IEE_APC_REGION1_RDC_D1_RDC_D1_LOCK_SHIFT (1U)
  48820. /*! RDC_D1_LOCK - Lock bit for bit 0
  48821. * 0b0..Bit 0 is unlocked
  48822. * 0b1..Bit 0 is locked
  48823. */
  48824. #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)
  48825. /*! @} */
  48826. /*! @name REGION2_TOP_ADDR - End address of IEE region (n) */
  48827. /*! @{ */
  48828. #define IEE_APC_REGION2_TOP_ADDR_TOP_ADDR_MASK (0x1FFFFFFFU)
  48829. #define IEE_APC_REGION2_TOP_ADDR_TOP_ADDR_SHIFT (0U)
  48830. /*! TOP_ADDR - End address of IEE region
  48831. */
  48832. #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)
  48833. /*! @} */
  48834. /*! @name REGION2_BOT_ADDR - Start address of IEE region (n) */
  48835. /*! @{ */
  48836. #define IEE_APC_REGION2_BOT_ADDR_BOT_ADDR_MASK (0x1FFFFFFFU)
  48837. #define IEE_APC_REGION2_BOT_ADDR_BOT_ADDR_SHIFT (0U)
  48838. /*! BOT_ADDR - Start address of IEE region
  48839. */
  48840. #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)
  48841. /*! @} */
  48842. /*! @name REGION2_RDC_D0 - Region control of core domain 0 for region (n) */
  48843. /*! @{ */
  48844. #define IEE_APC_REGION2_RDC_D0_RDC_D0_WRITE_DIS_MASK (0x1U)
  48845. #define IEE_APC_REGION2_RDC_D0_RDC_D0_WRITE_DIS_SHIFT (0U)
  48846. /*! RDC_D0_WRITE_DIS - Write disable of core domain 1
  48847. * 0b0..Write to TOP_ADDR and BOT_ADDR of this region enabled
  48848. * 0b1..Write to TOP_ADDR and BOT_ADDR of this region disabled
  48849. */
  48850. #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)
  48851. #define IEE_APC_REGION2_RDC_D0_RDC_D0_LOCK_MASK (0x2U)
  48852. #define IEE_APC_REGION2_RDC_D0_RDC_D0_LOCK_SHIFT (1U)
  48853. /*! RDC_D0_LOCK - Lock bit for bit 0
  48854. * 0b0..Bit 0 is unlocked
  48855. * 0b1..Bit 0 is locked
  48856. */
  48857. #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)
  48858. /*! @} */
  48859. /*! @name REGION2_RDC_D1 - Region control of core domain 1 for region (n) */
  48860. /*! @{ */
  48861. #define IEE_APC_REGION2_RDC_D1_RDC_D1_WRITE_DIS_MASK (0x1U)
  48862. #define IEE_APC_REGION2_RDC_D1_RDC_D1_WRITE_DIS_SHIFT (0U)
  48863. /*! RDC_D1_WRITE_DIS - Write disable of core domain 1
  48864. * 0b0..Write to TOP_ADDR and BOT_ADDR of this region enabled
  48865. * 0b1..Write to TOP_ADDR and BOT_ADDR of this region disabled
  48866. */
  48867. #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)
  48868. #define IEE_APC_REGION2_RDC_D1_RDC_D1_LOCK_MASK (0x2U)
  48869. #define IEE_APC_REGION2_RDC_D1_RDC_D1_LOCK_SHIFT (1U)
  48870. /*! RDC_D1_LOCK - Lock bit for bit 0
  48871. * 0b0..Bit 0 is unlocked
  48872. * 0b1..Bit 0 is locked
  48873. */
  48874. #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)
  48875. /*! @} */
  48876. /*! @name REGION3_TOP_ADDR - End address of IEE region (n) */
  48877. /*! @{ */
  48878. #define IEE_APC_REGION3_TOP_ADDR_TOP_ADDR_MASK (0x1FFFFFFFU)
  48879. #define IEE_APC_REGION3_TOP_ADDR_TOP_ADDR_SHIFT (0U)
  48880. /*! TOP_ADDR - End address of IEE region
  48881. */
  48882. #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)
  48883. /*! @} */
  48884. /*! @name REGION3_BOT_ADDR - Start address of IEE region (n) */
  48885. /*! @{ */
  48886. #define IEE_APC_REGION3_BOT_ADDR_BOT_ADDR_MASK (0x1FFFFFFFU)
  48887. #define IEE_APC_REGION3_BOT_ADDR_BOT_ADDR_SHIFT (0U)
  48888. /*! BOT_ADDR - Start address of IEE region
  48889. */
  48890. #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)
  48891. /*! @} */
  48892. /*! @name REGION3_RDC_D0 - Region control of core domain 0 for region (n) */
  48893. /*! @{ */
  48894. #define IEE_APC_REGION3_RDC_D0_RDC_D0_WRITE_DIS_MASK (0x1U)
  48895. #define IEE_APC_REGION3_RDC_D0_RDC_D0_WRITE_DIS_SHIFT (0U)
  48896. /*! RDC_D0_WRITE_DIS - Write disable of core domain 1
  48897. * 0b0..Write to TOP_ADDR and BOT_ADDR of this region enabled
  48898. * 0b1..Write to TOP_ADDR and BOT_ADDR of this region disabled
  48899. */
  48900. #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)
  48901. #define IEE_APC_REGION3_RDC_D0_RDC_D0_LOCK_MASK (0x2U)
  48902. #define IEE_APC_REGION3_RDC_D0_RDC_D0_LOCK_SHIFT (1U)
  48903. /*! RDC_D0_LOCK - Lock bit for bit 0
  48904. * 0b0..Bit 0 is unlocked
  48905. * 0b1..Bit 0 is locked
  48906. */
  48907. #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)
  48908. /*! @} */
  48909. /*! @name REGION3_RDC_D1 - Region control of core domain 1 for region (n) */
  48910. /*! @{ */
  48911. #define IEE_APC_REGION3_RDC_D1_RDC_D1_WRITE_DIS_MASK (0x1U)
  48912. #define IEE_APC_REGION3_RDC_D1_RDC_D1_WRITE_DIS_SHIFT (0U)
  48913. /*! RDC_D1_WRITE_DIS - Write disable of core domain 1
  48914. * 0b0..Write to TOP_ADDR and BOT_ADDR of this region enabled
  48915. * 0b1..Write to TOP_ADDR and BOT_ADDR of this region disabled
  48916. */
  48917. #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)
  48918. #define IEE_APC_REGION3_RDC_D1_RDC_D1_LOCK_MASK (0x2U)
  48919. #define IEE_APC_REGION3_RDC_D1_RDC_D1_LOCK_SHIFT (1U)
  48920. /*! RDC_D1_LOCK - Lock bit for bit 0
  48921. * 0b0..Bit 0 is unlocked
  48922. * 0b1..Bit 0 is locked
  48923. */
  48924. #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)
  48925. /*! @} */
  48926. /*! @name REGION4_TOP_ADDR - End address of IEE region (n) */
  48927. /*! @{ */
  48928. #define IEE_APC_REGION4_TOP_ADDR_TOP_ADDR_MASK (0x1FFFFFFFU)
  48929. #define IEE_APC_REGION4_TOP_ADDR_TOP_ADDR_SHIFT (0U)
  48930. /*! TOP_ADDR - End address of IEE region
  48931. */
  48932. #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)
  48933. /*! @} */
  48934. /*! @name REGION4_BOT_ADDR - Start address of IEE region (n) */
  48935. /*! @{ */
  48936. #define IEE_APC_REGION4_BOT_ADDR_BOT_ADDR_MASK (0x1FFFFFFFU)
  48937. #define IEE_APC_REGION4_BOT_ADDR_BOT_ADDR_SHIFT (0U)
  48938. /*! BOT_ADDR - Start address of IEE region
  48939. */
  48940. #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)
  48941. /*! @} */
  48942. /*! @name REGION4_RDC_D0 - Region control of core domain 0 for region (n) */
  48943. /*! @{ */
  48944. #define IEE_APC_REGION4_RDC_D0_RDC_D0_WRITE_DIS_MASK (0x1U)
  48945. #define IEE_APC_REGION4_RDC_D0_RDC_D0_WRITE_DIS_SHIFT (0U)
  48946. /*! RDC_D0_WRITE_DIS - Write disable of core domain 1
  48947. * 0b0..Write to TOP_ADDR and BOT_ADDR of this region enabled
  48948. * 0b1..Write to TOP_ADDR and BOT_ADDR of this region disabled
  48949. */
  48950. #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)
  48951. #define IEE_APC_REGION4_RDC_D0_RDC_D0_LOCK_MASK (0x2U)
  48952. #define IEE_APC_REGION4_RDC_D0_RDC_D0_LOCK_SHIFT (1U)
  48953. /*! RDC_D0_LOCK - Lock bit for bit 0
  48954. * 0b0..Bit 0 is unlocked
  48955. * 0b1..Bit 0 is locked
  48956. */
  48957. #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)
  48958. /*! @} */
  48959. /*! @name REGION4_RDC_D1 - Region control of core domain 1 for region (n) */
  48960. /*! @{ */
  48961. #define IEE_APC_REGION4_RDC_D1_RDC_D1_WRITE_DIS_MASK (0x1U)
  48962. #define IEE_APC_REGION4_RDC_D1_RDC_D1_WRITE_DIS_SHIFT (0U)
  48963. /*! RDC_D1_WRITE_DIS - Write disable of core domain 1
  48964. * 0b0..Write to TOP_ADDR and BOT_ADDR of this region enabled
  48965. * 0b1..Write to TOP_ADDR and BOT_ADDR of this region disabled
  48966. */
  48967. #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)
  48968. #define IEE_APC_REGION4_RDC_D1_RDC_D1_LOCK_MASK (0x2U)
  48969. #define IEE_APC_REGION4_RDC_D1_RDC_D1_LOCK_SHIFT (1U)
  48970. /*! RDC_D1_LOCK - Lock bit for bit 0
  48971. * 0b0..Bit 0 is unlocked
  48972. * 0b1..Bit 0 is locked
  48973. */
  48974. #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)
  48975. /*! @} */
  48976. /*! @name REGION5_TOP_ADDR - End address of IEE region (n) */
  48977. /*! @{ */
  48978. #define IEE_APC_REGION5_TOP_ADDR_TOP_ADDR_MASK (0x1FFFFFFFU)
  48979. #define IEE_APC_REGION5_TOP_ADDR_TOP_ADDR_SHIFT (0U)
  48980. /*! TOP_ADDR - End address of IEE region
  48981. */
  48982. #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)
  48983. /*! @} */
  48984. /*! @name REGION5_BOT_ADDR - Start address of IEE region (n) */
  48985. /*! @{ */
  48986. #define IEE_APC_REGION5_BOT_ADDR_BOT_ADDR_MASK (0x1FFFFFFFU)
  48987. #define IEE_APC_REGION5_BOT_ADDR_BOT_ADDR_SHIFT (0U)
  48988. /*! BOT_ADDR - Start address of IEE region
  48989. */
  48990. #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)
  48991. /*! @} */
  48992. /*! @name REGION5_RDC_D0 - Region control of core domain 0 for region (n) */
  48993. /*! @{ */
  48994. #define IEE_APC_REGION5_RDC_D0_RDC_D0_WRITE_DIS_MASK (0x1U)
  48995. #define IEE_APC_REGION5_RDC_D0_RDC_D0_WRITE_DIS_SHIFT (0U)
  48996. /*! RDC_D0_WRITE_DIS - Write disable of core domain 1
  48997. * 0b0..Write to TOP_ADDR and BOT_ADDR of this region enabled
  48998. * 0b1..Write to TOP_ADDR and BOT_ADDR of this region disabled
  48999. */
  49000. #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)
  49001. #define IEE_APC_REGION5_RDC_D0_RDC_D0_LOCK_MASK (0x2U)
  49002. #define IEE_APC_REGION5_RDC_D0_RDC_D0_LOCK_SHIFT (1U)
  49003. /*! RDC_D0_LOCK - Lock bit for bit 0
  49004. * 0b0..Bit 0 is unlocked
  49005. * 0b1..Bit 0 is locked
  49006. */
  49007. #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)
  49008. /*! @} */
  49009. /*! @name REGION5_RDC_D1 - Region control of core domain 1 for region (n) */
  49010. /*! @{ */
  49011. #define IEE_APC_REGION5_RDC_D1_RDC_D1_WRITE_DIS_MASK (0x1U)
  49012. #define IEE_APC_REGION5_RDC_D1_RDC_D1_WRITE_DIS_SHIFT (0U)
  49013. /*! RDC_D1_WRITE_DIS - Write disable of core domain 1
  49014. * 0b0..Write to TOP_ADDR and BOT_ADDR of this region enabled
  49015. * 0b1..Write to TOP_ADDR and BOT_ADDR of this region disabled
  49016. */
  49017. #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)
  49018. #define IEE_APC_REGION5_RDC_D1_RDC_D1_LOCK_MASK (0x2U)
  49019. #define IEE_APC_REGION5_RDC_D1_RDC_D1_LOCK_SHIFT (1U)
  49020. /*! RDC_D1_LOCK - Lock bit for bit 0
  49021. * 0b0..Bit 0 is unlocked
  49022. * 0b1..Bit 0 is locked
  49023. */
  49024. #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)
  49025. /*! @} */
  49026. /*! @name REGION6_TOP_ADDR - End address of IEE region (n) */
  49027. /*! @{ */
  49028. #define IEE_APC_REGION6_TOP_ADDR_TOP_ADDR_MASK (0x1FFFFFFFU)
  49029. #define IEE_APC_REGION6_TOP_ADDR_TOP_ADDR_SHIFT (0U)
  49030. /*! TOP_ADDR - End address of IEE region
  49031. */
  49032. #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)
  49033. /*! @} */
  49034. /*! @name REGION6_BOT_ADDR - Start address of IEE region (n) */
  49035. /*! @{ */
  49036. #define IEE_APC_REGION6_BOT_ADDR_BOT_ADDR_MASK (0x1FFFFFFFU)
  49037. #define IEE_APC_REGION6_BOT_ADDR_BOT_ADDR_SHIFT (0U)
  49038. /*! BOT_ADDR - Start address of IEE region
  49039. */
  49040. #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)
  49041. /*! @} */
  49042. /*! @name REGION6_RDC_D0 - Region control of core domain 0 for region (n) */
  49043. /*! @{ */
  49044. #define IEE_APC_REGION6_RDC_D0_RDC_D0_WRITE_DIS_MASK (0x1U)
  49045. #define IEE_APC_REGION6_RDC_D0_RDC_D0_WRITE_DIS_SHIFT (0U)
  49046. /*! RDC_D0_WRITE_DIS - Write disable of core domain 1
  49047. * 0b0..Write to TOP_ADDR and BOT_ADDR of this region enabled
  49048. * 0b1..Write to TOP_ADDR and BOT_ADDR of this region disabled
  49049. */
  49050. #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)
  49051. #define IEE_APC_REGION6_RDC_D0_RDC_D0_LOCK_MASK (0x2U)
  49052. #define IEE_APC_REGION6_RDC_D0_RDC_D0_LOCK_SHIFT (1U)
  49053. /*! RDC_D0_LOCK - Lock bit for bit 0
  49054. * 0b0..Bit 0 is unlocked
  49055. * 0b1..Bit 0 is locked
  49056. */
  49057. #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)
  49058. /*! @} */
  49059. /*! @name REGION6_RDC_D1 - Region control of core domain 1 for region (n) */
  49060. /*! @{ */
  49061. #define IEE_APC_REGION6_RDC_D1_RDC_D1_WRITE_DIS_MASK (0x1U)
  49062. #define IEE_APC_REGION6_RDC_D1_RDC_D1_WRITE_DIS_SHIFT (0U)
  49063. /*! RDC_D1_WRITE_DIS - Write disable of core domain 1
  49064. * 0b0..Write to TOP_ADDR and BOT_ADDR of this region enabled
  49065. * 0b1..Write to TOP_ADDR and BOT_ADDR of this region disabled
  49066. */
  49067. #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)
  49068. #define IEE_APC_REGION6_RDC_D1_RDC_D1_LOCK_MASK (0x2U)
  49069. #define IEE_APC_REGION6_RDC_D1_RDC_D1_LOCK_SHIFT (1U)
  49070. /*! RDC_D1_LOCK - Lock bit for bit 0
  49071. * 0b0..Bit 0 is unlocked
  49072. * 0b1..Bit 0 is locked
  49073. */
  49074. #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)
  49075. /*! @} */
  49076. /*! @name REGION7_TOP_ADDR - End address of IEE region (n) */
  49077. /*! @{ */
  49078. #define IEE_APC_REGION7_TOP_ADDR_TOP_ADDR_MASK (0x1FFFFFFFU)
  49079. #define IEE_APC_REGION7_TOP_ADDR_TOP_ADDR_SHIFT (0U)
  49080. /*! TOP_ADDR - End address of IEE region
  49081. */
  49082. #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)
  49083. /*! @} */
  49084. /*! @name REGION7_BOT_ADDR - Start address of IEE region (n) */
  49085. /*! @{ */
  49086. #define IEE_APC_REGION7_BOT_ADDR_BOT_ADDR_MASK (0x1FFFFFFFU)
  49087. #define IEE_APC_REGION7_BOT_ADDR_BOT_ADDR_SHIFT (0U)
  49088. /*! BOT_ADDR - Start address of IEE region
  49089. */
  49090. #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)
  49091. /*! @} */
  49092. /*! @name REGION7_RDC_D0 - Region control of core domain 0 for region (n) */
  49093. /*! @{ */
  49094. #define IEE_APC_REGION7_RDC_D0_RDC_D0_WRITE_DIS_MASK (0x1U)
  49095. #define IEE_APC_REGION7_RDC_D0_RDC_D0_WRITE_DIS_SHIFT (0U)
  49096. /*! RDC_D0_WRITE_DIS - Write disable of core domain 1
  49097. * 0b0..Write to TOP_ADDR and BOT_ADDR of this region enabled
  49098. * 0b1..Write to TOP_ADDR and BOT_ADDR of this region disabled
  49099. */
  49100. #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)
  49101. #define IEE_APC_REGION7_RDC_D0_RDC_D0_LOCK_MASK (0x2U)
  49102. #define IEE_APC_REGION7_RDC_D0_RDC_D0_LOCK_SHIFT (1U)
  49103. /*! RDC_D0_LOCK - Lock bit for bit 0
  49104. * 0b0..Bit 0 is unlocked
  49105. * 0b1..Bit 0 is locked
  49106. */
  49107. #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)
  49108. /*! @} */
  49109. /*! @name REGION7_RDC_D1 - Region control of core domain 1 for region (n) */
  49110. /*! @{ */
  49111. #define IEE_APC_REGION7_RDC_D1_RDC_D1_WRITE_DIS_MASK (0x1U)
  49112. #define IEE_APC_REGION7_RDC_D1_RDC_D1_WRITE_DIS_SHIFT (0U)
  49113. /*! RDC_D1_WRITE_DIS - Write disable of core domain 1
  49114. * 0b0..Write to TOP_ADDR and BOT_ADDR of this region enabled
  49115. * 0b1..Write to TOP_ADDR and BOT_ADDR of this region disabled
  49116. */
  49117. #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)
  49118. #define IEE_APC_REGION7_RDC_D1_RDC_D1_LOCK_MASK (0x2U)
  49119. #define IEE_APC_REGION7_RDC_D1_RDC_D1_LOCK_SHIFT (1U)
  49120. /*! RDC_D1_LOCK - Lock bit for bit 0
  49121. * 0b0..Bit 0 is unlocked
  49122. * 0b1..Bit 0 is locked
  49123. */
  49124. #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)
  49125. /*! @} */
  49126. /*!
  49127. * @}
  49128. */ /* end of group IEE_APC_Register_Masks */
  49129. /* IEE_APC - Peripheral instance base addresses */
  49130. /** Peripheral IEE_APC base address */
  49131. #define IEE_APC_BASE (0x40068000u)
  49132. /** Peripheral IEE_APC base pointer */
  49133. #define IEE_APC ((IEE_APC_Type *)IEE_APC_BASE)
  49134. /** Array initializer of IEE_APC peripheral base addresses */
  49135. #define IEE_APC_BASE_ADDRS { IEE_APC_BASE }
  49136. /** Array initializer of IEE_APC peripheral base pointers */
  49137. #define IEE_APC_BASE_PTRS { IEE_APC }
  49138. /*!
  49139. * @}
  49140. */ /* end of group IEE_APC_Peripheral_Access_Layer */
  49141. /* ----------------------------------------------------------------------------
  49142. -- IOMUXC Peripheral Access Layer
  49143. ---------------------------------------------------------------------------- */
  49144. /*!
  49145. * @addtogroup IOMUXC_Peripheral_Access_Layer IOMUXC Peripheral Access Layer
  49146. * @{
  49147. */
  49148. /** IOMUXC - Register Layout Typedef */
  49149. typedef struct {
  49150. uint8_t RESERVED_0[16];
  49151. __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 */
  49152. __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 */
  49153. __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 */
  49154. } IOMUXC_Type;
  49155. /* ----------------------------------------------------------------------------
  49156. -- IOMUXC Register Masks
  49157. ---------------------------------------------------------------------------- */
  49158. /*!
  49159. * @addtogroup IOMUXC_Register_Masks IOMUXC Register Masks
  49160. * @{
  49161. */
  49162. /*! @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 */
  49163. /*! @{ */
  49164. #define IOMUXC_SW_MUX_CTL_PAD_MUX_MODE_MASK (0xFU)
  49165. #define IOMUXC_SW_MUX_CTL_PAD_MUX_MODE_SHIFT (0U)
  49166. /*! MUX_MODE - MUX Mode Select Field.
  49167. * 0b0000..Select mux mode: ALT0 mux port: SEMC_DATA00 of instance: SEMC
  49168. * 0b0001..Select mux mode: ALT1 mux port: FLEXPWM4_PWM0_A of instance: FLEXPWM4
  49169. * 0b0101..Select mux mode: ALT5 mux port: GPIO_MUX1_IO00 of instance: GPIO_MUX1
  49170. * 0b1000..Select mux mode: ALT8 mux port: FLEXIO1_D00 of instance: FLEXIO1
  49171. * 0b1010..Select mux mode: ALT10 mux port: GPIO7_IO00 of instance: GPIO7
  49172. */
  49173. #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)
  49174. #define IOMUXC_SW_MUX_CTL_PAD_SION_MASK (0x10U)
  49175. #define IOMUXC_SW_MUX_CTL_PAD_SION_SHIFT (4U)
  49176. /*! SION - Software Input On Field.
  49177. * 0b1..Force input path of pad GPIO_EMC_B1_00
  49178. * 0b0..Input Path is determined by functionality
  49179. */
  49180. #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)
  49181. /*! @} */
  49182. /* The count of IOMUXC_SW_MUX_CTL_PAD */
  49183. #define IOMUXC_SW_MUX_CTL_PAD_COUNT (145U)
  49184. /*! @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 */
  49185. /*! @{ */
  49186. #define IOMUXC_SW_PAD_CTL_PAD_SRE_MASK (0x1U)
  49187. #define IOMUXC_SW_PAD_CTL_PAD_SRE_SHIFT (0U)
  49188. /*! SRE - Slew Rate Field
  49189. * 0b0..Slow Slew Rate
  49190. * 0b1..Fast Slew Rate
  49191. */
  49192. #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)
  49193. #define IOMUXC_SW_PAD_CTL_PAD_DSE_MASK (0x2U)
  49194. #define IOMUXC_SW_PAD_CTL_PAD_DSE_SHIFT (1U)
  49195. /*! DSE - Drive Strength Field
  49196. * 0b0..normal drive strength
  49197. * 0b1..high drive strength
  49198. */
  49199. #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)
  49200. #define IOMUXC_SW_PAD_CTL_PAD_PDRV_MASK (0x2U)
  49201. #define IOMUXC_SW_PAD_CTL_PAD_PDRV_SHIFT (1U)
  49202. /*! PDRV - PDRV Field
  49203. * 0b0..high drive strength
  49204. * 0b1..normal drive strength
  49205. */
  49206. #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)
  49207. #define IOMUXC_SW_PAD_CTL_PAD_PUE_MASK (0x4U)
  49208. #define IOMUXC_SW_PAD_CTL_PAD_PUE_SHIFT (2U)
  49209. /*! PUE - Pull / Keep Select Field
  49210. * 0b0..Pull Disable, Highz
  49211. * 0b1..Pull Enable
  49212. */
  49213. #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)
  49214. #define IOMUXC_SW_PAD_CTL_PAD_PULL_MASK (0xCU)
  49215. #define IOMUXC_SW_PAD_CTL_PAD_PULL_SHIFT (2U)
  49216. /*! PULL - Pull Down Pull Up Field
  49217. * 0b00..Forbidden
  49218. * 0b01..Internal pullup resistor enabled
  49219. * 0b10..Internal pulldown resistor enabled
  49220. * 0b11..No Pull
  49221. */
  49222. #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)
  49223. #define IOMUXC_SW_PAD_CTL_PAD_PUS_MASK (0x8U)
  49224. #define IOMUXC_SW_PAD_CTL_PAD_PUS_SHIFT (3U)
  49225. /*! PUS - Pull Up / Down Config. Field
  49226. * 0b0..Weak pull down
  49227. * 0b1..Weak pull up
  49228. */
  49229. #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)
  49230. #define IOMUXC_SW_PAD_CTL_PAD_ODE_MASK (0x10U)
  49231. #define IOMUXC_SW_PAD_CTL_PAD_ODE_SHIFT (4U)
  49232. /*! ODE - Open Drain Field
  49233. * 0b0..Disabled
  49234. * 0b1..Enabled
  49235. */
  49236. #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)
  49237. #define IOMUXC_SW_PAD_CTL_PAD_DWP_MASK (0x30000000U)
  49238. #define IOMUXC_SW_PAD_CTL_PAD_DWP_SHIFT (28U)
  49239. /*! DWP - Domain write protection
  49240. * 0b00..Both cores are allowed
  49241. * 0b01..CM7 is forbidden
  49242. * 0b10..CM4 is forbidden
  49243. * 0b11..Both cores are forbidden
  49244. */
  49245. #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)
  49246. #define IOMUXC_SW_PAD_CTL_PAD_DWP_LOCK_MASK (0xC0000000U)
  49247. #define IOMUXC_SW_PAD_CTL_PAD_DWP_LOCK_SHIFT (30U)
  49248. /*! DWP_LOCK - Domain write protection lock
  49249. * 0b00..Neither of DWP bits is locked
  49250. * 0b01..The lower DWP bit is locked
  49251. * 0b10..The higher DWP bit is locked
  49252. * 0b11..Both DWP bits are locked
  49253. */
  49254. #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)
  49255. /*! @} */
  49256. /* The count of IOMUXC_SW_PAD_CTL_PAD */
  49257. #define IOMUXC_SW_PAD_CTL_PAD_COUNT (145U)
  49258. /*! @name SELECT_INPUT - FLEXCAN1_RX_SELECT_INPUT DAISY Register..XBAR1_IN_SELECT_INPUT_35 DAISY Register */
  49259. /*! @{ */
  49260. #define IOMUXC_SELECT_INPUT_DAISY_MASK (0x3U) /* Merged from fields with different position or width, of widths (1, 2), largest definition used */
  49261. #define IOMUXC_SELECT_INPUT_DAISY_SHIFT (0U)
  49262. /*! DAISY - Selecting Pads Involved in Daisy Chain.
  49263. * 0b00..Selecting Pad: GPIO_AD_07 for Mode: ALT1
  49264. * 0b01..Selecting Pad: GPIO_DISP_B2_13 for Mode: ALT2
  49265. * 0b10..Selecting Pad: GPIO_DISP_B2_15 for Mode: ALT6
  49266. */
  49267. #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 */
  49268. /*! @} */
  49269. /* The count of IOMUXC_SELECT_INPUT */
  49270. #define IOMUXC_SELECT_INPUT_COUNT (160U)
  49271. /*!
  49272. * @}
  49273. */ /* end of group IOMUXC_Register_Masks */
  49274. /* IOMUXC - Peripheral instance base addresses */
  49275. /** Peripheral IOMUXC base address */
  49276. #define IOMUXC_BASE (0x400E8000u)
  49277. /** Peripheral IOMUXC base pointer */
  49278. #define IOMUXC ((IOMUXC_Type *)IOMUXC_BASE)
  49279. /** Array initializer of IOMUXC peripheral base addresses */
  49280. #define IOMUXC_BASE_ADDRS { IOMUXC_BASE }
  49281. /** Array initializer of IOMUXC peripheral base pointers */
  49282. #define IOMUXC_BASE_PTRS { IOMUXC }
  49283. /*!
  49284. * @}
  49285. */ /* end of group IOMUXC_Peripheral_Access_Layer */
  49286. /* ----------------------------------------------------------------------------
  49287. -- IOMUXC_GPR Peripheral Access Layer
  49288. ---------------------------------------------------------------------------- */
  49289. /*!
  49290. * @addtogroup IOMUXC_GPR_Peripheral_Access_Layer IOMUXC_GPR Peripheral Access Layer
  49291. * @{
  49292. */
  49293. /** IOMUXC_GPR - Register Layout Typedef */
  49294. typedef struct {
  49295. __IO uint32_t GPR0; /**< GPR0 General Purpose Register, offset: 0x0 */
  49296. __IO uint32_t GPR1; /**< GPR1 General Purpose Register, offset: 0x4 */
  49297. __IO uint32_t GPR2; /**< GPR2 General Purpose Register, offset: 0x8 */
  49298. __IO uint32_t GPR3; /**< GPR3 General Purpose Register, offset: 0xC */
  49299. __IO uint32_t GPR4; /**< GPR4 General Purpose Register, offset: 0x10 */
  49300. __IO uint32_t GPR5; /**< GPR5 General Purpose Register, offset: 0x14 */
  49301. __IO uint32_t GPR6; /**< GPR6 General Purpose Register, offset: 0x18 */
  49302. __IO uint32_t GPR7; /**< GPR7 General Purpose Register, offset: 0x1C */
  49303. __IO uint32_t GPR8; /**< GPR8 General Purpose Register, offset: 0x20 */
  49304. __IO uint32_t GPR9; /**< GPR9 General Purpose Register, offset: 0x24 */
  49305. __IO uint32_t GPR10; /**< GPR10 General Purpose Register, offset: 0x28 */
  49306. __IO uint32_t GPR11; /**< GPR11 General Purpose Register, offset: 0x2C */
  49307. __IO uint32_t GPR12; /**< GPR12 General Purpose Register, offset: 0x30 */
  49308. __IO uint32_t GPR13; /**< GPR13 General Purpose Register, offset: 0x34 */
  49309. __IO uint32_t GPR14; /**< GPR14 General Purpose Register, offset: 0x38 */
  49310. __IO uint32_t GPR15; /**< GPR15 General Purpose Register, offset: 0x3C */
  49311. __IO uint32_t GPR16; /**< GPR16 General Purpose Register, offset: 0x40 */
  49312. __IO uint32_t GPR17; /**< GPR17 General Purpose Register, offset: 0x44 */
  49313. __IO uint32_t GPR18; /**< GPR18 General Purpose Register, offset: 0x48 */
  49314. uint8_t RESERVED_0[4];
  49315. __IO uint32_t GPR20; /**< GPR20 General Purpose Register, offset: 0x50 */
  49316. __IO uint32_t GPR21; /**< GPR21 General Purpose Register, offset: 0x54 */
  49317. __IO uint32_t GPR22; /**< GPR22 General Purpose Register, offset: 0x58 */
  49318. __IO uint32_t GPR23; /**< GPR23 General Purpose Register, offset: 0x5C */
  49319. __IO uint32_t GPR24; /**< GPR24 General Purpose Register, offset: 0x60 */
  49320. __IO uint32_t GPR25; /**< GPR25 General Purpose Register, offset: 0x64 */
  49321. __IO uint32_t GPR26; /**< GPR26 General Purpose Register, offset: 0x68 */
  49322. __IO uint32_t GPR27; /**< GPR27 General Purpose Register, offset: 0x6C */
  49323. __IO uint32_t GPR28; /**< GPR28 General Purpose Register, offset: 0x70 */
  49324. __IO uint32_t GPR29; /**< GPR29 General Purpose Register, offset: 0x74 */
  49325. __IO uint32_t GPR30; /**< GPR30 General Purpose Register, offset: 0x78 */
  49326. __IO uint32_t GPR31; /**< GPR31 General Purpose Register, offset: 0x7C */
  49327. __IO uint32_t GPR32; /**< GPR32 General Purpose Register, offset: 0x80 */
  49328. __IO uint32_t GPR33; /**< GPR33 General Purpose Register, offset: 0x84 */
  49329. __IO uint32_t GPR34; /**< GPR34 General Purpose Register, offset: 0x88 */
  49330. __IO uint32_t GPR35; /**< GPR35 General Purpose Register, offset: 0x8C */
  49331. __IO uint32_t GPR36; /**< GPR36 General Purpose Register, offset: 0x90 */
  49332. __IO uint32_t GPR37; /**< GPR37 General Purpose Register, offset: 0x94 */
  49333. __IO uint32_t GPR38; /**< GPR38 General Purpose Register, offset: 0x98 */
  49334. __IO uint32_t GPR39; /**< GPR39 General Purpose Register, offset: 0x9C */
  49335. __IO uint32_t GPR40; /**< GPR40 General Purpose Register, offset: 0xA0 */
  49336. __IO uint32_t GPR41; /**< GPR41 General Purpose Register, offset: 0xA4 */
  49337. __IO uint32_t GPR42; /**< GPR42 General Purpose Register, offset: 0xA8 */
  49338. __IO uint32_t GPR43; /**< GPR43 General Purpose Register, offset: 0xAC */
  49339. __IO uint32_t GPR44; /**< GPR44 General Purpose Register, offset: 0xB0 */
  49340. __IO uint32_t GPR45; /**< GPR45 General Purpose Register, offset: 0xB4 */
  49341. __IO uint32_t GPR46; /**< GPR46 General Purpose Register, offset: 0xB8 */
  49342. __IO uint32_t GPR47; /**< GPR47 General Purpose Register, offset: 0xBC */
  49343. __IO uint32_t GPR48; /**< GPR48 General Purpose Register, offset: 0xC0 */
  49344. __IO uint32_t GPR49; /**< GPR49 General Purpose Register, offset: 0xC4 */
  49345. __IO uint32_t GPR50; /**< GPR50 General Purpose Register, offset: 0xC8 */
  49346. __IO uint32_t GPR51; /**< GPR51 General Purpose Register, offset: 0xCC */
  49347. __IO uint32_t GPR52; /**< GPR52 General Purpose Register, offset: 0xD0 */
  49348. __IO uint32_t GPR53; /**< GPR53 General Purpose Register, offset: 0xD4 */
  49349. __IO uint32_t GPR54; /**< GPR54 General Purpose Register, offset: 0xD8 */
  49350. __IO uint32_t GPR55; /**< GPR55 General Purpose Register, offset: 0xDC */
  49351. uint8_t RESERVED_1[12];
  49352. __IO uint32_t GPR59; /**< GPR59 General Purpose Register, offset: 0xEC */
  49353. uint8_t RESERVED_2[8];
  49354. __IO uint32_t GPR62; /**< GPR62 General Purpose Register, offset: 0xF8 */
  49355. __I uint32_t GPR63; /**< GPR63 General Purpose Register, offset: 0xFC */
  49356. __IO uint32_t GPR64; /**< GPR64 General Purpose Register, offset: 0x100 */
  49357. __IO uint32_t GPR65; /**< GPR65 General Purpose Register, offset: 0x104 */
  49358. __IO uint32_t GPR66; /**< GPR66 General Purpose Register, offset: 0x108 */
  49359. __IO uint32_t GPR67; /**< GPR67 General Purpose Register, offset: 0x10C */
  49360. __IO uint32_t GPR68; /**< GPR68 General Purpose Register, offset: 0x110 */
  49361. __IO uint32_t GPR69; /**< GPR69 General Purpose Register, offset: 0x114 */
  49362. __IO uint32_t GPR70; /**< GPR70 General Purpose Register, offset: 0x118 */
  49363. __IO uint32_t GPR71; /**< GPR71 General Purpose Register, offset: 0x11C */
  49364. __IO uint32_t GPR72; /**< GPR72 General Purpose Register, offset: 0x120 */
  49365. __IO uint32_t GPR73; /**< GPR73 General Purpose Register, offset: 0x124 */
  49366. __IO uint32_t GPR74; /**< GPR74 General Purpose Register, offset: 0x128 */
  49367. __I uint32_t GPR75; /**< GPR75 General Purpose Register, offset: 0x12C */
  49368. __I uint32_t GPR76; /**< GPR76 General Purpose Register, offset: 0x130 */
  49369. } IOMUXC_GPR_Type;
  49370. /* ----------------------------------------------------------------------------
  49371. -- IOMUXC_GPR Register Masks
  49372. ---------------------------------------------------------------------------- */
  49373. /*!
  49374. * @addtogroup IOMUXC_GPR_Register_Masks IOMUXC_GPR Register Masks
  49375. * @{
  49376. */
  49377. /*! @name GPR0 - GPR0 General Purpose Register */
  49378. /*! @{ */
  49379. #define IOMUXC_GPR_GPR0_SAI1_MCLK1_SEL_MASK (0x7U)
  49380. #define IOMUXC_GPR_GPR0_SAI1_MCLK1_SEL_SHIFT (0U)
  49381. /*! SAI1_MCLK1_SEL - SAI1 MCLK1 source select
  49382. */
  49383. #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)
  49384. #define IOMUXC_GPR_GPR0_SAI1_MCLK2_SEL_MASK (0x38U)
  49385. #define IOMUXC_GPR_GPR0_SAI1_MCLK2_SEL_SHIFT (3U)
  49386. /*! SAI1_MCLK2_SEL - SAI1 MCLK2 source select
  49387. */
  49388. #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)
  49389. #define IOMUXC_GPR_GPR0_SAI1_MCLK3_SEL_MASK (0xC0U)
  49390. #define IOMUXC_GPR_GPR0_SAI1_MCLK3_SEL_SHIFT (6U)
  49391. /*! SAI1_MCLK3_SEL - SAI1 MCLK3 source select
  49392. */
  49393. #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)
  49394. #define IOMUXC_GPR_GPR0_SAI1_MCLK_DIR_MASK (0x100U)
  49395. #define IOMUXC_GPR_GPR0_SAI1_MCLK_DIR_SHIFT (8U)
  49396. /*! SAI1_MCLK_DIR - SAI1_MCLK signal direction control
  49397. */
  49398. #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)
  49399. #define IOMUXC_GPR_GPR0_DWP_MASK (0x30000000U)
  49400. #define IOMUXC_GPR_GPR0_DWP_SHIFT (28U)
  49401. /*! DWP - Domain write protection
  49402. * 0b00..Both cores are allowed
  49403. * 0b01..CM7 is forbidden
  49404. * 0b10..CM4 is forbidden
  49405. * 0b11..Both cores are forbidden
  49406. */
  49407. #define IOMUXC_GPR_GPR0_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR0_DWP_SHIFT)) & IOMUXC_GPR_GPR0_DWP_MASK)
  49408. #define IOMUXC_GPR_GPR0_DWP_LOCK_MASK (0xC0000000U)
  49409. #define IOMUXC_GPR_GPR0_DWP_LOCK_SHIFT (30U)
  49410. /*! DWP_LOCK - Domain write protection lock
  49411. * 0b00..Neither of DWP bits is locked
  49412. * 0b01..The lower DWP bit is locked
  49413. * 0b10..The higher DWP bit is locked
  49414. * 0b11..Both DWP bits are locked
  49415. */
  49416. #define IOMUXC_GPR_GPR0_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR0_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR0_DWP_LOCK_MASK)
  49417. /*! @} */
  49418. /*! @name GPR1 - GPR1 General Purpose Register */
  49419. /*! @{ */
  49420. #define IOMUXC_GPR_GPR1_SAI2_MCLK3_SEL_MASK (0x3U)
  49421. #define IOMUXC_GPR_GPR1_SAI2_MCLK3_SEL_SHIFT (0U)
  49422. /*! SAI2_MCLK3_SEL - SAI2 MCLK3 source select
  49423. */
  49424. #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)
  49425. #define IOMUXC_GPR_GPR1_SAI2_MCLK_DIR_MASK (0x100U)
  49426. #define IOMUXC_GPR_GPR1_SAI2_MCLK_DIR_SHIFT (8U)
  49427. /*! SAI2_MCLK_DIR - SAI2_MCLK signal direction control
  49428. */
  49429. #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)
  49430. #define IOMUXC_GPR_GPR1_DWP_MASK (0x30000000U)
  49431. #define IOMUXC_GPR_GPR1_DWP_SHIFT (28U)
  49432. /*! DWP - Domain write protection
  49433. * 0b00..Both cores are allowed
  49434. * 0b01..CM7 is forbidden
  49435. * 0b10..CM4 is forbidden
  49436. * 0b11..Both cores are forbidden
  49437. */
  49438. #define IOMUXC_GPR_GPR1_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR1_DWP_SHIFT)) & IOMUXC_GPR_GPR1_DWP_MASK)
  49439. #define IOMUXC_GPR_GPR1_DWP_LOCK_MASK (0xC0000000U)
  49440. #define IOMUXC_GPR_GPR1_DWP_LOCK_SHIFT (30U)
  49441. /*! DWP_LOCK - Domain write protection lock
  49442. * 0b00..Neither of DWP bits is locked
  49443. * 0b01..The lower DWP bit is locked
  49444. * 0b10..The higher DWP bit is locked
  49445. * 0b11..Both DWP bits are locked
  49446. */
  49447. #define IOMUXC_GPR_GPR1_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR1_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR1_DWP_LOCK_MASK)
  49448. /*! @} */
  49449. /*! @name GPR2 - GPR2 General Purpose Register */
  49450. /*! @{ */
  49451. #define IOMUXC_GPR_GPR2_SAI3_MCLK3_SEL_MASK (0x3U)
  49452. #define IOMUXC_GPR_GPR2_SAI3_MCLK3_SEL_SHIFT (0U)
  49453. /*! SAI3_MCLK3_SEL - SAI3 MCLK3 source select
  49454. */
  49455. #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)
  49456. #define IOMUXC_GPR_GPR2_SAI3_MCLK_DIR_MASK (0x100U)
  49457. #define IOMUXC_GPR_GPR2_SAI3_MCLK_DIR_SHIFT (8U)
  49458. /*! SAI3_MCLK_DIR - SAI3_MCLK signal direction control
  49459. */
  49460. #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)
  49461. #define IOMUXC_GPR_GPR2_SAI4_MCLK_DIR_MASK (0x200U)
  49462. #define IOMUXC_GPR_GPR2_SAI4_MCLK_DIR_SHIFT (9U)
  49463. /*! SAI4_MCLK_DIR - SAI4_MCLK signal direction control
  49464. */
  49465. #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)
  49466. #define IOMUXC_GPR_GPR2_DWP_MASK (0x30000000U)
  49467. #define IOMUXC_GPR_GPR2_DWP_SHIFT (28U)
  49468. /*! DWP - Domain write protection
  49469. * 0b00..Both cores are allowed
  49470. * 0b01..CM7 is forbidden
  49471. * 0b10..CM4 is forbidden
  49472. * 0b11..Both cores are forbidden
  49473. */
  49474. #define IOMUXC_GPR_GPR2_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR2_DWP_SHIFT)) & IOMUXC_GPR_GPR2_DWP_MASK)
  49475. #define IOMUXC_GPR_GPR2_DWP_LOCK_MASK (0xC0000000U)
  49476. #define IOMUXC_GPR_GPR2_DWP_LOCK_SHIFT (30U)
  49477. /*! DWP_LOCK - Domain write protection lock
  49478. * 0b00..Neither of DWP bits is locked
  49479. * 0b01..The lower DWP bit is locked
  49480. * 0b10..The higher DWP bit is locked
  49481. * 0b11..Both DWP bits are locked
  49482. */
  49483. #define IOMUXC_GPR_GPR2_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR2_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR2_DWP_LOCK_MASK)
  49484. /*! @} */
  49485. /*! @name GPR3 - GPR3 General Purpose Register */
  49486. /*! @{ */
  49487. #define IOMUXC_GPR_GPR3_MQS_CLK_DIV_MASK (0xFFU)
  49488. #define IOMUXC_GPR_GPR3_MQS_CLK_DIV_SHIFT (0U)
  49489. /*! MQS_CLK_DIV - Divider ratio control for mclk from hmclk.
  49490. */
  49491. #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)
  49492. #define IOMUXC_GPR_GPR3_MQS_SW_RST_MASK (0x100U)
  49493. #define IOMUXC_GPR_GPR3_MQS_SW_RST_SHIFT (8U)
  49494. /*! MQS_SW_RST - MQS software reset
  49495. */
  49496. #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)
  49497. #define IOMUXC_GPR_GPR3_MQS_EN_MASK (0x200U)
  49498. #define IOMUXC_GPR_GPR3_MQS_EN_SHIFT (9U)
  49499. /*! MQS_EN - MQS enable
  49500. */
  49501. #define IOMUXC_GPR_GPR3_MQS_EN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR3_MQS_EN_SHIFT)) & IOMUXC_GPR_GPR3_MQS_EN_MASK)
  49502. #define IOMUXC_GPR_GPR3_MQS_OVERSAMPLE_MASK (0x400U)
  49503. #define IOMUXC_GPR_GPR3_MQS_OVERSAMPLE_SHIFT (10U)
  49504. /*! MQS_OVERSAMPLE - Medium Quality Sound (MQS) Oversample
  49505. */
  49506. #define IOMUXC_GPR_GPR3_MQS_OVERSAMPLE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR3_MQS_OVERSAMPLE_SHIFT)) & IOMUXC_GPR_GPR3_MQS_OVERSAMPLE_MASK)
  49507. #define IOMUXC_GPR_GPR3_DWP_MASK (0x30000000U)
  49508. #define IOMUXC_GPR_GPR3_DWP_SHIFT (28U)
  49509. /*! DWP - Domain write protection
  49510. * 0b00..Both cores are allowed
  49511. * 0b01..CM7 is forbidden
  49512. * 0b10..CM4 is forbidden
  49513. * 0b11..Both cores are forbidden
  49514. */
  49515. #define IOMUXC_GPR_GPR3_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR3_DWP_SHIFT)) & IOMUXC_GPR_GPR3_DWP_MASK)
  49516. #define IOMUXC_GPR_GPR3_DWP_LOCK_MASK (0xC0000000U)
  49517. #define IOMUXC_GPR_GPR3_DWP_LOCK_SHIFT (30U)
  49518. /*! DWP_LOCK - Domain write protection lock
  49519. * 0b00..Neither of DWP bits is locked
  49520. * 0b01..The lower DWP bit is locked
  49521. * 0b10..The higher DWP bit is locked
  49522. * 0b11..Both DWP bits are locked
  49523. */
  49524. #define IOMUXC_GPR_GPR3_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR3_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR3_DWP_LOCK_MASK)
  49525. /*! @} */
  49526. /*! @name GPR4 - GPR4 General Purpose Register */
  49527. /*! @{ */
  49528. #define IOMUXC_GPR_GPR4_ENET_TX_CLK_SEL_MASK (0x1U)
  49529. #define IOMUXC_GPR_GPR4_ENET_TX_CLK_SEL_SHIFT (0U)
  49530. /*! ENET_TX_CLK_SEL - ENET TX_CLK select
  49531. */
  49532. #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)
  49533. #define IOMUXC_GPR_GPR4_ENET_REF_CLK_DIR_MASK (0x2U)
  49534. #define IOMUXC_GPR_GPR4_ENET_REF_CLK_DIR_SHIFT (1U)
  49535. /*! ENET_REF_CLK_DIR - ENET_REF_CLK direction control
  49536. */
  49537. #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)
  49538. #define IOMUXC_GPR_GPR4_ENET_TIME_SEL_MASK (0x4U)
  49539. #define IOMUXC_GPR_GPR4_ENET_TIME_SEL_SHIFT (2U)
  49540. /*! ENET_TIME_SEL - ENET master timer source select
  49541. */
  49542. #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)
  49543. #define IOMUXC_GPR_GPR4_ENET_EVENT0IN_SEL_MASK (0x8U)
  49544. #define IOMUXC_GPR_GPR4_ENET_EVENT0IN_SEL_SHIFT (3U)
  49545. /*! ENET_EVENT0IN_SEL - ENET ENET_1588_EVENT0_IN source select
  49546. */
  49547. #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)
  49548. #define IOMUXC_GPR_GPR4_DWP_MASK (0x30000000U)
  49549. #define IOMUXC_GPR_GPR4_DWP_SHIFT (28U)
  49550. /*! DWP - Domain write protection
  49551. * 0b00..Both cores are allowed
  49552. * 0b01..CM7 is forbidden
  49553. * 0b10..CM4 is forbidden
  49554. * 0b11..Both cores are forbidden
  49555. */
  49556. #define IOMUXC_GPR_GPR4_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR4_DWP_SHIFT)) & IOMUXC_GPR_GPR4_DWP_MASK)
  49557. #define IOMUXC_GPR_GPR4_DWP_LOCK_MASK (0xC0000000U)
  49558. #define IOMUXC_GPR_GPR4_DWP_LOCK_SHIFT (30U)
  49559. /*! DWP_LOCK - Domain write protection lock
  49560. * 0b00..Neither of DWP bits is locked
  49561. * 0b01..The lower DWP bit is locked
  49562. * 0b10..The higher DWP bit is locked
  49563. * 0b11..Both DWP bits are locked
  49564. */
  49565. #define IOMUXC_GPR_GPR4_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR4_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR4_DWP_LOCK_MASK)
  49566. /*! @} */
  49567. /*! @name GPR5 - GPR5 General Purpose Register */
  49568. /*! @{ */
  49569. #define IOMUXC_GPR_GPR5_ENET1G_TX_CLK_SEL_MASK (0x1U)
  49570. #define IOMUXC_GPR_GPR5_ENET1G_TX_CLK_SEL_SHIFT (0U)
  49571. /*! ENET1G_TX_CLK_SEL - ENET1G TX_CLK select
  49572. */
  49573. #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)
  49574. #define IOMUXC_GPR_GPR5_ENET1G_REF_CLK_DIR_MASK (0x2U)
  49575. #define IOMUXC_GPR_GPR5_ENET1G_REF_CLK_DIR_SHIFT (1U)
  49576. /*! ENET1G_REF_CLK_DIR - ENET1G_REF_CLK direction control
  49577. */
  49578. #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)
  49579. #define IOMUXC_GPR_GPR5_ENET1G_RGMII_EN_MASK (0x4U)
  49580. #define IOMUXC_GPR_GPR5_ENET1G_RGMII_EN_SHIFT (2U)
  49581. /*! ENET1G_RGMII_EN - ENET1G RGMII TX clock output enable
  49582. */
  49583. #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)
  49584. #define IOMUXC_GPR_GPR5_ENET1G_TIME_SEL_MASK (0x8U)
  49585. #define IOMUXC_GPR_GPR5_ENET1G_TIME_SEL_SHIFT (3U)
  49586. /*! ENET1G_TIME_SEL - ENET1G master timer source select
  49587. */
  49588. #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)
  49589. #define IOMUXC_GPR_GPR5_ENET1G_EVENT0IN_SEL_MASK (0x10U)
  49590. #define IOMUXC_GPR_GPR5_ENET1G_EVENT0IN_SEL_SHIFT (4U)
  49591. /*! ENET1G_EVENT0IN_SEL - ENET1G ENET_1588_EVENT0_IN source select
  49592. */
  49593. #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)
  49594. #define IOMUXC_GPR_GPR5_DWP_MASK (0x30000000U)
  49595. #define IOMUXC_GPR_GPR5_DWP_SHIFT (28U)
  49596. /*! DWP - Domain write protection
  49597. * 0b00..Both cores are allowed
  49598. * 0b01..CM7 is forbidden
  49599. * 0b10..CM4 is forbidden
  49600. * 0b11..Both cores are forbidden
  49601. */
  49602. #define IOMUXC_GPR_GPR5_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR5_DWP_SHIFT)) & IOMUXC_GPR_GPR5_DWP_MASK)
  49603. #define IOMUXC_GPR_GPR5_DWP_LOCK_MASK (0xC0000000U)
  49604. #define IOMUXC_GPR_GPR5_DWP_LOCK_SHIFT (30U)
  49605. /*! DWP_LOCK - Domain write protection lock
  49606. * 0b00..Neither of DWP bits is locked
  49607. * 0b01..The lower DWP bit is locked
  49608. * 0b10..The higher DWP bit is locked
  49609. * 0b11..Both DWP bits are locked
  49610. */
  49611. #define IOMUXC_GPR_GPR5_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR5_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR5_DWP_LOCK_MASK)
  49612. /*! @} */
  49613. /*! @name GPR6 - GPR6 General Purpose Register */
  49614. /*! @{ */
  49615. #define IOMUXC_GPR_GPR6_ENET_QOS_REF_CLK_DIR_MASK (0x1U)
  49616. #define IOMUXC_GPR_GPR6_ENET_QOS_REF_CLK_DIR_SHIFT (0U)
  49617. /*! ENET_QOS_REF_CLK_DIR - ENET_QOS_REF_CLK direction control
  49618. */
  49619. #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)
  49620. #define IOMUXC_GPR_GPR6_ENET_QOS_RGMII_EN_MASK (0x2U)
  49621. #define IOMUXC_GPR_GPR6_ENET_QOS_RGMII_EN_SHIFT (1U)
  49622. /*! ENET_QOS_RGMII_EN - ENET_QOS RGMII TX clock output enable
  49623. */
  49624. #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)
  49625. #define IOMUXC_GPR_GPR6_ENET_QOS_TIME_SEL_MASK (0x4U)
  49626. #define IOMUXC_GPR_GPR6_ENET_QOS_TIME_SEL_SHIFT (2U)
  49627. /*! ENET_QOS_TIME_SEL - ENET_QOS master timer source select
  49628. */
  49629. #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)
  49630. #define IOMUXC_GPR_GPR6_ENET_QOS_INTF_SEL_MASK (0x38U)
  49631. #define IOMUXC_GPR_GPR6_ENET_QOS_INTF_SEL_SHIFT (3U)
  49632. /*! ENET_QOS_INTF_SEL - ENET_QOS PHY Interface Select
  49633. */
  49634. #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)
  49635. #define IOMUXC_GPR_GPR6_ENET_QOS_CLKGEN_EN_MASK (0x40U)
  49636. #define IOMUXC_GPR_GPR6_ENET_QOS_CLKGEN_EN_SHIFT (6U)
  49637. /*! ENET_QOS_CLKGEN_EN - ENET_QOS clock generator enable
  49638. */
  49639. #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)
  49640. #define IOMUXC_GPR_GPR6_ENET_QOS_EVENT0IN_SEL_MASK (0x80U)
  49641. #define IOMUXC_GPR_GPR6_ENET_QOS_EVENT0IN_SEL_SHIFT (7U)
  49642. /*! ENET_QOS_EVENT0IN_SEL - ENET_QOS ENET_1588_EVENT0_IN source select
  49643. */
  49644. #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)
  49645. #define IOMUXC_GPR_GPR6_DWP_MASK (0x30000000U)
  49646. #define IOMUXC_GPR_GPR6_DWP_SHIFT (28U)
  49647. /*! DWP - Domain write protection
  49648. * 0b00..Both cores are allowed
  49649. * 0b01..CM7 is forbidden
  49650. * 0b10..CM4 is forbidden
  49651. * 0b11..Both cores are forbidden
  49652. */
  49653. #define IOMUXC_GPR_GPR6_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR6_DWP_SHIFT)) & IOMUXC_GPR_GPR6_DWP_MASK)
  49654. #define IOMUXC_GPR_GPR6_DWP_LOCK_MASK (0xC0000000U)
  49655. #define IOMUXC_GPR_GPR6_DWP_LOCK_SHIFT (30U)
  49656. /*! DWP_LOCK - Domain write protection lock
  49657. * 0b00..Neither of DWP bits is locked
  49658. * 0b01..The lower DWP bit is locked
  49659. * 0b10..The higher DWP bit is locked
  49660. * 0b11..Both DWP bits are locked
  49661. */
  49662. #define IOMUXC_GPR_GPR6_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR6_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR6_DWP_LOCK_MASK)
  49663. /*! @} */
  49664. /*! @name GPR7 - GPR7 General Purpose Register */
  49665. /*! @{ */
  49666. #define IOMUXC_GPR_GPR7_GINT_MASK (0x1U)
  49667. #define IOMUXC_GPR_GPR7_GINT_SHIFT (0U)
  49668. /*! GINT - Global interrupt
  49669. */
  49670. #define IOMUXC_GPR_GPR7_GINT(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR7_GINT_SHIFT)) & IOMUXC_GPR_GPR7_GINT_MASK)
  49671. #define IOMUXC_GPR_GPR7_DWP_MASK (0x30000000U)
  49672. #define IOMUXC_GPR_GPR7_DWP_SHIFT (28U)
  49673. /*! DWP - Domain write protection
  49674. * 0b00..Both cores are allowed
  49675. * 0b01..CM7 is forbidden
  49676. * 0b10..CM4 is forbidden
  49677. * 0b11..Both cores are forbidden
  49678. */
  49679. #define IOMUXC_GPR_GPR7_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR7_DWP_SHIFT)) & IOMUXC_GPR_GPR7_DWP_MASK)
  49680. #define IOMUXC_GPR_GPR7_DWP_LOCK_MASK (0xC0000000U)
  49681. #define IOMUXC_GPR_GPR7_DWP_LOCK_SHIFT (30U)
  49682. /*! DWP_LOCK - Domain write protection lock
  49683. * 0b00..Neither of DWP bits is locked
  49684. * 0b01..The lower DWP bit is locked
  49685. * 0b10..The higher DWP bit is locked
  49686. * 0b11..Both DWP bits are locked
  49687. */
  49688. #define IOMUXC_GPR_GPR7_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR7_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR7_DWP_LOCK_MASK)
  49689. /*! @} */
  49690. /*! @name GPR8 - GPR8 General Purpose Register */
  49691. /*! @{ */
  49692. #define IOMUXC_GPR_GPR8_WDOG1_MASK_MASK (0x1U)
  49693. #define IOMUXC_GPR_GPR8_WDOG1_MASK_SHIFT (0U)
  49694. /*! WDOG1_MASK - WDOG1 timeout mask for WDOG_ANY
  49695. */
  49696. #define IOMUXC_GPR_GPR8_WDOG1_MASK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR8_WDOG1_MASK_SHIFT)) & IOMUXC_GPR_GPR8_WDOG1_MASK_MASK)
  49697. #define IOMUXC_GPR_GPR8_DWP_MASK (0x30000000U)
  49698. #define IOMUXC_GPR_GPR8_DWP_SHIFT (28U)
  49699. /*! DWP - Domain write protection
  49700. * 0b00..Both cores are allowed
  49701. * 0b01..CM7 is forbidden
  49702. * 0b10..CM4 is forbidden
  49703. * 0b11..Both cores are forbidden
  49704. */
  49705. #define IOMUXC_GPR_GPR8_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR8_DWP_SHIFT)) & IOMUXC_GPR_GPR8_DWP_MASK)
  49706. #define IOMUXC_GPR_GPR8_DWP_LOCK_MASK (0xC0000000U)
  49707. #define IOMUXC_GPR_GPR8_DWP_LOCK_SHIFT (30U)
  49708. /*! DWP_LOCK - Domain write protection lock
  49709. * 0b00..Neither of DWP bits is locked
  49710. * 0b01..The lower DWP bit is locked
  49711. * 0b10..The higher DWP bit is locked
  49712. * 0b11..Both DWP bits are locked
  49713. */
  49714. #define IOMUXC_GPR_GPR8_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR8_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR8_DWP_LOCK_MASK)
  49715. /*! @} */
  49716. /*! @name GPR9 - GPR9 General Purpose Register */
  49717. /*! @{ */
  49718. #define IOMUXC_GPR_GPR9_WDOG2_MASK_MASK (0x1U)
  49719. #define IOMUXC_GPR_GPR9_WDOG2_MASK_SHIFT (0U)
  49720. /*! WDOG2_MASK - WDOG2 timeout mask for WDOG_ANY
  49721. */
  49722. #define IOMUXC_GPR_GPR9_WDOG2_MASK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR9_WDOG2_MASK_SHIFT)) & IOMUXC_GPR_GPR9_WDOG2_MASK_MASK)
  49723. #define IOMUXC_GPR_GPR9_DWP_MASK (0x30000000U)
  49724. #define IOMUXC_GPR_GPR9_DWP_SHIFT (28U)
  49725. /*! DWP - Domain write protection
  49726. * 0b00..Both cores are allowed
  49727. * 0b01..CM7 is forbidden
  49728. * 0b10..CM4 is forbidden
  49729. * 0b11..Both cores are forbidden
  49730. */
  49731. #define IOMUXC_GPR_GPR9_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR9_DWP_SHIFT)) & IOMUXC_GPR_GPR9_DWP_MASK)
  49732. #define IOMUXC_GPR_GPR9_DWP_LOCK_MASK (0xC0000000U)
  49733. #define IOMUXC_GPR_GPR9_DWP_LOCK_SHIFT (30U)
  49734. /*! DWP_LOCK - Domain write protection lock
  49735. * 0b00..Neither of DWP bits is locked
  49736. * 0b01..The lower DWP bit is locked
  49737. * 0b10..The higher DWP bit is locked
  49738. * 0b11..Both DWP bits are locked
  49739. */
  49740. #define IOMUXC_GPR_GPR9_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR9_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR9_DWP_LOCK_MASK)
  49741. /*! @} */
  49742. /*! @name GPR10 - GPR10 General Purpose Register */
  49743. /*! @{ */
  49744. #define IOMUXC_GPR_GPR10_DWP_MASK (0x30000000U)
  49745. #define IOMUXC_GPR_GPR10_DWP_SHIFT (28U)
  49746. /*! DWP - Domain write protection
  49747. * 0b00..Both cores are allowed
  49748. * 0b01..CM7 is forbidden
  49749. * 0b10..CM4 is forbidden
  49750. * 0b11..Both cores are forbidden
  49751. */
  49752. #define IOMUXC_GPR_GPR10_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR10_DWP_SHIFT)) & IOMUXC_GPR_GPR10_DWP_MASK)
  49753. #define IOMUXC_GPR_GPR10_DWP_LOCK_MASK (0xC0000000U)
  49754. #define IOMUXC_GPR_GPR10_DWP_LOCK_SHIFT (30U)
  49755. /*! DWP_LOCK - Domain write protection lock
  49756. * 0b00..Neither of DWP bits is locked
  49757. * 0b01..The lower DWP bit is locked
  49758. * 0b10..The higher DWP bit is locked
  49759. * 0b11..Both DWP bits are locked
  49760. */
  49761. #define IOMUXC_GPR_GPR10_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR10_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR10_DWP_LOCK_MASK)
  49762. /*! @} */
  49763. /*! @name GPR11 - GPR11 General Purpose Register */
  49764. /*! @{ */
  49765. #define IOMUXC_GPR_GPR11_DWP_MASK (0x30000000U)
  49766. #define IOMUXC_GPR_GPR11_DWP_SHIFT (28U)
  49767. /*! DWP - Domain write protection
  49768. * 0b00..Both cores are allowed
  49769. * 0b01..CM7 is forbidden
  49770. * 0b10..CM4 is forbidden
  49771. * 0b11..Both cores are forbidden
  49772. */
  49773. #define IOMUXC_GPR_GPR11_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR11_DWP_SHIFT)) & IOMUXC_GPR_GPR11_DWP_MASK)
  49774. #define IOMUXC_GPR_GPR11_DWP_LOCK_MASK (0xC0000000U)
  49775. #define IOMUXC_GPR_GPR11_DWP_LOCK_SHIFT (30U)
  49776. /*! DWP_LOCK - Domain write protection lock
  49777. * 0b00..Neither of DWP bits is locked
  49778. * 0b01..The lower DWP bit is locked
  49779. * 0b10..The higher DWP bit is locked
  49780. * 0b11..Both DWP bits are locked
  49781. */
  49782. #define IOMUXC_GPR_GPR11_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR11_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR11_DWP_LOCK_MASK)
  49783. /*! @} */
  49784. /*! @name GPR12 - GPR12 General Purpose Register */
  49785. /*! @{ */
  49786. #define IOMUXC_GPR_GPR12_QTIMER1_TMR_CNTS_FREEZE_MASK (0x1U)
  49787. #define IOMUXC_GPR_GPR12_QTIMER1_TMR_CNTS_FREEZE_SHIFT (0U)
  49788. /*! QTIMER1_TMR_CNTS_FREEZE - QTIMER1 timer counter freeze
  49789. */
  49790. #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)
  49791. #define IOMUXC_GPR_GPR12_QTIMER1_TRM0_INPUT_SEL_MASK (0x100U)
  49792. #define IOMUXC_GPR_GPR12_QTIMER1_TRM0_INPUT_SEL_SHIFT (8U)
  49793. /*! QTIMER1_TRM0_INPUT_SEL - QTIMER1 TMR0 input select
  49794. */
  49795. #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)
  49796. #define IOMUXC_GPR_GPR12_QTIMER1_TRM1_INPUT_SEL_MASK (0x200U)
  49797. #define IOMUXC_GPR_GPR12_QTIMER1_TRM1_INPUT_SEL_SHIFT (9U)
  49798. /*! QTIMER1_TRM1_INPUT_SEL - QTIMER1 TMR1 input select
  49799. */
  49800. #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)
  49801. #define IOMUXC_GPR_GPR12_QTIMER1_TRM2_INPUT_SEL_MASK (0x400U)
  49802. #define IOMUXC_GPR_GPR12_QTIMER1_TRM2_INPUT_SEL_SHIFT (10U)
  49803. /*! QTIMER1_TRM2_INPUT_SEL - QTIMER1 TMR2 input select
  49804. */
  49805. #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)
  49806. #define IOMUXC_GPR_GPR12_QTIMER1_TRM3_INPUT_SEL_MASK (0x800U)
  49807. #define IOMUXC_GPR_GPR12_QTIMER1_TRM3_INPUT_SEL_SHIFT (11U)
  49808. /*! QTIMER1_TRM3_INPUT_SEL - QTIMER1 TMR3 input select
  49809. */
  49810. #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)
  49811. #define IOMUXC_GPR_GPR12_DWP_MASK (0x30000000U)
  49812. #define IOMUXC_GPR_GPR12_DWP_SHIFT (28U)
  49813. /*! DWP - Domain write protection
  49814. * 0b00..Both cores are allowed
  49815. * 0b01..CM7 is forbidden
  49816. * 0b10..CM4 is forbidden
  49817. * 0b11..Both cores are forbidden
  49818. */
  49819. #define IOMUXC_GPR_GPR12_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR12_DWP_SHIFT)) & IOMUXC_GPR_GPR12_DWP_MASK)
  49820. #define IOMUXC_GPR_GPR12_DWP_LOCK_MASK (0xC0000000U)
  49821. #define IOMUXC_GPR_GPR12_DWP_LOCK_SHIFT (30U)
  49822. /*! DWP_LOCK - Domain write protection lock
  49823. * 0b00..Neither of DWP bits is locked
  49824. * 0b01..The lower DWP bit is locked
  49825. * 0b10..The higher DWP bit is locked
  49826. * 0b11..Both DWP bits are locked
  49827. */
  49828. #define IOMUXC_GPR_GPR12_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR12_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR12_DWP_LOCK_MASK)
  49829. /*! @} */
  49830. /*! @name GPR13 - GPR13 General Purpose Register */
  49831. /*! @{ */
  49832. #define IOMUXC_GPR_GPR13_QTIMER2_TMR_CNTS_FREEZE_MASK (0x1U)
  49833. #define IOMUXC_GPR_GPR13_QTIMER2_TMR_CNTS_FREEZE_SHIFT (0U)
  49834. /*! QTIMER2_TMR_CNTS_FREEZE - QTIMER2 timer counter freeze
  49835. */
  49836. #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)
  49837. #define IOMUXC_GPR_GPR13_QTIMER2_TRM0_INPUT_SEL_MASK (0x100U)
  49838. #define IOMUXC_GPR_GPR13_QTIMER2_TRM0_INPUT_SEL_SHIFT (8U)
  49839. /*! QTIMER2_TRM0_INPUT_SEL - QTIMER2 TMR0 input select
  49840. */
  49841. #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)
  49842. #define IOMUXC_GPR_GPR13_QTIMER2_TRM1_INPUT_SEL_MASK (0x200U)
  49843. #define IOMUXC_GPR_GPR13_QTIMER2_TRM1_INPUT_SEL_SHIFT (9U)
  49844. /*! QTIMER2_TRM1_INPUT_SEL - QTIMER2 TMR1 input select
  49845. */
  49846. #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)
  49847. #define IOMUXC_GPR_GPR13_QTIMER2_TRM2_INPUT_SEL_MASK (0x400U)
  49848. #define IOMUXC_GPR_GPR13_QTIMER2_TRM2_INPUT_SEL_SHIFT (10U)
  49849. /*! QTIMER2_TRM2_INPUT_SEL - QTIMER2 TMR2 input select
  49850. */
  49851. #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)
  49852. #define IOMUXC_GPR_GPR13_QTIMER2_TRM3_INPUT_SEL_MASK (0x800U)
  49853. #define IOMUXC_GPR_GPR13_QTIMER2_TRM3_INPUT_SEL_SHIFT (11U)
  49854. /*! QTIMER2_TRM3_INPUT_SEL - QTIMER2 TMR3 input select
  49855. */
  49856. #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)
  49857. #define IOMUXC_GPR_GPR13_DWP_MASK (0x30000000U)
  49858. #define IOMUXC_GPR_GPR13_DWP_SHIFT (28U)
  49859. /*! DWP - Domain write protection
  49860. * 0b00..Both cores are allowed
  49861. * 0b01..CM7 is forbidden
  49862. * 0b10..CM4 is forbidden
  49863. * 0b11..Both cores are forbidden
  49864. */
  49865. #define IOMUXC_GPR_GPR13_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR13_DWP_SHIFT)) & IOMUXC_GPR_GPR13_DWP_MASK)
  49866. #define IOMUXC_GPR_GPR13_DWP_LOCK_MASK (0xC0000000U)
  49867. #define IOMUXC_GPR_GPR13_DWP_LOCK_SHIFT (30U)
  49868. /*! DWP_LOCK - Domain write protection lock
  49869. * 0b00..Neither of DWP bits is locked
  49870. * 0b01..The lower DWP bit is locked
  49871. * 0b10..The higher DWP bit is locked
  49872. * 0b11..Both DWP bits are locked
  49873. */
  49874. #define IOMUXC_GPR_GPR13_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR13_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR13_DWP_LOCK_MASK)
  49875. /*! @} */
  49876. /*! @name GPR14 - GPR14 General Purpose Register */
  49877. /*! @{ */
  49878. #define IOMUXC_GPR_GPR14_QTIMER3_TMR_CNTS_FREEZE_MASK (0x1U)
  49879. #define IOMUXC_GPR_GPR14_QTIMER3_TMR_CNTS_FREEZE_SHIFT (0U)
  49880. /*! QTIMER3_TMR_CNTS_FREEZE - QTIMER3 timer counter freeze
  49881. */
  49882. #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)
  49883. #define IOMUXC_GPR_GPR14_QTIMER3_TRM0_INPUT_SEL_MASK (0x100U)
  49884. #define IOMUXC_GPR_GPR14_QTIMER3_TRM0_INPUT_SEL_SHIFT (8U)
  49885. /*! QTIMER3_TRM0_INPUT_SEL - QTIMER3 TMR0 input select
  49886. */
  49887. #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)
  49888. #define IOMUXC_GPR_GPR14_QTIMER3_TRM1_INPUT_SEL_MASK (0x200U)
  49889. #define IOMUXC_GPR_GPR14_QTIMER3_TRM1_INPUT_SEL_SHIFT (9U)
  49890. /*! QTIMER3_TRM1_INPUT_SEL - QTIMER3 TMR1 input select
  49891. */
  49892. #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)
  49893. #define IOMUXC_GPR_GPR14_QTIMER3_TRM2_INPUT_SEL_MASK (0x400U)
  49894. #define IOMUXC_GPR_GPR14_QTIMER3_TRM2_INPUT_SEL_SHIFT (10U)
  49895. /*! QTIMER3_TRM2_INPUT_SEL - QTIMER3 TMR2 input select
  49896. */
  49897. #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)
  49898. #define IOMUXC_GPR_GPR14_QTIMER3_TRM3_INPUT_SEL_MASK (0x800U)
  49899. #define IOMUXC_GPR_GPR14_QTIMER3_TRM3_INPUT_SEL_SHIFT (11U)
  49900. /*! QTIMER3_TRM3_INPUT_SEL - QTIMER3 TMR3 input select
  49901. */
  49902. #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)
  49903. #define IOMUXC_GPR_GPR14_DWP_MASK (0x30000000U)
  49904. #define IOMUXC_GPR_GPR14_DWP_SHIFT (28U)
  49905. /*! DWP - Domain write protection
  49906. * 0b00..Both cores are allowed
  49907. * 0b01..CM7 is forbidden
  49908. * 0b10..CM4 is forbidden
  49909. * 0b11..Both cores are forbidden
  49910. */
  49911. #define IOMUXC_GPR_GPR14_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR14_DWP_SHIFT)) & IOMUXC_GPR_GPR14_DWP_MASK)
  49912. #define IOMUXC_GPR_GPR14_DWP_LOCK_MASK (0xC0000000U)
  49913. #define IOMUXC_GPR_GPR14_DWP_LOCK_SHIFT (30U)
  49914. /*! DWP_LOCK - Domain write protection lock
  49915. * 0b00..Neither of DWP bits is locked
  49916. * 0b01..The lower DWP bit is locked
  49917. * 0b10..The higher DWP bit is locked
  49918. * 0b11..Both DWP bits are locked
  49919. */
  49920. #define IOMUXC_GPR_GPR14_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR14_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR14_DWP_LOCK_MASK)
  49921. /*! @} */
  49922. /*! @name GPR15 - GPR15 General Purpose Register */
  49923. /*! @{ */
  49924. #define IOMUXC_GPR_GPR15_QTIMER4_TMR_CNTS_FREEZE_MASK (0x1U)
  49925. #define IOMUXC_GPR_GPR15_QTIMER4_TMR_CNTS_FREEZE_SHIFT (0U)
  49926. /*! QTIMER4_TMR_CNTS_FREEZE - QTIMER4 timer counter freeze
  49927. */
  49928. #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)
  49929. #define IOMUXC_GPR_GPR15_QTIMER4_TRM0_INPUT_SEL_MASK (0x100U)
  49930. #define IOMUXC_GPR_GPR15_QTIMER4_TRM0_INPUT_SEL_SHIFT (8U)
  49931. /*! QTIMER4_TRM0_INPUT_SEL - QTIMER4 TMR0 input select
  49932. */
  49933. #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)
  49934. #define IOMUXC_GPR_GPR15_QTIMER4_TRM1_INPUT_SEL_MASK (0x200U)
  49935. #define IOMUXC_GPR_GPR15_QTIMER4_TRM1_INPUT_SEL_SHIFT (9U)
  49936. /*! QTIMER4_TRM1_INPUT_SEL - QTIMER4 TMR1 input select
  49937. */
  49938. #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)
  49939. #define IOMUXC_GPR_GPR15_QTIMER4_TRM2_INPUT_SEL_MASK (0x400U)
  49940. #define IOMUXC_GPR_GPR15_QTIMER4_TRM2_INPUT_SEL_SHIFT (10U)
  49941. /*! QTIMER4_TRM2_INPUT_SEL - QTIMER4 TMR2 input select
  49942. */
  49943. #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)
  49944. #define IOMUXC_GPR_GPR15_QTIMER4_TRM3_INPUT_SEL_MASK (0x800U)
  49945. #define IOMUXC_GPR_GPR15_QTIMER4_TRM3_INPUT_SEL_SHIFT (11U)
  49946. /*! QTIMER4_TRM3_INPUT_SEL - QTIMER4 TMR3 input select
  49947. */
  49948. #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)
  49949. #define IOMUXC_GPR_GPR15_DWP_MASK (0x30000000U)
  49950. #define IOMUXC_GPR_GPR15_DWP_SHIFT (28U)
  49951. /*! DWP - Domain write protection
  49952. * 0b00..Both cores are allowed
  49953. * 0b01..CM7 is forbidden
  49954. * 0b10..CM4 is forbidden
  49955. * 0b11..Both cores are forbidden
  49956. */
  49957. #define IOMUXC_GPR_GPR15_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR15_DWP_SHIFT)) & IOMUXC_GPR_GPR15_DWP_MASK)
  49958. #define IOMUXC_GPR_GPR15_DWP_LOCK_MASK (0xC0000000U)
  49959. #define IOMUXC_GPR_GPR15_DWP_LOCK_SHIFT (30U)
  49960. /*! DWP_LOCK - Domain write protection lock
  49961. * 0b00..Neither of DWP bits is locked
  49962. * 0b01..The lower DWP bit is locked
  49963. * 0b10..The higher DWP bit is locked
  49964. * 0b11..Both DWP bits are locked
  49965. */
  49966. #define IOMUXC_GPR_GPR15_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR15_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR15_DWP_LOCK_MASK)
  49967. /*! @} */
  49968. /*! @name GPR16 - GPR16 General Purpose Register */
  49969. /*! @{ */
  49970. #define IOMUXC_GPR_GPR16_FLEXRAM_BANK_CFG_SEL_MASK (0x4U)
  49971. #define IOMUXC_GPR_GPR16_FLEXRAM_BANK_CFG_SEL_SHIFT (2U)
  49972. /*! FLEXRAM_BANK_CFG_SEL - FlexRAM bank config source select
  49973. */
  49974. #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)
  49975. #define IOMUXC_GPR_GPR16_CM7_FORCE_HCLK_EN_MASK (0x8U)
  49976. #define IOMUXC_GPR_GPR16_CM7_FORCE_HCLK_EN_SHIFT (3U)
  49977. /*! CM7_FORCE_HCLK_EN - CM7 platform AHB clock enable
  49978. */
  49979. #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)
  49980. #define IOMUXC_GPR_GPR16_M7_GPC_SLEEP_SEL_MASK (0x20U)
  49981. #define IOMUXC_GPR_GPR16_M7_GPC_SLEEP_SEL_SHIFT (5U)
  49982. /*! M7_GPC_SLEEP_SEL - CM7 sleep request selection
  49983. */
  49984. #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)
  49985. #define IOMUXC_GPR_GPR16_DWP_MASK (0x30000000U)
  49986. #define IOMUXC_GPR_GPR16_DWP_SHIFT (28U)
  49987. /*! DWP - Domain write protection
  49988. * 0b00..Both cores are allowed
  49989. * 0b01..CM7 is forbidden
  49990. * 0b10..CM4 is forbidden
  49991. * 0b11..Both cores are forbidden
  49992. */
  49993. #define IOMUXC_GPR_GPR16_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR16_DWP_SHIFT)) & IOMUXC_GPR_GPR16_DWP_MASK)
  49994. #define IOMUXC_GPR_GPR16_DWP_LOCK_MASK (0xC0000000U)
  49995. #define IOMUXC_GPR_GPR16_DWP_LOCK_SHIFT (30U)
  49996. /*! DWP_LOCK - Domain write protection lock
  49997. * 0b00..Neither of DWP bits is locked
  49998. * 0b01..The lower DWP bit is locked
  49999. * 0b10..The higher DWP bit is locked
  50000. * 0b11..Both DWP bits are locked
  50001. */
  50002. #define IOMUXC_GPR_GPR16_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR16_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR16_DWP_LOCK_MASK)
  50003. /*! @} */
  50004. /*! @name GPR17 - GPR17 General Purpose Register */
  50005. /*! @{ */
  50006. #define IOMUXC_GPR_GPR17_FLEXRAM_BANK_CFG_LOW_MASK (0xFFFFU)
  50007. #define IOMUXC_GPR_GPR17_FLEXRAM_BANK_CFG_LOW_SHIFT (0U)
  50008. /*! FLEXRAM_BANK_CFG_LOW - FlexRAM bank config value
  50009. */
  50010. #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)
  50011. #define IOMUXC_GPR_GPR17_DWP_MASK (0x30000000U)
  50012. #define IOMUXC_GPR_GPR17_DWP_SHIFT (28U)
  50013. /*! DWP - Domain write protection
  50014. * 0b00..Both cores are allowed
  50015. * 0b01..CM7 is forbidden
  50016. * 0b10..CM4 is forbidden
  50017. * 0b11..Both cores are forbidden
  50018. */
  50019. #define IOMUXC_GPR_GPR17_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR17_DWP_SHIFT)) & IOMUXC_GPR_GPR17_DWP_MASK)
  50020. #define IOMUXC_GPR_GPR17_DWP_LOCK_MASK (0xC0000000U)
  50021. #define IOMUXC_GPR_GPR17_DWP_LOCK_SHIFT (30U)
  50022. /*! DWP_LOCK - Domain write protection lock
  50023. * 0b00..Neither of DWP bits is locked
  50024. * 0b01..The lower DWP bit is locked
  50025. * 0b10..The higher DWP bit is locked
  50026. * 0b11..Both DWP bits are locked
  50027. */
  50028. #define IOMUXC_GPR_GPR17_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR17_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR17_DWP_LOCK_MASK)
  50029. /*! @} */
  50030. /*! @name GPR18 - GPR18 General Purpose Register */
  50031. /*! @{ */
  50032. #define IOMUXC_GPR_GPR18_FLEXRAM_BANK_CFG_HIGH_MASK (0xFFFFU)
  50033. #define IOMUXC_GPR_GPR18_FLEXRAM_BANK_CFG_HIGH_SHIFT (0U)
  50034. /*! FLEXRAM_BANK_CFG_HIGH - FlexRAM bank config value
  50035. */
  50036. #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)
  50037. #define IOMUXC_GPR_GPR18_DWP_MASK (0x30000000U)
  50038. #define IOMUXC_GPR_GPR18_DWP_SHIFT (28U)
  50039. /*! DWP - Domain write protection
  50040. * 0b00..Both cores are allowed
  50041. * 0b01..CM7 is forbidden
  50042. * 0b10..CM4 is forbidden
  50043. * 0b11..Both cores are forbidden
  50044. */
  50045. #define IOMUXC_GPR_GPR18_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR18_DWP_SHIFT)) & IOMUXC_GPR_GPR18_DWP_MASK)
  50046. #define IOMUXC_GPR_GPR18_DWP_LOCK_MASK (0xC0000000U)
  50047. #define IOMUXC_GPR_GPR18_DWP_LOCK_SHIFT (30U)
  50048. /*! DWP_LOCK - Domain write protection lock
  50049. * 0b00..Neither of DWP bits is locked
  50050. * 0b01..The lower DWP bit is locked
  50051. * 0b10..The higher DWP bit is locked
  50052. * 0b11..Both DWP bits are locked
  50053. */
  50054. #define IOMUXC_GPR_GPR18_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR18_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR18_DWP_LOCK_MASK)
  50055. /*! @} */
  50056. /*! @name GPR20 - GPR20 General Purpose Register */
  50057. /*! @{ */
  50058. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_4_MASK (0x1U)
  50059. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_4_SHIFT (0U)
  50060. /*! IOMUXC_XBAR_DIR_SEL_4 - IOMUXC XBAR_INOUT4 function direction select
  50061. */
  50062. #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)
  50063. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_5_MASK (0x2U)
  50064. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_5_SHIFT (1U)
  50065. /*! IOMUXC_XBAR_DIR_SEL_5 - IOMUXC XBAR_INOUT5 function direction select
  50066. */
  50067. #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)
  50068. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_6_MASK (0x4U)
  50069. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_6_SHIFT (2U)
  50070. /*! IOMUXC_XBAR_DIR_SEL_6 - IOMUXC XBAR_INOUT6 function direction select
  50071. */
  50072. #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)
  50073. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_7_MASK (0x8U)
  50074. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_7_SHIFT (3U)
  50075. /*! IOMUXC_XBAR_DIR_SEL_7 - IOMUXC XBAR_INOUT7 function direction select
  50076. */
  50077. #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)
  50078. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_8_MASK (0x10U)
  50079. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_8_SHIFT (4U)
  50080. /*! IOMUXC_XBAR_DIR_SEL_8 - IOMUXC XBAR_INOUT8 function direction select
  50081. */
  50082. #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)
  50083. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_9_MASK (0x20U)
  50084. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_9_SHIFT (5U)
  50085. /*! IOMUXC_XBAR_DIR_SEL_9 - IOMUXC XBAR_INOUT9 function direction select
  50086. */
  50087. #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)
  50088. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_10_MASK (0x40U)
  50089. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_10_SHIFT (6U)
  50090. /*! IOMUXC_XBAR_DIR_SEL_10 - IOMUXC XBAR_INOUT10 function direction select
  50091. */
  50092. #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)
  50093. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_11_MASK (0x80U)
  50094. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_11_SHIFT (7U)
  50095. /*! IOMUXC_XBAR_DIR_SEL_11 - IOMUXC XBAR_INOUT11 function direction select
  50096. */
  50097. #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)
  50098. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_12_MASK (0x100U)
  50099. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_12_SHIFT (8U)
  50100. /*! IOMUXC_XBAR_DIR_SEL_12 - IOMUXC XBAR_INOUT12 function direction select
  50101. */
  50102. #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)
  50103. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_13_MASK (0x200U)
  50104. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_13_SHIFT (9U)
  50105. /*! IOMUXC_XBAR_DIR_SEL_13 - IOMUXC XBAR_INOUT13 function direction select
  50106. */
  50107. #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)
  50108. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_14_MASK (0x400U)
  50109. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_14_SHIFT (10U)
  50110. /*! IOMUXC_XBAR_DIR_SEL_14 - IOMUXC XBAR_INOUT14 function direction select
  50111. */
  50112. #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)
  50113. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_15_MASK (0x800U)
  50114. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_15_SHIFT (11U)
  50115. /*! IOMUXC_XBAR_DIR_SEL_15 - IOMUXC XBAR_INOUT15 function direction select
  50116. */
  50117. #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)
  50118. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_16_MASK (0x1000U)
  50119. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_16_SHIFT (12U)
  50120. /*! IOMUXC_XBAR_DIR_SEL_16 - IOMUXC XBAR_INOUT16 function direction select
  50121. */
  50122. #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)
  50123. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_17_MASK (0x2000U)
  50124. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_17_SHIFT (13U)
  50125. /*! IOMUXC_XBAR_DIR_SEL_17 - IOMUXC XBAR_INOUT17 function direction select
  50126. */
  50127. #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)
  50128. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_18_MASK (0x4000U)
  50129. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_18_SHIFT (14U)
  50130. /*! IOMUXC_XBAR_DIR_SEL_18 - IOMUXC XBAR_INOUT18 function direction select
  50131. */
  50132. #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)
  50133. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_19_MASK (0x8000U)
  50134. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_19_SHIFT (15U)
  50135. /*! IOMUXC_XBAR_DIR_SEL_19 - IOMUXC XBAR_INOUT19 function direction select
  50136. */
  50137. #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)
  50138. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_20_MASK (0x10000U)
  50139. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_20_SHIFT (16U)
  50140. /*! IOMUXC_XBAR_DIR_SEL_20 - IOMUXC XBAR_INOUT20 function direction select
  50141. */
  50142. #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)
  50143. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_21_MASK (0x20000U)
  50144. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_21_SHIFT (17U)
  50145. /*! IOMUXC_XBAR_DIR_SEL_21 - IOMUXC XBAR_INOUT21 function direction select
  50146. */
  50147. #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)
  50148. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_22_MASK (0x40000U)
  50149. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_22_SHIFT (18U)
  50150. /*! IOMUXC_XBAR_DIR_SEL_22 - IOMUXC XBAR_INOUT22 function direction select
  50151. */
  50152. #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)
  50153. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_23_MASK (0x80000U)
  50154. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_23_SHIFT (19U)
  50155. /*! IOMUXC_XBAR_DIR_SEL_23 - IOMUXC XBAR_INOUT23 function direction select
  50156. */
  50157. #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)
  50158. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_24_MASK (0x100000U)
  50159. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_24_SHIFT (20U)
  50160. /*! IOMUXC_XBAR_DIR_SEL_24 - IOMUXC XBAR_INOUT24 function direction select
  50161. */
  50162. #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)
  50163. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_25_MASK (0x200000U)
  50164. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_25_SHIFT (21U)
  50165. /*! IOMUXC_XBAR_DIR_SEL_25 - IOMUXC XBAR_INOUT25 function direction select
  50166. */
  50167. #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)
  50168. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_26_MASK (0x400000U)
  50169. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_26_SHIFT (22U)
  50170. /*! IOMUXC_XBAR_DIR_SEL_26 - IOMUXC XBAR_INOUT26 function direction select
  50171. */
  50172. #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)
  50173. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_27_MASK (0x800000U)
  50174. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_27_SHIFT (23U)
  50175. /*! IOMUXC_XBAR_DIR_SEL_27 - IOMUXC XBAR_INOUT27 function direction select
  50176. */
  50177. #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)
  50178. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_28_MASK (0x1000000U)
  50179. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_28_SHIFT (24U)
  50180. /*! IOMUXC_XBAR_DIR_SEL_28 - IOMUXC XBAR_INOUT28 function direction select
  50181. */
  50182. #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)
  50183. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_29_MASK (0x2000000U)
  50184. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_29_SHIFT (25U)
  50185. /*! IOMUXC_XBAR_DIR_SEL_29 - IOMUXC XBAR_INOUT29 function direction select
  50186. */
  50187. #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)
  50188. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_30_MASK (0x4000000U)
  50189. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_30_SHIFT (26U)
  50190. /*! IOMUXC_XBAR_DIR_SEL_30 - IOMUXC XBAR_INOUT30 function direction select
  50191. */
  50192. #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)
  50193. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_31_MASK (0x8000000U)
  50194. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_31_SHIFT (27U)
  50195. /*! IOMUXC_XBAR_DIR_SEL_31 - IOMUXC XBAR_INOUT31 function direction select
  50196. */
  50197. #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)
  50198. #define IOMUXC_GPR_GPR20_DWP_MASK (0x30000000U)
  50199. #define IOMUXC_GPR_GPR20_DWP_SHIFT (28U)
  50200. /*! DWP - Domain write protection
  50201. * 0b00..Both cores are allowed
  50202. * 0b01..CM7 is forbidden
  50203. * 0b10..CM4 is forbidden
  50204. * 0b11..Both cores are forbidden
  50205. */
  50206. #define IOMUXC_GPR_GPR20_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR20_DWP_SHIFT)) & IOMUXC_GPR_GPR20_DWP_MASK)
  50207. #define IOMUXC_GPR_GPR20_DWP_LOCK_MASK (0xC0000000U)
  50208. #define IOMUXC_GPR_GPR20_DWP_LOCK_SHIFT (30U)
  50209. /*! DWP_LOCK - Domain write protection lock
  50210. * 0b00..Neither of DWP bits is locked
  50211. * 0b01..The lower DWP bit is locked
  50212. * 0b10..The higher DWP bit is locked
  50213. * 0b11..Both DWP bits are locked
  50214. */
  50215. #define IOMUXC_GPR_GPR20_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR20_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR20_DWP_LOCK_MASK)
  50216. /*! @} */
  50217. /*! @name GPR21 - GPR21 General Purpose Register */
  50218. /*! @{ */
  50219. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_32_MASK (0x1U)
  50220. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_32_SHIFT (0U)
  50221. /*! IOMUXC_XBAR_DIR_SEL_32 - IOMUXC XBAR_INOUT32 function direction select
  50222. */
  50223. #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)
  50224. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_33_MASK (0x2U)
  50225. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_33_SHIFT (1U)
  50226. /*! IOMUXC_XBAR_DIR_SEL_33 - IOMUXC XBAR_INOUT33 function direction select
  50227. */
  50228. #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)
  50229. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_34_MASK (0x4U)
  50230. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_34_SHIFT (2U)
  50231. /*! IOMUXC_XBAR_DIR_SEL_34 - IOMUXC XBAR_INOUT34 function direction select
  50232. */
  50233. #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)
  50234. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_35_MASK (0x8U)
  50235. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_35_SHIFT (3U)
  50236. /*! IOMUXC_XBAR_DIR_SEL_35 - IOMUXC XBAR_INOUT35 function direction select
  50237. */
  50238. #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)
  50239. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_36_MASK (0x10U)
  50240. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_36_SHIFT (4U)
  50241. /*! IOMUXC_XBAR_DIR_SEL_36 - IOMUXC XBAR_INOUT36 function direction select
  50242. */
  50243. #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)
  50244. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_37_MASK (0x20U)
  50245. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_37_SHIFT (5U)
  50246. /*! IOMUXC_XBAR_DIR_SEL_37 - IOMUXC XBAR_INOUT37 function direction select
  50247. */
  50248. #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)
  50249. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_38_MASK (0x40U)
  50250. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_38_SHIFT (6U)
  50251. /*! IOMUXC_XBAR_DIR_SEL_38 - IOMUXC XBAR_INOUT38 function direction select
  50252. */
  50253. #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)
  50254. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_39_MASK (0x80U)
  50255. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_39_SHIFT (7U)
  50256. /*! IOMUXC_XBAR_DIR_SEL_39 - IOMUXC XBAR_INOUT39 function direction select
  50257. */
  50258. #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)
  50259. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_40_MASK (0x100U)
  50260. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_40_SHIFT (8U)
  50261. /*! IOMUXC_XBAR_DIR_SEL_40 - IOMUXC XBAR_INOUT40 function direction select
  50262. */
  50263. #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)
  50264. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_41_MASK (0x200U)
  50265. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_41_SHIFT (9U)
  50266. /*! IOMUXC_XBAR_DIR_SEL_41 - IOMUXC XBAR_INOUT41 function direction select
  50267. */
  50268. #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)
  50269. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_42_MASK (0x400U)
  50270. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_42_SHIFT (10U)
  50271. /*! IOMUXC_XBAR_DIR_SEL_42 - IOMUXC XBAR_INOUT42 function direction select
  50272. */
  50273. #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)
  50274. #define IOMUXC_GPR_GPR21_DWP_MASK (0x30000000U)
  50275. #define IOMUXC_GPR_GPR21_DWP_SHIFT (28U)
  50276. /*! DWP - Domain write protection
  50277. * 0b00..Both cores are allowed
  50278. * 0b01..CM7 is forbidden
  50279. * 0b10..CM4 is forbidden
  50280. * 0b11..Both cores are forbidden
  50281. */
  50282. #define IOMUXC_GPR_GPR21_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR21_DWP_SHIFT)) & IOMUXC_GPR_GPR21_DWP_MASK)
  50283. #define IOMUXC_GPR_GPR21_DWP_LOCK_MASK (0xC0000000U)
  50284. #define IOMUXC_GPR_GPR21_DWP_LOCK_SHIFT (30U)
  50285. /*! DWP_LOCK - Domain write protection lock
  50286. * 0b00..Neither of DWP bits is locked
  50287. * 0b01..The lower DWP bit is locked
  50288. * 0b10..The higher DWP bit is locked
  50289. * 0b11..Both DWP bits are locked
  50290. */
  50291. #define IOMUXC_GPR_GPR21_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR21_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR21_DWP_LOCK_MASK)
  50292. /*! @} */
  50293. /*! @name GPR22 - GPR22 General Purpose Register */
  50294. /*! @{ */
  50295. #define IOMUXC_GPR_GPR22_REF_1M_CLK_GPT1_MASK (0x1U)
  50296. #define IOMUXC_GPR_GPR22_REF_1M_CLK_GPT1_SHIFT (0U)
  50297. /*! REF_1M_CLK_GPT1 - GPT1 1 MHz clock source select
  50298. */
  50299. #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)
  50300. #define IOMUXC_GPR_GPR22_DWP_MASK (0x30000000U)
  50301. #define IOMUXC_GPR_GPR22_DWP_SHIFT (28U)
  50302. /*! DWP - Domain write protection
  50303. * 0b00..Both cores are allowed
  50304. * 0b01..CM7 is forbidden
  50305. * 0b10..CM4 is forbidden
  50306. * 0b11..Both cores are forbidden
  50307. */
  50308. #define IOMUXC_GPR_GPR22_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR22_DWP_SHIFT)) & IOMUXC_GPR_GPR22_DWP_MASK)
  50309. #define IOMUXC_GPR_GPR22_DWP_LOCK_MASK (0xC0000000U)
  50310. #define IOMUXC_GPR_GPR22_DWP_LOCK_SHIFT (30U)
  50311. /*! DWP_LOCK - Domain write protection lock
  50312. * 0b00..Neither of DWP bits is locked
  50313. * 0b01..The lower DWP bit is locked
  50314. * 0b10..The higher DWP bit is locked
  50315. * 0b11..Both DWP bits are locked
  50316. */
  50317. #define IOMUXC_GPR_GPR22_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR22_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR22_DWP_LOCK_MASK)
  50318. /*! @} */
  50319. /*! @name GPR23 - GPR23 General Purpose Register */
  50320. /*! @{ */
  50321. #define IOMUXC_GPR_GPR23_REF_1M_CLK_GPT2_MASK (0x1U)
  50322. #define IOMUXC_GPR_GPR23_REF_1M_CLK_GPT2_SHIFT (0U)
  50323. /*! REF_1M_CLK_GPT2 - GPT2 1 MHz clock source select
  50324. */
  50325. #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)
  50326. #define IOMUXC_GPR_GPR23_GPT2_CAPIN1_SEL_MASK (0x2U)
  50327. #define IOMUXC_GPR_GPR23_GPT2_CAPIN1_SEL_SHIFT (1U)
  50328. /*! GPT2_CAPIN1_SEL - GPT2 input capture channel 1 source select
  50329. */
  50330. #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)
  50331. #define IOMUXC_GPR_GPR23_GPT2_CAPIN2_SEL_MASK (0x4U)
  50332. #define IOMUXC_GPR_GPR23_GPT2_CAPIN2_SEL_SHIFT (2U)
  50333. /*! GPT2_CAPIN2_SEL - GPT2 input capture channel 2 source select
  50334. */
  50335. #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)
  50336. #define IOMUXC_GPR_GPR23_DWP_MASK (0x30000000U)
  50337. #define IOMUXC_GPR_GPR23_DWP_SHIFT (28U)
  50338. /*! DWP - Domain write protection
  50339. * 0b00..Both cores are allowed
  50340. * 0b01..CM7 is forbidden
  50341. * 0b10..CM4 is forbidden
  50342. * 0b11..Both cores are forbidden
  50343. */
  50344. #define IOMUXC_GPR_GPR23_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR23_DWP_SHIFT)) & IOMUXC_GPR_GPR23_DWP_MASK)
  50345. #define IOMUXC_GPR_GPR23_DWP_LOCK_MASK (0xC0000000U)
  50346. #define IOMUXC_GPR_GPR23_DWP_LOCK_SHIFT (30U)
  50347. /*! DWP_LOCK - Domain write protection lock
  50348. * 0b00..Neither of DWP bits is locked
  50349. * 0b01..The lower DWP bit is locked
  50350. * 0b10..The higher DWP bit is locked
  50351. * 0b11..Both DWP bits are locked
  50352. */
  50353. #define IOMUXC_GPR_GPR23_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR23_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR23_DWP_LOCK_MASK)
  50354. /*! @} */
  50355. /*! @name GPR24 - GPR24 General Purpose Register */
  50356. /*! @{ */
  50357. #define IOMUXC_GPR_GPR24_REF_1M_CLK_GPT3_MASK (0x1U)
  50358. #define IOMUXC_GPR_GPR24_REF_1M_CLK_GPT3_SHIFT (0U)
  50359. /*! REF_1M_CLK_GPT3 - GPT3 1 MHz clock source select
  50360. */
  50361. #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)
  50362. #define IOMUXC_GPR_GPR24_GPT3_CAPIN1_SEL_MASK (0x2U)
  50363. #define IOMUXC_GPR_GPR24_GPT3_CAPIN1_SEL_SHIFT (1U)
  50364. /*! GPT3_CAPIN1_SEL - GPT3 input capture channel 1 source select
  50365. */
  50366. #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)
  50367. #define IOMUXC_GPR_GPR24_DWP_MASK (0x30000000U)
  50368. #define IOMUXC_GPR_GPR24_DWP_SHIFT (28U)
  50369. /*! DWP - Domain write protection
  50370. * 0b00..Both cores are allowed
  50371. * 0b01..CM7 is forbidden
  50372. * 0b10..CM4 is forbidden
  50373. * 0b11..Both cores are forbidden
  50374. */
  50375. #define IOMUXC_GPR_GPR24_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR24_DWP_SHIFT)) & IOMUXC_GPR_GPR24_DWP_MASK)
  50376. #define IOMUXC_GPR_GPR24_DWP_LOCK_MASK (0xC0000000U)
  50377. #define IOMUXC_GPR_GPR24_DWP_LOCK_SHIFT (30U)
  50378. /*! DWP_LOCK - Domain write protection lock
  50379. * 0b00..Neither of DWP bits is locked
  50380. * 0b01..The lower DWP bit is locked
  50381. * 0b10..The higher DWP bit is locked
  50382. * 0b11..Both DWP bits are locked
  50383. */
  50384. #define IOMUXC_GPR_GPR24_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR24_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR24_DWP_LOCK_MASK)
  50385. /*! @} */
  50386. /*! @name GPR25 - GPR25 General Purpose Register */
  50387. /*! @{ */
  50388. #define IOMUXC_GPR_GPR25_REF_1M_CLK_GPT4_MASK (0x1U)
  50389. #define IOMUXC_GPR_GPR25_REF_1M_CLK_GPT4_SHIFT (0U)
  50390. /*! REF_1M_CLK_GPT4 - GPT4 1 MHz clock source select
  50391. */
  50392. #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)
  50393. #define IOMUXC_GPR_GPR25_DWP_MASK (0x30000000U)
  50394. #define IOMUXC_GPR_GPR25_DWP_SHIFT (28U)
  50395. /*! DWP - Domain write protection
  50396. * 0b00..Both cores are allowed
  50397. * 0b01..CM7 is forbidden
  50398. * 0b10..CM4 is forbidden
  50399. * 0b11..Both cores are forbidden
  50400. */
  50401. #define IOMUXC_GPR_GPR25_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR25_DWP_SHIFT)) & IOMUXC_GPR_GPR25_DWP_MASK)
  50402. #define IOMUXC_GPR_GPR25_DWP_LOCK_MASK (0xC0000000U)
  50403. #define IOMUXC_GPR_GPR25_DWP_LOCK_SHIFT (30U)
  50404. /*! DWP_LOCK - Domain write protection lock
  50405. * 0b00..Neither of DWP bits is locked
  50406. * 0b01..The lower DWP bit is locked
  50407. * 0b10..The higher DWP bit is locked
  50408. * 0b11..Both DWP bits are locked
  50409. */
  50410. #define IOMUXC_GPR_GPR25_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR25_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR25_DWP_LOCK_MASK)
  50411. /*! @} */
  50412. /*! @name GPR26 - GPR26 General Purpose Register */
  50413. /*! @{ */
  50414. #define IOMUXC_GPR_GPR26_REF_1M_CLK_GPT5_MASK (0x1U)
  50415. #define IOMUXC_GPR_GPR26_REF_1M_CLK_GPT5_SHIFT (0U)
  50416. /*! REF_1M_CLK_GPT5 - GPT5 1 MHz clock source select
  50417. */
  50418. #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)
  50419. #define IOMUXC_GPR_GPR26_DWP_MASK (0x30000000U)
  50420. #define IOMUXC_GPR_GPR26_DWP_SHIFT (28U)
  50421. /*! DWP - Domain write protection
  50422. * 0b00..Both cores are allowed
  50423. * 0b01..CM7 is forbidden
  50424. * 0b10..CM4 is forbidden
  50425. * 0b11..Both cores are forbidden
  50426. */
  50427. #define IOMUXC_GPR_GPR26_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR26_DWP_SHIFT)) & IOMUXC_GPR_GPR26_DWP_MASK)
  50428. #define IOMUXC_GPR_GPR26_DWP_LOCK_MASK (0xC0000000U)
  50429. #define IOMUXC_GPR_GPR26_DWP_LOCK_SHIFT (30U)
  50430. /*! DWP_LOCK - Domain write protection lock
  50431. * 0b00..Neither of DWP bits is locked
  50432. * 0b01..The lower DWP bit is locked
  50433. * 0b10..The higher DWP bit is locked
  50434. * 0b11..Both DWP bits are locked
  50435. */
  50436. #define IOMUXC_GPR_GPR26_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR26_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR26_DWP_LOCK_MASK)
  50437. /*! @} */
  50438. /*! @name GPR27 - GPR27 General Purpose Register */
  50439. /*! @{ */
  50440. #define IOMUXC_GPR_GPR27_REF_1M_CLK_GPT6_MASK (0x1U)
  50441. #define IOMUXC_GPR_GPR27_REF_1M_CLK_GPT6_SHIFT (0U)
  50442. /*! REF_1M_CLK_GPT6 - GPT6 1 MHz clock source select
  50443. */
  50444. #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)
  50445. #define IOMUXC_GPR_GPR27_DWP_MASK (0x30000000U)
  50446. #define IOMUXC_GPR_GPR27_DWP_SHIFT (28U)
  50447. /*! DWP - Domain write protection
  50448. * 0b00..Both cores are allowed
  50449. * 0b01..CM7 is forbidden
  50450. * 0b10..CM4 is forbidden
  50451. * 0b11..Both cores are forbidden
  50452. */
  50453. #define IOMUXC_GPR_GPR27_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR27_DWP_SHIFT)) & IOMUXC_GPR_GPR27_DWP_MASK)
  50454. #define IOMUXC_GPR_GPR27_DWP_LOCK_MASK (0xC0000000U)
  50455. #define IOMUXC_GPR_GPR27_DWP_LOCK_SHIFT (30U)
  50456. /*! DWP_LOCK - Domain write protection lock
  50457. * 0b00..Neither of DWP bits is locked
  50458. * 0b01..The lower DWP bit is locked
  50459. * 0b10..The higher DWP bit is locked
  50460. * 0b11..Both DWP bits are locked
  50461. */
  50462. #define IOMUXC_GPR_GPR27_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR27_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR27_DWP_LOCK_MASK)
  50463. /*! @} */
  50464. /*! @name GPR28 - GPR28 General Purpose Register */
  50465. /*! @{ */
  50466. #define IOMUXC_GPR_GPR28_ARCACHE_USDHC_MASK (0x1U)
  50467. #define IOMUXC_GPR_GPR28_ARCACHE_USDHC_SHIFT (0U)
  50468. /*! ARCACHE_USDHC - uSDHC block cacheable attribute value of AXI read transactions
  50469. */
  50470. #define IOMUXC_GPR_GPR28_ARCACHE_USDHC(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR28_ARCACHE_USDHC_SHIFT)) & IOMUXC_GPR_GPR28_ARCACHE_USDHC_MASK)
  50471. #define IOMUXC_GPR_GPR28_AWCACHE_USDHC_MASK (0x2U)
  50472. #define IOMUXC_GPR_GPR28_AWCACHE_USDHC_SHIFT (1U)
  50473. /*! AWCACHE_USDHC - uSDHC block cacheable attribute value of AXI write transactions
  50474. */
  50475. #define IOMUXC_GPR_GPR28_AWCACHE_USDHC(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR28_AWCACHE_USDHC_SHIFT)) & IOMUXC_GPR_GPR28_AWCACHE_USDHC_MASK)
  50476. #define IOMUXC_GPR_GPR28_CACHE_ENET1G_MASK (0x20U)
  50477. #define IOMUXC_GPR_GPR28_CACHE_ENET1G_SHIFT (5U)
  50478. #define IOMUXC_GPR_GPR28_CACHE_ENET1G(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR28_CACHE_ENET1G_SHIFT)) & IOMUXC_GPR_GPR28_CACHE_ENET1G_MASK)
  50479. #define IOMUXC_GPR_GPR28_CACHE_ENET_MASK (0x80U)
  50480. #define IOMUXC_GPR_GPR28_CACHE_ENET_SHIFT (7U)
  50481. /*! CACHE_ENET - ENET block cacheable attribute value of AXI transactions
  50482. */
  50483. #define IOMUXC_GPR_GPR28_CACHE_ENET(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR28_CACHE_ENET_SHIFT)) & IOMUXC_GPR_GPR28_CACHE_ENET_MASK)
  50484. #define IOMUXC_GPR_GPR28_CACHE_USB_MASK (0x2000U)
  50485. #define IOMUXC_GPR_GPR28_CACHE_USB_SHIFT (13U)
  50486. /*! CACHE_USB - USB block cacheable attribute value of AXI transactions
  50487. */
  50488. #define IOMUXC_GPR_GPR28_CACHE_USB(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR28_CACHE_USB_SHIFT)) & IOMUXC_GPR_GPR28_CACHE_USB_MASK)
  50489. #define IOMUXC_GPR_GPR28_DWP_MASK (0x30000000U)
  50490. #define IOMUXC_GPR_GPR28_DWP_SHIFT (28U)
  50491. /*! DWP - Domain write protection
  50492. * 0b00..Both cores are allowed
  50493. * 0b01..CM7 is forbidden
  50494. * 0b10..CM4 is forbidden
  50495. * 0b11..Both cores are forbidden
  50496. */
  50497. #define IOMUXC_GPR_GPR28_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR28_DWP_SHIFT)) & IOMUXC_GPR_GPR28_DWP_MASK)
  50498. #define IOMUXC_GPR_GPR28_DWP_LOCK_MASK (0xC0000000U)
  50499. #define IOMUXC_GPR_GPR28_DWP_LOCK_SHIFT (30U)
  50500. /*! DWP_LOCK - Domain write protection lock
  50501. * 0b00..Neither of DWP bits is locked
  50502. * 0b01..The lower DWP bit is locked
  50503. * 0b10..The higher DWP bit is locked
  50504. * 0b11..Both DWP bits are locked
  50505. */
  50506. #define IOMUXC_GPR_GPR28_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR28_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR28_DWP_LOCK_MASK)
  50507. /*! @} */
  50508. /*! @name GPR29 - GPR29 General Purpose Register */
  50509. /*! @{ */
  50510. #define IOMUXC_GPR_GPR29_USBPHY1_IPG_CLK_ACTIVE_MASK (0x1U)
  50511. #define IOMUXC_GPR_GPR29_USBPHY1_IPG_CLK_ACTIVE_SHIFT (0U)
  50512. /*! USBPHY1_IPG_CLK_ACTIVE - USBPHY1 register access clock enable
  50513. */
  50514. #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)
  50515. #define IOMUXC_GPR_GPR29_DWP_MASK (0x30000000U)
  50516. #define IOMUXC_GPR_GPR29_DWP_SHIFT (28U)
  50517. /*! DWP - Domain write protection
  50518. * 0b00..Both cores are allowed
  50519. * 0b01..CM7 is forbidden
  50520. * 0b10..CM4 is forbidden
  50521. * 0b11..Both cores are forbidden
  50522. */
  50523. #define IOMUXC_GPR_GPR29_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR29_DWP_SHIFT)) & IOMUXC_GPR_GPR29_DWP_MASK)
  50524. #define IOMUXC_GPR_GPR29_DWP_LOCK_MASK (0xC0000000U)
  50525. #define IOMUXC_GPR_GPR29_DWP_LOCK_SHIFT (30U)
  50526. /*! DWP_LOCK - Domain write protection lock
  50527. * 0b00..Neither of DWP bits is locked
  50528. * 0b01..The lower DWP bit is locked
  50529. * 0b10..The higher DWP bit is locked
  50530. * 0b11..Both DWP bits are locked
  50531. */
  50532. #define IOMUXC_GPR_GPR29_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR29_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR29_DWP_LOCK_MASK)
  50533. /*! @} */
  50534. /*! @name GPR30 - GPR30 General Purpose Register */
  50535. /*! @{ */
  50536. #define IOMUXC_GPR_GPR30_USBPHY2_IPG_CLK_ACTIVE_MASK (0x1U)
  50537. #define IOMUXC_GPR_GPR30_USBPHY2_IPG_CLK_ACTIVE_SHIFT (0U)
  50538. /*! USBPHY2_IPG_CLK_ACTIVE - USBPHY2 register access clock enable
  50539. */
  50540. #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)
  50541. #define IOMUXC_GPR_GPR30_DWP_MASK (0x30000000U)
  50542. #define IOMUXC_GPR_GPR30_DWP_SHIFT (28U)
  50543. /*! DWP - Domain write protection
  50544. * 0b00..Both cores are allowed
  50545. * 0b01..CM7 is forbidden
  50546. * 0b10..CM4 is forbidden
  50547. * 0b11..Both cores are forbidden
  50548. */
  50549. #define IOMUXC_GPR_GPR30_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR30_DWP_SHIFT)) & IOMUXC_GPR_GPR30_DWP_MASK)
  50550. #define IOMUXC_GPR_GPR30_DWP_LOCK_MASK (0xC0000000U)
  50551. #define IOMUXC_GPR_GPR30_DWP_LOCK_SHIFT (30U)
  50552. /*! DWP_LOCK - Domain write protection lock
  50553. * 0b00..Neither of DWP bits is locked
  50554. * 0b01..The lower DWP bit is locked
  50555. * 0b10..The higher DWP bit is locked
  50556. * 0b11..Both DWP bits are locked
  50557. */
  50558. #define IOMUXC_GPR_GPR30_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR30_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR30_DWP_LOCK_MASK)
  50559. /*! @} */
  50560. /*! @name GPR31 - GPR31 General Purpose Register */
  50561. /*! @{ */
  50562. #define IOMUXC_GPR_GPR31_RMW2_WAIT_BVALID_CPL_MASK (0x1U)
  50563. #define IOMUXC_GPR_GPR31_RMW2_WAIT_BVALID_CPL_SHIFT (0U)
  50564. /*! RMW2_WAIT_BVALID_CPL - OCRAM M7 RMW wait enable
  50565. */
  50566. #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)
  50567. #define IOMUXC_GPR_GPR31_OCRAM_M7_CLK_GATING_MASK (0x4U)
  50568. #define IOMUXC_GPR_GPR31_OCRAM_M7_CLK_GATING_SHIFT (2U)
  50569. /*! OCRAM_M7_CLK_GATING - OCRAM M7 clock gating enable
  50570. */
  50571. #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)
  50572. #define IOMUXC_GPR_GPR31_DWP_MASK (0x30000000U)
  50573. #define IOMUXC_GPR_GPR31_DWP_SHIFT (28U)
  50574. /*! DWP - Domain write protection
  50575. * 0b00..Both cores are allowed
  50576. * 0b01..CM7 is forbidden
  50577. * 0b10..CM4 is forbidden
  50578. * 0b11..Both cores are forbidden
  50579. */
  50580. #define IOMUXC_GPR_GPR31_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR31_DWP_SHIFT)) & IOMUXC_GPR_GPR31_DWP_MASK)
  50581. #define IOMUXC_GPR_GPR31_DWP_LOCK_MASK (0xC0000000U)
  50582. #define IOMUXC_GPR_GPR31_DWP_LOCK_SHIFT (30U)
  50583. /*! DWP_LOCK - Domain write protection lock
  50584. * 0b00..Neither of DWP bits is locked
  50585. * 0b01..The lower DWP bit is locked
  50586. * 0b10..The higher DWP bit is locked
  50587. * 0b11..Both DWP bits are locked
  50588. */
  50589. #define IOMUXC_GPR_GPR31_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR31_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR31_DWP_LOCK_MASK)
  50590. /*! @} */
  50591. /*! @name GPR32 - GPR32 General Purpose Register */
  50592. /*! @{ */
  50593. #define IOMUXC_GPR_GPR32_RMW1_WAIT_BVALID_CPL_MASK (0x1U)
  50594. #define IOMUXC_GPR_GPR32_RMW1_WAIT_BVALID_CPL_SHIFT (0U)
  50595. /*! RMW1_WAIT_BVALID_CPL - OCRAM1 RMW wait enable
  50596. */
  50597. #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)
  50598. #define IOMUXC_GPR_GPR32_DWP_MASK (0x30000000U)
  50599. #define IOMUXC_GPR_GPR32_DWP_SHIFT (28U)
  50600. /*! DWP - Domain write protection
  50601. * 0b00..Both cores are allowed
  50602. * 0b01..CM7 is forbidden
  50603. * 0b10..CM4 is forbidden
  50604. * 0b11..Both cores are forbidden
  50605. */
  50606. #define IOMUXC_GPR_GPR32_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR32_DWP_SHIFT)) & IOMUXC_GPR_GPR32_DWP_MASK)
  50607. #define IOMUXC_GPR_GPR32_DWP_LOCK_MASK (0xC0000000U)
  50608. #define IOMUXC_GPR_GPR32_DWP_LOCK_SHIFT (30U)
  50609. /*! DWP_LOCK - Domain write protection lock
  50610. * 0b00..Neither of DWP bits is locked
  50611. * 0b01..The lower DWP bit is locked
  50612. * 0b10..The higher DWP bit is locked
  50613. * 0b11..Both DWP bits are locked
  50614. */
  50615. #define IOMUXC_GPR_GPR32_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR32_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR32_DWP_LOCK_MASK)
  50616. /*! @} */
  50617. /*! @name GPR33 - GPR33 General Purpose Register */
  50618. /*! @{ */
  50619. #define IOMUXC_GPR_GPR33_RMW2_WAIT_BVALID_CPL_MASK (0x1U)
  50620. #define IOMUXC_GPR_GPR33_RMW2_WAIT_BVALID_CPL_SHIFT (0U)
  50621. /*! RMW2_WAIT_BVALID_CPL - OCRAM2 RMW wait enable
  50622. */
  50623. #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)
  50624. #define IOMUXC_GPR_GPR33_DWP_MASK (0x30000000U)
  50625. #define IOMUXC_GPR_GPR33_DWP_SHIFT (28U)
  50626. /*! DWP - Domain write protection
  50627. * 0b00..Both cores are allowed
  50628. * 0b01..CM7 is forbidden
  50629. * 0b10..CM4 is forbidden
  50630. * 0b11..Both cores are forbidden
  50631. */
  50632. #define IOMUXC_GPR_GPR33_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR33_DWP_SHIFT)) & IOMUXC_GPR_GPR33_DWP_MASK)
  50633. #define IOMUXC_GPR_GPR33_DWP_LOCK_MASK (0xC0000000U)
  50634. #define IOMUXC_GPR_GPR33_DWP_LOCK_SHIFT (30U)
  50635. /*! DWP_LOCK - Domain write protection lock
  50636. * 0b00..Neither of DWP bits is locked
  50637. * 0b01..The lower DWP bit is locked
  50638. * 0b10..The higher DWP bit is locked
  50639. * 0b11..Both DWP bits are locked
  50640. */
  50641. #define IOMUXC_GPR_GPR33_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR33_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR33_DWP_LOCK_MASK)
  50642. /*! @} */
  50643. /*! @name GPR34 - GPR34 General Purpose Register */
  50644. /*! @{ */
  50645. #define IOMUXC_GPR_GPR34_XECC_FLEXSPI1_WAIT_BVALID_CPL_MASK (0x1U)
  50646. #define IOMUXC_GPR_GPR34_XECC_FLEXSPI1_WAIT_BVALID_CPL_SHIFT (0U)
  50647. /*! XECC_FLEXSPI1_WAIT_BVALID_CPL - XECC_FLEXSPI1 RMW wait enable
  50648. */
  50649. #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)
  50650. #define IOMUXC_GPR_GPR34_FLEXSPI1_OTFAD_EN_MASK (0x2U)
  50651. #define IOMUXC_GPR_GPR34_FLEXSPI1_OTFAD_EN_SHIFT (1U)
  50652. /*! FLEXSPI1_OTFAD_EN - FlexSPI1 OTFAD enable
  50653. */
  50654. #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)
  50655. #define IOMUXC_GPR_GPR34_DWP_MASK (0x30000000U)
  50656. #define IOMUXC_GPR_GPR34_DWP_SHIFT (28U)
  50657. /*! DWP - Domain write protection
  50658. * 0b00..Both cores are allowed
  50659. * 0b01..CM7 is forbidden
  50660. * 0b10..CM4 is forbidden
  50661. * 0b11..Both cores are forbidden
  50662. */
  50663. #define IOMUXC_GPR_GPR34_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR34_DWP_SHIFT)) & IOMUXC_GPR_GPR34_DWP_MASK)
  50664. #define IOMUXC_GPR_GPR34_DWP_LOCK_MASK (0xC0000000U)
  50665. #define IOMUXC_GPR_GPR34_DWP_LOCK_SHIFT (30U)
  50666. /*! DWP_LOCK - Domain write protection lock
  50667. * 0b00..Neither of DWP bits is locked
  50668. * 0b01..The lower DWP bit is locked
  50669. * 0b10..The higher DWP bit is locked
  50670. * 0b11..Both DWP bits are locked
  50671. */
  50672. #define IOMUXC_GPR_GPR34_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR34_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR34_DWP_LOCK_MASK)
  50673. /*! @} */
  50674. /*! @name GPR35 - GPR35 General Purpose Register */
  50675. /*! @{ */
  50676. #define IOMUXC_GPR_GPR35_XECC_FLEXSPI2_WAIT_BVALID_CPL_MASK (0x1U)
  50677. #define IOMUXC_GPR_GPR35_XECC_FLEXSPI2_WAIT_BVALID_CPL_SHIFT (0U)
  50678. /*! XECC_FLEXSPI2_WAIT_BVALID_CPL - XECC_FLEXSPI2 RMW wait enable
  50679. */
  50680. #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)
  50681. #define IOMUXC_GPR_GPR35_FLEXSPI2_OTFAD_EN_MASK (0x2U)
  50682. #define IOMUXC_GPR_GPR35_FLEXSPI2_OTFAD_EN_SHIFT (1U)
  50683. /*! FLEXSPI2_OTFAD_EN - FlexSPI2 OTFAD enable
  50684. */
  50685. #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)
  50686. #define IOMUXC_GPR_GPR35_DWP_MASK (0x30000000U)
  50687. #define IOMUXC_GPR_GPR35_DWP_SHIFT (28U)
  50688. /*! DWP - Domain write protection
  50689. * 0b00..Both cores are allowed
  50690. * 0b01..CM7 is forbidden
  50691. * 0b10..CM4 is forbidden
  50692. * 0b11..Both cores are forbidden
  50693. */
  50694. #define IOMUXC_GPR_GPR35_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR35_DWP_SHIFT)) & IOMUXC_GPR_GPR35_DWP_MASK)
  50695. #define IOMUXC_GPR_GPR35_DWP_LOCK_MASK (0xC0000000U)
  50696. #define IOMUXC_GPR_GPR35_DWP_LOCK_SHIFT (30U)
  50697. /*! DWP_LOCK - Domain write protection lock
  50698. * 0b00..Neither of DWP bits is locked
  50699. * 0b01..The lower DWP bit is locked
  50700. * 0b10..The higher DWP bit is locked
  50701. * 0b11..Both DWP bits are locked
  50702. */
  50703. #define IOMUXC_GPR_GPR35_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR35_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR35_DWP_LOCK_MASK)
  50704. /*! @} */
  50705. /*! @name GPR36 - GPR36 General Purpose Register */
  50706. /*! @{ */
  50707. #define IOMUXC_GPR_GPR36_XECC_SEMC_WAIT_BVALID_CPL_MASK (0x1U)
  50708. #define IOMUXC_GPR_GPR36_XECC_SEMC_WAIT_BVALID_CPL_SHIFT (0U)
  50709. /*! XECC_SEMC_WAIT_BVALID_CPL - XECC_SEMC RMW wait enable
  50710. */
  50711. #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)
  50712. #define IOMUXC_GPR_GPR36_DWP_MASK (0x30000000U)
  50713. #define IOMUXC_GPR_GPR36_DWP_SHIFT (28U)
  50714. /*! DWP - Domain write protection
  50715. * 0b00..Both cores are allowed
  50716. * 0b01..CM7 is forbidden
  50717. * 0b10..CM4 is forbidden
  50718. * 0b11..Both cores are forbidden
  50719. */
  50720. #define IOMUXC_GPR_GPR36_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR36_DWP_SHIFT)) & IOMUXC_GPR_GPR36_DWP_MASK)
  50721. #define IOMUXC_GPR_GPR36_DWP_LOCK_MASK (0xC0000000U)
  50722. #define IOMUXC_GPR_GPR36_DWP_LOCK_SHIFT (30U)
  50723. /*! DWP_LOCK - Domain write protection lock
  50724. * 0b00..Neither of DWP bits is locked
  50725. * 0b01..The lower DWP bit is locked
  50726. * 0b10..The higher DWP bit is locked
  50727. * 0b11..Both DWP bits are locked
  50728. */
  50729. #define IOMUXC_GPR_GPR36_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR36_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR36_DWP_LOCK_MASK)
  50730. /*! @} */
  50731. /*! @name GPR37 - GPR37 General Purpose Register */
  50732. /*! @{ */
  50733. #define IOMUXC_GPR_GPR37_NIDEN_MASK (0x1U)
  50734. #define IOMUXC_GPR_GPR37_NIDEN_SHIFT (0U)
  50735. /*! NIDEN - ARM non-secure (non-invasive) debug enable
  50736. */
  50737. #define IOMUXC_GPR_GPR37_NIDEN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR37_NIDEN_SHIFT)) & IOMUXC_GPR_GPR37_NIDEN_MASK)
  50738. #define IOMUXC_GPR_GPR37_DBG_EN_MASK (0x2U)
  50739. #define IOMUXC_GPR_GPR37_DBG_EN_SHIFT (1U)
  50740. /*! DBG_EN - ARM invasive debug enable
  50741. */
  50742. #define IOMUXC_GPR_GPR37_DBG_EN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR37_DBG_EN_SHIFT)) & IOMUXC_GPR_GPR37_DBG_EN_MASK)
  50743. #define IOMUXC_GPR_GPR37_EXC_MON_MASK (0x8U)
  50744. #define IOMUXC_GPR_GPR37_EXC_MON_SHIFT (3U)
  50745. /*! EXC_MON - Exclusive monitor response select of illegal command
  50746. */
  50747. #define IOMUXC_GPR_GPR37_EXC_MON(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR37_EXC_MON_SHIFT)) & IOMUXC_GPR_GPR37_EXC_MON_MASK)
  50748. #define IOMUXC_GPR_GPR37_M7_DBG_ACK_MASK_MASK (0x20U)
  50749. #define IOMUXC_GPR_GPR37_M7_DBG_ACK_MASK_SHIFT (5U)
  50750. /*! M7_DBG_ACK_MASK - CM7 debug halt mask
  50751. */
  50752. #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)
  50753. #define IOMUXC_GPR_GPR37_M4_DBG_ACK_MASK_MASK (0x40U)
  50754. #define IOMUXC_GPR_GPR37_M4_DBG_ACK_MASK_SHIFT (6U)
  50755. /*! M4_DBG_ACK_MASK - CM4 debug halt mask
  50756. */
  50757. #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)
  50758. #define IOMUXC_GPR_GPR37_DWP_MASK (0x30000000U)
  50759. #define IOMUXC_GPR_GPR37_DWP_SHIFT (28U)
  50760. /*! DWP - Domain write protection
  50761. * 0b00..Both cores are allowed
  50762. * 0b01..CM7 is forbidden
  50763. * 0b10..CM4 is forbidden
  50764. * 0b11..Both cores are forbidden
  50765. */
  50766. #define IOMUXC_GPR_GPR37_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR37_DWP_SHIFT)) & IOMUXC_GPR_GPR37_DWP_MASK)
  50767. #define IOMUXC_GPR_GPR37_DWP_LOCK_MASK (0xC0000000U)
  50768. #define IOMUXC_GPR_GPR37_DWP_LOCK_SHIFT (30U)
  50769. /*! DWP_LOCK - Domain write protection lock
  50770. * 0b00..Neither of DWP bits is locked
  50771. * 0b01..The lower DWP bit is locked
  50772. * 0b10..The higher DWP bit is locked
  50773. * 0b11..Both DWP bits are locked
  50774. */
  50775. #define IOMUXC_GPR_GPR37_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR37_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR37_DWP_LOCK_MASK)
  50776. /*! @} */
  50777. /*! @name GPR38 - GPR38 General Purpose Register */
  50778. /*! @{ */
  50779. #define IOMUXC_GPR_GPR38_DWP_MASK (0x30000000U)
  50780. #define IOMUXC_GPR_GPR38_DWP_SHIFT (28U)
  50781. /*! DWP - Domain write protection
  50782. * 0b00..Both cores are allowed
  50783. * 0b01..CM7 is forbidden
  50784. * 0b10..CM4 is forbidden
  50785. * 0b11..Both cores are forbidden
  50786. */
  50787. #define IOMUXC_GPR_GPR38_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR38_DWP_SHIFT)) & IOMUXC_GPR_GPR38_DWP_MASK)
  50788. #define IOMUXC_GPR_GPR38_DWP_LOCK_MASK (0xC0000000U)
  50789. #define IOMUXC_GPR_GPR38_DWP_LOCK_SHIFT (30U)
  50790. /*! DWP_LOCK - Domain write protection lock
  50791. * 0b00..Neither of DWP bits is locked
  50792. * 0b01..The lower DWP bit is locked
  50793. * 0b10..The higher DWP bit is locked
  50794. * 0b11..Both DWP bits are locked
  50795. */
  50796. #define IOMUXC_GPR_GPR38_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR38_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR38_DWP_LOCK_MASK)
  50797. /*! @} */
  50798. /*! @name GPR39 - GPR39 General Purpose Register */
  50799. /*! @{ */
  50800. #define IOMUXC_GPR_GPR39_DWP_MASK (0x30000000U)
  50801. #define IOMUXC_GPR_GPR39_DWP_SHIFT (28U)
  50802. /*! DWP - Domain write protection
  50803. * 0b00..Both cores are allowed
  50804. * 0b01..CM7 is forbidden
  50805. * 0b10..CM4 is forbidden
  50806. * 0b11..Both cores are forbidden
  50807. */
  50808. #define IOMUXC_GPR_GPR39_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR39_DWP_SHIFT)) & IOMUXC_GPR_GPR39_DWP_MASK)
  50809. #define IOMUXC_GPR_GPR39_DWP_LOCK_MASK (0xC0000000U)
  50810. #define IOMUXC_GPR_GPR39_DWP_LOCK_SHIFT (30U)
  50811. /*! DWP_LOCK - Domain write protection lock
  50812. * 0b00..Neither of DWP bits is locked
  50813. * 0b01..The lower DWP bit is locked
  50814. * 0b10..The higher DWP bit is locked
  50815. * 0b11..Both DWP bits are locked
  50816. */
  50817. #define IOMUXC_GPR_GPR39_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR39_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR39_DWP_LOCK_MASK)
  50818. /*! @} */
  50819. /*! @name GPR40 - GPR40 General Purpose Register */
  50820. /*! @{ */
  50821. #define IOMUXC_GPR_GPR40_GPIO_MUX2_GPIO_SEL_LOW_MASK (0xFFFFU)
  50822. #define IOMUXC_GPR_GPR40_GPIO_MUX2_GPIO_SEL_LOW_SHIFT (0U)
  50823. /*! GPIO_MUX2_GPIO_SEL_LOW - GPIO2 and CM7_GPIO2 share same IO MUX function, GPIO_MUX2 selects one GPIO function.
  50824. */
  50825. #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)
  50826. #define IOMUXC_GPR_GPR40_DWP_MASK (0x30000000U)
  50827. #define IOMUXC_GPR_GPR40_DWP_SHIFT (28U)
  50828. /*! DWP - Domain write protection
  50829. * 0b00..Both cores are allowed
  50830. * 0b01..CM7 is forbidden
  50831. * 0b10..CM4 is forbidden
  50832. * 0b11..Both cores are forbidden
  50833. */
  50834. #define IOMUXC_GPR_GPR40_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR40_DWP_SHIFT)) & IOMUXC_GPR_GPR40_DWP_MASK)
  50835. #define IOMUXC_GPR_GPR40_DWP_LOCK_MASK (0xC0000000U)
  50836. #define IOMUXC_GPR_GPR40_DWP_LOCK_SHIFT (30U)
  50837. /*! DWP_LOCK - Domain write protection lock
  50838. * 0b00..Neither of DWP bits is locked
  50839. * 0b01..The lower DWP bit is locked
  50840. * 0b10..The higher DWP bit is locked
  50841. * 0b11..Both DWP bits are locked
  50842. */
  50843. #define IOMUXC_GPR_GPR40_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR40_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR40_DWP_LOCK_MASK)
  50844. /*! @} */
  50845. /*! @name GPR41 - GPR41 General Purpose Register */
  50846. /*! @{ */
  50847. #define IOMUXC_GPR_GPR41_GPIO_MUX2_GPIO_SEL_HIGH_MASK (0xFFFFU)
  50848. #define IOMUXC_GPR_GPR41_GPIO_MUX2_GPIO_SEL_HIGH_SHIFT (0U)
  50849. /*! GPIO_MUX2_GPIO_SEL_HIGH - GPIO2 and CM7_GPIO2 share same IO MUX function, GPIO_MUX2 selects one GPIO function.
  50850. */
  50851. #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)
  50852. #define IOMUXC_GPR_GPR41_DWP_MASK (0x30000000U)
  50853. #define IOMUXC_GPR_GPR41_DWP_SHIFT (28U)
  50854. /*! DWP - Domain write protection
  50855. * 0b00..Both cores are allowed
  50856. * 0b01..CM7 is forbidden
  50857. * 0b10..CM4 is forbidden
  50858. * 0b11..Both cores are forbidden
  50859. */
  50860. #define IOMUXC_GPR_GPR41_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR41_DWP_SHIFT)) & IOMUXC_GPR_GPR41_DWP_MASK)
  50861. #define IOMUXC_GPR_GPR41_DWP_LOCK_MASK (0xC0000000U)
  50862. #define IOMUXC_GPR_GPR41_DWP_LOCK_SHIFT (30U)
  50863. /*! DWP_LOCK - Domain write protection lock
  50864. * 0b00..Neither of DWP bits is locked
  50865. * 0b01..The lower DWP bit is locked
  50866. * 0b10..The higher DWP bit is locked
  50867. * 0b11..Both DWP bits are locked
  50868. */
  50869. #define IOMUXC_GPR_GPR41_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR41_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR41_DWP_LOCK_MASK)
  50870. /*! @} */
  50871. /*! @name GPR42 - GPR42 General Purpose Register */
  50872. /*! @{ */
  50873. #define IOMUXC_GPR_GPR42_GPIO_MUX3_GPIO_SEL_LOW_MASK (0xFFFFU)
  50874. #define IOMUXC_GPR_GPR42_GPIO_MUX3_GPIO_SEL_LOW_SHIFT (0U)
  50875. /*! GPIO_MUX3_GPIO_SEL_LOW - GPIO3 and CM7_GPIO3 share same IO MUX function, GPIO_MUX3 selects one GPIO function.
  50876. */
  50877. #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)
  50878. #define IOMUXC_GPR_GPR42_DWP_MASK (0x30000000U)
  50879. #define IOMUXC_GPR_GPR42_DWP_SHIFT (28U)
  50880. /*! DWP - Domain write protection
  50881. * 0b00..Both cores are allowed
  50882. * 0b01..CM7 is forbidden
  50883. * 0b10..CM4 is forbidden
  50884. * 0b11..Both cores are forbidden
  50885. */
  50886. #define IOMUXC_GPR_GPR42_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR42_DWP_SHIFT)) & IOMUXC_GPR_GPR42_DWP_MASK)
  50887. #define IOMUXC_GPR_GPR42_DWP_LOCK_MASK (0xC0000000U)
  50888. #define IOMUXC_GPR_GPR42_DWP_LOCK_SHIFT (30U)
  50889. /*! DWP_LOCK - Domain write protection lock
  50890. * 0b00..Neither of DWP bits is locked
  50891. * 0b01..The lower DWP bit is locked
  50892. * 0b10..The higher DWP bit is locked
  50893. * 0b11..Both DWP bits are locked
  50894. */
  50895. #define IOMUXC_GPR_GPR42_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR42_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR42_DWP_LOCK_MASK)
  50896. /*! @} */
  50897. /*! @name GPR43 - GPR43 General Purpose Register */
  50898. /*! @{ */
  50899. #define IOMUXC_GPR_GPR43_GPIO_MUX3_GPIO_SEL_HIGH_MASK (0xFFFFU)
  50900. #define IOMUXC_GPR_GPR43_GPIO_MUX3_GPIO_SEL_HIGH_SHIFT (0U)
  50901. /*! GPIO_MUX3_GPIO_SEL_HIGH - GPIO3 and CM7_GPIO3 share same IO MUX function, GPIO_MUX3 selects one GPIO function.
  50902. */
  50903. #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)
  50904. #define IOMUXC_GPR_GPR43_DWP_MASK (0x30000000U)
  50905. #define IOMUXC_GPR_GPR43_DWP_SHIFT (28U)
  50906. /*! DWP - Domain write protection
  50907. * 0b00..Both cores are allowed
  50908. * 0b01..CM7 is forbidden
  50909. * 0b10..CM4 is forbidden
  50910. * 0b11..Both cores are forbidden
  50911. */
  50912. #define IOMUXC_GPR_GPR43_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR43_DWP_SHIFT)) & IOMUXC_GPR_GPR43_DWP_MASK)
  50913. #define IOMUXC_GPR_GPR43_DWP_LOCK_MASK (0xC0000000U)
  50914. #define IOMUXC_GPR_GPR43_DWP_LOCK_SHIFT (30U)
  50915. /*! DWP_LOCK - Domain write protection lock
  50916. * 0b00..Neither of DWP bits is locked
  50917. * 0b01..The lower DWP bit is locked
  50918. * 0b10..The higher DWP bit is locked
  50919. * 0b11..Both DWP bits are locked
  50920. */
  50921. #define IOMUXC_GPR_GPR43_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR43_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR43_DWP_LOCK_MASK)
  50922. /*! @} */
  50923. /*! @name GPR44 - GPR44 General Purpose Register */
  50924. /*! @{ */
  50925. #define IOMUXC_GPR_GPR44_DWP_MASK (0x30000000U)
  50926. #define IOMUXC_GPR_GPR44_DWP_SHIFT (28U)
  50927. /*! DWP - Domain write protection
  50928. * 0b00..Both cores are allowed
  50929. * 0b01..CM7 is forbidden
  50930. * 0b10..CM4 is forbidden
  50931. * 0b11..Both cores are forbidden
  50932. */
  50933. #define IOMUXC_GPR_GPR44_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR44_DWP_SHIFT)) & IOMUXC_GPR_GPR44_DWP_MASK)
  50934. #define IOMUXC_GPR_GPR44_DWP_LOCK_MASK (0xC0000000U)
  50935. #define IOMUXC_GPR_GPR44_DWP_LOCK_SHIFT (30U)
  50936. /*! DWP_LOCK - Domain write protection lock
  50937. * 0b00..Neither of DWP bits is locked
  50938. * 0b01..The lower DWP bit is locked
  50939. * 0b10..The higher DWP bit is locked
  50940. * 0b11..Both DWP bits are locked
  50941. */
  50942. #define IOMUXC_GPR_GPR44_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR44_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR44_DWP_LOCK_MASK)
  50943. /*! @} */
  50944. /*! @name GPR45 - GPR45 General Purpose Register */
  50945. /*! @{ */
  50946. #define IOMUXC_GPR_GPR45_DWP_MASK (0x30000000U)
  50947. #define IOMUXC_GPR_GPR45_DWP_SHIFT (28U)
  50948. /*! DWP - Domain write protection
  50949. * 0b00..Both cores are allowed
  50950. * 0b01..CM7 is forbidden
  50951. * 0b10..CM4 is forbidden
  50952. * 0b11..Both cores are forbidden
  50953. */
  50954. #define IOMUXC_GPR_GPR45_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR45_DWP_SHIFT)) & IOMUXC_GPR_GPR45_DWP_MASK)
  50955. #define IOMUXC_GPR_GPR45_DWP_LOCK_MASK (0xC0000000U)
  50956. #define IOMUXC_GPR_GPR45_DWP_LOCK_SHIFT (30U)
  50957. /*! DWP_LOCK - Domain write protection lock
  50958. * 0b00..Neither of DWP bits is locked
  50959. * 0b01..The lower DWP bit is locked
  50960. * 0b10..The higher DWP bit is locked
  50961. * 0b11..Both DWP bits are locked
  50962. */
  50963. #define IOMUXC_GPR_GPR45_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR45_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR45_DWP_LOCK_MASK)
  50964. /*! @} */
  50965. /*! @name GPR46 - GPR46 General Purpose Register */
  50966. /*! @{ */
  50967. #define IOMUXC_GPR_GPR46_DWP_MASK (0x30000000U)
  50968. #define IOMUXC_GPR_GPR46_DWP_SHIFT (28U)
  50969. /*! DWP - Domain write protection
  50970. * 0b00..Both cores are allowed
  50971. * 0b01..CM7 is forbidden
  50972. * 0b10..CM4 is forbidden
  50973. * 0b11..Both cores are forbidden
  50974. */
  50975. #define IOMUXC_GPR_GPR46_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR46_DWP_SHIFT)) & IOMUXC_GPR_GPR46_DWP_MASK)
  50976. #define IOMUXC_GPR_GPR46_DWP_LOCK_MASK (0xC0000000U)
  50977. #define IOMUXC_GPR_GPR46_DWP_LOCK_SHIFT (30U)
  50978. /*! DWP_LOCK - Domain write protection lock
  50979. * 0b00..Neither of DWP bits is locked
  50980. * 0b01..The lower DWP bit is locked
  50981. * 0b10..The higher DWP bit is locked
  50982. * 0b11..Both DWP bits are locked
  50983. */
  50984. #define IOMUXC_GPR_GPR46_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR46_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR46_DWP_LOCK_MASK)
  50985. /*! @} */
  50986. /*! @name GPR47 - GPR47 General Purpose Register */
  50987. /*! @{ */
  50988. #define IOMUXC_GPR_GPR47_DWP_MASK (0x30000000U)
  50989. #define IOMUXC_GPR_GPR47_DWP_SHIFT (28U)
  50990. /*! DWP - Domain write protection
  50991. * 0b00..Both cores are allowed
  50992. * 0b01..CM7 is forbidden
  50993. * 0b10..CM4 is forbidden
  50994. * 0b11..Both cores are forbidden
  50995. */
  50996. #define IOMUXC_GPR_GPR47_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR47_DWP_SHIFT)) & IOMUXC_GPR_GPR47_DWP_MASK)
  50997. #define IOMUXC_GPR_GPR47_DWP_LOCK_MASK (0xC0000000U)
  50998. #define IOMUXC_GPR_GPR47_DWP_LOCK_SHIFT (30U)
  50999. /*! DWP_LOCK - Domain write protection lock
  51000. * 0b00..Neither of DWP bits is locked
  51001. * 0b01..The lower DWP bit is locked
  51002. * 0b10..The higher DWP bit is locked
  51003. * 0b11..Both DWP bits are locked
  51004. */
  51005. #define IOMUXC_GPR_GPR47_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR47_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR47_DWP_LOCK_MASK)
  51006. /*! @} */
  51007. /*! @name GPR48 - GPR48 General Purpose Register */
  51008. /*! @{ */
  51009. #define IOMUXC_GPR_GPR48_DWP_MASK (0x30000000U)
  51010. #define IOMUXC_GPR_GPR48_DWP_SHIFT (28U)
  51011. /*! DWP - Domain write protection
  51012. * 0b00..Both cores are allowed
  51013. * 0b01..CM7 is forbidden
  51014. * 0b10..CM4 is forbidden
  51015. * 0b11..Both cores are forbidden
  51016. */
  51017. #define IOMUXC_GPR_GPR48_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR48_DWP_SHIFT)) & IOMUXC_GPR_GPR48_DWP_MASK)
  51018. #define IOMUXC_GPR_GPR48_DWP_LOCK_MASK (0xC0000000U)
  51019. #define IOMUXC_GPR_GPR48_DWP_LOCK_SHIFT (30U)
  51020. /*! DWP_LOCK - Domain write protection lock
  51021. * 0b00..Neither of DWP bits is locked
  51022. * 0b01..The lower DWP bit is locked
  51023. * 0b10..The higher DWP bit is locked
  51024. * 0b11..Both DWP bits are locked
  51025. */
  51026. #define IOMUXC_GPR_GPR48_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR48_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR48_DWP_LOCK_MASK)
  51027. /*! @} */
  51028. /*! @name GPR49 - GPR49 General Purpose Register */
  51029. /*! @{ */
  51030. #define IOMUXC_GPR_GPR49_DWP_MASK (0x30000000U)
  51031. #define IOMUXC_GPR_GPR49_DWP_SHIFT (28U)
  51032. /*! DWP - Domain write protection
  51033. * 0b00..Both cores are allowed
  51034. * 0b01..CM7 is forbidden
  51035. * 0b10..CM4 is forbidden
  51036. * 0b11..Both cores are forbidden
  51037. */
  51038. #define IOMUXC_GPR_GPR49_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR49_DWP_SHIFT)) & IOMUXC_GPR_GPR49_DWP_MASK)
  51039. #define IOMUXC_GPR_GPR49_DWP_LOCK_MASK (0xC0000000U)
  51040. #define IOMUXC_GPR_GPR49_DWP_LOCK_SHIFT (30U)
  51041. /*! DWP_LOCK - Domain write protection lock
  51042. * 0b00..Neither of DWP bits is locked
  51043. * 0b01..The lower DWP bit is locked
  51044. * 0b10..The higher DWP bit is locked
  51045. * 0b11..Both DWP bits are locked
  51046. */
  51047. #define IOMUXC_GPR_GPR49_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR49_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR49_DWP_LOCK_MASK)
  51048. /*! @} */
  51049. /*! @name GPR50 - GPR50 General Purpose Register */
  51050. /*! @{ */
  51051. #define IOMUXC_GPR_GPR50_CAAM_IPS_MGR_MASK (0x1FU)
  51052. #define IOMUXC_GPR_GPR50_CAAM_IPS_MGR_SHIFT (0U)
  51053. /*! CAAM_IPS_MGR - CAAM manager processor identifier
  51054. */
  51055. #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)
  51056. #define IOMUXC_GPR_GPR50_DWP_MASK (0x30000000U)
  51057. #define IOMUXC_GPR_GPR50_DWP_SHIFT (28U)
  51058. /*! DWP - Domain write protection
  51059. * 0b00..Both cores are allowed
  51060. * 0b01..CM7 is forbidden
  51061. * 0b10..CM4 is forbidden
  51062. * 0b11..Both cores are forbidden
  51063. */
  51064. #define IOMUXC_GPR_GPR50_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR50_DWP_SHIFT)) & IOMUXC_GPR_GPR50_DWP_MASK)
  51065. #define IOMUXC_GPR_GPR50_DWP_LOCK_MASK (0xC0000000U)
  51066. #define IOMUXC_GPR_GPR50_DWP_LOCK_SHIFT (30U)
  51067. /*! DWP_LOCK - Domain write protection lock
  51068. * 0b00..Neither of DWP bits is locked
  51069. * 0b01..The lower DWP bit is locked
  51070. * 0b10..The higher DWP bit is locked
  51071. * 0b11..Both DWP bits are locked
  51072. */
  51073. #define IOMUXC_GPR_GPR50_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR50_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR50_DWP_LOCK_MASK)
  51074. /*! @} */
  51075. /*! @name GPR51 - GPR51 General Purpose Register */
  51076. /*! @{ */
  51077. #define IOMUXC_GPR_GPR51_M7_NMI_CLEAR_MASK (0x1U)
  51078. #define IOMUXC_GPR_GPR51_M7_NMI_CLEAR_SHIFT (0U)
  51079. /*! M7_NMI_CLEAR - Clear CM7 NMI holding register
  51080. */
  51081. #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)
  51082. #define IOMUXC_GPR_GPR51_DWP_MASK (0x30000000U)
  51083. #define IOMUXC_GPR_GPR51_DWP_SHIFT (28U)
  51084. /*! DWP - Domain write protection
  51085. * 0b00..Both cores are allowed
  51086. * 0b01..CM7 is forbidden
  51087. * 0b10..CM4 is forbidden
  51088. * 0b11..Both cores are forbidden
  51089. */
  51090. #define IOMUXC_GPR_GPR51_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR51_DWP_SHIFT)) & IOMUXC_GPR_GPR51_DWP_MASK)
  51091. #define IOMUXC_GPR_GPR51_DWP_LOCK_MASK (0xC0000000U)
  51092. #define IOMUXC_GPR_GPR51_DWP_LOCK_SHIFT (30U)
  51093. /*! DWP_LOCK - Domain write protection lock
  51094. * 0b00..Neither of DWP bits is locked
  51095. * 0b01..The lower DWP bit is locked
  51096. * 0b10..The higher DWP bit is locked
  51097. * 0b11..Both DWP bits are locked
  51098. */
  51099. #define IOMUXC_GPR_GPR51_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR51_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR51_DWP_LOCK_MASK)
  51100. /*! @} */
  51101. /*! @name GPR52 - GPR52 General Purpose Register */
  51102. /*! @{ */
  51103. #define IOMUXC_GPR_GPR52_DWP_MASK (0x30000000U)
  51104. #define IOMUXC_GPR_GPR52_DWP_SHIFT (28U)
  51105. /*! DWP - Domain write protection
  51106. * 0b00..Both cores are allowed
  51107. * 0b01..CM7 is forbidden
  51108. * 0b10..CM4 is forbidden
  51109. * 0b11..Both cores are forbidden
  51110. */
  51111. #define IOMUXC_GPR_GPR52_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR52_DWP_SHIFT)) & IOMUXC_GPR_GPR52_DWP_MASK)
  51112. #define IOMUXC_GPR_GPR52_DWP_LOCK_MASK (0xC0000000U)
  51113. #define IOMUXC_GPR_GPR52_DWP_LOCK_SHIFT (30U)
  51114. /*! DWP_LOCK - Domain write protection lock
  51115. * 0b00..Neither of DWP bits is locked
  51116. * 0b01..The lower DWP bit is locked
  51117. * 0b10..The higher DWP bit is locked
  51118. * 0b11..Both DWP bits are locked
  51119. */
  51120. #define IOMUXC_GPR_GPR52_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR52_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR52_DWP_LOCK_MASK)
  51121. /*! @} */
  51122. /*! @name GPR53 - GPR53 General Purpose Register */
  51123. /*! @{ */
  51124. #define IOMUXC_GPR_GPR53_DWP_MASK (0x30000000U)
  51125. #define IOMUXC_GPR_GPR53_DWP_SHIFT (28U)
  51126. /*! DWP - Domain write protection
  51127. * 0b00..Both cores are allowed
  51128. * 0b01..CM7 is forbidden
  51129. * 0b10..CM4 is forbidden
  51130. * 0b11..Both cores are forbidden
  51131. */
  51132. #define IOMUXC_GPR_GPR53_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR53_DWP_SHIFT)) & IOMUXC_GPR_GPR53_DWP_MASK)
  51133. #define IOMUXC_GPR_GPR53_DWP_LOCK_MASK (0xC0000000U)
  51134. #define IOMUXC_GPR_GPR53_DWP_LOCK_SHIFT (30U)
  51135. /*! DWP_LOCK - Domain write protection lock
  51136. * 0b00..Neither of DWP bits is locked
  51137. * 0b01..The lower DWP bit is locked
  51138. * 0b10..The higher DWP bit is locked
  51139. * 0b11..Both DWP bits are locked
  51140. */
  51141. #define IOMUXC_GPR_GPR53_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR53_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR53_DWP_LOCK_MASK)
  51142. /*! @} */
  51143. /*! @name GPR54 - GPR54 General Purpose Register */
  51144. /*! @{ */
  51145. #define IOMUXC_GPR_GPR54_DWP_MASK (0x30000000U)
  51146. #define IOMUXC_GPR_GPR54_DWP_SHIFT (28U)
  51147. /*! DWP - Domain write protection
  51148. * 0b00..Both cores are allowed
  51149. * 0b01..CM7 is forbidden
  51150. * 0b10..CM4 is forbidden
  51151. * 0b11..Both cores are forbidden
  51152. */
  51153. #define IOMUXC_GPR_GPR54_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR54_DWP_SHIFT)) & IOMUXC_GPR_GPR54_DWP_MASK)
  51154. #define IOMUXC_GPR_GPR54_DWP_LOCK_MASK (0xC0000000U)
  51155. #define IOMUXC_GPR_GPR54_DWP_LOCK_SHIFT (30U)
  51156. /*! DWP_LOCK - Domain write protection lock
  51157. * 0b00..Neither of DWP bits is locked
  51158. * 0b01..The lower DWP bit is locked
  51159. * 0b10..The higher DWP bit is locked
  51160. * 0b11..Both DWP bits are locked
  51161. */
  51162. #define IOMUXC_GPR_GPR54_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR54_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR54_DWP_LOCK_MASK)
  51163. /*! @} */
  51164. /*! @name GPR55 - GPR55 General Purpose Register */
  51165. /*! @{ */
  51166. #define IOMUXC_GPR_GPR55_DWP_MASK (0x30000000U)
  51167. #define IOMUXC_GPR_GPR55_DWP_SHIFT (28U)
  51168. /*! DWP - Domain write protection
  51169. * 0b00..Both cores are allowed
  51170. * 0b01..CM7 is forbidden
  51171. * 0b10..CM4 is forbidden
  51172. * 0b11..Both cores are forbidden
  51173. */
  51174. #define IOMUXC_GPR_GPR55_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR55_DWP_SHIFT)) & IOMUXC_GPR_GPR55_DWP_MASK)
  51175. #define IOMUXC_GPR_GPR55_DWP_LOCK_MASK (0xC0000000U)
  51176. #define IOMUXC_GPR_GPR55_DWP_LOCK_SHIFT (30U)
  51177. /*! DWP_LOCK - Domain write protection lock
  51178. * 0b00..Neither of DWP bits is locked
  51179. * 0b01..The lower DWP bit is locked
  51180. * 0b10..The higher DWP bit is locked
  51181. * 0b11..Both DWP bits are locked
  51182. */
  51183. #define IOMUXC_GPR_GPR55_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR55_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR55_DWP_LOCK_MASK)
  51184. /*! @} */
  51185. /*! @name GPR59 - GPR59 General Purpose Register */
  51186. /*! @{ */
  51187. #define IOMUXC_GPR_GPR59_MIPI_CSI_AUTO_PD_EN_MASK (0x1U)
  51188. #define IOMUXC_GPR_GPR59_MIPI_CSI_AUTO_PD_EN_SHIFT (0U)
  51189. /*! MIPI_CSI_AUTO_PD_EN - Powers down inactive lanes reported by CSI2X_CFG_NUM_LANES.
  51190. */
  51191. #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)
  51192. #define IOMUXC_GPR_GPR59_MIPI_CSI_SOFT_RST_N_MASK (0x2U)
  51193. #define IOMUXC_GPR_GPR59_MIPI_CSI_SOFT_RST_N_SHIFT (1U)
  51194. /*! MIPI_CSI_SOFT_RST_N - MIPI CSI APB clock domain and User interface clock domain software reset bit
  51195. * 0b0..Assert reset
  51196. * 0b1..De-assert reset
  51197. */
  51198. #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)
  51199. #define IOMUXC_GPR_GPR59_MIPI_CSI_CONT_CLK_MODE_MASK (0x4U)
  51200. #define IOMUXC_GPR_GPR59_MIPI_CSI_CONT_CLK_MODE_SHIFT (2U)
  51201. /*! MIPI_CSI_CONT_CLK_MODE - Enables the slave clock lane feature to maintain HS reception state
  51202. * during continuous clock mode operation, despite line glitches.
  51203. */
  51204. #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)
  51205. #define IOMUXC_GPR_GPR59_MIPI_CSI_DDRCLK_EN_MASK (0x8U)
  51206. #define IOMUXC_GPR_GPR59_MIPI_CSI_DDRCLK_EN_SHIFT (3U)
  51207. /*! MIPI_CSI_DDRCLK_EN - When high, enables received DDR clock on CLK_DRXHS
  51208. */
  51209. #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)
  51210. #define IOMUXC_GPR_GPR59_MIPI_CSI_PD_RX_MASK (0x10U)
  51211. #define IOMUXC_GPR_GPR59_MIPI_CSI_PD_RX_SHIFT (4U)
  51212. /*! MIPI_CSI_PD_RX - Power Down input for MIPI CSI PHY.
  51213. */
  51214. #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)
  51215. #define IOMUXC_GPR_GPR59_MIPI_CSI_RX_ENABLE_MASK (0x20U)
  51216. #define IOMUXC_GPR_GPR59_MIPI_CSI_RX_ENABLE_SHIFT (5U)
  51217. /*! MIPI_CSI_RX_ENABLE - Assert to enable MIPI CSI Receive Enable
  51218. */
  51219. #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)
  51220. #define IOMUXC_GPR_GPR59_MIPI_CSI_RX_RCAL_MASK (0xC0U)
  51221. #define IOMUXC_GPR_GPR59_MIPI_CSI_RX_RCAL_SHIFT (6U)
  51222. /*! MIPI_CSI_RX_RCAL - MIPI CSI PHY on-chip termination control bits
  51223. */
  51224. #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)
  51225. #define IOMUXC_GPR_GPR59_MIPI_CSI_RXCDRP_MASK (0x300U)
  51226. #define IOMUXC_GPR_GPR59_MIPI_CSI_RXCDRP_SHIFT (8U)
  51227. /*! MIPI_CSI_RXCDRP - Programming bits that adjust the threshold voltage of LP-CD, default setting 2'b01
  51228. * 0b00..344mV
  51229. * 0b01..325mV (Default)
  51230. * 0b10..307mV
  51231. * 0b11..Invalid
  51232. */
  51233. #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)
  51234. #define IOMUXC_GPR_GPR59_MIPI_CSI_RXLPRP_MASK (0xC00U)
  51235. #define IOMUXC_GPR_GPR59_MIPI_CSI_RXLPRP_SHIFT (10U)
  51236. /*! MIPI_CSI_RXLPRP - Programming bits that adjust the threshold voltage of LP-RX, default setting 2'b01
  51237. */
  51238. #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)
  51239. #define IOMUXC_GPR_GPR59_MIPI_CSI_S_PRG_RXHS_SETTLE_MASK (0x3F000U)
  51240. #define IOMUXC_GPR_GPR59_MIPI_CSI_S_PRG_RXHS_SETTLE_SHIFT (12U)
  51241. /*! MIPI_CSI_S_PRG_RXHS_SETTLE - Bits used to program T_HS_SETTLE.
  51242. */
  51243. #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)
  51244. #define IOMUXC_GPR_GPR59_DWP_MASK (0x30000000U)
  51245. #define IOMUXC_GPR_GPR59_DWP_SHIFT (28U)
  51246. /*! DWP - Domain write protection
  51247. * 0b00..Both cores are allowed
  51248. * 0b01..CM7 is forbidden
  51249. * 0b10..CM4 is forbidden
  51250. * 0b11..Both cores are forbidden
  51251. */
  51252. #define IOMUXC_GPR_GPR59_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR59_DWP_SHIFT)) & IOMUXC_GPR_GPR59_DWP_MASK)
  51253. #define IOMUXC_GPR_GPR59_DWP_LOCK_MASK (0xC0000000U)
  51254. #define IOMUXC_GPR_GPR59_DWP_LOCK_SHIFT (30U)
  51255. /*! DWP_LOCK - Domain write protection lock
  51256. * 0b00..Neither of DWP bits is locked
  51257. * 0b01..The lower DWP bit is locked
  51258. * 0b10..The higher DWP bit is locked
  51259. * 0b11..Both DWP bits are locked
  51260. */
  51261. #define IOMUXC_GPR_GPR59_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR59_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR59_DWP_LOCK_MASK)
  51262. /*! @} */
  51263. /*! @name GPR62 - GPR62 General Purpose Register */
  51264. /*! @{ */
  51265. #define IOMUXC_GPR_GPR62_MIPI_DSI_CLK_TM_MASK (0x7U)
  51266. #define IOMUXC_GPR_GPR62_MIPI_DSI_CLK_TM_SHIFT (0U)
  51267. /*! MIPI_DSI_CLK_TM - MIPI DSI Clock Lane triming bits
  51268. */
  51269. #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)
  51270. #define IOMUXC_GPR_GPR62_MIPI_DSI_D0_TM_MASK (0x38U)
  51271. #define IOMUXC_GPR_GPR62_MIPI_DSI_D0_TM_SHIFT (3U)
  51272. /*! MIPI_DSI_D0_TM - MIPI DSI Data Lane 0 triming bits
  51273. */
  51274. #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)
  51275. #define IOMUXC_GPR_GPR62_MIPI_DSI_D1_TM_MASK (0x1C0U)
  51276. #define IOMUXC_GPR_GPR62_MIPI_DSI_D1_TM_SHIFT (6U)
  51277. /*! MIPI_DSI_D1_TM - MIPI DSI Data Lane 1 triming bits
  51278. */
  51279. #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)
  51280. #define IOMUXC_GPR_GPR62_MIPI_DSI_TX_RCAL_MASK (0x600U)
  51281. #define IOMUXC_GPR_GPR62_MIPI_DSI_TX_RCAL_SHIFT (9U)
  51282. /*! MIPI_DSI_TX_RCAL - MIPI DSI PHY on-chip termination control bits
  51283. */
  51284. #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)
  51285. #define IOMUXC_GPR_GPR62_MIPI_DSI_TX_ULPS_ENABLE_MASK (0x3800U)
  51286. #define IOMUXC_GPR_GPR62_MIPI_DSI_TX_ULPS_ENABLE_SHIFT (11U)
  51287. /*! MIPI_DSI_TX_ULPS_ENABLE - DSI transmit ULPS mode enable
  51288. */
  51289. #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)
  51290. #define IOMUXC_GPR_GPR62_MIPI_DSI_PCLK_SOFT_RESET_N_MASK (0x10000U)
  51291. #define IOMUXC_GPR_GPR62_MIPI_DSI_PCLK_SOFT_RESET_N_SHIFT (16U)
  51292. /*! MIPI_DSI_PCLK_SOFT_RESET_N - MIPI DSI APB clock domain software reset bit
  51293. * 0b0..Assert reset
  51294. * 0b1..De-assert reset
  51295. */
  51296. #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)
  51297. #define IOMUXC_GPR_GPR62_MIPI_DSI_BYTE_SOFT_RESET_N_MASK (0x20000U)
  51298. #define IOMUXC_GPR_GPR62_MIPI_DSI_BYTE_SOFT_RESET_N_SHIFT (17U)
  51299. /*! MIPI_DSI_BYTE_SOFT_RESET_N - MIPI DSI Byte clock domain software reset bit
  51300. * 0b0..Assert reset
  51301. * 0b1..De-assert reset
  51302. */
  51303. #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)
  51304. #define IOMUXC_GPR_GPR62_MIPI_DSI_DPI_SOFT_RESET_N_MASK (0x40000U)
  51305. #define IOMUXC_GPR_GPR62_MIPI_DSI_DPI_SOFT_RESET_N_SHIFT (18U)
  51306. /*! MIPI_DSI_DPI_SOFT_RESET_N - MIPI DSI Pixel clock domain software reset bit
  51307. * 0b0..Assert reset
  51308. * 0b1..De-assert reset
  51309. */
  51310. #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)
  51311. #define IOMUXC_GPR_GPR62_MIPI_DSI_ESC_SOFT_RESET_N_MASK (0x80000U)
  51312. #define IOMUXC_GPR_GPR62_MIPI_DSI_ESC_SOFT_RESET_N_SHIFT (19U)
  51313. /*! MIPI_DSI_ESC_SOFT_RESET_N - MIPI DSI Escape clock domain software reset bit
  51314. * 0b0..Assert reset
  51315. * 0b1..De-assert reset
  51316. */
  51317. #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)
  51318. #define IOMUXC_GPR_GPR62_DWP_MASK (0x30000000U)
  51319. #define IOMUXC_GPR_GPR62_DWP_SHIFT (28U)
  51320. /*! DWP - Domain write protection
  51321. * 0b00..Both cores are allowed
  51322. * 0b01..CM7 is forbidden
  51323. * 0b10..CM4 is forbidden
  51324. * 0b11..Both cores are forbidden
  51325. */
  51326. #define IOMUXC_GPR_GPR62_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR62_DWP_SHIFT)) & IOMUXC_GPR_GPR62_DWP_MASK)
  51327. #define IOMUXC_GPR_GPR62_DWP_LOCK_MASK (0xC0000000U)
  51328. #define IOMUXC_GPR_GPR62_DWP_LOCK_SHIFT (30U)
  51329. /*! DWP_LOCK - Domain write protection lock
  51330. * 0b00..Neither of DWP bits is locked
  51331. * 0b01..The lower DWP bit is locked
  51332. * 0b10..The higher DWP bit is locked
  51333. * 0b11..Both DWP bits are locked
  51334. */
  51335. #define IOMUXC_GPR_GPR62_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR62_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR62_DWP_LOCK_MASK)
  51336. /*! @} */
  51337. /*! @name GPR63 - GPR63 General Purpose Register */
  51338. /*! @{ */
  51339. #define IOMUXC_GPR_GPR63_MIPI_DSI_TX_ULPS_ACTIVE_MASK (0x7U)
  51340. #define IOMUXC_GPR_GPR63_MIPI_DSI_TX_ULPS_ACTIVE_SHIFT (0U)
  51341. /*! MIPI_DSI_TX_ULPS_ACTIVE - DSI transmit ULPS mode active flag
  51342. */
  51343. #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)
  51344. /*! @} */
  51345. /*! @name GPR64 - GPR64 General Purpose Register */
  51346. /*! @{ */
  51347. #define IOMUXC_GPR_GPR64_GPIO_DISP1_FREEZE_MASK (0x1U)
  51348. #define IOMUXC_GPR_GPR64_GPIO_DISP1_FREEZE_SHIFT (0U)
  51349. /*! GPIO_DISP1_FREEZE - Compensation code freeze
  51350. */
  51351. #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)
  51352. #define IOMUXC_GPR_GPR64_GPIO_DISP1_COMPTQ_MASK (0x2U)
  51353. #define IOMUXC_GPR_GPR64_GPIO_DISP1_COMPTQ_SHIFT (1U)
  51354. /*! GPIO_DISP1_COMPTQ - COMPEN and COMPTQ control the operating modes of the compensation cell
  51355. */
  51356. #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)
  51357. #define IOMUXC_GPR_GPR64_GPIO_DISP1_COMPEN_MASK (0x4U)
  51358. #define IOMUXC_GPR_GPR64_GPIO_DISP1_COMPEN_SHIFT (2U)
  51359. /*! GPIO_DISP1_COMPEN - COMPEN and COMPTQ control the operating modes of the compensation cell
  51360. */
  51361. #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)
  51362. #define IOMUXC_GPR_GPR64_GPIO_DISP1_FASTFRZ_EN_MASK (0x8U)
  51363. #define IOMUXC_GPR_GPR64_GPIO_DISP1_FASTFRZ_EN_SHIFT (3U)
  51364. /*! GPIO_DISP1_FASTFRZ_EN - Compensation code fast freeze
  51365. */
  51366. #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)
  51367. #define IOMUXC_GPR_GPR64_GPIO_DISP1_RASRCP_MASK (0xF0U)
  51368. #define IOMUXC_GPR_GPR64_GPIO_DISP1_RASRCP_SHIFT (4U)
  51369. /*! GPIO_DISP1_RASRCP - GPIO_DISP_B1 IO bank's 4-bit PMOS compensation codes from core
  51370. */
  51371. #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)
  51372. #define IOMUXC_GPR_GPR64_GPIO_DISP1_RASRCN_MASK (0xF00U)
  51373. #define IOMUXC_GPR_GPR64_GPIO_DISP1_RASRCN_SHIFT (8U)
  51374. /*! GPIO_DISP1_RASRCN - GPIO_DISP_B1 IO bank's 4-bit NMOS compensation codes from core
  51375. */
  51376. #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)
  51377. #define IOMUXC_GPR_GPR64_GPIO_DISP1_SELECT_NASRC_MASK (0x1000U)
  51378. #define IOMUXC_GPR_GPR64_GPIO_DISP1_SELECT_NASRC_SHIFT (12U)
  51379. /*! GPIO_DISP1_SELECT_NASRC - GPIO_DISP1_NASRC selection
  51380. */
  51381. #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)
  51382. #define IOMUXC_GPR_GPR64_GPIO_DISP1_REFGEN_SLEEP_MASK (0x2000U)
  51383. #define IOMUXC_GPR_GPR64_GPIO_DISP1_REFGEN_SLEEP_SHIFT (13U)
  51384. /*! GPIO_DISP1_REFGEN_SLEEP - GPIO_DISP_B1 IO bank reference voltage generator cell sleep enable
  51385. */
  51386. #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)
  51387. #define IOMUXC_GPR_GPR64_GPIO_DISP1_SUPLYDET_LATCH_MASK (0x4000U)
  51388. #define IOMUXC_GPR_GPR64_GPIO_DISP1_SUPLYDET_LATCH_SHIFT (14U)
  51389. /*! GPIO_DISP1_SUPLYDET_LATCH - GPIO_DISP_B1 IO bank power supply mode latch enable
  51390. */
  51391. #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)
  51392. #define IOMUXC_GPR_GPR64_GPIO_DISP1_COMPOK_MASK (0x100000U)
  51393. #define IOMUXC_GPR_GPR64_GPIO_DISP1_COMPOK_SHIFT (20U)
  51394. /*! GPIO_DISP1_COMPOK - GPIO_DISP_B1 IO bank compensation OK flag
  51395. */
  51396. #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)
  51397. #define IOMUXC_GPR_GPR64_GPIO_DISP1_NASRC_MASK (0x1E00000U)
  51398. #define IOMUXC_GPR_GPR64_GPIO_DISP1_NASRC_SHIFT (21U)
  51399. /*! GPIO_DISP1_NASRC - GPIO_DISP_B1 IO bank compensation codes
  51400. */
  51401. #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)
  51402. #define IOMUXC_GPR_GPR64_DWP_MASK (0x30000000U)
  51403. #define IOMUXC_GPR_GPR64_DWP_SHIFT (28U)
  51404. /*! DWP - Domain write protection
  51405. * 0b00..Both cores are allowed
  51406. * 0b01..CM7 is forbidden
  51407. * 0b10..CM4 is forbidden
  51408. * 0b11..Both cores are forbidden
  51409. */
  51410. #define IOMUXC_GPR_GPR64_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR64_DWP_SHIFT)) & IOMUXC_GPR_GPR64_DWP_MASK)
  51411. #define IOMUXC_GPR_GPR64_DWP_LOCK_MASK (0xC0000000U)
  51412. #define IOMUXC_GPR_GPR64_DWP_LOCK_SHIFT (30U)
  51413. /*! DWP_LOCK - Domain write protection lock
  51414. * 0b00..Neither of DWP bits is locked
  51415. * 0b01..The lower DWP bit is locked
  51416. * 0b10..The higher DWP bit is locked
  51417. * 0b11..Both DWP bits are locked
  51418. */
  51419. #define IOMUXC_GPR_GPR64_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR64_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR64_DWP_LOCK_MASK)
  51420. /*! @} */
  51421. /*! @name GPR65 - GPR65 General Purpose Register */
  51422. /*! @{ */
  51423. #define IOMUXC_GPR_GPR65_GPIO_EMC1_FREEZE_MASK (0x1U)
  51424. #define IOMUXC_GPR_GPR65_GPIO_EMC1_FREEZE_SHIFT (0U)
  51425. /*! GPIO_EMC1_FREEZE - Compensation code freeze
  51426. */
  51427. #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)
  51428. #define IOMUXC_GPR_GPR65_GPIO_EMC1_COMPTQ_MASK (0x2U)
  51429. #define IOMUXC_GPR_GPR65_GPIO_EMC1_COMPTQ_SHIFT (1U)
  51430. /*! GPIO_EMC1_COMPTQ - COMPEN and COMPTQ control the operating modes of the compensation cell
  51431. */
  51432. #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)
  51433. #define IOMUXC_GPR_GPR65_GPIO_EMC1_COMPEN_MASK (0x4U)
  51434. #define IOMUXC_GPR_GPR65_GPIO_EMC1_COMPEN_SHIFT (2U)
  51435. /*! GPIO_EMC1_COMPEN - COMPEN and COMPTQ control the operating modes of the compensation cell
  51436. */
  51437. #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)
  51438. #define IOMUXC_GPR_GPR65_GPIO_EMC1_FASTFRZ_EN_MASK (0x8U)
  51439. #define IOMUXC_GPR_GPR65_GPIO_EMC1_FASTFRZ_EN_SHIFT (3U)
  51440. /*! GPIO_EMC1_FASTFRZ_EN - Compensation code fast freeze
  51441. */
  51442. #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)
  51443. #define IOMUXC_GPR_GPR65_GPIO_EMC1_RASRCP_MASK (0xF0U)
  51444. #define IOMUXC_GPR_GPR65_GPIO_EMC1_RASRCP_SHIFT (4U)
  51445. /*! GPIO_EMC1_RASRCP - GPIO_EMC_B1 IO bank's 4-bit PMOS compensation codes from core
  51446. */
  51447. #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)
  51448. #define IOMUXC_GPR_GPR65_GPIO_EMC1_RASRCN_MASK (0xF00U)
  51449. #define IOMUXC_GPR_GPR65_GPIO_EMC1_RASRCN_SHIFT (8U)
  51450. /*! GPIO_EMC1_RASRCN - GPIO_EMC_B1 IO bank's 4-bit NMOS compensation codes from core
  51451. */
  51452. #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)
  51453. #define IOMUXC_GPR_GPR65_GPIO_EMC1_SELECT_NASRC_MASK (0x1000U)
  51454. #define IOMUXC_GPR_GPR65_GPIO_EMC1_SELECT_NASRC_SHIFT (12U)
  51455. /*! GPIO_EMC1_SELECT_NASRC - GPIO_EMC1_NASRC selection
  51456. */
  51457. #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)
  51458. #define IOMUXC_GPR_GPR65_GPIO_EMC1_REFGEN_SLEEP_MASK (0x2000U)
  51459. #define IOMUXC_GPR_GPR65_GPIO_EMC1_REFGEN_SLEEP_SHIFT (13U)
  51460. /*! GPIO_EMC1_REFGEN_SLEEP - GPIO_EMC_B1 IO bank reference voltage generator cell sleep enable
  51461. */
  51462. #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)
  51463. #define IOMUXC_GPR_GPR65_GPIO_EMC1_SUPLYDET_LATCH_MASK (0x4000U)
  51464. #define IOMUXC_GPR_GPR65_GPIO_EMC1_SUPLYDET_LATCH_SHIFT (14U)
  51465. /*! GPIO_EMC1_SUPLYDET_LATCH - GPIO_EMC_B1 IO bank power supply mode latch enable
  51466. */
  51467. #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)
  51468. #define IOMUXC_GPR_GPR65_GPIO_EMC1_COMPOK_MASK (0x100000U)
  51469. #define IOMUXC_GPR_GPR65_GPIO_EMC1_COMPOK_SHIFT (20U)
  51470. /*! GPIO_EMC1_COMPOK - GPIO_EMC_B1 IO bank compensation OK flag
  51471. */
  51472. #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)
  51473. #define IOMUXC_GPR_GPR65_GPIO_EMC1_NASRC_MASK (0x1E00000U)
  51474. #define IOMUXC_GPR_GPR65_GPIO_EMC1_NASRC_SHIFT (21U)
  51475. /*! GPIO_EMC1_NASRC - GPIO_EMC_B1 IO bank compensation codes
  51476. */
  51477. #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)
  51478. #define IOMUXC_GPR_GPR65_DWP_MASK (0x30000000U)
  51479. #define IOMUXC_GPR_GPR65_DWP_SHIFT (28U)
  51480. /*! DWP - Domain write protection
  51481. * 0b00..Both cores are allowed
  51482. * 0b01..CM7 is forbidden
  51483. * 0b10..CM4 is forbidden
  51484. * 0b11..Both cores are forbidden
  51485. */
  51486. #define IOMUXC_GPR_GPR65_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR65_DWP_SHIFT)) & IOMUXC_GPR_GPR65_DWP_MASK)
  51487. #define IOMUXC_GPR_GPR65_DWP_LOCK_MASK (0xC0000000U)
  51488. #define IOMUXC_GPR_GPR65_DWP_LOCK_SHIFT (30U)
  51489. /*! DWP_LOCK - Domain write protection lock
  51490. * 0b00..Neither of DWP bits is locked
  51491. * 0b01..The lower DWP bit is locked
  51492. * 0b10..The higher DWP bit is locked
  51493. * 0b11..Both DWP bits are locked
  51494. */
  51495. #define IOMUXC_GPR_GPR65_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR65_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR65_DWP_LOCK_MASK)
  51496. /*! @} */
  51497. /*! @name GPR66 - GPR66 General Purpose Register */
  51498. /*! @{ */
  51499. #define IOMUXC_GPR_GPR66_GPIO_EMC2_FREEZE_MASK (0x1U)
  51500. #define IOMUXC_GPR_GPR66_GPIO_EMC2_FREEZE_SHIFT (0U)
  51501. /*! GPIO_EMC2_FREEZE - Compensation code freeze
  51502. */
  51503. #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)
  51504. #define IOMUXC_GPR_GPR66_GPIO_EMC2_COMPTQ_MASK (0x2U)
  51505. #define IOMUXC_GPR_GPR66_GPIO_EMC2_COMPTQ_SHIFT (1U)
  51506. /*! GPIO_EMC2_COMPTQ - COMPEN and COMPTQ control the operating modes of the compensation cell
  51507. */
  51508. #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)
  51509. #define IOMUXC_GPR_GPR66_GPIO_EMC2_COMPEN_MASK (0x4U)
  51510. #define IOMUXC_GPR_GPR66_GPIO_EMC2_COMPEN_SHIFT (2U)
  51511. /*! GPIO_EMC2_COMPEN - COMPEN and COMPTQ control the operating modes of the compensation cell
  51512. */
  51513. #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)
  51514. #define IOMUXC_GPR_GPR66_GPIO_EMC2_FASTFRZ_EN_MASK (0x8U)
  51515. #define IOMUXC_GPR_GPR66_GPIO_EMC2_FASTFRZ_EN_SHIFT (3U)
  51516. /*! GPIO_EMC2_FASTFRZ_EN - Compensation code fast freeze
  51517. */
  51518. #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)
  51519. #define IOMUXC_GPR_GPR66_GPIO_EMC2_RASRCP_MASK (0xF0U)
  51520. #define IOMUXC_GPR_GPR66_GPIO_EMC2_RASRCP_SHIFT (4U)
  51521. /*! GPIO_EMC2_RASRCP - GPIO_EMC_B2 IO bank's 4-bit PMOS compensation codes from core
  51522. */
  51523. #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)
  51524. #define IOMUXC_GPR_GPR66_GPIO_EMC2_RASRCN_MASK (0xF00U)
  51525. #define IOMUXC_GPR_GPR66_GPIO_EMC2_RASRCN_SHIFT (8U)
  51526. /*! GPIO_EMC2_RASRCN - GPIO_EMC_B2 IO bank's 4-bit NMOS compensation codes from core
  51527. */
  51528. #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)
  51529. #define IOMUXC_GPR_GPR66_GPIO_EMC2_SELECT_NASRC_MASK (0x1000U)
  51530. #define IOMUXC_GPR_GPR66_GPIO_EMC2_SELECT_NASRC_SHIFT (12U)
  51531. /*! GPIO_EMC2_SELECT_NASRC - GPIO_EMC2_NASRC selection
  51532. */
  51533. #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)
  51534. #define IOMUXC_GPR_GPR66_GPIO_EMC2_REFGEN_SLEEP_MASK (0x2000U)
  51535. #define IOMUXC_GPR_GPR66_GPIO_EMC2_REFGEN_SLEEP_SHIFT (13U)
  51536. /*! GPIO_EMC2_REFGEN_SLEEP - GPIO_EMC_B2 IO bank reference voltage generator cell sleep enable
  51537. */
  51538. #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)
  51539. #define IOMUXC_GPR_GPR66_GPIO_EMC2_SUPLYDET_LATCH_MASK (0x4000U)
  51540. #define IOMUXC_GPR_GPR66_GPIO_EMC2_SUPLYDET_LATCH_SHIFT (14U)
  51541. /*! GPIO_EMC2_SUPLYDET_LATCH - GPIO_EMC_B2 IO bank power supply mode latch enable
  51542. */
  51543. #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)
  51544. #define IOMUXC_GPR_GPR66_GPIO_EMC2_COMPOK_MASK (0x100000U)
  51545. #define IOMUXC_GPR_GPR66_GPIO_EMC2_COMPOK_SHIFT (20U)
  51546. /*! GPIO_EMC2_COMPOK - GPIO_EMC_B2 IO bank compensation OK flag
  51547. */
  51548. #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)
  51549. #define IOMUXC_GPR_GPR66_GPIO_EMC2_NASRC_MASK (0x1E00000U)
  51550. #define IOMUXC_GPR_GPR66_GPIO_EMC2_NASRC_SHIFT (21U)
  51551. /*! GPIO_EMC2_NASRC - GPIO_EMC_B2 IO bank compensation codes
  51552. */
  51553. #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)
  51554. #define IOMUXC_GPR_GPR66_DWP_MASK (0x30000000U)
  51555. #define IOMUXC_GPR_GPR66_DWP_SHIFT (28U)
  51556. /*! DWP - Domain write protection
  51557. * 0b00..Both cores are allowed
  51558. * 0b01..CM7 is forbidden
  51559. * 0b10..CM4 is forbidden
  51560. * 0b11..Both cores are forbidden
  51561. */
  51562. #define IOMUXC_GPR_GPR66_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR66_DWP_SHIFT)) & IOMUXC_GPR_GPR66_DWP_MASK)
  51563. #define IOMUXC_GPR_GPR66_DWP_LOCK_MASK (0xC0000000U)
  51564. #define IOMUXC_GPR_GPR66_DWP_LOCK_SHIFT (30U)
  51565. /*! DWP_LOCK - Domain write protection lock
  51566. * 0b00..Neither of DWP bits is locked
  51567. * 0b01..The lower DWP bit is locked
  51568. * 0b10..The higher DWP bit is locked
  51569. * 0b11..Both DWP bits are locked
  51570. */
  51571. #define IOMUXC_GPR_GPR66_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR66_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR66_DWP_LOCK_MASK)
  51572. /*! @} */
  51573. /*! @name GPR67 - GPR67 General Purpose Register */
  51574. /*! @{ */
  51575. #define IOMUXC_GPR_GPR67_GPIO_SD1_FREEZE_MASK (0x1U)
  51576. #define IOMUXC_GPR_GPR67_GPIO_SD1_FREEZE_SHIFT (0U)
  51577. /*! GPIO_SD1_FREEZE - Compensation code freeze
  51578. */
  51579. #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)
  51580. #define IOMUXC_GPR_GPR67_GPIO_SD1_COMPTQ_MASK (0x2U)
  51581. #define IOMUXC_GPR_GPR67_GPIO_SD1_COMPTQ_SHIFT (1U)
  51582. /*! GPIO_SD1_COMPTQ - COMPEN and COMPTQ control the operating modes of the compensation cell
  51583. */
  51584. #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)
  51585. #define IOMUXC_GPR_GPR67_GPIO_SD1_COMPEN_MASK (0x4U)
  51586. #define IOMUXC_GPR_GPR67_GPIO_SD1_COMPEN_SHIFT (2U)
  51587. /*! GPIO_SD1_COMPEN - COMPEN and COMPTQ control the operating modes of the compensation cell
  51588. */
  51589. #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)
  51590. #define IOMUXC_GPR_GPR67_GPIO_SD1_FASTFRZ_EN_MASK (0x8U)
  51591. #define IOMUXC_GPR_GPR67_GPIO_SD1_FASTFRZ_EN_SHIFT (3U)
  51592. /*! GPIO_SD1_FASTFRZ_EN - Compensation code fast freeze
  51593. */
  51594. #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)
  51595. #define IOMUXC_GPR_GPR67_GPIO_SD1_RASRCP_MASK (0xF0U)
  51596. #define IOMUXC_GPR_GPR67_GPIO_SD1_RASRCP_SHIFT (4U)
  51597. /*! GPIO_SD1_RASRCP - GPIO_SD_B1 IO bank's 4-bit PMOS compensation codes from core
  51598. */
  51599. #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)
  51600. #define IOMUXC_GPR_GPR67_GPIO_SD1_RASRCN_MASK (0xF00U)
  51601. #define IOMUXC_GPR_GPR67_GPIO_SD1_RASRCN_SHIFT (8U)
  51602. /*! GPIO_SD1_RASRCN - GPIO_SD_B1 IO bank's 4-bit NMOS compensation codes from core
  51603. */
  51604. #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)
  51605. #define IOMUXC_GPR_GPR67_GPIO_SD1_SELECT_NASRC_MASK (0x1000U)
  51606. #define IOMUXC_GPR_GPR67_GPIO_SD1_SELECT_NASRC_SHIFT (12U)
  51607. /*! GPIO_SD1_SELECT_NASRC - GPIO_SD1_NASRC selection
  51608. */
  51609. #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)
  51610. #define IOMUXC_GPR_GPR67_GPIO_SD1_REFGEN_SLEEP_MASK (0x2000U)
  51611. #define IOMUXC_GPR_GPR67_GPIO_SD1_REFGEN_SLEEP_SHIFT (13U)
  51612. /*! GPIO_SD1_REFGEN_SLEEP - GPIO_SD_B1 IO bank reference voltage generator cell sleep enable
  51613. */
  51614. #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)
  51615. #define IOMUXC_GPR_GPR67_GPIO_SD1_SUPLYDET_LATCH_MASK (0x4000U)
  51616. #define IOMUXC_GPR_GPR67_GPIO_SD1_SUPLYDET_LATCH_SHIFT (14U)
  51617. /*! GPIO_SD1_SUPLYDET_LATCH - GPIO_SD_B1 IO bank power supply mode latch enable
  51618. */
  51619. #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)
  51620. #define IOMUXC_GPR_GPR67_GPIO_SD1_COMPOK_MASK (0x100000U)
  51621. #define IOMUXC_GPR_GPR67_GPIO_SD1_COMPOK_SHIFT (20U)
  51622. /*! GPIO_SD1_COMPOK - GPIO_SD_B1 IO bank compensation OK flag
  51623. */
  51624. #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)
  51625. #define IOMUXC_GPR_GPR67_GPIO_SD1_NASRC_MASK (0x1E00000U)
  51626. #define IOMUXC_GPR_GPR67_GPIO_SD1_NASRC_SHIFT (21U)
  51627. /*! GPIO_SD1_NASRC - GPIO_SD_B1 IO bank compensation codes
  51628. */
  51629. #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)
  51630. #define IOMUXC_GPR_GPR67_DWP_MASK (0x30000000U)
  51631. #define IOMUXC_GPR_GPR67_DWP_SHIFT (28U)
  51632. /*! DWP - Domain write protection
  51633. * 0b00..Both cores are allowed
  51634. * 0b01..CM7 is forbidden
  51635. * 0b10..CM4 is forbidden
  51636. * 0b11..Both cores are forbidden
  51637. */
  51638. #define IOMUXC_GPR_GPR67_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR67_DWP_SHIFT)) & IOMUXC_GPR_GPR67_DWP_MASK)
  51639. #define IOMUXC_GPR_GPR67_DWP_LOCK_MASK (0xC0000000U)
  51640. #define IOMUXC_GPR_GPR67_DWP_LOCK_SHIFT (30U)
  51641. /*! DWP_LOCK - Domain write protection lock
  51642. * 0b00..Neither of DWP bits is locked
  51643. * 0b01..The lower DWP bit is locked
  51644. * 0b10..The higher DWP bit is locked
  51645. * 0b11..Both DWP bits are locked
  51646. */
  51647. #define IOMUXC_GPR_GPR67_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR67_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR67_DWP_LOCK_MASK)
  51648. /*! @} */
  51649. /*! @name GPR68 - GPR68 General Purpose Register */
  51650. /*! @{ */
  51651. #define IOMUXC_GPR_GPR68_GPIO_SD2_FREEZE_MASK (0x1U)
  51652. #define IOMUXC_GPR_GPR68_GPIO_SD2_FREEZE_SHIFT (0U)
  51653. /*! GPIO_SD2_FREEZE - Compensation code freeze
  51654. */
  51655. #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)
  51656. #define IOMUXC_GPR_GPR68_GPIO_SD2_COMPTQ_MASK (0x2U)
  51657. #define IOMUXC_GPR_GPR68_GPIO_SD2_COMPTQ_SHIFT (1U)
  51658. /*! GPIO_SD2_COMPTQ - COMPEN and COMPTQ control the operating modes of the compensation cell
  51659. */
  51660. #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)
  51661. #define IOMUXC_GPR_GPR68_GPIO_SD2_COMPEN_MASK (0x4U)
  51662. #define IOMUXC_GPR_GPR68_GPIO_SD2_COMPEN_SHIFT (2U)
  51663. /*! GPIO_SD2_COMPEN - COMPEN and COMPTQ control the operating modes of the compensation cell
  51664. */
  51665. #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)
  51666. #define IOMUXC_GPR_GPR68_GPIO_SD2_FASTFRZ_EN_MASK (0x8U)
  51667. #define IOMUXC_GPR_GPR68_GPIO_SD2_FASTFRZ_EN_SHIFT (3U)
  51668. /*! GPIO_SD2_FASTFRZ_EN - Compensation code fast freeze
  51669. */
  51670. #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)
  51671. #define IOMUXC_GPR_GPR68_GPIO_SD2_RASRCP_MASK (0xF0U)
  51672. #define IOMUXC_GPR_GPR68_GPIO_SD2_RASRCP_SHIFT (4U)
  51673. /*! GPIO_SD2_RASRCP - GPIO_SD_B2 IO bank's 4-bit PMOS compensation codes from core
  51674. */
  51675. #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)
  51676. #define IOMUXC_GPR_GPR68_GPIO_SD2_RASRCN_MASK (0xF00U)
  51677. #define IOMUXC_GPR_GPR68_GPIO_SD2_RASRCN_SHIFT (8U)
  51678. /*! GPIO_SD2_RASRCN - GPIO_SD_B2 IO bank's 4-bit NMOS compensation codes from core
  51679. */
  51680. #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)
  51681. #define IOMUXC_GPR_GPR68_GPIO_SD2_SELECT_NASRC_MASK (0x1000U)
  51682. #define IOMUXC_GPR_GPR68_GPIO_SD2_SELECT_NASRC_SHIFT (12U)
  51683. /*! GPIO_SD2_SELECT_NASRC - GPIO_SD2_NASRC selection
  51684. */
  51685. #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)
  51686. #define IOMUXC_GPR_GPR68_GPIO_SD2_REFGEN_SLEEP_MASK (0x2000U)
  51687. #define IOMUXC_GPR_GPR68_GPIO_SD2_REFGEN_SLEEP_SHIFT (13U)
  51688. /*! GPIO_SD2_REFGEN_SLEEP - GPIO_SD_B2 IO bank reference voltage generator cell sleep enable
  51689. */
  51690. #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)
  51691. #define IOMUXC_GPR_GPR68_GPIO_SD2_SUPLYDET_LATCH_MASK (0x4000U)
  51692. #define IOMUXC_GPR_GPR68_GPIO_SD2_SUPLYDET_LATCH_SHIFT (14U)
  51693. /*! GPIO_SD2_SUPLYDET_LATCH - GPIO_SD_B2 IO bank power supply mode latch enable
  51694. */
  51695. #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)
  51696. #define IOMUXC_GPR_GPR68_GPIO_SD2_COMPOK_MASK (0x100000U)
  51697. #define IOMUXC_GPR_GPR68_GPIO_SD2_COMPOK_SHIFT (20U)
  51698. /*! GPIO_SD2_COMPOK - GPIO_SD_B2 IO bank compensation OK flag
  51699. */
  51700. #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)
  51701. #define IOMUXC_GPR_GPR68_GPIO_SD2_NASRC_MASK (0x1E00000U)
  51702. #define IOMUXC_GPR_GPR68_GPIO_SD2_NASRC_SHIFT (21U)
  51703. /*! GPIO_SD2_NASRC - GPIO_SD_B2 IO bank compensation codes
  51704. */
  51705. #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)
  51706. #define IOMUXC_GPR_GPR68_DWP_MASK (0x30000000U)
  51707. #define IOMUXC_GPR_GPR68_DWP_SHIFT (28U)
  51708. /*! DWP - Domain write protection
  51709. * 0b00..Both cores are allowed
  51710. * 0b01..CM7 is forbidden
  51711. * 0b10..CM4 is forbidden
  51712. * 0b11..Both cores are forbidden
  51713. */
  51714. #define IOMUXC_GPR_GPR68_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR68_DWP_SHIFT)) & IOMUXC_GPR_GPR68_DWP_MASK)
  51715. #define IOMUXC_GPR_GPR68_DWP_LOCK_MASK (0xC0000000U)
  51716. #define IOMUXC_GPR_GPR68_DWP_LOCK_SHIFT (30U)
  51717. /*! DWP_LOCK - Domain write protection lock
  51718. * 0b00..Neither of DWP bits is locked
  51719. * 0b01..The lower DWP bit is locked
  51720. * 0b10..The higher DWP bit is locked
  51721. * 0b11..Both DWP bits are locked
  51722. */
  51723. #define IOMUXC_GPR_GPR68_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR68_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR68_DWP_LOCK_MASK)
  51724. /*! @} */
  51725. /*! @name GPR69 - GPR69 General Purpose Register */
  51726. /*! @{ */
  51727. #define IOMUXC_GPR_GPR69_GPIO_DISP2_HIGH_RANGE_MASK (0x2U)
  51728. #define IOMUXC_GPR_GPR69_GPIO_DISP2_HIGH_RANGE_SHIFT (1U)
  51729. /*! GPIO_DISP2_HIGH_RANGE - GPIO_DISP_B2 IO bank supply voltage range selection
  51730. */
  51731. #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)
  51732. #define IOMUXC_GPR_GPR69_GPIO_DISP2_LOW_RANGE_MASK (0x4U)
  51733. #define IOMUXC_GPR_GPR69_GPIO_DISP2_LOW_RANGE_SHIFT (2U)
  51734. /*! GPIO_DISP2_LOW_RANGE - GPIO_DISP_B2 IO bank supply voltage range selection
  51735. */
  51736. #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)
  51737. #define IOMUXC_GPR_GPR69_GPIO_AD0_HIGH_RANGE_MASK (0x10U)
  51738. #define IOMUXC_GPR_GPR69_GPIO_AD0_HIGH_RANGE_SHIFT (4U)
  51739. /*! GPIO_AD0_HIGH_RANGE - GPIO_AD IO bank supply voltage range selection for GPIO_AD_00 to GPIO_AD_17
  51740. */
  51741. #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)
  51742. #define IOMUXC_GPR_GPR69_GPIO_AD0_LOW_RANGE_MASK (0x20U)
  51743. #define IOMUXC_GPR_GPR69_GPIO_AD0_LOW_RANGE_SHIFT (5U)
  51744. /*! GPIO_AD0_LOW_RANGE - GPIO_AD IO bank supply voltage range selection for GPIO_AD_00 to GPIO_AD_17
  51745. */
  51746. #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)
  51747. #define IOMUXC_GPR_GPR69_GPIO_AD1_HIGH_RANGE_MASK (0x80U)
  51748. #define IOMUXC_GPR_GPR69_GPIO_AD1_HIGH_RANGE_SHIFT (7U)
  51749. /*! GPIO_AD1_HIGH_RANGE - GPIO_LPSR IO bank supply voltage range selection for GPIO_AD_18 to GPIO_AD_35
  51750. */
  51751. #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)
  51752. #define IOMUXC_GPR_GPR69_GPIO_AD1_LOW_RANGE_MASK (0x100U)
  51753. #define IOMUXC_GPR_GPR69_GPIO_AD1_LOW_RANGE_SHIFT (8U)
  51754. /*! GPIO_AD1_LOW_RANGE - GPIO_LPSR IO bank supply voltage range selection for GPIO_AD_18 to GPIO_AD_35
  51755. */
  51756. #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)
  51757. #define IOMUXC_GPR_GPR69_SUPLYDET_DISP1_SLEEP_MASK (0x200U)
  51758. #define IOMUXC_GPR_GPR69_SUPLYDET_DISP1_SLEEP_SHIFT (9U)
  51759. /*! SUPLYDET_DISP1_SLEEP - GPIO_DISP_B1 IO bank supply voltage detector sleep mode enable
  51760. */
  51761. #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)
  51762. #define IOMUXC_GPR_GPR69_SUPLYDET_EMC1_SLEEP_MASK (0x400U)
  51763. #define IOMUXC_GPR_GPR69_SUPLYDET_EMC1_SLEEP_SHIFT (10U)
  51764. /*! SUPLYDET_EMC1_SLEEP - GPIO_EMC_B1 IO bank supply voltage detector sleep mode enable
  51765. */
  51766. #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)
  51767. #define IOMUXC_GPR_GPR69_SUPLYDET_EMC2_SLEEP_MASK (0x800U)
  51768. #define IOMUXC_GPR_GPR69_SUPLYDET_EMC2_SLEEP_SHIFT (11U)
  51769. /*! SUPLYDET_EMC2_SLEEP - GPIO_EMC_B2 IO bank supply voltage detector sleep mode enable
  51770. */
  51771. #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)
  51772. #define IOMUXC_GPR_GPR69_SUPLYDET_SD1_SLEEP_MASK (0x1000U)
  51773. #define IOMUXC_GPR_GPR69_SUPLYDET_SD1_SLEEP_SHIFT (12U)
  51774. /*! SUPLYDET_SD1_SLEEP - GPIO_SD_B1 IO bank supply voltage detector sleep mode enable
  51775. */
  51776. #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)
  51777. #define IOMUXC_GPR_GPR69_SUPLYDET_SD2_SLEEP_MASK (0x2000U)
  51778. #define IOMUXC_GPR_GPR69_SUPLYDET_SD2_SLEEP_SHIFT (13U)
  51779. /*! SUPLYDET_SD2_SLEEP - GPIO_SD_B2 IO bank supply voltage detector sleep mode enable
  51780. */
  51781. #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)
  51782. #define IOMUXC_GPR_GPR69_DWP_MASK (0x30000000U)
  51783. #define IOMUXC_GPR_GPR69_DWP_SHIFT (28U)
  51784. /*! DWP - Domain write protection
  51785. * 0b00..Both cores are allowed
  51786. * 0b01..CM7 is forbidden
  51787. * 0b10..CM4 is forbidden
  51788. * 0b11..Both cores are forbidden
  51789. */
  51790. #define IOMUXC_GPR_GPR69_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR69_DWP_SHIFT)) & IOMUXC_GPR_GPR69_DWP_MASK)
  51791. #define IOMUXC_GPR_GPR69_DWP_LOCK_MASK (0xC0000000U)
  51792. #define IOMUXC_GPR_GPR69_DWP_LOCK_SHIFT (30U)
  51793. /*! DWP_LOCK - Domain write protection lock
  51794. * 0b00..Neither of DWP bits is locked
  51795. * 0b01..The lower DWP bit is locked
  51796. * 0b10..The higher DWP bit is locked
  51797. * 0b11..Both DWP bits are locked
  51798. */
  51799. #define IOMUXC_GPR_GPR69_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR69_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR69_DWP_LOCK_MASK)
  51800. /*! @} */
  51801. /*! @name GPR70 - GPR70 General Purpose Register */
  51802. /*! @{ */
  51803. #define IOMUXC_GPR_GPR70_ADC1_IPG_DOZE_MASK (0x1U)
  51804. #define IOMUXC_GPR_GPR70_ADC1_IPG_DOZE_SHIFT (0U)
  51805. /*! ADC1_IPG_DOZE - ADC1 doze mode
  51806. */
  51807. #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)
  51808. #define IOMUXC_GPR_GPR70_ADC1_STOP_REQ_MASK (0x2U)
  51809. #define IOMUXC_GPR_GPR70_ADC1_STOP_REQ_SHIFT (1U)
  51810. /*! ADC1_STOP_REQ - ADC1 stop request
  51811. */
  51812. #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)
  51813. #define IOMUXC_GPR_GPR70_ADC1_IPG_STOP_MODE_MASK (0x4U)
  51814. #define IOMUXC_GPR_GPR70_ADC1_IPG_STOP_MODE_SHIFT (2U)
  51815. /*! ADC1_IPG_STOP_MODE - ADC1 stop mode selection, cannot change when ADC1_STOP_REQ is asserted.
  51816. * 0b0..This module is functional in Stop Mode
  51817. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  51818. */
  51819. #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)
  51820. #define IOMUXC_GPR_GPR70_ADC2_IPG_DOZE_MASK (0x8U)
  51821. #define IOMUXC_GPR_GPR70_ADC2_IPG_DOZE_SHIFT (3U)
  51822. /*! ADC2_IPG_DOZE - ADC2 doze mode
  51823. */
  51824. #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)
  51825. #define IOMUXC_GPR_GPR70_ADC2_STOP_REQ_MASK (0x10U)
  51826. #define IOMUXC_GPR_GPR70_ADC2_STOP_REQ_SHIFT (4U)
  51827. /*! ADC2_STOP_REQ - ADC2 stop request
  51828. */
  51829. #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)
  51830. #define IOMUXC_GPR_GPR70_ADC2_IPG_STOP_MODE_MASK (0x20U)
  51831. #define IOMUXC_GPR_GPR70_ADC2_IPG_STOP_MODE_SHIFT (5U)
  51832. /*! ADC2_IPG_STOP_MODE - ADC2 stop mode selection, cannot change when ADC2_STOP_REQ is asserted.
  51833. * 0b0..This module is functional in Stop Mode
  51834. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  51835. */
  51836. #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)
  51837. #define IOMUXC_GPR_GPR70_CAAM_IPG_DOZE_MASK (0x40U)
  51838. #define IOMUXC_GPR_GPR70_CAAM_IPG_DOZE_SHIFT (6U)
  51839. /*! CAAM_IPG_DOZE - CAN3 doze mode
  51840. */
  51841. #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)
  51842. #define IOMUXC_GPR_GPR70_CAAM_STOP_REQ_MASK (0x80U)
  51843. #define IOMUXC_GPR_GPR70_CAAM_STOP_REQ_SHIFT (7U)
  51844. /*! CAAM_STOP_REQ - CAAM stop request
  51845. */
  51846. #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)
  51847. #define IOMUXC_GPR_GPR70_CAN1_IPG_DOZE_MASK (0x100U)
  51848. #define IOMUXC_GPR_GPR70_CAN1_IPG_DOZE_SHIFT (8U)
  51849. /*! CAN1_IPG_DOZE - CAN1 doze mode
  51850. */
  51851. #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)
  51852. #define IOMUXC_GPR_GPR70_CAN1_STOP_REQ_MASK (0x200U)
  51853. #define IOMUXC_GPR_GPR70_CAN1_STOP_REQ_SHIFT (9U)
  51854. /*! CAN1_STOP_REQ - CAN1 stop request
  51855. */
  51856. #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)
  51857. #define IOMUXC_GPR_GPR70_CAN2_IPG_DOZE_MASK (0x400U)
  51858. #define IOMUXC_GPR_GPR70_CAN2_IPG_DOZE_SHIFT (10U)
  51859. /*! CAN2_IPG_DOZE - CAN2 doze mode
  51860. */
  51861. #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)
  51862. #define IOMUXC_GPR_GPR70_CAN2_STOP_REQ_MASK (0x800U)
  51863. #define IOMUXC_GPR_GPR70_CAN2_STOP_REQ_SHIFT (11U)
  51864. /*! CAN2_STOP_REQ - CAN2 stop request
  51865. */
  51866. #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)
  51867. #define IOMUXC_GPR_GPR70_CAN3_IPG_DOZE_MASK (0x1000U)
  51868. #define IOMUXC_GPR_GPR70_CAN3_IPG_DOZE_SHIFT (12U)
  51869. /*! CAN3_IPG_DOZE - CAN3 doze mode
  51870. */
  51871. #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)
  51872. #define IOMUXC_GPR_GPR70_CAN3_STOP_REQ_MASK (0x2000U)
  51873. #define IOMUXC_GPR_GPR70_CAN3_STOP_REQ_SHIFT (13U)
  51874. /*! CAN3_STOP_REQ - CAN3 stop request
  51875. */
  51876. #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)
  51877. #define IOMUXC_GPR_GPR70_EDMA_STOP_REQ_MASK (0x8000U)
  51878. #define IOMUXC_GPR_GPR70_EDMA_STOP_REQ_SHIFT (15U)
  51879. /*! EDMA_STOP_REQ - EDMA stop request
  51880. */
  51881. #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)
  51882. #define IOMUXC_GPR_GPR70_EDMA_LPSR_STOP_REQ_MASK (0x10000U)
  51883. #define IOMUXC_GPR_GPR70_EDMA_LPSR_STOP_REQ_SHIFT (16U)
  51884. /*! EDMA_LPSR_STOP_REQ - EDMA_LPSR stop request
  51885. */
  51886. #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)
  51887. #define IOMUXC_GPR_GPR70_ENET_IPG_DOZE_MASK (0x20000U)
  51888. #define IOMUXC_GPR_GPR70_ENET_IPG_DOZE_SHIFT (17U)
  51889. /*! ENET_IPG_DOZE - ENET doze mode
  51890. */
  51891. #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)
  51892. #define IOMUXC_GPR_GPR70_ENET_STOP_REQ_MASK (0x40000U)
  51893. #define IOMUXC_GPR_GPR70_ENET_STOP_REQ_SHIFT (18U)
  51894. /*! ENET_STOP_REQ - ENET stop request
  51895. */
  51896. #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)
  51897. #define IOMUXC_GPR_GPR70_ENET1G_IPG_DOZE_MASK (0x80000U)
  51898. #define IOMUXC_GPR_GPR70_ENET1G_IPG_DOZE_SHIFT (19U)
  51899. /*! ENET1G_IPG_DOZE - ENET1G doze mode
  51900. */
  51901. #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)
  51902. #define IOMUXC_GPR_GPR70_ENET1G_STOP_REQ_MASK (0x100000U)
  51903. #define IOMUXC_GPR_GPR70_ENET1G_STOP_REQ_SHIFT (20U)
  51904. /*! ENET1G_STOP_REQ - ENET1G stop request
  51905. */
  51906. #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)
  51907. #define IOMUXC_GPR_GPR70_FLEXIO1_IPG_DOZE_MASK (0x200000U)
  51908. #define IOMUXC_GPR_GPR70_FLEXIO1_IPG_DOZE_SHIFT (21U)
  51909. /*! FLEXIO1_IPG_DOZE - FLEXIO2 doze mode
  51910. */
  51911. #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)
  51912. #define IOMUXC_GPR_GPR70_FLEXIO2_IPG_DOZE_MASK (0x400000U)
  51913. #define IOMUXC_GPR_GPR70_FLEXIO2_IPG_DOZE_SHIFT (22U)
  51914. /*! FLEXIO2_IPG_DOZE - FLEXIO2 doze mode
  51915. */
  51916. #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)
  51917. #define IOMUXC_GPR_GPR70_FLEXSPI1_IPG_DOZE_MASK (0x800000U)
  51918. #define IOMUXC_GPR_GPR70_FLEXSPI1_IPG_DOZE_SHIFT (23U)
  51919. /*! FLEXSPI1_IPG_DOZE - FLEXSPI1 doze mode
  51920. */
  51921. #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)
  51922. #define IOMUXC_GPR_GPR70_FLEXSPI1_STOP_REQ_MASK (0x1000000U)
  51923. #define IOMUXC_GPR_GPR70_FLEXSPI1_STOP_REQ_SHIFT (24U)
  51924. /*! FLEXSPI1_STOP_REQ - FLEXSPI1 stop request
  51925. */
  51926. #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)
  51927. #define IOMUXC_GPR_GPR70_FLEXSPI2_IPG_DOZE_MASK (0x2000000U)
  51928. #define IOMUXC_GPR_GPR70_FLEXSPI2_IPG_DOZE_SHIFT (25U)
  51929. /*! FLEXSPI2_IPG_DOZE - FLEXSPI2 doze mode
  51930. */
  51931. #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)
  51932. #define IOMUXC_GPR_GPR70_FLEXSPI2_STOP_REQ_MASK (0x4000000U)
  51933. #define IOMUXC_GPR_GPR70_FLEXSPI2_STOP_REQ_SHIFT (26U)
  51934. /*! FLEXSPI2_STOP_REQ - FLEXSPI2 stop request
  51935. */
  51936. #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)
  51937. #define IOMUXC_GPR_GPR70_DWP_MASK (0x30000000U)
  51938. #define IOMUXC_GPR_GPR70_DWP_SHIFT (28U)
  51939. /*! DWP - Domain write protection
  51940. * 0b00..Both cores are allowed
  51941. * 0b01..CM7 is forbidden
  51942. * 0b10..CM4 is forbidden
  51943. * 0b11..Both cores are forbidden
  51944. */
  51945. #define IOMUXC_GPR_GPR70_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR70_DWP_SHIFT)) & IOMUXC_GPR_GPR70_DWP_MASK)
  51946. #define IOMUXC_GPR_GPR70_DWP_LOCK_MASK (0xC0000000U)
  51947. #define IOMUXC_GPR_GPR70_DWP_LOCK_SHIFT (30U)
  51948. /*! DWP_LOCK - Domain write protection lock
  51949. * 0b00..Neither of DWP bits is locked
  51950. * 0b01..The lower DWP bit is locked
  51951. * 0b10..The higher DWP bit is locked
  51952. * 0b11..Both DWP bits are locked
  51953. */
  51954. #define IOMUXC_GPR_GPR70_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR70_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR70_DWP_LOCK_MASK)
  51955. /*! @} */
  51956. /*! @name GPR71 - GPR71 General Purpose Register */
  51957. /*! @{ */
  51958. #define IOMUXC_GPR_GPR71_GPT1_IPG_DOZE_MASK (0x1U)
  51959. #define IOMUXC_GPR_GPR71_GPT1_IPG_DOZE_SHIFT (0U)
  51960. /*! GPT1_IPG_DOZE - GPT1 doze mode
  51961. */
  51962. #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)
  51963. #define IOMUXC_GPR_GPR71_GPT2_IPG_DOZE_MASK (0x2U)
  51964. #define IOMUXC_GPR_GPR71_GPT2_IPG_DOZE_SHIFT (1U)
  51965. /*! GPT2_IPG_DOZE - GPT2 doze mode
  51966. */
  51967. #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)
  51968. #define IOMUXC_GPR_GPR71_GPT3_IPG_DOZE_MASK (0x4U)
  51969. #define IOMUXC_GPR_GPR71_GPT3_IPG_DOZE_SHIFT (2U)
  51970. /*! GPT3_IPG_DOZE - GPT3 doze mode
  51971. */
  51972. #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)
  51973. #define IOMUXC_GPR_GPR71_GPT4_IPG_DOZE_MASK (0x8U)
  51974. #define IOMUXC_GPR_GPR71_GPT4_IPG_DOZE_SHIFT (3U)
  51975. /*! GPT4_IPG_DOZE - GPT4 doze mode
  51976. */
  51977. #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)
  51978. #define IOMUXC_GPR_GPR71_GPT5_IPG_DOZE_MASK (0x10U)
  51979. #define IOMUXC_GPR_GPR71_GPT5_IPG_DOZE_SHIFT (4U)
  51980. /*! GPT5_IPG_DOZE - GPT5 doze mode
  51981. */
  51982. #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)
  51983. #define IOMUXC_GPR_GPR71_GPT6_IPG_DOZE_MASK (0x20U)
  51984. #define IOMUXC_GPR_GPR71_GPT6_IPG_DOZE_SHIFT (5U)
  51985. /*! GPT6_IPG_DOZE - GPT6 doze mode
  51986. */
  51987. #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)
  51988. #define IOMUXC_GPR_GPR71_LPI2C1_IPG_DOZE_MASK (0x40U)
  51989. #define IOMUXC_GPR_GPR71_LPI2C1_IPG_DOZE_SHIFT (6U)
  51990. /*! LPI2C1_IPG_DOZE - LPI2C1 doze mode
  51991. */
  51992. #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)
  51993. #define IOMUXC_GPR_GPR71_LPI2C1_STOP_REQ_MASK (0x80U)
  51994. #define IOMUXC_GPR_GPR71_LPI2C1_STOP_REQ_SHIFT (7U)
  51995. /*! LPI2C1_STOP_REQ - LPI2C1 stop request
  51996. */
  51997. #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)
  51998. #define IOMUXC_GPR_GPR71_LPI2C1_IPG_STOP_MODE_MASK (0x100U)
  51999. #define IOMUXC_GPR_GPR71_LPI2C1_IPG_STOP_MODE_SHIFT (8U)
  52000. /*! LPI2C1_IPG_STOP_MODE - LPI2C1 stop mode selection, cannot change when LPI2C1_STOP_REQ is asserted.
  52001. * 0b0..This module is functional in Stop Mode
  52002. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52003. */
  52004. #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)
  52005. #define IOMUXC_GPR_GPR71_LPI2C2_IPG_DOZE_MASK (0x200U)
  52006. #define IOMUXC_GPR_GPR71_LPI2C2_IPG_DOZE_SHIFT (9U)
  52007. /*! LPI2C2_IPG_DOZE - LPI2C2 doze mode
  52008. */
  52009. #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)
  52010. #define IOMUXC_GPR_GPR71_LPI2C2_STOP_REQ_MASK (0x400U)
  52011. #define IOMUXC_GPR_GPR71_LPI2C2_STOP_REQ_SHIFT (10U)
  52012. /*! LPI2C2_STOP_REQ - LPI2C2 stop request
  52013. */
  52014. #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)
  52015. #define IOMUXC_GPR_GPR71_LPI2C2_IPG_STOP_MODE_MASK (0x800U)
  52016. #define IOMUXC_GPR_GPR71_LPI2C2_IPG_STOP_MODE_SHIFT (11U)
  52017. /*! LPI2C2_IPG_STOP_MODE - LPI2C2 stop mode selection, cannot change when LPI2C2_STOP_REQ is asserted.
  52018. * 0b0..This module is functional in Stop Mode
  52019. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52020. */
  52021. #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)
  52022. #define IOMUXC_GPR_GPR71_LPI2C3_IPG_DOZE_MASK (0x1000U)
  52023. #define IOMUXC_GPR_GPR71_LPI2C3_IPG_DOZE_SHIFT (12U)
  52024. /*! LPI2C3_IPG_DOZE - LPI2C3 doze mode
  52025. */
  52026. #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)
  52027. #define IOMUXC_GPR_GPR71_LPI2C3_STOP_REQ_MASK (0x2000U)
  52028. #define IOMUXC_GPR_GPR71_LPI2C3_STOP_REQ_SHIFT (13U)
  52029. /*! LPI2C3_STOP_REQ - LPI2C3 stop request
  52030. */
  52031. #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)
  52032. #define IOMUXC_GPR_GPR71_LPI2C3_IPG_STOP_MODE_MASK (0x4000U)
  52033. #define IOMUXC_GPR_GPR71_LPI2C3_IPG_STOP_MODE_SHIFT (14U)
  52034. /*! LPI2C3_IPG_STOP_MODE - LPI2C3 stop mode selection, cannot change when LPI2C3_STOP_REQ is asserted.
  52035. * 0b0..This module is functional in Stop Mode
  52036. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52037. */
  52038. #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)
  52039. #define IOMUXC_GPR_GPR71_LPI2C4_IPG_DOZE_MASK (0x8000U)
  52040. #define IOMUXC_GPR_GPR71_LPI2C4_IPG_DOZE_SHIFT (15U)
  52041. /*! LPI2C4_IPG_DOZE - LPI2C4 doze mode
  52042. */
  52043. #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)
  52044. #define IOMUXC_GPR_GPR71_LPI2C4_STOP_REQ_MASK (0x10000U)
  52045. #define IOMUXC_GPR_GPR71_LPI2C4_STOP_REQ_SHIFT (16U)
  52046. /*! LPI2C4_STOP_REQ - LPI2C4 stop request
  52047. */
  52048. #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)
  52049. #define IOMUXC_GPR_GPR71_LPI2C4_IPG_STOP_MODE_MASK (0x20000U)
  52050. #define IOMUXC_GPR_GPR71_LPI2C4_IPG_STOP_MODE_SHIFT (17U)
  52051. /*! LPI2C4_IPG_STOP_MODE - LPI2C4 stop mode selection, cannot change when LPI2C4_STOP_REQ is asserted.
  52052. * 0b0..This module is functional in Stop Mode
  52053. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52054. */
  52055. #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)
  52056. #define IOMUXC_GPR_GPR71_LPI2C5_IPG_DOZE_MASK (0x40000U)
  52057. #define IOMUXC_GPR_GPR71_LPI2C5_IPG_DOZE_SHIFT (18U)
  52058. /*! LPI2C5_IPG_DOZE - LPI2C5 doze mode
  52059. */
  52060. #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)
  52061. #define IOMUXC_GPR_GPR71_LPI2C5_STOP_REQ_MASK (0x80000U)
  52062. #define IOMUXC_GPR_GPR71_LPI2C5_STOP_REQ_SHIFT (19U)
  52063. /*! LPI2C5_STOP_REQ - LPI2C5 stop request
  52064. */
  52065. #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)
  52066. #define IOMUXC_GPR_GPR71_LPI2C5_IPG_STOP_MODE_MASK (0x100000U)
  52067. #define IOMUXC_GPR_GPR71_LPI2C5_IPG_STOP_MODE_SHIFT (20U)
  52068. /*! LPI2C5_IPG_STOP_MODE - LPI2C5 stop mode selection, cannot change when LPI2C5_STOP_REQ is asserted.
  52069. * 0b0..This module is functional in Stop Mode
  52070. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52071. */
  52072. #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)
  52073. #define IOMUXC_GPR_GPR71_LPI2C6_IPG_DOZE_MASK (0x200000U)
  52074. #define IOMUXC_GPR_GPR71_LPI2C6_IPG_DOZE_SHIFT (21U)
  52075. /*! LPI2C6_IPG_DOZE - LPI2C6 doze mode
  52076. */
  52077. #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)
  52078. #define IOMUXC_GPR_GPR71_LPI2C6_STOP_REQ_MASK (0x400000U)
  52079. #define IOMUXC_GPR_GPR71_LPI2C6_STOP_REQ_SHIFT (22U)
  52080. /*! LPI2C6_STOP_REQ - LPI2C6 stop request
  52081. */
  52082. #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)
  52083. #define IOMUXC_GPR_GPR71_LPI2C6_IPG_STOP_MODE_MASK (0x800000U)
  52084. #define IOMUXC_GPR_GPR71_LPI2C6_IPG_STOP_MODE_SHIFT (23U)
  52085. /*! LPI2C6_IPG_STOP_MODE - LPI2C6 stop mode selection, cannot change when LPI2C6_STOP_REQ is asserted.
  52086. * 0b0..This module is functional in Stop Mode
  52087. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52088. */
  52089. #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)
  52090. #define IOMUXC_GPR_GPR71_LPSPI1_IPG_DOZE_MASK (0x1000000U)
  52091. #define IOMUXC_GPR_GPR71_LPSPI1_IPG_DOZE_SHIFT (24U)
  52092. /*! LPSPI1_IPG_DOZE - LPSPI1 doze mode
  52093. */
  52094. #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)
  52095. #define IOMUXC_GPR_GPR71_LPSPI1_STOP_REQ_MASK (0x2000000U)
  52096. #define IOMUXC_GPR_GPR71_LPSPI1_STOP_REQ_SHIFT (25U)
  52097. /*! LPSPI1_STOP_REQ - LPSPI1 stop request
  52098. */
  52099. #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)
  52100. #define IOMUXC_GPR_GPR71_LPSPI1_IPG_STOP_MODE_MASK (0x4000000U)
  52101. #define IOMUXC_GPR_GPR71_LPSPI1_IPG_STOP_MODE_SHIFT (26U)
  52102. /*! LPSPI1_IPG_STOP_MODE - LPSPI1 stop mode selection, cannot change when LPSPI1_STOP_REQ is asserted.
  52103. * 0b0..This module is functional in Stop Mode
  52104. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52105. */
  52106. #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)
  52107. #define IOMUXC_GPR_GPR71_DWP_MASK (0x30000000U)
  52108. #define IOMUXC_GPR_GPR71_DWP_SHIFT (28U)
  52109. /*! DWP - Domain write protection
  52110. * 0b00..Both cores are allowed
  52111. * 0b01..CM7 is forbidden
  52112. * 0b10..CM4 is forbidden
  52113. * 0b11..Both cores are forbidden
  52114. */
  52115. #define IOMUXC_GPR_GPR71_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR71_DWP_SHIFT)) & IOMUXC_GPR_GPR71_DWP_MASK)
  52116. #define IOMUXC_GPR_GPR71_DWP_LOCK_MASK (0xC0000000U)
  52117. #define IOMUXC_GPR_GPR71_DWP_LOCK_SHIFT (30U)
  52118. /*! DWP_LOCK - Domain write protection lock
  52119. * 0b00..Neither of DWP bits is locked
  52120. * 0b01..The lower DWP bit is locked
  52121. * 0b10..The higher DWP bit is locked
  52122. * 0b11..Both DWP bits are locked
  52123. */
  52124. #define IOMUXC_GPR_GPR71_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR71_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR71_DWP_LOCK_MASK)
  52125. /*! @} */
  52126. /*! @name GPR72 - GPR72 General Purpose Register */
  52127. /*! @{ */
  52128. #define IOMUXC_GPR_GPR72_LPSPI2_IPG_DOZE_MASK (0x1U)
  52129. #define IOMUXC_GPR_GPR72_LPSPI2_IPG_DOZE_SHIFT (0U)
  52130. /*! LPSPI2_IPG_DOZE - LPSPI2 doze mode
  52131. */
  52132. #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)
  52133. #define IOMUXC_GPR_GPR72_LPSPI2_STOP_REQ_MASK (0x2U)
  52134. #define IOMUXC_GPR_GPR72_LPSPI2_STOP_REQ_SHIFT (1U)
  52135. /*! LPSPI2_STOP_REQ - LPSPI2 stop request
  52136. */
  52137. #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)
  52138. #define IOMUXC_GPR_GPR72_LPSPI2_IPG_STOP_MODE_MASK (0x4U)
  52139. #define IOMUXC_GPR_GPR72_LPSPI2_IPG_STOP_MODE_SHIFT (2U)
  52140. /*! LPSPI2_IPG_STOP_MODE - LPSPI2 stop mode selection, cannot change when LPSPI2_STOP_REQ is asserted.
  52141. * 0b0..This module is functional in Stop Mode
  52142. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52143. */
  52144. #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)
  52145. #define IOMUXC_GPR_GPR72_LPSPI3_IPG_DOZE_MASK (0x8U)
  52146. #define IOMUXC_GPR_GPR72_LPSPI3_IPG_DOZE_SHIFT (3U)
  52147. /*! LPSPI3_IPG_DOZE - LPSPI3 doze mode
  52148. */
  52149. #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)
  52150. #define IOMUXC_GPR_GPR72_LPSPI3_STOP_REQ_MASK (0x10U)
  52151. #define IOMUXC_GPR_GPR72_LPSPI3_STOP_REQ_SHIFT (4U)
  52152. /*! LPSPI3_STOP_REQ - LPSPI3 stop request
  52153. */
  52154. #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)
  52155. #define IOMUXC_GPR_GPR72_LPSPI3_IPG_STOP_MODE_MASK (0x20U)
  52156. #define IOMUXC_GPR_GPR72_LPSPI3_IPG_STOP_MODE_SHIFT (5U)
  52157. /*! LPSPI3_IPG_STOP_MODE - LPSPI3 stop mode selection, cannot change when LPSPI3_STOP_REQ is asserted.
  52158. * 0b0..This module is functional in Stop Mode
  52159. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52160. */
  52161. #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)
  52162. #define IOMUXC_GPR_GPR72_LPSPI4_IPG_DOZE_MASK (0x40U)
  52163. #define IOMUXC_GPR_GPR72_LPSPI4_IPG_DOZE_SHIFT (6U)
  52164. /*! LPSPI4_IPG_DOZE - LPSPI4 doze mode
  52165. */
  52166. #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)
  52167. #define IOMUXC_GPR_GPR72_LPSPI4_STOP_REQ_MASK (0x80U)
  52168. #define IOMUXC_GPR_GPR72_LPSPI4_STOP_REQ_SHIFT (7U)
  52169. /*! LPSPI4_STOP_REQ - LPSPI4 stop request
  52170. */
  52171. #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)
  52172. #define IOMUXC_GPR_GPR72_LPSPI4_IPG_STOP_MODE_MASK (0x100U)
  52173. #define IOMUXC_GPR_GPR72_LPSPI4_IPG_STOP_MODE_SHIFT (8U)
  52174. /*! LPSPI4_IPG_STOP_MODE - LPSPI4 stop mode selection, cannot change when LPSPI4_STOP_REQ is asserted.
  52175. * 0b0..This module is functional in Stop Mode
  52176. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52177. */
  52178. #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)
  52179. #define IOMUXC_GPR_GPR72_LPSPI5_IPG_DOZE_MASK (0x200U)
  52180. #define IOMUXC_GPR_GPR72_LPSPI5_IPG_DOZE_SHIFT (9U)
  52181. /*! LPSPI5_IPG_DOZE - LPSPI5 doze mode
  52182. */
  52183. #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)
  52184. #define IOMUXC_GPR_GPR72_LPSPI5_STOP_REQ_MASK (0x400U)
  52185. #define IOMUXC_GPR_GPR72_LPSPI5_STOP_REQ_SHIFT (10U)
  52186. /*! LPSPI5_STOP_REQ - LPSPI5 stop request
  52187. */
  52188. #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)
  52189. #define IOMUXC_GPR_GPR72_LPSPI5_IPG_STOP_MODE_MASK (0x800U)
  52190. #define IOMUXC_GPR_GPR72_LPSPI5_IPG_STOP_MODE_SHIFT (11U)
  52191. /*! LPSPI5_IPG_STOP_MODE - LPSPI5 stop mode selection, cannot change when LPSPI5_STOP_REQ is asserted.
  52192. * 0b0..This module is functional in Stop Mode
  52193. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52194. */
  52195. #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)
  52196. #define IOMUXC_GPR_GPR72_LPSPI6_IPG_DOZE_MASK (0x1000U)
  52197. #define IOMUXC_GPR_GPR72_LPSPI6_IPG_DOZE_SHIFT (12U)
  52198. /*! LPSPI6_IPG_DOZE - LPSPI6 doze mode
  52199. */
  52200. #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)
  52201. #define IOMUXC_GPR_GPR72_LPSPI6_STOP_REQ_MASK (0x2000U)
  52202. #define IOMUXC_GPR_GPR72_LPSPI6_STOP_REQ_SHIFT (13U)
  52203. /*! LPSPI6_STOP_REQ - LPSPI6 stop request
  52204. */
  52205. #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)
  52206. #define IOMUXC_GPR_GPR72_LPSPI6_IPG_STOP_MODE_MASK (0x4000U)
  52207. #define IOMUXC_GPR_GPR72_LPSPI6_IPG_STOP_MODE_SHIFT (14U)
  52208. /*! LPSPI6_IPG_STOP_MODE - LPSPI6 stop mode selection, cannot change when LPSPI6_STOP_REQ is asserted.
  52209. * 0b0..This module is functional in Stop Mode
  52210. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52211. */
  52212. #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)
  52213. #define IOMUXC_GPR_GPR72_LPUART1_IPG_DOZE_MASK (0x8000U)
  52214. #define IOMUXC_GPR_GPR72_LPUART1_IPG_DOZE_SHIFT (15U)
  52215. /*! LPUART1_IPG_DOZE - LPUART1 doze mode
  52216. */
  52217. #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)
  52218. #define IOMUXC_GPR_GPR72_LPUART1_STOP_REQ_MASK (0x10000U)
  52219. #define IOMUXC_GPR_GPR72_LPUART1_STOP_REQ_SHIFT (16U)
  52220. /*! LPUART1_STOP_REQ - LPUART1 stop request
  52221. */
  52222. #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)
  52223. #define IOMUXC_GPR_GPR72_LPUART1_IPG_STOP_MODE_MASK (0x20000U)
  52224. #define IOMUXC_GPR_GPR72_LPUART1_IPG_STOP_MODE_SHIFT (17U)
  52225. /*! LPUART1_IPG_STOP_MODE - LPUART1 stop mode selection, cannot change when LPUART1_STOP_REQ is asserted.
  52226. * 0b0..This module is functional in Stop Mode
  52227. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52228. */
  52229. #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)
  52230. #define IOMUXC_GPR_GPR72_LPUART2_IPG_DOZE_MASK (0x40000U)
  52231. #define IOMUXC_GPR_GPR72_LPUART2_IPG_DOZE_SHIFT (18U)
  52232. /*! LPUART2_IPG_DOZE - LPUART2 doze mode
  52233. */
  52234. #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)
  52235. #define IOMUXC_GPR_GPR72_LPUART2_STOP_REQ_MASK (0x80000U)
  52236. #define IOMUXC_GPR_GPR72_LPUART2_STOP_REQ_SHIFT (19U)
  52237. /*! LPUART2_STOP_REQ - LPUART2 stop request
  52238. */
  52239. #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)
  52240. #define IOMUXC_GPR_GPR72_LPUART2_IPG_STOP_MODE_MASK (0x100000U)
  52241. #define IOMUXC_GPR_GPR72_LPUART2_IPG_STOP_MODE_SHIFT (20U)
  52242. /*! LPUART2_IPG_STOP_MODE - LPUART2 stop mode selection, cannot change when LPUART2_STOP_REQ is asserted.
  52243. * 0b0..This module is functional in Stop Mode
  52244. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52245. */
  52246. #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)
  52247. #define IOMUXC_GPR_GPR72_LPUART3_IPG_DOZE_MASK (0x200000U)
  52248. #define IOMUXC_GPR_GPR72_LPUART3_IPG_DOZE_SHIFT (21U)
  52249. /*! LPUART3_IPG_DOZE - LPUART3 doze mode
  52250. */
  52251. #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)
  52252. #define IOMUXC_GPR_GPR72_LPUART3_STOP_REQ_MASK (0x400000U)
  52253. #define IOMUXC_GPR_GPR72_LPUART3_STOP_REQ_SHIFT (22U)
  52254. /*! LPUART3_STOP_REQ - LPUART3 stop request
  52255. */
  52256. #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)
  52257. #define IOMUXC_GPR_GPR72_LPUART3_IPG_STOP_MODE_MASK (0x800000U)
  52258. #define IOMUXC_GPR_GPR72_LPUART3_IPG_STOP_MODE_SHIFT (23U)
  52259. /*! LPUART3_IPG_STOP_MODE - LPUART3 stop mode selection, cannot change when LPUART3_STOP_REQ is asserted.
  52260. * 0b0..This module is functional in Stop Mode
  52261. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52262. */
  52263. #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)
  52264. #define IOMUXC_GPR_GPR72_LPUART4_IPG_DOZE_MASK (0x1000000U)
  52265. #define IOMUXC_GPR_GPR72_LPUART4_IPG_DOZE_SHIFT (24U)
  52266. /*! LPUART4_IPG_DOZE - LPUART4 doze mode
  52267. */
  52268. #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)
  52269. #define IOMUXC_GPR_GPR72_LPUART4_STOP_REQ_MASK (0x2000000U)
  52270. #define IOMUXC_GPR_GPR72_LPUART4_STOP_REQ_SHIFT (25U)
  52271. /*! LPUART4_STOP_REQ - LPUART4 stop request
  52272. */
  52273. #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)
  52274. #define IOMUXC_GPR_GPR72_LPUART4_IPG_STOP_MODE_MASK (0x4000000U)
  52275. #define IOMUXC_GPR_GPR72_LPUART4_IPG_STOP_MODE_SHIFT (26U)
  52276. /*! LPUART4_IPG_STOP_MODE - LPUART4 stop mode selection, cannot change when LPUART4_STOP_REQ is asserted.
  52277. * 0b0..This module is functional in Stop Mode
  52278. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52279. */
  52280. #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)
  52281. #define IOMUXC_GPR_GPR72_DWP_MASK (0x30000000U)
  52282. #define IOMUXC_GPR_GPR72_DWP_SHIFT (28U)
  52283. /*! DWP - Domain write protection
  52284. * 0b00..Both cores are allowed
  52285. * 0b01..CM7 is forbidden
  52286. * 0b10..CM4 is forbidden
  52287. * 0b11..Both cores are forbidden
  52288. */
  52289. #define IOMUXC_GPR_GPR72_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR72_DWP_SHIFT)) & IOMUXC_GPR_GPR72_DWP_MASK)
  52290. #define IOMUXC_GPR_GPR72_DWP_LOCK_MASK (0xC0000000U)
  52291. #define IOMUXC_GPR_GPR72_DWP_LOCK_SHIFT (30U)
  52292. /*! DWP_LOCK - Domain write protection lock
  52293. * 0b00..Neither of DWP bits is locked
  52294. * 0b01..The lower DWP bit is locked
  52295. * 0b10..The higher DWP bit is locked
  52296. * 0b11..Both DWP bits are locked
  52297. */
  52298. #define IOMUXC_GPR_GPR72_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR72_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR72_DWP_LOCK_MASK)
  52299. /*! @} */
  52300. /*! @name GPR73 - GPR73 General Purpose Register */
  52301. /*! @{ */
  52302. #define IOMUXC_GPR_GPR73_LPUART5_IPG_DOZE_MASK (0x1U)
  52303. #define IOMUXC_GPR_GPR73_LPUART5_IPG_DOZE_SHIFT (0U)
  52304. /*! LPUART5_IPG_DOZE - LPUART5 doze mode
  52305. */
  52306. #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)
  52307. #define IOMUXC_GPR_GPR73_LPUART5_STOP_REQ_MASK (0x2U)
  52308. #define IOMUXC_GPR_GPR73_LPUART5_STOP_REQ_SHIFT (1U)
  52309. /*! LPUART5_STOP_REQ - LPUART5 stop request
  52310. */
  52311. #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)
  52312. #define IOMUXC_GPR_GPR73_LPUART5_IPG_STOP_MODE_MASK (0x4U)
  52313. #define IOMUXC_GPR_GPR73_LPUART5_IPG_STOP_MODE_SHIFT (2U)
  52314. /*! LPUART5_IPG_STOP_MODE - LPUART5 stop mode selection, cannot change when LPUART5_STOP_REQ is asserted.
  52315. * 0b0..This module is functional in Stop Mode
  52316. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52317. */
  52318. #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)
  52319. #define IOMUXC_GPR_GPR73_LPUART6_IPG_DOZE_MASK (0x8U)
  52320. #define IOMUXC_GPR_GPR73_LPUART6_IPG_DOZE_SHIFT (3U)
  52321. /*! LPUART6_IPG_DOZE - LPUART6 doze mode
  52322. */
  52323. #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)
  52324. #define IOMUXC_GPR_GPR73_LPUART6_STOP_REQ_MASK (0x10U)
  52325. #define IOMUXC_GPR_GPR73_LPUART6_STOP_REQ_SHIFT (4U)
  52326. /*! LPUART6_STOP_REQ - LPUART6 stop request
  52327. */
  52328. #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)
  52329. #define IOMUXC_GPR_GPR73_LPUART6_IPG_STOP_MODE_MASK (0x20U)
  52330. #define IOMUXC_GPR_GPR73_LPUART6_IPG_STOP_MODE_SHIFT (5U)
  52331. /*! LPUART6_IPG_STOP_MODE - LPUART6 stop mode selection, cannot change when LPUART6_STOP_REQ is asserted.
  52332. * 0b0..This module is functional in Stop Mode
  52333. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52334. */
  52335. #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)
  52336. #define IOMUXC_GPR_GPR73_LPUART7_IPG_DOZE_MASK (0x40U)
  52337. #define IOMUXC_GPR_GPR73_LPUART7_IPG_DOZE_SHIFT (6U)
  52338. /*! LPUART7_IPG_DOZE - LPUART7 doze mode
  52339. */
  52340. #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)
  52341. #define IOMUXC_GPR_GPR73_LPUART7_STOP_REQ_MASK (0x80U)
  52342. #define IOMUXC_GPR_GPR73_LPUART7_STOP_REQ_SHIFT (7U)
  52343. /*! LPUART7_STOP_REQ - LPUART7 stop request
  52344. */
  52345. #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)
  52346. #define IOMUXC_GPR_GPR73_LPUART7_IPG_STOP_MODE_MASK (0x100U)
  52347. #define IOMUXC_GPR_GPR73_LPUART7_IPG_STOP_MODE_SHIFT (8U)
  52348. /*! LPUART7_IPG_STOP_MODE - LPUART7 stop mode selection, cannot change when LPUART7_STOP_REQ is asserted.
  52349. * 0b0..This module is functional in Stop Mode
  52350. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52351. */
  52352. #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)
  52353. #define IOMUXC_GPR_GPR73_LPUART8_IPG_DOZE_MASK (0x200U)
  52354. #define IOMUXC_GPR_GPR73_LPUART8_IPG_DOZE_SHIFT (9U)
  52355. /*! LPUART8_IPG_DOZE - LPUART8 doze mode
  52356. */
  52357. #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)
  52358. #define IOMUXC_GPR_GPR73_LPUART8_STOP_REQ_MASK (0x400U)
  52359. #define IOMUXC_GPR_GPR73_LPUART8_STOP_REQ_SHIFT (10U)
  52360. /*! LPUART8_STOP_REQ - LPUART8 stop request
  52361. */
  52362. #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)
  52363. #define IOMUXC_GPR_GPR73_LPUART8_IPG_STOP_MODE_MASK (0x800U)
  52364. #define IOMUXC_GPR_GPR73_LPUART8_IPG_STOP_MODE_SHIFT (11U)
  52365. /*! LPUART8_IPG_STOP_MODE - LPUART8 stop mode selection, cannot change when LPUART8_STOP_REQ is asserted.
  52366. * 0b0..This module is functional in Stop Mode
  52367. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52368. */
  52369. #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)
  52370. #define IOMUXC_GPR_GPR73_LPUART9_IPG_DOZE_MASK (0x1000U)
  52371. #define IOMUXC_GPR_GPR73_LPUART9_IPG_DOZE_SHIFT (12U)
  52372. /*! LPUART9_IPG_DOZE - LPUART9 doze mode
  52373. */
  52374. #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)
  52375. #define IOMUXC_GPR_GPR73_LPUART9_STOP_REQ_MASK (0x2000U)
  52376. #define IOMUXC_GPR_GPR73_LPUART9_STOP_REQ_SHIFT (13U)
  52377. /*! LPUART9_STOP_REQ - LPUART9 stop request
  52378. */
  52379. #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)
  52380. #define IOMUXC_GPR_GPR73_LPUART9_IPG_STOP_MODE_MASK (0x4000U)
  52381. #define IOMUXC_GPR_GPR73_LPUART9_IPG_STOP_MODE_SHIFT (14U)
  52382. /*! LPUART9_IPG_STOP_MODE - LPUART9 stop mode selection, cannot change when LPUART9_STOP_REQ is asserted.
  52383. * 0b0..This module is functional in Stop Mode
  52384. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52385. */
  52386. #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)
  52387. #define IOMUXC_GPR_GPR73_LPUART10_IPG_DOZE_MASK (0x8000U)
  52388. #define IOMUXC_GPR_GPR73_LPUART10_IPG_DOZE_SHIFT (15U)
  52389. /*! LPUART10_IPG_DOZE - LPUART10 doze mode
  52390. */
  52391. #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)
  52392. #define IOMUXC_GPR_GPR73_LPUART10_STOP_REQ_MASK (0x10000U)
  52393. #define IOMUXC_GPR_GPR73_LPUART10_STOP_REQ_SHIFT (16U)
  52394. /*! LPUART10_STOP_REQ - LPUART10 stop request
  52395. */
  52396. #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)
  52397. #define IOMUXC_GPR_GPR73_LPUART10_IPG_STOP_MODE_MASK (0x20000U)
  52398. #define IOMUXC_GPR_GPR73_LPUART10_IPG_STOP_MODE_SHIFT (17U)
  52399. /*! LPUART10_IPG_STOP_MODE - LPUART10 stop mode selection, cannot change when LPUART10_STOP_REQ is asserted.
  52400. * 0b0..This module is functional in Stop Mode
  52401. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52402. */
  52403. #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)
  52404. #define IOMUXC_GPR_GPR73_LPUART11_IPG_DOZE_MASK (0x40000U)
  52405. #define IOMUXC_GPR_GPR73_LPUART11_IPG_DOZE_SHIFT (18U)
  52406. /*! LPUART11_IPG_DOZE - LPUART11 doze mode
  52407. */
  52408. #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)
  52409. #define IOMUXC_GPR_GPR73_LPUART11_STOP_REQ_MASK (0x80000U)
  52410. #define IOMUXC_GPR_GPR73_LPUART11_STOP_REQ_SHIFT (19U)
  52411. /*! LPUART11_STOP_REQ - LPUART11 stop request
  52412. */
  52413. #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)
  52414. #define IOMUXC_GPR_GPR73_LPUART11_IPG_STOP_MODE_MASK (0x100000U)
  52415. #define IOMUXC_GPR_GPR73_LPUART11_IPG_STOP_MODE_SHIFT (20U)
  52416. /*! LPUART11_IPG_STOP_MODE - LPUART11 stop mode selection, cannot change when LPUART11_STOP_REQ is asserted.
  52417. * 0b0..This module is functional in Stop Mode
  52418. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52419. */
  52420. #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)
  52421. #define IOMUXC_GPR_GPR73_LPUART12_IPG_DOZE_MASK (0x200000U)
  52422. #define IOMUXC_GPR_GPR73_LPUART12_IPG_DOZE_SHIFT (21U)
  52423. /*! LPUART12_IPG_DOZE - LPUART12 doze mode
  52424. */
  52425. #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)
  52426. #define IOMUXC_GPR_GPR73_LPUART12_STOP_REQ_MASK (0x400000U)
  52427. #define IOMUXC_GPR_GPR73_LPUART12_STOP_REQ_SHIFT (22U)
  52428. /*! LPUART12_STOP_REQ - LPUART12 stop request
  52429. */
  52430. #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)
  52431. #define IOMUXC_GPR_GPR73_LPUART12_IPG_STOP_MODE_MASK (0x800000U)
  52432. #define IOMUXC_GPR_GPR73_LPUART12_IPG_STOP_MODE_SHIFT (23U)
  52433. /*! LPUART12_IPG_STOP_MODE - LPUART12 stop mode selection, cannot change when LPUART12_STOP_REQ is asserted.
  52434. * 0b0..This module is functional in Stop Mode
  52435. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52436. */
  52437. #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)
  52438. #define IOMUXC_GPR_GPR73_MIC_IPG_DOZE_MASK (0x1000000U)
  52439. #define IOMUXC_GPR_GPR73_MIC_IPG_DOZE_SHIFT (24U)
  52440. /*! MIC_IPG_DOZE - MIC doze mode
  52441. */
  52442. #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)
  52443. #define IOMUXC_GPR_GPR73_MIC_STOP_REQ_MASK (0x2000000U)
  52444. #define IOMUXC_GPR_GPR73_MIC_STOP_REQ_SHIFT (25U)
  52445. /*! MIC_STOP_REQ - MIC stop request
  52446. */
  52447. #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)
  52448. #define IOMUXC_GPR_GPR73_MIC_IPG_STOP_MODE_MASK (0x4000000U)
  52449. #define IOMUXC_GPR_GPR73_MIC_IPG_STOP_MODE_SHIFT (26U)
  52450. /*! MIC_IPG_STOP_MODE - MIC stop mode selection, cannot change when MIC_STOP_REQ is asserted.
  52451. * 0b0..This module is functional in Stop Mode
  52452. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52453. */
  52454. #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)
  52455. #define IOMUXC_GPR_GPR73_DWP_MASK (0x30000000U)
  52456. #define IOMUXC_GPR_GPR73_DWP_SHIFT (28U)
  52457. /*! DWP - Domain write protection
  52458. * 0b00..Both cores are allowed
  52459. * 0b01..CM7 is forbidden
  52460. * 0b10..CM4 is forbidden
  52461. * 0b11..Both cores are forbidden
  52462. */
  52463. #define IOMUXC_GPR_GPR73_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR73_DWP_SHIFT)) & IOMUXC_GPR_GPR73_DWP_MASK)
  52464. #define IOMUXC_GPR_GPR73_DWP_LOCK_MASK (0xC0000000U)
  52465. #define IOMUXC_GPR_GPR73_DWP_LOCK_SHIFT (30U)
  52466. /*! DWP_LOCK - Domain write protection lock
  52467. * 0b00..Neither of DWP bits is locked
  52468. * 0b01..The lower DWP bit is locked
  52469. * 0b10..The higher DWP bit is locked
  52470. * 0b11..Both DWP bits are locked
  52471. */
  52472. #define IOMUXC_GPR_GPR73_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR73_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR73_DWP_LOCK_MASK)
  52473. /*! @} */
  52474. /*! @name GPR74 - GPR74 General Purpose Register */
  52475. /*! @{ */
  52476. #define IOMUXC_GPR_GPR74_PIT1_STOP_REQ_MASK (0x2U)
  52477. #define IOMUXC_GPR_GPR74_PIT1_STOP_REQ_SHIFT (1U)
  52478. /*! PIT1_STOP_REQ - PIT1 stop request
  52479. */
  52480. #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)
  52481. #define IOMUXC_GPR_GPR74_PIT2_STOP_REQ_MASK (0x4U)
  52482. #define IOMUXC_GPR_GPR74_PIT2_STOP_REQ_SHIFT (2U)
  52483. /*! PIT2_STOP_REQ - PIT2 stop request
  52484. */
  52485. #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)
  52486. #define IOMUXC_GPR_GPR74_SEMC_STOP_REQ_MASK (0x8U)
  52487. #define IOMUXC_GPR_GPR74_SEMC_STOP_REQ_SHIFT (3U)
  52488. /*! SEMC_STOP_REQ - SEMC stop request
  52489. */
  52490. #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)
  52491. #define IOMUXC_GPR_GPR74_SIM1_IPG_DOZE_MASK (0x10U)
  52492. #define IOMUXC_GPR_GPR74_SIM1_IPG_DOZE_SHIFT (4U)
  52493. /*! SIM1_IPG_DOZE - SIM1 doze mode
  52494. */
  52495. #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)
  52496. #define IOMUXC_GPR_GPR74_SIM2_IPG_DOZE_MASK (0x20U)
  52497. #define IOMUXC_GPR_GPR74_SIM2_IPG_DOZE_SHIFT (5U)
  52498. /*! SIM2_IPG_DOZE - SIM2 doze mode
  52499. */
  52500. #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)
  52501. #define IOMUXC_GPR_GPR74_SNVS_HP_IPG_DOZE_MASK (0x40U)
  52502. #define IOMUXC_GPR_GPR74_SNVS_HP_IPG_DOZE_SHIFT (6U)
  52503. /*! SNVS_HP_IPG_DOZE - SNVS_HP doze mode
  52504. */
  52505. #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)
  52506. #define IOMUXC_GPR_GPR74_SNVS_HP_STOP_REQ_MASK (0x80U)
  52507. #define IOMUXC_GPR_GPR74_SNVS_HP_STOP_REQ_SHIFT (7U)
  52508. /*! SNVS_HP_STOP_REQ - SNVS_HP stop request
  52509. */
  52510. #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)
  52511. #define IOMUXC_GPR_GPR74_WDOG1_IPG_DOZE_MASK (0x100U)
  52512. #define IOMUXC_GPR_GPR74_WDOG1_IPG_DOZE_SHIFT (8U)
  52513. /*! WDOG1_IPG_DOZE - WDOG1 doze mode
  52514. */
  52515. #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)
  52516. #define IOMUXC_GPR_GPR74_WDOG2_IPG_DOZE_MASK (0x200U)
  52517. #define IOMUXC_GPR_GPR74_WDOG2_IPG_DOZE_SHIFT (9U)
  52518. /*! WDOG2_IPG_DOZE - WDOG2 doze mode
  52519. */
  52520. #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)
  52521. #define IOMUXC_GPR_GPR74_SAI1_STOP_REQ_MASK (0x400U)
  52522. #define IOMUXC_GPR_GPR74_SAI1_STOP_REQ_SHIFT (10U)
  52523. /*! SAI1_STOP_REQ - SAI1 stop request
  52524. */
  52525. #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)
  52526. #define IOMUXC_GPR_GPR74_SAI2_STOP_REQ_MASK (0x800U)
  52527. #define IOMUXC_GPR_GPR74_SAI2_STOP_REQ_SHIFT (11U)
  52528. /*! SAI2_STOP_REQ - SAI2 stop request
  52529. */
  52530. #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)
  52531. #define IOMUXC_GPR_GPR74_SAI3_STOP_REQ_MASK (0x1000U)
  52532. #define IOMUXC_GPR_GPR74_SAI3_STOP_REQ_SHIFT (12U)
  52533. /*! SAI3_STOP_REQ - SAI3 stop request
  52534. */
  52535. #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)
  52536. #define IOMUXC_GPR_GPR74_SAI4_STOP_REQ_MASK (0x2000U)
  52537. #define IOMUXC_GPR_GPR74_SAI4_STOP_REQ_SHIFT (13U)
  52538. /*! SAI4_STOP_REQ - SAI4 stop request
  52539. */
  52540. #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)
  52541. #define IOMUXC_GPR_GPR74_FLEXIO1_STOP_REQ_BUS_MASK (0x4000U)
  52542. #define IOMUXC_GPR_GPR74_FLEXIO1_STOP_REQ_BUS_SHIFT (14U)
  52543. /*! FLEXIO1_STOP_REQ_BUS - FLEXIO1 bus clock domain stop request
  52544. */
  52545. #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)
  52546. #define IOMUXC_GPR_GPR74_FLEXIO1_STOP_REQ_PER_MASK (0x8000U)
  52547. #define IOMUXC_GPR_GPR74_FLEXIO1_STOP_REQ_PER_SHIFT (15U)
  52548. /*! FLEXIO1_STOP_REQ_PER - FLEXIO1 peripheral clock domain stop request
  52549. */
  52550. #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)
  52551. #define IOMUXC_GPR_GPR74_FLEXIO2_STOP_REQ_BUS_MASK (0x10000U)
  52552. #define IOMUXC_GPR_GPR74_FLEXIO2_STOP_REQ_BUS_SHIFT (16U)
  52553. /*! FLEXIO2_STOP_REQ_BUS - FLEXIO2 bus clock domain stop request
  52554. */
  52555. #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)
  52556. #define IOMUXC_GPR_GPR74_FLEXIO2_STOP_REQ_PER_MASK (0x20000U)
  52557. #define IOMUXC_GPR_GPR74_FLEXIO2_STOP_REQ_PER_SHIFT (17U)
  52558. /*! FLEXIO2_STOP_REQ_PER - FLEXIO2 peripheral clock domain stop request
  52559. */
  52560. #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)
  52561. #define IOMUXC_GPR_GPR74_DWP_MASK (0x30000000U)
  52562. #define IOMUXC_GPR_GPR74_DWP_SHIFT (28U)
  52563. /*! DWP - Domain write protection
  52564. * 0b00..Both cores are allowed
  52565. * 0b01..CM7 is forbidden
  52566. * 0b10..CM4 is forbidden
  52567. * 0b11..Both cores are forbidden
  52568. */
  52569. #define IOMUXC_GPR_GPR74_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR74_DWP_SHIFT)) & IOMUXC_GPR_GPR74_DWP_MASK)
  52570. #define IOMUXC_GPR_GPR74_DWP_LOCK_MASK (0xC0000000U)
  52571. #define IOMUXC_GPR_GPR74_DWP_LOCK_SHIFT (30U)
  52572. /*! DWP_LOCK - Domain write protection lock
  52573. * 0b00..Neither of DWP bits is locked
  52574. * 0b01..The lower DWP bit is locked
  52575. * 0b10..The higher DWP bit is locked
  52576. * 0b11..Both DWP bits are locked
  52577. */
  52578. #define IOMUXC_GPR_GPR74_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR74_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR74_DWP_LOCK_MASK)
  52579. /*! @} */
  52580. /*! @name GPR75 - GPR75 General Purpose Register */
  52581. /*! @{ */
  52582. #define IOMUXC_GPR_GPR75_ADC1_STOP_ACK_MASK (0x1U)
  52583. #define IOMUXC_GPR_GPR75_ADC1_STOP_ACK_SHIFT (0U)
  52584. /*! ADC1_STOP_ACK - ADC1 stop acknowledge
  52585. */
  52586. #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)
  52587. #define IOMUXC_GPR_GPR75_ADC2_STOP_ACK_MASK (0x2U)
  52588. #define IOMUXC_GPR_GPR75_ADC2_STOP_ACK_SHIFT (1U)
  52589. /*! ADC2_STOP_ACK - ADC2 stop acknowledge
  52590. */
  52591. #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)
  52592. #define IOMUXC_GPR_GPR75_CAAM_STOP_ACK_MASK (0x4U)
  52593. #define IOMUXC_GPR_GPR75_CAAM_STOP_ACK_SHIFT (2U)
  52594. /*! CAAM_STOP_ACK - CAAM stop acknowledge
  52595. */
  52596. #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)
  52597. #define IOMUXC_GPR_GPR75_CAN1_STOP_ACK_MASK (0x8U)
  52598. #define IOMUXC_GPR_GPR75_CAN1_STOP_ACK_SHIFT (3U)
  52599. /*! CAN1_STOP_ACK - CAN1 stop acknowledge
  52600. */
  52601. #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)
  52602. #define IOMUXC_GPR_GPR75_CAN2_STOP_ACK_MASK (0x10U)
  52603. #define IOMUXC_GPR_GPR75_CAN2_STOP_ACK_SHIFT (4U)
  52604. /*! CAN2_STOP_ACK - CAN2 stop acknowledge
  52605. */
  52606. #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)
  52607. #define IOMUXC_GPR_GPR75_CAN3_STOP_ACK_MASK (0x20U)
  52608. #define IOMUXC_GPR_GPR75_CAN3_STOP_ACK_SHIFT (5U)
  52609. /*! CAN3_STOP_ACK - CAN3 stop acknowledge
  52610. */
  52611. #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)
  52612. #define IOMUXC_GPR_GPR75_EDMA_STOP_ACK_MASK (0x40U)
  52613. #define IOMUXC_GPR_GPR75_EDMA_STOP_ACK_SHIFT (6U)
  52614. /*! EDMA_STOP_ACK - EDMA stop acknowledge
  52615. */
  52616. #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)
  52617. #define IOMUXC_GPR_GPR75_EDMA_LPSR_STOP_ACK_MASK (0x80U)
  52618. #define IOMUXC_GPR_GPR75_EDMA_LPSR_STOP_ACK_SHIFT (7U)
  52619. /*! EDMA_LPSR_STOP_ACK - EDMA_LPSR stop acknowledge
  52620. */
  52621. #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)
  52622. #define IOMUXC_GPR_GPR75_ENET_STOP_ACK_MASK (0x100U)
  52623. #define IOMUXC_GPR_GPR75_ENET_STOP_ACK_SHIFT (8U)
  52624. /*! ENET_STOP_ACK - ENET stop acknowledge
  52625. */
  52626. #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)
  52627. #define IOMUXC_GPR_GPR75_ENET1G_STOP_ACK_MASK (0x200U)
  52628. #define IOMUXC_GPR_GPR75_ENET1G_STOP_ACK_SHIFT (9U)
  52629. /*! ENET1G_STOP_ACK - ENET1G stop acknowledge
  52630. */
  52631. #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)
  52632. #define IOMUXC_GPR_GPR75_FLEXSPI1_STOP_ACK_MASK (0x400U)
  52633. #define IOMUXC_GPR_GPR75_FLEXSPI1_STOP_ACK_SHIFT (10U)
  52634. /*! FLEXSPI1_STOP_ACK - FLEXSPI1 stop acknowledge
  52635. */
  52636. #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)
  52637. #define IOMUXC_GPR_GPR75_FLEXSPI2_STOP_ACK_MASK (0x800U)
  52638. #define IOMUXC_GPR_GPR75_FLEXSPI2_STOP_ACK_SHIFT (11U)
  52639. /*! FLEXSPI2_STOP_ACK - FLEXSPI2 stop acknowledge
  52640. */
  52641. #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)
  52642. #define IOMUXC_GPR_GPR75_LPI2C1_STOP_ACK_MASK (0x1000U)
  52643. #define IOMUXC_GPR_GPR75_LPI2C1_STOP_ACK_SHIFT (12U)
  52644. /*! LPI2C1_STOP_ACK - LPI2C1 stop acknowledge
  52645. */
  52646. #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)
  52647. #define IOMUXC_GPR_GPR75_LPI2C2_STOP_ACK_MASK (0x2000U)
  52648. #define IOMUXC_GPR_GPR75_LPI2C2_STOP_ACK_SHIFT (13U)
  52649. /*! LPI2C2_STOP_ACK - LPI2C2 stop acknowledge
  52650. */
  52651. #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)
  52652. #define IOMUXC_GPR_GPR75_LPI2C3_STOP_ACK_MASK (0x4000U)
  52653. #define IOMUXC_GPR_GPR75_LPI2C3_STOP_ACK_SHIFT (14U)
  52654. /*! LPI2C3_STOP_ACK - LPI2C3 stop acknowledge
  52655. */
  52656. #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)
  52657. #define IOMUXC_GPR_GPR75_LPI2C4_STOP_ACK_MASK (0x8000U)
  52658. #define IOMUXC_GPR_GPR75_LPI2C4_STOP_ACK_SHIFT (15U)
  52659. /*! LPI2C4_STOP_ACK - LPI2C4 stop acknowledge
  52660. */
  52661. #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)
  52662. #define IOMUXC_GPR_GPR75_LPI2C5_STOP_ACK_MASK (0x10000U)
  52663. #define IOMUXC_GPR_GPR75_LPI2C5_STOP_ACK_SHIFT (16U)
  52664. /*! LPI2C5_STOP_ACK - LPI2C5 stop acknowledge
  52665. */
  52666. #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)
  52667. #define IOMUXC_GPR_GPR75_LPI2C6_STOP_ACK_MASK (0x20000U)
  52668. #define IOMUXC_GPR_GPR75_LPI2C6_STOP_ACK_SHIFT (17U)
  52669. /*! LPI2C6_STOP_ACK - LPI2C6 stop acknowledge
  52670. */
  52671. #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)
  52672. #define IOMUXC_GPR_GPR75_LPSPI1_STOP_ACK_MASK (0x40000U)
  52673. #define IOMUXC_GPR_GPR75_LPSPI1_STOP_ACK_SHIFT (18U)
  52674. /*! LPSPI1_STOP_ACK - LPSPI1 stop acknowledge
  52675. */
  52676. #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)
  52677. #define IOMUXC_GPR_GPR75_LPSPI2_STOP_ACK_MASK (0x80000U)
  52678. #define IOMUXC_GPR_GPR75_LPSPI2_STOP_ACK_SHIFT (19U)
  52679. /*! LPSPI2_STOP_ACK - LPSPI2 stop acknowledge
  52680. */
  52681. #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)
  52682. #define IOMUXC_GPR_GPR75_LPSPI3_STOP_ACK_MASK (0x100000U)
  52683. #define IOMUXC_GPR_GPR75_LPSPI3_STOP_ACK_SHIFT (20U)
  52684. /*! LPSPI3_STOP_ACK - LPSPI3 stop acknowledge
  52685. */
  52686. #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)
  52687. #define IOMUXC_GPR_GPR75_LPSPI4_STOP_ACK_MASK (0x200000U)
  52688. #define IOMUXC_GPR_GPR75_LPSPI4_STOP_ACK_SHIFT (21U)
  52689. /*! LPSPI4_STOP_ACK - LPSPI4 stop acknowledge
  52690. */
  52691. #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)
  52692. #define IOMUXC_GPR_GPR75_LPSPI5_STOP_ACK_MASK (0x400000U)
  52693. #define IOMUXC_GPR_GPR75_LPSPI5_STOP_ACK_SHIFT (22U)
  52694. /*! LPSPI5_STOP_ACK - LPSPI5 stop acknowledge
  52695. */
  52696. #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)
  52697. #define IOMUXC_GPR_GPR75_LPSPI6_STOP_ACK_MASK (0x800000U)
  52698. #define IOMUXC_GPR_GPR75_LPSPI6_STOP_ACK_SHIFT (23U)
  52699. /*! LPSPI6_STOP_ACK - LPSPI6 stop acknowledge
  52700. */
  52701. #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)
  52702. #define IOMUXC_GPR_GPR75_LPUART1_STOP_ACK_MASK (0x1000000U)
  52703. #define IOMUXC_GPR_GPR75_LPUART1_STOP_ACK_SHIFT (24U)
  52704. /*! LPUART1_STOP_ACK - LPUART1 stop acknowledge
  52705. */
  52706. #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)
  52707. #define IOMUXC_GPR_GPR75_LPUART2_STOP_ACK_MASK (0x2000000U)
  52708. #define IOMUXC_GPR_GPR75_LPUART2_STOP_ACK_SHIFT (25U)
  52709. /*! LPUART2_STOP_ACK - LPUART2 stop acknowledge
  52710. */
  52711. #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)
  52712. #define IOMUXC_GPR_GPR75_LPUART3_STOP_ACK_MASK (0x4000000U)
  52713. #define IOMUXC_GPR_GPR75_LPUART3_STOP_ACK_SHIFT (26U)
  52714. /*! LPUART3_STOP_ACK - LPUART3 stop acknowledge
  52715. */
  52716. #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)
  52717. #define IOMUXC_GPR_GPR75_LPUART4_STOP_ACK_MASK (0x8000000U)
  52718. #define IOMUXC_GPR_GPR75_LPUART4_STOP_ACK_SHIFT (27U)
  52719. /*! LPUART4_STOP_ACK - LPUART4 stop acknowledge
  52720. */
  52721. #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)
  52722. #define IOMUXC_GPR_GPR75_LPUART5_STOP_ACK_MASK (0x10000000U)
  52723. #define IOMUXC_GPR_GPR75_LPUART5_STOP_ACK_SHIFT (28U)
  52724. /*! LPUART5_STOP_ACK - LPUART5 stop acknowledge
  52725. */
  52726. #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)
  52727. #define IOMUXC_GPR_GPR75_LPUART6_STOP_ACK_MASK (0x20000000U)
  52728. #define IOMUXC_GPR_GPR75_LPUART6_STOP_ACK_SHIFT (29U)
  52729. /*! LPUART6_STOP_ACK - LPUART6 stop acknowledge
  52730. */
  52731. #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)
  52732. #define IOMUXC_GPR_GPR75_LPUART7_STOP_ACK_MASK (0x40000000U)
  52733. #define IOMUXC_GPR_GPR75_LPUART7_STOP_ACK_SHIFT (30U)
  52734. /*! LPUART7_STOP_ACK - LPUART7 stop acknowledge
  52735. */
  52736. #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)
  52737. #define IOMUXC_GPR_GPR75_LPUART8_STOP_ACK_MASK (0x80000000U)
  52738. #define IOMUXC_GPR_GPR75_LPUART8_STOP_ACK_SHIFT (31U)
  52739. /*! LPUART8_STOP_ACK - LPUART8 stop acknowledge
  52740. */
  52741. #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)
  52742. /*! @} */
  52743. /*! @name GPR76 - GPR76 General Purpose Register */
  52744. /*! @{ */
  52745. #define IOMUXC_GPR_GPR76_LPUART9_STOP_ACK_MASK (0x1U)
  52746. #define IOMUXC_GPR_GPR76_LPUART9_STOP_ACK_SHIFT (0U)
  52747. /*! LPUART9_STOP_ACK - LPUART9 stop acknowledge
  52748. */
  52749. #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)
  52750. #define IOMUXC_GPR_GPR76_LPUART10_STOP_ACK_MASK (0x2U)
  52751. #define IOMUXC_GPR_GPR76_LPUART10_STOP_ACK_SHIFT (1U)
  52752. /*! LPUART10_STOP_ACK - LPUART10 stop acknowledge
  52753. */
  52754. #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)
  52755. #define IOMUXC_GPR_GPR76_LPUART11_STOP_ACK_MASK (0x4U)
  52756. #define IOMUXC_GPR_GPR76_LPUART11_STOP_ACK_SHIFT (2U)
  52757. /*! LPUART11_STOP_ACK - LPUART11 stop acknowledge
  52758. */
  52759. #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)
  52760. #define IOMUXC_GPR_GPR76_LPUART12_STOP_ACK_MASK (0x8U)
  52761. #define IOMUXC_GPR_GPR76_LPUART12_STOP_ACK_SHIFT (3U)
  52762. /*! LPUART12_STOP_ACK - LPUART12 stop acknowledge
  52763. */
  52764. #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)
  52765. #define IOMUXC_GPR_GPR76_MIC_STOP_ACK_MASK (0x10U)
  52766. #define IOMUXC_GPR_GPR76_MIC_STOP_ACK_SHIFT (4U)
  52767. /*! MIC_STOP_ACK - MIC stop acknowledge
  52768. */
  52769. #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)
  52770. #define IOMUXC_GPR_GPR76_PIT1_STOP_ACK_MASK (0x20U)
  52771. #define IOMUXC_GPR_GPR76_PIT1_STOP_ACK_SHIFT (5U)
  52772. /*! PIT1_STOP_ACK - PIT1 stop acknowledge
  52773. */
  52774. #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)
  52775. #define IOMUXC_GPR_GPR76_PIT2_STOP_ACK_MASK (0x40U)
  52776. #define IOMUXC_GPR_GPR76_PIT2_STOP_ACK_SHIFT (6U)
  52777. /*! PIT2_STOP_ACK - PIT2 stop acknowledge
  52778. */
  52779. #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)
  52780. #define IOMUXC_GPR_GPR76_SEMC_STOP_ACK_MASK (0x80U)
  52781. #define IOMUXC_GPR_GPR76_SEMC_STOP_ACK_SHIFT (7U)
  52782. /*! SEMC_STOP_ACK - SEMC stop acknowledge
  52783. */
  52784. #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)
  52785. #define IOMUXC_GPR_GPR76_SNVS_HP_STOP_ACK_MASK (0x100U)
  52786. #define IOMUXC_GPR_GPR76_SNVS_HP_STOP_ACK_SHIFT (8U)
  52787. /*! SNVS_HP_STOP_ACK - SNVS_HP stop acknowledge
  52788. */
  52789. #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)
  52790. #define IOMUXC_GPR_GPR76_SAI1_STOP_ACK_MASK (0x200U)
  52791. #define IOMUXC_GPR_GPR76_SAI1_STOP_ACK_SHIFT (9U)
  52792. /*! SAI1_STOP_ACK - SAI1 stop acknowledge
  52793. */
  52794. #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)
  52795. #define IOMUXC_GPR_GPR76_SAI2_STOP_ACK_MASK (0x400U)
  52796. #define IOMUXC_GPR_GPR76_SAI2_STOP_ACK_SHIFT (10U)
  52797. /*! SAI2_STOP_ACK - SAI2 stop acknowledge
  52798. */
  52799. #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)
  52800. #define IOMUXC_GPR_GPR76_SAI3_STOP_ACK_MASK (0x800U)
  52801. #define IOMUXC_GPR_GPR76_SAI3_STOP_ACK_SHIFT (11U)
  52802. /*! SAI3_STOP_ACK - SAI3 stop acknowledge
  52803. */
  52804. #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)
  52805. #define IOMUXC_GPR_GPR76_SAI4_STOP_ACK_MASK (0x1000U)
  52806. #define IOMUXC_GPR_GPR76_SAI4_STOP_ACK_SHIFT (12U)
  52807. /*! SAI4_STOP_ACK - SAI4 stop acknowledge
  52808. */
  52809. #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)
  52810. #define IOMUXC_GPR_GPR76_FLEXIO1_STOP_ACK_BUS_MASK (0x2000U)
  52811. #define IOMUXC_GPR_GPR76_FLEXIO1_STOP_ACK_BUS_SHIFT (13U)
  52812. /*! FLEXIO1_STOP_ACK_BUS - FLEXIO1 stop acknowledge of bus clock domain
  52813. */
  52814. #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)
  52815. #define IOMUXC_GPR_GPR76_FLEXIO1_STOP_ACK_PER_MASK (0x4000U)
  52816. #define IOMUXC_GPR_GPR76_FLEXIO1_STOP_ACK_PER_SHIFT (14U)
  52817. /*! FLEXIO1_STOP_ACK_PER - FLEXIO1 stop acknowledge of peripheral clock domain
  52818. */
  52819. #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)
  52820. #define IOMUXC_GPR_GPR76_FLEXIO2_STOP_ACK_BUS_MASK (0x8000U)
  52821. #define IOMUXC_GPR_GPR76_FLEXIO2_STOP_ACK_BUS_SHIFT (15U)
  52822. /*! FLEXIO2_STOP_ACK_BUS - FLEXIO2 stop acknowledge of bus clock domain
  52823. */
  52824. #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)
  52825. #define IOMUXC_GPR_GPR76_FLEXIO2_STOP_ACK_PER_MASK (0x10000U)
  52826. #define IOMUXC_GPR_GPR76_FLEXIO2_STOP_ACK_PER_SHIFT (16U)
  52827. /*! FLEXIO2_STOP_ACK_PER - FLEXIO2 stop acknowledge of peripheral clock domain
  52828. */
  52829. #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)
  52830. /*! @} */
  52831. /*!
  52832. * @}
  52833. */ /* end of group IOMUXC_GPR_Register_Masks */
  52834. /* IOMUXC_GPR - Peripheral instance base addresses */
  52835. /** Peripheral IOMUXC_GPR base address */
  52836. #define IOMUXC_GPR_BASE (0x400E4000u)
  52837. /** Peripheral IOMUXC_GPR base pointer */
  52838. #define IOMUXC_GPR ((IOMUXC_GPR_Type *)IOMUXC_GPR_BASE)
  52839. /** Array initializer of IOMUXC_GPR peripheral base addresses */
  52840. #define IOMUXC_GPR_BASE_ADDRS { IOMUXC_GPR_BASE }
  52841. /** Array initializer of IOMUXC_GPR peripheral base pointers */
  52842. #define IOMUXC_GPR_BASE_PTRS { IOMUXC_GPR }
  52843. /*!
  52844. * @}
  52845. */ /* end of group IOMUXC_GPR_Peripheral_Access_Layer */
  52846. /* ----------------------------------------------------------------------------
  52847. -- IOMUXC_LPSR Peripheral Access Layer
  52848. ---------------------------------------------------------------------------- */
  52849. /*!
  52850. * @addtogroup IOMUXC_LPSR_Peripheral_Access_Layer IOMUXC_LPSR Peripheral Access Layer
  52851. * @{
  52852. */
  52853. /** IOMUXC_LPSR - Register Layout Typedef */
  52854. typedef struct {
  52855. __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 */
  52856. __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 */
  52857. __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 */
  52858. } IOMUXC_LPSR_Type;
  52859. /* ----------------------------------------------------------------------------
  52860. -- IOMUXC_LPSR Register Masks
  52861. ---------------------------------------------------------------------------- */
  52862. /*!
  52863. * @addtogroup IOMUXC_LPSR_Register_Masks IOMUXC_LPSR Register Masks
  52864. * @{
  52865. */
  52866. /*! @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 */
  52867. /*! @{ */
  52868. #define IOMUXC_LPSR_SW_MUX_CTL_PAD_MUX_MODE_MASK (0xFU)
  52869. #define IOMUXC_LPSR_SW_MUX_CTL_PAD_MUX_MODE_SHIFT (0U)
  52870. /*! MUX_MODE - MUX Mode Select Field.
  52871. * 0b0000..Select mux mode: ALT0 mux port: FLEXCAN3_TX of instance: FLEXCAN3
  52872. * 0b0001..Select mux mode: ALT1 mux port: MIC_CLK of instance: MIC
  52873. * 0b0010..Select mux mode: ALT2 mux port: MQS_RIGHT of instance: MQS
  52874. * 0b0011..Select mux mode: ALT3 mux port: ARM_CM4_EVENTO of instance: CM4
  52875. * 0b0101..Select mux mode: ALT5 mux port: GPIO_MUX6_IO00 of instance: GPIO_MUX6
  52876. * 0b0110..Select mux mode: ALT6 mux port: LPUART12_TXD of instance: LPUART12
  52877. * 0b0111..Select mux mode: ALT7 mux port: SAI4_MCLK of instance: SAI4
  52878. * 0b1010..Select mux mode: ALT10 mux port: GPIO12_IO00 of instance: GPIO12
  52879. */
  52880. #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)
  52881. #define IOMUXC_LPSR_SW_MUX_CTL_PAD_SION_MASK (0x10U)
  52882. #define IOMUXC_LPSR_SW_MUX_CTL_PAD_SION_SHIFT (4U)
  52883. /*! SION - Software Input On Field.
  52884. * 0b1..Force input path of pad GPIO_LPSR_00
  52885. * 0b0..Input Path is determined by functionality
  52886. */
  52887. #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)
  52888. /*! @} */
  52889. /* The count of IOMUXC_LPSR_SW_MUX_CTL_PAD */
  52890. #define IOMUXC_LPSR_SW_MUX_CTL_PAD_COUNT (16U)
  52891. /*! @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 */
  52892. /*! @{ */
  52893. #define IOMUXC_LPSR_SW_PAD_CTL_PAD_SRE_MASK (0x1U)
  52894. #define IOMUXC_LPSR_SW_PAD_CTL_PAD_SRE_SHIFT (0U)
  52895. /*! SRE - Slew Rate Field
  52896. * 0b0..Slow Slew Rate
  52897. * 0b1..Fast Slew Rate
  52898. */
  52899. #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)
  52900. #define IOMUXC_LPSR_SW_PAD_CTL_PAD_DSE_MASK (0x2U)
  52901. #define IOMUXC_LPSR_SW_PAD_CTL_PAD_DSE_SHIFT (1U)
  52902. /*! DSE - Drive Strength Field
  52903. * 0b0..normal driver
  52904. * 0b1..high driver
  52905. */
  52906. #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)
  52907. #define IOMUXC_LPSR_SW_PAD_CTL_PAD_PUE_MASK (0x4U)
  52908. #define IOMUXC_LPSR_SW_PAD_CTL_PAD_PUE_SHIFT (2U)
  52909. /*! PUE - Pull / Keep Select Field
  52910. * 0b0..Pull Disable
  52911. * 0b1..Pull Enable
  52912. */
  52913. #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)
  52914. #define IOMUXC_LPSR_SW_PAD_CTL_PAD_PUS_MASK (0x8U)
  52915. #define IOMUXC_LPSR_SW_PAD_CTL_PAD_PUS_SHIFT (3U)
  52916. /*! PUS - Pull Up / Down Config. Field
  52917. * 0b0..Weak pull down
  52918. * 0b1..Weak pull up
  52919. */
  52920. #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)
  52921. #define IOMUXC_LPSR_SW_PAD_CTL_PAD_ODE_LPSR_MASK (0x20U)
  52922. #define IOMUXC_LPSR_SW_PAD_CTL_PAD_ODE_LPSR_SHIFT (5U)
  52923. /*! ODE_LPSR - Open Drain LPSR Field
  52924. * 0b0..Disabled
  52925. * 0b1..Enabled
  52926. */
  52927. #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)
  52928. #define IOMUXC_LPSR_SW_PAD_CTL_PAD_DWP_MASK (0x30000000U)
  52929. #define IOMUXC_LPSR_SW_PAD_CTL_PAD_DWP_SHIFT (28U)
  52930. /*! DWP - Domain write protection
  52931. * 0b00..Both cores are allowed
  52932. * 0b01..CM7 is forbidden
  52933. * 0b10..CM4 is forbidden
  52934. * 0b11..Both cores are forbidden
  52935. */
  52936. #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)
  52937. #define IOMUXC_LPSR_SW_PAD_CTL_PAD_DWP_LOCK_MASK (0xC0000000U)
  52938. #define IOMUXC_LPSR_SW_PAD_CTL_PAD_DWP_LOCK_SHIFT (30U)
  52939. /*! DWP_LOCK - Domain write protection lock
  52940. * 0b00..Neither of DWP bits is locked
  52941. * 0b01..The lower DWP bit is locked
  52942. * 0b10..The higher DWP bit is locked
  52943. * 0b11..Both DWP bits are locked
  52944. */
  52945. #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)
  52946. /*! @} */
  52947. /* The count of IOMUXC_LPSR_SW_PAD_CTL_PAD */
  52948. #define IOMUXC_LPSR_SW_PAD_CTL_PAD_COUNT (16U)
  52949. /*! @name SELECT_INPUT - CAN3_IPP_IND_CANRX_SELECT_INPUT DAISY Register..SAI4_IPP_IND_SAI_TXSYNC_SELECT_INPUT DAISY Register */
  52950. /*! @{ */
  52951. #define IOMUXC_LPSR_SELECT_INPUT_DAISY_MASK (0x3U) /* Merged from fields with different position or width, of widths (1, 2), largest definition used */
  52952. #define IOMUXC_LPSR_SELECT_INPUT_DAISY_SHIFT (0U)
  52953. /*! DAISY - Selecting Pads Involved in Daisy Chain.
  52954. * 0b00..Selecting Pad: GPIO_LPSR_01 for Mode: ALT0
  52955. * 0b01..Selecting Pad: GPIO_LPSR_07 for Mode: ALT6
  52956. * 0b10..Selecting Pad: GPIO_LPSR_09 for Mode: ALT1
  52957. */
  52958. #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 */
  52959. /*! @} */
  52960. /* The count of IOMUXC_LPSR_SELECT_INPUT */
  52961. #define IOMUXC_LPSR_SELECT_INPUT_COUNT (24U)
  52962. /*!
  52963. * @}
  52964. */ /* end of group IOMUXC_LPSR_Register_Masks */
  52965. /* IOMUXC_LPSR - Peripheral instance base addresses */
  52966. /** Peripheral IOMUXC_LPSR base address */
  52967. #define IOMUXC_LPSR_BASE (0x40C08000u)
  52968. /** Peripheral IOMUXC_LPSR base pointer */
  52969. #define IOMUXC_LPSR ((IOMUXC_LPSR_Type *)IOMUXC_LPSR_BASE)
  52970. /** Array initializer of IOMUXC_LPSR peripheral base addresses */
  52971. #define IOMUXC_LPSR_BASE_ADDRS { IOMUXC_LPSR_BASE }
  52972. /** Array initializer of IOMUXC_LPSR peripheral base pointers */
  52973. #define IOMUXC_LPSR_BASE_PTRS { IOMUXC_LPSR }
  52974. /*!
  52975. * @}
  52976. */ /* end of group IOMUXC_LPSR_Peripheral_Access_Layer */
  52977. /* ----------------------------------------------------------------------------
  52978. -- IOMUXC_LPSR_GPR Peripheral Access Layer
  52979. ---------------------------------------------------------------------------- */
  52980. /*!
  52981. * @addtogroup IOMUXC_LPSR_GPR_Peripheral_Access_Layer IOMUXC_LPSR_GPR Peripheral Access Layer
  52982. * @{
  52983. */
  52984. /** IOMUXC_LPSR_GPR - Register Layout Typedef */
  52985. typedef struct {
  52986. __IO uint32_t GPR0; /**< GPR0 General Purpose Register, offset: 0x0 */
  52987. __IO uint32_t GPR1; /**< GPR1 General Purpose Register, offset: 0x4 */
  52988. __IO uint32_t GPR2; /**< GPR2 General Purpose Register, offset: 0x8 */
  52989. __IO uint32_t GPR3; /**< GPR3 General Purpose Register, offset: 0xC */
  52990. __IO uint32_t GPR4; /**< GPR4 General Purpose Register, offset: 0x10 */
  52991. __IO uint32_t GPR5; /**< GPR5 General Purpose Register, offset: 0x14 */
  52992. __IO uint32_t GPR6; /**< GPR6 General Purpose Register, offset: 0x18 */
  52993. __IO uint32_t GPR7; /**< GPR7 General Purpose Register, offset: 0x1C */
  52994. __IO uint32_t GPR8; /**< GPR8 General Purpose Register, offset: 0x20 */
  52995. __IO uint32_t GPR9; /**< GPR9 General Purpose Register, offset: 0x24 */
  52996. __IO uint32_t GPR10; /**< GPR10 General Purpose Register, offset: 0x28 */
  52997. __IO uint32_t GPR11; /**< GPR11 General Purpose Register, offset: 0x2C */
  52998. __IO uint32_t GPR12; /**< GPR12 General Purpose Register, offset: 0x30 */
  52999. __IO uint32_t GPR13; /**< GPR13 General Purpose Register, offset: 0x34 */
  53000. __IO uint32_t GPR14; /**< GPR14 General Purpose Register, offset: 0x38 */
  53001. __IO uint32_t GPR15; /**< GPR15 General Purpose Register, offset: 0x3C */
  53002. __IO uint32_t GPR16; /**< GPR16 General Purpose Register, offset: 0x40 */
  53003. __IO uint32_t GPR17; /**< GPR17 General Purpose Register, offset: 0x44 */
  53004. __IO uint32_t GPR18; /**< GPR18 General Purpose Register, offset: 0x48 */
  53005. __IO uint32_t GPR19; /**< GPR19 General Purpose Register, offset: 0x4C */
  53006. __IO uint32_t GPR20; /**< GPR20 General Purpose Register, offset: 0x50 */
  53007. __IO uint32_t GPR21; /**< GPR21 General Purpose Register, offset: 0x54 */
  53008. __IO uint32_t GPR22; /**< GPR22 General Purpose Register, offset: 0x58 */
  53009. __IO uint32_t GPR23; /**< GPR23 General Purpose Register, offset: 0x5C */
  53010. __IO uint32_t GPR24; /**< GPR24 General Purpose Register, offset: 0x60 */
  53011. __IO uint32_t GPR25; /**< GPR25 General Purpose Register, offset: 0x64 */
  53012. __IO uint32_t GPR26; /**< GPR26 General Purpose Register, offset: 0x68 */
  53013. uint8_t RESERVED_0[24];
  53014. __IO uint32_t GPR33; /**< GPR33 General Purpose Register, offset: 0x84 */
  53015. __IO uint32_t GPR34; /**< GPR34 General Purpose Register, offset: 0x88 */
  53016. __IO uint32_t GPR35; /**< GPR35 General Purpose Register, offset: 0x8C */
  53017. __IO uint32_t GPR36; /**< GPR36 General Purpose Register, offset: 0x90 */
  53018. __IO uint32_t GPR37; /**< GPR37 General Purpose Register, offset: 0x94 */
  53019. __IO uint32_t GPR38; /**< GPR38 General Purpose Register, offset: 0x98 */
  53020. __IO uint32_t GPR39; /**< GPR39 General Purpose Register, offset: 0x9C */
  53021. __I uint32_t GPR40; /**< GPR40 General Purpose Register, offset: 0xA0 */
  53022. __I uint32_t GPR41; /**< GPR41 General Purpose Register, offset: 0xA4 */
  53023. } IOMUXC_LPSR_GPR_Type;
  53024. /* ----------------------------------------------------------------------------
  53025. -- IOMUXC_LPSR_GPR Register Masks
  53026. ---------------------------------------------------------------------------- */
  53027. /*!
  53028. * @addtogroup IOMUXC_LPSR_GPR_Register_Masks IOMUXC_LPSR_GPR Register Masks
  53029. * @{
  53030. */
  53031. /*! @name GPR0 - GPR0 General Purpose Register */
  53032. /*! @{ */
  53033. #define IOMUXC_LPSR_GPR_GPR0_CM4_INIT_VTOR_LOW_MASK (0xFFF8U)
  53034. #define IOMUXC_LPSR_GPR_GPR0_CM4_INIT_VTOR_LOW_SHIFT (3U)
  53035. /*! CM4_INIT_VTOR_LOW - CM4 Vector table offset value lower bits out of reset
  53036. */
  53037. #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)
  53038. #define IOMUXC_LPSR_GPR_GPR0_DWP_MASK (0x30000000U)
  53039. #define IOMUXC_LPSR_GPR_GPR0_DWP_SHIFT (28U)
  53040. /*! DWP - Domain write protection
  53041. * 0b00..Both cores are allowed
  53042. * 0b01..CM7 is forbidden
  53043. * 0b10..CM4 is forbidden
  53044. * 0b11..Both cores are forbidden
  53045. */
  53046. #define IOMUXC_LPSR_GPR_GPR0_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR0_DWP_SHIFT)) & IOMUXC_LPSR_GPR_GPR0_DWP_MASK)
  53047. #define IOMUXC_LPSR_GPR_GPR0_DWP_LOCK_MASK (0xC0000000U)
  53048. #define IOMUXC_LPSR_GPR_GPR0_DWP_LOCK_SHIFT (30U)
  53049. /*! DWP_LOCK - Domain write protection lock
  53050. * 0b00..Neither of DWP bits is locked
  53051. * 0b01..The lower DWP bit is locked
  53052. * 0b10..The higher DWP bit is locked
  53053. * 0b11..Both DWP bits are locked
  53054. */
  53055. #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)
  53056. /*! @} */
  53057. /*! @name GPR1 - GPR1 General Purpose Register */
  53058. /*! @{ */
  53059. #define IOMUXC_LPSR_GPR_GPR1_CM4_INIT_VTOR_HIGH_MASK (0xFFFFU)
  53060. #define IOMUXC_LPSR_GPR_GPR1_CM4_INIT_VTOR_HIGH_SHIFT (0U)
  53061. /*! CM4_INIT_VTOR_HIGH - CM4 Vector table offset value higher bits out of reset
  53062. */
  53063. #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)
  53064. #define IOMUXC_LPSR_GPR_GPR1_DWP_MASK (0x30000000U)
  53065. #define IOMUXC_LPSR_GPR_GPR1_DWP_SHIFT (28U)
  53066. /*! DWP - Domain write protection
  53067. * 0b00..Both cores are allowed
  53068. * 0b01..CM7 is forbidden
  53069. * 0b10..CM4 is forbidden
  53070. * 0b11..Both cores are forbidden
  53071. */
  53072. #define IOMUXC_LPSR_GPR_GPR1_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR1_DWP_SHIFT)) & IOMUXC_LPSR_GPR_GPR1_DWP_MASK)
  53073. #define IOMUXC_LPSR_GPR_GPR1_DWP_LOCK_MASK (0xC0000000U)
  53074. #define IOMUXC_LPSR_GPR_GPR1_DWP_LOCK_SHIFT (30U)
  53075. /*! DWP_LOCK - Domain write protection lock
  53076. * 0b00..Neither of DWP bits is locked
  53077. * 0b01..The lower DWP bit is locked
  53078. * 0b10..The higher DWP bit is locked
  53079. * 0b11..Both DWP bits are locked
  53080. */
  53081. #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)
  53082. /*! @} */
  53083. /*! @name GPR2 - GPR2 General Purpose Register */
  53084. /*! @{ */
  53085. #define IOMUXC_LPSR_GPR_GPR2_LOCK_MASK (0x1U)
  53086. #define IOMUXC_LPSR_GPR_GPR2_LOCK_SHIFT (0U)
  53087. /*! LOCK - Lock the write to bit 31:1
  53088. * 0b1..Write access to bit 31:1 is blocked
  53089. * 0b0..Write access to bit 31:1 is not blocked
  53090. */
  53091. #define IOMUXC_LPSR_GPR_GPR2_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR2_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR2_LOCK_MASK)
  53092. #define IOMUXC_LPSR_GPR_GPR2_APC_AC_R0_BOT_MASK (0xFFFFFFF8U)
  53093. #define IOMUXC_LPSR_GPR_GPR2_APC_AC_R0_BOT_SHIFT (3U)
  53094. /*! APC_AC_R0_BOT - APC start address of memory region-0
  53095. */
  53096. #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)
  53097. /*! @} */
  53098. /*! @name GPR3 - GPR3 General Purpose Register */
  53099. /*! @{ */
  53100. #define IOMUXC_LPSR_GPR_GPR3_LOCK_MASK (0x1U)
  53101. #define IOMUXC_LPSR_GPR_GPR3_LOCK_SHIFT (0U)
  53102. /*! LOCK - Lock the write to bit 31:1
  53103. * 0b1..Write access to bit 31:1 is blocked
  53104. * 0b0..Write access to bit 31:1 is not blocked
  53105. */
  53106. #define IOMUXC_LPSR_GPR_GPR3_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR3_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR3_LOCK_MASK)
  53107. #define IOMUXC_LPSR_GPR_GPR3_APC_AC_R0_TOP_MASK (0xFFFFFFF8U)
  53108. #define IOMUXC_LPSR_GPR_GPR3_APC_AC_R0_TOP_SHIFT (3U)
  53109. /*! APC_AC_R0_TOP - APC end address of memory region-0
  53110. */
  53111. #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)
  53112. /*! @} */
  53113. /*! @name GPR4 - GPR4 General Purpose Register */
  53114. /*! @{ */
  53115. #define IOMUXC_LPSR_GPR_GPR4_LOCK_MASK (0x1U)
  53116. #define IOMUXC_LPSR_GPR_GPR4_LOCK_SHIFT (0U)
  53117. /*! LOCK - Lock the write to bit 31:1
  53118. * 0b1..Write access to bit 31:1 is blocked
  53119. * 0b0..Write access to bit 31:1 is not blocked
  53120. */
  53121. #define IOMUXC_LPSR_GPR_GPR4_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR4_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR4_LOCK_MASK)
  53122. #define IOMUXC_LPSR_GPR_GPR4_APC_AC_R1_BOT_MASK (0xFFFFFFF8U)
  53123. #define IOMUXC_LPSR_GPR_GPR4_APC_AC_R1_BOT_SHIFT (3U)
  53124. /*! APC_AC_R1_BOT - APC start address of memory region-1
  53125. */
  53126. #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)
  53127. /*! @} */
  53128. /*! @name GPR5 - GPR5 General Purpose Register */
  53129. /*! @{ */
  53130. #define IOMUXC_LPSR_GPR_GPR5_LOCK_MASK (0x1U)
  53131. #define IOMUXC_LPSR_GPR_GPR5_LOCK_SHIFT (0U)
  53132. /*! LOCK - Lock the write to bit 31:1
  53133. * 0b1..Write access to bit 31:1 is blocked
  53134. * 0b0..Write access to bit 31:1 is not blocked
  53135. */
  53136. #define IOMUXC_LPSR_GPR_GPR5_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR5_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR5_LOCK_MASK)
  53137. #define IOMUXC_LPSR_GPR_GPR5_APC_AC_R1_TOP_MASK (0xFFFFFFF8U)
  53138. #define IOMUXC_LPSR_GPR_GPR5_APC_AC_R1_TOP_SHIFT (3U)
  53139. /*! APC_AC_R1_TOP - APC end address of memory region-1
  53140. */
  53141. #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)
  53142. /*! @} */
  53143. /*! @name GPR6 - GPR6 General Purpose Register */
  53144. /*! @{ */
  53145. #define IOMUXC_LPSR_GPR_GPR6_LOCK_MASK (0x1U)
  53146. #define IOMUXC_LPSR_GPR_GPR6_LOCK_SHIFT (0U)
  53147. /*! LOCK - Lock the write to bit 31:1
  53148. * 0b1..Write access to bit 31:1 is blocked
  53149. * 0b0..Write access to bit 31:1 is not blocked
  53150. */
  53151. #define IOMUXC_LPSR_GPR_GPR6_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR6_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR6_LOCK_MASK)
  53152. #define IOMUXC_LPSR_GPR_GPR6_APC_AC_R2_BOT_MASK (0xFFFFFFF8U)
  53153. #define IOMUXC_LPSR_GPR_GPR6_APC_AC_R2_BOT_SHIFT (3U)
  53154. /*! APC_AC_R2_BOT - APC start address of memory region-2
  53155. */
  53156. #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)
  53157. /*! @} */
  53158. /*! @name GPR7 - GPR7 General Purpose Register */
  53159. /*! @{ */
  53160. #define IOMUXC_LPSR_GPR_GPR7_LOCK_MASK (0x1U)
  53161. #define IOMUXC_LPSR_GPR_GPR7_LOCK_SHIFT (0U)
  53162. /*! LOCK - Lock the write to bit 31:1
  53163. * 0b1..Write access to bit 31:1 is blocked
  53164. * 0b0..Write access to bit 31:1 is not blocked
  53165. */
  53166. #define IOMUXC_LPSR_GPR_GPR7_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR7_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR7_LOCK_MASK)
  53167. #define IOMUXC_LPSR_GPR_GPR7_APC_AC_R2_TOP_MASK (0xFFFFFFF8U)
  53168. #define IOMUXC_LPSR_GPR_GPR7_APC_AC_R2_TOP_SHIFT (3U)
  53169. /*! APC_AC_R2_TOP - APC end address of memory region-2
  53170. */
  53171. #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)
  53172. /*! @} */
  53173. /*! @name GPR8 - GPR8 General Purpose Register */
  53174. /*! @{ */
  53175. #define IOMUXC_LPSR_GPR_GPR8_LOCK_MASK (0x1U)
  53176. #define IOMUXC_LPSR_GPR_GPR8_LOCK_SHIFT (0U)
  53177. /*! LOCK - Lock the write to bit 31:1
  53178. * 0b1..Write access to bit 31:1 is blocked
  53179. * 0b0..Write access to bit 31:1 is not blocked
  53180. */
  53181. #define IOMUXC_LPSR_GPR_GPR8_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR8_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR8_LOCK_MASK)
  53182. #define IOMUXC_LPSR_GPR_GPR8_APC_AC_R3_BOT_MASK (0xFFFFFFF8U)
  53183. #define IOMUXC_LPSR_GPR_GPR8_APC_AC_R3_BOT_SHIFT (3U)
  53184. /*! APC_AC_R3_BOT - APC start address of memory region-3
  53185. */
  53186. #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)
  53187. /*! @} */
  53188. /*! @name GPR9 - GPR9 General Purpose Register */
  53189. /*! @{ */
  53190. #define IOMUXC_LPSR_GPR_GPR9_LOCK_MASK (0x1U)
  53191. #define IOMUXC_LPSR_GPR_GPR9_LOCK_SHIFT (0U)
  53192. /*! LOCK - Lock the write to bit 31:1
  53193. * 0b1..Write access to bit 31:1 is blocked
  53194. * 0b0..Write access to bit 31:1 is not blocked
  53195. */
  53196. #define IOMUXC_LPSR_GPR_GPR9_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR9_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR9_LOCK_MASK)
  53197. #define IOMUXC_LPSR_GPR_GPR9_APC_AC_R3_TOP_MASK (0xFFFFFFF8U)
  53198. #define IOMUXC_LPSR_GPR_GPR9_APC_AC_R3_TOP_SHIFT (3U)
  53199. /*! APC_AC_R3_TOP - APC end address of memory region-3
  53200. */
  53201. #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)
  53202. /*! @} */
  53203. /*! @name GPR10 - GPR10 General Purpose Register */
  53204. /*! @{ */
  53205. #define IOMUXC_LPSR_GPR_GPR10_LOCK_MASK (0x1U)
  53206. #define IOMUXC_LPSR_GPR_GPR10_LOCK_SHIFT (0U)
  53207. /*! LOCK - Lock the write to bit 31:1
  53208. * 0b1..Write access to bit 31:1 is blocked
  53209. * 0b0..Write access to bit 31:1 is not blocked
  53210. */
  53211. #define IOMUXC_LPSR_GPR_GPR10_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR10_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR10_LOCK_MASK)
  53212. #define IOMUXC_LPSR_GPR_GPR10_APC_AC_R4_BOT_MASK (0xFFFFFFF8U)
  53213. #define IOMUXC_LPSR_GPR_GPR10_APC_AC_R4_BOT_SHIFT (3U)
  53214. /*! APC_AC_R4_BOT - APC start address of memory region-4
  53215. */
  53216. #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)
  53217. /*! @} */
  53218. /*! @name GPR11 - GPR11 General Purpose Register */
  53219. /*! @{ */
  53220. #define IOMUXC_LPSR_GPR_GPR11_LOCK_MASK (0x1U)
  53221. #define IOMUXC_LPSR_GPR_GPR11_LOCK_SHIFT (0U)
  53222. /*! LOCK - Lock the write to bit 31:1
  53223. * 0b1..Write access to bit 31:1 is blocked
  53224. * 0b0..Write access to bit 31:1 is not blocked
  53225. */
  53226. #define IOMUXC_LPSR_GPR_GPR11_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR11_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR11_LOCK_MASK)
  53227. #define IOMUXC_LPSR_GPR_GPR11_APC_AC_R4_TOP_MASK (0xFFFFFFF8U)
  53228. #define IOMUXC_LPSR_GPR_GPR11_APC_AC_R4_TOP_SHIFT (3U)
  53229. /*! APC_AC_R4_TOP - APC end address of memory region-4
  53230. */
  53231. #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)
  53232. /*! @} */
  53233. /*! @name GPR12 - GPR12 General Purpose Register */
  53234. /*! @{ */
  53235. #define IOMUXC_LPSR_GPR_GPR12_LOCK_MASK (0x1U)
  53236. #define IOMUXC_LPSR_GPR_GPR12_LOCK_SHIFT (0U)
  53237. /*! LOCK - Lock the write to bit 31:1
  53238. * 0b1..Write access to bit 31:1 is blocked
  53239. * 0b0..Write access to bit 31:1 is not blocked
  53240. */
  53241. #define IOMUXC_LPSR_GPR_GPR12_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR12_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR12_LOCK_MASK)
  53242. #define IOMUXC_LPSR_GPR_GPR12_APC_AC_R5_BOT_MASK (0xFFFFFFF8U)
  53243. #define IOMUXC_LPSR_GPR_GPR12_APC_AC_R5_BOT_SHIFT (3U)
  53244. /*! APC_AC_R5_BOT - APC start address of memory region-5
  53245. */
  53246. #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)
  53247. /*! @} */
  53248. /*! @name GPR13 - GPR13 General Purpose Register */
  53249. /*! @{ */
  53250. #define IOMUXC_LPSR_GPR_GPR13_LOCK_MASK (0x1U)
  53251. #define IOMUXC_LPSR_GPR_GPR13_LOCK_SHIFT (0U)
  53252. /*! LOCK - Lock the write to bit 31:1
  53253. * 0b1..Write access to bit 31:1 is blocked
  53254. * 0b0..Write access to bit 31:1 is not blocked
  53255. */
  53256. #define IOMUXC_LPSR_GPR_GPR13_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR13_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR13_LOCK_MASK)
  53257. #define IOMUXC_LPSR_GPR_GPR13_APC_AC_R5_TOP_MASK (0xFFFFFFF8U)
  53258. #define IOMUXC_LPSR_GPR_GPR13_APC_AC_R5_TOP_SHIFT (3U)
  53259. /*! APC_AC_R5_TOP - APC end address of memory region-5
  53260. */
  53261. #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)
  53262. /*! @} */
  53263. /*! @name GPR14 - GPR14 General Purpose Register */
  53264. /*! @{ */
  53265. #define IOMUXC_LPSR_GPR_GPR14_LOCK_MASK (0x1U)
  53266. #define IOMUXC_LPSR_GPR_GPR14_LOCK_SHIFT (0U)
  53267. /*! LOCK - Lock the write to bit 31:1
  53268. * 0b1..Write access to bit 31:1 is blocked
  53269. * 0b0..Write access to bit 31:1 is not blocked
  53270. */
  53271. #define IOMUXC_LPSR_GPR_GPR14_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR14_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR14_LOCK_MASK)
  53272. #define IOMUXC_LPSR_GPR_GPR14_APC_AC_R6_BOT_MASK (0xFFFFFFF8U)
  53273. #define IOMUXC_LPSR_GPR_GPR14_APC_AC_R6_BOT_SHIFT (3U)
  53274. /*! APC_AC_R6_BOT - APC start address of memory region-6
  53275. */
  53276. #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)
  53277. /*! @} */
  53278. /*! @name GPR15 - GPR15 General Purpose Register */
  53279. /*! @{ */
  53280. #define IOMUXC_LPSR_GPR_GPR15_LOCK_MASK (0x1U)
  53281. #define IOMUXC_LPSR_GPR_GPR15_LOCK_SHIFT (0U)
  53282. /*! LOCK - Lock the write to bit 31:1
  53283. * 0b1..Write access to bit 31:1 is blocked
  53284. * 0b0..Write access to bit 31:1 is not blocked
  53285. */
  53286. #define IOMUXC_LPSR_GPR_GPR15_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR15_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR15_LOCK_MASK)
  53287. #define IOMUXC_LPSR_GPR_GPR15_APC_AC_R6_TOP_MASK (0xFFFFFFF8U)
  53288. #define IOMUXC_LPSR_GPR_GPR15_APC_AC_R6_TOP_SHIFT (3U)
  53289. /*! APC_AC_R6_TOP - APC end address of memory region-6
  53290. */
  53291. #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)
  53292. /*! @} */
  53293. /*! @name GPR16 - GPR16 General Purpose Register */
  53294. /*! @{ */
  53295. #define IOMUXC_LPSR_GPR_GPR16_LOCK_MASK (0x1U)
  53296. #define IOMUXC_LPSR_GPR_GPR16_LOCK_SHIFT (0U)
  53297. /*! LOCK - Lock the write to bit 31:1
  53298. * 0b1..Write access to bit 31:1 is blocked
  53299. * 0b0..Write access to bit 31:1 is not blocked
  53300. */
  53301. #define IOMUXC_LPSR_GPR_GPR16_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR16_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR16_LOCK_MASK)
  53302. #define IOMUXC_LPSR_GPR_GPR16_APC_AC_R7_BOT_MASK (0xFFFFFFF8U)
  53303. #define IOMUXC_LPSR_GPR_GPR16_APC_AC_R7_BOT_SHIFT (3U)
  53304. /*! APC_AC_R7_BOT - APC start address of memory region-7
  53305. */
  53306. #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)
  53307. /*! @} */
  53308. /*! @name GPR17 - GPR17 General Purpose Register */
  53309. /*! @{ */
  53310. #define IOMUXC_LPSR_GPR_GPR17_LOCK_MASK (0x1U)
  53311. #define IOMUXC_LPSR_GPR_GPR17_LOCK_SHIFT (0U)
  53312. /*! LOCK - Lock the write to bit 31:1
  53313. * 0b1..Write access to bit 31:1 is blocked
  53314. * 0b0..Write access to bit 31:1 is not blocked
  53315. */
  53316. #define IOMUXC_LPSR_GPR_GPR17_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR17_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR17_LOCK_MASK)
  53317. #define IOMUXC_LPSR_GPR_GPR17_APC_AC_R7_TOP_MASK (0xFFFFFFF8U)
  53318. #define IOMUXC_LPSR_GPR_GPR17_APC_AC_R7_TOP_SHIFT (3U)
  53319. /*! APC_AC_R7_TOP - APC end address of memory region-7
  53320. */
  53321. #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)
  53322. /*! @} */
  53323. /*! @name GPR18 - GPR18 General Purpose Register */
  53324. /*! @{ */
  53325. #define IOMUXC_LPSR_GPR_GPR18_APC_R0_ENCRYPT_ENABLE_MASK (0x10U)
  53326. #define IOMUXC_LPSR_GPR_GPR18_APC_R0_ENCRYPT_ENABLE_SHIFT (4U)
  53327. /*! APC_R0_ENCRYPT_ENABLE - APC memory region-0 encryption enable
  53328. * 0b1..Encryption enabled
  53329. * 0b0..No effect
  53330. */
  53331. #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)
  53332. #define IOMUXC_LPSR_GPR_GPR18_LOCK_MASK (0xFFFF0000U)
  53333. #define IOMUXC_LPSR_GPR_GPR18_LOCK_SHIFT (16U)
  53334. /*! LOCK - Lock the write to bit 15:0
  53335. */
  53336. #define IOMUXC_LPSR_GPR_GPR18_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR18_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR18_LOCK_MASK)
  53337. /*! @} */
  53338. /*! @name GPR19 - GPR19 General Purpose Register */
  53339. /*! @{ */
  53340. #define IOMUXC_LPSR_GPR_GPR19_APC_R1_ENCRYPT_ENABLE_MASK (0x10U)
  53341. #define IOMUXC_LPSR_GPR_GPR19_APC_R1_ENCRYPT_ENABLE_SHIFT (4U)
  53342. /*! APC_R1_ENCRYPT_ENABLE - APC memory region-1 encryption enable
  53343. * 0b1..Encryption enabled
  53344. * 0b0..No effect
  53345. */
  53346. #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)
  53347. #define IOMUXC_LPSR_GPR_GPR19_LOCK_MASK (0xFFFF0000U)
  53348. #define IOMUXC_LPSR_GPR_GPR19_LOCK_SHIFT (16U)
  53349. /*! LOCK - Lock the write to bit 15:0
  53350. */
  53351. #define IOMUXC_LPSR_GPR_GPR19_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR19_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR19_LOCK_MASK)
  53352. /*! @} */
  53353. /*! @name GPR20 - GPR20 General Purpose Register */
  53354. /*! @{ */
  53355. #define IOMUXC_LPSR_GPR_GPR20_APC_R2_ENCRYPT_ENABLE_MASK (0x10U)
  53356. #define IOMUXC_LPSR_GPR_GPR20_APC_R2_ENCRYPT_ENABLE_SHIFT (4U)
  53357. /*! APC_R2_ENCRYPT_ENABLE - APC memory region-2 encryption enable
  53358. * 0b1..Encryption enabled
  53359. * 0b0..No effect
  53360. */
  53361. #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)
  53362. #define IOMUXC_LPSR_GPR_GPR20_LOCK_MASK (0xFFFF0000U)
  53363. #define IOMUXC_LPSR_GPR_GPR20_LOCK_SHIFT (16U)
  53364. /*! LOCK - Lock the write to bit 15:0
  53365. */
  53366. #define IOMUXC_LPSR_GPR_GPR20_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR20_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR20_LOCK_MASK)
  53367. /*! @} */
  53368. /*! @name GPR21 - GPR21 General Purpose Register */
  53369. /*! @{ */
  53370. #define IOMUXC_LPSR_GPR_GPR21_APC_R3_ENCRYPT_ENABLE_MASK (0x10U)
  53371. #define IOMUXC_LPSR_GPR_GPR21_APC_R3_ENCRYPT_ENABLE_SHIFT (4U)
  53372. /*! APC_R3_ENCRYPT_ENABLE - APC memory region-3 encryption enable
  53373. * 0b1..Encryption enabled
  53374. * 0b0..No effect
  53375. */
  53376. #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)
  53377. #define IOMUXC_LPSR_GPR_GPR21_LOCK_MASK (0xFFFF0000U)
  53378. #define IOMUXC_LPSR_GPR_GPR21_LOCK_SHIFT (16U)
  53379. /*! LOCK - Lock the write to bit 15:0
  53380. */
  53381. #define IOMUXC_LPSR_GPR_GPR21_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR21_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR21_LOCK_MASK)
  53382. /*! @} */
  53383. /*! @name GPR22 - GPR22 General Purpose Register */
  53384. /*! @{ */
  53385. #define IOMUXC_LPSR_GPR_GPR22_APC_R4_ENCRYPT_ENABLE_MASK (0x10U)
  53386. #define IOMUXC_LPSR_GPR_GPR22_APC_R4_ENCRYPT_ENABLE_SHIFT (4U)
  53387. /*! APC_R4_ENCRYPT_ENABLE - APC memory region-4 encryption enable
  53388. * 0b1..Encryption enabled
  53389. * 0b0..No effect
  53390. */
  53391. #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)
  53392. #define IOMUXC_LPSR_GPR_GPR22_LOCK_MASK (0xFFFF0000U)
  53393. #define IOMUXC_LPSR_GPR_GPR22_LOCK_SHIFT (16U)
  53394. /*! LOCK - Lock the write to bit 15:0
  53395. */
  53396. #define IOMUXC_LPSR_GPR_GPR22_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR22_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR22_LOCK_MASK)
  53397. /*! @} */
  53398. /*! @name GPR23 - GPR23 General Purpose Register */
  53399. /*! @{ */
  53400. #define IOMUXC_LPSR_GPR_GPR23_APC_R5_ENCRYPT_ENABLE_MASK (0x10U)
  53401. #define IOMUXC_LPSR_GPR_GPR23_APC_R5_ENCRYPT_ENABLE_SHIFT (4U)
  53402. /*! APC_R5_ENCRYPT_ENABLE - APC memory region-5 encryption enable
  53403. * 0b1..Encryption enabled
  53404. * 0b0..No effect
  53405. */
  53406. #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)
  53407. #define IOMUXC_LPSR_GPR_GPR23_LOCK_MASK (0xFFFF0000U)
  53408. #define IOMUXC_LPSR_GPR_GPR23_LOCK_SHIFT (16U)
  53409. /*! LOCK - Lock the write to bit 15:0
  53410. */
  53411. #define IOMUXC_LPSR_GPR_GPR23_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR23_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR23_LOCK_MASK)
  53412. /*! @} */
  53413. /*! @name GPR24 - GPR24 General Purpose Register */
  53414. /*! @{ */
  53415. #define IOMUXC_LPSR_GPR_GPR24_APC_R6_ENCRYPT_ENABLE_MASK (0x10U)
  53416. #define IOMUXC_LPSR_GPR_GPR24_APC_R6_ENCRYPT_ENABLE_SHIFT (4U)
  53417. /*! APC_R6_ENCRYPT_ENABLE - APC memory region-6 encryption enable
  53418. * 0b1..Encryption enabled
  53419. * 0b0..No effect
  53420. */
  53421. #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)
  53422. #define IOMUXC_LPSR_GPR_GPR24_LOCK_MASK (0xFFFF0000U)
  53423. #define IOMUXC_LPSR_GPR_GPR24_LOCK_SHIFT (16U)
  53424. /*! LOCK - Lock the write to bit 15:0
  53425. */
  53426. #define IOMUXC_LPSR_GPR_GPR24_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR24_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR24_LOCK_MASK)
  53427. /*! @} */
  53428. /*! @name GPR25 - GPR25 General Purpose Register */
  53429. /*! @{ */
  53430. #define IOMUXC_LPSR_GPR_GPR25_APC_R7_ENCRYPT_ENABLE_MASK (0x10U)
  53431. #define IOMUXC_LPSR_GPR_GPR25_APC_R7_ENCRYPT_ENABLE_SHIFT (4U)
  53432. /*! APC_R7_ENCRYPT_ENABLE - APC memory region-7 encryption enable
  53433. * 0b1..Encryption enabled
  53434. * 0b0..No effect
  53435. */
  53436. #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)
  53437. #define IOMUXC_LPSR_GPR_GPR25_APC_VALID_MASK (0x20U)
  53438. #define IOMUXC_LPSR_GPR_GPR25_APC_VALID_SHIFT (5U)
  53439. /*! APC_VALID - APC global enable bit
  53440. * 0b1..Enable encryption for GPRx[APC_x_ENCRYPT_ENABLE] (valid for GPR2-GPR25)
  53441. * 0b0..No effect
  53442. */
  53443. #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)
  53444. #define IOMUXC_LPSR_GPR_GPR25_LOCK_MASK (0xFFFF0000U)
  53445. #define IOMUXC_LPSR_GPR_GPR25_LOCK_SHIFT (16U)
  53446. /*! LOCK - Lock the write to bit 15:0
  53447. */
  53448. #define IOMUXC_LPSR_GPR_GPR25_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR25_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR25_LOCK_MASK)
  53449. /*! @} */
  53450. /*! @name GPR26 - GPR26 General Purpose Register */
  53451. /*! @{ */
  53452. #define IOMUXC_LPSR_GPR_GPR26_CM7_INIT_VTOR_MASK (0x1FFFFFFU)
  53453. #define IOMUXC_LPSR_GPR_GPR26_CM7_INIT_VTOR_SHIFT (0U)
  53454. /*! CM7_INIT_VTOR - Vector table offset register out of reset. See the ARM v7-M Architecture
  53455. * Reference Manual for more information about the vector table offset register (VTOR).
  53456. */
  53457. #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)
  53458. #define IOMUXC_LPSR_GPR_GPR26_FIELD_0_MASK (0xE000000U)
  53459. #define IOMUXC_LPSR_GPR_GPR26_FIELD_0_SHIFT (25U)
  53460. /*! FIELD_0 - General purpose bits
  53461. */
  53462. #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)
  53463. #define IOMUXC_LPSR_GPR_GPR26_DWP_MASK (0x30000000U)
  53464. #define IOMUXC_LPSR_GPR_GPR26_DWP_SHIFT (28U)
  53465. /*! DWP - Domain write protection
  53466. * 0b00..Both cores are allowed
  53467. * 0b01..CM7 is forbidden
  53468. * 0b10..CM4 is forbidden
  53469. * 0b11..Both cores are forbidden
  53470. */
  53471. #define IOMUXC_LPSR_GPR_GPR26_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR26_DWP_SHIFT)) & IOMUXC_LPSR_GPR_GPR26_DWP_MASK)
  53472. #define IOMUXC_LPSR_GPR_GPR26_DWP_LOCK_MASK (0xC0000000U)
  53473. #define IOMUXC_LPSR_GPR_GPR26_DWP_LOCK_SHIFT (30U)
  53474. /*! DWP_LOCK - Domain write protection lock
  53475. * 0b00..Neither of DWP bits is locked
  53476. * 0b01..The lower DWP bit is locked
  53477. * 0b10..The higher DWP bit is locked
  53478. * 0b11..Both DWP bits are locked
  53479. */
  53480. #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)
  53481. /*! @} */
  53482. /*! @name GPR33 - GPR33 General Purpose Register */
  53483. /*! @{ */
  53484. #define IOMUXC_LPSR_GPR_GPR33_M4_NMI_CLEAR_MASK (0x1U)
  53485. #define IOMUXC_LPSR_GPR_GPR33_M4_NMI_CLEAR_SHIFT (0U)
  53486. /*! M4_NMI_CLEAR - Clear CM4 NMI holding register
  53487. */
  53488. #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)
  53489. #define IOMUXC_LPSR_GPR_GPR33_USBPHY1_WAKEUP_IRQ_CLEAR_MASK (0x100U)
  53490. #define IOMUXC_LPSR_GPR_GPR33_USBPHY1_WAKEUP_IRQ_CLEAR_SHIFT (8U)
  53491. /*! USBPHY1_WAKEUP_IRQ_CLEAR - Clear USBPHY1 wakeup interrupt holding register
  53492. */
  53493. #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)
  53494. #define IOMUXC_LPSR_GPR_GPR33_USBPHY2_WAKEUP_IRQ_CLEAR_MASK (0x200U)
  53495. #define IOMUXC_LPSR_GPR_GPR33_USBPHY2_WAKEUP_IRQ_CLEAR_SHIFT (9U)
  53496. /*! USBPHY2_WAKEUP_IRQ_CLEAR - Clear USBPHY1 wakeup interrupt holding register
  53497. */
  53498. #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)
  53499. #define IOMUXC_LPSR_GPR_GPR33_DWP_MASK (0x30000000U)
  53500. #define IOMUXC_LPSR_GPR_GPR33_DWP_SHIFT (28U)
  53501. /*! DWP - Domain write protection
  53502. * 0b00..Both cores are allowed
  53503. * 0b01..CM7 is forbidden
  53504. * 0b10..CM4 is forbidden
  53505. * 0b11..Both cores are forbidden
  53506. */
  53507. #define IOMUXC_LPSR_GPR_GPR33_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR33_DWP_SHIFT)) & IOMUXC_LPSR_GPR_GPR33_DWP_MASK)
  53508. #define IOMUXC_LPSR_GPR_GPR33_DWP_LOCK_MASK (0xC0000000U)
  53509. #define IOMUXC_LPSR_GPR_GPR33_DWP_LOCK_SHIFT (30U)
  53510. /*! DWP_LOCK - Domain write protection lock
  53511. * 0b00..Neither of DWP bits is locked
  53512. * 0b01..The lower DWP bit is locked
  53513. * 0b10..The higher DWP bit is locked
  53514. * 0b11..Both DWP bits are locked
  53515. */
  53516. #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)
  53517. /*! @} */
  53518. /*! @name GPR34 - GPR34 General Purpose Register */
  53519. /*! @{ */
  53520. #define IOMUXC_LPSR_GPR_GPR34_GPIO_LPSR_HIGH_RANGE_MASK (0x2U)
  53521. #define IOMUXC_LPSR_GPR_GPR34_GPIO_LPSR_HIGH_RANGE_SHIFT (1U)
  53522. /*! GPIO_LPSR_HIGH_RANGE - GPIO_LPSR IO bank supply voltage range selection
  53523. */
  53524. #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)
  53525. #define IOMUXC_LPSR_GPR_GPR34_GPIO_LPSR_LOW_RANGE_MASK (0x4U)
  53526. #define IOMUXC_LPSR_GPR_GPR34_GPIO_LPSR_LOW_RANGE_SHIFT (2U)
  53527. /*! GPIO_LPSR_LOW_RANGE - GPIO_LPSR IO bank supply voltage range selection
  53528. */
  53529. #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)
  53530. #define IOMUXC_LPSR_GPR_GPR34_M7_NMI_MASK_MASK (0x8U)
  53531. #define IOMUXC_LPSR_GPR_GPR34_M7_NMI_MASK_SHIFT (3U)
  53532. /*! M7_NMI_MASK - Mask CM7 NMI pin input
  53533. * 0b0..NMI input from IO to CM7 is not blocked
  53534. * 0b1..NMI input from IO to CM7 is blocked
  53535. */
  53536. #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)
  53537. #define IOMUXC_LPSR_GPR_GPR34_M4_NMI_MASK_MASK (0x10U)
  53538. #define IOMUXC_LPSR_GPR_GPR34_M4_NMI_MASK_SHIFT (4U)
  53539. /*! M4_NMI_MASK - Mask CM4 NMI pin input
  53540. * 0b0..NMI input from IO to CM4 is not blocked
  53541. * 0b1..NMI input from IO to CM4 is blocked
  53542. */
  53543. #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)
  53544. #define IOMUXC_LPSR_GPR_GPR34_M4_GPC_SLEEP_SEL_MASK (0x20U)
  53545. #define IOMUXC_LPSR_GPR_GPR34_M4_GPC_SLEEP_SEL_SHIFT (5U)
  53546. /*! M4_GPC_SLEEP_SEL - CM4 sleep request selection
  53547. * 0b0..CM4 SLEEPDEEP is sent to GPC
  53548. * 0b1..CM4 SLEEPING is sent to GPC
  53549. */
  53550. #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)
  53551. #define IOMUXC_LPSR_GPR_GPR34_SEC_ERR_RESP_MASK (0x800U)
  53552. #define IOMUXC_LPSR_GPR_GPR34_SEC_ERR_RESP_SHIFT (11U)
  53553. /*! SEC_ERR_RESP - Security error response enable
  53554. * 0b0..OKEY response
  53555. * 0b1..SLVError (default)
  53556. */
  53557. #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)
  53558. #define IOMUXC_LPSR_GPR_GPR34_DWP_MASK (0x30000000U)
  53559. #define IOMUXC_LPSR_GPR_GPR34_DWP_SHIFT (28U)
  53560. /*! DWP - Domain write protection
  53561. * 0b00..Both cores are allowed
  53562. * 0b01..CM7 is forbidden
  53563. * 0b10..CM4 is forbidden
  53564. * 0b11..Both cores are forbidden
  53565. */
  53566. #define IOMUXC_LPSR_GPR_GPR34_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR34_DWP_SHIFT)) & IOMUXC_LPSR_GPR_GPR34_DWP_MASK)
  53567. #define IOMUXC_LPSR_GPR_GPR34_DWP_LOCK_MASK (0xC0000000U)
  53568. #define IOMUXC_LPSR_GPR_GPR34_DWP_LOCK_SHIFT (30U)
  53569. /*! DWP_LOCK - Domain write protection lock
  53570. * 0b00..Neither of DWP bits is locked
  53571. * 0b01..The lower DWP bit is locked
  53572. * 0b10..The higher DWP bit is locked
  53573. * 0b11..Both DWP bits are locked
  53574. */
  53575. #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)
  53576. /*! @} */
  53577. /*! @name GPR35 - GPR35 General Purpose Register */
  53578. /*! @{ */
  53579. #define IOMUXC_LPSR_GPR_GPR35_ADC1_IPG_DOZE_MASK (0x1U)
  53580. #define IOMUXC_LPSR_GPR_GPR35_ADC1_IPG_DOZE_SHIFT (0U)
  53581. /*! ADC1_IPG_DOZE - ADC1 doze mode
  53582. * 0b0..Not in doze mode
  53583. * 0b1..In doze mode
  53584. */
  53585. #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)
  53586. #define IOMUXC_LPSR_GPR_GPR35_ADC1_STOP_REQ_MASK (0x2U)
  53587. #define IOMUXC_LPSR_GPR_GPR35_ADC1_STOP_REQ_SHIFT (1U)
  53588. /*! ADC1_STOP_REQ - ADC1 stop request
  53589. * 0b0..Stop request off
  53590. * 0b1..Stop request on
  53591. */
  53592. #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)
  53593. #define IOMUXC_LPSR_GPR_GPR35_ADC1_IPG_STOP_MODE_MASK (0x4U)
  53594. #define IOMUXC_LPSR_GPR_GPR35_ADC1_IPG_STOP_MODE_SHIFT (2U)
  53595. /*! ADC1_IPG_STOP_MODE - ADC1 stop mode selection. This bitfield cannot change when ADC1_STOP_REQ is asserted.
  53596. * 0b0..This module is functional in Stop Mode
  53597. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  53598. */
  53599. #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)
  53600. #define IOMUXC_LPSR_GPR_GPR35_ADC2_IPG_DOZE_MASK (0x8U)
  53601. #define IOMUXC_LPSR_GPR_GPR35_ADC2_IPG_DOZE_SHIFT (3U)
  53602. /*! ADC2_IPG_DOZE - ADC2 doze mode
  53603. * 0b0..Not in doze mode
  53604. * 0b1..In doze mode
  53605. */
  53606. #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)
  53607. #define IOMUXC_LPSR_GPR_GPR35_ADC2_STOP_REQ_MASK (0x10U)
  53608. #define IOMUXC_LPSR_GPR_GPR35_ADC2_STOP_REQ_SHIFT (4U)
  53609. /*! ADC2_STOP_REQ - ADC2 stop request
  53610. * 0b0..Stop request off
  53611. * 0b1..Stop request on
  53612. */
  53613. #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)
  53614. #define IOMUXC_LPSR_GPR_GPR35_ADC2_IPG_STOP_MODE_MASK (0x20U)
  53615. #define IOMUXC_LPSR_GPR_GPR35_ADC2_IPG_STOP_MODE_SHIFT (5U)
  53616. /*! ADC2_IPG_STOP_MODE - ADC2 stop mode selection. This bitfield cannot change when ADC2_STOP_REQ is asserted.
  53617. * 0b0..This module is functional in Stop Mode
  53618. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  53619. */
  53620. #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)
  53621. #define IOMUXC_LPSR_GPR_GPR35_CAAM_IPG_DOZE_MASK (0x40U)
  53622. #define IOMUXC_LPSR_GPR_GPR35_CAAM_IPG_DOZE_SHIFT (6U)
  53623. /*! CAAM_IPG_DOZE - CAN3 doze mode
  53624. * 0b0..Not in doze mode
  53625. * 0b1..In doze mode
  53626. */
  53627. #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)
  53628. #define IOMUXC_LPSR_GPR_GPR35_CAAM_STOP_REQ_MASK (0x80U)
  53629. #define IOMUXC_LPSR_GPR_GPR35_CAAM_STOP_REQ_SHIFT (7U)
  53630. /*! CAAM_STOP_REQ - CAAM stop request
  53631. * 0b0..Stop request off
  53632. * 0b1..Stop request on
  53633. */
  53634. #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)
  53635. #define IOMUXC_LPSR_GPR_GPR35_CAN1_IPG_DOZE_MASK (0x100U)
  53636. #define IOMUXC_LPSR_GPR_GPR35_CAN1_IPG_DOZE_SHIFT (8U)
  53637. /*! CAN1_IPG_DOZE - CAN1 doze mode
  53638. * 0b0..Not in doze mode
  53639. * 0b1..In doze mode
  53640. */
  53641. #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)
  53642. #define IOMUXC_LPSR_GPR_GPR35_CAN1_STOP_REQ_MASK (0x200U)
  53643. #define IOMUXC_LPSR_GPR_GPR35_CAN1_STOP_REQ_SHIFT (9U)
  53644. /*! CAN1_STOP_REQ - CAN1 stop request
  53645. * 0b0..Stop request off
  53646. * 0b1..Stop request on
  53647. */
  53648. #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)
  53649. #define IOMUXC_LPSR_GPR_GPR35_CAN2_IPG_DOZE_MASK (0x400U)
  53650. #define IOMUXC_LPSR_GPR_GPR35_CAN2_IPG_DOZE_SHIFT (10U)
  53651. /*! CAN2_IPG_DOZE - CAN2 doze mode
  53652. * 0b0..Not in doze mode
  53653. * 0b1..In doze mode
  53654. */
  53655. #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)
  53656. #define IOMUXC_LPSR_GPR_GPR35_CAN2_STOP_REQ_MASK (0x800U)
  53657. #define IOMUXC_LPSR_GPR_GPR35_CAN2_STOP_REQ_SHIFT (11U)
  53658. /*! CAN2_STOP_REQ - CAN2 stop request
  53659. * 0b0..Stop request off
  53660. * 0b1..Stop request on
  53661. */
  53662. #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)
  53663. #define IOMUXC_LPSR_GPR_GPR35_CAN3_IPG_DOZE_MASK (0x1000U)
  53664. #define IOMUXC_LPSR_GPR_GPR35_CAN3_IPG_DOZE_SHIFT (12U)
  53665. /*! CAN3_IPG_DOZE - CAN3 doze mode
  53666. * 0b0..Not in doze mode
  53667. * 0b1..In doze mode
  53668. */
  53669. #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)
  53670. #define IOMUXC_LPSR_GPR_GPR35_CAN3_STOP_REQ_MASK (0x2000U)
  53671. #define IOMUXC_LPSR_GPR_GPR35_CAN3_STOP_REQ_SHIFT (13U)
  53672. /*! CAN3_STOP_REQ - CAN3 stop request
  53673. * 0b0..Stop request off
  53674. * 0b1..Stop request on
  53675. */
  53676. #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)
  53677. #define IOMUXC_LPSR_GPR_GPR35_EDMA_STOP_REQ_MASK (0x8000U)
  53678. #define IOMUXC_LPSR_GPR_GPR35_EDMA_STOP_REQ_SHIFT (15U)
  53679. /*! EDMA_STOP_REQ - EDMA stop request
  53680. * 0b0..Stop request off
  53681. * 0b1..Stop request on
  53682. */
  53683. #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)
  53684. #define IOMUXC_LPSR_GPR_GPR35_EDMA_LPSR_STOP_REQ_MASK (0x10000U)
  53685. #define IOMUXC_LPSR_GPR_GPR35_EDMA_LPSR_STOP_REQ_SHIFT (16U)
  53686. /*! EDMA_LPSR_STOP_REQ - EDMA_LPSR stop request
  53687. * 0b0..Stop request off
  53688. * 0b1..Stop request on
  53689. */
  53690. #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)
  53691. #define IOMUXC_LPSR_GPR_GPR35_ENET_IPG_DOZE_MASK (0x20000U)
  53692. #define IOMUXC_LPSR_GPR_GPR35_ENET_IPG_DOZE_SHIFT (17U)
  53693. /*! ENET_IPG_DOZE - ENET doze mode
  53694. * 0b0..Not in doze mode
  53695. * 0b1..In doze mode
  53696. */
  53697. #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)
  53698. #define IOMUXC_LPSR_GPR_GPR35_ENET_STOP_REQ_MASK (0x40000U)
  53699. #define IOMUXC_LPSR_GPR_GPR35_ENET_STOP_REQ_SHIFT (18U)
  53700. /*! ENET_STOP_REQ - ENET stop request
  53701. * 0b0..Stop request off
  53702. * 0b1..Stop request on
  53703. */
  53704. #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)
  53705. #define IOMUXC_LPSR_GPR_GPR35_ENET1G_IPG_DOZE_MASK (0x80000U)
  53706. #define IOMUXC_LPSR_GPR_GPR35_ENET1G_IPG_DOZE_SHIFT (19U)
  53707. /*! ENET1G_IPG_DOZE - ENET1G doze mode
  53708. * 0b0..Not in doze mode
  53709. * 0b1..In doze mode
  53710. */
  53711. #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)
  53712. #define IOMUXC_LPSR_GPR_GPR35_ENET1G_STOP_REQ_MASK (0x100000U)
  53713. #define IOMUXC_LPSR_GPR_GPR35_ENET1G_STOP_REQ_SHIFT (20U)
  53714. /*! ENET1G_STOP_REQ - ENET1G stop request
  53715. * 0b0..Stop request off
  53716. * 0b1..Stop request on
  53717. */
  53718. #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)
  53719. #define IOMUXC_LPSR_GPR_GPR35_FLEXIO1_IPG_DOZE_MASK (0x200000U)
  53720. #define IOMUXC_LPSR_GPR_GPR35_FLEXIO1_IPG_DOZE_SHIFT (21U)
  53721. /*! FLEXIO1_IPG_DOZE - FLEXIO2 doze mode
  53722. * 0b0..Not in doze mode
  53723. * 0b1..In doze mode
  53724. */
  53725. #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)
  53726. #define IOMUXC_LPSR_GPR_GPR35_FLEXIO2_IPG_DOZE_MASK (0x400000U)
  53727. #define IOMUXC_LPSR_GPR_GPR35_FLEXIO2_IPG_DOZE_SHIFT (22U)
  53728. /*! FLEXIO2_IPG_DOZE - FLEXIO2 doze mode
  53729. * 0b0..Not in doze mode
  53730. * 0b1..In doze mode
  53731. */
  53732. #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)
  53733. #define IOMUXC_LPSR_GPR_GPR35_FLEXSPI1_IPG_DOZE_MASK (0x800000U)
  53734. #define IOMUXC_LPSR_GPR_GPR35_FLEXSPI1_IPG_DOZE_SHIFT (23U)
  53735. /*! FLEXSPI1_IPG_DOZE - FLEXSPI1 doze mode
  53736. * 0b0..Not in doze mode
  53737. * 0b1..In doze mode
  53738. */
  53739. #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)
  53740. #define IOMUXC_LPSR_GPR_GPR35_FLEXSPI1_STOP_REQ_MASK (0x1000000U)
  53741. #define IOMUXC_LPSR_GPR_GPR35_FLEXSPI1_STOP_REQ_SHIFT (24U)
  53742. /*! FLEXSPI1_STOP_REQ - FLEXSPI1 stop request
  53743. * 0b0..Stop request off
  53744. * 0b1..Stop request on
  53745. */
  53746. #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)
  53747. #define IOMUXC_LPSR_GPR_GPR35_FLEXSPI2_IPG_DOZE_MASK (0x2000000U)
  53748. #define IOMUXC_LPSR_GPR_GPR35_FLEXSPI2_IPG_DOZE_SHIFT (25U)
  53749. /*! FLEXSPI2_IPG_DOZE - FLEXSPI2 doze mode
  53750. * 0b0..Not in doze mode
  53751. * 0b1..In doze mode
  53752. */
  53753. #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)
  53754. #define IOMUXC_LPSR_GPR_GPR35_FLEXSPI2_STOP_REQ_MASK (0x4000000U)
  53755. #define IOMUXC_LPSR_GPR_GPR35_FLEXSPI2_STOP_REQ_SHIFT (26U)
  53756. /*! FLEXSPI2_STOP_REQ - FLEXSPI2 stop request
  53757. * 0b0..Stop request off
  53758. * 0b1..Stop request on
  53759. */
  53760. #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)
  53761. #define IOMUXC_LPSR_GPR_GPR35_DWP_MASK (0x30000000U)
  53762. #define IOMUXC_LPSR_GPR_GPR35_DWP_SHIFT (28U)
  53763. /*! DWP - Domain write protection
  53764. * 0b00..Both cores are allowed
  53765. * 0b01..CM7 is forbidden
  53766. * 0b10..CM4 is forbidden
  53767. * 0b11..Both cores are forbidden
  53768. */
  53769. #define IOMUXC_LPSR_GPR_GPR35_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR35_DWP_SHIFT)) & IOMUXC_LPSR_GPR_GPR35_DWP_MASK)
  53770. #define IOMUXC_LPSR_GPR_GPR35_DWP_LOCK_MASK (0xC0000000U)
  53771. #define IOMUXC_LPSR_GPR_GPR35_DWP_LOCK_SHIFT (30U)
  53772. /*! DWP_LOCK - Domain write protection lock
  53773. * 0b00..Neither of DWP bits is locked
  53774. * 0b01..The lower DWP bit is locked
  53775. * 0b10..The higher DWP bit is locked
  53776. * 0b11..Both DWP bits are locked
  53777. */
  53778. #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)
  53779. /*! @} */
  53780. /*! @name GPR36 - GPR36 General Purpose Register */
  53781. /*! @{ */
  53782. #define IOMUXC_LPSR_GPR_GPR36_GPT1_IPG_DOZE_MASK (0x1U)
  53783. #define IOMUXC_LPSR_GPR_GPR36_GPT1_IPG_DOZE_SHIFT (0U)
  53784. /*! GPT1_IPG_DOZE - GPT1 doze mode
  53785. * 0b0..Not in doze mode
  53786. * 0b1..In doze mode
  53787. */
  53788. #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)
  53789. #define IOMUXC_LPSR_GPR_GPR36_GPT2_IPG_DOZE_MASK (0x2U)
  53790. #define IOMUXC_LPSR_GPR_GPR36_GPT2_IPG_DOZE_SHIFT (1U)
  53791. /*! GPT2_IPG_DOZE - GPT2 doze mode
  53792. * 0b0..Not in doze mode
  53793. * 0b1..In doze mode
  53794. */
  53795. #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)
  53796. #define IOMUXC_LPSR_GPR_GPR36_GPT3_IPG_DOZE_MASK (0x4U)
  53797. #define IOMUXC_LPSR_GPR_GPR36_GPT3_IPG_DOZE_SHIFT (2U)
  53798. /*! GPT3_IPG_DOZE - GPT3 doze mode
  53799. * 0b0..Not in doze mode
  53800. * 0b1..In doze mode
  53801. */
  53802. #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)
  53803. #define IOMUXC_LPSR_GPR_GPR36_GPT4_IPG_DOZE_MASK (0x8U)
  53804. #define IOMUXC_LPSR_GPR_GPR36_GPT4_IPG_DOZE_SHIFT (3U)
  53805. /*! GPT4_IPG_DOZE - GPT4 doze mode
  53806. * 0b0..Not in doze mode
  53807. * 0b1..In doze mode
  53808. */
  53809. #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)
  53810. #define IOMUXC_LPSR_GPR_GPR36_GPT5_IPG_DOZE_MASK (0x10U)
  53811. #define IOMUXC_LPSR_GPR_GPR36_GPT5_IPG_DOZE_SHIFT (4U)
  53812. /*! GPT5_IPG_DOZE - GPT5 doze mode
  53813. * 0b0..Not in doze mode
  53814. * 0b1..In doze mode
  53815. */
  53816. #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)
  53817. #define IOMUXC_LPSR_GPR_GPR36_GPT6_IPG_DOZE_MASK (0x20U)
  53818. #define IOMUXC_LPSR_GPR_GPR36_GPT6_IPG_DOZE_SHIFT (5U)
  53819. /*! GPT6_IPG_DOZE - GPT6 doze mode
  53820. * 0b0..Not in doze mode
  53821. * 0b1..In doze mode
  53822. */
  53823. #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)
  53824. #define IOMUXC_LPSR_GPR_GPR36_LPI2C1_IPG_DOZE_MASK (0x40U)
  53825. #define IOMUXC_LPSR_GPR_GPR36_LPI2C1_IPG_DOZE_SHIFT (6U)
  53826. /*! LPI2C1_IPG_DOZE - LPI2C1 doze mode
  53827. * 0b0..Not in doze mode
  53828. * 0b1..In doze mode
  53829. */
  53830. #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)
  53831. #define IOMUXC_LPSR_GPR_GPR36_LPI2C1_STOP_REQ_MASK (0x80U)
  53832. #define IOMUXC_LPSR_GPR_GPR36_LPI2C1_STOP_REQ_SHIFT (7U)
  53833. /*! LPI2C1_STOP_REQ - LPI2C1 stop request
  53834. * 0b0..Stop request off
  53835. * 0b1..Stop request on
  53836. */
  53837. #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)
  53838. #define IOMUXC_LPSR_GPR_GPR36_LPI2C1_IPG_STOP_MODE_MASK (0x100U)
  53839. #define IOMUXC_LPSR_GPR_GPR36_LPI2C1_IPG_STOP_MODE_SHIFT (8U)
  53840. /*! LPI2C1_IPG_STOP_MODE - LPI2C1 stop mode selection. This bitfield cannot change when LPI2C1_STOP_REQ is asserted.
  53841. * 0b0..This module is functional in Stop Mode
  53842. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  53843. */
  53844. #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)
  53845. #define IOMUXC_LPSR_GPR_GPR36_LPI2C2_IPG_DOZE_MASK (0x200U)
  53846. #define IOMUXC_LPSR_GPR_GPR36_LPI2C2_IPG_DOZE_SHIFT (9U)
  53847. /*! LPI2C2_IPG_DOZE - LPI2C2 doze mode
  53848. * 0b0..Not in doze mode
  53849. * 0b1..In doze mode
  53850. */
  53851. #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)
  53852. #define IOMUXC_LPSR_GPR_GPR36_LPI2C2_STOP_REQ_MASK (0x400U)
  53853. #define IOMUXC_LPSR_GPR_GPR36_LPI2C2_STOP_REQ_SHIFT (10U)
  53854. /*! LPI2C2_STOP_REQ - LPI2C2 stop request
  53855. * 0b0..Stop request off
  53856. * 0b1..Stop request on
  53857. */
  53858. #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)
  53859. #define IOMUXC_LPSR_GPR_GPR36_LPI2C2_IPG_STOP_MODE_MASK (0x800U)
  53860. #define IOMUXC_LPSR_GPR_GPR36_LPI2C2_IPG_STOP_MODE_SHIFT (11U)
  53861. /*! LPI2C2_IPG_STOP_MODE - LPI2C2 stop mode selection. This bitfield cannot change when LPI2C2_STOP_REQ is asserted.
  53862. * 0b0..This module is functional in Stop Mode
  53863. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  53864. */
  53865. #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)
  53866. #define IOMUXC_LPSR_GPR_GPR36_LPI2C3_IPG_DOZE_MASK (0x1000U)
  53867. #define IOMUXC_LPSR_GPR_GPR36_LPI2C3_IPG_DOZE_SHIFT (12U)
  53868. /*! LPI2C3_IPG_DOZE - LPI2C3 doze mode
  53869. * 0b0..Not in doze mode
  53870. * 0b1..In doze mode
  53871. */
  53872. #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)
  53873. #define IOMUXC_LPSR_GPR_GPR36_LPI2C3_STOP_REQ_MASK (0x2000U)
  53874. #define IOMUXC_LPSR_GPR_GPR36_LPI2C3_STOP_REQ_SHIFT (13U)
  53875. /*! LPI2C3_STOP_REQ - LPI2C3 stop request
  53876. * 0b0..Stop request off
  53877. * 0b1..Stop request on
  53878. */
  53879. #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)
  53880. #define IOMUXC_LPSR_GPR_GPR36_LPI2C3_IPG_STOP_MODE_MASK (0x4000U)
  53881. #define IOMUXC_LPSR_GPR_GPR36_LPI2C3_IPG_STOP_MODE_SHIFT (14U)
  53882. /*! LPI2C3_IPG_STOP_MODE - LPI2C3 stop mode selection. This bitfield cannot change when LPI2C3_STOP_REQ is asserted.
  53883. * 0b0..This module is functional in Stop Mode
  53884. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  53885. */
  53886. #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)
  53887. #define IOMUXC_LPSR_GPR_GPR36_LPI2C4_IPG_DOZE_MASK (0x8000U)
  53888. #define IOMUXC_LPSR_GPR_GPR36_LPI2C4_IPG_DOZE_SHIFT (15U)
  53889. /*! LPI2C4_IPG_DOZE - LPI2C4 doze mode
  53890. * 0b0..Not in doze mode
  53891. * 0b1..In doze mode
  53892. */
  53893. #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)
  53894. #define IOMUXC_LPSR_GPR_GPR36_LPI2C4_STOP_REQ_MASK (0x10000U)
  53895. #define IOMUXC_LPSR_GPR_GPR36_LPI2C4_STOP_REQ_SHIFT (16U)
  53896. /*! LPI2C4_STOP_REQ - LPI2C4 stop request
  53897. * 0b0..Stop request off
  53898. * 0b1..Stop request on
  53899. */
  53900. #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)
  53901. #define IOMUXC_LPSR_GPR_GPR36_LPI2C4_IPG_STOP_MODE_MASK (0x20000U)
  53902. #define IOMUXC_LPSR_GPR_GPR36_LPI2C4_IPG_STOP_MODE_SHIFT (17U)
  53903. /*! LPI2C4_IPG_STOP_MODE - LPI2C4 stop mode selection. This bitfield cannot change when LPI2C4_STOP_REQ is asserted.
  53904. * 0b0..This module is functional in Stop Mode
  53905. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  53906. */
  53907. #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)
  53908. #define IOMUXC_LPSR_GPR_GPR36_LPI2C5_IPG_DOZE_MASK (0x40000U)
  53909. #define IOMUXC_LPSR_GPR_GPR36_LPI2C5_IPG_DOZE_SHIFT (18U)
  53910. /*! LPI2C5_IPG_DOZE - LPI2C5 doze mode
  53911. * 0b0..Not in doze mode
  53912. * 0b1..In doze mode
  53913. */
  53914. #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)
  53915. #define IOMUXC_LPSR_GPR_GPR36_LPI2C5_STOP_REQ_MASK (0x80000U)
  53916. #define IOMUXC_LPSR_GPR_GPR36_LPI2C5_STOP_REQ_SHIFT (19U)
  53917. /*! LPI2C5_STOP_REQ - LPI2C5 stop request
  53918. * 0b0..Stop request off
  53919. * 0b1..Stop request on
  53920. */
  53921. #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)
  53922. #define IOMUXC_LPSR_GPR_GPR36_LPI2C5_IPG_STOP_MODE_MASK (0x100000U)
  53923. #define IOMUXC_LPSR_GPR_GPR36_LPI2C5_IPG_STOP_MODE_SHIFT (20U)
  53924. /*! LPI2C5_IPG_STOP_MODE - LPI2C5 stop mode selection. This bitfield cannot change when LPI2C5_STOP_REQ is asserted.
  53925. * 0b0..This module is functional in Stop Mode
  53926. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  53927. */
  53928. #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)
  53929. #define IOMUXC_LPSR_GPR_GPR36_LPI2C6_IPG_DOZE_MASK (0x200000U)
  53930. #define IOMUXC_LPSR_GPR_GPR36_LPI2C6_IPG_DOZE_SHIFT (21U)
  53931. /*! LPI2C6_IPG_DOZE - LPI2C6 doze mode
  53932. * 0b0..Not in doze mode
  53933. * 0b1..In doze mode
  53934. */
  53935. #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)
  53936. #define IOMUXC_LPSR_GPR_GPR36_LPI2C6_STOP_REQ_MASK (0x400000U)
  53937. #define IOMUXC_LPSR_GPR_GPR36_LPI2C6_STOP_REQ_SHIFT (22U)
  53938. /*! LPI2C6_STOP_REQ - LPI2C6 stop request
  53939. * 0b0..Stop request off
  53940. * 0b1..Stop request on
  53941. */
  53942. #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)
  53943. #define IOMUXC_LPSR_GPR_GPR36_LPI2C6_IPG_STOP_MODE_MASK (0x800000U)
  53944. #define IOMUXC_LPSR_GPR_GPR36_LPI2C6_IPG_STOP_MODE_SHIFT (23U)
  53945. /*! LPI2C6_IPG_STOP_MODE - LPI2C6 stop mode selection. This bitfield cannot change when LPI2C6_STOP_REQ is asserted.
  53946. * 0b0..This module is functional in Stop Mode
  53947. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  53948. */
  53949. #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)
  53950. #define IOMUXC_LPSR_GPR_GPR36_LPSPI1_IPG_DOZE_MASK (0x1000000U)
  53951. #define IOMUXC_LPSR_GPR_GPR36_LPSPI1_IPG_DOZE_SHIFT (24U)
  53952. /*! LPSPI1_IPG_DOZE - LPSPI1 doze mode
  53953. * 0b0..Not in doze mode
  53954. * 0b1..In doze mode
  53955. */
  53956. #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)
  53957. #define IOMUXC_LPSR_GPR_GPR36_LPSPI1_STOP_REQ_MASK (0x2000000U)
  53958. #define IOMUXC_LPSR_GPR_GPR36_LPSPI1_STOP_REQ_SHIFT (25U)
  53959. /*! LPSPI1_STOP_REQ - LPSPI1 stop request
  53960. * 0b0..Stop request off
  53961. * 0b1..Stop request on
  53962. */
  53963. #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)
  53964. #define IOMUXC_LPSR_GPR_GPR36_LPSPI1_IPG_STOP_MODE_MASK (0x4000000U)
  53965. #define IOMUXC_LPSR_GPR_GPR36_LPSPI1_IPG_STOP_MODE_SHIFT (26U)
  53966. /*! LPSPI1_IPG_STOP_MODE - LPSPI1 stop mode selection. This bitfield cannot change when LPSPI1_STOP_REQ is asserted.
  53967. * 0b0..This module is functional in Stop Mode
  53968. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  53969. */
  53970. #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)
  53971. #define IOMUXC_LPSR_GPR_GPR36_DWP_MASK (0x30000000U)
  53972. #define IOMUXC_LPSR_GPR_GPR36_DWP_SHIFT (28U)
  53973. /*! DWP - Domain write protection
  53974. * 0b00..Both cores are allowed
  53975. * 0b01..CM7 is forbidden
  53976. * 0b10..CM4 is forbidden
  53977. * 0b11..Both cores are forbidden
  53978. */
  53979. #define IOMUXC_LPSR_GPR_GPR36_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR36_DWP_SHIFT)) & IOMUXC_LPSR_GPR_GPR36_DWP_MASK)
  53980. #define IOMUXC_LPSR_GPR_GPR36_DWP_LOCK_MASK (0xC0000000U)
  53981. #define IOMUXC_LPSR_GPR_GPR36_DWP_LOCK_SHIFT (30U)
  53982. /*! DWP_LOCK - Domain write protection lock
  53983. * 0b00..Neither of DWP bits is locked
  53984. * 0b01..The lower DWP bit is locked
  53985. * 0b10..The higher DWP bit is locked
  53986. * 0b11..Both DWP bits are locked
  53987. */
  53988. #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)
  53989. /*! @} */
  53990. /*! @name GPR37 - GPR37 General Purpose Register */
  53991. /*! @{ */
  53992. #define IOMUXC_LPSR_GPR_GPR37_LPSPI2_IPG_DOZE_MASK (0x1U)
  53993. #define IOMUXC_LPSR_GPR_GPR37_LPSPI2_IPG_DOZE_SHIFT (0U)
  53994. /*! LPSPI2_IPG_DOZE - LPSPI2 doze mode
  53995. * 0b0..Not in doze mode
  53996. * 0b1..In doze mode
  53997. */
  53998. #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)
  53999. #define IOMUXC_LPSR_GPR_GPR37_LPSPI2_STOP_REQ_MASK (0x2U)
  54000. #define IOMUXC_LPSR_GPR_GPR37_LPSPI2_STOP_REQ_SHIFT (1U)
  54001. /*! LPSPI2_STOP_REQ - LPSPI2 stop request
  54002. * 0b0..Stop request off
  54003. * 0b1..Stop request on
  54004. */
  54005. #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)
  54006. #define IOMUXC_LPSR_GPR_GPR37_LPSPI2_IPG_STOP_MODE_MASK (0x4U)
  54007. #define IOMUXC_LPSR_GPR_GPR37_LPSPI2_IPG_STOP_MODE_SHIFT (2U)
  54008. /*! LPSPI2_IPG_STOP_MODE - LPSPI2 stop mode selection. This bitfield cannot change when LPSPI2_STOP_REQ is asserted.
  54009. * 0b0..This module is functional in Stop Mode
  54010. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  54011. */
  54012. #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)
  54013. #define IOMUXC_LPSR_GPR_GPR37_LPSPI3_IPG_DOZE_MASK (0x8U)
  54014. #define IOMUXC_LPSR_GPR_GPR37_LPSPI3_IPG_DOZE_SHIFT (3U)
  54015. /*! LPSPI3_IPG_DOZE - LPSPI3 doze mode
  54016. * 0b0..Not in doze mode
  54017. * 0b1..In doze mode
  54018. */
  54019. #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)
  54020. #define IOMUXC_LPSR_GPR_GPR37_LPSPI3_STOP_REQ_MASK (0x10U)
  54021. #define IOMUXC_LPSR_GPR_GPR37_LPSPI3_STOP_REQ_SHIFT (4U)
  54022. /*! LPSPI3_STOP_REQ - LPSPI3 stop request
  54023. * 0b0..Stop request off
  54024. * 0b1..Stop request on
  54025. */
  54026. #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)
  54027. #define IOMUXC_LPSR_GPR_GPR37_LPSPI3_IPG_STOP_MODE_MASK (0x20U)
  54028. #define IOMUXC_LPSR_GPR_GPR37_LPSPI3_IPG_STOP_MODE_SHIFT (5U)
  54029. /*! LPSPI3_IPG_STOP_MODE - LPSPI3 stop mode selection. This bitfield cannot change when LPSPI3_STOP_REQ is asserted.
  54030. * 0b0..This module is functional in Stop Mode
  54031. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  54032. */
  54033. #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)
  54034. #define IOMUXC_LPSR_GPR_GPR37_LPSPI4_IPG_DOZE_MASK (0x40U)
  54035. #define IOMUXC_LPSR_GPR_GPR37_LPSPI4_IPG_DOZE_SHIFT (6U)
  54036. /*! LPSPI4_IPG_DOZE - LPSPI4 doze mode
  54037. * 0b0..Not in doze mode
  54038. * 0b1..In doze mode
  54039. */
  54040. #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)
  54041. #define IOMUXC_LPSR_GPR_GPR37_LPSPI4_STOP_REQ_MASK (0x80U)
  54042. #define IOMUXC_LPSR_GPR_GPR37_LPSPI4_STOP_REQ_SHIFT (7U)
  54043. /*! LPSPI4_STOP_REQ - LPSPI4 stop request
  54044. * 0b0..Stop request off
  54045. * 0b1..Stop request on
  54046. */
  54047. #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)
  54048. #define IOMUXC_LPSR_GPR_GPR37_LPSPI4_IPG_STOP_MODE_MASK (0x100U)
  54049. #define IOMUXC_LPSR_GPR_GPR37_LPSPI4_IPG_STOP_MODE_SHIFT (8U)
  54050. /*! LPSPI4_IPG_STOP_MODE - LPSPI4 stop mode selection. This bitfield cannot change when LPSPI4_STOP_REQ is asserted.
  54051. * 0b0..This module is functional in Stop Mode
  54052. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  54053. */
  54054. #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)
  54055. #define IOMUXC_LPSR_GPR_GPR37_LPSPI5_IPG_DOZE_MASK (0x200U)
  54056. #define IOMUXC_LPSR_GPR_GPR37_LPSPI5_IPG_DOZE_SHIFT (9U)
  54057. /*! LPSPI5_IPG_DOZE - LPSPI5 doze mode
  54058. * 0b0..Not in doze mode
  54059. * 0b1..In doze mode
  54060. */
  54061. #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)
  54062. #define IOMUXC_LPSR_GPR_GPR37_LPSPI5_STOP_REQ_MASK (0x400U)
  54063. #define IOMUXC_LPSR_GPR_GPR37_LPSPI5_STOP_REQ_SHIFT (10U)
  54064. /*! LPSPI5_STOP_REQ - LPSPI5 stop request
  54065. * 0b0..Stop request off
  54066. * 0b1..Stop request on
  54067. */
  54068. #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)
  54069. #define IOMUXC_LPSR_GPR_GPR37_LPSPI5_IPG_STOP_MODE_MASK (0x800U)
  54070. #define IOMUXC_LPSR_GPR_GPR37_LPSPI5_IPG_STOP_MODE_SHIFT (11U)
  54071. /*! LPSPI5_IPG_STOP_MODE - LPSPI5 stop mode selection. This bitfield cannot change when LPSPI5_STOP_REQ is asserted.
  54072. * 0b0..This module is functional in Stop Mode
  54073. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  54074. */
  54075. #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)
  54076. #define IOMUXC_LPSR_GPR_GPR37_LPSPI6_IPG_DOZE_MASK (0x1000U)
  54077. #define IOMUXC_LPSR_GPR_GPR37_LPSPI6_IPG_DOZE_SHIFT (12U)
  54078. /*! LPSPI6_IPG_DOZE - LPSPI6 doze mode
  54079. * 0b0..Not in doze mode
  54080. * 0b1..In doze mode
  54081. */
  54082. #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)
  54083. #define IOMUXC_LPSR_GPR_GPR37_LPSPI6_STOP_REQ_MASK (0x2000U)
  54084. #define IOMUXC_LPSR_GPR_GPR37_LPSPI6_STOP_REQ_SHIFT (13U)
  54085. /*! LPSPI6_STOP_REQ - LPSPI6 stop request
  54086. * 0b0..Stop request off
  54087. * 0b1..Stop request on
  54088. */
  54089. #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)
  54090. #define IOMUXC_LPSR_GPR_GPR37_LPSPI6_IPG_STOP_MODE_MASK (0x4000U)
  54091. #define IOMUXC_LPSR_GPR_GPR37_LPSPI6_IPG_STOP_MODE_SHIFT (14U)
  54092. /*! LPSPI6_IPG_STOP_MODE - LPSPI6 stop mode selection. This bitfield cannot change when LPSPI6_STOP_REQ is asserted.
  54093. * 0b0..This module is functional in Stop Mode
  54094. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  54095. */
  54096. #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)
  54097. #define IOMUXC_LPSR_GPR_GPR37_LPUART1_IPG_DOZE_MASK (0x8000U)
  54098. #define IOMUXC_LPSR_GPR_GPR37_LPUART1_IPG_DOZE_SHIFT (15U)
  54099. /*! LPUART1_IPG_DOZE - LPUART1 doze mode
  54100. * 0b0..Not in doze mode
  54101. * 0b1..In doze mode
  54102. */
  54103. #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)
  54104. #define IOMUXC_LPSR_GPR_GPR37_LPUART1_STOP_REQ_MASK (0x10000U)
  54105. #define IOMUXC_LPSR_GPR_GPR37_LPUART1_STOP_REQ_SHIFT (16U)
  54106. /*! LPUART1_STOP_REQ - LPUART1 stop request
  54107. * 0b0..Stop request off
  54108. * 0b1..Stop request on
  54109. */
  54110. #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)
  54111. #define IOMUXC_LPSR_GPR_GPR37_LPUART1_IPG_STOP_MODE_MASK (0x20000U)
  54112. #define IOMUXC_LPSR_GPR_GPR37_LPUART1_IPG_STOP_MODE_SHIFT (17U)
  54113. /*! LPUART1_IPG_STOP_MODE - LPUART1 stop mode selection. This bitfield cannot change when LPUART1_STOP_REQ is asserted.
  54114. * 0b0..This module is functional in Stop Mode
  54115. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  54116. */
  54117. #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)
  54118. #define IOMUXC_LPSR_GPR_GPR37_LPUART2_IPG_DOZE_MASK (0x40000U)
  54119. #define IOMUXC_LPSR_GPR_GPR37_LPUART2_IPG_DOZE_SHIFT (18U)
  54120. /*! LPUART2_IPG_DOZE - LPUART2 doze mode
  54121. * 0b0..Not in doze mode
  54122. * 0b1..In doze mode
  54123. */
  54124. #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)
  54125. #define IOMUXC_LPSR_GPR_GPR37_LPUART2_STOP_REQ_MASK (0x80000U)
  54126. #define IOMUXC_LPSR_GPR_GPR37_LPUART2_STOP_REQ_SHIFT (19U)
  54127. /*! LPUART2_STOP_REQ - LPUART2 stop request
  54128. * 0b0..Stop request off
  54129. * 0b1..Stop request on
  54130. */
  54131. #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)
  54132. #define IOMUXC_LPSR_GPR_GPR37_LPUART2_IPG_STOP_MODE_MASK (0x100000U)
  54133. #define IOMUXC_LPSR_GPR_GPR37_LPUART2_IPG_STOP_MODE_SHIFT (20U)
  54134. /*! LPUART2_IPG_STOP_MODE - LPUART2 stop mode selection. This bitfield cannot change when LPUART2_STOP_REQ is asserted.
  54135. * 0b0..This module is functional in Stop Mode
  54136. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  54137. */
  54138. #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)
  54139. #define IOMUXC_LPSR_GPR_GPR37_LPUART3_IPG_DOZE_MASK (0x200000U)
  54140. #define IOMUXC_LPSR_GPR_GPR37_LPUART3_IPG_DOZE_SHIFT (21U)
  54141. /*! LPUART3_IPG_DOZE - LPUART3 doze mode
  54142. * 0b0..Not in doze mode
  54143. * 0b1..In doze mode
  54144. */
  54145. #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)
  54146. #define IOMUXC_LPSR_GPR_GPR37_LPUART3_STOP_REQ_MASK (0x400000U)
  54147. #define IOMUXC_LPSR_GPR_GPR37_LPUART3_STOP_REQ_SHIFT (22U)
  54148. /*! LPUART3_STOP_REQ - LPUART3 stop request
  54149. * 0b0..Stop request off
  54150. * 0b1..Stop request on
  54151. */
  54152. #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)
  54153. #define IOMUXC_LPSR_GPR_GPR37_LPUART3_IPG_STOP_MODE_MASK (0x800000U)
  54154. #define IOMUXC_LPSR_GPR_GPR37_LPUART3_IPG_STOP_MODE_SHIFT (23U)
  54155. /*! LPUART3_IPG_STOP_MODE - LPUART3 stop mode selection. This bitfield cannot change when LPUART3_STOP_REQ is asserted.
  54156. * 0b0..This module is functional in Stop Mode
  54157. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  54158. */
  54159. #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)
  54160. #define IOMUXC_LPSR_GPR_GPR37_LPUART4_IPG_DOZE_MASK (0x1000000U)
  54161. #define IOMUXC_LPSR_GPR_GPR37_LPUART4_IPG_DOZE_SHIFT (24U)
  54162. /*! LPUART4_IPG_DOZE - LPUART4 doze mode
  54163. * 0b0..Not in doze mode
  54164. * 0b1..In doze mode
  54165. */
  54166. #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)
  54167. #define IOMUXC_LPSR_GPR_GPR37_LPUART4_STOP_REQ_MASK (0x2000000U)
  54168. #define IOMUXC_LPSR_GPR_GPR37_LPUART4_STOP_REQ_SHIFT (25U)
  54169. /*! LPUART4_STOP_REQ - LPUART4 stop request
  54170. * 0b0..Stop request off
  54171. * 0b1..Stop request on
  54172. */
  54173. #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)
  54174. #define IOMUXC_LPSR_GPR_GPR37_LPUART4_IPG_STOP_MODE_MASK (0x4000000U)
  54175. #define IOMUXC_LPSR_GPR_GPR37_LPUART4_IPG_STOP_MODE_SHIFT (26U)
  54176. /*! LPUART4_IPG_STOP_MODE - LPUART4 stop mode selection. This bitfield cannot change when LPUART4_STOP_REQ is asserted.
  54177. * 0b0..This module is functional in Stop Mode
  54178. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  54179. */
  54180. #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)
  54181. #define IOMUXC_LPSR_GPR_GPR37_DWP_MASK (0x30000000U)
  54182. #define IOMUXC_LPSR_GPR_GPR37_DWP_SHIFT (28U)
  54183. /*! DWP - Domain write protection
  54184. * 0b00..Both cores are allowed
  54185. * 0b01..CM7 is forbidden
  54186. * 0b10..CM4 is forbidden
  54187. * 0b11..Both cores are forbidden
  54188. */
  54189. #define IOMUXC_LPSR_GPR_GPR37_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR37_DWP_SHIFT)) & IOMUXC_LPSR_GPR_GPR37_DWP_MASK)
  54190. #define IOMUXC_LPSR_GPR_GPR37_DWP_LOCK_MASK (0xC0000000U)
  54191. #define IOMUXC_LPSR_GPR_GPR37_DWP_LOCK_SHIFT (30U)
  54192. /*! DWP_LOCK - Domain write protection lock
  54193. * 0b00..Neither of DWP bits is locked
  54194. * 0b01..The lower DWP bit is locked
  54195. * 0b10..The higher DWP bit is locked
  54196. * 0b11..Both DWP bits are locked
  54197. */
  54198. #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)
  54199. /*! @} */
  54200. /*! @name GPR38 - GPR38 General Purpose Register */
  54201. /*! @{ */
  54202. #define IOMUXC_LPSR_GPR_GPR38_LPUART5_IPG_DOZE_MASK (0x1U)
  54203. #define IOMUXC_LPSR_GPR_GPR38_LPUART5_IPG_DOZE_SHIFT (0U)
  54204. /*! LPUART5_IPG_DOZE - LPUART5 doze mode
  54205. * 0b0..Not in doze mode
  54206. * 0b1..In doze mode
  54207. */
  54208. #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)
  54209. #define IOMUXC_LPSR_GPR_GPR38_LPUART5_STOP_REQ_MASK (0x2U)
  54210. #define IOMUXC_LPSR_GPR_GPR38_LPUART5_STOP_REQ_SHIFT (1U)
  54211. /*! LPUART5_STOP_REQ - LPUART5 stop request
  54212. * 0b0..Stop request off
  54213. * 0b1..Stop request on
  54214. */
  54215. #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)
  54216. #define IOMUXC_LPSR_GPR_GPR38_LPUART5_IPG_STOP_MODE_MASK (0x4U)
  54217. #define IOMUXC_LPSR_GPR_GPR38_LPUART5_IPG_STOP_MODE_SHIFT (2U)
  54218. /*! LPUART5_IPG_STOP_MODE - LPUART5 stop mode selection. This bitfield cannot change when LPUART5_STOP_REQ is asserted.
  54219. * 0b0..This module is functional in Stop Mode
  54220. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  54221. */
  54222. #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)
  54223. #define IOMUXC_LPSR_GPR_GPR38_LPUART6_IPG_DOZE_MASK (0x8U)
  54224. #define IOMUXC_LPSR_GPR_GPR38_LPUART6_IPG_DOZE_SHIFT (3U)
  54225. /*! LPUART6_IPG_DOZE - LPUART6 doze mode
  54226. * 0b0..Not in doze mode
  54227. * 0b1..In doze mode
  54228. */
  54229. #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)
  54230. #define IOMUXC_LPSR_GPR_GPR38_LPUART6_STOP_REQ_MASK (0x10U)
  54231. #define IOMUXC_LPSR_GPR_GPR38_LPUART6_STOP_REQ_SHIFT (4U)
  54232. /*! LPUART6_STOP_REQ - LPUART6 stop request
  54233. * 0b0..Stop request off
  54234. * 0b1..Stop request on
  54235. */
  54236. #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)
  54237. #define IOMUXC_LPSR_GPR_GPR38_LPUART6_IPG_STOP_MODE_MASK (0x20U)
  54238. #define IOMUXC_LPSR_GPR_GPR38_LPUART6_IPG_STOP_MODE_SHIFT (5U)
  54239. /*! LPUART6_IPG_STOP_MODE - LPUART6 stop mode selection. This bitfield cannot change when LPUART6_STOP_REQ is asserted.
  54240. * 0b0..This module is functional in Stop Mode
  54241. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  54242. */
  54243. #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)
  54244. #define IOMUXC_LPSR_GPR_GPR38_LPUART7_IPG_DOZE_MASK (0x40U)
  54245. #define IOMUXC_LPSR_GPR_GPR38_LPUART7_IPG_DOZE_SHIFT (6U)
  54246. /*! LPUART7_IPG_DOZE - LPUART7 doze mode
  54247. * 0b0..Not in doze mode
  54248. * 0b1..In doze mode
  54249. */
  54250. #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)
  54251. #define IOMUXC_LPSR_GPR_GPR38_LPUART7_STOP_REQ_MASK (0x80U)
  54252. #define IOMUXC_LPSR_GPR_GPR38_LPUART7_STOP_REQ_SHIFT (7U)
  54253. /*! LPUART7_STOP_REQ - LPUART7 stop request
  54254. * 0b0..Stop request off
  54255. * 0b1..Stop request on
  54256. */
  54257. #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)
  54258. #define IOMUXC_LPSR_GPR_GPR38_LPUART7_IPG_STOP_MODE_MASK (0x100U)
  54259. #define IOMUXC_LPSR_GPR_GPR38_LPUART7_IPG_STOP_MODE_SHIFT (8U)
  54260. /*! LPUART7_IPG_STOP_MODE - LPUART7 stop mode selection. This bitfield cannot change when LPUART7_STOP_REQ is asserted.
  54261. * 0b0..This module is functional in Stop Mode
  54262. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  54263. */
  54264. #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)
  54265. #define IOMUXC_LPSR_GPR_GPR38_LPUART8_IPG_DOZE_MASK (0x200U)
  54266. #define IOMUXC_LPSR_GPR_GPR38_LPUART8_IPG_DOZE_SHIFT (9U)
  54267. /*! LPUART8_IPG_DOZE - LPUART8 doze mode
  54268. * 0b0..Not in doze mode
  54269. * 0b1..In doze mode
  54270. */
  54271. #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)
  54272. #define IOMUXC_LPSR_GPR_GPR38_LPUART8_STOP_REQ_MASK (0x400U)
  54273. #define IOMUXC_LPSR_GPR_GPR38_LPUART8_STOP_REQ_SHIFT (10U)
  54274. /*! LPUART8_STOP_REQ - LPUART8 stop request
  54275. * 0b0..Stop request off
  54276. * 0b1..Stop request on
  54277. */
  54278. #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)
  54279. #define IOMUXC_LPSR_GPR_GPR38_LPUART8_IPG_STOP_MODE_MASK (0x800U)
  54280. #define IOMUXC_LPSR_GPR_GPR38_LPUART8_IPG_STOP_MODE_SHIFT (11U)
  54281. /*! LPUART8_IPG_STOP_MODE - LPUART8 stop mode selection. This bitfield cannot change when LPUART8_STOP_REQ is asserted.
  54282. * 0b0..This module is functional in Stop Mode
  54283. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  54284. */
  54285. #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)
  54286. #define IOMUXC_LPSR_GPR_GPR38_LPUART9_IPG_DOZE_MASK (0x1000U)
  54287. #define IOMUXC_LPSR_GPR_GPR38_LPUART9_IPG_DOZE_SHIFT (12U)
  54288. /*! LPUART9_IPG_DOZE - LPUART9 doze mode
  54289. * 0b0..Not in doze mode
  54290. * 0b1..In doze mode
  54291. */
  54292. #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)
  54293. #define IOMUXC_LPSR_GPR_GPR38_LPUART9_STOP_REQ_MASK (0x2000U)
  54294. #define IOMUXC_LPSR_GPR_GPR38_LPUART9_STOP_REQ_SHIFT (13U)
  54295. /*! LPUART9_STOP_REQ - LPUART9 stop request
  54296. * 0b0..Stop request off
  54297. * 0b1..Stop request on
  54298. */
  54299. #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)
  54300. #define IOMUXC_LPSR_GPR_GPR38_LPUART9_IPG_STOP_MODE_MASK (0x4000U)
  54301. #define IOMUXC_LPSR_GPR_GPR38_LPUART9_IPG_STOP_MODE_SHIFT (14U)
  54302. /*! LPUART9_IPG_STOP_MODE - LPUART9 stop mode selection. This bitfield cannot change when LPUART9_STOP_REQ is asserted.
  54303. * 0b0..This module is functional in Stop Mode
  54304. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  54305. */
  54306. #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)
  54307. #define IOMUXC_LPSR_GPR_GPR38_LPUART10_IPG_DOZE_MASK (0x8000U)
  54308. #define IOMUXC_LPSR_GPR_GPR38_LPUART10_IPG_DOZE_SHIFT (15U)
  54309. /*! LPUART10_IPG_DOZE - LPUART10 doze mode
  54310. * 0b0..Not in doze mode
  54311. * 0b1..In doze mode
  54312. */
  54313. #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)
  54314. #define IOMUXC_LPSR_GPR_GPR38_LPUART10_STOP_REQ_MASK (0x10000U)
  54315. #define IOMUXC_LPSR_GPR_GPR38_LPUART10_STOP_REQ_SHIFT (16U)
  54316. /*! LPUART10_STOP_REQ - LPUART10 stop request
  54317. * 0b0..Stop request off
  54318. * 0b1..Stop request on
  54319. */
  54320. #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)
  54321. #define IOMUXC_LPSR_GPR_GPR38_LPUART10_IPG_STOP_MODE_MASK (0x20000U)
  54322. #define IOMUXC_LPSR_GPR_GPR38_LPUART10_IPG_STOP_MODE_SHIFT (17U)
  54323. /*! LPUART10_IPG_STOP_MODE - LPUART10 stop mode selection. This bitfield cannot change when LPUART10_STOP_REQ is asserted.
  54324. * 0b0..This module is functional in Stop Mode
  54325. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  54326. */
  54327. #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)
  54328. #define IOMUXC_LPSR_GPR_GPR38_LPUART11_IPG_DOZE_MASK (0x40000U)
  54329. #define IOMUXC_LPSR_GPR_GPR38_LPUART11_IPG_DOZE_SHIFT (18U)
  54330. /*! LPUART11_IPG_DOZE - LPUART11 doze mode
  54331. * 0b0..Not in doze mode
  54332. * 0b1..In doze mode
  54333. */
  54334. #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)
  54335. #define IOMUXC_LPSR_GPR_GPR38_LPUART11_STOP_REQ_MASK (0x80000U)
  54336. #define IOMUXC_LPSR_GPR_GPR38_LPUART11_STOP_REQ_SHIFT (19U)
  54337. /*! LPUART11_STOP_REQ - LPUART11 stop request
  54338. * 0b0..Stop request off
  54339. * 0b1..Stop request on
  54340. */
  54341. #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)
  54342. #define IOMUXC_LPSR_GPR_GPR38_LPUART11_IPG_STOP_MODE_MASK (0x100000U)
  54343. #define IOMUXC_LPSR_GPR_GPR38_LPUART11_IPG_STOP_MODE_SHIFT (20U)
  54344. /*! LPUART11_IPG_STOP_MODE - LPUART11 stop mode selection. This bitfield cannot change when LPUART11_STOP_REQ is asserted.
  54345. * 0b0..This module is functional in Stop Mode
  54346. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  54347. */
  54348. #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)
  54349. #define IOMUXC_LPSR_GPR_GPR38_LPUART12_IPG_DOZE_MASK (0x200000U)
  54350. #define IOMUXC_LPSR_GPR_GPR38_LPUART12_IPG_DOZE_SHIFT (21U)
  54351. /*! LPUART12_IPG_DOZE - LPUART12 doze mode
  54352. * 0b0..Not in doze mode
  54353. * 0b1..In doze mode
  54354. */
  54355. #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)
  54356. #define IOMUXC_LPSR_GPR_GPR38_LPUART12_STOP_REQ_MASK (0x400000U)
  54357. #define IOMUXC_LPSR_GPR_GPR38_LPUART12_STOP_REQ_SHIFT (22U)
  54358. /*! LPUART12_STOP_REQ - LPUART12 stop request
  54359. * 0b0..Stop request off
  54360. * 0b1..Stop request on
  54361. */
  54362. #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)
  54363. #define IOMUXC_LPSR_GPR_GPR38_LPUART12_IPG_STOP_MODE_MASK (0x800000U)
  54364. #define IOMUXC_LPSR_GPR_GPR38_LPUART12_IPG_STOP_MODE_SHIFT (23U)
  54365. /*! LPUART12_IPG_STOP_MODE - LPUART12 stop mode selection. This bitfield cannot change when LPUART12_STOP_REQ is asserted.
  54366. * 0b0..This module is functional in Stop Mode
  54367. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  54368. */
  54369. #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)
  54370. #define IOMUXC_LPSR_GPR_GPR38_MIC_IPG_DOZE_MASK (0x1000000U)
  54371. #define IOMUXC_LPSR_GPR_GPR38_MIC_IPG_DOZE_SHIFT (24U)
  54372. /*! MIC_IPG_DOZE - MIC doze mode
  54373. * 0b0..Not in doze mode
  54374. * 0b1..In doze mode
  54375. */
  54376. #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)
  54377. #define IOMUXC_LPSR_GPR_GPR38_MIC_STOP_REQ_MASK (0x2000000U)
  54378. #define IOMUXC_LPSR_GPR_GPR38_MIC_STOP_REQ_SHIFT (25U)
  54379. /*! MIC_STOP_REQ - MIC stop request
  54380. * 0b0..Stop request off
  54381. * 0b1..Stop request on
  54382. */
  54383. #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)
  54384. #define IOMUXC_LPSR_GPR_GPR38_MIC_IPG_STOP_MODE_MASK (0x4000000U)
  54385. #define IOMUXC_LPSR_GPR_GPR38_MIC_IPG_STOP_MODE_SHIFT (26U)
  54386. /*! MIC_IPG_STOP_MODE - MIC stop mode selection. This bitfield cannot change when MIC_STOP_REQ is asserted.
  54387. * 0b0..This module is functional in Stop Mode
  54388. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  54389. */
  54390. #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)
  54391. #define IOMUXC_LPSR_GPR_GPR38_DWP_MASK (0x30000000U)
  54392. #define IOMUXC_LPSR_GPR_GPR38_DWP_SHIFT (28U)
  54393. /*! DWP - Domain write protection
  54394. * 0b00..Both cores are allowed
  54395. * 0b01..CM7 is forbidden
  54396. * 0b10..CM4 is forbidden
  54397. * 0b11..Both cores are forbidden
  54398. */
  54399. #define IOMUXC_LPSR_GPR_GPR38_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR38_DWP_SHIFT)) & IOMUXC_LPSR_GPR_GPR38_DWP_MASK)
  54400. #define IOMUXC_LPSR_GPR_GPR38_DWP_LOCK_MASK (0xC0000000U)
  54401. #define IOMUXC_LPSR_GPR_GPR38_DWP_LOCK_SHIFT (30U)
  54402. /*! DWP_LOCK - Domain write protection lock
  54403. * 0b00..Neither of DWP bits is locked
  54404. * 0b01..The lower DWP bit is locked
  54405. * 0b10..The higher DWP bit is locked
  54406. * 0b11..Both DWP bits are locked
  54407. */
  54408. #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)
  54409. /*! @} */
  54410. /*! @name GPR39 - GPR39 General Purpose Register */
  54411. /*! @{ */
  54412. #define IOMUXC_LPSR_GPR_GPR39_PIT1_STOP_REQ_MASK (0x2U)
  54413. #define IOMUXC_LPSR_GPR_GPR39_PIT1_STOP_REQ_SHIFT (1U)
  54414. /*! PIT1_STOP_REQ - PIT1 stop request
  54415. * 0b0..Stop request off
  54416. * 0b1..Stop request on
  54417. */
  54418. #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)
  54419. #define IOMUXC_LPSR_GPR_GPR39_PIT2_STOP_REQ_MASK (0x4U)
  54420. #define IOMUXC_LPSR_GPR_GPR39_PIT2_STOP_REQ_SHIFT (2U)
  54421. /*! PIT2_STOP_REQ - PIT2 stop request
  54422. * 0b0..Stop request off
  54423. * 0b1..Stop request on
  54424. */
  54425. #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)
  54426. #define IOMUXC_LPSR_GPR_GPR39_SEMC_STOP_REQ_MASK (0x8U)
  54427. #define IOMUXC_LPSR_GPR_GPR39_SEMC_STOP_REQ_SHIFT (3U)
  54428. /*! SEMC_STOP_REQ - SEMC stop request
  54429. * 0b0..Stop request off
  54430. * 0b1..Stop request on
  54431. */
  54432. #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)
  54433. #define IOMUXC_LPSR_GPR_GPR39_SIM1_IPG_DOZE_MASK (0x10U)
  54434. #define IOMUXC_LPSR_GPR_GPR39_SIM1_IPG_DOZE_SHIFT (4U)
  54435. /*! SIM1_IPG_DOZE - SIM1 doze mode
  54436. * 0b0..Not in doze mode
  54437. * 0b1..In doze mode
  54438. */
  54439. #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)
  54440. #define IOMUXC_LPSR_GPR_GPR39_SIM2_IPG_DOZE_MASK (0x20U)
  54441. #define IOMUXC_LPSR_GPR_GPR39_SIM2_IPG_DOZE_SHIFT (5U)
  54442. /*! SIM2_IPG_DOZE - SIM2 doze mode
  54443. * 0b0..Not in doze mode
  54444. * 0b1..In doze mode
  54445. */
  54446. #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)
  54447. #define IOMUXC_LPSR_GPR_GPR39_SNVS_HP_IPG_DOZE_MASK (0x40U)
  54448. #define IOMUXC_LPSR_GPR_GPR39_SNVS_HP_IPG_DOZE_SHIFT (6U)
  54449. /*! SNVS_HP_IPG_DOZE - SNVS_HP doze mode
  54450. * 0b0..Not in doze mode
  54451. * 0b1..In doze mode
  54452. */
  54453. #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)
  54454. #define IOMUXC_LPSR_GPR_GPR39_SNVS_HP_STOP_REQ_MASK (0x80U)
  54455. #define IOMUXC_LPSR_GPR_GPR39_SNVS_HP_STOP_REQ_SHIFT (7U)
  54456. /*! SNVS_HP_STOP_REQ - SNVS_HP stop request
  54457. * 0b0..Stop request off
  54458. * 0b1..Stop request on
  54459. */
  54460. #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)
  54461. #define IOMUXC_LPSR_GPR_GPR39_WDOG1_IPG_DOZE_MASK (0x100U)
  54462. #define IOMUXC_LPSR_GPR_GPR39_WDOG1_IPG_DOZE_SHIFT (8U)
  54463. /*! WDOG1_IPG_DOZE - WDOG1 doze mode
  54464. * 0b0..Not in doze mode
  54465. * 0b1..In doze mode
  54466. */
  54467. #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)
  54468. #define IOMUXC_LPSR_GPR_GPR39_WDOG2_IPG_DOZE_MASK (0x200U)
  54469. #define IOMUXC_LPSR_GPR_GPR39_WDOG2_IPG_DOZE_SHIFT (9U)
  54470. /*! WDOG2_IPG_DOZE - WDOG2 doze mode
  54471. * 0b0..Not in doze mode
  54472. * 0b1..In doze mode
  54473. */
  54474. #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)
  54475. #define IOMUXC_LPSR_GPR_GPR39_SAI1_STOP_REQ_MASK (0x400U)
  54476. #define IOMUXC_LPSR_GPR_GPR39_SAI1_STOP_REQ_SHIFT (10U)
  54477. /*! SAI1_STOP_REQ - SAI1 stop request
  54478. * 0b0..Stop request off
  54479. * 0b1..Stop request on
  54480. */
  54481. #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)
  54482. #define IOMUXC_LPSR_GPR_GPR39_SAI2_STOP_REQ_MASK (0x800U)
  54483. #define IOMUXC_LPSR_GPR_GPR39_SAI2_STOP_REQ_SHIFT (11U)
  54484. /*! SAI2_STOP_REQ - SAI2 stop request
  54485. * 0b0..Stop request off
  54486. * 0b1..Stop request on
  54487. */
  54488. #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)
  54489. #define IOMUXC_LPSR_GPR_GPR39_SAI3_STOP_REQ_MASK (0x1000U)
  54490. #define IOMUXC_LPSR_GPR_GPR39_SAI3_STOP_REQ_SHIFT (12U)
  54491. /*! SAI3_STOP_REQ - SAI3 stop request
  54492. * 0b0..Stop request off
  54493. * 0b1..Stop request on
  54494. */
  54495. #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)
  54496. #define IOMUXC_LPSR_GPR_GPR39_SAI4_STOP_REQ_MASK (0x2000U)
  54497. #define IOMUXC_LPSR_GPR_GPR39_SAI4_STOP_REQ_SHIFT (13U)
  54498. /*! SAI4_STOP_REQ - SAI4 stop request
  54499. * 0b0..Stop request off
  54500. * 0b1..Stop request on
  54501. */
  54502. #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)
  54503. #define IOMUXC_LPSR_GPR_GPR39_FLEXIO1_STOP_REQ_BUS_MASK (0x4000U)
  54504. #define IOMUXC_LPSR_GPR_GPR39_FLEXIO1_STOP_REQ_BUS_SHIFT (14U)
  54505. /*! FLEXIO1_STOP_REQ_BUS - FLEXIO1 bus clock domain stop request
  54506. * 0b0..Stop request off
  54507. * 0b1..Stop request on
  54508. */
  54509. #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)
  54510. #define IOMUXC_LPSR_GPR_GPR39_FLEXIO1_STOP_REQ_PER_MASK (0x8000U)
  54511. #define IOMUXC_LPSR_GPR_GPR39_FLEXIO1_STOP_REQ_PER_SHIFT (15U)
  54512. /*! FLEXIO1_STOP_REQ_PER - FLEXIO1 peripheral clock domain stop request
  54513. * 0b0..Stop request off
  54514. * 0b1..Stop request on
  54515. */
  54516. #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)
  54517. #define IOMUXC_LPSR_GPR_GPR39_FLEXIO2_STOP_REQ_BUS_MASK (0x10000U)
  54518. #define IOMUXC_LPSR_GPR_GPR39_FLEXIO2_STOP_REQ_BUS_SHIFT (16U)
  54519. /*! FLEXIO2_STOP_REQ_BUS - FLEXIO2 bus clock domain stop request
  54520. * 0b0..Stop request off
  54521. * 0b1..Stop request on
  54522. */
  54523. #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)
  54524. #define IOMUXC_LPSR_GPR_GPR39_FLEXIO2_STOP_REQ_PER_MASK (0x20000U)
  54525. #define IOMUXC_LPSR_GPR_GPR39_FLEXIO2_STOP_REQ_PER_SHIFT (17U)
  54526. /*! FLEXIO2_STOP_REQ_PER - FLEXIO2 peripheral clock domain stop request
  54527. * 0b0..Stop request off
  54528. * 0b1..Stop request on
  54529. */
  54530. #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)
  54531. #define IOMUXC_LPSR_GPR_GPR39_DWP_MASK (0x30000000U)
  54532. #define IOMUXC_LPSR_GPR_GPR39_DWP_SHIFT (28U)
  54533. /*! DWP - Domain write protection
  54534. * 0b00..Both cores are allowed
  54535. * 0b01..CM7 is forbidden
  54536. * 0b10..CM4 is forbidden
  54537. * 0b11..Both cores are forbidden
  54538. */
  54539. #define IOMUXC_LPSR_GPR_GPR39_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR39_DWP_SHIFT)) & IOMUXC_LPSR_GPR_GPR39_DWP_MASK)
  54540. #define IOMUXC_LPSR_GPR_GPR39_DWP_LOCK_MASK (0xC0000000U)
  54541. #define IOMUXC_LPSR_GPR_GPR39_DWP_LOCK_SHIFT (30U)
  54542. /*! DWP_LOCK - Domain write protection lock
  54543. * 0b00..Neither of DWP bits is locked
  54544. * 0b01..The lower DWP bit is locked
  54545. * 0b10..The higher DWP bit is locked
  54546. * 0b11..Both DWP bits are locked
  54547. */
  54548. #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)
  54549. /*! @} */
  54550. /*! @name GPR40 - GPR40 General Purpose Register */
  54551. /*! @{ */
  54552. #define IOMUXC_LPSR_GPR_GPR40_ADC1_STOP_ACK_MASK (0x1U)
  54553. #define IOMUXC_LPSR_GPR_GPR40_ADC1_STOP_ACK_SHIFT (0U)
  54554. /*! ADC1_STOP_ACK - ADC1 stop acknowledge
  54555. */
  54556. #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)
  54557. #define IOMUXC_LPSR_GPR_GPR40_ADC2_STOP_ACK_MASK (0x2U)
  54558. #define IOMUXC_LPSR_GPR_GPR40_ADC2_STOP_ACK_SHIFT (1U)
  54559. /*! ADC2_STOP_ACK - ADC2 stop acknowledge
  54560. */
  54561. #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)
  54562. #define IOMUXC_LPSR_GPR_GPR40_CAAM_STOP_ACK_MASK (0x4U)
  54563. #define IOMUXC_LPSR_GPR_GPR40_CAAM_STOP_ACK_SHIFT (2U)
  54564. /*! CAAM_STOP_ACK - CAAM stop acknowledge
  54565. */
  54566. #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)
  54567. #define IOMUXC_LPSR_GPR_GPR40_CAN1_STOP_ACK_MASK (0x8U)
  54568. #define IOMUXC_LPSR_GPR_GPR40_CAN1_STOP_ACK_SHIFT (3U)
  54569. /*! CAN1_STOP_ACK - CAN1 stop acknowledge
  54570. */
  54571. #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)
  54572. #define IOMUXC_LPSR_GPR_GPR40_CAN2_STOP_ACK_MASK (0x10U)
  54573. #define IOMUXC_LPSR_GPR_GPR40_CAN2_STOP_ACK_SHIFT (4U)
  54574. /*! CAN2_STOP_ACK - CAN2 stop acknowledge
  54575. */
  54576. #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)
  54577. #define IOMUXC_LPSR_GPR_GPR40_CAN3_STOP_ACK_MASK (0x20U)
  54578. #define IOMUXC_LPSR_GPR_GPR40_CAN3_STOP_ACK_SHIFT (5U)
  54579. /*! CAN3_STOP_ACK - CAN3 stop acknowledge
  54580. */
  54581. #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)
  54582. #define IOMUXC_LPSR_GPR_GPR40_EDMA_STOP_ACK_MASK (0x40U)
  54583. #define IOMUXC_LPSR_GPR_GPR40_EDMA_STOP_ACK_SHIFT (6U)
  54584. /*! EDMA_STOP_ACK - EDMA stop acknowledge
  54585. */
  54586. #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)
  54587. #define IOMUXC_LPSR_GPR_GPR40_EDMA_LPSR_STOP_ACK_MASK (0x80U)
  54588. #define IOMUXC_LPSR_GPR_GPR40_EDMA_LPSR_STOP_ACK_SHIFT (7U)
  54589. /*! EDMA_LPSR_STOP_ACK - EDMA_LPSR stop acknowledge
  54590. */
  54591. #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)
  54592. #define IOMUXC_LPSR_GPR_GPR40_ENET_STOP_ACK_MASK (0x100U)
  54593. #define IOMUXC_LPSR_GPR_GPR40_ENET_STOP_ACK_SHIFT (8U)
  54594. /*! ENET_STOP_ACK - ENET stop acknowledge
  54595. */
  54596. #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)
  54597. #define IOMUXC_LPSR_GPR_GPR40_ENET1G_STOP_ACK_MASK (0x200U)
  54598. #define IOMUXC_LPSR_GPR_GPR40_ENET1G_STOP_ACK_SHIFT (9U)
  54599. /*! ENET1G_STOP_ACK - ENET1G stop acknowledge
  54600. */
  54601. #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)
  54602. #define IOMUXC_LPSR_GPR_GPR40_FLEXSPI1_STOP_ACK_MASK (0x400U)
  54603. #define IOMUXC_LPSR_GPR_GPR40_FLEXSPI1_STOP_ACK_SHIFT (10U)
  54604. /*! FLEXSPI1_STOP_ACK - FLEXSPI1 stop acknowledge
  54605. */
  54606. #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)
  54607. #define IOMUXC_LPSR_GPR_GPR40_FLEXSPI2_STOP_ACK_MASK (0x800U)
  54608. #define IOMUXC_LPSR_GPR_GPR40_FLEXSPI2_STOP_ACK_SHIFT (11U)
  54609. /*! FLEXSPI2_STOP_ACK - FLEXSPI2 stop acknowledge
  54610. */
  54611. #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)
  54612. #define IOMUXC_LPSR_GPR_GPR40_LPI2C1_STOP_ACK_MASK (0x1000U)
  54613. #define IOMUXC_LPSR_GPR_GPR40_LPI2C1_STOP_ACK_SHIFT (12U)
  54614. /*! LPI2C1_STOP_ACK - LPI2C1 stop acknowledge
  54615. */
  54616. #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)
  54617. #define IOMUXC_LPSR_GPR_GPR40_LPI2C2_STOP_ACK_MASK (0x2000U)
  54618. #define IOMUXC_LPSR_GPR_GPR40_LPI2C2_STOP_ACK_SHIFT (13U)
  54619. /*! LPI2C2_STOP_ACK - LPI2C2 stop acknowledge
  54620. */
  54621. #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)
  54622. #define IOMUXC_LPSR_GPR_GPR40_LPI2C3_STOP_ACK_MASK (0x4000U)
  54623. #define IOMUXC_LPSR_GPR_GPR40_LPI2C3_STOP_ACK_SHIFT (14U)
  54624. /*! LPI2C3_STOP_ACK - LPI2C3 stop acknowledge
  54625. */
  54626. #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)
  54627. #define IOMUXC_LPSR_GPR_GPR40_LPI2C4_STOP_ACK_MASK (0x8000U)
  54628. #define IOMUXC_LPSR_GPR_GPR40_LPI2C4_STOP_ACK_SHIFT (15U)
  54629. /*! LPI2C4_STOP_ACK - LPI2C4 stop acknowledge
  54630. */
  54631. #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)
  54632. #define IOMUXC_LPSR_GPR_GPR40_LPI2C5_STOP_ACK_MASK (0x10000U)
  54633. #define IOMUXC_LPSR_GPR_GPR40_LPI2C5_STOP_ACK_SHIFT (16U)
  54634. /*! LPI2C5_STOP_ACK - LPI2C5 stop acknowledge
  54635. */
  54636. #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)
  54637. #define IOMUXC_LPSR_GPR_GPR40_LPI2C6_STOP_ACK_MASK (0x20000U)
  54638. #define IOMUXC_LPSR_GPR_GPR40_LPI2C6_STOP_ACK_SHIFT (17U)
  54639. /*! LPI2C6_STOP_ACK - LPI2C6 stop acknowledge
  54640. */
  54641. #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)
  54642. #define IOMUXC_LPSR_GPR_GPR40_LPSPI1_STOP_ACK_MASK (0x40000U)
  54643. #define IOMUXC_LPSR_GPR_GPR40_LPSPI1_STOP_ACK_SHIFT (18U)
  54644. /*! LPSPI1_STOP_ACK - LPSPI1 stop acknowledge
  54645. */
  54646. #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)
  54647. #define IOMUXC_LPSR_GPR_GPR40_LPSPI2_STOP_ACK_MASK (0x80000U)
  54648. #define IOMUXC_LPSR_GPR_GPR40_LPSPI2_STOP_ACK_SHIFT (19U)
  54649. /*! LPSPI2_STOP_ACK - LPSPI2 stop acknowledge
  54650. */
  54651. #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)
  54652. #define IOMUXC_LPSR_GPR_GPR40_LPSPI3_STOP_ACK_MASK (0x100000U)
  54653. #define IOMUXC_LPSR_GPR_GPR40_LPSPI3_STOP_ACK_SHIFT (20U)
  54654. /*! LPSPI3_STOP_ACK - LPSPI3 stop acknowledge
  54655. */
  54656. #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)
  54657. #define IOMUXC_LPSR_GPR_GPR40_LPSPI4_STOP_ACK_MASK (0x200000U)
  54658. #define IOMUXC_LPSR_GPR_GPR40_LPSPI4_STOP_ACK_SHIFT (21U)
  54659. /*! LPSPI4_STOP_ACK - LPSPI4 stop acknowledge
  54660. */
  54661. #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)
  54662. #define IOMUXC_LPSR_GPR_GPR40_LPSPI5_STOP_ACK_MASK (0x400000U)
  54663. #define IOMUXC_LPSR_GPR_GPR40_LPSPI5_STOP_ACK_SHIFT (22U)
  54664. /*! LPSPI5_STOP_ACK - LPSPI5 stop acknowledge
  54665. */
  54666. #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)
  54667. #define IOMUXC_LPSR_GPR_GPR40_LPSPI6_STOP_ACK_MASK (0x800000U)
  54668. #define IOMUXC_LPSR_GPR_GPR40_LPSPI6_STOP_ACK_SHIFT (23U)
  54669. /*! LPSPI6_STOP_ACK - LPSPI6 stop acknowledge
  54670. */
  54671. #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)
  54672. #define IOMUXC_LPSR_GPR_GPR40_LPUART1_STOP_ACK_MASK (0x1000000U)
  54673. #define IOMUXC_LPSR_GPR_GPR40_LPUART1_STOP_ACK_SHIFT (24U)
  54674. /*! LPUART1_STOP_ACK - LPUART1 stop acknowledge
  54675. */
  54676. #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)
  54677. #define IOMUXC_LPSR_GPR_GPR40_LPUART2_STOP_ACK_MASK (0x2000000U)
  54678. #define IOMUXC_LPSR_GPR_GPR40_LPUART2_STOP_ACK_SHIFT (25U)
  54679. /*! LPUART2_STOP_ACK - LPUART2 stop acknowledge
  54680. */
  54681. #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)
  54682. #define IOMUXC_LPSR_GPR_GPR40_LPUART3_STOP_ACK_MASK (0x4000000U)
  54683. #define IOMUXC_LPSR_GPR_GPR40_LPUART3_STOP_ACK_SHIFT (26U)
  54684. /*! LPUART3_STOP_ACK - LPUART3 stop acknowledge
  54685. */
  54686. #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)
  54687. #define IOMUXC_LPSR_GPR_GPR40_LPUART4_STOP_ACK_MASK (0x8000000U)
  54688. #define IOMUXC_LPSR_GPR_GPR40_LPUART4_STOP_ACK_SHIFT (27U)
  54689. /*! LPUART4_STOP_ACK - LPUART4 stop acknowledge
  54690. */
  54691. #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)
  54692. #define IOMUXC_LPSR_GPR_GPR40_LPUART5_STOP_ACK_MASK (0x10000000U)
  54693. #define IOMUXC_LPSR_GPR_GPR40_LPUART5_STOP_ACK_SHIFT (28U)
  54694. /*! LPUART5_STOP_ACK - LPUART5 stop acknowledge
  54695. */
  54696. #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)
  54697. #define IOMUXC_LPSR_GPR_GPR40_LPUART6_STOP_ACK_MASK (0x20000000U)
  54698. #define IOMUXC_LPSR_GPR_GPR40_LPUART6_STOP_ACK_SHIFT (29U)
  54699. /*! LPUART6_STOP_ACK - LPUART6 stop acknowledge
  54700. */
  54701. #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)
  54702. #define IOMUXC_LPSR_GPR_GPR40_LPUART7_STOP_ACK_MASK (0x40000000U)
  54703. #define IOMUXC_LPSR_GPR_GPR40_LPUART7_STOP_ACK_SHIFT (30U)
  54704. /*! LPUART7_STOP_ACK - LPUART7 stop acknowledge
  54705. */
  54706. #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)
  54707. #define IOMUXC_LPSR_GPR_GPR40_LPUART8_STOP_ACK_MASK (0x80000000U)
  54708. #define IOMUXC_LPSR_GPR_GPR40_LPUART8_STOP_ACK_SHIFT (31U)
  54709. /*! LPUART8_STOP_ACK - LPUART8 stop acknowledge
  54710. */
  54711. #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)
  54712. /*! @} */
  54713. /*! @name GPR41 - GPR41 General Purpose Register */
  54714. /*! @{ */
  54715. #define IOMUXC_LPSR_GPR_GPR41_LPUART9_STOP_ACK_MASK (0x1U)
  54716. #define IOMUXC_LPSR_GPR_GPR41_LPUART9_STOP_ACK_SHIFT (0U)
  54717. /*! LPUART9_STOP_ACK - LPUART9 stop acknowledge
  54718. */
  54719. #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)
  54720. #define IOMUXC_LPSR_GPR_GPR41_LPUART10_STOP_ACK_MASK (0x2U)
  54721. #define IOMUXC_LPSR_GPR_GPR41_LPUART10_STOP_ACK_SHIFT (1U)
  54722. /*! LPUART10_STOP_ACK - LPUART10 stop acknowledge
  54723. */
  54724. #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)
  54725. #define IOMUXC_LPSR_GPR_GPR41_LPUART11_STOP_ACK_MASK (0x4U)
  54726. #define IOMUXC_LPSR_GPR_GPR41_LPUART11_STOP_ACK_SHIFT (2U)
  54727. /*! LPUART11_STOP_ACK - LPUART11 stop acknowledge
  54728. */
  54729. #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)
  54730. #define IOMUXC_LPSR_GPR_GPR41_LPUART12_STOP_ACK_MASK (0x8U)
  54731. #define IOMUXC_LPSR_GPR_GPR41_LPUART12_STOP_ACK_SHIFT (3U)
  54732. /*! LPUART12_STOP_ACK - LPUART12 stop acknowledge
  54733. */
  54734. #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)
  54735. #define IOMUXC_LPSR_GPR_GPR41_MIC_STOP_ACK_MASK (0x10U)
  54736. #define IOMUXC_LPSR_GPR_GPR41_MIC_STOP_ACK_SHIFT (4U)
  54737. /*! MIC_STOP_ACK - MIC stop acknowledge
  54738. */
  54739. #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)
  54740. #define IOMUXC_LPSR_GPR_GPR41_PIT1_STOP_ACK_MASK (0x20U)
  54741. #define IOMUXC_LPSR_GPR_GPR41_PIT1_STOP_ACK_SHIFT (5U)
  54742. /*! PIT1_STOP_ACK - PIT1 stop acknowledge
  54743. */
  54744. #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)
  54745. #define IOMUXC_LPSR_GPR_GPR41_PIT2_STOP_ACK_MASK (0x40U)
  54746. #define IOMUXC_LPSR_GPR_GPR41_PIT2_STOP_ACK_SHIFT (6U)
  54747. /*! PIT2_STOP_ACK - PIT2 stop acknowledge
  54748. */
  54749. #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)
  54750. #define IOMUXC_LPSR_GPR_GPR41_SEMC_STOP_ACK_MASK (0x80U)
  54751. #define IOMUXC_LPSR_GPR_GPR41_SEMC_STOP_ACK_SHIFT (7U)
  54752. /*! SEMC_STOP_ACK - SEMC stop acknowledge
  54753. */
  54754. #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)
  54755. #define IOMUXC_LPSR_GPR_GPR41_SNVS_HP_STOP_ACK_MASK (0x100U)
  54756. #define IOMUXC_LPSR_GPR_GPR41_SNVS_HP_STOP_ACK_SHIFT (8U)
  54757. /*! SNVS_HP_STOP_ACK - SNVS_HP stop acknowledge
  54758. */
  54759. #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)
  54760. #define IOMUXC_LPSR_GPR_GPR41_SAI1_STOP_ACK_MASK (0x200U)
  54761. #define IOMUXC_LPSR_GPR_GPR41_SAI1_STOP_ACK_SHIFT (9U)
  54762. /*! SAI1_STOP_ACK - SAI1 stop acknowledge
  54763. */
  54764. #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)
  54765. #define IOMUXC_LPSR_GPR_GPR41_SAI2_STOP_ACK_MASK (0x400U)
  54766. #define IOMUXC_LPSR_GPR_GPR41_SAI2_STOP_ACK_SHIFT (10U)
  54767. /*! SAI2_STOP_ACK - SAI2 stop acknowledge
  54768. */
  54769. #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)
  54770. #define IOMUXC_LPSR_GPR_GPR41_SAI3_STOP_ACK_MASK (0x800U)
  54771. #define IOMUXC_LPSR_GPR_GPR41_SAI3_STOP_ACK_SHIFT (11U)
  54772. /*! SAI3_STOP_ACK - SAI3 stop acknowledge
  54773. */
  54774. #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)
  54775. #define IOMUXC_LPSR_GPR_GPR41_SAI4_STOP_ACK_MASK (0x1000U)
  54776. #define IOMUXC_LPSR_GPR_GPR41_SAI4_STOP_ACK_SHIFT (12U)
  54777. /*! SAI4_STOP_ACK - SAI4 stop acknowledge
  54778. */
  54779. #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)
  54780. #define IOMUXC_LPSR_GPR_GPR41_FLEXIO1_STOP_ACK_BUS_MASK (0x2000U)
  54781. #define IOMUXC_LPSR_GPR_GPR41_FLEXIO1_STOP_ACK_BUS_SHIFT (13U)
  54782. /*! FLEXIO1_STOP_ACK_BUS - FLEXIO1 stop acknowledge of bus clock domain
  54783. */
  54784. #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)
  54785. #define IOMUXC_LPSR_GPR_GPR41_FLEXIO1_STOP_ACK_PER_MASK (0x4000U)
  54786. #define IOMUXC_LPSR_GPR_GPR41_FLEXIO1_STOP_ACK_PER_SHIFT (14U)
  54787. /*! FLEXIO1_STOP_ACK_PER - FLEXIO1 stop acknowledge of peripheral clock domain
  54788. */
  54789. #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)
  54790. #define IOMUXC_LPSR_GPR_GPR41_FLEXIO2_STOP_ACK_BUS_MASK (0x8000U)
  54791. #define IOMUXC_LPSR_GPR_GPR41_FLEXIO2_STOP_ACK_BUS_SHIFT (15U)
  54792. /*! FLEXIO2_STOP_ACK_BUS - FLEXIO2 stop acknowledge of bus clock domain
  54793. */
  54794. #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)
  54795. #define IOMUXC_LPSR_GPR_GPR41_FLEXIO2_STOP_ACK_PER_MASK (0x10000U)
  54796. #define IOMUXC_LPSR_GPR_GPR41_FLEXIO2_STOP_ACK_PER_SHIFT (16U)
  54797. /*! FLEXIO2_STOP_ACK_PER - FLEXIO2 stop acknowledge of peripheral clock domain
  54798. */
  54799. #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)
  54800. #define IOMUXC_LPSR_GPR_GPR41_ROM_READ_LOCKED_MASK (0x1000000U)
  54801. #define IOMUXC_LPSR_GPR_GPR41_ROM_READ_LOCKED_SHIFT (24U)
  54802. /*! ROM_READ_LOCKED - ROM read lock status bit
  54803. */
  54804. #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)
  54805. /*! @} */
  54806. /*!
  54807. * @}
  54808. */ /* end of group IOMUXC_LPSR_GPR_Register_Masks */
  54809. /* IOMUXC_LPSR_GPR - Peripheral instance base addresses */
  54810. /** Peripheral IOMUXC_LPSR_GPR base address */
  54811. #define IOMUXC_LPSR_GPR_BASE (0x40C0C000u)
  54812. /** Peripheral IOMUXC_LPSR_GPR base pointer */
  54813. #define IOMUXC_LPSR_GPR ((IOMUXC_LPSR_GPR_Type *)IOMUXC_LPSR_GPR_BASE)
  54814. /** Array initializer of IOMUXC_LPSR_GPR peripheral base addresses */
  54815. #define IOMUXC_LPSR_GPR_BASE_ADDRS { IOMUXC_LPSR_GPR_BASE }
  54816. /** Array initializer of IOMUXC_LPSR_GPR peripheral base pointers */
  54817. #define IOMUXC_LPSR_GPR_BASE_PTRS { IOMUXC_LPSR_GPR }
  54818. /*!
  54819. * @}
  54820. */ /* end of group IOMUXC_LPSR_GPR_Peripheral_Access_Layer */
  54821. /* ----------------------------------------------------------------------------
  54822. -- IOMUXC_SNVS Peripheral Access Layer
  54823. ---------------------------------------------------------------------------- */
  54824. /*!
  54825. * @addtogroup IOMUXC_SNVS_Peripheral_Access_Layer IOMUXC_SNVS Peripheral Access Layer
  54826. * @{
  54827. */
  54828. /** IOMUXC_SNVS - Register Layout Typedef */
  54829. typedef struct {
  54830. __IO uint32_t SW_MUX_CTL_PAD_WAKEUP_DIG; /**< SW_MUX_CTL_PAD_WAKEUP_DIG SW MUX Control Register, offset: 0x0 */
  54831. __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 */
  54832. __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 */
  54833. __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 */
  54834. __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 */
  54835. __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 */
  54836. __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 */
  54837. __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 */
  54838. __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 */
  54839. __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 */
  54840. __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 */
  54841. __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 */
  54842. __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 */
  54843. __IO uint32_t SW_PAD_CTL_PAD_TEST_MODE_DIG; /**< SW_PAD_CTL_PAD_TEST_MODE_DIG SW PAD Control Register, offset: 0x34 */
  54844. __IO uint32_t SW_PAD_CTL_PAD_POR_B_DIG; /**< SW_PAD_CTL_PAD_POR_B_DIG SW PAD Control Register, offset: 0x38 */
  54845. __IO uint32_t SW_PAD_CTL_PAD_ONOFF_DIG; /**< SW_PAD_CTL_PAD_ONOFF_DIG SW PAD Control Register, offset: 0x3C */
  54846. __IO uint32_t SW_PAD_CTL_PAD_WAKEUP_DIG; /**< SW_PAD_CTL_PAD_WAKEUP_DIG SW PAD Control Register, offset: 0x40 */
  54847. __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 */
  54848. __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 */
  54849. __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 */
  54850. __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 */
  54851. __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 */
  54852. __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 */
  54853. __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 */
  54854. __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 */
  54855. __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 */
  54856. __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 */
  54857. __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 */
  54858. __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 */
  54859. } IOMUXC_SNVS_Type;
  54860. /* ----------------------------------------------------------------------------
  54861. -- IOMUXC_SNVS Register Masks
  54862. ---------------------------------------------------------------------------- */
  54863. /*!
  54864. * @addtogroup IOMUXC_SNVS_Register_Masks IOMUXC_SNVS Register Masks
  54865. * @{
  54866. */
  54867. /*! @name SW_MUX_CTL_PAD_WAKEUP_DIG - SW_MUX_CTL_PAD_WAKEUP_DIG SW MUX Control Register */
  54868. /*! @{ */
  54869. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_WAKEUP_DIG_MUX_MODE_MASK (0x7U)
  54870. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_WAKEUP_DIG_MUX_MODE_SHIFT (0U)
  54871. /*! MUX_MODE - MUX Mode Select Field.
  54872. * 0b101..Select mux mode: ALT5 mux port: GPIO13_IO00 of instance: GPIO13
  54873. * 0b111..Select mux mode: ALT7 mux port: NMI_GLUE_NMI of instance: NMI_GLUE
  54874. */
  54875. #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)
  54876. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_WAKEUP_DIG_SION_MASK (0x10U)
  54877. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_WAKEUP_DIG_SION_SHIFT (4U)
  54878. /*! SION - Software Input On Field.
  54879. * 0b1..Force input path of pad WAKEUP_DIG
  54880. * 0b0..Input Path is determined by functionality
  54881. */
  54882. #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)
  54883. /*! @} */
  54884. /*! @name SW_MUX_CTL_PAD_PMIC_ON_REQ_DIG - SW_MUX_CTL_PAD_PMIC_ON_REQ_DIG SW MUX Control Register */
  54885. /*! @{ */
  54886. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_ON_REQ_DIG_MUX_MODE_MASK (0x7U)
  54887. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_ON_REQ_DIG_MUX_MODE_SHIFT (0U)
  54888. /*! MUX_MODE - MUX Mode Select Field.
  54889. * 0b000..Select mux mode: ALT0 mux port: SNVS_LP_PMIC_ON_REQ of instance: SNVS_LP
  54890. * 0b101..Select mux mode: ALT5 mux port: GPIO13_IO01 of instance: GPIO13
  54891. */
  54892. #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)
  54893. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_ON_REQ_DIG_SION_MASK (0x10U)
  54894. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_ON_REQ_DIG_SION_SHIFT (4U)
  54895. /*! SION - Software Input On Field.
  54896. * 0b1..Force input path of pad PMIC_ON_REQ_DIG
  54897. * 0b0..Input Path is determined by functionality
  54898. */
  54899. #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)
  54900. /*! @} */
  54901. /*! @name SW_MUX_CTL_PAD_PMIC_STBY_REQ_DIG - SW_MUX_CTL_PAD_PMIC_STBY_REQ_DIG SW MUX Control Register */
  54902. /*! @{ */
  54903. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_STBY_REQ_DIG_MUX_MODE_MASK (0x7U)
  54904. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_STBY_REQ_DIG_MUX_MODE_SHIFT (0U)
  54905. /*! MUX_MODE - MUX Mode Select Field.
  54906. * 0b000..Select mux mode: ALT0 mux port: CCM_PMIC_VSTBY_REQ of instance: CCM
  54907. * 0b101..Select mux mode: ALT5 mux port: GPIO13_IO02 of instance: GPIO13
  54908. */
  54909. #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)
  54910. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_STBY_REQ_DIG_SION_MASK (0x10U)
  54911. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_STBY_REQ_DIG_SION_SHIFT (4U)
  54912. /*! SION - Software Input On Field.
  54913. * 0b1..Force input path of pad PMIC_STBY_REQ_DIG
  54914. * 0b0..Input Path is determined by functionality
  54915. */
  54916. #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)
  54917. /*! @} */
  54918. /*! @name SW_MUX_CTL_PAD_GPIO_SNVS_00_DIG - SW_MUX_CTL_PAD_GPIO_SNVS_00_DIG SW MUX Control Register */
  54919. /*! @{ */
  54920. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_00_DIG_MUX_MODE_MASK (0x7U)
  54921. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_00_DIG_MUX_MODE_SHIFT (0U)
  54922. /*! MUX_MODE - MUX Mode Select Field.
  54923. * 0b000..Select mux mode: ALT0 mux port: SNVS_TAMPER0 of instance: SNVS_LP
  54924. * 0b101..Select mux mode: ALT5 mux port: GPIO13_IO03 of instance: GPIO13
  54925. */
  54926. #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)
  54927. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_00_DIG_SION_MASK (0x10U)
  54928. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_00_DIG_SION_SHIFT (4U)
  54929. /*! SION - Software Input On Field.
  54930. * 0b1..Force input path of pad GPIO_SNVS_00_DIG
  54931. * 0b0..Input Path is determined by functionality
  54932. */
  54933. #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)
  54934. /*! @} */
  54935. /*! @name SW_MUX_CTL_PAD_GPIO_SNVS_01_DIG - SW_MUX_CTL_PAD_GPIO_SNVS_01_DIG SW MUX Control Register */
  54936. /*! @{ */
  54937. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_01_DIG_MUX_MODE_MASK (0x7U)
  54938. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_01_DIG_MUX_MODE_SHIFT (0U)
  54939. /*! MUX_MODE - MUX Mode Select Field.
  54940. * 0b000..Select mux mode: ALT0 mux port: SNVS_TAMPER1 of instance: SNVS_LP
  54941. * 0b101..Select mux mode: ALT5 mux port: GPIO13_IO04 of instance: GPIO13
  54942. */
  54943. #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)
  54944. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_01_DIG_SION_MASK (0x10U)
  54945. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_01_DIG_SION_SHIFT (4U)
  54946. /*! SION - Software Input On Field.
  54947. * 0b1..Force input path of pad GPIO_SNVS_01_DIG
  54948. * 0b0..Input Path is determined by functionality
  54949. */
  54950. #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)
  54951. /*! @} */
  54952. /*! @name SW_MUX_CTL_PAD_GPIO_SNVS_02_DIG - SW_MUX_CTL_PAD_GPIO_SNVS_02_DIG SW MUX Control Register */
  54953. /*! @{ */
  54954. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_02_DIG_MUX_MODE_MASK (0x7U)
  54955. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_02_DIG_MUX_MODE_SHIFT (0U)
  54956. /*! MUX_MODE - MUX Mode Select Field.
  54957. * 0b000..Select mux mode: ALT0 mux port: SNVS_TAMPER2 of instance: SNVS_LP
  54958. * 0b101..Select mux mode: ALT5 mux port: GPIO13_IO05 of instance: GPIO13
  54959. */
  54960. #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)
  54961. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_02_DIG_SION_MASK (0x10U)
  54962. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_02_DIG_SION_SHIFT (4U)
  54963. /*! SION - Software Input On Field.
  54964. * 0b1..Force input path of pad GPIO_SNVS_02_DIG
  54965. * 0b0..Input Path is determined by functionality
  54966. */
  54967. #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)
  54968. /*! @} */
  54969. /*! @name SW_MUX_CTL_PAD_GPIO_SNVS_03_DIG - SW_MUX_CTL_PAD_GPIO_SNVS_03_DIG SW MUX Control Register */
  54970. /*! @{ */
  54971. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_03_DIG_MUX_MODE_MASK (0x7U)
  54972. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_03_DIG_MUX_MODE_SHIFT (0U)
  54973. /*! MUX_MODE - MUX Mode Select Field.
  54974. * 0b000..Select mux mode: ALT0 mux port: SNVS_TAMPER3 of instance: SNVS_LP
  54975. * 0b101..Select mux mode: ALT5 mux port: GPIO13_IO06 of instance: GPIO13
  54976. */
  54977. #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)
  54978. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_03_DIG_SION_MASK (0x10U)
  54979. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_03_DIG_SION_SHIFT (4U)
  54980. /*! SION - Software Input On Field.
  54981. * 0b1..Force input path of pad GPIO_SNVS_03_DIG
  54982. * 0b0..Input Path is determined by functionality
  54983. */
  54984. #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)
  54985. /*! @} */
  54986. /*! @name SW_MUX_CTL_PAD_GPIO_SNVS_04_DIG - SW_MUX_CTL_PAD_GPIO_SNVS_04_DIG SW MUX Control Register */
  54987. /*! @{ */
  54988. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_04_DIG_MUX_MODE_MASK (0x7U)
  54989. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_04_DIG_MUX_MODE_SHIFT (0U)
  54990. /*! MUX_MODE - MUX Mode Select Field.
  54991. * 0b000..Select mux mode: ALT0 mux port: SNVS_TAMPER4 of instance: SNVS_LP
  54992. * 0b101..Select mux mode: ALT5 mux port: GPIO13_IO07 of instance: GPIO13
  54993. */
  54994. #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)
  54995. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_04_DIG_SION_MASK (0x10U)
  54996. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_04_DIG_SION_SHIFT (4U)
  54997. /*! SION - Software Input On Field.
  54998. * 0b1..Force input path of pad GPIO_SNVS_04_DIG
  54999. * 0b0..Input Path is determined by functionality
  55000. */
  55001. #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)
  55002. /*! @} */
  55003. /*! @name SW_MUX_CTL_PAD_GPIO_SNVS_05_DIG - SW_MUX_CTL_PAD_GPIO_SNVS_05_DIG SW MUX Control Register */
  55004. /*! @{ */
  55005. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_05_DIG_MUX_MODE_MASK (0x7U)
  55006. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_05_DIG_MUX_MODE_SHIFT (0U)
  55007. /*! MUX_MODE - MUX Mode Select Field.
  55008. * 0b000..Select mux mode: ALT0 mux port: SNVS_TAMPER5 of instance: SNVS_LP
  55009. * 0b101..Select mux mode: ALT5 mux port: GPIO13_IO08 of instance: GPIO13
  55010. */
  55011. #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)
  55012. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_05_DIG_SION_MASK (0x10U)
  55013. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_05_DIG_SION_SHIFT (4U)
  55014. /*! SION - Software Input On Field.
  55015. * 0b1..Force input path of pad GPIO_SNVS_05_DIG
  55016. * 0b0..Input Path is determined by functionality
  55017. */
  55018. #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)
  55019. /*! @} */
  55020. /*! @name SW_MUX_CTL_PAD_GPIO_SNVS_06_DIG - SW_MUX_CTL_PAD_GPIO_SNVS_06_DIG SW MUX Control Register */
  55021. /*! @{ */
  55022. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_06_DIG_MUX_MODE_MASK (0x7U)
  55023. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_06_DIG_MUX_MODE_SHIFT (0U)
  55024. /*! MUX_MODE - MUX Mode Select Field.
  55025. * 0b000..Select mux mode: ALT0 mux port: SNVS_TAMPER6 of instance: SNVS_LP
  55026. * 0b101..Select mux mode: ALT5 mux port: GPIO13_IO09 of instance: GPIO13
  55027. */
  55028. #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)
  55029. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_06_DIG_SION_MASK (0x10U)
  55030. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_06_DIG_SION_SHIFT (4U)
  55031. /*! SION - Software Input On Field.
  55032. * 0b1..Force input path of pad GPIO_SNVS_06_DIG
  55033. * 0b0..Input Path is determined by functionality
  55034. */
  55035. #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)
  55036. /*! @} */
  55037. /*! @name SW_MUX_CTL_PAD_GPIO_SNVS_07_DIG - SW_MUX_CTL_PAD_GPIO_SNVS_07_DIG SW MUX Control Register */
  55038. /*! @{ */
  55039. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_07_DIG_MUX_MODE_MASK (0x7U)
  55040. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_07_DIG_MUX_MODE_SHIFT (0U)
  55041. /*! MUX_MODE - MUX Mode Select Field.
  55042. * 0b000..Select mux mode: ALT0 mux port: SNVS_TAMPER7 of instance: SNVS_LP
  55043. * 0b101..Select mux mode: ALT5 mux port: GPIO13_IO10 of instance: GPIO13
  55044. */
  55045. #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)
  55046. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_07_DIG_SION_MASK (0x10U)
  55047. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_07_DIG_SION_SHIFT (4U)
  55048. /*! SION - Software Input On Field.
  55049. * 0b1..Force input path of pad GPIO_SNVS_07_DIG
  55050. * 0b0..Input Path is determined by functionality
  55051. */
  55052. #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)
  55053. /*! @} */
  55054. /*! @name SW_MUX_CTL_PAD_GPIO_SNVS_08_DIG - SW_MUX_CTL_PAD_GPIO_SNVS_08_DIG SW MUX Control Register */
  55055. /*! @{ */
  55056. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_08_DIG_MUX_MODE_MASK (0x7U)
  55057. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_08_DIG_MUX_MODE_SHIFT (0U)
  55058. /*! MUX_MODE - MUX Mode Select Field.
  55059. * 0b000..Select mux mode: ALT0 mux port: SNVS_TAMPER8 of instance: SNVS_LP
  55060. * 0b101..Select mux mode: ALT5 mux port: GPIO13_IO11 of instance: GPIO13
  55061. */
  55062. #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)
  55063. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_08_DIG_SION_MASK (0x10U)
  55064. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_08_DIG_SION_SHIFT (4U)
  55065. /*! SION - Software Input On Field.
  55066. * 0b1..Force input path of pad GPIO_SNVS_08_DIG
  55067. * 0b0..Input Path is determined by functionality
  55068. */
  55069. #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)
  55070. /*! @} */
  55071. /*! @name SW_MUX_CTL_PAD_GPIO_SNVS_09_DIG - SW_MUX_CTL_PAD_GPIO_SNVS_09_DIG SW MUX Control Register */
  55072. /*! @{ */
  55073. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_09_DIG_MUX_MODE_MASK (0x7U)
  55074. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_09_DIG_MUX_MODE_SHIFT (0U)
  55075. /*! MUX_MODE - MUX Mode Select Field.
  55076. * 0b000..Select mux mode: ALT0 mux port: SNVS_TAMPER9 of instance: SNVS_LP
  55077. * 0b101..Select mux mode: ALT5 mux port: GPIO13_IO12 of instance: GPIO13
  55078. */
  55079. #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)
  55080. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_09_DIG_SION_MASK (0x10U)
  55081. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_09_DIG_SION_SHIFT (4U)
  55082. /*! SION - Software Input On Field.
  55083. * 0b1..Force input path of pad GPIO_SNVS_09_DIG
  55084. * 0b0..Input Path is determined by functionality
  55085. */
  55086. #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)
  55087. /*! @} */
  55088. /*! @name SW_PAD_CTL_PAD_TEST_MODE_DIG - SW_PAD_CTL_PAD_TEST_MODE_DIG SW PAD Control Register */
  55089. /*! @{ */
  55090. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DIG_SRE_MASK (0x1U)
  55091. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DIG_SRE_SHIFT (0U)
  55092. /*! SRE - Slew Rate Field
  55093. * 0b0..Slow Slew Rate
  55094. * 0b1..Fast Slew Rate
  55095. */
  55096. #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)
  55097. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DIG_DSE_MASK (0x2U)
  55098. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DIG_DSE_SHIFT (1U)
  55099. /*! DSE - Drive Strength Field
  55100. * 0b0..normal driver
  55101. * 0b1..high driver
  55102. */
  55103. #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)
  55104. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DIG_PUE_MASK (0x4U)
  55105. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DIG_PUE_SHIFT (2U)
  55106. /*! PUE - Pull / Keep Select Field
  55107. * 0b0..Pull Disable
  55108. * 0b1..Pull Enable
  55109. */
  55110. #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)
  55111. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DIG_PUS_MASK (0x8U)
  55112. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DIG_PUS_SHIFT (3U)
  55113. /*! PUS - Pull Up / Down Config. Field
  55114. * 0b0..Weak pull down
  55115. * 0b1..Weak pull up
  55116. */
  55117. #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)
  55118. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DIG_DWP_MASK (0x30000000U)
  55119. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DIG_DWP_SHIFT (28U)
  55120. /*! DWP - Domain write protection
  55121. * 0b00..Both cores are allowed
  55122. * 0b01..CM7 is forbidden
  55123. * 0b10..CM4 is forbidden
  55124. * 0b11..Both cores are forbidden
  55125. */
  55126. #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)
  55127. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DIG_DWP_LOCK_MASK (0xC0000000U)
  55128. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DIG_DWP_LOCK_SHIFT (30U)
  55129. /*! DWP_LOCK - Domain write protection lock
  55130. * 0b00..Neither of DWP bits is locked
  55131. * 0b01..The lower DWP bit is locked
  55132. * 0b10..The higher DWP bit is locked
  55133. * 0b11..Both DWP bits are locked
  55134. */
  55135. #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)
  55136. /*! @} */
  55137. /*! @name SW_PAD_CTL_PAD_POR_B_DIG - SW_PAD_CTL_PAD_POR_B_DIG SW PAD Control Register */
  55138. /*! @{ */
  55139. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DIG_SRE_MASK (0x1U)
  55140. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DIG_SRE_SHIFT (0U)
  55141. /*! SRE - Slew Rate Field
  55142. * 0b0..Slow Slew Rate
  55143. * 0b1..Fast Slew Rate
  55144. */
  55145. #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)
  55146. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DIG_DSE_MASK (0x2U)
  55147. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DIG_DSE_SHIFT (1U)
  55148. /*! DSE - Drive Strength Field
  55149. * 0b0..normal driver
  55150. * 0b1..high driver
  55151. */
  55152. #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)
  55153. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DIG_PUE_MASK (0x4U)
  55154. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DIG_PUE_SHIFT (2U)
  55155. /*! PUE - Pull / Keep Select Field
  55156. * 0b0..Pull Disable
  55157. * 0b1..Pull Enable
  55158. */
  55159. #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)
  55160. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DIG_PUS_MASK (0x8U)
  55161. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DIG_PUS_SHIFT (3U)
  55162. /*! PUS - Pull Up / Down Config. Field
  55163. * 0b0..Weak pull down
  55164. * 0b1..Weak pull up
  55165. */
  55166. #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)
  55167. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DIG_DWP_MASK (0x30000000U)
  55168. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DIG_DWP_SHIFT (28U)
  55169. /*! DWP - Domain write protection
  55170. * 0b00..Both cores are allowed
  55171. * 0b01..CM7 is forbidden
  55172. * 0b10..CM4 is forbidden
  55173. * 0b11..Both cores are forbidden
  55174. */
  55175. #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)
  55176. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DIG_DWP_LOCK_MASK (0xC0000000U)
  55177. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DIG_DWP_LOCK_SHIFT (30U)
  55178. /*! DWP_LOCK - Domain write protection lock
  55179. * 0b00..Neither of DWP bits is locked
  55180. * 0b01..The lower DWP bit is locked
  55181. * 0b10..The higher DWP bit is locked
  55182. * 0b11..Both DWP bits are locked
  55183. */
  55184. #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)
  55185. /*! @} */
  55186. /*! @name SW_PAD_CTL_PAD_ONOFF_DIG - SW_PAD_CTL_PAD_ONOFF_DIG SW PAD Control Register */
  55187. /*! @{ */
  55188. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DIG_SRE_MASK (0x1U)
  55189. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DIG_SRE_SHIFT (0U)
  55190. /*! SRE - Slew Rate Field
  55191. * 0b0..Slow Slew Rate
  55192. * 0b1..Fast Slew Rate
  55193. */
  55194. #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)
  55195. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DIG_DSE_MASK (0x2U)
  55196. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DIG_DSE_SHIFT (1U)
  55197. /*! DSE - Drive Strength Field
  55198. * 0b0..normal driver
  55199. * 0b1..high driver
  55200. */
  55201. #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)
  55202. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DIG_PUE_MASK (0x4U)
  55203. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DIG_PUE_SHIFT (2U)
  55204. /*! PUE - Pull / Keep Select Field
  55205. * 0b0..Pull Disable
  55206. * 0b1..Pull Enable
  55207. */
  55208. #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)
  55209. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DIG_PUS_MASK (0x8U)
  55210. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DIG_PUS_SHIFT (3U)
  55211. /*! PUS - Pull Up / Down Config. Field
  55212. * 0b0..Weak pull down
  55213. * 0b1..Weak pull up
  55214. */
  55215. #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)
  55216. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DIG_DWP_MASK (0x30000000U)
  55217. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DIG_DWP_SHIFT (28U)
  55218. /*! DWP - Domain write protection
  55219. * 0b00..Both cores are allowed
  55220. * 0b01..CM7 is forbidden
  55221. * 0b10..CM4 is forbidden
  55222. * 0b11..Both cores are forbidden
  55223. */
  55224. #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)
  55225. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DIG_DWP_LOCK_MASK (0xC0000000U)
  55226. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DIG_DWP_LOCK_SHIFT (30U)
  55227. /*! DWP_LOCK - Domain write protection lock
  55228. * 0b00..Neither of DWP bits is locked
  55229. * 0b01..The lower DWP bit is locked
  55230. * 0b10..The higher DWP bit is locked
  55231. * 0b11..Both DWP bits are locked
  55232. */
  55233. #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)
  55234. /*! @} */
  55235. /*! @name SW_PAD_CTL_PAD_WAKEUP_DIG - SW_PAD_CTL_PAD_WAKEUP_DIG SW PAD Control Register */
  55236. /*! @{ */
  55237. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_SRE_MASK (0x1U)
  55238. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_SRE_SHIFT (0U)
  55239. /*! SRE - Slew Rate Field
  55240. * 0b0..Slow Slew Rate
  55241. * 0b1..Fast Slew Rate
  55242. */
  55243. #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)
  55244. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_DSE_MASK (0x2U)
  55245. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_DSE_SHIFT (1U)
  55246. /*! DSE - Drive Strength Field
  55247. * 0b0..normal driver
  55248. * 0b1..high driver
  55249. */
  55250. #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)
  55251. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_PUE_MASK (0x4U)
  55252. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_PUE_SHIFT (2U)
  55253. /*! PUE - Pull / Keep Select Field
  55254. * 0b0..Pull Disable
  55255. * 0b1..Pull Enable
  55256. */
  55257. #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)
  55258. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_PUS_MASK (0x8U)
  55259. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_PUS_SHIFT (3U)
  55260. /*! PUS - Pull Up / Down Config. Field
  55261. * 0b0..Weak pull down
  55262. * 0b1..Weak pull up
  55263. */
  55264. #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)
  55265. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_ODE_SNVS_MASK (0x40U)
  55266. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_ODE_SNVS_SHIFT (6U)
  55267. /*! ODE_SNVS - Open Drain SNVS Field
  55268. * 0b0..Disabled
  55269. * 0b1..Enabled
  55270. */
  55271. #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)
  55272. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_DWP_MASK (0x30000000U)
  55273. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_DWP_SHIFT (28U)
  55274. /*! DWP - Domain write protection
  55275. * 0b00..Both cores are allowed
  55276. * 0b01..CM7 is forbidden
  55277. * 0b10..CM4 is forbidden
  55278. * 0b11..Both cores are forbidden
  55279. */
  55280. #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)
  55281. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_DWP_LOCK_MASK (0xC0000000U)
  55282. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_DWP_LOCK_SHIFT (30U)
  55283. /*! DWP_LOCK - Domain write protection lock
  55284. * 0b00..Neither of DWP bits is locked
  55285. * 0b01..The lower DWP bit is locked
  55286. * 0b10..The higher DWP bit is locked
  55287. * 0b11..Both DWP bits are locked
  55288. */
  55289. #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)
  55290. /*! @} */
  55291. /*! @name SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG - SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG SW PAD Control Register */
  55292. /*! @{ */
  55293. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_SRE_MASK (0x1U)
  55294. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_SRE_SHIFT (0U)
  55295. /*! SRE - Slew Rate Field
  55296. * 0b0..Slow Slew Rate
  55297. * 0b1..Fast Slew Rate
  55298. */
  55299. #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)
  55300. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_DSE_MASK (0x2U)
  55301. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_DSE_SHIFT (1U)
  55302. /*! DSE - Drive Strength Field
  55303. * 0b0..normal driver
  55304. * 0b1..high driver
  55305. */
  55306. #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)
  55307. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_PUE_MASK (0x4U)
  55308. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_PUE_SHIFT (2U)
  55309. /*! PUE - Pull / Keep Select Field
  55310. * 0b0..Pull Disable
  55311. * 0b1..Pull Enable
  55312. */
  55313. #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)
  55314. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_PUS_MASK (0x8U)
  55315. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_PUS_SHIFT (3U)
  55316. /*! PUS - Pull Up / Down Config. Field
  55317. * 0b0..Weak pull down
  55318. * 0b1..Weak pull up
  55319. */
  55320. #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)
  55321. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_ODE_SNVS_MASK (0x40U)
  55322. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_ODE_SNVS_SHIFT (6U)
  55323. /*! ODE_SNVS - Open Drain SNVS Field
  55324. * 0b0..Disabled
  55325. * 0b1..Enabled
  55326. */
  55327. #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)
  55328. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_DWP_MASK (0x30000000U)
  55329. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_DWP_SHIFT (28U)
  55330. /*! DWP - Domain write protection
  55331. * 0b00..Both cores are allowed
  55332. * 0b01..CM7 is forbidden
  55333. * 0b10..CM4 is forbidden
  55334. * 0b11..Both cores are forbidden
  55335. */
  55336. #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)
  55337. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_DWP_LOCK_MASK (0xC0000000U)
  55338. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_DWP_LOCK_SHIFT (30U)
  55339. /*! DWP_LOCK - Domain write protection lock
  55340. * 0b00..Neither of DWP bits is locked
  55341. * 0b01..The lower DWP bit is locked
  55342. * 0b10..The higher DWP bit is locked
  55343. * 0b11..Both DWP bits are locked
  55344. */
  55345. #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)
  55346. /*! @} */
  55347. /*! @name SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG - SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG SW PAD Control Register */
  55348. /*! @{ */
  55349. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_SRE_MASK (0x1U)
  55350. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_SRE_SHIFT (0U)
  55351. /*! SRE - Slew Rate Field
  55352. * 0b0..Slow Slew Rate
  55353. * 0b1..Fast Slew Rate
  55354. */
  55355. #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)
  55356. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_DSE_MASK (0x2U)
  55357. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_DSE_SHIFT (1U)
  55358. /*! DSE - Drive Strength Field
  55359. * 0b0..normal driver
  55360. * 0b1..high driver
  55361. */
  55362. #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)
  55363. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_PUE_MASK (0x4U)
  55364. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_PUE_SHIFT (2U)
  55365. /*! PUE - Pull / Keep Select Field
  55366. * 0b0..Pull Disable
  55367. * 0b1..Pull Enable
  55368. */
  55369. #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)
  55370. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_PUS_MASK (0x8U)
  55371. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_PUS_SHIFT (3U)
  55372. /*! PUS - Pull Up / Down Config. Field
  55373. * 0b0..Weak pull down
  55374. * 0b1..Weak pull up
  55375. */
  55376. #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)
  55377. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_ODE_SNVS_MASK (0x40U)
  55378. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_ODE_SNVS_SHIFT (6U)
  55379. /*! ODE_SNVS - Open Drain SNVS Field
  55380. * 0b0..Disabled
  55381. * 0b1..Enabled
  55382. */
  55383. #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)
  55384. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_DWP_MASK (0x30000000U)
  55385. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_DWP_SHIFT (28U)
  55386. /*! DWP - Domain write protection
  55387. * 0b00..Both cores are allowed
  55388. * 0b01..CM7 is forbidden
  55389. * 0b10..CM4 is forbidden
  55390. * 0b11..Both cores are forbidden
  55391. */
  55392. #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)
  55393. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_DWP_LOCK_MASK (0xC0000000U)
  55394. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_DWP_LOCK_SHIFT (30U)
  55395. /*! DWP_LOCK - Domain write protection lock
  55396. * 0b00..Neither of DWP bits is locked
  55397. * 0b01..The lower DWP bit is locked
  55398. * 0b10..The higher DWP bit is locked
  55399. * 0b11..Both DWP bits are locked
  55400. */
  55401. #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)
  55402. /*! @} */
  55403. /*! @name SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG - SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG SW PAD Control Register */
  55404. /*! @{ */
  55405. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_SRE_MASK (0x1U)
  55406. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_SRE_SHIFT (0U)
  55407. /*! SRE - Slew Rate Field
  55408. * 0b0..Slow Slew Rate
  55409. * 0b1..Fast Slew Rate
  55410. */
  55411. #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)
  55412. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_DSE_MASK (0x2U)
  55413. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_DSE_SHIFT (1U)
  55414. /*! DSE - Drive Strength Field
  55415. * 0b0..normal driver
  55416. * 0b1..high driver
  55417. */
  55418. #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)
  55419. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_PUE_MASK (0x4U)
  55420. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_PUE_SHIFT (2U)
  55421. /*! PUE - Pull / Keep Select Field
  55422. * 0b0..Pull Disable
  55423. * 0b1..Pull Enable
  55424. */
  55425. #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)
  55426. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_PUS_MASK (0x8U)
  55427. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_PUS_SHIFT (3U)
  55428. /*! PUS - Pull Up / Down Config. Field
  55429. * 0b0..Weak pull down
  55430. * 0b1..Weak pull up
  55431. */
  55432. #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)
  55433. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_ODE_SNVS_MASK (0x40U)
  55434. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_ODE_SNVS_SHIFT (6U)
  55435. /*! ODE_SNVS - Open Drain SNVS Field
  55436. * 0b0..Disabled
  55437. * 0b1..Enabled
  55438. */
  55439. #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)
  55440. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_DWP_MASK (0x30000000U)
  55441. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_DWP_SHIFT (28U)
  55442. /*! DWP - Domain write protection
  55443. * 0b00..Both cores are allowed
  55444. * 0b01..CM7 is forbidden
  55445. * 0b10..CM4 is forbidden
  55446. * 0b11..Both cores are forbidden
  55447. */
  55448. #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)
  55449. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_DWP_LOCK_MASK (0xC0000000U)
  55450. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_DWP_LOCK_SHIFT (30U)
  55451. /*! DWP_LOCK - Domain write protection lock
  55452. * 0b00..Neither of DWP bits is locked
  55453. * 0b01..The lower DWP bit is locked
  55454. * 0b10..The higher DWP bit is locked
  55455. * 0b11..Both DWP bits are locked
  55456. */
  55457. #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)
  55458. /*! @} */
  55459. /*! @name SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG - SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG SW PAD Control Register */
  55460. /*! @{ */
  55461. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_SRE_MASK (0x1U)
  55462. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_SRE_SHIFT (0U)
  55463. /*! SRE - Slew Rate Field
  55464. * 0b0..Slow Slew Rate
  55465. * 0b1..Fast Slew Rate
  55466. */
  55467. #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)
  55468. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_DSE_MASK (0x2U)
  55469. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_DSE_SHIFT (1U)
  55470. /*! DSE - Drive Strength Field
  55471. * 0b0..normal driver
  55472. * 0b1..high driver
  55473. */
  55474. #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)
  55475. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_PUE_MASK (0x4U)
  55476. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_PUE_SHIFT (2U)
  55477. /*! PUE - Pull / Keep Select Field
  55478. * 0b0..Pull Disable
  55479. * 0b1..Pull Enable
  55480. */
  55481. #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)
  55482. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_PUS_MASK (0x8U)
  55483. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_PUS_SHIFT (3U)
  55484. /*! PUS - Pull Up / Down Config. Field
  55485. * 0b0..Weak pull down
  55486. * 0b1..Weak pull up
  55487. */
  55488. #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)
  55489. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_ODE_SNVS_MASK (0x40U)
  55490. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_ODE_SNVS_SHIFT (6U)
  55491. /*! ODE_SNVS - Open Drain SNVS Field
  55492. * 0b0..Disabled
  55493. * 0b1..Enabled
  55494. */
  55495. #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)
  55496. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_DWP_MASK (0x30000000U)
  55497. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_DWP_SHIFT (28U)
  55498. /*! DWP - Domain write protection
  55499. * 0b00..Both cores are allowed
  55500. * 0b01..CM7 is forbidden
  55501. * 0b10..CM4 is forbidden
  55502. * 0b11..Both cores are forbidden
  55503. */
  55504. #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)
  55505. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_DWP_LOCK_MASK (0xC0000000U)
  55506. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_DWP_LOCK_SHIFT (30U)
  55507. /*! DWP_LOCK - Domain write protection lock
  55508. * 0b00..Neither of DWP bits is locked
  55509. * 0b01..The lower DWP bit is locked
  55510. * 0b10..The higher DWP bit is locked
  55511. * 0b11..Both DWP bits are locked
  55512. */
  55513. #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)
  55514. /*! @} */
  55515. /*! @name SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG - SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG SW PAD Control Register */
  55516. /*! @{ */
  55517. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_SRE_MASK (0x1U)
  55518. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_SRE_SHIFT (0U)
  55519. /*! SRE - Slew Rate Field
  55520. * 0b0..Slow Slew Rate
  55521. * 0b1..Fast Slew Rate
  55522. */
  55523. #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)
  55524. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_DSE_MASK (0x2U)
  55525. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_DSE_SHIFT (1U)
  55526. /*! DSE - Drive Strength Field
  55527. * 0b0..normal driver
  55528. * 0b1..high driver
  55529. */
  55530. #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)
  55531. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_PUE_MASK (0x4U)
  55532. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_PUE_SHIFT (2U)
  55533. /*! PUE - Pull / Keep Select Field
  55534. * 0b0..Pull Disable
  55535. * 0b1..Pull Enable
  55536. */
  55537. #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)
  55538. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_PUS_MASK (0x8U)
  55539. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_PUS_SHIFT (3U)
  55540. /*! PUS - Pull Up / Down Config. Field
  55541. * 0b0..Weak pull down
  55542. * 0b1..Weak pull up
  55543. */
  55544. #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)
  55545. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_ODE_SNVS_MASK (0x40U)
  55546. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_ODE_SNVS_SHIFT (6U)
  55547. /*! ODE_SNVS - Open Drain SNVS Field
  55548. * 0b0..Disabled
  55549. * 0b1..Enabled
  55550. */
  55551. #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)
  55552. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_DWP_MASK (0x30000000U)
  55553. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_DWP_SHIFT (28U)
  55554. /*! DWP - Domain write protection
  55555. * 0b00..Both cores are allowed
  55556. * 0b01..CM7 is forbidden
  55557. * 0b10..CM4 is forbidden
  55558. * 0b11..Both cores are forbidden
  55559. */
  55560. #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)
  55561. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_DWP_LOCK_MASK (0xC0000000U)
  55562. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_DWP_LOCK_SHIFT (30U)
  55563. /*! DWP_LOCK - Domain write protection lock
  55564. * 0b00..Neither of DWP bits is locked
  55565. * 0b01..The lower DWP bit is locked
  55566. * 0b10..The higher DWP bit is locked
  55567. * 0b11..Both DWP bits are locked
  55568. */
  55569. #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)
  55570. /*! @} */
  55571. /*! @name SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG - SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG SW PAD Control Register */
  55572. /*! @{ */
  55573. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_SRE_MASK (0x1U)
  55574. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_SRE_SHIFT (0U)
  55575. /*! SRE - Slew Rate Field
  55576. * 0b0..Slow Slew Rate
  55577. * 0b1..Fast Slew Rate
  55578. */
  55579. #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)
  55580. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_DSE_MASK (0x2U)
  55581. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_DSE_SHIFT (1U)
  55582. /*! DSE - Drive Strength Field
  55583. * 0b0..normal driver
  55584. * 0b1..high driver
  55585. */
  55586. #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)
  55587. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_PUE_MASK (0x4U)
  55588. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_PUE_SHIFT (2U)
  55589. /*! PUE - Pull / Keep Select Field
  55590. * 0b0..Pull Disable
  55591. * 0b1..Pull Enable
  55592. */
  55593. #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)
  55594. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_PUS_MASK (0x8U)
  55595. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_PUS_SHIFT (3U)
  55596. /*! PUS - Pull Up / Down Config. Field
  55597. * 0b0..Weak pull down
  55598. * 0b1..Weak pull up
  55599. */
  55600. #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)
  55601. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_ODE_SNVS_MASK (0x40U)
  55602. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_ODE_SNVS_SHIFT (6U)
  55603. /*! ODE_SNVS - Open Drain SNVS Field
  55604. * 0b0..Disabled
  55605. * 0b1..Enabled
  55606. */
  55607. #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)
  55608. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_DWP_MASK (0x30000000U)
  55609. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_DWP_SHIFT (28U)
  55610. /*! DWP - Domain write protection
  55611. * 0b00..Both cores are allowed
  55612. * 0b01..CM7 is forbidden
  55613. * 0b10..CM4 is forbidden
  55614. * 0b11..Both cores are forbidden
  55615. */
  55616. #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)
  55617. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_DWP_LOCK_MASK (0xC0000000U)
  55618. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_DWP_LOCK_SHIFT (30U)
  55619. /*! DWP_LOCK - Domain write protection lock
  55620. * 0b00..Neither of DWP bits is locked
  55621. * 0b01..The lower DWP bit is locked
  55622. * 0b10..The higher DWP bit is locked
  55623. * 0b11..Both DWP bits are locked
  55624. */
  55625. #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)
  55626. /*! @} */
  55627. /*! @name SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG - SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG SW PAD Control Register */
  55628. /*! @{ */
  55629. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_SRE_MASK (0x1U)
  55630. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_SRE_SHIFT (0U)
  55631. /*! SRE - Slew Rate Field
  55632. * 0b0..Slow Slew Rate
  55633. * 0b1..Fast Slew Rate
  55634. */
  55635. #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)
  55636. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_DSE_MASK (0x2U)
  55637. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_DSE_SHIFT (1U)
  55638. /*! DSE - Drive Strength Field
  55639. * 0b0..normal driver
  55640. * 0b1..high driver
  55641. */
  55642. #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)
  55643. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_PUE_MASK (0x4U)
  55644. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_PUE_SHIFT (2U)
  55645. /*! PUE - Pull / Keep Select Field
  55646. * 0b0..Pull Disable
  55647. * 0b1..Pull Enable
  55648. */
  55649. #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)
  55650. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_PUS_MASK (0x8U)
  55651. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_PUS_SHIFT (3U)
  55652. /*! PUS - Pull Up / Down Config. Field
  55653. * 0b0..Weak pull down
  55654. * 0b1..Weak pull up
  55655. */
  55656. #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)
  55657. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_ODE_SNVS_MASK (0x40U)
  55658. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_ODE_SNVS_SHIFT (6U)
  55659. /*! ODE_SNVS - Open Drain SNVS Field
  55660. * 0b0..Disabled
  55661. * 0b1..Enabled
  55662. */
  55663. #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)
  55664. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_DWP_MASK (0x30000000U)
  55665. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_DWP_SHIFT (28U)
  55666. /*! DWP - Domain write protection
  55667. * 0b00..Both cores are allowed
  55668. * 0b01..CM7 is forbidden
  55669. * 0b10..CM4 is forbidden
  55670. * 0b11..Both cores are forbidden
  55671. */
  55672. #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)
  55673. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_DWP_LOCK_MASK (0xC0000000U)
  55674. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_DWP_LOCK_SHIFT (30U)
  55675. /*! DWP_LOCK - Domain write protection lock
  55676. * 0b00..Neither of DWP bits is locked
  55677. * 0b01..The lower DWP bit is locked
  55678. * 0b10..The higher DWP bit is locked
  55679. * 0b11..Both DWP bits are locked
  55680. */
  55681. #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)
  55682. /*! @} */
  55683. /*! @name SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG - SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG SW PAD Control Register */
  55684. /*! @{ */
  55685. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_SRE_MASK (0x1U)
  55686. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_SRE_SHIFT (0U)
  55687. /*! SRE - Slew Rate Field
  55688. * 0b0..Slow Slew Rate
  55689. * 0b1..Fast Slew Rate
  55690. */
  55691. #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)
  55692. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_DSE_MASK (0x2U)
  55693. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_DSE_SHIFT (1U)
  55694. /*! DSE - Drive Strength Field
  55695. * 0b0..normal driver
  55696. * 0b1..high driver
  55697. */
  55698. #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)
  55699. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_PUE_MASK (0x4U)
  55700. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_PUE_SHIFT (2U)
  55701. /*! PUE - Pull / Keep Select Field
  55702. * 0b0..Pull Disable
  55703. * 0b1..Pull Enable
  55704. */
  55705. #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)
  55706. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_PUS_MASK (0x8U)
  55707. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_PUS_SHIFT (3U)
  55708. /*! PUS - Pull Up / Down Config. Field
  55709. * 0b0..Weak pull down
  55710. * 0b1..Weak pull up
  55711. */
  55712. #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)
  55713. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_ODE_SNVS_MASK (0x40U)
  55714. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_ODE_SNVS_SHIFT (6U)
  55715. /*! ODE_SNVS - Open Drain SNVS Field
  55716. * 0b0..Disabled
  55717. * 0b1..Enabled
  55718. */
  55719. #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)
  55720. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_DWP_MASK (0x30000000U)
  55721. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_DWP_SHIFT (28U)
  55722. /*! DWP - Domain write protection
  55723. * 0b00..Both cores are allowed
  55724. * 0b01..CM7 is forbidden
  55725. * 0b10..CM4 is forbidden
  55726. * 0b11..Both cores are forbidden
  55727. */
  55728. #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)
  55729. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_DWP_LOCK_MASK (0xC0000000U)
  55730. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_DWP_LOCK_SHIFT (30U)
  55731. /*! DWP_LOCK - Domain write protection lock
  55732. * 0b00..Neither of DWP bits is locked
  55733. * 0b01..The lower DWP bit is locked
  55734. * 0b10..The higher DWP bit is locked
  55735. * 0b11..Both DWP bits are locked
  55736. */
  55737. #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)
  55738. /*! @} */
  55739. /*! @name SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG - SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG SW PAD Control Register */
  55740. /*! @{ */
  55741. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_SRE_MASK (0x1U)
  55742. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_SRE_SHIFT (0U)
  55743. /*! SRE - Slew Rate Field
  55744. * 0b0..Slow Slew Rate
  55745. * 0b1..Fast Slew Rate
  55746. */
  55747. #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)
  55748. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_DSE_MASK (0x2U)
  55749. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_DSE_SHIFT (1U)
  55750. /*! DSE - Drive Strength Field
  55751. * 0b0..normal driver
  55752. * 0b1..high driver
  55753. */
  55754. #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)
  55755. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_PUE_MASK (0x4U)
  55756. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_PUE_SHIFT (2U)
  55757. /*! PUE - Pull / Keep Select Field
  55758. * 0b0..Pull Disable
  55759. * 0b1..Pull Enable
  55760. */
  55761. #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)
  55762. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_PUS_MASK (0x8U)
  55763. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_PUS_SHIFT (3U)
  55764. /*! PUS - Pull Up / Down Config. Field
  55765. * 0b0..Weak pull down
  55766. * 0b1..Weak pull up
  55767. */
  55768. #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)
  55769. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_ODE_SNVS_MASK (0x40U)
  55770. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_ODE_SNVS_SHIFT (6U)
  55771. /*! ODE_SNVS - Open Drain SNVS Field
  55772. * 0b0..Disabled
  55773. * 0b1..Enabled
  55774. */
  55775. #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)
  55776. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_DWP_MASK (0x30000000U)
  55777. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_DWP_SHIFT (28U)
  55778. /*! DWP - Domain write protection
  55779. * 0b00..Both cores are allowed
  55780. * 0b01..CM7 is forbidden
  55781. * 0b10..CM4 is forbidden
  55782. * 0b11..Both cores are forbidden
  55783. */
  55784. #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)
  55785. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_DWP_LOCK_MASK (0xC0000000U)
  55786. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_DWP_LOCK_SHIFT (30U)
  55787. /*! DWP_LOCK - Domain write protection lock
  55788. * 0b00..Neither of DWP bits is locked
  55789. * 0b01..The lower DWP bit is locked
  55790. * 0b10..The higher DWP bit is locked
  55791. * 0b11..Both DWP bits are locked
  55792. */
  55793. #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)
  55794. /*! @} */
  55795. /*! @name SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG - SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG SW PAD Control Register */
  55796. /*! @{ */
  55797. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_SRE_MASK (0x1U)
  55798. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_SRE_SHIFT (0U)
  55799. /*! SRE - Slew Rate Field
  55800. * 0b0..Slow Slew Rate
  55801. * 0b1..Fast Slew Rate
  55802. */
  55803. #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)
  55804. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_DSE_MASK (0x2U)
  55805. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_DSE_SHIFT (1U)
  55806. /*! DSE - Drive Strength Field
  55807. * 0b0..normal driver
  55808. * 0b1..high driver
  55809. */
  55810. #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)
  55811. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_PUE_MASK (0x4U)
  55812. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_PUE_SHIFT (2U)
  55813. /*! PUE - Pull / Keep Select Field
  55814. * 0b0..Pull Disable
  55815. * 0b1..Pull Enable
  55816. */
  55817. #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)
  55818. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_PUS_MASK (0x8U)
  55819. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_PUS_SHIFT (3U)
  55820. /*! PUS - Pull Up / Down Config. Field
  55821. * 0b0..Weak pull down
  55822. * 0b1..Weak pull up
  55823. */
  55824. #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)
  55825. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_ODE_SNVS_MASK (0x40U)
  55826. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_ODE_SNVS_SHIFT (6U)
  55827. /*! ODE_SNVS - Open Drain SNVS Field
  55828. * 0b0..Disabled
  55829. * 0b1..Enabled
  55830. */
  55831. #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)
  55832. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_DWP_MASK (0x30000000U)
  55833. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_DWP_SHIFT (28U)
  55834. /*! DWP - Domain write protection
  55835. * 0b00..Both cores are allowed
  55836. * 0b01..CM7 is forbidden
  55837. * 0b10..CM4 is forbidden
  55838. * 0b11..Both cores are forbidden
  55839. */
  55840. #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)
  55841. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_DWP_LOCK_MASK (0xC0000000U)
  55842. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_DWP_LOCK_SHIFT (30U)
  55843. /*! DWP_LOCK - Domain write protection lock
  55844. * 0b00..Neither of DWP bits is locked
  55845. * 0b01..The lower DWP bit is locked
  55846. * 0b10..The higher DWP bit is locked
  55847. * 0b11..Both DWP bits are locked
  55848. */
  55849. #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)
  55850. /*! @} */
  55851. /*! @name SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG - SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG SW PAD Control Register */
  55852. /*! @{ */
  55853. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_SRE_MASK (0x1U)
  55854. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_SRE_SHIFT (0U)
  55855. /*! SRE - Slew Rate Field
  55856. * 0b0..Slow Slew Rate
  55857. * 0b1..Fast Slew Rate
  55858. */
  55859. #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)
  55860. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_DSE_MASK (0x2U)
  55861. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_DSE_SHIFT (1U)
  55862. /*! DSE - Drive Strength Field
  55863. * 0b0..normal driver
  55864. * 0b1..high driver
  55865. */
  55866. #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)
  55867. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_PUE_MASK (0x4U)
  55868. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_PUE_SHIFT (2U)
  55869. /*! PUE - Pull / Keep Select Field
  55870. * 0b0..Pull Disable
  55871. * 0b1..Pull Enable
  55872. */
  55873. #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)
  55874. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_PUS_MASK (0x8U)
  55875. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_PUS_SHIFT (3U)
  55876. /*! PUS - Pull Up / Down Config. Field
  55877. * 0b0..Weak pull down
  55878. * 0b1..Weak pull up
  55879. */
  55880. #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)
  55881. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_ODE_SNVS_MASK (0x40U)
  55882. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_ODE_SNVS_SHIFT (6U)
  55883. /*! ODE_SNVS - Open Drain SNVS Field
  55884. * 0b0..Disabled
  55885. * 0b1..Enabled
  55886. */
  55887. #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)
  55888. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_DWP_MASK (0x30000000U)
  55889. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_DWP_SHIFT (28U)
  55890. /*! DWP - Domain write protection
  55891. * 0b00..Both cores are allowed
  55892. * 0b01..CM7 is forbidden
  55893. * 0b10..CM4 is forbidden
  55894. * 0b11..Both cores are forbidden
  55895. */
  55896. #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)
  55897. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_DWP_LOCK_MASK (0xC0000000U)
  55898. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_DWP_LOCK_SHIFT (30U)
  55899. /*! DWP_LOCK - Domain write protection lock
  55900. * 0b00..Neither of DWP bits is locked
  55901. * 0b01..The lower DWP bit is locked
  55902. * 0b10..The higher DWP bit is locked
  55903. * 0b11..Both DWP bits are locked
  55904. */
  55905. #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)
  55906. /*! @} */
  55907. /*! @name SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG - SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG SW PAD Control Register */
  55908. /*! @{ */
  55909. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_SRE_MASK (0x1U)
  55910. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_SRE_SHIFT (0U)
  55911. /*! SRE - Slew Rate Field
  55912. * 0b0..Slow Slew Rate
  55913. * 0b1..Fast Slew Rate
  55914. */
  55915. #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)
  55916. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_DSE_MASK (0x2U)
  55917. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_DSE_SHIFT (1U)
  55918. /*! DSE - Drive Strength Field
  55919. * 0b0..normal driver
  55920. * 0b1..high driver
  55921. */
  55922. #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)
  55923. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_PUE_MASK (0x4U)
  55924. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_PUE_SHIFT (2U)
  55925. /*! PUE - Pull / Keep Select Field
  55926. * 0b0..Pull Disable
  55927. * 0b1..Pull Enable
  55928. */
  55929. #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)
  55930. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_PUS_MASK (0x8U)
  55931. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_PUS_SHIFT (3U)
  55932. /*! PUS - Pull Up / Down Config. Field
  55933. * 0b0..Weak pull down
  55934. * 0b1..Weak pull up
  55935. */
  55936. #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)
  55937. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_ODE_SNVS_MASK (0x40U)
  55938. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_ODE_SNVS_SHIFT (6U)
  55939. /*! ODE_SNVS - Open Drain SNVS Field
  55940. * 0b0..Disabled
  55941. * 0b1..Enabled
  55942. */
  55943. #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)
  55944. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_DWP_MASK (0x30000000U)
  55945. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_DWP_SHIFT (28U)
  55946. /*! DWP - Domain write protection
  55947. * 0b00..Both cores are allowed
  55948. * 0b01..CM7 is forbidden
  55949. * 0b10..CM4 is forbidden
  55950. * 0b11..Both cores are forbidden
  55951. */
  55952. #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)
  55953. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_DWP_LOCK_MASK (0xC0000000U)
  55954. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_DWP_LOCK_SHIFT (30U)
  55955. /*! DWP_LOCK - Domain write protection lock
  55956. * 0b00..Neither of DWP bits is locked
  55957. * 0b01..The lower DWP bit is locked
  55958. * 0b10..The higher DWP bit is locked
  55959. * 0b11..Both DWP bits are locked
  55960. */
  55961. #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)
  55962. /*! @} */
  55963. /*!
  55964. * @}
  55965. */ /* end of group IOMUXC_SNVS_Register_Masks */
  55966. /* IOMUXC_SNVS - Peripheral instance base addresses */
  55967. /** Peripheral IOMUXC_SNVS base address */
  55968. #define IOMUXC_SNVS_BASE (0x40C94000u)
  55969. /** Peripheral IOMUXC_SNVS base pointer */
  55970. #define IOMUXC_SNVS ((IOMUXC_SNVS_Type *)IOMUXC_SNVS_BASE)
  55971. /** Array initializer of IOMUXC_SNVS peripheral base addresses */
  55972. #define IOMUXC_SNVS_BASE_ADDRS { IOMUXC_SNVS_BASE }
  55973. /** Array initializer of IOMUXC_SNVS peripheral base pointers */
  55974. #define IOMUXC_SNVS_BASE_PTRS { IOMUXC_SNVS }
  55975. /*!
  55976. * @}
  55977. */ /* end of group IOMUXC_SNVS_Peripheral_Access_Layer */
  55978. /* ----------------------------------------------------------------------------
  55979. -- IOMUXC_SNVS_GPR Peripheral Access Layer
  55980. ---------------------------------------------------------------------------- */
  55981. /*!
  55982. * @addtogroup IOMUXC_SNVS_GPR_Peripheral_Access_Layer IOMUXC_SNVS_GPR Peripheral Access Layer
  55983. * @{
  55984. */
  55985. /** IOMUXC_SNVS_GPR - Register Layout Typedef */
  55986. typedef struct {
  55987. __IO uint32_t GPR[32]; /**< GPR0 General Purpose Register, array offset: 0x0, array step: 0x4 */
  55988. __IO uint32_t GPR32; /**< GPR32 General Purpose Register, offset: 0x80 */
  55989. __IO uint32_t GPR33; /**< GPR33 General Purpose Register, offset: 0x84 */
  55990. __IO uint32_t GPR34; /**< GPR34 General Purpose Register, offset: 0x88 */
  55991. __IO uint32_t GPR35; /**< GPR35 General Purpose Register, offset: 0x8C */
  55992. __IO uint32_t GPR36; /**< GPR36 General Purpose Register, offset: 0x90 */
  55993. __IO uint32_t GPR37; /**< GPR37 General Purpose Register, offset: 0x94 */
  55994. } IOMUXC_SNVS_GPR_Type;
  55995. /* ----------------------------------------------------------------------------
  55996. -- IOMUXC_SNVS_GPR Register Masks
  55997. ---------------------------------------------------------------------------- */
  55998. /*!
  55999. * @addtogroup IOMUXC_SNVS_GPR_Register_Masks IOMUXC_SNVS_GPR Register Masks
  56000. * @{
  56001. */
  56002. /*! @name GPR - GPR0 General Purpose Register */
  56003. /*! @{ */
  56004. #define IOMUXC_SNVS_GPR_GPR_GPR_MASK (0xFFFFFFFFU)
  56005. #define IOMUXC_SNVS_GPR_GPR_GPR_SHIFT (0U)
  56006. /*! GPR - General purpose bits
  56007. */
  56008. #define IOMUXC_SNVS_GPR_GPR_GPR(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR_GPR_SHIFT)) & IOMUXC_SNVS_GPR_GPR_GPR_MASK)
  56009. /*! @} */
  56010. /* The count of IOMUXC_SNVS_GPR_GPR */
  56011. #define IOMUXC_SNVS_GPR_GPR_COUNT (32U)
  56012. /*! @name GPR32 - GPR32 General Purpose Register */
  56013. /*! @{ */
  56014. #define IOMUXC_SNVS_GPR_GPR32_GPR_MASK (0xFFFEU)
  56015. #define IOMUXC_SNVS_GPR_GPR32_GPR_SHIFT (1U)
  56016. /*! GPR - General purpose bits
  56017. */
  56018. #define IOMUXC_SNVS_GPR_GPR32_GPR(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR32_GPR_SHIFT)) & IOMUXC_SNVS_GPR_GPR32_GPR_MASK)
  56019. #define IOMUXC_SNVS_GPR_GPR32_LOCK_MASK (0xFFFF0000U)
  56020. #define IOMUXC_SNVS_GPR_GPR32_LOCK_SHIFT (16U)
  56021. /*! LOCK - Lock the write to bit 15:0
  56022. */
  56023. #define IOMUXC_SNVS_GPR_GPR32_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR32_LOCK_SHIFT)) & IOMUXC_SNVS_GPR_GPR32_LOCK_MASK)
  56024. /*! @} */
  56025. /*! @name GPR33 - GPR33 General Purpose Register */
  56026. /*! @{ */
  56027. #define IOMUXC_SNVS_GPR_GPR33_DCDC_STATUS_CAPT_CLR_MASK (0x2U)
  56028. #define IOMUXC_SNVS_GPR_GPR33_DCDC_STATUS_CAPT_CLR_SHIFT (1U)
  56029. /*! DCDC_STATUS_CAPT_CLR - DCDC captured status clear
  56030. * 0b0..No change
  56031. * 0b1..Clear the 3 bits of DCDC captured status: DCDC_OVER_VOL, DCDC_OVER_CUR, and DCDC_IN_LOW_VOL
  56032. */
  56033. #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)
  56034. #define IOMUXC_SNVS_GPR_GPR33_SNVS_BYPASS_EN_MASK (0x4U)
  56035. #define IOMUXC_SNVS_GPR_GPR33_SNVS_BYPASS_EN_SHIFT (2U)
  56036. /*! SNVS_BYPASS_EN - SNVS LDO_SNVS_ANA bypass enable
  56037. * 0b1..Enable bypass
  56038. * 0b0..Disable bypass
  56039. */
  56040. #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)
  56041. #define IOMUXC_SNVS_GPR_GPR33_DCDC_IN_LOW_VOL_MASK (0x10000U)
  56042. #define IOMUXC_SNVS_GPR_GPR33_DCDC_IN_LOW_VOL_SHIFT (16U)
  56043. /*! DCDC_IN_LOW_VOL - DCDC_IN low voltage detect
  56044. * 0b1..Voltage on DCDC_IN is lower than 2.6V
  56045. * 0b0..Voltage on DCDC_IN is higher than 2.6V
  56046. */
  56047. #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)
  56048. #define IOMUXC_SNVS_GPR_GPR33_DCDC_OVER_CUR_MASK (0x20000U)
  56049. #define IOMUXC_SNVS_GPR_GPR33_DCDC_OVER_CUR_SHIFT (17U)
  56050. /*! DCDC_OVER_CUR - DCDC output over current alert
  56051. * 0b1..Overcurrent on DCDC output
  56052. * 0b0..No Overcurrent on DCDC output
  56053. */
  56054. #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)
  56055. #define IOMUXC_SNVS_GPR_GPR33_DCDC_OVER_VOL_MASK (0x40000U)
  56056. #define IOMUXC_SNVS_GPR_GPR33_DCDC_OVER_VOL_SHIFT (18U)
  56057. /*! DCDC_OVER_VOL - DCDC output over voltage alert
  56058. * 0b1..Overvoltage on DCDC VDDLP0 or VDDLP8 output
  56059. * 0b0..No Overvoltage on DCDC VDDLP0 or VDDLP8 output
  56060. */
  56061. #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)
  56062. #define IOMUXC_SNVS_GPR_GPR33_DCDC_STS_DC_OK_MASK (0x80000U)
  56063. #define IOMUXC_SNVS_GPR_GPR33_DCDC_STS_DC_OK_SHIFT (19U)
  56064. /*! DCDC_STS_DC_OK - DCDC status OK
  56065. * 0b0..DCDC is settling
  56066. * 0b1..DCDC already settled
  56067. */
  56068. #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)
  56069. #define IOMUXC_SNVS_GPR_GPR33_SNVS_XTAL_CLK_OK_MASK (0x100000U)
  56070. #define IOMUXC_SNVS_GPR_GPR33_SNVS_XTAL_CLK_OK_SHIFT (20U)
  56071. /*! SNVS_XTAL_CLK_OK - 32K OSC ok flag
  56072. * 0b1..32K oscillator is stable into normal operation
  56073. * 0b0..32K oscillator is NOT stable into normal operation
  56074. */
  56075. #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)
  56076. /*! @} */
  56077. /*! @name GPR34 - GPR34 General Purpose Register */
  56078. /*! @{ */
  56079. #define IOMUXC_SNVS_GPR_GPR34_LOCK_MASK (0x1U)
  56080. #define IOMUXC_SNVS_GPR_GPR34_LOCK_SHIFT (0U)
  56081. /*! LOCK - Lock the write to bit 31:1
  56082. * 0b0..Write access is not blocked
  56083. * 0b1..Write access is blocked
  56084. */
  56085. #define IOMUXC_SNVS_GPR_GPR34_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR34_LOCK_SHIFT)) & IOMUXC_SNVS_GPR_GPR34_LOCK_MASK)
  56086. #define IOMUXC_SNVS_GPR_GPR34_SNVS_CORE_VOLT_DET_TRIM_SEL_MASK (0x2U)
  56087. #define IOMUXC_SNVS_GPR_GPR34_SNVS_CORE_VOLT_DET_TRIM_SEL_SHIFT (1U)
  56088. /*! SNVS_CORE_VOLT_DET_TRIM_SEL - SNVS core voltage detect trim select
  56089. * 0b0..The trimming codes are selected from eFuse
  56090. * 0b1..The trimming codes of core voltage detectors used to change the voltage falling trip point are selected from SNVS_CORE_VOLT_DET_TRIM
  56091. */
  56092. #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)
  56093. #define IOMUXC_SNVS_GPR_GPR34_SNVS_CORE_VOLT_DET_TRIM_MASK (0xCU)
  56094. #define IOMUXC_SNVS_GPR_GPR34_SNVS_CORE_VOLT_DET_TRIM_SHIFT (2U)
  56095. /*! SNVS_CORE_VOLT_DET_TRIM - SNVS core voltage detect trim
  56096. */
  56097. #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)
  56098. #define IOMUXC_SNVS_GPR_GPR34_SNVS_CLK_DET_TRIM_SEL_MASK (0x80U)
  56099. #define IOMUXC_SNVS_GPR_GPR34_SNVS_CLK_DET_TRIM_SEL_SHIFT (7U)
  56100. /*! SNVS_CLK_DET_TRIM_SEL - SNVS clock detect trim select
  56101. * 0b0..The trimming codes are selected from eFuse
  56102. * 0b1..The trimming codes of clock detector used to change the boundary frequencies are selected from SNVS_CLK_DET_TRIM
  56103. */
  56104. #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)
  56105. #define IOMUXC_SNVS_GPR_GPR34_SNVS_CLK_DET_TRIM_MASK (0xFF00U)
  56106. #define IOMUXC_SNVS_GPR_GPR34_SNVS_CLK_DET_TRIM_SHIFT (8U)
  56107. /*! SNVS_CLK_DET_TRIM - SNVS clock detect trim bits
  56108. */
  56109. #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)
  56110. #define IOMUXC_SNVS_GPR_GPR34_SNVS_CLK_DET_OFFSET_HIGH_MASK (0x30000U)
  56111. #define IOMUXC_SNVS_GPR_GPR34_SNVS_CLK_DET_OFFSET_HIGH_SHIFT (16U)
  56112. /*! SNVS_CLK_DET_OFFSET_HIGH - SNVS clock detect offset of high boundary frequency
  56113. * 0b00..No change (Default)
  56114. * 0b01..Add +5 to the Trim
  56115. * 0b10..Add +10 to the trim
  56116. * 0b11..Add -5 to the Trim
  56117. */
  56118. #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)
  56119. #define IOMUXC_SNVS_GPR_GPR34_SNVS_CLK_DET_OFFSET_LOW_MASK (0xC0000U)
  56120. #define IOMUXC_SNVS_GPR_GPR34_SNVS_CLK_DET_OFFSET_LOW_SHIFT (18U)
  56121. /*! SNVS_CLK_DET_OFFSET_LOW - SNVS clock detect offset of low boundary frequency
  56122. * 0b00..No change (Default)
  56123. * 0b01..Add +5 to the Trim
  56124. * 0b10..Add +10 to the trim
  56125. * 0b11..Add -5 to the Trim
  56126. */
  56127. #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)
  56128. #define IOMUXC_SNVS_GPR_GPR34_SNVS_CAP_TRIM_SEL_MASK (0x800000U)
  56129. #define IOMUXC_SNVS_GPR_GPR34_SNVS_CAP_TRIM_SEL_SHIFT (23U)
  56130. /*! SNVS_CAP_TRIM_SEL - SNVS OSC load capacitor trim select
  56131. * 0b0..The trimming codes are selected from eFuse
  56132. * 0b1..The trimming codes are used from SNVS_OSC_CAP_TRIM (osc32k's load capacitor)
  56133. */
  56134. #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)
  56135. #define IOMUXC_SNVS_GPR_GPR34_SNVS_OSC_CAP_TRIM_MASK (0xF000000U)
  56136. #define IOMUXC_SNVS_GPR_GPR34_SNVS_OSC_CAP_TRIM_SHIFT (24U)
  56137. /*! SNVS_OSC_CAP_TRIM - SNVS OSC load capacitor trim
  56138. */
  56139. #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)
  56140. /*! @} */
  56141. /*! @name GPR35 - GPR35 General Purpose Register */
  56142. /*! @{ */
  56143. #define IOMUXC_SNVS_GPR_GPR35_LOCK_MASK (0x1U)
  56144. #define IOMUXC_SNVS_GPR_GPR35_LOCK_SHIFT (0U)
  56145. /*! LOCK - Lock the write to bit 31:1
  56146. * 0b0..Write access is not blocked
  56147. * 0b1..Write access is blocked
  56148. */
  56149. #define IOMUXC_SNVS_GPR_GPR35_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR35_LOCK_SHIFT)) & IOMUXC_SNVS_GPR_GPR35_LOCK_MASK)
  56150. #define IOMUXC_SNVS_GPR_GPR35_SNVS_VOLT_DET_TRIM_SEL_MASK (0x8U)
  56151. #define IOMUXC_SNVS_GPR_GPR35_SNVS_VOLT_DET_TRIM_SEL_SHIFT (3U)
  56152. /*! SNVS_VOLT_DET_TRIM_SEL - SNVS voltage detect trim select
  56153. * 0b0..The trimming codes are selected from eFuse
  56154. * 0b1..The trimming codes of voltage detectors to change the voltage boundaries in battery voltage detecting are selected from SNVS_VOLT_DET_TRIM
  56155. */
  56156. #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)
  56157. #define IOMUXC_SNVS_GPR_GPR35_SNVS_VOLT_DET_TRIM_MASK (0xFF0U)
  56158. #define IOMUXC_SNVS_GPR_GPR35_SNVS_VOLT_DET_TRIM_SHIFT (4U)
  56159. /*! SNVS_VOLT_DET_TRIM - SNVS voltage detect trim
  56160. */
  56161. #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)
  56162. #define IOMUXC_SNVS_GPR_GPR35_SNVS_TEMP_DET_TRIM_SEL_MASK (0x8000U)
  56163. #define IOMUXC_SNVS_GPR_GPR35_SNVS_TEMP_DET_TRIM_SEL_SHIFT (15U)
  56164. /*! SNVS_TEMP_DET_TRIM_SEL - SNVS temperature detect trim select
  56165. * 0b0..The trimming codes are selected from eFuse
  56166. * 0b1..The trimming codes to define the temperature boundaries of temperature detector are selected from SNVS_TEMP_DET_TRIM
  56167. */
  56168. #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)
  56169. #define IOMUXC_SNVS_GPR_GPR35_SNVS_TEMP_DET_TRIM_MASK (0xFFF0000U)
  56170. #define IOMUXC_SNVS_GPR_GPR35_SNVS_TEMP_DET_TRIM_SHIFT (16U)
  56171. /*! SNVS_TEMP_DET_TRIM - SNVS temperature detect trim
  56172. */
  56173. #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)
  56174. #define IOMUXC_SNVS_GPR_GPR35_SNVS_TEMP_DET_OFFSET_HIGH_MASK (0x30000000U)
  56175. #define IOMUXC_SNVS_GPR_GPR35_SNVS_TEMP_DET_OFFSET_HIGH_SHIFT (28U)
  56176. /*! SNVS_TEMP_DET_OFFSET_HIGH - SNVS temperature detect offset of high temperature boundary
  56177. * 0b00..No change (Default)
  56178. * 0b01..Add +5 to the Trim
  56179. * 0b10..Add +10 to the trim
  56180. * 0b11..Add -5 to the Trim
  56181. */
  56182. #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)
  56183. #define IOMUXC_SNVS_GPR_GPR35_SNVS_TEMP_DET_OFFSET_LOW_MASK (0xC0000000U)
  56184. #define IOMUXC_SNVS_GPR_GPR35_SNVS_TEMP_DET_OFFSET_LOW_SHIFT (30U)
  56185. /*! SNVS_TEMP_DET_OFFSET_LOW - SNVS temperature detect offset of low temperature boundary
  56186. * 0b00..No change (Default)
  56187. * 0b01..Add +5 to the Trim
  56188. * 0b10..Add +10 to the trim
  56189. * 0b11..Add -5 to the Trim
  56190. */
  56191. #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)
  56192. /*! @} */
  56193. /*! @name GPR36 - GPR36 General Purpose Register */
  56194. /*! @{ */
  56195. #define IOMUXC_SNVS_GPR_GPR36_SNVSDIG_SNVS1P8_ISO_EN_MASK (0x800000U)
  56196. #define IOMUXC_SNVS_GPR_GPR36_SNVSDIG_SNVS1P8_ISO_EN_SHIFT (23U)
  56197. /*! SNVSDIG_SNVS1P8_ISO_EN - SNVS RAM isolation enable bit
  56198. * 0b1..Enable the isolation to avoid extra leakage power before SNVS SRAM peripheral power or LDO_SNVS_DIG is switched off
  56199. * 0b0..Enable SRAM access (It should be cleared after LDO_SNVS_DIG and SNVS SRAM peripheral power is back)
  56200. */
  56201. #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)
  56202. #define IOMUXC_SNVS_GPR_GPR36_SNVS_SRAM_SLEEP_MASK (0x4000000U)
  56203. #define IOMUXC_SNVS_GPR_GPR36_SNVS_SRAM_SLEEP_SHIFT (26U)
  56204. /*! SNVS_SRAM_SLEEP - SNVS SRAM power-down enable bit
  56205. * 0b0..Enable SRAM access (It should be cleared after LDO_SNVS_DIG is enabled)
  56206. * 0b1..SNVS SRAM can go in Shutdown/ Periphery Off Array On/ Periphery On Array Off mode. In addition, this bit
  56207. * ensures power-up without stuck-at /high DC current states and hence must be held to 1 during wake-up, so
  56208. * this bit is default high.
  56209. */
  56210. #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)
  56211. #define IOMUXC_SNVS_GPR_GPR36_SNVS_SRAM_STDBY_MASK (0x8000000U)
  56212. #define IOMUXC_SNVS_GPR_GPR36_SNVS_SRAM_STDBY_SHIFT (27U)
  56213. /*! SNVS_SRAM_STDBY - SNVS SRAM standby enable bit
  56214. * 0b1..SNVS SRAM enters low leakage state and large drivers are switched OFF
  56215. * 0b0..SNVS SRAM does not enter low leakage state
  56216. */
  56217. #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)
  56218. #define IOMUXC_SNVS_GPR_GPR36_SNVS_SRAM_PSWLARGEMP_FORCE_MASK (0x10000000U)
  56219. #define IOMUXC_SNVS_GPR_GPR36_SNVS_SRAM_PSWLARGEMP_FORCE_SHIFT (28U)
  56220. /*! SNVS_SRAM_PSWLARGEMP_FORCE - SNVS SRAM large switch control bit for peripheral
  56221. * 0b1..Switch off SNVS SRAM power for peripheral (SRAM array power is not impacted, and data can be retained)
  56222. * 0b0..Switch on SNVS SRAM power for peripheral
  56223. */
  56224. #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)
  56225. #define IOMUXC_SNVS_GPR_GPR36_SNVS_SRAM_PSWLARGE_MASK (0x20000000U)
  56226. #define IOMUXC_SNVS_GPR_GPR36_SNVS_SRAM_PSWLARGE_SHIFT (29U)
  56227. /*! SNVS_SRAM_PSWLARGE - SNVS SRAM large switch control bit
  56228. * 0b1..Switch off SNVS SRAM power for peripheral and array
  56229. * 0b0..Switch on SNVS SRAM power for peripheral and array
  56230. */
  56231. #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)
  56232. #define IOMUXC_SNVS_GPR_GPR36_SNVS_SRAM_PSWSMALLMP_FORCE_MASK (0x40000000U)
  56233. #define IOMUXC_SNVS_GPR_GPR36_SNVS_SRAM_PSWSMALLMP_FORCE_SHIFT (30U)
  56234. /*! SNVS_SRAM_PSWSMALLMP_FORCE - SNVS SRAM small switch control bit for peripheral
  56235. * 0b1..Switch off SNVS SRAM power for peripheral (SRAM array power is not impacted, and data can be retained)
  56236. * 0b0..Switch on SNVS SRAM power for peripheral
  56237. */
  56238. #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)
  56239. #define IOMUXC_SNVS_GPR_GPR36_SNVS_SRAM_PSWSMALL_MASK (0x80000000U)
  56240. #define IOMUXC_SNVS_GPR_GPR36_SNVS_SRAM_PSWSMALL_SHIFT (31U)
  56241. /*! SNVS_SRAM_PSWSMALL - SNVS SRAM small switch control bit
  56242. * 0b1..Switch off SNVS SRAM power for peripheral and array
  56243. * 0b0..Switch on SNVS SRAM power for peripheral and array
  56244. */
  56245. #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)
  56246. /*! @} */
  56247. /*! @name GPR37 - GPR37 General Purpose Register */
  56248. /*! @{ */
  56249. #define IOMUXC_SNVS_GPR_GPR37_LOCK_MASK (0x1U)
  56250. #define IOMUXC_SNVS_GPR_GPR37_LOCK_SHIFT (0U)
  56251. /*! LOCK - Lock the write to bit 31:1
  56252. * 0b0..Write access is not blocked
  56253. * 0b1..Write access is blocked
  56254. */
  56255. #define IOMUXC_SNVS_GPR_GPR37_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR37_LOCK_SHIFT)) & IOMUXC_SNVS_GPR_GPR37_LOCK_MASK)
  56256. #define IOMUXC_SNVS_GPR_GPR37_SNVS_TAMPER_PUE_MASK (0x7FEU)
  56257. #define IOMUXC_SNVS_GPR_GPR37_SNVS_TAMPER_PUE_SHIFT (1U)
  56258. /*! SNVS_TAMPER_PUE - SNVS tamper detect pin pull enable bit
  56259. */
  56260. #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)
  56261. #define IOMUXC_SNVS_GPR_GPR37_SNVS_TAMPER_PUS_MASK (0x1FF800U)
  56262. #define IOMUXC_SNVS_GPR_GPR37_SNVS_TAMPER_PUS_SHIFT (11U)
  56263. /*! SNVS_TAMPER_PUS - SNVS tamper detect pin pull selection bit
  56264. */
  56265. #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)
  56266. /*! @} */
  56267. /*!
  56268. * @}
  56269. */ /* end of group IOMUXC_SNVS_GPR_Register_Masks */
  56270. /* IOMUXC_SNVS_GPR - Peripheral instance base addresses */
  56271. /** Peripheral IOMUXC_SNVS_GPR base address */
  56272. #define IOMUXC_SNVS_GPR_BASE (0x40C98000u)
  56273. /** Peripheral IOMUXC_SNVS_GPR base pointer */
  56274. #define IOMUXC_SNVS_GPR ((IOMUXC_SNVS_GPR_Type *)IOMUXC_SNVS_GPR_BASE)
  56275. /** Array initializer of IOMUXC_SNVS_GPR peripheral base addresses */
  56276. #define IOMUXC_SNVS_GPR_BASE_ADDRS { IOMUXC_SNVS_GPR_BASE }
  56277. /** Array initializer of IOMUXC_SNVS_GPR peripheral base pointers */
  56278. #define IOMUXC_SNVS_GPR_BASE_PTRS { IOMUXC_SNVS_GPR }
  56279. /*!
  56280. * @}
  56281. */ /* end of group IOMUXC_SNVS_GPR_Peripheral_Access_Layer */
  56282. /* ----------------------------------------------------------------------------
  56283. -- IPS_DOMAIN Peripheral Access Layer
  56284. ---------------------------------------------------------------------------- */
  56285. /*!
  56286. * @addtogroup IPS_DOMAIN_Peripheral_Access_Layer IPS_DOMAIN Peripheral Access Layer
  56287. * @{
  56288. */
  56289. /** IPS_DOMAIN - Register Layout Typedef */
  56290. typedef struct {
  56291. struct { /* offset: 0x0, array step: 0x10 */
  56292. __IO uint32_t SLOT_CTRL; /**< Slot Control Register, array offset: 0x0, array step: 0x10 */
  56293. uint8_t RESERVED_0[12];
  56294. } SLOT_CTRL[38];
  56295. } IPS_DOMAIN_Type;
  56296. /* ----------------------------------------------------------------------------
  56297. -- IPS_DOMAIN Register Masks
  56298. ---------------------------------------------------------------------------- */
  56299. /*!
  56300. * @addtogroup IPS_DOMAIN_Register_Masks IPS_DOMAIN Register Masks
  56301. * @{
  56302. */
  56303. /*! @name SLOT_CTRL - Slot Control Register */
  56304. /*! @{ */
  56305. #define IPS_DOMAIN_SLOT_CTRL_LOCKED_DOMAIN_ID_MASK (0xFU)
  56306. #define IPS_DOMAIN_SLOT_CTRL_LOCKED_DOMAIN_ID_SHIFT (0U)
  56307. /*! LOCKED_DOMAIN_ID - Domain ID of the slot to be locked
  56308. */
  56309. #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)
  56310. #define IPS_DOMAIN_SLOT_CTRL_DOMAIN_LOCK_MASK (0x8000U)
  56311. #define IPS_DOMAIN_SLOT_CTRL_DOMAIN_LOCK_SHIFT (15U)
  56312. /*! DOMAIN_LOCK - Lock domain ID of this slot
  56313. * 0b0..Do not lock the domain ID
  56314. * 0b1..Lock the domain ID
  56315. */
  56316. #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)
  56317. #define IPS_DOMAIN_SLOT_CTRL_ALLOW_NONSECURE_MASK (0x10000U)
  56318. #define IPS_DOMAIN_SLOT_CTRL_ALLOW_NONSECURE_SHIFT (16U)
  56319. /*! ALLOW_NONSECURE - Allow non-secure write access to this domain control register or domain register
  56320. * 0b0..Do not allow non-secure write access
  56321. * 0b1..Allow non-secure write access
  56322. */
  56323. #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)
  56324. #define IPS_DOMAIN_SLOT_CTRL_ALLOW_USER_MASK (0x20000U)
  56325. #define IPS_DOMAIN_SLOT_CTRL_ALLOW_USER_SHIFT (17U)
  56326. /*! ALLOW_USER - Allow user write access to this domain control register or domain register
  56327. * 0b0..Do not allow user write access
  56328. * 0b1..Allow user write access
  56329. */
  56330. #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)
  56331. #define IPS_DOMAIN_SLOT_CTRL_LOCK_CONTROL_MASK (0x80000000U)
  56332. #define IPS_DOMAIN_SLOT_CTRL_LOCK_CONTROL_SHIFT (31U)
  56333. /*! LOCK_CONTROL - Lock control of this slot
  56334. * 0b0..Do not lock the control register of this slot
  56335. * 0b1..Lock the control register of this slot
  56336. */
  56337. #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)
  56338. /*! @} */
  56339. /* The count of IPS_DOMAIN_SLOT_CTRL */
  56340. #define IPS_DOMAIN_SLOT_CTRL_COUNT (38U)
  56341. /*!
  56342. * @}
  56343. */ /* end of group IPS_DOMAIN_Register_Masks */
  56344. /* IPS_DOMAIN - Peripheral instance base addresses */
  56345. /** Peripheral IPS_DOMAIN base address */
  56346. #define IPS_DOMAIN_BASE (0x40C87C00u)
  56347. /** Peripheral IPS_DOMAIN base pointer */
  56348. #define IPS_DOMAIN ((IPS_DOMAIN_Type *)IPS_DOMAIN_BASE)
  56349. /** Array initializer of IPS_DOMAIN peripheral base addresses */
  56350. #define IPS_DOMAIN_BASE_ADDRS { IPS_DOMAIN_BASE }
  56351. /** Array initializer of IPS_DOMAIN peripheral base pointers */
  56352. #define IPS_DOMAIN_BASE_PTRS { IPS_DOMAIN }
  56353. /*!
  56354. * @}
  56355. */ /* end of group IPS_DOMAIN_Peripheral_Access_Layer */
  56356. /* ----------------------------------------------------------------------------
  56357. -- KEY_MANAGER Peripheral Access Layer
  56358. ---------------------------------------------------------------------------- */
  56359. /*!
  56360. * @addtogroup KEY_MANAGER_Peripheral_Access_Layer KEY_MANAGER Peripheral Access Layer
  56361. * @{
  56362. */
  56363. /** KEY_MANAGER - Register Layout Typedef */
  56364. typedef struct {
  56365. __IO uint32_t MASTER_KEY_CTRL; /**< CSR Master Key Control Register, offset: 0x0 */
  56366. uint8_t RESERVED_0[12];
  56367. __IO uint32_t OTFAD1_KEY_CTRL; /**< CSR OTFAD-1 Key Control, offset: 0x10 */
  56368. uint8_t RESERVED_1[4];
  56369. __IO uint32_t OTFAD2_KEY_CTRL; /**< CSR OTFAD-2 Key Control, offset: 0x18 */
  56370. uint8_t RESERVED_2[4];
  56371. __IO uint32_t IEE_KEY_CTRL; /**< CSR IEE Key Control, offset: 0x20 */
  56372. uint8_t RESERVED_3[12];
  56373. __IO uint32_t PUF_KEY_CTRL; /**< CSR PUF Key Control, offset: 0x30 */
  56374. uint8_t RESERVED_4[972];
  56375. __IO uint32_t SLOT0_CTRL; /**< Slot 0 Control, offset: 0x400 */
  56376. __IO uint32_t SLOT1_CTRL; /**< Slot1 Control, offset: 0x404 */
  56377. __IO uint32_t SLOT2_CTRL; /**< Slot2 Control, offset: 0x408 */
  56378. __IO uint32_t SLOT3_CTRL; /**< Slot3 Control, offset: 0x40C */
  56379. __IO uint32_t SLOT4_CTRL; /**< Slot 4 Control, offset: 0x410 */
  56380. } KEY_MANAGER_Type;
  56381. /* ----------------------------------------------------------------------------
  56382. -- KEY_MANAGER Register Masks
  56383. ---------------------------------------------------------------------------- */
  56384. /*!
  56385. * @addtogroup KEY_MANAGER_Register_Masks KEY_MANAGER Register Masks
  56386. * @{
  56387. */
  56388. /*! @name MASTER_KEY_CTRL - CSR Master Key Control Register */
  56389. /*! @{ */
  56390. #define KEY_MANAGER_MASTER_KEY_CTRL_SELECT_MASK (0x1U)
  56391. #define KEY_MANAGER_MASTER_KEY_CTRL_SELECT_SHIFT (0U)
  56392. /*! SELECT - Key select for SNVS OTPMK. Default value comes from FUSE_MASTER_KEY_SEL.
  56393. * 0b0..select key from UDF
  56394. * 0b1..If LOCK = 1, select key from PUF, otherwise select key from fuse (bypass the fuse OTPMK to SNVS)
  56395. */
  56396. #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)
  56397. #define KEY_MANAGER_MASTER_KEY_CTRL_LOCK_MASK (0x10000U)
  56398. #define KEY_MANAGER_MASTER_KEY_CTRL_LOCK_SHIFT (16U)
  56399. /*! LOCK - lock this register, prevent from writing. Default value comes from FUSE_MASTER_KEY_SEL_LOCK.
  56400. * 0b0..not locked
  56401. * 0b1..locked
  56402. */
  56403. #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)
  56404. /*! @} */
  56405. /*! @name OTFAD1_KEY_CTRL - CSR OTFAD-1 Key Control */
  56406. /*! @{ */
  56407. #define KEY_MANAGER_OTFAD1_KEY_CTRL_SELECT_MASK (0x1U)
  56408. #define KEY_MANAGER_OTFAD1_KEY_CTRL_SELECT_SHIFT (0U)
  56409. /*! SELECT - key select for OTFAD-1. Default value comes from FUSE_OTFAD1_KEY_SEL.
  56410. * 0b0..Select key from OCOTP USER_KEY5
  56411. * 0b1..If PUF_KEY_CTRL[LOCK] is 1, select key from PUF, otherwise select key from OCOTP USER_KEY5
  56412. */
  56413. #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)
  56414. #define KEY_MANAGER_OTFAD1_KEY_CTRL_LOCK_MASK (0x10000U)
  56415. #define KEY_MANAGER_OTFAD1_KEY_CTRL_LOCK_SHIFT (16U)
  56416. /*! LOCK - lock this register, prevent from writing. Default value comes from FUSE_OTFAD1_KEY_SEL_LOCK.
  56417. * 0b0..not locked
  56418. * 0b1..locked
  56419. */
  56420. #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)
  56421. /*! @} */
  56422. /*! @name OTFAD2_KEY_CTRL - CSR OTFAD-2 Key Control */
  56423. /*! @{ */
  56424. #define KEY_MANAGER_OTFAD2_KEY_CTRL_SELECT_MASK (0x1U)
  56425. #define KEY_MANAGER_OTFAD2_KEY_CTRL_SELECT_SHIFT (0U)
  56426. /*! SELECT - key select for OTFAD-2. Default value comes from FUSE_OTFAD1_KEY_SEL.
  56427. * 0b0..select key from OCOTP USER_KEY5
  56428. * 0b1..If PUF_KEY_CTRL[LOCK] is 1, select key from PUF, otherwise select key from OCOTP USER_KEY5
  56429. */
  56430. #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)
  56431. #define KEY_MANAGER_OTFAD2_KEY_CTRL_LOCK_MASK (0x10000U)
  56432. #define KEY_MANAGER_OTFAD2_KEY_CTRL_LOCK_SHIFT (16U)
  56433. /*! LOCK - lock this register, prevent from writing. Default value comes from FUSE_OTFAD2_KEY_SEL_LOCK.
  56434. * 0b0..not locked
  56435. * 0b1..locked
  56436. */
  56437. #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)
  56438. /*! @} */
  56439. /*! @name IEE_KEY_CTRL - CSR IEE Key Control */
  56440. /*! @{ */
  56441. #define KEY_MANAGER_IEE_KEY_CTRL_RELOAD_MASK (0x1U)
  56442. #define KEY_MANAGER_IEE_KEY_CTRL_RELOAD_SHIFT (0U)
  56443. /*! RELOAD - Restart load key signal for IEE
  56444. * 0b0..Do nothing
  56445. * 0b1..Restart IEE key load flow
  56446. */
  56447. #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)
  56448. /*! @} */
  56449. /*! @name PUF_KEY_CTRL - CSR PUF Key Control */
  56450. /*! @{ */
  56451. #define KEY_MANAGER_PUF_KEY_CTRL_LOCK_MASK (0x1U)
  56452. #define KEY_MANAGER_PUF_KEY_CTRL_LOCK_SHIFT (0U)
  56453. /*! LOCK - Lock signal for key select
  56454. * 0b0..Do not lock the key select
  56455. * 0b1..Lock the key select to select key from PUF, otherwise bypass key from OCOPT and do not lock. Once it has
  56456. * been set to 1, it cannot be reset manually. It will be set to 0 when the IEE key reload operation is done.
  56457. */
  56458. #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)
  56459. /*! @} */
  56460. /*! @name SLOT0_CTRL - Slot 0 Control */
  56461. /*! @{ */
  56462. #define KEY_MANAGER_SLOT0_CTRL_WHITE_LIST_MASK (0xFU)
  56463. #define KEY_MANAGER_SLOT0_CTRL_WHITE_LIST_SHIFT (0U)
  56464. /*! WHITE_LIST - Whitelist
  56465. */
  56466. #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)
  56467. #define KEY_MANAGER_SLOT0_CTRL_LOCK_LIST_MASK (0x8000U)
  56468. #define KEY_MANAGER_SLOT0_CTRL_LOCK_LIST_SHIFT (15U)
  56469. /*! LOCK_LIST - Lock whitelist
  56470. * 0b0..Whitelist is not locked
  56471. * 0b1..Whitelist is locked
  56472. */
  56473. #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)
  56474. #define KEY_MANAGER_SLOT0_CTRL_TZ_NS_MASK (0x10000U)
  56475. #define KEY_MANAGER_SLOT0_CTRL_TZ_NS_SHIFT (16U)
  56476. /*! TZ_NS - Allow non-secure write access to this register and the slot it controls
  56477. * 0b0..Do not allow non-secure write access
  56478. * 0b1..Allow non-secure write access
  56479. */
  56480. #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)
  56481. #define KEY_MANAGER_SLOT0_CTRL_TZ_USER_MASK (0x20000U)
  56482. #define KEY_MANAGER_SLOT0_CTRL_TZ_USER_SHIFT (17U)
  56483. /*! TZ_USER - Allow user write access to this register and the slot it controls
  56484. * 0b0..Do not allow user write access
  56485. * 0b1..Allow user write access
  56486. */
  56487. #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)
  56488. #define KEY_MANAGER_SLOT0_CTRL_LOCK_CONTROL_MASK (0x80000000U)
  56489. #define KEY_MANAGER_SLOT0_CTRL_LOCK_CONTROL_SHIFT (31U)
  56490. /*! LOCK_CONTROL - Lock control of this slot
  56491. * 0b0..Do not lock the control register of this slot
  56492. * 0b1..Lock the control register of this slot
  56493. */
  56494. #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)
  56495. /*! @} */
  56496. /*! @name SLOT1_CTRL - Slot1 Control */
  56497. /*! @{ */
  56498. #define KEY_MANAGER_SLOT1_CTRL_WHITE_LIST_MASK (0xFU)
  56499. #define KEY_MANAGER_SLOT1_CTRL_WHITE_LIST_SHIFT (0U)
  56500. /*! WHITE_LIST - Whitelist
  56501. */
  56502. #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)
  56503. #define KEY_MANAGER_SLOT1_CTRL_LOCK_LIST_MASK (0x8000U)
  56504. #define KEY_MANAGER_SLOT1_CTRL_LOCK_LIST_SHIFT (15U)
  56505. /*! LOCK_LIST - Lock whitelist
  56506. * 0b0..Whitelist is not locked
  56507. * 0b1..Whitelist is locked
  56508. */
  56509. #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)
  56510. #define KEY_MANAGER_SLOT1_CTRL_TZ_NS_MASK (0x10000U)
  56511. #define KEY_MANAGER_SLOT1_CTRL_TZ_NS_SHIFT (16U)
  56512. /*! TZ_NS - Allow non-secure write access to this register and the slot it controls
  56513. * 0b0..Do not allow non-secure write access
  56514. * 0b1..Allow non-secure write access
  56515. */
  56516. #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)
  56517. #define KEY_MANAGER_SLOT1_CTRL_TZ_USER_MASK (0x20000U)
  56518. #define KEY_MANAGER_SLOT1_CTRL_TZ_USER_SHIFT (17U)
  56519. /*! TZ_USER - Allow user write access to this register and the slot it controls
  56520. * 0b0..Do not allow user write access
  56521. * 0b1..Allow user write access
  56522. */
  56523. #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)
  56524. #define KEY_MANAGER_SLOT1_CTRL_LOCK_CONTROL_MASK (0x80000000U)
  56525. #define KEY_MANAGER_SLOT1_CTRL_LOCK_CONTROL_SHIFT (31U)
  56526. /*! LOCK_CONTROL - Lock control of this slot
  56527. * 0b0..Do not lock the control register of this slot
  56528. * 0b1..Lock the control register of this slot
  56529. */
  56530. #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)
  56531. /*! @} */
  56532. /*! @name SLOT2_CTRL - Slot2 Control */
  56533. /*! @{ */
  56534. #define KEY_MANAGER_SLOT2_CTRL_WHITE_LIST_MASK (0xFU)
  56535. #define KEY_MANAGER_SLOT2_CTRL_WHITE_LIST_SHIFT (0U)
  56536. /*! WHITE_LIST - Whitelist
  56537. */
  56538. #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)
  56539. #define KEY_MANAGER_SLOT2_CTRL_LOCK_LIST_MASK (0x8000U)
  56540. #define KEY_MANAGER_SLOT2_CTRL_LOCK_LIST_SHIFT (15U)
  56541. /*! LOCK_LIST - Lock whitelist
  56542. * 0b0..Whitelist is not locked
  56543. * 0b1..Whitelist is locked
  56544. */
  56545. #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)
  56546. #define KEY_MANAGER_SLOT2_CTRL_TZ_NS_MASK (0x10000U)
  56547. #define KEY_MANAGER_SLOT2_CTRL_TZ_NS_SHIFT (16U)
  56548. /*! TZ_NS - Allow non-secure write access to this register and the slot it controls
  56549. * 0b0..Do not allow non-secure write access
  56550. * 0b1..Allow non-secure write access
  56551. */
  56552. #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)
  56553. #define KEY_MANAGER_SLOT2_CTRL_TZ_USER_MASK (0x20000U)
  56554. #define KEY_MANAGER_SLOT2_CTRL_TZ_USER_SHIFT (17U)
  56555. /*! TZ_USER - Allow user write access to this register and the slot it controls
  56556. * 0b0..Do not allow user write access
  56557. * 0b1..Allow user write access
  56558. */
  56559. #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)
  56560. #define KEY_MANAGER_SLOT2_CTRL_LOCK_CONTROL_MASK (0x80000000U)
  56561. #define KEY_MANAGER_SLOT2_CTRL_LOCK_CONTROL_SHIFT (31U)
  56562. /*! LOCK_CONTROL - Lock control of this slot
  56563. * 0b0..Do not lock the control register of this slot
  56564. * 0b1..Lock the control register of this slot
  56565. */
  56566. #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)
  56567. /*! @} */
  56568. /*! @name SLOT3_CTRL - Slot3 Control */
  56569. /*! @{ */
  56570. #define KEY_MANAGER_SLOT3_CTRL_WHITE_LIST_MASK (0xFU)
  56571. #define KEY_MANAGER_SLOT3_CTRL_WHITE_LIST_SHIFT (0U)
  56572. /*! WHITE_LIST - Whitelist
  56573. */
  56574. #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)
  56575. #define KEY_MANAGER_SLOT3_CTRL_LOCK_LIST_MASK (0x8000U)
  56576. #define KEY_MANAGER_SLOT3_CTRL_LOCK_LIST_SHIFT (15U)
  56577. /*! LOCK_LIST - Lock whitelist
  56578. * 0b0..Whitelist is not locked
  56579. * 0b1..Whitelist is locked
  56580. */
  56581. #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)
  56582. #define KEY_MANAGER_SLOT3_CTRL_TZ_NS_MASK (0x10000U)
  56583. #define KEY_MANAGER_SLOT3_CTRL_TZ_NS_SHIFT (16U)
  56584. /*! TZ_NS - Allow non-secure write access to this register and the slot it controls
  56585. * 0b0..Do not allow non-secure write access
  56586. * 0b1..Allow non-secure write access
  56587. */
  56588. #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)
  56589. #define KEY_MANAGER_SLOT3_CTRL_TZ_USER_MASK (0x20000U)
  56590. #define KEY_MANAGER_SLOT3_CTRL_TZ_USER_SHIFT (17U)
  56591. /*! TZ_USER - Allow user write access to this register and the slot it controls
  56592. * 0b0..Do not allow user write access
  56593. * 0b1..Allow user write access
  56594. */
  56595. #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)
  56596. #define KEY_MANAGER_SLOT3_CTRL_LOCK_CONTROL_MASK (0x80000000U)
  56597. #define KEY_MANAGER_SLOT3_CTRL_LOCK_CONTROL_SHIFT (31U)
  56598. /*! LOCK_CONTROL - Lock control of this slot
  56599. * 0b0..Do not lock the control register of this slot
  56600. * 0b1..Lock the control register of this slot
  56601. */
  56602. #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)
  56603. /*! @} */
  56604. /*! @name SLOT4_CTRL - Slot 4 Control */
  56605. /*! @{ */
  56606. #define KEY_MANAGER_SLOT4_CTRL_WHITE_LIST_MASK (0xFU)
  56607. #define KEY_MANAGER_SLOT4_CTRL_WHITE_LIST_SHIFT (0U)
  56608. /*! WHITE_LIST - Whitelist
  56609. */
  56610. #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)
  56611. #define KEY_MANAGER_SLOT4_CTRL_LOCK_LIST_MASK (0x8000U)
  56612. #define KEY_MANAGER_SLOT4_CTRL_LOCK_LIST_SHIFT (15U)
  56613. /*! LOCK_LIST - Lock whitelist
  56614. * 0b0..Whitelist is not locked
  56615. * 0b1..Whitelist is locked
  56616. */
  56617. #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)
  56618. #define KEY_MANAGER_SLOT4_CTRL_TZ_NS_MASK (0x10000U)
  56619. #define KEY_MANAGER_SLOT4_CTRL_TZ_NS_SHIFT (16U)
  56620. /*! TZ_NS - Allow non-secure write access to this register and the slot it controls
  56621. * 0b0..Do not allow non-secure write access
  56622. * 0b1..Allow non-secure write access
  56623. */
  56624. #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)
  56625. #define KEY_MANAGER_SLOT4_CTRL_TZ_USER_MASK (0x20000U)
  56626. #define KEY_MANAGER_SLOT4_CTRL_TZ_USER_SHIFT (17U)
  56627. /*! TZ_USER - Allow user write access to this register and the slot it controls
  56628. * 0b0..Do not allow user write access
  56629. * 0b1..Allow user write access
  56630. */
  56631. #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)
  56632. #define KEY_MANAGER_SLOT4_CTRL_LOCK_CONTROL_MASK (0x80000000U)
  56633. #define KEY_MANAGER_SLOT4_CTRL_LOCK_CONTROL_SHIFT (31U)
  56634. /*! LOCK_CONTROL - Lock control of this slot
  56635. * 0b0..Do not lock the control register of this slot
  56636. * 0b1..Lock the control register of this slot
  56637. */
  56638. #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)
  56639. /*! @} */
  56640. /*!
  56641. * @}
  56642. */ /* end of group KEY_MANAGER_Register_Masks */
  56643. /* KEY_MANAGER - Peripheral instance base addresses */
  56644. /** Peripheral KEY_MANAGER base address */
  56645. #define KEY_MANAGER_BASE (0x40C80000u)
  56646. /** Peripheral KEY_MANAGER base pointer */
  56647. #define KEY_MANAGER ((KEY_MANAGER_Type *)KEY_MANAGER_BASE)
  56648. /** Array initializer of KEY_MANAGER peripheral base addresses */
  56649. #define KEY_MANAGER_BASE_ADDRS { KEY_MANAGER_BASE }
  56650. /** Array initializer of KEY_MANAGER peripheral base pointers */
  56651. #define KEY_MANAGER_BASE_PTRS { KEY_MANAGER }
  56652. /*!
  56653. * @}
  56654. */ /* end of group KEY_MANAGER_Peripheral_Access_Layer */
  56655. /* ----------------------------------------------------------------------------
  56656. -- KPP Peripheral Access Layer
  56657. ---------------------------------------------------------------------------- */
  56658. /*!
  56659. * @addtogroup KPP_Peripheral_Access_Layer KPP Peripheral Access Layer
  56660. * @{
  56661. */
  56662. /** KPP - Register Layout Typedef */
  56663. typedef struct {
  56664. __IO uint16_t KPCR; /**< Keypad Control Register, offset: 0x0 */
  56665. __IO uint16_t KPSR; /**< Keypad Status Register, offset: 0x2 */
  56666. __IO uint16_t KDDR; /**< Keypad Data Direction Register, offset: 0x4 */
  56667. __IO uint16_t KPDR; /**< Keypad Data Register, offset: 0x6 */
  56668. } KPP_Type;
  56669. /* ----------------------------------------------------------------------------
  56670. -- KPP Register Masks
  56671. ---------------------------------------------------------------------------- */
  56672. /*!
  56673. * @addtogroup KPP_Register_Masks KPP Register Masks
  56674. * @{
  56675. */
  56676. /*! @name KPCR - Keypad Control Register */
  56677. /*! @{ */
  56678. #define KPP_KPCR_KRE_MASK (0xFFU)
  56679. #define KPP_KPCR_KRE_SHIFT (0U)
  56680. /*! KRE - KRE
  56681. * 0b00000000..Row is not included in the keypad key press detect.
  56682. * 0b00000001..Row is included in the keypad key press detect.
  56683. */
  56684. #define KPP_KPCR_KRE(x) (((uint16_t)(((uint16_t)(x)) << KPP_KPCR_KRE_SHIFT)) & KPP_KPCR_KRE_MASK)
  56685. #define KPP_KPCR_KCO_MASK (0xFF00U)
  56686. #define KPP_KPCR_KCO_SHIFT (8U)
  56687. /*! KCO - KCO
  56688. * 0b00000000..Column strobe output is totem pole drive.
  56689. * 0b00000001..Column strobe output is open drain.
  56690. */
  56691. #define KPP_KPCR_KCO(x) (((uint16_t)(((uint16_t)(x)) << KPP_KPCR_KCO_SHIFT)) & KPP_KPCR_KCO_MASK)
  56692. /*! @} */
  56693. /*! @name KPSR - Keypad Status Register */
  56694. /*! @{ */
  56695. #define KPP_KPSR_KPKD_MASK (0x1U)
  56696. #define KPP_KPSR_KPKD_SHIFT (0U)
  56697. /*! KPKD - KPKD
  56698. * 0b0..No key presses detected
  56699. * 0b1..A key has been depressed
  56700. */
  56701. #define KPP_KPSR_KPKD(x) (((uint16_t)(((uint16_t)(x)) << KPP_KPSR_KPKD_SHIFT)) & KPP_KPSR_KPKD_MASK)
  56702. #define KPP_KPSR_KPKR_MASK (0x2U)
  56703. #define KPP_KPSR_KPKR_SHIFT (1U)
  56704. /*! KPKR - KPKR
  56705. * 0b0..No key release detected
  56706. * 0b1..All keys have been released
  56707. */
  56708. #define KPP_KPSR_KPKR(x) (((uint16_t)(((uint16_t)(x)) << KPP_KPSR_KPKR_SHIFT)) & KPP_KPSR_KPKR_MASK)
  56709. #define KPP_KPSR_KDSC_MASK (0x4U)
  56710. #define KPP_KPSR_KDSC_SHIFT (2U)
  56711. /*! KDSC - KDSC
  56712. * 0b0..No effect
  56713. * 0b1..Set bits that clear the keypad depress synchronizer chain
  56714. */
  56715. #define KPP_KPSR_KDSC(x) (((uint16_t)(((uint16_t)(x)) << KPP_KPSR_KDSC_SHIFT)) & KPP_KPSR_KDSC_MASK)
  56716. #define KPP_KPSR_KRSS_MASK (0x8U)
  56717. #define KPP_KPSR_KRSS_SHIFT (3U)
  56718. /*! KRSS - KRSS
  56719. * 0b0..No effect
  56720. * 0b1..Set bits which sets keypad release synchronizer chain
  56721. */
  56722. #define KPP_KPSR_KRSS(x) (((uint16_t)(((uint16_t)(x)) << KPP_KPSR_KRSS_SHIFT)) & KPP_KPSR_KRSS_MASK)
  56723. #define KPP_KPSR_KDIE_MASK (0x100U)
  56724. #define KPP_KPSR_KDIE_SHIFT (8U)
  56725. /*! KDIE - KDIE
  56726. * 0b0..No interrupt request is generated when KPKD is set.
  56727. * 0b1..An interrupt request is generated when KPKD is set.
  56728. */
  56729. #define KPP_KPSR_KDIE(x) (((uint16_t)(((uint16_t)(x)) << KPP_KPSR_KDIE_SHIFT)) & KPP_KPSR_KDIE_MASK)
  56730. #define KPP_KPSR_KRIE_MASK (0x200U)
  56731. #define KPP_KPSR_KRIE_SHIFT (9U)
  56732. /*! KRIE - KRIE
  56733. * 0b0..No interrupt request is generated when KPKR is set.
  56734. * 0b1..An interrupt request is generated when KPKR is set.
  56735. */
  56736. #define KPP_KPSR_KRIE(x) (((uint16_t)(((uint16_t)(x)) << KPP_KPSR_KRIE_SHIFT)) & KPP_KPSR_KRIE_MASK)
  56737. /*! @} */
  56738. /*! @name KDDR - Keypad Data Direction Register */
  56739. /*! @{ */
  56740. #define KPP_KDDR_KRDD_MASK (0xFFU)
  56741. #define KPP_KDDR_KRDD_SHIFT (0U)
  56742. /*! KRDD - KRDD
  56743. * 0b00000000..ROWn pin configured as an input.
  56744. * 0b00000001..ROWn pin configured as an output.
  56745. */
  56746. #define KPP_KDDR_KRDD(x) (((uint16_t)(((uint16_t)(x)) << KPP_KDDR_KRDD_SHIFT)) & KPP_KDDR_KRDD_MASK)
  56747. #define KPP_KDDR_KCDD_MASK (0xFF00U)
  56748. #define KPP_KDDR_KCDD_SHIFT (8U)
  56749. /*! KCDD - KCDD
  56750. * 0b00000000..COLn pin is configured as an input.
  56751. * 0b00000001..COLn pin is configured as an output.
  56752. */
  56753. #define KPP_KDDR_KCDD(x) (((uint16_t)(((uint16_t)(x)) << KPP_KDDR_KCDD_SHIFT)) & KPP_KDDR_KCDD_MASK)
  56754. /*! @} */
  56755. /*! @name KPDR - Keypad Data Register */
  56756. /*! @{ */
  56757. #define KPP_KPDR_KRD_MASK (0xFFU)
  56758. #define KPP_KPDR_KRD_SHIFT (0U)
  56759. /*! KRD - KRD
  56760. */
  56761. #define KPP_KPDR_KRD(x) (((uint16_t)(((uint16_t)(x)) << KPP_KPDR_KRD_SHIFT)) & KPP_KPDR_KRD_MASK)
  56762. #define KPP_KPDR_KCD_MASK (0xFF00U)
  56763. #define KPP_KPDR_KCD_SHIFT (8U)
  56764. /*! KCD - KCD
  56765. */
  56766. #define KPP_KPDR_KCD(x) (((uint16_t)(((uint16_t)(x)) << KPP_KPDR_KCD_SHIFT)) & KPP_KPDR_KCD_MASK)
  56767. /*! @} */
  56768. /*!
  56769. * @}
  56770. */ /* end of group KPP_Register_Masks */
  56771. /* KPP - Peripheral instance base addresses */
  56772. /** Peripheral KPP base address */
  56773. #define KPP_BASE (0x400E0000u)
  56774. /** Peripheral KPP base pointer */
  56775. #define KPP ((KPP_Type *)KPP_BASE)
  56776. /** Array initializer of KPP peripheral base addresses */
  56777. #define KPP_BASE_ADDRS { KPP_BASE }
  56778. /** Array initializer of KPP peripheral base pointers */
  56779. #define KPP_BASE_PTRS { KPP }
  56780. /** Interrupt vectors for the KPP peripheral type */
  56781. #define KPP_IRQS { KPP_IRQn }
  56782. /*!
  56783. * @}
  56784. */ /* end of group KPP_Peripheral_Access_Layer */
  56785. /* ----------------------------------------------------------------------------
  56786. -- LCDIF Peripheral Access Layer
  56787. ---------------------------------------------------------------------------- */
  56788. /*!
  56789. * @addtogroup LCDIF_Peripheral_Access_Layer LCDIF Peripheral Access Layer
  56790. * @{
  56791. */
  56792. /** LCDIF - Register Layout Typedef */
  56793. typedef struct {
  56794. __IO uint32_t CTRL; /**< LCDIF General Control Register, offset: 0x0 */
  56795. __IO uint32_t CTRL_SET; /**< LCDIF General Control Register, offset: 0x4 */
  56796. __IO uint32_t CTRL_CLR; /**< LCDIF General Control Register, offset: 0x8 */
  56797. __IO uint32_t CTRL_TOG; /**< LCDIF General Control Register, offset: 0xC */
  56798. __IO uint32_t CTRL1; /**< LCDIF General Control1 Register, offset: 0x10 */
  56799. __IO uint32_t CTRL1_SET; /**< LCDIF General Control1 Register, offset: 0x14 */
  56800. __IO uint32_t CTRL1_CLR; /**< LCDIF General Control1 Register, offset: 0x18 */
  56801. __IO uint32_t CTRL1_TOG; /**< LCDIF General Control1 Register, offset: 0x1C */
  56802. __IO uint32_t CTRL2; /**< LCDIF General Control2 Register, offset: 0x20 */
  56803. __IO uint32_t CTRL2_SET; /**< LCDIF General Control2 Register, offset: 0x24 */
  56804. __IO uint32_t CTRL2_CLR; /**< LCDIF General Control2 Register, offset: 0x28 */
  56805. __IO uint32_t CTRL2_TOG; /**< LCDIF General Control2 Register, offset: 0x2C */
  56806. __IO uint32_t TRANSFER_COUNT; /**< LCDIF Horizontal and Vertical Valid Data Count Register, offset: 0x30 */
  56807. uint8_t RESERVED_0[12];
  56808. __IO uint32_t CUR_BUF; /**< LCD Interface Current Buffer Address Register, offset: 0x40 */
  56809. uint8_t RESERVED_1[12];
  56810. __IO uint32_t NEXT_BUF; /**< LCD Interface Next Buffer Address Register, offset: 0x50 */
  56811. uint8_t RESERVED_2[28];
  56812. __IO uint32_t VDCTRL0; /**< LCDIF VSYNC Mode and Dotclk Mode Control Register0, offset: 0x70 */
  56813. __IO uint32_t VDCTRL0_SET; /**< LCDIF VSYNC Mode and Dotclk Mode Control Register0, offset: 0x74 */
  56814. __IO uint32_t VDCTRL0_CLR; /**< LCDIF VSYNC Mode and Dotclk Mode Control Register0, offset: 0x78 */
  56815. __IO uint32_t VDCTRL0_TOG; /**< LCDIF VSYNC Mode and Dotclk Mode Control Register0, offset: 0x7C */
  56816. __IO uint32_t VDCTRL1; /**< LCDIF VSYNC Mode and Dotclk Mode Control Register1, offset: 0x80 */
  56817. uint8_t RESERVED_3[12];
  56818. __IO uint32_t VDCTRL2; /**< LCDIF VSYNC Mode and Dotclk Mode Control Register2, offset: 0x90 */
  56819. uint8_t RESERVED_4[12];
  56820. __IO uint32_t VDCTRL3; /**< LCDIF VSYNC Mode and Dotclk Mode Control Register3, offset: 0xA0 */
  56821. uint8_t RESERVED_5[12];
  56822. __IO uint32_t VDCTRL4; /**< LCDIF VSYNC Mode and Dotclk Mode Control Register4, offset: 0xB0 */
  56823. uint8_t RESERVED_6[220];
  56824. __IO uint32_t BM_ERROR_STAT; /**< Bus Master Error Status Register, offset: 0x190 */
  56825. uint8_t RESERVED_7[12];
  56826. __IO uint32_t CRC_STAT; /**< CRC Status Register, offset: 0x1A0 */
  56827. uint8_t RESERVED_8[12];
  56828. __I uint32_t STAT; /**< LCD Interface Status Register, offset: 0x1B0 */
  56829. uint8_t RESERVED_9[76];
  56830. __IO uint32_t THRES; /**< LCDIF Threshold Register, offset: 0x200 */
  56831. uint8_t RESERVED_10[380];
  56832. __IO uint32_t PIGEONCTRL0; /**< LCDIF Pigeon Mode Control0 Register, offset: 0x380 */
  56833. __IO uint32_t PIGEONCTRL0_SET; /**< LCDIF Pigeon Mode Control0 Register, offset: 0x384 */
  56834. __IO uint32_t PIGEONCTRL0_CLR; /**< LCDIF Pigeon Mode Control0 Register, offset: 0x388 */
  56835. __IO uint32_t PIGEONCTRL0_TOG; /**< LCDIF Pigeon Mode Control0 Register, offset: 0x38C */
  56836. __IO uint32_t PIGEONCTRL1; /**< LCDIF Pigeon Mode Control1 Register, offset: 0x390 */
  56837. __IO uint32_t PIGEONCTRL1_SET; /**< LCDIF Pigeon Mode Control1 Register, offset: 0x394 */
  56838. __IO uint32_t PIGEONCTRL1_CLR; /**< LCDIF Pigeon Mode Control1 Register, offset: 0x398 */
  56839. __IO uint32_t PIGEONCTRL1_TOG; /**< LCDIF Pigeon Mode Control1 Register, offset: 0x39C */
  56840. __IO uint32_t PIGEONCTRL2; /**< LCDIF Pigeon Mode Control2 Register, offset: 0x3A0 */
  56841. __IO uint32_t PIGEONCTRL2_SET; /**< LCDIF Pigeon Mode Control2 Register, offset: 0x3A4 */
  56842. __IO uint32_t PIGEONCTRL2_CLR; /**< LCDIF Pigeon Mode Control2 Register, offset: 0x3A8 */
  56843. __IO uint32_t PIGEONCTRL2_TOG; /**< LCDIF Pigeon Mode Control2 Register, offset: 0x3AC */
  56844. uint8_t RESERVED_11[1104];
  56845. struct { /* offset: 0x800, array step: 0x40 */
  56846. __IO uint32_t PIGEON_0; /**< Panel Interface Signal Generator Register, array offset: 0x800, array step: 0x40 */
  56847. uint8_t RESERVED_0[12];
  56848. __IO uint32_t PIGEON_1; /**< Panel Interface Signal Generator Register, array offset: 0x810, array step: 0x40 */
  56849. uint8_t RESERVED_1[12];
  56850. __IO uint32_t PIGEON_2; /**< Panel Interface Signal Generator Register, array offset: 0x820, array step: 0x40 */
  56851. uint8_t RESERVED_2[28];
  56852. } PIGEON[12];
  56853. __IO uint32_t LUT_CTRL; /**< Look Up Table Control Register, offset: 0xB00 */
  56854. uint8_t RESERVED_12[12];
  56855. __IO uint32_t LUT0_ADDR; /**< Lookup Table 0 Index Register, offset: 0xB10 */
  56856. uint8_t RESERVED_13[12];
  56857. __IO uint32_t LUT0_DATA; /**< Lookup Table 0 Data Register, offset: 0xB20 */
  56858. uint8_t RESERVED_14[12];
  56859. __IO uint32_t LUT1_ADDR; /**< Lookup Table 1 Index Register, offset: 0xB30 */
  56860. uint8_t RESERVED_15[12];
  56861. __IO uint32_t LUT1_DATA; /**< Lookup Table 1 Data Register, offset: 0xB40 */
  56862. } LCDIF_Type;
  56863. /* ----------------------------------------------------------------------------
  56864. -- LCDIF Register Masks
  56865. ---------------------------------------------------------------------------- */
  56866. /*!
  56867. * @addtogroup LCDIF_Register_Masks LCDIF Register Masks
  56868. * @{
  56869. */
  56870. /*! @name CTRL - LCDIF General Control Register */
  56871. /*! @{ */
  56872. #define LCDIF_CTRL_RUN_MASK (0x1U)
  56873. #define LCDIF_CTRL_RUN_SHIFT (0U)
  56874. #define LCDIF_CTRL_RUN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_RUN_SHIFT)) & LCDIF_CTRL_RUN_MASK)
  56875. #define LCDIF_CTRL_DATA_FORMAT_24_BIT_MASK (0x2U)
  56876. #define LCDIF_CTRL_DATA_FORMAT_24_BIT_SHIFT (1U)
  56877. /*! DATA_FORMAT_24_BIT
  56878. * 0b0..Data input to the block is in 24 bpp format, such that all RGB 888 data is contained in 24 bits.
  56879. * 0b1..Data input to the block is actually RGB 18 bpp, but there is 1 color per byte, hence the upper 2 bits in
  56880. * each byte do not contain any useful data, and should be dropped.
  56881. */
  56882. #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)
  56883. #define LCDIF_CTRL_DATA_FORMAT_18_BIT_MASK (0x4U)
  56884. #define LCDIF_CTRL_DATA_FORMAT_18_BIT_SHIFT (2U)
  56885. /*! DATA_FORMAT_18_BIT
  56886. * 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.
  56887. * 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.
  56888. */
  56889. #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)
  56890. #define LCDIF_CTRL_DATA_FORMAT_16_BIT_MASK (0x8U)
  56891. #define LCDIF_CTRL_DATA_FORMAT_16_BIT_SHIFT (3U)
  56892. #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)
  56893. #define LCDIF_CTRL_RSRVD0_MASK (0x10U)
  56894. #define LCDIF_CTRL_RSRVD0_SHIFT (4U)
  56895. #define LCDIF_CTRL_RSRVD0(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_RSRVD0_SHIFT)) & LCDIF_CTRL_RSRVD0_MASK)
  56896. #define LCDIF_CTRL_MASTER_MASK (0x20U)
  56897. #define LCDIF_CTRL_MASTER_SHIFT (5U)
  56898. #define LCDIF_CTRL_MASTER(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_MASTER_SHIFT)) & LCDIF_CTRL_MASTER_MASK)
  56899. #define LCDIF_CTRL_ENABLE_PXP_HANDSHAKE_MASK (0x40U)
  56900. #define LCDIF_CTRL_ENABLE_PXP_HANDSHAKE_SHIFT (6U)
  56901. #define LCDIF_CTRL_ENABLE_PXP_HANDSHAKE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_ENABLE_PXP_HANDSHAKE_SHIFT)) & LCDIF_CTRL_ENABLE_PXP_HANDSHAKE_MASK)
  56902. #define LCDIF_CTRL_WORD_LENGTH_MASK (0x300U)
  56903. #define LCDIF_CTRL_WORD_LENGTH_SHIFT (8U)
  56904. /*! WORD_LENGTH
  56905. * 0b00..Input data is 16 bits per pixel.
  56906. * 0b01..Input data is 8 bits wide.
  56907. * 0b10..Input data is 18 bits per pixel.
  56908. * 0b11..Input data is 24 bits per pixel.
  56909. */
  56910. #define LCDIF_CTRL_WORD_LENGTH(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_WORD_LENGTH_SHIFT)) & LCDIF_CTRL_WORD_LENGTH_MASK)
  56911. #define LCDIF_CTRL_LCD_DATABUS_WIDTH_MASK (0xC00U)
  56912. #define LCDIF_CTRL_LCD_DATABUS_WIDTH_SHIFT (10U)
  56913. /*! LCD_DATABUS_WIDTH
  56914. * 0b00..16-bit data bus mode.
  56915. * 0b01..8-bit data bus mode.
  56916. * 0b10..18-bit data bus mode.
  56917. * 0b11..24-bit data bus mode.
  56918. */
  56919. #define LCDIF_CTRL_LCD_DATABUS_WIDTH(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_LCD_DATABUS_WIDTH_SHIFT)) & LCDIF_CTRL_LCD_DATABUS_WIDTH_MASK)
  56920. #define LCDIF_CTRL_CSC_DATA_SWIZZLE_MASK (0x3000U)
  56921. #define LCDIF_CTRL_CSC_DATA_SWIZZLE_SHIFT (12U)
  56922. /*! CSC_DATA_SWIZZLE
  56923. * 0b00..No byte swapping.(Little endian)
  56924. * 0b00..Little Endian byte ordering (same as NO_SWAP).
  56925. * 0b01..Big Endian swap (swap bytes 0,3 and 1,2).
  56926. * 0b01..Swizzle all bytes, swap bytes 0,3 and 1,2 (aka Big Endian).
  56927. * 0b10..Swap half-words.
  56928. * 0b11..Swap bytes within each half-word.
  56929. */
  56930. #define LCDIF_CTRL_CSC_DATA_SWIZZLE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_CSC_DATA_SWIZZLE_SHIFT)) & LCDIF_CTRL_CSC_DATA_SWIZZLE_MASK)
  56931. #define LCDIF_CTRL_INPUT_DATA_SWIZZLE_MASK (0xC000U)
  56932. #define LCDIF_CTRL_INPUT_DATA_SWIZZLE_SHIFT (14U)
  56933. /*! INPUT_DATA_SWIZZLE
  56934. * 0b00..No byte swapping.(Little endian)
  56935. * 0b00..Little Endian byte ordering (same as NO_SWAP).
  56936. * 0b01..Big Endian swap (swap bytes 0,3 and 1,2).
  56937. * 0b01..Swizzle all bytes, swap bytes 0,3 and 1,2 (aka Big Endian).
  56938. * 0b10..Swap half-words.
  56939. * 0b11..Swap bytes within each half-word.
  56940. */
  56941. #define LCDIF_CTRL_INPUT_DATA_SWIZZLE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_INPUT_DATA_SWIZZLE_SHIFT)) & LCDIF_CTRL_INPUT_DATA_SWIZZLE_MASK)
  56942. #define LCDIF_CTRL_DOTCLK_MODE_MASK (0x20000U)
  56943. #define LCDIF_CTRL_DOTCLK_MODE_SHIFT (17U)
  56944. #define LCDIF_CTRL_DOTCLK_MODE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_DOTCLK_MODE_SHIFT)) & LCDIF_CTRL_DOTCLK_MODE_MASK)
  56945. #define LCDIF_CTRL_BYPASS_COUNT_MASK (0x80000U)
  56946. #define LCDIF_CTRL_BYPASS_COUNT_SHIFT (19U)
  56947. #define LCDIF_CTRL_BYPASS_COUNT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_BYPASS_COUNT_SHIFT)) & LCDIF_CTRL_BYPASS_COUNT_MASK)
  56948. #define LCDIF_CTRL_SHIFT_NUM_BITS_MASK (0x3E00000U)
  56949. #define LCDIF_CTRL_SHIFT_NUM_BITS_SHIFT (21U)
  56950. #define LCDIF_CTRL_SHIFT_NUM_BITS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SHIFT_NUM_BITS_SHIFT)) & LCDIF_CTRL_SHIFT_NUM_BITS_MASK)
  56951. #define LCDIF_CTRL_DATA_SHIFT_DIR_MASK (0x4000000U)
  56952. #define LCDIF_CTRL_DATA_SHIFT_DIR_SHIFT (26U)
  56953. /*! DATA_SHIFT_DIR
  56954. * 0b0..Data to be transmitted is shifted LEFT by SHIFT_NUM_BITS bits.
  56955. * 0b1..Data to be transmitted is shifted RIGHT by SHIFT_NUM_BITS bits.
  56956. */
  56957. #define LCDIF_CTRL_DATA_SHIFT_DIR(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_DATA_SHIFT_DIR_SHIFT)) & LCDIF_CTRL_DATA_SHIFT_DIR_MASK)
  56958. #define LCDIF_CTRL_CLKGATE_MASK (0x40000000U)
  56959. #define LCDIF_CTRL_CLKGATE_SHIFT (30U)
  56960. #define LCDIF_CTRL_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_CLKGATE_SHIFT)) & LCDIF_CTRL_CLKGATE_MASK)
  56961. #define LCDIF_CTRL_SFTRST_MASK (0x80000000U)
  56962. #define LCDIF_CTRL_SFTRST_SHIFT (31U)
  56963. #define LCDIF_CTRL_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SFTRST_SHIFT)) & LCDIF_CTRL_SFTRST_MASK)
  56964. /*! @} */
  56965. /*! @name CTRL_SET - LCDIF General Control Register */
  56966. /*! @{ */
  56967. #define LCDIF_CTRL_SET_RUN_MASK (0x1U)
  56968. #define LCDIF_CTRL_SET_RUN_SHIFT (0U)
  56969. #define LCDIF_CTRL_SET_RUN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SET_RUN_SHIFT)) & LCDIF_CTRL_SET_RUN_MASK)
  56970. #define LCDIF_CTRL_SET_DATA_FORMAT_24_BIT_MASK (0x2U)
  56971. #define LCDIF_CTRL_SET_DATA_FORMAT_24_BIT_SHIFT (1U)
  56972. /*! DATA_FORMAT_24_BIT
  56973. * 0b0..Data input to the block is in 24 bpp format, such that all RGB 888 data is contained in 24 bits.
  56974. * 0b1..Data input to the block is actually RGB 18 bpp, but there is 1 color per byte, hence the upper 2 bits in
  56975. * each byte do not contain any useful data, and should be dropped.
  56976. */
  56977. #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)
  56978. #define LCDIF_CTRL_SET_DATA_FORMAT_18_BIT_MASK (0x4U)
  56979. #define LCDIF_CTRL_SET_DATA_FORMAT_18_BIT_SHIFT (2U)
  56980. /*! DATA_FORMAT_18_BIT
  56981. * 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.
  56982. * 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.
  56983. */
  56984. #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)
  56985. #define LCDIF_CTRL_SET_DATA_FORMAT_16_BIT_MASK (0x8U)
  56986. #define LCDIF_CTRL_SET_DATA_FORMAT_16_BIT_SHIFT (3U)
  56987. #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)
  56988. #define LCDIF_CTRL_SET_RSRVD0_MASK (0x10U)
  56989. #define LCDIF_CTRL_SET_RSRVD0_SHIFT (4U)
  56990. #define LCDIF_CTRL_SET_RSRVD0(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SET_RSRVD0_SHIFT)) & LCDIF_CTRL_SET_RSRVD0_MASK)
  56991. #define LCDIF_CTRL_SET_MASTER_MASK (0x20U)
  56992. #define LCDIF_CTRL_SET_MASTER_SHIFT (5U)
  56993. #define LCDIF_CTRL_SET_MASTER(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SET_MASTER_SHIFT)) & LCDIF_CTRL_SET_MASTER_MASK)
  56994. #define LCDIF_CTRL_SET_ENABLE_PXP_HANDSHAKE_MASK (0x40U)
  56995. #define LCDIF_CTRL_SET_ENABLE_PXP_HANDSHAKE_SHIFT (6U)
  56996. #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)
  56997. #define LCDIF_CTRL_SET_WORD_LENGTH_MASK (0x300U)
  56998. #define LCDIF_CTRL_SET_WORD_LENGTH_SHIFT (8U)
  56999. /*! WORD_LENGTH
  57000. * 0b00..Input data is 16 bits per pixel.
  57001. * 0b01..Input data is 8 bits wide.
  57002. * 0b10..Input data is 18 bits per pixel.
  57003. * 0b11..Input data is 24 bits per pixel.
  57004. */
  57005. #define LCDIF_CTRL_SET_WORD_LENGTH(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SET_WORD_LENGTH_SHIFT)) & LCDIF_CTRL_SET_WORD_LENGTH_MASK)
  57006. #define LCDIF_CTRL_SET_LCD_DATABUS_WIDTH_MASK (0xC00U)
  57007. #define LCDIF_CTRL_SET_LCD_DATABUS_WIDTH_SHIFT (10U)
  57008. /*! LCD_DATABUS_WIDTH
  57009. * 0b00..16-bit data bus mode.
  57010. * 0b01..8-bit data bus mode.
  57011. * 0b10..18-bit data bus mode.
  57012. * 0b11..24-bit data bus mode.
  57013. */
  57014. #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)
  57015. #define LCDIF_CTRL_SET_CSC_DATA_SWIZZLE_MASK (0x3000U)
  57016. #define LCDIF_CTRL_SET_CSC_DATA_SWIZZLE_SHIFT (12U)
  57017. /*! CSC_DATA_SWIZZLE
  57018. * 0b00..No byte swapping.(Little endian)
  57019. * 0b00..Little Endian byte ordering (same as NO_SWAP).
  57020. * 0b01..Big Endian swap (swap bytes 0,3 and 1,2).
  57021. * 0b01..Swizzle all bytes, swap bytes 0,3 and 1,2 (aka Big Endian).
  57022. * 0b10..Swap half-words.
  57023. * 0b11..Swap bytes within each half-word.
  57024. */
  57025. #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)
  57026. #define LCDIF_CTRL_SET_INPUT_DATA_SWIZZLE_MASK (0xC000U)
  57027. #define LCDIF_CTRL_SET_INPUT_DATA_SWIZZLE_SHIFT (14U)
  57028. /*! INPUT_DATA_SWIZZLE
  57029. * 0b00..No byte swapping.(Little endian)
  57030. * 0b00..Little Endian byte ordering (same as NO_SWAP).
  57031. * 0b01..Big Endian swap (swap bytes 0,3 and 1,2).
  57032. * 0b01..Swizzle all bytes, swap bytes 0,3 and 1,2 (aka Big Endian).
  57033. * 0b10..Swap half-words.
  57034. * 0b11..Swap bytes within each half-word.
  57035. */
  57036. #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)
  57037. #define LCDIF_CTRL_SET_DOTCLK_MODE_MASK (0x20000U)
  57038. #define LCDIF_CTRL_SET_DOTCLK_MODE_SHIFT (17U)
  57039. #define LCDIF_CTRL_SET_DOTCLK_MODE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SET_DOTCLK_MODE_SHIFT)) & LCDIF_CTRL_SET_DOTCLK_MODE_MASK)
  57040. #define LCDIF_CTRL_SET_BYPASS_COUNT_MASK (0x80000U)
  57041. #define LCDIF_CTRL_SET_BYPASS_COUNT_SHIFT (19U)
  57042. #define LCDIF_CTRL_SET_BYPASS_COUNT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SET_BYPASS_COUNT_SHIFT)) & LCDIF_CTRL_SET_BYPASS_COUNT_MASK)
  57043. #define LCDIF_CTRL_SET_SHIFT_NUM_BITS_MASK (0x3E00000U)
  57044. #define LCDIF_CTRL_SET_SHIFT_NUM_BITS_SHIFT (21U)
  57045. #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)
  57046. #define LCDIF_CTRL_SET_DATA_SHIFT_DIR_MASK (0x4000000U)
  57047. #define LCDIF_CTRL_SET_DATA_SHIFT_DIR_SHIFT (26U)
  57048. /*! DATA_SHIFT_DIR
  57049. * 0b0..Data to be transmitted is shifted LEFT by SHIFT_NUM_BITS bits.
  57050. * 0b1..Data to be transmitted is shifted RIGHT by SHIFT_NUM_BITS bits.
  57051. */
  57052. #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)
  57053. #define LCDIF_CTRL_SET_CLKGATE_MASK (0x40000000U)
  57054. #define LCDIF_CTRL_SET_CLKGATE_SHIFT (30U)
  57055. #define LCDIF_CTRL_SET_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SET_CLKGATE_SHIFT)) & LCDIF_CTRL_SET_CLKGATE_MASK)
  57056. #define LCDIF_CTRL_SET_SFTRST_MASK (0x80000000U)
  57057. #define LCDIF_CTRL_SET_SFTRST_SHIFT (31U)
  57058. #define LCDIF_CTRL_SET_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SET_SFTRST_SHIFT)) & LCDIF_CTRL_SET_SFTRST_MASK)
  57059. /*! @} */
  57060. /*! @name CTRL_CLR - LCDIF General Control Register */
  57061. /*! @{ */
  57062. #define LCDIF_CTRL_CLR_RUN_MASK (0x1U)
  57063. #define LCDIF_CTRL_CLR_RUN_SHIFT (0U)
  57064. #define LCDIF_CTRL_CLR_RUN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_CLR_RUN_SHIFT)) & LCDIF_CTRL_CLR_RUN_MASK)
  57065. #define LCDIF_CTRL_CLR_DATA_FORMAT_24_BIT_MASK (0x2U)
  57066. #define LCDIF_CTRL_CLR_DATA_FORMAT_24_BIT_SHIFT (1U)
  57067. /*! DATA_FORMAT_24_BIT
  57068. * 0b0..Data input to the block is in 24 bpp format, such that all RGB 888 data is contained in 24 bits.
  57069. * 0b1..Data input to the block is actually RGB 18 bpp, but there is 1 color per byte, hence the upper 2 bits in
  57070. * each byte do not contain any useful data, and should be dropped.
  57071. */
  57072. #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)
  57073. #define LCDIF_CTRL_CLR_DATA_FORMAT_18_BIT_MASK (0x4U)
  57074. #define LCDIF_CTRL_CLR_DATA_FORMAT_18_BIT_SHIFT (2U)
  57075. /*! DATA_FORMAT_18_BIT
  57076. * 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.
  57077. * 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.
  57078. */
  57079. #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)
  57080. #define LCDIF_CTRL_CLR_DATA_FORMAT_16_BIT_MASK (0x8U)
  57081. #define LCDIF_CTRL_CLR_DATA_FORMAT_16_BIT_SHIFT (3U)
  57082. #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)
  57083. #define LCDIF_CTRL_CLR_RSRVD0_MASK (0x10U)
  57084. #define LCDIF_CTRL_CLR_RSRVD0_SHIFT (4U)
  57085. #define LCDIF_CTRL_CLR_RSRVD0(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_CLR_RSRVD0_SHIFT)) & LCDIF_CTRL_CLR_RSRVD0_MASK)
  57086. #define LCDIF_CTRL_CLR_MASTER_MASK (0x20U)
  57087. #define LCDIF_CTRL_CLR_MASTER_SHIFT (5U)
  57088. #define LCDIF_CTRL_CLR_MASTER(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_CLR_MASTER_SHIFT)) & LCDIF_CTRL_CLR_MASTER_MASK)
  57089. #define LCDIF_CTRL_CLR_ENABLE_PXP_HANDSHAKE_MASK (0x40U)
  57090. #define LCDIF_CTRL_CLR_ENABLE_PXP_HANDSHAKE_SHIFT (6U)
  57091. #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)
  57092. #define LCDIF_CTRL_CLR_WORD_LENGTH_MASK (0x300U)
  57093. #define LCDIF_CTRL_CLR_WORD_LENGTH_SHIFT (8U)
  57094. /*! WORD_LENGTH
  57095. * 0b00..Input data is 16 bits per pixel.
  57096. * 0b01..Input data is 8 bits wide.
  57097. * 0b10..Input data is 18 bits per pixel.
  57098. * 0b11..Input data is 24 bits per pixel.
  57099. */
  57100. #define LCDIF_CTRL_CLR_WORD_LENGTH(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_CLR_WORD_LENGTH_SHIFT)) & LCDIF_CTRL_CLR_WORD_LENGTH_MASK)
  57101. #define LCDIF_CTRL_CLR_LCD_DATABUS_WIDTH_MASK (0xC00U)
  57102. #define LCDIF_CTRL_CLR_LCD_DATABUS_WIDTH_SHIFT (10U)
  57103. /*! LCD_DATABUS_WIDTH
  57104. * 0b00..16-bit data bus mode.
  57105. * 0b01..8-bit data bus mode.
  57106. * 0b10..18-bit data bus mode.
  57107. * 0b11..24-bit data bus mode.
  57108. */
  57109. #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)
  57110. #define LCDIF_CTRL_CLR_CSC_DATA_SWIZZLE_MASK (0x3000U)
  57111. #define LCDIF_CTRL_CLR_CSC_DATA_SWIZZLE_SHIFT (12U)
  57112. /*! CSC_DATA_SWIZZLE
  57113. * 0b00..No byte swapping.(Little endian)
  57114. * 0b00..Little Endian byte ordering (same as NO_SWAP).
  57115. * 0b01..Big Endian swap (swap bytes 0,3 and 1,2).
  57116. * 0b01..Swizzle all bytes, swap bytes 0,3 and 1,2 (aka Big Endian).
  57117. * 0b10..Swap half-words.
  57118. * 0b11..Swap bytes within each half-word.
  57119. */
  57120. #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)
  57121. #define LCDIF_CTRL_CLR_INPUT_DATA_SWIZZLE_MASK (0xC000U)
  57122. #define LCDIF_CTRL_CLR_INPUT_DATA_SWIZZLE_SHIFT (14U)
  57123. /*! INPUT_DATA_SWIZZLE
  57124. * 0b00..No byte swapping.(Little endian)
  57125. * 0b00..Little Endian byte ordering (same as NO_SWAP).
  57126. * 0b01..Big Endian swap (swap bytes 0,3 and 1,2).
  57127. * 0b01..Swizzle all bytes, swap bytes 0,3 and 1,2 (aka Big Endian).
  57128. * 0b10..Swap half-words.
  57129. * 0b11..Swap bytes within each half-word.
  57130. */
  57131. #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)
  57132. #define LCDIF_CTRL_CLR_DOTCLK_MODE_MASK (0x20000U)
  57133. #define LCDIF_CTRL_CLR_DOTCLK_MODE_SHIFT (17U)
  57134. #define LCDIF_CTRL_CLR_DOTCLK_MODE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_CLR_DOTCLK_MODE_SHIFT)) & LCDIF_CTRL_CLR_DOTCLK_MODE_MASK)
  57135. #define LCDIF_CTRL_CLR_BYPASS_COUNT_MASK (0x80000U)
  57136. #define LCDIF_CTRL_CLR_BYPASS_COUNT_SHIFT (19U)
  57137. #define LCDIF_CTRL_CLR_BYPASS_COUNT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_CLR_BYPASS_COUNT_SHIFT)) & LCDIF_CTRL_CLR_BYPASS_COUNT_MASK)
  57138. #define LCDIF_CTRL_CLR_SHIFT_NUM_BITS_MASK (0x3E00000U)
  57139. #define LCDIF_CTRL_CLR_SHIFT_NUM_BITS_SHIFT (21U)
  57140. #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)
  57141. #define LCDIF_CTRL_CLR_DATA_SHIFT_DIR_MASK (0x4000000U)
  57142. #define LCDIF_CTRL_CLR_DATA_SHIFT_DIR_SHIFT (26U)
  57143. /*! DATA_SHIFT_DIR
  57144. * 0b0..Data to be transmitted is shifted LEFT by SHIFT_NUM_BITS bits.
  57145. * 0b1..Data to be transmitted is shifted RIGHT by SHIFT_NUM_BITS bits.
  57146. */
  57147. #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)
  57148. #define LCDIF_CTRL_CLR_CLKGATE_MASK (0x40000000U)
  57149. #define LCDIF_CTRL_CLR_CLKGATE_SHIFT (30U)
  57150. #define LCDIF_CTRL_CLR_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_CLR_CLKGATE_SHIFT)) & LCDIF_CTRL_CLR_CLKGATE_MASK)
  57151. #define LCDIF_CTRL_CLR_SFTRST_MASK (0x80000000U)
  57152. #define LCDIF_CTRL_CLR_SFTRST_SHIFT (31U)
  57153. #define LCDIF_CTRL_CLR_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_CLR_SFTRST_SHIFT)) & LCDIF_CTRL_CLR_SFTRST_MASK)
  57154. /*! @} */
  57155. /*! @name CTRL_TOG - LCDIF General Control Register */
  57156. /*! @{ */
  57157. #define LCDIF_CTRL_TOG_RUN_MASK (0x1U)
  57158. #define LCDIF_CTRL_TOG_RUN_SHIFT (0U)
  57159. #define LCDIF_CTRL_TOG_RUN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_TOG_RUN_SHIFT)) & LCDIF_CTRL_TOG_RUN_MASK)
  57160. #define LCDIF_CTRL_TOG_DATA_FORMAT_24_BIT_MASK (0x2U)
  57161. #define LCDIF_CTRL_TOG_DATA_FORMAT_24_BIT_SHIFT (1U)
  57162. /*! DATA_FORMAT_24_BIT
  57163. * 0b0..Data input to the block is in 24 bpp format, such that all RGB 888 data is contained in 24 bits.
  57164. * 0b1..Data input to the block is actually RGB 18 bpp, but there is 1 color per byte, hence the upper 2 bits in
  57165. * each byte do not contain any useful data, and should be dropped.
  57166. */
  57167. #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)
  57168. #define LCDIF_CTRL_TOG_DATA_FORMAT_18_BIT_MASK (0x4U)
  57169. #define LCDIF_CTRL_TOG_DATA_FORMAT_18_BIT_SHIFT (2U)
  57170. /*! DATA_FORMAT_18_BIT
  57171. * 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.
  57172. * 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.
  57173. */
  57174. #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)
  57175. #define LCDIF_CTRL_TOG_DATA_FORMAT_16_BIT_MASK (0x8U)
  57176. #define LCDIF_CTRL_TOG_DATA_FORMAT_16_BIT_SHIFT (3U)
  57177. #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)
  57178. #define LCDIF_CTRL_TOG_RSRVD0_MASK (0x10U)
  57179. #define LCDIF_CTRL_TOG_RSRVD0_SHIFT (4U)
  57180. #define LCDIF_CTRL_TOG_RSRVD0(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_TOG_RSRVD0_SHIFT)) & LCDIF_CTRL_TOG_RSRVD0_MASK)
  57181. #define LCDIF_CTRL_TOG_MASTER_MASK (0x20U)
  57182. #define LCDIF_CTRL_TOG_MASTER_SHIFT (5U)
  57183. #define LCDIF_CTRL_TOG_MASTER(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_TOG_MASTER_SHIFT)) & LCDIF_CTRL_TOG_MASTER_MASK)
  57184. #define LCDIF_CTRL_TOG_ENABLE_PXP_HANDSHAKE_MASK (0x40U)
  57185. #define LCDIF_CTRL_TOG_ENABLE_PXP_HANDSHAKE_SHIFT (6U)
  57186. #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)
  57187. #define LCDIF_CTRL_TOG_WORD_LENGTH_MASK (0x300U)
  57188. #define LCDIF_CTRL_TOG_WORD_LENGTH_SHIFT (8U)
  57189. /*! WORD_LENGTH
  57190. * 0b00..Input data is 16 bits per pixel.
  57191. * 0b01..Input data is 8 bits wide.
  57192. * 0b10..Input data is 18 bits per pixel.
  57193. * 0b11..Input data is 24 bits per pixel.
  57194. */
  57195. #define LCDIF_CTRL_TOG_WORD_LENGTH(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_TOG_WORD_LENGTH_SHIFT)) & LCDIF_CTRL_TOG_WORD_LENGTH_MASK)
  57196. #define LCDIF_CTRL_TOG_LCD_DATABUS_WIDTH_MASK (0xC00U)
  57197. #define LCDIF_CTRL_TOG_LCD_DATABUS_WIDTH_SHIFT (10U)
  57198. /*! LCD_DATABUS_WIDTH
  57199. * 0b00..16-bit data bus mode.
  57200. * 0b01..8-bit data bus mode.
  57201. * 0b10..18-bit data bus mode.
  57202. * 0b11..24-bit data bus mode.
  57203. */
  57204. #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)
  57205. #define LCDIF_CTRL_TOG_CSC_DATA_SWIZZLE_MASK (0x3000U)
  57206. #define LCDIF_CTRL_TOG_CSC_DATA_SWIZZLE_SHIFT (12U)
  57207. /*! CSC_DATA_SWIZZLE
  57208. * 0b00..No byte swapping.(Little endian)
  57209. * 0b00..Little Endian byte ordering (same as NO_SWAP).
  57210. * 0b01..Big Endian swap (swap bytes 0,3 and 1,2).
  57211. * 0b01..Swizzle all bytes, swap bytes 0,3 and 1,2 (aka Big Endian).
  57212. * 0b10..Swap half-words.
  57213. * 0b11..Swap bytes within each half-word.
  57214. */
  57215. #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)
  57216. #define LCDIF_CTRL_TOG_INPUT_DATA_SWIZZLE_MASK (0xC000U)
  57217. #define LCDIF_CTRL_TOG_INPUT_DATA_SWIZZLE_SHIFT (14U)
  57218. /*! INPUT_DATA_SWIZZLE
  57219. * 0b00..No byte swapping.(Little endian)
  57220. * 0b00..Little Endian byte ordering (same as NO_SWAP).
  57221. * 0b01..Big Endian swap (swap bytes 0,3 and 1,2).
  57222. * 0b01..Swizzle all bytes, swap bytes 0,3 and 1,2 (aka Big Endian).
  57223. * 0b10..Swap half-words.
  57224. * 0b11..Swap bytes within each half-word.
  57225. */
  57226. #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)
  57227. #define LCDIF_CTRL_TOG_DOTCLK_MODE_MASK (0x20000U)
  57228. #define LCDIF_CTRL_TOG_DOTCLK_MODE_SHIFT (17U)
  57229. #define LCDIF_CTRL_TOG_DOTCLK_MODE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_TOG_DOTCLK_MODE_SHIFT)) & LCDIF_CTRL_TOG_DOTCLK_MODE_MASK)
  57230. #define LCDIF_CTRL_TOG_BYPASS_COUNT_MASK (0x80000U)
  57231. #define LCDIF_CTRL_TOG_BYPASS_COUNT_SHIFT (19U)
  57232. #define LCDIF_CTRL_TOG_BYPASS_COUNT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_TOG_BYPASS_COUNT_SHIFT)) & LCDIF_CTRL_TOG_BYPASS_COUNT_MASK)
  57233. #define LCDIF_CTRL_TOG_SHIFT_NUM_BITS_MASK (0x3E00000U)
  57234. #define LCDIF_CTRL_TOG_SHIFT_NUM_BITS_SHIFT (21U)
  57235. #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)
  57236. #define LCDIF_CTRL_TOG_DATA_SHIFT_DIR_MASK (0x4000000U)
  57237. #define LCDIF_CTRL_TOG_DATA_SHIFT_DIR_SHIFT (26U)
  57238. /*! DATA_SHIFT_DIR
  57239. * 0b0..Data to be transmitted is shifted LEFT by SHIFT_NUM_BITS bits.
  57240. * 0b1..Data to be transmitted is shifted RIGHT by SHIFT_NUM_BITS bits.
  57241. */
  57242. #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)
  57243. #define LCDIF_CTRL_TOG_CLKGATE_MASK (0x40000000U)
  57244. #define LCDIF_CTRL_TOG_CLKGATE_SHIFT (30U)
  57245. #define LCDIF_CTRL_TOG_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_TOG_CLKGATE_SHIFT)) & LCDIF_CTRL_TOG_CLKGATE_MASK)
  57246. #define LCDIF_CTRL_TOG_SFTRST_MASK (0x80000000U)
  57247. #define LCDIF_CTRL_TOG_SFTRST_SHIFT (31U)
  57248. #define LCDIF_CTRL_TOG_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_TOG_SFTRST_SHIFT)) & LCDIF_CTRL_TOG_SFTRST_MASK)
  57249. /*! @} */
  57250. /*! @name CTRL1 - LCDIF General Control1 Register */
  57251. /*! @{ */
  57252. #define LCDIF_CTRL1_RSRVD0_MASK (0xF8U)
  57253. #define LCDIF_CTRL1_RSRVD0_SHIFT (3U)
  57254. #define LCDIF_CTRL1_RSRVD0(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_RSRVD0_SHIFT)) & LCDIF_CTRL1_RSRVD0_MASK)
  57255. #define LCDIF_CTRL1_VSYNC_EDGE_IRQ_MASK (0x100U)
  57256. #define LCDIF_CTRL1_VSYNC_EDGE_IRQ_SHIFT (8U)
  57257. /*! VSYNC_EDGE_IRQ
  57258. * 0b0..No Interrupt Request Pending.
  57259. * 0b1..Interrupt Request Pending.
  57260. */
  57261. #define LCDIF_CTRL1_VSYNC_EDGE_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_VSYNC_EDGE_IRQ_SHIFT)) & LCDIF_CTRL1_VSYNC_EDGE_IRQ_MASK)
  57262. #define LCDIF_CTRL1_CUR_FRAME_DONE_IRQ_MASK (0x200U)
  57263. #define LCDIF_CTRL1_CUR_FRAME_DONE_IRQ_SHIFT (9U)
  57264. /*! CUR_FRAME_DONE_IRQ
  57265. * 0b0..No Interrupt Request Pending.
  57266. * 0b1..Interrupt Request Pending.
  57267. */
  57268. #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)
  57269. #define LCDIF_CTRL1_UNDERFLOW_IRQ_MASK (0x400U)
  57270. #define LCDIF_CTRL1_UNDERFLOW_IRQ_SHIFT (10U)
  57271. /*! UNDERFLOW_IRQ
  57272. * 0b0..No Interrupt Request Pending.
  57273. * 0b1..Interrupt Request Pending.
  57274. */
  57275. #define LCDIF_CTRL1_UNDERFLOW_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_UNDERFLOW_IRQ_SHIFT)) & LCDIF_CTRL1_UNDERFLOW_IRQ_MASK)
  57276. #define LCDIF_CTRL1_OVERFLOW_IRQ_MASK (0x800U)
  57277. #define LCDIF_CTRL1_OVERFLOW_IRQ_SHIFT (11U)
  57278. /*! OVERFLOW_IRQ
  57279. * 0b0..No Interrupt Request Pending.
  57280. * 0b1..Interrupt Request Pending.
  57281. */
  57282. #define LCDIF_CTRL1_OVERFLOW_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_OVERFLOW_IRQ_SHIFT)) & LCDIF_CTRL1_OVERFLOW_IRQ_MASK)
  57283. #define LCDIF_CTRL1_VSYNC_EDGE_IRQ_EN_MASK (0x1000U)
  57284. #define LCDIF_CTRL1_VSYNC_EDGE_IRQ_EN_SHIFT (12U)
  57285. #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)
  57286. #define LCDIF_CTRL1_CUR_FRAME_DONE_IRQ_EN_MASK (0x2000U)
  57287. #define LCDIF_CTRL1_CUR_FRAME_DONE_IRQ_EN_SHIFT (13U)
  57288. #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)
  57289. #define LCDIF_CTRL1_UNDERFLOW_IRQ_EN_MASK (0x4000U)
  57290. #define LCDIF_CTRL1_UNDERFLOW_IRQ_EN_SHIFT (14U)
  57291. #define LCDIF_CTRL1_UNDERFLOW_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_UNDERFLOW_IRQ_EN_SHIFT)) & LCDIF_CTRL1_UNDERFLOW_IRQ_EN_MASK)
  57292. #define LCDIF_CTRL1_OVERFLOW_IRQ_EN_MASK (0x8000U)
  57293. #define LCDIF_CTRL1_OVERFLOW_IRQ_EN_SHIFT (15U)
  57294. #define LCDIF_CTRL1_OVERFLOW_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_OVERFLOW_IRQ_EN_SHIFT)) & LCDIF_CTRL1_OVERFLOW_IRQ_EN_MASK)
  57295. #define LCDIF_CTRL1_BYTE_PACKING_FORMAT_MASK (0xF0000U)
  57296. #define LCDIF_CTRL1_BYTE_PACKING_FORMAT_SHIFT (16U)
  57297. #define LCDIF_CTRL1_BYTE_PACKING_FORMAT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_BYTE_PACKING_FORMAT_SHIFT)) & LCDIF_CTRL1_BYTE_PACKING_FORMAT_MASK)
  57298. #define LCDIF_CTRL1_IRQ_ON_ALTERNATE_FIELDS_MASK (0x100000U)
  57299. #define LCDIF_CTRL1_IRQ_ON_ALTERNATE_FIELDS_SHIFT (20U)
  57300. #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)
  57301. #define LCDIF_CTRL1_FIFO_CLEAR_MASK (0x200000U)
  57302. #define LCDIF_CTRL1_FIFO_CLEAR_SHIFT (21U)
  57303. #define LCDIF_CTRL1_FIFO_CLEAR(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_FIFO_CLEAR_SHIFT)) & LCDIF_CTRL1_FIFO_CLEAR_MASK)
  57304. #define LCDIF_CTRL1_START_INTERLACE_FROM_SECOND_FIELD_MASK (0x400000U)
  57305. #define LCDIF_CTRL1_START_INTERLACE_FROM_SECOND_FIELD_SHIFT (22U)
  57306. #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)
  57307. #define LCDIF_CTRL1_INTERLACE_FIELDS_MASK (0x800000U)
  57308. #define LCDIF_CTRL1_INTERLACE_FIELDS_SHIFT (23U)
  57309. #define LCDIF_CTRL1_INTERLACE_FIELDS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_INTERLACE_FIELDS_SHIFT)) & LCDIF_CTRL1_INTERLACE_FIELDS_MASK)
  57310. #define LCDIF_CTRL1_RECOVER_ON_UNDERFLOW_MASK (0x1000000U)
  57311. #define LCDIF_CTRL1_RECOVER_ON_UNDERFLOW_SHIFT (24U)
  57312. #define LCDIF_CTRL1_RECOVER_ON_UNDERFLOW(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_RECOVER_ON_UNDERFLOW_SHIFT)) & LCDIF_CTRL1_RECOVER_ON_UNDERFLOW_MASK)
  57313. #define LCDIF_CTRL1_BM_ERROR_IRQ_MASK (0x2000000U)
  57314. #define LCDIF_CTRL1_BM_ERROR_IRQ_SHIFT (25U)
  57315. /*! BM_ERROR_IRQ
  57316. * 0b0..No Interrupt Request Pending.
  57317. * 0b1..Interrupt Request Pending.
  57318. */
  57319. #define LCDIF_CTRL1_BM_ERROR_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_BM_ERROR_IRQ_SHIFT)) & LCDIF_CTRL1_BM_ERROR_IRQ_MASK)
  57320. #define LCDIF_CTRL1_BM_ERROR_IRQ_EN_MASK (0x4000000U)
  57321. #define LCDIF_CTRL1_BM_ERROR_IRQ_EN_SHIFT (26U)
  57322. #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)
  57323. #define LCDIF_CTRL1_CS_OUT_SELECT_MASK (0x40000000U)
  57324. #define LCDIF_CTRL1_CS_OUT_SELECT_SHIFT (30U)
  57325. #define LCDIF_CTRL1_CS_OUT_SELECT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CS_OUT_SELECT_SHIFT)) & LCDIF_CTRL1_CS_OUT_SELECT_MASK)
  57326. #define LCDIF_CTRL1_IMAGE_DATA_SELECT_MASK (0x80000000U)
  57327. #define LCDIF_CTRL1_IMAGE_DATA_SELECT_SHIFT (31U)
  57328. #define LCDIF_CTRL1_IMAGE_DATA_SELECT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_IMAGE_DATA_SELECT_SHIFT)) & LCDIF_CTRL1_IMAGE_DATA_SELECT_MASK)
  57329. /*! @} */
  57330. /*! @name CTRL1_SET - LCDIF General Control1 Register */
  57331. /*! @{ */
  57332. #define LCDIF_CTRL1_SET_RSRVD0_MASK (0xF8U)
  57333. #define LCDIF_CTRL1_SET_RSRVD0_SHIFT (3U)
  57334. #define LCDIF_CTRL1_SET_RSRVD0(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_SET_RSRVD0_SHIFT)) & LCDIF_CTRL1_SET_RSRVD0_MASK)
  57335. #define LCDIF_CTRL1_SET_VSYNC_EDGE_IRQ_MASK (0x100U)
  57336. #define LCDIF_CTRL1_SET_VSYNC_EDGE_IRQ_SHIFT (8U)
  57337. /*! VSYNC_EDGE_IRQ
  57338. * 0b0..No Interrupt Request Pending.
  57339. * 0b1..Interrupt Request Pending.
  57340. */
  57341. #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)
  57342. #define LCDIF_CTRL1_SET_CUR_FRAME_DONE_IRQ_MASK (0x200U)
  57343. #define LCDIF_CTRL1_SET_CUR_FRAME_DONE_IRQ_SHIFT (9U)
  57344. /*! CUR_FRAME_DONE_IRQ
  57345. * 0b0..No Interrupt Request Pending.
  57346. * 0b1..Interrupt Request Pending.
  57347. */
  57348. #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)
  57349. #define LCDIF_CTRL1_SET_UNDERFLOW_IRQ_MASK (0x400U)
  57350. #define LCDIF_CTRL1_SET_UNDERFLOW_IRQ_SHIFT (10U)
  57351. /*! UNDERFLOW_IRQ
  57352. * 0b0..No Interrupt Request Pending.
  57353. * 0b1..Interrupt Request Pending.
  57354. */
  57355. #define LCDIF_CTRL1_SET_UNDERFLOW_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_SET_UNDERFLOW_IRQ_SHIFT)) & LCDIF_CTRL1_SET_UNDERFLOW_IRQ_MASK)
  57356. #define LCDIF_CTRL1_SET_OVERFLOW_IRQ_MASK (0x800U)
  57357. #define LCDIF_CTRL1_SET_OVERFLOW_IRQ_SHIFT (11U)
  57358. /*! OVERFLOW_IRQ
  57359. * 0b0..No Interrupt Request Pending.
  57360. * 0b1..Interrupt Request Pending.
  57361. */
  57362. #define LCDIF_CTRL1_SET_OVERFLOW_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_SET_OVERFLOW_IRQ_SHIFT)) & LCDIF_CTRL1_SET_OVERFLOW_IRQ_MASK)
  57363. #define LCDIF_CTRL1_SET_VSYNC_EDGE_IRQ_EN_MASK (0x1000U)
  57364. #define LCDIF_CTRL1_SET_VSYNC_EDGE_IRQ_EN_SHIFT (12U)
  57365. #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)
  57366. #define LCDIF_CTRL1_SET_CUR_FRAME_DONE_IRQ_EN_MASK (0x2000U)
  57367. #define LCDIF_CTRL1_SET_CUR_FRAME_DONE_IRQ_EN_SHIFT (13U)
  57368. #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)
  57369. #define LCDIF_CTRL1_SET_UNDERFLOW_IRQ_EN_MASK (0x4000U)
  57370. #define LCDIF_CTRL1_SET_UNDERFLOW_IRQ_EN_SHIFT (14U)
  57371. #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)
  57372. #define LCDIF_CTRL1_SET_OVERFLOW_IRQ_EN_MASK (0x8000U)
  57373. #define LCDIF_CTRL1_SET_OVERFLOW_IRQ_EN_SHIFT (15U)
  57374. #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)
  57375. #define LCDIF_CTRL1_SET_BYTE_PACKING_FORMAT_MASK (0xF0000U)
  57376. #define LCDIF_CTRL1_SET_BYTE_PACKING_FORMAT_SHIFT (16U)
  57377. #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)
  57378. #define LCDIF_CTRL1_SET_IRQ_ON_ALTERNATE_FIELDS_MASK (0x100000U)
  57379. #define LCDIF_CTRL1_SET_IRQ_ON_ALTERNATE_FIELDS_SHIFT (20U)
  57380. #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)
  57381. #define LCDIF_CTRL1_SET_FIFO_CLEAR_MASK (0x200000U)
  57382. #define LCDIF_CTRL1_SET_FIFO_CLEAR_SHIFT (21U)
  57383. #define LCDIF_CTRL1_SET_FIFO_CLEAR(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_SET_FIFO_CLEAR_SHIFT)) & LCDIF_CTRL1_SET_FIFO_CLEAR_MASK)
  57384. #define LCDIF_CTRL1_SET_START_INTERLACE_FROM_SECOND_FIELD_MASK (0x400000U)
  57385. #define LCDIF_CTRL1_SET_START_INTERLACE_FROM_SECOND_FIELD_SHIFT (22U)
  57386. #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)
  57387. #define LCDIF_CTRL1_SET_INTERLACE_FIELDS_MASK (0x800000U)
  57388. #define LCDIF_CTRL1_SET_INTERLACE_FIELDS_SHIFT (23U)
  57389. #define LCDIF_CTRL1_SET_INTERLACE_FIELDS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_SET_INTERLACE_FIELDS_SHIFT)) & LCDIF_CTRL1_SET_INTERLACE_FIELDS_MASK)
  57390. #define LCDIF_CTRL1_SET_RECOVER_ON_UNDERFLOW_MASK (0x1000000U)
  57391. #define LCDIF_CTRL1_SET_RECOVER_ON_UNDERFLOW_SHIFT (24U)
  57392. #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)
  57393. #define LCDIF_CTRL1_SET_BM_ERROR_IRQ_MASK (0x2000000U)
  57394. #define LCDIF_CTRL1_SET_BM_ERROR_IRQ_SHIFT (25U)
  57395. /*! BM_ERROR_IRQ
  57396. * 0b0..No Interrupt Request Pending.
  57397. * 0b1..Interrupt Request Pending.
  57398. */
  57399. #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)
  57400. #define LCDIF_CTRL1_SET_BM_ERROR_IRQ_EN_MASK (0x4000000U)
  57401. #define LCDIF_CTRL1_SET_BM_ERROR_IRQ_EN_SHIFT (26U)
  57402. #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)
  57403. #define LCDIF_CTRL1_SET_CS_OUT_SELECT_MASK (0x40000000U)
  57404. #define LCDIF_CTRL1_SET_CS_OUT_SELECT_SHIFT (30U)
  57405. #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)
  57406. #define LCDIF_CTRL1_SET_IMAGE_DATA_SELECT_MASK (0x80000000U)
  57407. #define LCDIF_CTRL1_SET_IMAGE_DATA_SELECT_SHIFT (31U)
  57408. #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)
  57409. /*! @} */
  57410. /*! @name CTRL1_CLR - LCDIF General Control1 Register */
  57411. /*! @{ */
  57412. #define LCDIF_CTRL1_CLR_RSRVD0_MASK (0xF8U)
  57413. #define LCDIF_CTRL1_CLR_RSRVD0_SHIFT (3U)
  57414. #define LCDIF_CTRL1_CLR_RSRVD0(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CLR_RSRVD0_SHIFT)) & LCDIF_CTRL1_CLR_RSRVD0_MASK)
  57415. #define LCDIF_CTRL1_CLR_VSYNC_EDGE_IRQ_MASK (0x100U)
  57416. #define LCDIF_CTRL1_CLR_VSYNC_EDGE_IRQ_SHIFT (8U)
  57417. /*! VSYNC_EDGE_IRQ
  57418. * 0b0..No Interrupt Request Pending.
  57419. * 0b1..Interrupt Request Pending.
  57420. */
  57421. #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)
  57422. #define LCDIF_CTRL1_CLR_CUR_FRAME_DONE_IRQ_MASK (0x200U)
  57423. #define LCDIF_CTRL1_CLR_CUR_FRAME_DONE_IRQ_SHIFT (9U)
  57424. /*! CUR_FRAME_DONE_IRQ
  57425. * 0b0..No Interrupt Request Pending.
  57426. * 0b1..Interrupt Request Pending.
  57427. */
  57428. #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)
  57429. #define LCDIF_CTRL1_CLR_UNDERFLOW_IRQ_MASK (0x400U)
  57430. #define LCDIF_CTRL1_CLR_UNDERFLOW_IRQ_SHIFT (10U)
  57431. /*! UNDERFLOW_IRQ
  57432. * 0b0..No Interrupt Request Pending.
  57433. * 0b1..Interrupt Request Pending.
  57434. */
  57435. #define LCDIF_CTRL1_CLR_UNDERFLOW_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CLR_UNDERFLOW_IRQ_SHIFT)) & LCDIF_CTRL1_CLR_UNDERFLOW_IRQ_MASK)
  57436. #define LCDIF_CTRL1_CLR_OVERFLOW_IRQ_MASK (0x800U)
  57437. #define LCDIF_CTRL1_CLR_OVERFLOW_IRQ_SHIFT (11U)
  57438. /*! OVERFLOW_IRQ
  57439. * 0b0..No Interrupt Request Pending.
  57440. * 0b1..Interrupt Request Pending.
  57441. */
  57442. #define LCDIF_CTRL1_CLR_OVERFLOW_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CLR_OVERFLOW_IRQ_SHIFT)) & LCDIF_CTRL1_CLR_OVERFLOW_IRQ_MASK)
  57443. #define LCDIF_CTRL1_CLR_VSYNC_EDGE_IRQ_EN_MASK (0x1000U)
  57444. #define LCDIF_CTRL1_CLR_VSYNC_EDGE_IRQ_EN_SHIFT (12U)
  57445. #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)
  57446. #define LCDIF_CTRL1_CLR_CUR_FRAME_DONE_IRQ_EN_MASK (0x2000U)
  57447. #define LCDIF_CTRL1_CLR_CUR_FRAME_DONE_IRQ_EN_SHIFT (13U)
  57448. #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)
  57449. #define LCDIF_CTRL1_CLR_UNDERFLOW_IRQ_EN_MASK (0x4000U)
  57450. #define LCDIF_CTRL1_CLR_UNDERFLOW_IRQ_EN_SHIFT (14U)
  57451. #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)
  57452. #define LCDIF_CTRL1_CLR_OVERFLOW_IRQ_EN_MASK (0x8000U)
  57453. #define LCDIF_CTRL1_CLR_OVERFLOW_IRQ_EN_SHIFT (15U)
  57454. #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)
  57455. #define LCDIF_CTRL1_CLR_BYTE_PACKING_FORMAT_MASK (0xF0000U)
  57456. #define LCDIF_CTRL1_CLR_BYTE_PACKING_FORMAT_SHIFT (16U)
  57457. #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)
  57458. #define LCDIF_CTRL1_CLR_IRQ_ON_ALTERNATE_FIELDS_MASK (0x100000U)
  57459. #define LCDIF_CTRL1_CLR_IRQ_ON_ALTERNATE_FIELDS_SHIFT (20U)
  57460. #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)
  57461. #define LCDIF_CTRL1_CLR_FIFO_CLEAR_MASK (0x200000U)
  57462. #define LCDIF_CTRL1_CLR_FIFO_CLEAR_SHIFT (21U)
  57463. #define LCDIF_CTRL1_CLR_FIFO_CLEAR(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CLR_FIFO_CLEAR_SHIFT)) & LCDIF_CTRL1_CLR_FIFO_CLEAR_MASK)
  57464. #define LCDIF_CTRL1_CLR_START_INTERLACE_FROM_SECOND_FIELD_MASK (0x400000U)
  57465. #define LCDIF_CTRL1_CLR_START_INTERLACE_FROM_SECOND_FIELD_SHIFT (22U)
  57466. #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)
  57467. #define LCDIF_CTRL1_CLR_INTERLACE_FIELDS_MASK (0x800000U)
  57468. #define LCDIF_CTRL1_CLR_INTERLACE_FIELDS_SHIFT (23U)
  57469. #define LCDIF_CTRL1_CLR_INTERLACE_FIELDS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CLR_INTERLACE_FIELDS_SHIFT)) & LCDIF_CTRL1_CLR_INTERLACE_FIELDS_MASK)
  57470. #define LCDIF_CTRL1_CLR_RECOVER_ON_UNDERFLOW_MASK (0x1000000U)
  57471. #define LCDIF_CTRL1_CLR_RECOVER_ON_UNDERFLOW_SHIFT (24U)
  57472. #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)
  57473. #define LCDIF_CTRL1_CLR_BM_ERROR_IRQ_MASK (0x2000000U)
  57474. #define LCDIF_CTRL1_CLR_BM_ERROR_IRQ_SHIFT (25U)
  57475. /*! BM_ERROR_IRQ
  57476. * 0b0..No Interrupt Request Pending.
  57477. * 0b1..Interrupt Request Pending.
  57478. */
  57479. #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)
  57480. #define LCDIF_CTRL1_CLR_BM_ERROR_IRQ_EN_MASK (0x4000000U)
  57481. #define LCDIF_CTRL1_CLR_BM_ERROR_IRQ_EN_SHIFT (26U)
  57482. #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)
  57483. #define LCDIF_CTRL1_CLR_CS_OUT_SELECT_MASK (0x40000000U)
  57484. #define LCDIF_CTRL1_CLR_CS_OUT_SELECT_SHIFT (30U)
  57485. #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)
  57486. #define LCDIF_CTRL1_CLR_IMAGE_DATA_SELECT_MASK (0x80000000U)
  57487. #define LCDIF_CTRL1_CLR_IMAGE_DATA_SELECT_SHIFT (31U)
  57488. #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)
  57489. /*! @} */
  57490. /*! @name CTRL1_TOG - LCDIF General Control1 Register */
  57491. /*! @{ */
  57492. #define LCDIF_CTRL1_TOG_RSRVD0_MASK (0xF8U)
  57493. #define LCDIF_CTRL1_TOG_RSRVD0_SHIFT (3U)
  57494. #define LCDIF_CTRL1_TOG_RSRVD0(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_TOG_RSRVD0_SHIFT)) & LCDIF_CTRL1_TOG_RSRVD0_MASK)
  57495. #define LCDIF_CTRL1_TOG_VSYNC_EDGE_IRQ_MASK (0x100U)
  57496. #define LCDIF_CTRL1_TOG_VSYNC_EDGE_IRQ_SHIFT (8U)
  57497. /*! VSYNC_EDGE_IRQ
  57498. * 0b0..No Interrupt Request Pending.
  57499. * 0b1..Interrupt Request Pending.
  57500. */
  57501. #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)
  57502. #define LCDIF_CTRL1_TOG_CUR_FRAME_DONE_IRQ_MASK (0x200U)
  57503. #define LCDIF_CTRL1_TOG_CUR_FRAME_DONE_IRQ_SHIFT (9U)
  57504. /*! CUR_FRAME_DONE_IRQ
  57505. * 0b0..No Interrupt Request Pending.
  57506. * 0b1..Interrupt Request Pending.
  57507. */
  57508. #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)
  57509. #define LCDIF_CTRL1_TOG_UNDERFLOW_IRQ_MASK (0x400U)
  57510. #define LCDIF_CTRL1_TOG_UNDERFLOW_IRQ_SHIFT (10U)
  57511. /*! UNDERFLOW_IRQ
  57512. * 0b0..No Interrupt Request Pending.
  57513. * 0b1..Interrupt Request Pending.
  57514. */
  57515. #define LCDIF_CTRL1_TOG_UNDERFLOW_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_TOG_UNDERFLOW_IRQ_SHIFT)) & LCDIF_CTRL1_TOG_UNDERFLOW_IRQ_MASK)
  57516. #define LCDIF_CTRL1_TOG_OVERFLOW_IRQ_MASK (0x800U)
  57517. #define LCDIF_CTRL1_TOG_OVERFLOW_IRQ_SHIFT (11U)
  57518. /*! OVERFLOW_IRQ
  57519. * 0b0..No Interrupt Request Pending.
  57520. * 0b1..Interrupt Request Pending.
  57521. */
  57522. #define LCDIF_CTRL1_TOG_OVERFLOW_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_TOG_OVERFLOW_IRQ_SHIFT)) & LCDIF_CTRL1_TOG_OVERFLOW_IRQ_MASK)
  57523. #define LCDIF_CTRL1_TOG_VSYNC_EDGE_IRQ_EN_MASK (0x1000U)
  57524. #define LCDIF_CTRL1_TOG_VSYNC_EDGE_IRQ_EN_SHIFT (12U)
  57525. #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)
  57526. #define LCDIF_CTRL1_TOG_CUR_FRAME_DONE_IRQ_EN_MASK (0x2000U)
  57527. #define LCDIF_CTRL1_TOG_CUR_FRAME_DONE_IRQ_EN_SHIFT (13U)
  57528. #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)
  57529. #define LCDIF_CTRL1_TOG_UNDERFLOW_IRQ_EN_MASK (0x4000U)
  57530. #define LCDIF_CTRL1_TOG_UNDERFLOW_IRQ_EN_SHIFT (14U)
  57531. #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)
  57532. #define LCDIF_CTRL1_TOG_OVERFLOW_IRQ_EN_MASK (0x8000U)
  57533. #define LCDIF_CTRL1_TOG_OVERFLOW_IRQ_EN_SHIFT (15U)
  57534. #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)
  57535. #define LCDIF_CTRL1_TOG_BYTE_PACKING_FORMAT_MASK (0xF0000U)
  57536. #define LCDIF_CTRL1_TOG_BYTE_PACKING_FORMAT_SHIFT (16U)
  57537. #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)
  57538. #define LCDIF_CTRL1_TOG_IRQ_ON_ALTERNATE_FIELDS_MASK (0x100000U)
  57539. #define LCDIF_CTRL1_TOG_IRQ_ON_ALTERNATE_FIELDS_SHIFT (20U)
  57540. #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)
  57541. #define LCDIF_CTRL1_TOG_FIFO_CLEAR_MASK (0x200000U)
  57542. #define LCDIF_CTRL1_TOG_FIFO_CLEAR_SHIFT (21U)
  57543. #define LCDIF_CTRL1_TOG_FIFO_CLEAR(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_TOG_FIFO_CLEAR_SHIFT)) & LCDIF_CTRL1_TOG_FIFO_CLEAR_MASK)
  57544. #define LCDIF_CTRL1_TOG_START_INTERLACE_FROM_SECOND_FIELD_MASK (0x400000U)
  57545. #define LCDIF_CTRL1_TOG_START_INTERLACE_FROM_SECOND_FIELD_SHIFT (22U)
  57546. #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)
  57547. #define LCDIF_CTRL1_TOG_INTERLACE_FIELDS_MASK (0x800000U)
  57548. #define LCDIF_CTRL1_TOG_INTERLACE_FIELDS_SHIFT (23U)
  57549. #define LCDIF_CTRL1_TOG_INTERLACE_FIELDS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_TOG_INTERLACE_FIELDS_SHIFT)) & LCDIF_CTRL1_TOG_INTERLACE_FIELDS_MASK)
  57550. #define LCDIF_CTRL1_TOG_RECOVER_ON_UNDERFLOW_MASK (0x1000000U)
  57551. #define LCDIF_CTRL1_TOG_RECOVER_ON_UNDERFLOW_SHIFT (24U)
  57552. #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)
  57553. #define LCDIF_CTRL1_TOG_BM_ERROR_IRQ_MASK (0x2000000U)
  57554. #define LCDIF_CTRL1_TOG_BM_ERROR_IRQ_SHIFT (25U)
  57555. /*! BM_ERROR_IRQ
  57556. * 0b0..No Interrupt Request Pending.
  57557. * 0b1..Interrupt Request Pending.
  57558. */
  57559. #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)
  57560. #define LCDIF_CTRL1_TOG_BM_ERROR_IRQ_EN_MASK (0x4000000U)
  57561. #define LCDIF_CTRL1_TOG_BM_ERROR_IRQ_EN_SHIFT (26U)
  57562. #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)
  57563. #define LCDIF_CTRL1_TOG_CS_OUT_SELECT_MASK (0x40000000U)
  57564. #define LCDIF_CTRL1_TOG_CS_OUT_SELECT_SHIFT (30U)
  57565. #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)
  57566. #define LCDIF_CTRL1_TOG_IMAGE_DATA_SELECT_MASK (0x80000000U)
  57567. #define LCDIF_CTRL1_TOG_IMAGE_DATA_SELECT_SHIFT (31U)
  57568. #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)
  57569. /*! @} */
  57570. /*! @name CTRL2 - LCDIF General Control2 Register */
  57571. /*! @{ */
  57572. #define LCDIF_CTRL2_RSRVD0_MASK (0xFFFU)
  57573. #define LCDIF_CTRL2_RSRVD0_SHIFT (0U)
  57574. #define LCDIF_CTRL2_RSRVD0(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_RSRVD0_SHIFT)) & LCDIF_CTRL2_RSRVD0_MASK)
  57575. #define LCDIF_CTRL2_EVEN_LINE_PATTERN_MASK (0x7000U)
  57576. #define LCDIF_CTRL2_EVEN_LINE_PATTERN_SHIFT (12U)
  57577. /*! EVEN_LINE_PATTERN
  57578. * 0b000..RGB
  57579. * 0b001..RBG
  57580. * 0b010..GBR
  57581. * 0b011..GRB
  57582. * 0b100..BRG
  57583. * 0b101..BGR
  57584. */
  57585. #define LCDIF_CTRL2_EVEN_LINE_PATTERN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_EVEN_LINE_PATTERN_SHIFT)) & LCDIF_CTRL2_EVEN_LINE_PATTERN_MASK)
  57586. #define LCDIF_CTRL2_RSRVD3_MASK (0x8000U)
  57587. #define LCDIF_CTRL2_RSRVD3_SHIFT (15U)
  57588. #define LCDIF_CTRL2_RSRVD3(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_RSRVD3_SHIFT)) & LCDIF_CTRL2_RSRVD3_MASK)
  57589. #define LCDIF_CTRL2_ODD_LINE_PATTERN_MASK (0x70000U)
  57590. #define LCDIF_CTRL2_ODD_LINE_PATTERN_SHIFT (16U)
  57591. /*! ODD_LINE_PATTERN
  57592. * 0b000..RGB
  57593. * 0b001..RBG
  57594. * 0b010..GBR
  57595. * 0b011..GRB
  57596. * 0b100..BRG
  57597. * 0b101..BGR
  57598. */
  57599. #define LCDIF_CTRL2_ODD_LINE_PATTERN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_ODD_LINE_PATTERN_SHIFT)) & LCDIF_CTRL2_ODD_LINE_PATTERN_MASK)
  57600. #define LCDIF_CTRL2_RSRVD4_MASK (0x80000U)
  57601. #define LCDIF_CTRL2_RSRVD4_SHIFT (19U)
  57602. #define LCDIF_CTRL2_RSRVD4(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_RSRVD4_SHIFT)) & LCDIF_CTRL2_RSRVD4_MASK)
  57603. #define LCDIF_CTRL2_BURST_LEN_8_MASK (0x100000U)
  57604. #define LCDIF_CTRL2_BURST_LEN_8_SHIFT (20U)
  57605. #define LCDIF_CTRL2_BURST_LEN_8(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_BURST_LEN_8_SHIFT)) & LCDIF_CTRL2_BURST_LEN_8_MASK)
  57606. #define LCDIF_CTRL2_OUTSTANDING_REQS_MASK (0xE00000U)
  57607. #define LCDIF_CTRL2_OUTSTANDING_REQS_SHIFT (21U)
  57608. /*! OUTSTANDING_REQS
  57609. * 0b000..REQ_1
  57610. * 0b001..REQ_2
  57611. * 0b010..REQ_4
  57612. * 0b011..REQ_8
  57613. * 0b100..REQ_16
  57614. */
  57615. #define LCDIF_CTRL2_OUTSTANDING_REQS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_OUTSTANDING_REQS_SHIFT)) & LCDIF_CTRL2_OUTSTANDING_REQS_MASK)
  57616. #define LCDIF_CTRL2_RSRVD5_MASK (0xFF000000U)
  57617. #define LCDIF_CTRL2_RSRVD5_SHIFT (24U)
  57618. #define LCDIF_CTRL2_RSRVD5(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_RSRVD5_SHIFT)) & LCDIF_CTRL2_RSRVD5_MASK)
  57619. /*! @} */
  57620. /*! @name CTRL2_SET - LCDIF General Control2 Register */
  57621. /*! @{ */
  57622. #define LCDIF_CTRL2_SET_RSRVD0_MASK (0xFFFU)
  57623. #define LCDIF_CTRL2_SET_RSRVD0_SHIFT (0U)
  57624. #define LCDIF_CTRL2_SET_RSRVD0(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_SET_RSRVD0_SHIFT)) & LCDIF_CTRL2_SET_RSRVD0_MASK)
  57625. #define LCDIF_CTRL2_SET_EVEN_LINE_PATTERN_MASK (0x7000U)
  57626. #define LCDIF_CTRL2_SET_EVEN_LINE_PATTERN_SHIFT (12U)
  57627. /*! EVEN_LINE_PATTERN
  57628. * 0b000..RGB
  57629. * 0b001..RBG
  57630. * 0b010..GBR
  57631. * 0b011..GRB
  57632. * 0b100..BRG
  57633. * 0b101..BGR
  57634. */
  57635. #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)
  57636. #define LCDIF_CTRL2_SET_RSRVD3_MASK (0x8000U)
  57637. #define LCDIF_CTRL2_SET_RSRVD3_SHIFT (15U)
  57638. #define LCDIF_CTRL2_SET_RSRVD3(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_SET_RSRVD3_SHIFT)) & LCDIF_CTRL2_SET_RSRVD3_MASK)
  57639. #define LCDIF_CTRL2_SET_ODD_LINE_PATTERN_MASK (0x70000U)
  57640. #define LCDIF_CTRL2_SET_ODD_LINE_PATTERN_SHIFT (16U)
  57641. /*! ODD_LINE_PATTERN
  57642. * 0b000..RGB
  57643. * 0b001..RBG
  57644. * 0b010..GBR
  57645. * 0b011..GRB
  57646. * 0b100..BRG
  57647. * 0b101..BGR
  57648. */
  57649. #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)
  57650. #define LCDIF_CTRL2_SET_RSRVD4_MASK (0x80000U)
  57651. #define LCDIF_CTRL2_SET_RSRVD4_SHIFT (19U)
  57652. #define LCDIF_CTRL2_SET_RSRVD4(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_SET_RSRVD4_SHIFT)) & LCDIF_CTRL2_SET_RSRVD4_MASK)
  57653. #define LCDIF_CTRL2_SET_BURST_LEN_8_MASK (0x100000U)
  57654. #define LCDIF_CTRL2_SET_BURST_LEN_8_SHIFT (20U)
  57655. #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)
  57656. #define LCDIF_CTRL2_SET_OUTSTANDING_REQS_MASK (0xE00000U)
  57657. #define LCDIF_CTRL2_SET_OUTSTANDING_REQS_SHIFT (21U)
  57658. /*! OUTSTANDING_REQS
  57659. * 0b000..REQ_1
  57660. * 0b001..REQ_2
  57661. * 0b010..REQ_4
  57662. * 0b011..REQ_8
  57663. * 0b100..REQ_16
  57664. */
  57665. #define LCDIF_CTRL2_SET_OUTSTANDING_REQS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_SET_OUTSTANDING_REQS_SHIFT)) & LCDIF_CTRL2_SET_OUTSTANDING_REQS_MASK)
  57666. #define LCDIF_CTRL2_SET_RSRVD5_MASK (0xFF000000U)
  57667. #define LCDIF_CTRL2_SET_RSRVD5_SHIFT (24U)
  57668. #define LCDIF_CTRL2_SET_RSRVD5(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_SET_RSRVD5_SHIFT)) & LCDIF_CTRL2_SET_RSRVD5_MASK)
  57669. /*! @} */
  57670. /*! @name CTRL2_CLR - LCDIF General Control2 Register */
  57671. /*! @{ */
  57672. #define LCDIF_CTRL2_CLR_RSRVD0_MASK (0xFFFU)
  57673. #define LCDIF_CTRL2_CLR_RSRVD0_SHIFT (0U)
  57674. #define LCDIF_CTRL2_CLR_RSRVD0(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_CLR_RSRVD0_SHIFT)) & LCDIF_CTRL2_CLR_RSRVD0_MASK)
  57675. #define LCDIF_CTRL2_CLR_EVEN_LINE_PATTERN_MASK (0x7000U)
  57676. #define LCDIF_CTRL2_CLR_EVEN_LINE_PATTERN_SHIFT (12U)
  57677. /*! EVEN_LINE_PATTERN
  57678. * 0b000..RGB
  57679. * 0b001..RBG
  57680. * 0b010..GBR
  57681. * 0b011..GRB
  57682. * 0b100..BRG
  57683. * 0b101..BGR
  57684. */
  57685. #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)
  57686. #define LCDIF_CTRL2_CLR_RSRVD3_MASK (0x8000U)
  57687. #define LCDIF_CTRL2_CLR_RSRVD3_SHIFT (15U)
  57688. #define LCDIF_CTRL2_CLR_RSRVD3(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_CLR_RSRVD3_SHIFT)) & LCDIF_CTRL2_CLR_RSRVD3_MASK)
  57689. #define LCDIF_CTRL2_CLR_ODD_LINE_PATTERN_MASK (0x70000U)
  57690. #define LCDIF_CTRL2_CLR_ODD_LINE_PATTERN_SHIFT (16U)
  57691. /*! ODD_LINE_PATTERN
  57692. * 0b000..RGB
  57693. * 0b001..RBG
  57694. * 0b010..GBR
  57695. * 0b011..GRB
  57696. * 0b100..BRG
  57697. * 0b101..BGR
  57698. */
  57699. #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)
  57700. #define LCDIF_CTRL2_CLR_RSRVD4_MASK (0x80000U)
  57701. #define LCDIF_CTRL2_CLR_RSRVD4_SHIFT (19U)
  57702. #define LCDIF_CTRL2_CLR_RSRVD4(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_CLR_RSRVD4_SHIFT)) & LCDIF_CTRL2_CLR_RSRVD4_MASK)
  57703. #define LCDIF_CTRL2_CLR_BURST_LEN_8_MASK (0x100000U)
  57704. #define LCDIF_CTRL2_CLR_BURST_LEN_8_SHIFT (20U)
  57705. #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)
  57706. #define LCDIF_CTRL2_CLR_OUTSTANDING_REQS_MASK (0xE00000U)
  57707. #define LCDIF_CTRL2_CLR_OUTSTANDING_REQS_SHIFT (21U)
  57708. /*! OUTSTANDING_REQS
  57709. * 0b000..REQ_1
  57710. * 0b001..REQ_2
  57711. * 0b010..REQ_4
  57712. * 0b011..REQ_8
  57713. * 0b100..REQ_16
  57714. */
  57715. #define LCDIF_CTRL2_CLR_OUTSTANDING_REQS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_CLR_OUTSTANDING_REQS_SHIFT)) & LCDIF_CTRL2_CLR_OUTSTANDING_REQS_MASK)
  57716. #define LCDIF_CTRL2_CLR_RSRVD5_MASK (0xFF000000U)
  57717. #define LCDIF_CTRL2_CLR_RSRVD5_SHIFT (24U)
  57718. #define LCDIF_CTRL2_CLR_RSRVD5(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_CLR_RSRVD5_SHIFT)) & LCDIF_CTRL2_CLR_RSRVD5_MASK)
  57719. /*! @} */
  57720. /*! @name CTRL2_TOG - LCDIF General Control2 Register */
  57721. /*! @{ */
  57722. #define LCDIF_CTRL2_TOG_RSRVD0_MASK (0xFFFU)
  57723. #define LCDIF_CTRL2_TOG_RSRVD0_SHIFT (0U)
  57724. #define LCDIF_CTRL2_TOG_RSRVD0(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_TOG_RSRVD0_SHIFT)) & LCDIF_CTRL2_TOG_RSRVD0_MASK)
  57725. #define LCDIF_CTRL2_TOG_EVEN_LINE_PATTERN_MASK (0x7000U)
  57726. #define LCDIF_CTRL2_TOG_EVEN_LINE_PATTERN_SHIFT (12U)
  57727. /*! EVEN_LINE_PATTERN
  57728. * 0b000..RGB
  57729. * 0b001..RBG
  57730. * 0b010..GBR
  57731. * 0b011..GRB
  57732. * 0b100..BRG
  57733. * 0b101..BGR
  57734. */
  57735. #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)
  57736. #define LCDIF_CTRL2_TOG_RSRVD3_MASK (0x8000U)
  57737. #define LCDIF_CTRL2_TOG_RSRVD3_SHIFT (15U)
  57738. #define LCDIF_CTRL2_TOG_RSRVD3(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_TOG_RSRVD3_SHIFT)) & LCDIF_CTRL2_TOG_RSRVD3_MASK)
  57739. #define LCDIF_CTRL2_TOG_ODD_LINE_PATTERN_MASK (0x70000U)
  57740. #define LCDIF_CTRL2_TOG_ODD_LINE_PATTERN_SHIFT (16U)
  57741. /*! ODD_LINE_PATTERN
  57742. * 0b000..RGB
  57743. * 0b001..RBG
  57744. * 0b010..GBR
  57745. * 0b011..GRB
  57746. * 0b100..BRG
  57747. * 0b101..BGR
  57748. */
  57749. #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)
  57750. #define LCDIF_CTRL2_TOG_RSRVD4_MASK (0x80000U)
  57751. #define LCDIF_CTRL2_TOG_RSRVD4_SHIFT (19U)
  57752. #define LCDIF_CTRL2_TOG_RSRVD4(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_TOG_RSRVD4_SHIFT)) & LCDIF_CTRL2_TOG_RSRVD4_MASK)
  57753. #define LCDIF_CTRL2_TOG_BURST_LEN_8_MASK (0x100000U)
  57754. #define LCDIF_CTRL2_TOG_BURST_LEN_8_SHIFT (20U)
  57755. #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)
  57756. #define LCDIF_CTRL2_TOG_OUTSTANDING_REQS_MASK (0xE00000U)
  57757. #define LCDIF_CTRL2_TOG_OUTSTANDING_REQS_SHIFT (21U)
  57758. /*! OUTSTANDING_REQS
  57759. * 0b000..REQ_1
  57760. * 0b001..REQ_2
  57761. * 0b010..REQ_4
  57762. * 0b011..REQ_8
  57763. * 0b100..REQ_16
  57764. */
  57765. #define LCDIF_CTRL2_TOG_OUTSTANDING_REQS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_TOG_OUTSTANDING_REQS_SHIFT)) & LCDIF_CTRL2_TOG_OUTSTANDING_REQS_MASK)
  57766. #define LCDIF_CTRL2_TOG_RSRVD5_MASK (0xFF000000U)
  57767. #define LCDIF_CTRL2_TOG_RSRVD5_SHIFT (24U)
  57768. #define LCDIF_CTRL2_TOG_RSRVD5(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_TOG_RSRVD5_SHIFT)) & LCDIF_CTRL2_TOG_RSRVD5_MASK)
  57769. /*! @} */
  57770. /*! @name TRANSFER_COUNT - LCDIF Horizontal and Vertical Valid Data Count Register */
  57771. /*! @{ */
  57772. #define LCDIF_TRANSFER_COUNT_H_COUNT_MASK (0xFFFFU)
  57773. #define LCDIF_TRANSFER_COUNT_H_COUNT_SHIFT (0U)
  57774. #define LCDIF_TRANSFER_COUNT_H_COUNT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_TRANSFER_COUNT_H_COUNT_SHIFT)) & LCDIF_TRANSFER_COUNT_H_COUNT_MASK)
  57775. #define LCDIF_TRANSFER_COUNT_V_COUNT_MASK (0xFFFF0000U)
  57776. #define LCDIF_TRANSFER_COUNT_V_COUNT_SHIFT (16U)
  57777. #define LCDIF_TRANSFER_COUNT_V_COUNT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_TRANSFER_COUNT_V_COUNT_SHIFT)) & LCDIF_TRANSFER_COUNT_V_COUNT_MASK)
  57778. /*! @} */
  57779. /*! @name CUR_BUF - LCD Interface Current Buffer Address Register */
  57780. /*! @{ */
  57781. #define LCDIF_CUR_BUF_ADDR_MASK (0xFFFFFFFFU)
  57782. #define LCDIF_CUR_BUF_ADDR_SHIFT (0U)
  57783. #define LCDIF_CUR_BUF_ADDR(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CUR_BUF_ADDR_SHIFT)) & LCDIF_CUR_BUF_ADDR_MASK)
  57784. /*! @} */
  57785. /*! @name NEXT_BUF - LCD Interface Next Buffer Address Register */
  57786. /*! @{ */
  57787. #define LCDIF_NEXT_BUF_ADDR_MASK (0xFFFFFFFFU)
  57788. #define LCDIF_NEXT_BUF_ADDR_SHIFT (0U)
  57789. #define LCDIF_NEXT_BUF_ADDR(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_NEXT_BUF_ADDR_SHIFT)) & LCDIF_NEXT_BUF_ADDR_MASK)
  57790. /*! @} */
  57791. /*! @name VDCTRL0 - LCDIF VSYNC Mode and Dotclk Mode Control Register0 */
  57792. /*! @{ */
  57793. #define LCDIF_VDCTRL0_VSYNC_PULSE_WIDTH_MASK (0x3FFFFU)
  57794. #define LCDIF_VDCTRL0_VSYNC_PULSE_WIDTH_SHIFT (0U)
  57795. #define LCDIF_VDCTRL0_VSYNC_PULSE_WIDTH(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_VSYNC_PULSE_WIDTH_SHIFT)) & LCDIF_VDCTRL0_VSYNC_PULSE_WIDTH_MASK)
  57796. #define LCDIF_VDCTRL0_HALF_LINE_MODE_MASK (0x40000U)
  57797. #define LCDIF_VDCTRL0_HALF_LINE_MODE_SHIFT (18U)
  57798. #define LCDIF_VDCTRL0_HALF_LINE_MODE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_HALF_LINE_MODE_SHIFT)) & LCDIF_VDCTRL0_HALF_LINE_MODE_MASK)
  57799. #define LCDIF_VDCTRL0_HALF_LINE_MASK (0x80000U)
  57800. #define LCDIF_VDCTRL0_HALF_LINE_SHIFT (19U)
  57801. #define LCDIF_VDCTRL0_HALF_LINE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_HALF_LINE_SHIFT)) & LCDIF_VDCTRL0_HALF_LINE_MASK)
  57802. #define LCDIF_VDCTRL0_VSYNC_PULSE_WIDTH_UNIT_MASK (0x100000U)
  57803. #define LCDIF_VDCTRL0_VSYNC_PULSE_WIDTH_UNIT_SHIFT (20U)
  57804. #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)
  57805. #define LCDIF_VDCTRL0_VSYNC_PERIOD_UNIT_MASK (0x200000U)
  57806. #define LCDIF_VDCTRL0_VSYNC_PERIOD_UNIT_SHIFT (21U)
  57807. #define LCDIF_VDCTRL0_VSYNC_PERIOD_UNIT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_VSYNC_PERIOD_UNIT_SHIFT)) & LCDIF_VDCTRL0_VSYNC_PERIOD_UNIT_MASK)
  57808. #define LCDIF_VDCTRL0_RSRVD1_MASK (0xC00000U)
  57809. #define LCDIF_VDCTRL0_RSRVD1_SHIFT (22U)
  57810. #define LCDIF_VDCTRL0_RSRVD1(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_RSRVD1_SHIFT)) & LCDIF_VDCTRL0_RSRVD1_MASK)
  57811. #define LCDIF_VDCTRL0_ENABLE_POL_MASK (0x1000000U)
  57812. #define LCDIF_VDCTRL0_ENABLE_POL_SHIFT (24U)
  57813. #define LCDIF_VDCTRL0_ENABLE_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_ENABLE_POL_SHIFT)) & LCDIF_VDCTRL0_ENABLE_POL_MASK)
  57814. #define LCDIF_VDCTRL0_DOTCLK_POL_MASK (0x2000000U)
  57815. #define LCDIF_VDCTRL0_DOTCLK_POL_SHIFT (25U)
  57816. #define LCDIF_VDCTRL0_DOTCLK_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_DOTCLK_POL_SHIFT)) & LCDIF_VDCTRL0_DOTCLK_POL_MASK)
  57817. #define LCDIF_VDCTRL0_HSYNC_POL_MASK (0x4000000U)
  57818. #define LCDIF_VDCTRL0_HSYNC_POL_SHIFT (26U)
  57819. #define LCDIF_VDCTRL0_HSYNC_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_HSYNC_POL_SHIFT)) & LCDIF_VDCTRL0_HSYNC_POL_MASK)
  57820. #define LCDIF_VDCTRL0_VSYNC_POL_MASK (0x8000000U)
  57821. #define LCDIF_VDCTRL0_VSYNC_POL_SHIFT (27U)
  57822. #define LCDIF_VDCTRL0_VSYNC_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_VSYNC_POL_SHIFT)) & LCDIF_VDCTRL0_VSYNC_POL_MASK)
  57823. #define LCDIF_VDCTRL0_ENABLE_PRESENT_MASK (0x10000000U)
  57824. #define LCDIF_VDCTRL0_ENABLE_PRESENT_SHIFT (28U)
  57825. #define LCDIF_VDCTRL0_ENABLE_PRESENT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_ENABLE_PRESENT_SHIFT)) & LCDIF_VDCTRL0_ENABLE_PRESENT_MASK)
  57826. #define LCDIF_VDCTRL0_VSYNC_OEB_MASK (0x20000000U)
  57827. #define LCDIF_VDCTRL0_VSYNC_OEB_SHIFT (29U)
  57828. /*! VSYNC_OEB
  57829. * 0b0..The VSYNC pin is in the output mode and the VSYNC signal has to be generated by the LCDIF block.
  57830. * 0b1..The VSYNC pin is in the input mode and the LCD controller sends the VSYNC signal to the block.
  57831. */
  57832. #define LCDIF_VDCTRL0_VSYNC_OEB(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_VSYNC_OEB_SHIFT)) & LCDIF_VDCTRL0_VSYNC_OEB_MASK)
  57833. #define LCDIF_VDCTRL0_RSRVD2_MASK (0xC0000000U)
  57834. #define LCDIF_VDCTRL0_RSRVD2_SHIFT (30U)
  57835. #define LCDIF_VDCTRL0_RSRVD2(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_RSRVD2_SHIFT)) & LCDIF_VDCTRL0_RSRVD2_MASK)
  57836. /*! @} */
  57837. /*! @name VDCTRL0_SET - LCDIF VSYNC Mode and Dotclk Mode Control Register0 */
  57838. /*! @{ */
  57839. #define LCDIF_VDCTRL0_SET_VSYNC_PULSE_WIDTH_MASK (0x3FFFFU)
  57840. #define LCDIF_VDCTRL0_SET_VSYNC_PULSE_WIDTH_SHIFT (0U)
  57841. #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)
  57842. #define LCDIF_VDCTRL0_SET_HALF_LINE_MODE_MASK (0x40000U)
  57843. #define LCDIF_VDCTRL0_SET_HALF_LINE_MODE_SHIFT (18U)
  57844. #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)
  57845. #define LCDIF_VDCTRL0_SET_HALF_LINE_MASK (0x80000U)
  57846. #define LCDIF_VDCTRL0_SET_HALF_LINE_SHIFT (19U)
  57847. #define LCDIF_VDCTRL0_SET_HALF_LINE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_SET_HALF_LINE_SHIFT)) & LCDIF_VDCTRL0_SET_HALF_LINE_MASK)
  57848. #define LCDIF_VDCTRL0_SET_VSYNC_PULSE_WIDTH_UNIT_MASK (0x100000U)
  57849. #define LCDIF_VDCTRL0_SET_VSYNC_PULSE_WIDTH_UNIT_SHIFT (20U)
  57850. #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)
  57851. #define LCDIF_VDCTRL0_SET_VSYNC_PERIOD_UNIT_MASK (0x200000U)
  57852. #define LCDIF_VDCTRL0_SET_VSYNC_PERIOD_UNIT_SHIFT (21U)
  57853. #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)
  57854. #define LCDIF_VDCTRL0_SET_RSRVD1_MASK (0xC00000U)
  57855. #define LCDIF_VDCTRL0_SET_RSRVD1_SHIFT (22U)
  57856. #define LCDIF_VDCTRL0_SET_RSRVD1(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_SET_RSRVD1_SHIFT)) & LCDIF_VDCTRL0_SET_RSRVD1_MASK)
  57857. #define LCDIF_VDCTRL0_SET_ENABLE_POL_MASK (0x1000000U)
  57858. #define LCDIF_VDCTRL0_SET_ENABLE_POL_SHIFT (24U)
  57859. #define LCDIF_VDCTRL0_SET_ENABLE_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_SET_ENABLE_POL_SHIFT)) & LCDIF_VDCTRL0_SET_ENABLE_POL_MASK)
  57860. #define LCDIF_VDCTRL0_SET_DOTCLK_POL_MASK (0x2000000U)
  57861. #define LCDIF_VDCTRL0_SET_DOTCLK_POL_SHIFT (25U)
  57862. #define LCDIF_VDCTRL0_SET_DOTCLK_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_SET_DOTCLK_POL_SHIFT)) & LCDIF_VDCTRL0_SET_DOTCLK_POL_MASK)
  57863. #define LCDIF_VDCTRL0_SET_HSYNC_POL_MASK (0x4000000U)
  57864. #define LCDIF_VDCTRL0_SET_HSYNC_POL_SHIFT (26U)
  57865. #define LCDIF_VDCTRL0_SET_HSYNC_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_SET_HSYNC_POL_SHIFT)) & LCDIF_VDCTRL0_SET_HSYNC_POL_MASK)
  57866. #define LCDIF_VDCTRL0_SET_VSYNC_POL_MASK (0x8000000U)
  57867. #define LCDIF_VDCTRL0_SET_VSYNC_POL_SHIFT (27U)
  57868. #define LCDIF_VDCTRL0_SET_VSYNC_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_SET_VSYNC_POL_SHIFT)) & LCDIF_VDCTRL0_SET_VSYNC_POL_MASK)
  57869. #define LCDIF_VDCTRL0_SET_ENABLE_PRESENT_MASK (0x10000000U)
  57870. #define LCDIF_VDCTRL0_SET_ENABLE_PRESENT_SHIFT (28U)
  57871. #define LCDIF_VDCTRL0_SET_ENABLE_PRESENT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_SET_ENABLE_PRESENT_SHIFT)) & LCDIF_VDCTRL0_SET_ENABLE_PRESENT_MASK)
  57872. #define LCDIF_VDCTRL0_SET_VSYNC_OEB_MASK (0x20000000U)
  57873. #define LCDIF_VDCTRL0_SET_VSYNC_OEB_SHIFT (29U)
  57874. /*! VSYNC_OEB
  57875. * 0b0..The VSYNC pin is in the output mode and the VSYNC signal has to be generated by the LCDIF block.
  57876. * 0b1..The VSYNC pin is in the input mode and the LCD controller sends the VSYNC signal to the block.
  57877. */
  57878. #define LCDIF_VDCTRL0_SET_VSYNC_OEB(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_SET_VSYNC_OEB_SHIFT)) & LCDIF_VDCTRL0_SET_VSYNC_OEB_MASK)
  57879. #define LCDIF_VDCTRL0_SET_RSRVD2_MASK (0xC0000000U)
  57880. #define LCDIF_VDCTRL0_SET_RSRVD2_SHIFT (30U)
  57881. #define LCDIF_VDCTRL0_SET_RSRVD2(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_SET_RSRVD2_SHIFT)) & LCDIF_VDCTRL0_SET_RSRVD2_MASK)
  57882. /*! @} */
  57883. /*! @name VDCTRL0_CLR - LCDIF VSYNC Mode and Dotclk Mode Control Register0 */
  57884. /*! @{ */
  57885. #define LCDIF_VDCTRL0_CLR_VSYNC_PULSE_WIDTH_MASK (0x3FFFFU)
  57886. #define LCDIF_VDCTRL0_CLR_VSYNC_PULSE_WIDTH_SHIFT (0U)
  57887. #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)
  57888. #define LCDIF_VDCTRL0_CLR_HALF_LINE_MODE_MASK (0x40000U)
  57889. #define LCDIF_VDCTRL0_CLR_HALF_LINE_MODE_SHIFT (18U)
  57890. #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)
  57891. #define LCDIF_VDCTRL0_CLR_HALF_LINE_MASK (0x80000U)
  57892. #define LCDIF_VDCTRL0_CLR_HALF_LINE_SHIFT (19U)
  57893. #define LCDIF_VDCTRL0_CLR_HALF_LINE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_CLR_HALF_LINE_SHIFT)) & LCDIF_VDCTRL0_CLR_HALF_LINE_MASK)
  57894. #define LCDIF_VDCTRL0_CLR_VSYNC_PULSE_WIDTH_UNIT_MASK (0x100000U)
  57895. #define LCDIF_VDCTRL0_CLR_VSYNC_PULSE_WIDTH_UNIT_SHIFT (20U)
  57896. #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)
  57897. #define LCDIF_VDCTRL0_CLR_VSYNC_PERIOD_UNIT_MASK (0x200000U)
  57898. #define LCDIF_VDCTRL0_CLR_VSYNC_PERIOD_UNIT_SHIFT (21U)
  57899. #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)
  57900. #define LCDIF_VDCTRL0_CLR_RSRVD1_MASK (0xC00000U)
  57901. #define LCDIF_VDCTRL0_CLR_RSRVD1_SHIFT (22U)
  57902. #define LCDIF_VDCTRL0_CLR_RSRVD1(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_CLR_RSRVD1_SHIFT)) & LCDIF_VDCTRL0_CLR_RSRVD1_MASK)
  57903. #define LCDIF_VDCTRL0_CLR_ENABLE_POL_MASK (0x1000000U)
  57904. #define LCDIF_VDCTRL0_CLR_ENABLE_POL_SHIFT (24U)
  57905. #define LCDIF_VDCTRL0_CLR_ENABLE_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_CLR_ENABLE_POL_SHIFT)) & LCDIF_VDCTRL0_CLR_ENABLE_POL_MASK)
  57906. #define LCDIF_VDCTRL0_CLR_DOTCLK_POL_MASK (0x2000000U)
  57907. #define LCDIF_VDCTRL0_CLR_DOTCLK_POL_SHIFT (25U)
  57908. #define LCDIF_VDCTRL0_CLR_DOTCLK_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_CLR_DOTCLK_POL_SHIFT)) & LCDIF_VDCTRL0_CLR_DOTCLK_POL_MASK)
  57909. #define LCDIF_VDCTRL0_CLR_HSYNC_POL_MASK (0x4000000U)
  57910. #define LCDIF_VDCTRL0_CLR_HSYNC_POL_SHIFT (26U)
  57911. #define LCDIF_VDCTRL0_CLR_HSYNC_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_CLR_HSYNC_POL_SHIFT)) & LCDIF_VDCTRL0_CLR_HSYNC_POL_MASK)
  57912. #define LCDIF_VDCTRL0_CLR_VSYNC_POL_MASK (0x8000000U)
  57913. #define LCDIF_VDCTRL0_CLR_VSYNC_POL_SHIFT (27U)
  57914. #define LCDIF_VDCTRL0_CLR_VSYNC_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_CLR_VSYNC_POL_SHIFT)) & LCDIF_VDCTRL0_CLR_VSYNC_POL_MASK)
  57915. #define LCDIF_VDCTRL0_CLR_ENABLE_PRESENT_MASK (0x10000000U)
  57916. #define LCDIF_VDCTRL0_CLR_ENABLE_PRESENT_SHIFT (28U)
  57917. #define LCDIF_VDCTRL0_CLR_ENABLE_PRESENT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_CLR_ENABLE_PRESENT_SHIFT)) & LCDIF_VDCTRL0_CLR_ENABLE_PRESENT_MASK)
  57918. #define LCDIF_VDCTRL0_CLR_VSYNC_OEB_MASK (0x20000000U)
  57919. #define LCDIF_VDCTRL0_CLR_VSYNC_OEB_SHIFT (29U)
  57920. /*! VSYNC_OEB
  57921. * 0b0..The VSYNC pin is in the output mode and the VSYNC signal has to be generated by the LCDIF block.
  57922. * 0b1..The VSYNC pin is in the input mode and the LCD controller sends the VSYNC signal to the block.
  57923. */
  57924. #define LCDIF_VDCTRL0_CLR_VSYNC_OEB(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_CLR_VSYNC_OEB_SHIFT)) & LCDIF_VDCTRL0_CLR_VSYNC_OEB_MASK)
  57925. #define LCDIF_VDCTRL0_CLR_RSRVD2_MASK (0xC0000000U)
  57926. #define LCDIF_VDCTRL0_CLR_RSRVD2_SHIFT (30U)
  57927. #define LCDIF_VDCTRL0_CLR_RSRVD2(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_CLR_RSRVD2_SHIFT)) & LCDIF_VDCTRL0_CLR_RSRVD2_MASK)
  57928. /*! @} */
  57929. /*! @name VDCTRL0_TOG - LCDIF VSYNC Mode and Dotclk Mode Control Register0 */
  57930. /*! @{ */
  57931. #define LCDIF_VDCTRL0_TOG_VSYNC_PULSE_WIDTH_MASK (0x3FFFFU)
  57932. #define LCDIF_VDCTRL0_TOG_VSYNC_PULSE_WIDTH_SHIFT (0U)
  57933. #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)
  57934. #define LCDIF_VDCTRL0_TOG_HALF_LINE_MODE_MASK (0x40000U)
  57935. #define LCDIF_VDCTRL0_TOG_HALF_LINE_MODE_SHIFT (18U)
  57936. #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)
  57937. #define LCDIF_VDCTRL0_TOG_HALF_LINE_MASK (0x80000U)
  57938. #define LCDIF_VDCTRL0_TOG_HALF_LINE_SHIFT (19U)
  57939. #define LCDIF_VDCTRL0_TOG_HALF_LINE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_TOG_HALF_LINE_SHIFT)) & LCDIF_VDCTRL0_TOG_HALF_LINE_MASK)
  57940. #define LCDIF_VDCTRL0_TOG_VSYNC_PULSE_WIDTH_UNIT_MASK (0x100000U)
  57941. #define LCDIF_VDCTRL0_TOG_VSYNC_PULSE_WIDTH_UNIT_SHIFT (20U)
  57942. #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)
  57943. #define LCDIF_VDCTRL0_TOG_VSYNC_PERIOD_UNIT_MASK (0x200000U)
  57944. #define LCDIF_VDCTRL0_TOG_VSYNC_PERIOD_UNIT_SHIFT (21U)
  57945. #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)
  57946. #define LCDIF_VDCTRL0_TOG_RSRVD1_MASK (0xC00000U)
  57947. #define LCDIF_VDCTRL0_TOG_RSRVD1_SHIFT (22U)
  57948. #define LCDIF_VDCTRL0_TOG_RSRVD1(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_TOG_RSRVD1_SHIFT)) & LCDIF_VDCTRL0_TOG_RSRVD1_MASK)
  57949. #define LCDIF_VDCTRL0_TOG_ENABLE_POL_MASK (0x1000000U)
  57950. #define LCDIF_VDCTRL0_TOG_ENABLE_POL_SHIFT (24U)
  57951. #define LCDIF_VDCTRL0_TOG_ENABLE_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_TOG_ENABLE_POL_SHIFT)) & LCDIF_VDCTRL0_TOG_ENABLE_POL_MASK)
  57952. #define LCDIF_VDCTRL0_TOG_DOTCLK_POL_MASK (0x2000000U)
  57953. #define LCDIF_VDCTRL0_TOG_DOTCLK_POL_SHIFT (25U)
  57954. #define LCDIF_VDCTRL0_TOG_DOTCLK_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_TOG_DOTCLK_POL_SHIFT)) & LCDIF_VDCTRL0_TOG_DOTCLK_POL_MASK)
  57955. #define LCDIF_VDCTRL0_TOG_HSYNC_POL_MASK (0x4000000U)
  57956. #define LCDIF_VDCTRL0_TOG_HSYNC_POL_SHIFT (26U)
  57957. #define LCDIF_VDCTRL0_TOG_HSYNC_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_TOG_HSYNC_POL_SHIFT)) & LCDIF_VDCTRL0_TOG_HSYNC_POL_MASK)
  57958. #define LCDIF_VDCTRL0_TOG_VSYNC_POL_MASK (0x8000000U)
  57959. #define LCDIF_VDCTRL0_TOG_VSYNC_POL_SHIFT (27U)
  57960. #define LCDIF_VDCTRL0_TOG_VSYNC_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_TOG_VSYNC_POL_SHIFT)) & LCDIF_VDCTRL0_TOG_VSYNC_POL_MASK)
  57961. #define LCDIF_VDCTRL0_TOG_ENABLE_PRESENT_MASK (0x10000000U)
  57962. #define LCDIF_VDCTRL0_TOG_ENABLE_PRESENT_SHIFT (28U)
  57963. #define LCDIF_VDCTRL0_TOG_ENABLE_PRESENT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_TOG_ENABLE_PRESENT_SHIFT)) & LCDIF_VDCTRL0_TOG_ENABLE_PRESENT_MASK)
  57964. #define LCDIF_VDCTRL0_TOG_VSYNC_OEB_MASK (0x20000000U)
  57965. #define LCDIF_VDCTRL0_TOG_VSYNC_OEB_SHIFT (29U)
  57966. /*! VSYNC_OEB
  57967. * 0b0..The VSYNC pin is in the output mode and the VSYNC signal has to be generated by the LCDIF block.
  57968. * 0b1..The VSYNC pin is in the input mode and the LCD controller sends the VSYNC signal to the block.
  57969. */
  57970. #define LCDIF_VDCTRL0_TOG_VSYNC_OEB(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_TOG_VSYNC_OEB_SHIFT)) & LCDIF_VDCTRL0_TOG_VSYNC_OEB_MASK)
  57971. #define LCDIF_VDCTRL0_TOG_RSRVD2_MASK (0xC0000000U)
  57972. #define LCDIF_VDCTRL0_TOG_RSRVD2_SHIFT (30U)
  57973. #define LCDIF_VDCTRL0_TOG_RSRVD2(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_TOG_RSRVD2_SHIFT)) & LCDIF_VDCTRL0_TOG_RSRVD2_MASK)
  57974. /*! @} */
  57975. /*! @name VDCTRL1 - LCDIF VSYNC Mode and Dotclk Mode Control Register1 */
  57976. /*! @{ */
  57977. #define LCDIF_VDCTRL1_VSYNC_PERIOD_MASK (0xFFFFFFFFU)
  57978. #define LCDIF_VDCTRL1_VSYNC_PERIOD_SHIFT (0U)
  57979. #define LCDIF_VDCTRL1_VSYNC_PERIOD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL1_VSYNC_PERIOD_SHIFT)) & LCDIF_VDCTRL1_VSYNC_PERIOD_MASK)
  57980. /*! @} */
  57981. /*! @name VDCTRL2 - LCDIF VSYNC Mode and Dotclk Mode Control Register2 */
  57982. /*! @{ */
  57983. #define LCDIF_VDCTRL2_HSYNC_PERIOD_MASK (0x3FFFFU)
  57984. #define LCDIF_VDCTRL2_HSYNC_PERIOD_SHIFT (0U)
  57985. #define LCDIF_VDCTRL2_HSYNC_PERIOD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL2_HSYNC_PERIOD_SHIFT)) & LCDIF_VDCTRL2_HSYNC_PERIOD_MASK)
  57986. #define LCDIF_VDCTRL2_HSYNC_PULSE_WIDTH_MASK (0xFFFC0000U)
  57987. #define LCDIF_VDCTRL2_HSYNC_PULSE_WIDTH_SHIFT (18U)
  57988. #define LCDIF_VDCTRL2_HSYNC_PULSE_WIDTH(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL2_HSYNC_PULSE_WIDTH_SHIFT)) & LCDIF_VDCTRL2_HSYNC_PULSE_WIDTH_MASK)
  57989. /*! @} */
  57990. /*! @name VDCTRL3 - LCDIF VSYNC Mode and Dotclk Mode Control Register3 */
  57991. /*! @{ */
  57992. #define LCDIF_VDCTRL3_VERTICAL_WAIT_CNT_MASK (0xFFFFU)
  57993. #define LCDIF_VDCTRL3_VERTICAL_WAIT_CNT_SHIFT (0U)
  57994. #define LCDIF_VDCTRL3_VERTICAL_WAIT_CNT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL3_VERTICAL_WAIT_CNT_SHIFT)) & LCDIF_VDCTRL3_VERTICAL_WAIT_CNT_MASK)
  57995. #define LCDIF_VDCTRL3_HORIZONTAL_WAIT_CNT_MASK (0xFFF0000U)
  57996. #define LCDIF_VDCTRL3_HORIZONTAL_WAIT_CNT_SHIFT (16U)
  57997. #define LCDIF_VDCTRL3_HORIZONTAL_WAIT_CNT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL3_HORIZONTAL_WAIT_CNT_SHIFT)) & LCDIF_VDCTRL3_HORIZONTAL_WAIT_CNT_MASK)
  57998. #define LCDIF_VDCTRL3_VSYNC_ONLY_MASK (0x10000000U)
  57999. #define LCDIF_VDCTRL3_VSYNC_ONLY_SHIFT (28U)
  58000. #define LCDIF_VDCTRL3_VSYNC_ONLY(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL3_VSYNC_ONLY_SHIFT)) & LCDIF_VDCTRL3_VSYNC_ONLY_MASK)
  58001. #define LCDIF_VDCTRL3_MUX_SYNC_SIGNALS_MASK (0x20000000U)
  58002. #define LCDIF_VDCTRL3_MUX_SYNC_SIGNALS_SHIFT (29U)
  58003. #define LCDIF_VDCTRL3_MUX_SYNC_SIGNALS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL3_MUX_SYNC_SIGNALS_SHIFT)) & LCDIF_VDCTRL3_MUX_SYNC_SIGNALS_MASK)
  58004. #define LCDIF_VDCTRL3_RSRVD0_MASK (0xC0000000U)
  58005. #define LCDIF_VDCTRL3_RSRVD0_SHIFT (30U)
  58006. #define LCDIF_VDCTRL3_RSRVD0(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL3_RSRVD0_SHIFT)) & LCDIF_VDCTRL3_RSRVD0_MASK)
  58007. /*! @} */
  58008. /*! @name VDCTRL4 - LCDIF VSYNC Mode and Dotclk Mode Control Register4 */
  58009. /*! @{ */
  58010. #define LCDIF_VDCTRL4_DOTCLK_H_VALID_DATA_CNT_MASK (0x3FFFFU)
  58011. #define LCDIF_VDCTRL4_DOTCLK_H_VALID_DATA_CNT_SHIFT (0U)
  58012. #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)
  58013. #define LCDIF_VDCTRL4_SYNC_SIGNALS_ON_MASK (0x40000U)
  58014. #define LCDIF_VDCTRL4_SYNC_SIGNALS_ON_SHIFT (18U)
  58015. #define LCDIF_VDCTRL4_SYNC_SIGNALS_ON(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL4_SYNC_SIGNALS_ON_SHIFT)) & LCDIF_VDCTRL4_SYNC_SIGNALS_ON_MASK)
  58016. #define LCDIF_VDCTRL4_RSRVD0_MASK (0x1FF80000U)
  58017. #define LCDIF_VDCTRL4_RSRVD0_SHIFT (19U)
  58018. #define LCDIF_VDCTRL4_RSRVD0(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL4_RSRVD0_SHIFT)) & LCDIF_VDCTRL4_RSRVD0_MASK)
  58019. #define LCDIF_VDCTRL4_DOTCLK_DLY_SEL_MASK (0xE0000000U)
  58020. #define LCDIF_VDCTRL4_DOTCLK_DLY_SEL_SHIFT (29U)
  58021. #define LCDIF_VDCTRL4_DOTCLK_DLY_SEL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL4_DOTCLK_DLY_SEL_SHIFT)) & LCDIF_VDCTRL4_DOTCLK_DLY_SEL_MASK)
  58022. /*! @} */
  58023. /*! @name BM_ERROR_STAT - Bus Master Error Status Register */
  58024. /*! @{ */
  58025. #define LCDIF_BM_ERROR_STAT_ADDR_MASK (0xFFFFFFFFU)
  58026. #define LCDIF_BM_ERROR_STAT_ADDR_SHIFT (0U)
  58027. #define LCDIF_BM_ERROR_STAT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_BM_ERROR_STAT_ADDR_SHIFT)) & LCDIF_BM_ERROR_STAT_ADDR_MASK)
  58028. /*! @} */
  58029. /*! @name CRC_STAT - CRC Status Register */
  58030. /*! @{ */
  58031. #define LCDIF_CRC_STAT_CRC_VALUE_MASK (0xFFFFFFFFU)
  58032. #define LCDIF_CRC_STAT_CRC_VALUE_SHIFT (0U)
  58033. #define LCDIF_CRC_STAT_CRC_VALUE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CRC_STAT_CRC_VALUE_SHIFT)) & LCDIF_CRC_STAT_CRC_VALUE_MASK)
  58034. /*! @} */
  58035. /*! @name STAT - LCD Interface Status Register */
  58036. /*! @{ */
  58037. #define LCDIF_STAT_LFIFO_COUNT_MASK (0x1FFU)
  58038. #define LCDIF_STAT_LFIFO_COUNT_SHIFT (0U)
  58039. #define LCDIF_STAT_LFIFO_COUNT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_STAT_LFIFO_COUNT_SHIFT)) & LCDIF_STAT_LFIFO_COUNT_MASK)
  58040. #define LCDIF_STAT_RSRVD0_MASK (0x1FFFE00U)
  58041. #define LCDIF_STAT_RSRVD0_SHIFT (9U)
  58042. #define LCDIF_STAT_RSRVD0(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_STAT_RSRVD0_SHIFT)) & LCDIF_STAT_RSRVD0_MASK)
  58043. #define LCDIF_STAT_TXFIFO_EMPTY_MASK (0x4000000U)
  58044. #define LCDIF_STAT_TXFIFO_EMPTY_SHIFT (26U)
  58045. #define LCDIF_STAT_TXFIFO_EMPTY(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_STAT_TXFIFO_EMPTY_SHIFT)) & LCDIF_STAT_TXFIFO_EMPTY_MASK)
  58046. #define LCDIF_STAT_TXFIFO_FULL_MASK (0x8000000U)
  58047. #define LCDIF_STAT_TXFIFO_FULL_SHIFT (27U)
  58048. #define LCDIF_STAT_TXFIFO_FULL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_STAT_TXFIFO_FULL_SHIFT)) & LCDIF_STAT_TXFIFO_FULL_MASK)
  58049. #define LCDIF_STAT_LFIFO_EMPTY_MASK (0x10000000U)
  58050. #define LCDIF_STAT_LFIFO_EMPTY_SHIFT (28U)
  58051. #define LCDIF_STAT_LFIFO_EMPTY(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_STAT_LFIFO_EMPTY_SHIFT)) & LCDIF_STAT_LFIFO_EMPTY_MASK)
  58052. #define LCDIF_STAT_LFIFO_FULL_MASK (0x20000000U)
  58053. #define LCDIF_STAT_LFIFO_FULL_SHIFT (29U)
  58054. #define LCDIF_STAT_LFIFO_FULL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_STAT_LFIFO_FULL_SHIFT)) & LCDIF_STAT_LFIFO_FULL_MASK)
  58055. #define LCDIF_STAT_DMA_REQ_MASK (0x40000000U)
  58056. #define LCDIF_STAT_DMA_REQ_SHIFT (30U)
  58057. #define LCDIF_STAT_DMA_REQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_STAT_DMA_REQ_SHIFT)) & LCDIF_STAT_DMA_REQ_MASK)
  58058. #define LCDIF_STAT_PRESENT_MASK (0x80000000U)
  58059. #define LCDIF_STAT_PRESENT_SHIFT (31U)
  58060. #define LCDIF_STAT_PRESENT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_STAT_PRESENT_SHIFT)) & LCDIF_STAT_PRESENT_MASK)
  58061. /*! @} */
  58062. /*! @name THRES - LCDIF Threshold Register */
  58063. /*! @{ */
  58064. #define LCDIF_THRES_RSRVD_MASK (0x1FFU)
  58065. #define LCDIF_THRES_RSRVD_SHIFT (0U)
  58066. #define LCDIF_THRES_RSRVD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_THRES_RSRVD_SHIFT)) & LCDIF_THRES_RSRVD_MASK)
  58067. #define LCDIF_THRES_RSRVD1_MASK (0xFE00U)
  58068. #define LCDIF_THRES_RSRVD1_SHIFT (9U)
  58069. #define LCDIF_THRES_RSRVD1(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_THRES_RSRVD1_SHIFT)) & LCDIF_THRES_RSRVD1_MASK)
  58070. #define LCDIF_THRES_FASTCLOCK_MASK (0x1FF0000U)
  58071. #define LCDIF_THRES_FASTCLOCK_SHIFT (16U)
  58072. #define LCDIF_THRES_FASTCLOCK(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_THRES_FASTCLOCK_SHIFT)) & LCDIF_THRES_FASTCLOCK_MASK)
  58073. #define LCDIF_THRES_RSRVD2_MASK (0xFE000000U)
  58074. #define LCDIF_THRES_RSRVD2_SHIFT (25U)
  58075. #define LCDIF_THRES_RSRVD2(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_THRES_RSRVD2_SHIFT)) & LCDIF_THRES_RSRVD2_MASK)
  58076. /*! @} */
  58077. /*! @name PIGEONCTRL0 - LCDIF Pigeon Mode Control0 Register */
  58078. /*! @{ */
  58079. #define LCDIF_PIGEONCTRL0_FD_PERIOD_MASK (0xFFFU)
  58080. #define LCDIF_PIGEONCTRL0_FD_PERIOD_SHIFT (0U)
  58081. #define LCDIF_PIGEONCTRL0_FD_PERIOD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL0_FD_PERIOD_SHIFT)) & LCDIF_PIGEONCTRL0_FD_PERIOD_MASK)
  58082. #define LCDIF_PIGEONCTRL0_LD_PERIOD_MASK (0xFFF0000U)
  58083. #define LCDIF_PIGEONCTRL0_LD_PERIOD_SHIFT (16U)
  58084. #define LCDIF_PIGEONCTRL0_LD_PERIOD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL0_LD_PERIOD_SHIFT)) & LCDIF_PIGEONCTRL0_LD_PERIOD_MASK)
  58085. /*! @} */
  58086. /*! @name PIGEONCTRL0_SET - LCDIF Pigeon Mode Control0 Register */
  58087. /*! @{ */
  58088. #define LCDIF_PIGEONCTRL0_SET_FD_PERIOD_MASK (0xFFFU)
  58089. #define LCDIF_PIGEONCTRL0_SET_FD_PERIOD_SHIFT (0U)
  58090. #define LCDIF_PIGEONCTRL0_SET_FD_PERIOD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL0_SET_FD_PERIOD_SHIFT)) & LCDIF_PIGEONCTRL0_SET_FD_PERIOD_MASK)
  58091. #define LCDIF_PIGEONCTRL0_SET_LD_PERIOD_MASK (0xFFF0000U)
  58092. #define LCDIF_PIGEONCTRL0_SET_LD_PERIOD_SHIFT (16U)
  58093. #define LCDIF_PIGEONCTRL0_SET_LD_PERIOD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL0_SET_LD_PERIOD_SHIFT)) & LCDIF_PIGEONCTRL0_SET_LD_PERIOD_MASK)
  58094. /*! @} */
  58095. /*! @name PIGEONCTRL0_CLR - LCDIF Pigeon Mode Control0 Register */
  58096. /*! @{ */
  58097. #define LCDIF_PIGEONCTRL0_CLR_FD_PERIOD_MASK (0xFFFU)
  58098. #define LCDIF_PIGEONCTRL0_CLR_FD_PERIOD_SHIFT (0U)
  58099. #define LCDIF_PIGEONCTRL0_CLR_FD_PERIOD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL0_CLR_FD_PERIOD_SHIFT)) & LCDIF_PIGEONCTRL0_CLR_FD_PERIOD_MASK)
  58100. #define LCDIF_PIGEONCTRL0_CLR_LD_PERIOD_MASK (0xFFF0000U)
  58101. #define LCDIF_PIGEONCTRL0_CLR_LD_PERIOD_SHIFT (16U)
  58102. #define LCDIF_PIGEONCTRL0_CLR_LD_PERIOD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL0_CLR_LD_PERIOD_SHIFT)) & LCDIF_PIGEONCTRL0_CLR_LD_PERIOD_MASK)
  58103. /*! @} */
  58104. /*! @name PIGEONCTRL0_TOG - LCDIF Pigeon Mode Control0 Register */
  58105. /*! @{ */
  58106. #define LCDIF_PIGEONCTRL0_TOG_FD_PERIOD_MASK (0xFFFU)
  58107. #define LCDIF_PIGEONCTRL0_TOG_FD_PERIOD_SHIFT (0U)
  58108. #define LCDIF_PIGEONCTRL0_TOG_FD_PERIOD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL0_TOG_FD_PERIOD_SHIFT)) & LCDIF_PIGEONCTRL0_TOG_FD_PERIOD_MASK)
  58109. #define LCDIF_PIGEONCTRL0_TOG_LD_PERIOD_MASK (0xFFF0000U)
  58110. #define LCDIF_PIGEONCTRL0_TOG_LD_PERIOD_SHIFT (16U)
  58111. #define LCDIF_PIGEONCTRL0_TOG_LD_PERIOD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL0_TOG_LD_PERIOD_SHIFT)) & LCDIF_PIGEONCTRL0_TOG_LD_PERIOD_MASK)
  58112. /*! @} */
  58113. /*! @name PIGEONCTRL1 - LCDIF Pigeon Mode Control1 Register */
  58114. /*! @{ */
  58115. #define LCDIF_PIGEONCTRL1_FRAME_CNT_PERIOD_MASK (0xFFFU)
  58116. #define LCDIF_PIGEONCTRL1_FRAME_CNT_PERIOD_SHIFT (0U)
  58117. #define LCDIF_PIGEONCTRL1_FRAME_CNT_PERIOD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL1_FRAME_CNT_PERIOD_SHIFT)) & LCDIF_PIGEONCTRL1_FRAME_CNT_PERIOD_MASK)
  58118. #define LCDIF_PIGEONCTRL1_FRAME_CNT_CYCLES_MASK (0xFFF0000U)
  58119. #define LCDIF_PIGEONCTRL1_FRAME_CNT_CYCLES_SHIFT (16U)
  58120. #define LCDIF_PIGEONCTRL1_FRAME_CNT_CYCLES(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL1_FRAME_CNT_CYCLES_SHIFT)) & LCDIF_PIGEONCTRL1_FRAME_CNT_CYCLES_MASK)
  58121. /*! @} */
  58122. /*! @name PIGEONCTRL1_SET - LCDIF Pigeon Mode Control1 Register */
  58123. /*! @{ */
  58124. #define LCDIF_PIGEONCTRL1_SET_FRAME_CNT_PERIOD_MASK (0xFFFU)
  58125. #define LCDIF_PIGEONCTRL1_SET_FRAME_CNT_PERIOD_SHIFT (0U)
  58126. #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)
  58127. #define LCDIF_PIGEONCTRL1_SET_FRAME_CNT_CYCLES_MASK (0xFFF0000U)
  58128. #define LCDIF_PIGEONCTRL1_SET_FRAME_CNT_CYCLES_SHIFT (16U)
  58129. #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)
  58130. /*! @} */
  58131. /*! @name PIGEONCTRL1_CLR - LCDIF Pigeon Mode Control1 Register */
  58132. /*! @{ */
  58133. #define LCDIF_PIGEONCTRL1_CLR_FRAME_CNT_PERIOD_MASK (0xFFFU)
  58134. #define LCDIF_PIGEONCTRL1_CLR_FRAME_CNT_PERIOD_SHIFT (0U)
  58135. #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)
  58136. #define LCDIF_PIGEONCTRL1_CLR_FRAME_CNT_CYCLES_MASK (0xFFF0000U)
  58137. #define LCDIF_PIGEONCTRL1_CLR_FRAME_CNT_CYCLES_SHIFT (16U)
  58138. #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)
  58139. /*! @} */
  58140. /*! @name PIGEONCTRL1_TOG - LCDIF Pigeon Mode Control1 Register */
  58141. /*! @{ */
  58142. #define LCDIF_PIGEONCTRL1_TOG_FRAME_CNT_PERIOD_MASK (0xFFFU)
  58143. #define LCDIF_PIGEONCTRL1_TOG_FRAME_CNT_PERIOD_SHIFT (0U)
  58144. #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)
  58145. #define LCDIF_PIGEONCTRL1_TOG_FRAME_CNT_CYCLES_MASK (0xFFF0000U)
  58146. #define LCDIF_PIGEONCTRL1_TOG_FRAME_CNT_CYCLES_SHIFT (16U)
  58147. #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)
  58148. /*! @} */
  58149. /*! @name PIGEONCTRL2 - LCDIF Pigeon Mode Control2 Register */
  58150. /*! @{ */
  58151. #define LCDIF_PIGEONCTRL2_PIGEON_DATA_EN_MASK (0x1U)
  58152. #define LCDIF_PIGEONCTRL2_PIGEON_DATA_EN_SHIFT (0U)
  58153. #define LCDIF_PIGEONCTRL2_PIGEON_DATA_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL2_PIGEON_DATA_EN_SHIFT)) & LCDIF_PIGEONCTRL2_PIGEON_DATA_EN_MASK)
  58154. #define LCDIF_PIGEONCTRL2_PIGEON_CLK_GATE_MASK (0x2U)
  58155. #define LCDIF_PIGEONCTRL2_PIGEON_CLK_GATE_SHIFT (1U)
  58156. #define LCDIF_PIGEONCTRL2_PIGEON_CLK_GATE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL2_PIGEON_CLK_GATE_SHIFT)) & LCDIF_PIGEONCTRL2_PIGEON_CLK_GATE_MASK)
  58157. /*! @} */
  58158. /*! @name PIGEONCTRL2_SET - LCDIF Pigeon Mode Control2 Register */
  58159. /*! @{ */
  58160. #define LCDIF_PIGEONCTRL2_SET_PIGEON_DATA_EN_MASK (0x1U)
  58161. #define LCDIF_PIGEONCTRL2_SET_PIGEON_DATA_EN_SHIFT (0U)
  58162. #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)
  58163. #define LCDIF_PIGEONCTRL2_SET_PIGEON_CLK_GATE_MASK (0x2U)
  58164. #define LCDIF_PIGEONCTRL2_SET_PIGEON_CLK_GATE_SHIFT (1U)
  58165. #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)
  58166. /*! @} */
  58167. /*! @name PIGEONCTRL2_CLR - LCDIF Pigeon Mode Control2 Register */
  58168. /*! @{ */
  58169. #define LCDIF_PIGEONCTRL2_CLR_PIGEON_DATA_EN_MASK (0x1U)
  58170. #define LCDIF_PIGEONCTRL2_CLR_PIGEON_DATA_EN_SHIFT (0U)
  58171. #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)
  58172. #define LCDIF_PIGEONCTRL2_CLR_PIGEON_CLK_GATE_MASK (0x2U)
  58173. #define LCDIF_PIGEONCTRL2_CLR_PIGEON_CLK_GATE_SHIFT (1U)
  58174. #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)
  58175. /*! @} */
  58176. /*! @name PIGEONCTRL2_TOG - LCDIF Pigeon Mode Control2 Register */
  58177. /*! @{ */
  58178. #define LCDIF_PIGEONCTRL2_TOG_PIGEON_DATA_EN_MASK (0x1U)
  58179. #define LCDIF_PIGEONCTRL2_TOG_PIGEON_DATA_EN_SHIFT (0U)
  58180. #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)
  58181. #define LCDIF_PIGEONCTRL2_TOG_PIGEON_CLK_GATE_MASK (0x2U)
  58182. #define LCDIF_PIGEONCTRL2_TOG_PIGEON_CLK_GATE_SHIFT (1U)
  58183. #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)
  58184. /*! @} */
  58185. /*! @name PIGEON_0 - Panel Interface Signal Generator Register */
  58186. /*! @{ */
  58187. #define LCDIF_PIGEON_0_EN_MASK (0x1U)
  58188. #define LCDIF_PIGEON_0_EN_SHIFT (0U)
  58189. #define LCDIF_PIGEON_0_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEON_0_EN_SHIFT)) & LCDIF_PIGEON_0_EN_MASK)
  58190. #define LCDIF_PIGEON_0_POL_MASK (0x2U)
  58191. #define LCDIF_PIGEON_0_POL_SHIFT (1U)
  58192. /*! POL
  58193. * 0b0..Normal Signal (Active high)
  58194. * 0b1..Inverted signal (Active low)
  58195. */
  58196. #define LCDIF_PIGEON_0_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEON_0_POL_SHIFT)) & LCDIF_PIGEON_0_POL_MASK)
  58197. #define LCDIF_PIGEON_0_INC_SEL_MASK (0xCU)
  58198. #define LCDIF_PIGEON_0_INC_SEL_SHIFT (2U)
  58199. /*! INC_SEL
  58200. * 0b00..pclk
  58201. * 0b01..Line start pulse
  58202. * 0b10..Frame start pulse
  58203. * 0b11..Use another signal as tick event
  58204. */
  58205. #define LCDIF_PIGEON_0_INC_SEL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEON_0_INC_SEL_SHIFT)) & LCDIF_PIGEON_0_INC_SEL_MASK)
  58206. #define LCDIF_PIGEON_0_OFFSET_MASK (0xF0U)
  58207. #define LCDIF_PIGEON_0_OFFSET_SHIFT (4U)
  58208. #define LCDIF_PIGEON_0_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEON_0_OFFSET_SHIFT)) & LCDIF_PIGEON_0_OFFSET_MASK)
  58209. #define LCDIF_PIGEON_0_MASK_CNT_SEL_MASK (0xF00U)
  58210. #define LCDIF_PIGEON_0_MASK_CNT_SEL_SHIFT (8U)
  58211. /*! MASK_CNT_SEL
  58212. * 0b0000..pclk counter within one hscan state
  58213. * 0b0001..pclk cycle within one hscan state
  58214. * 0b0010..line counter within one vscan state
  58215. * 0b0011..line cycle within one vscan state
  58216. * 0b0100..frame counter
  58217. * 0b0101..frame cycle
  58218. * 0b0110..horizontal counter (pclk counter within one line )
  58219. * 0b0111..vertical counter (line counter within one frame)
  58220. */
  58221. #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)
  58222. #define LCDIF_PIGEON_0_MASK_CNT_MASK (0xFFF000U)
  58223. #define LCDIF_PIGEON_0_MASK_CNT_SHIFT (12U)
  58224. #define LCDIF_PIGEON_0_MASK_CNT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEON_0_MASK_CNT_SHIFT)) & LCDIF_PIGEON_0_MASK_CNT_MASK)
  58225. #define LCDIF_PIGEON_0_STATE_MASK_MASK (0xFF000000U)
  58226. #define LCDIF_PIGEON_0_STATE_MASK_SHIFT (24U)
  58227. /*! STATE_MASK
  58228. * 0b00000001..FRAME SYNC
  58229. * 0b00000010..FRAME BEGIN
  58230. * 0b00000100..FRAME DATA
  58231. * 0b00001000..FRAME END
  58232. * 0b00010000..LINE SYNC
  58233. * 0b00100000..LINE BEGIN
  58234. * 0b01000000..LINE DATA
  58235. * 0b10000000..LINE END
  58236. */
  58237. #define LCDIF_PIGEON_0_STATE_MASK(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEON_0_STATE_MASK_SHIFT)) & LCDIF_PIGEON_0_STATE_MASK_MASK)
  58238. /*! @} */
  58239. /* The count of LCDIF_PIGEON_0 */
  58240. #define LCDIF_PIGEON_0_COUNT (12U)
  58241. /*! @name PIGEON_1 - Panel Interface Signal Generator Register */
  58242. /*! @{ */
  58243. #define LCDIF_PIGEON_1_SET_CNT_MASK (0xFFFFU)
  58244. #define LCDIF_PIGEON_1_SET_CNT_SHIFT (0U)
  58245. /*! SET_CNT
  58246. * 0b0000000000000000..Start as active
  58247. */
  58248. #define LCDIF_PIGEON_1_SET_CNT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEON_1_SET_CNT_SHIFT)) & LCDIF_PIGEON_1_SET_CNT_MASK)
  58249. #define LCDIF_PIGEON_1_CLR_CNT_MASK (0xFFFF0000U)
  58250. #define LCDIF_PIGEON_1_CLR_CNT_SHIFT (16U)
  58251. /*! CLR_CNT
  58252. * 0b0000000000000000..Keep active until mask off
  58253. */
  58254. #define LCDIF_PIGEON_1_CLR_CNT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEON_1_CLR_CNT_SHIFT)) & LCDIF_PIGEON_1_CLR_CNT_MASK)
  58255. /*! @} */
  58256. /* The count of LCDIF_PIGEON_1 */
  58257. #define LCDIF_PIGEON_1_COUNT (12U)
  58258. /*! @name PIGEON_2 - Panel Interface Signal Generator Register */
  58259. /*! @{ */
  58260. #define LCDIF_PIGEON_2_SIG_LOGIC_MASK (0xFU)
  58261. #define LCDIF_PIGEON_2_SIG_LOGIC_SHIFT (0U)
  58262. /*! SIG_LOGIC
  58263. * 0b0000..No logic operation
  58264. * 0b0001..sigout = sig_another AND this_sig
  58265. * 0b0010..sigout = sig_another OR this_sig
  58266. * 0b0011..mask = sig_another AND other_masks
  58267. */
  58268. #define LCDIF_PIGEON_2_SIG_LOGIC(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEON_2_SIG_LOGIC_SHIFT)) & LCDIF_PIGEON_2_SIG_LOGIC_MASK)
  58269. #define LCDIF_PIGEON_2_SIG_ANOTHER_MASK (0x1F0U)
  58270. #define LCDIF_PIGEON_2_SIG_ANOTHER_SHIFT (4U)
  58271. /*! SIG_ANOTHER
  58272. * 0b00000..Keep active until mask off
  58273. */
  58274. #define LCDIF_PIGEON_2_SIG_ANOTHER(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEON_2_SIG_ANOTHER_SHIFT)) & LCDIF_PIGEON_2_SIG_ANOTHER_MASK)
  58275. #define LCDIF_PIGEON_2_RSVD_MASK (0xFFFFFE00U)
  58276. #define LCDIF_PIGEON_2_RSVD_SHIFT (9U)
  58277. #define LCDIF_PIGEON_2_RSVD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEON_2_RSVD_SHIFT)) & LCDIF_PIGEON_2_RSVD_MASK)
  58278. /*! @} */
  58279. /* The count of LCDIF_PIGEON_2 */
  58280. #define LCDIF_PIGEON_2_COUNT (12U)
  58281. /*! @name LUT_CTRL - Look Up Table Control Register */
  58282. /*! @{ */
  58283. #define LCDIF_LUT_CTRL_LUT_BYPASS_MASK (0x1U)
  58284. #define LCDIF_LUT_CTRL_LUT_BYPASS_SHIFT (0U)
  58285. #define LCDIF_LUT_CTRL_LUT_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_LUT_CTRL_LUT_BYPASS_SHIFT)) & LCDIF_LUT_CTRL_LUT_BYPASS_MASK)
  58286. /*! @} */
  58287. /*! @name LUT0_ADDR - Lookup Table 0 Index Register */
  58288. /*! @{ */
  58289. #define LCDIF_LUT0_ADDR_ADDR_MASK (0xFFU)
  58290. #define LCDIF_LUT0_ADDR_ADDR_SHIFT (0U)
  58291. #define LCDIF_LUT0_ADDR_ADDR(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_LUT0_ADDR_ADDR_SHIFT)) & LCDIF_LUT0_ADDR_ADDR_MASK)
  58292. /*! @} */
  58293. /*! @name LUT0_DATA - Lookup Table 0 Data Register */
  58294. /*! @{ */
  58295. #define LCDIF_LUT0_DATA_DATA_MASK (0xFFFFFFFFU)
  58296. #define LCDIF_LUT0_DATA_DATA_SHIFT (0U)
  58297. #define LCDIF_LUT0_DATA_DATA(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_LUT0_DATA_DATA_SHIFT)) & LCDIF_LUT0_DATA_DATA_MASK)
  58298. /*! @} */
  58299. /*! @name LUT1_ADDR - Lookup Table 1 Index Register */
  58300. /*! @{ */
  58301. #define LCDIF_LUT1_ADDR_ADDR_MASK (0xFFU)
  58302. #define LCDIF_LUT1_ADDR_ADDR_SHIFT (0U)
  58303. #define LCDIF_LUT1_ADDR_ADDR(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_LUT1_ADDR_ADDR_SHIFT)) & LCDIF_LUT1_ADDR_ADDR_MASK)
  58304. /*! @} */
  58305. /*! @name LUT1_DATA - Lookup Table 1 Data Register */
  58306. /*! @{ */
  58307. #define LCDIF_LUT1_DATA_DATA_MASK (0xFFFFFFFFU)
  58308. #define LCDIF_LUT1_DATA_DATA_SHIFT (0U)
  58309. #define LCDIF_LUT1_DATA_DATA(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_LUT1_DATA_DATA_SHIFT)) & LCDIF_LUT1_DATA_DATA_MASK)
  58310. /*! @} */
  58311. /*!
  58312. * @}
  58313. */ /* end of group LCDIF_Register_Masks */
  58314. /* LCDIF - Peripheral instance base addresses */
  58315. /** Peripheral LCDIF base address */
  58316. #define LCDIF_BASE (0x40804000u)
  58317. /** Peripheral LCDIF base pointer */
  58318. #define LCDIF ((LCDIF_Type *)LCDIF_BASE)
  58319. /** Array initializer of LCDIF peripheral base addresses */
  58320. #define LCDIF_BASE_ADDRS { LCDIF_BASE }
  58321. /** Array initializer of LCDIF peripheral base pointers */
  58322. #define LCDIF_BASE_PTRS { LCDIF }
  58323. /** Interrupt vectors for the LCDIF peripheral type */
  58324. #define LCDIF_IRQ0_IRQS { eLCDIF_IRQn }
  58325. /*!
  58326. * @}
  58327. */ /* end of group LCDIF_Peripheral_Access_Layer */
  58328. /* ----------------------------------------------------------------------------
  58329. -- LCDIFV2 Peripheral Access Layer
  58330. ---------------------------------------------------------------------------- */
  58331. /*!
  58332. * @addtogroup LCDIFV2_Peripheral_Access_Layer LCDIFV2 Peripheral Access Layer
  58333. * @{
  58334. */
  58335. /** LCDIFV2 - Register Layout Typedef */
  58336. typedef struct {
  58337. __IO uint32_t CTRL; /**< LCDIFv2 display control Register, offset: 0x0 */
  58338. __IO uint32_t CTRL_SET; /**< LCDIFv2 display control Register, offset: 0x4 */
  58339. __IO uint32_t CTRL_CLR; /**< LCDIFv2 display control Register, offset: 0x8 */
  58340. __IO uint32_t CTRL_TOG; /**< LCDIFv2 display control Register, offset: 0xC */
  58341. __IO uint32_t DISP_PARA; /**< Display Parameter Register, offset: 0x10 */
  58342. __IO uint32_t DISP_SIZE; /**< Display Size Register, offset: 0x14 */
  58343. __IO uint32_t HSYN_PARA; /**< Horizontal Sync Parameter Register, offset: 0x18 */
  58344. __IO uint32_t VSYN_PARA; /**< Vertical Sync Parameter Register, offset: 0x1C */
  58345. struct { /* offset: 0x20, array step: 0x10 */
  58346. __IO uint32_t INT_STATUS; /**< Interrupt Status Register for domain 0..Interrupt Status Register for domain 1, array offset: 0x20, array step: 0x10 */
  58347. __IO uint32_t INT_ENABLE; /**< Interrupt Enable Register for domain 0..Interrupt Enable Register for domain 1, array offset: 0x24, array step: 0x10 */
  58348. uint8_t RESERVED_0[8];
  58349. } INT[2];
  58350. __IO uint32_t PDI_PARA; /**< Parallel Data Interface Parameter Register, offset: 0x40 */
  58351. uint8_t RESERVED_0[444];
  58352. struct { /* offset: 0x200, array step: 0x40 */
  58353. __IO uint32_t CTRLDESCL1; /**< Control Descriptor Layer 1 Register, array offset: 0x200, array step: 0x40 */
  58354. __IO uint32_t CTRLDESCL2; /**< Control Descriptor Layer 2 Register, array offset: 0x204, array step: 0x40 */
  58355. __IO uint32_t CTRLDESCL3; /**< Control Descriptor Layer 3 Register, array offset: 0x208, array step: 0x40 */
  58356. __IO uint32_t CTRLDESCL4; /**< Control Descriptor Layer 4 Register, array offset: 0x20C, array step: 0x40 */
  58357. __IO uint32_t CTRLDESCL5; /**< Control Descriptor Layer 5 Register, array offset: 0x210, array step: 0x40 */
  58358. __IO uint32_t CTRLDESCL6; /**< Control Descriptor Layer 6 Register, array offset: 0x214, array step: 0x40 */
  58359. __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 */
  58360. __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 */
  58361. __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 */
  58362. uint8_t RESERVED_0[28];
  58363. } LAYER[8];
  58364. __IO uint32_t CLUT_LOAD; /**< LCDIFv2 CLUT load Register, offset: 0x400 */
  58365. } LCDIFV2_Type;
  58366. /* ----------------------------------------------------------------------------
  58367. -- LCDIFV2 Register Masks
  58368. ---------------------------------------------------------------------------- */
  58369. /*!
  58370. * @addtogroup LCDIFV2_Register_Masks LCDIFV2 Register Masks
  58371. * @{
  58372. */
  58373. /*! @name CTRL - LCDIFv2 display control Register */
  58374. /*! @{ */
  58375. #define LCDIFV2_CTRL_INV_HS_MASK (0x1U)
  58376. #define LCDIFV2_CTRL_INV_HS_SHIFT (0U)
  58377. /*! INV_HS - Invert Horizontal synchronization signal
  58378. * 0b0..HSYNC signal not inverted (active HIGH)
  58379. * 0b1..Invert HSYNC signal (active LOW)
  58380. */
  58381. #define LCDIFV2_CTRL_INV_HS(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRL_INV_HS_SHIFT)) & LCDIFV2_CTRL_INV_HS_MASK)
  58382. #define LCDIFV2_CTRL_INV_VS_MASK (0x2U)
  58383. #define LCDIFV2_CTRL_INV_VS_SHIFT (1U)
  58384. /*! INV_VS - Invert Vertical synchronization signal
  58385. * 0b0..VSYNC signal not inverted (active HIGH)
  58386. * 0b1..Invert VSYNC signal (active LOW)
  58387. */
  58388. #define LCDIFV2_CTRL_INV_VS(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRL_INV_VS_SHIFT)) & LCDIFV2_CTRL_INV_VS_MASK)
  58389. #define LCDIFV2_CTRL_INV_DE_MASK (0x4U)
  58390. #define LCDIFV2_CTRL_INV_DE_SHIFT (2U)
  58391. /*! INV_DE - Invert Data Enable polarity
  58392. * 0b0..Data enable is active high
  58393. * 0b1..Data enable is active low
  58394. */
  58395. #define LCDIFV2_CTRL_INV_DE(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRL_INV_DE_SHIFT)) & LCDIFV2_CTRL_INV_DE_MASK)
  58396. #define LCDIFV2_CTRL_INV_PXCK_MASK (0x8U)
  58397. #define LCDIFV2_CTRL_INV_PXCK_SHIFT (3U)
  58398. /*! INV_PXCK - Polarity change of Pixel Clock
  58399. * 0b0..Display samples data on the falling edge
  58400. * 0b1..Display samples data on the rising edge
  58401. */
  58402. #define LCDIFV2_CTRL_INV_PXCK(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRL_INV_PXCK_SHIFT)) & LCDIFV2_CTRL_INV_PXCK_MASK)
  58403. #define LCDIFV2_CTRL_NEG_MASK (0x10U)
  58404. #define LCDIFV2_CTRL_NEG_SHIFT (4U)
  58405. /*! NEG - Indicates if value at the output (pixel data output) needs to be negated
  58406. * 0b0..Output is to remain same
  58407. * 0b1..Output to be negated
  58408. */
  58409. #define LCDIFV2_CTRL_NEG(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRL_NEG_SHIFT)) & LCDIFV2_CTRL_NEG_MASK)
  58410. #define LCDIFV2_CTRL_SW_RESET_MASK (0x80000000U)
  58411. #define LCDIFV2_CTRL_SW_RESET_SHIFT (31U)
  58412. /*! SW_RESET - Software Reset
  58413. * 0b0..No action
  58414. * 0b1..All LCDIFv2 internal registers are forced into their reset state. User registers are not affected
  58415. */
  58416. #define LCDIFV2_CTRL_SW_RESET(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRL_SW_RESET_SHIFT)) & LCDIFV2_CTRL_SW_RESET_MASK)
  58417. /*! @} */
  58418. /*! @name CTRL_SET - LCDIFv2 display control Register */
  58419. /*! @{ */
  58420. #define LCDIFV2_CTRL_SET_INV_HS_MASK (0x1U)
  58421. #define LCDIFV2_CTRL_SET_INV_HS_SHIFT (0U)
  58422. /*! INV_HS - Invert Horizontal synchronization signal
  58423. */
  58424. #define LCDIFV2_CTRL_SET_INV_HS(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRL_SET_INV_HS_SHIFT)) & LCDIFV2_CTRL_SET_INV_HS_MASK)
  58425. #define LCDIFV2_CTRL_SET_INV_VS_MASK (0x2U)
  58426. #define LCDIFV2_CTRL_SET_INV_VS_SHIFT (1U)
  58427. /*! INV_VS - Invert Vertical synchronization signal
  58428. */
  58429. #define LCDIFV2_CTRL_SET_INV_VS(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRL_SET_INV_VS_SHIFT)) & LCDIFV2_CTRL_SET_INV_VS_MASK)
  58430. #define LCDIFV2_CTRL_SET_INV_DE_MASK (0x4U)
  58431. #define LCDIFV2_CTRL_SET_INV_DE_SHIFT (2U)
  58432. /*! INV_DE - Invert Data Enable polarity
  58433. */
  58434. #define LCDIFV2_CTRL_SET_INV_DE(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRL_SET_INV_DE_SHIFT)) & LCDIFV2_CTRL_SET_INV_DE_MASK)
  58435. #define LCDIFV2_CTRL_SET_INV_PXCK_MASK (0x8U)
  58436. #define LCDIFV2_CTRL_SET_INV_PXCK_SHIFT (3U)
  58437. /*! INV_PXCK - Polarity change of Pixel Clock
  58438. */
  58439. #define LCDIFV2_CTRL_SET_INV_PXCK(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRL_SET_INV_PXCK_SHIFT)) & LCDIFV2_CTRL_SET_INV_PXCK_MASK)
  58440. #define LCDIFV2_CTRL_SET_NEG_MASK (0x10U)
  58441. #define LCDIFV2_CTRL_SET_NEG_SHIFT (4U)
  58442. /*! NEG - Indicates if value at the output (pixel data output) needs to be negated
  58443. */
  58444. #define LCDIFV2_CTRL_SET_NEG(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRL_SET_NEG_SHIFT)) & LCDIFV2_CTRL_SET_NEG_MASK)
  58445. #define LCDIFV2_CTRL_SET_SW_RESET_MASK (0x80000000U)
  58446. #define LCDIFV2_CTRL_SET_SW_RESET_SHIFT (31U)
  58447. /*! SW_RESET - Software Reset
  58448. */
  58449. #define LCDIFV2_CTRL_SET_SW_RESET(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRL_SET_SW_RESET_SHIFT)) & LCDIFV2_CTRL_SET_SW_RESET_MASK)
  58450. /*! @} */
  58451. /*! @name CTRL_CLR - LCDIFv2 display control Register */
  58452. /*! @{ */
  58453. #define LCDIFV2_CTRL_CLR_INV_HS_MASK (0x1U)
  58454. #define LCDIFV2_CTRL_CLR_INV_HS_SHIFT (0U)
  58455. /*! INV_HS - Invert Horizontal synchronization signal
  58456. */
  58457. #define LCDIFV2_CTRL_CLR_INV_HS(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRL_CLR_INV_HS_SHIFT)) & LCDIFV2_CTRL_CLR_INV_HS_MASK)
  58458. #define LCDIFV2_CTRL_CLR_INV_VS_MASK (0x2U)
  58459. #define LCDIFV2_CTRL_CLR_INV_VS_SHIFT (1U)
  58460. /*! INV_VS - Invert Vertical synchronization signal
  58461. */
  58462. #define LCDIFV2_CTRL_CLR_INV_VS(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRL_CLR_INV_VS_SHIFT)) & LCDIFV2_CTRL_CLR_INV_VS_MASK)
  58463. #define LCDIFV2_CTRL_CLR_INV_DE_MASK (0x4U)
  58464. #define LCDIFV2_CTRL_CLR_INV_DE_SHIFT (2U)
  58465. /*! INV_DE - Invert Data Enable polarity
  58466. */
  58467. #define LCDIFV2_CTRL_CLR_INV_DE(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRL_CLR_INV_DE_SHIFT)) & LCDIFV2_CTRL_CLR_INV_DE_MASK)
  58468. #define LCDIFV2_CTRL_CLR_INV_PXCK_MASK (0x8U)
  58469. #define LCDIFV2_CTRL_CLR_INV_PXCK_SHIFT (3U)
  58470. /*! INV_PXCK - Polarity change of Pixel Clock
  58471. */
  58472. #define LCDIFV2_CTRL_CLR_INV_PXCK(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRL_CLR_INV_PXCK_SHIFT)) & LCDIFV2_CTRL_CLR_INV_PXCK_MASK)
  58473. #define LCDIFV2_CTRL_CLR_NEG_MASK (0x10U)
  58474. #define LCDIFV2_CTRL_CLR_NEG_SHIFT (4U)
  58475. /*! NEG - Indicates if value at the output (pixel data output) needs to be negated
  58476. */
  58477. #define LCDIFV2_CTRL_CLR_NEG(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRL_CLR_NEG_SHIFT)) & LCDIFV2_CTRL_CLR_NEG_MASK)
  58478. #define LCDIFV2_CTRL_CLR_SW_RESET_MASK (0x80000000U)
  58479. #define LCDIFV2_CTRL_CLR_SW_RESET_SHIFT (31U)
  58480. /*! SW_RESET - Software Reset
  58481. */
  58482. #define LCDIFV2_CTRL_CLR_SW_RESET(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRL_CLR_SW_RESET_SHIFT)) & LCDIFV2_CTRL_CLR_SW_RESET_MASK)
  58483. /*! @} */
  58484. /*! @name CTRL_TOG - LCDIFv2 display control Register */
  58485. /*! @{ */
  58486. #define LCDIFV2_CTRL_TOG_INV_HS_MASK (0x1U)
  58487. #define LCDIFV2_CTRL_TOG_INV_HS_SHIFT (0U)
  58488. /*! INV_HS - Invert Horizontal synchronization signal
  58489. */
  58490. #define LCDIFV2_CTRL_TOG_INV_HS(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRL_TOG_INV_HS_SHIFT)) & LCDIFV2_CTRL_TOG_INV_HS_MASK)
  58491. #define LCDIFV2_CTRL_TOG_INV_VS_MASK (0x2U)
  58492. #define LCDIFV2_CTRL_TOG_INV_VS_SHIFT (1U)
  58493. /*! INV_VS - Invert Vertical synchronization signal
  58494. */
  58495. #define LCDIFV2_CTRL_TOG_INV_VS(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRL_TOG_INV_VS_SHIFT)) & LCDIFV2_CTRL_TOG_INV_VS_MASK)
  58496. #define LCDIFV2_CTRL_TOG_INV_DE_MASK (0x4U)
  58497. #define LCDIFV2_CTRL_TOG_INV_DE_SHIFT (2U)
  58498. /*! INV_DE - Invert Data Enable polarity
  58499. */
  58500. #define LCDIFV2_CTRL_TOG_INV_DE(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRL_TOG_INV_DE_SHIFT)) & LCDIFV2_CTRL_TOG_INV_DE_MASK)
  58501. #define LCDIFV2_CTRL_TOG_INV_PXCK_MASK (0x8U)
  58502. #define LCDIFV2_CTRL_TOG_INV_PXCK_SHIFT (3U)
  58503. /*! INV_PXCK - Polarity change of Pixel Clock
  58504. */
  58505. #define LCDIFV2_CTRL_TOG_INV_PXCK(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRL_TOG_INV_PXCK_SHIFT)) & LCDIFV2_CTRL_TOG_INV_PXCK_MASK)
  58506. #define LCDIFV2_CTRL_TOG_NEG_MASK (0x10U)
  58507. #define LCDIFV2_CTRL_TOG_NEG_SHIFT (4U)
  58508. /*! NEG - Indicates if value at the output (pixel data output) needs to be negated
  58509. */
  58510. #define LCDIFV2_CTRL_TOG_NEG(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRL_TOG_NEG_SHIFT)) & LCDIFV2_CTRL_TOG_NEG_MASK)
  58511. #define LCDIFV2_CTRL_TOG_SW_RESET_MASK (0x80000000U)
  58512. #define LCDIFV2_CTRL_TOG_SW_RESET_SHIFT (31U)
  58513. /*! SW_RESET - Software Reset
  58514. */
  58515. #define LCDIFV2_CTRL_TOG_SW_RESET(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRL_TOG_SW_RESET_SHIFT)) & LCDIFV2_CTRL_TOG_SW_RESET_MASK)
  58516. /*! @} */
  58517. /*! @name DISP_PARA - Display Parameter Register */
  58518. /*! @{ */
  58519. #define LCDIFV2_DISP_PARA_BGND_B_MASK (0xFFU)
  58520. #define LCDIFV2_DISP_PARA_BGND_B_SHIFT (0U)
  58521. /*! BGND_B - Blue component of the default color displayed in the sectors where no layer is active
  58522. */
  58523. #define LCDIFV2_DISP_PARA_BGND_B(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_DISP_PARA_BGND_B_SHIFT)) & LCDIFV2_DISP_PARA_BGND_B_MASK)
  58524. #define LCDIFV2_DISP_PARA_BGND_G_MASK (0xFF00U)
  58525. #define LCDIFV2_DISP_PARA_BGND_G_SHIFT (8U)
  58526. /*! BGND_G - Green component of the default color displayed in the sectors where no layer is active
  58527. */
  58528. #define LCDIFV2_DISP_PARA_BGND_G(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_DISP_PARA_BGND_G_SHIFT)) & LCDIFV2_DISP_PARA_BGND_G_MASK)
  58529. #define LCDIFV2_DISP_PARA_BGND_R_MASK (0xFF0000U)
  58530. #define LCDIFV2_DISP_PARA_BGND_R_SHIFT (16U)
  58531. /*! BGND_R - Red component of the default color displayed in the sectors where no layer is active
  58532. */
  58533. #define LCDIFV2_DISP_PARA_BGND_R(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_DISP_PARA_BGND_R_SHIFT)) & LCDIFV2_DISP_PARA_BGND_R_MASK)
  58534. #define LCDIFV2_DISP_PARA_DISP_MODE_MASK (0x3000000U)
  58535. #define LCDIFV2_DISP_PARA_DISP_MODE_SHIFT (24U)
  58536. /*! DISP_MODE - LCDIFv2 operating mode
  58537. * 0b00..Normal mode. Panel content controlled by layer configuration
  58538. * 0b01..Test Mode1(BGND Color Display)
  58539. * 0b10..Test Mode2(Column Color Bar)
  58540. * 0b11..Test Mode3(Row Color Bar)
  58541. */
  58542. #define LCDIFV2_DISP_PARA_DISP_MODE(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_DISP_PARA_DISP_MODE_SHIFT)) & LCDIFV2_DISP_PARA_DISP_MODE_MASK)
  58543. #define LCDIFV2_DISP_PARA_LINE_PATTERN_MASK (0x1C000000U)
  58544. #define LCDIFV2_DISP_PARA_LINE_PATTERN_SHIFT (26U)
  58545. /*! LINE_PATTERN - LCDIFv2 line output order
  58546. * 0b000..RGB
  58547. * 0b001..RBG
  58548. * 0b010..GBR
  58549. * 0b011..GRB
  58550. * 0b100..BRG
  58551. * 0b101..BGR
  58552. */
  58553. #define LCDIFV2_DISP_PARA_LINE_PATTERN(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_DISP_PARA_LINE_PATTERN_SHIFT)) & LCDIFV2_DISP_PARA_LINE_PATTERN_MASK)
  58554. #define LCDIFV2_DISP_PARA_DISP_ON_MASK (0x80000000U)
  58555. #define LCDIFV2_DISP_PARA_DISP_ON_SHIFT (31U)
  58556. /*! DISP_ON - Display panel On/Off mode
  58557. * 0b0..Display Off
  58558. * 0b1..Display On
  58559. */
  58560. #define LCDIFV2_DISP_PARA_DISP_ON(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_DISP_PARA_DISP_ON_SHIFT)) & LCDIFV2_DISP_PARA_DISP_ON_MASK)
  58561. /*! @} */
  58562. /*! @name DISP_SIZE - Display Size Register */
  58563. /*! @{ */
  58564. #define LCDIFV2_DISP_SIZE_DELTA_X_MASK (0xFFFU)
  58565. #define LCDIFV2_DISP_SIZE_DELTA_X_SHIFT (0U)
  58566. /*! DELTA_X - Sets the display size horizontal resolution in pixels
  58567. */
  58568. #define LCDIFV2_DISP_SIZE_DELTA_X(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_DISP_SIZE_DELTA_X_SHIFT)) & LCDIFV2_DISP_SIZE_DELTA_X_MASK)
  58569. #define LCDIFV2_DISP_SIZE_DELTA_Y_MASK (0xFFF0000U)
  58570. #define LCDIFV2_DISP_SIZE_DELTA_Y_SHIFT (16U)
  58571. /*! DELTA_Y - Sets the display size vertical resolution in pixels
  58572. */
  58573. #define LCDIFV2_DISP_SIZE_DELTA_Y(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_DISP_SIZE_DELTA_Y_SHIFT)) & LCDIFV2_DISP_SIZE_DELTA_Y_MASK)
  58574. /*! @} */
  58575. /*! @name HSYN_PARA - Horizontal Sync Parameter Register */
  58576. /*! @{ */
  58577. #define LCDIFV2_HSYN_PARA_FP_H_MASK (0x1FFU)
  58578. #define LCDIFV2_HSYN_PARA_FP_H_SHIFT (0U)
  58579. /*! FP_H - HSYNC front-porch pulse width (in pixel clock cycles). Pulse width has a minimum value of 1
  58580. */
  58581. #define LCDIFV2_HSYN_PARA_FP_H(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_HSYN_PARA_FP_H_SHIFT)) & LCDIFV2_HSYN_PARA_FP_H_MASK)
  58582. #define LCDIFV2_HSYN_PARA_PW_H_MASK (0xFF800U)
  58583. #define LCDIFV2_HSYN_PARA_PW_H_SHIFT (11U)
  58584. /*! PW_H - HSYNC active pulse width (in pixel clock cycles). Pulse width has a minimum value of 1
  58585. */
  58586. #define LCDIFV2_HSYN_PARA_PW_H(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_HSYN_PARA_PW_H_SHIFT)) & LCDIFV2_HSYN_PARA_PW_H_MASK)
  58587. #define LCDIFV2_HSYN_PARA_BP_H_MASK (0x7FC00000U)
  58588. #define LCDIFV2_HSYN_PARA_BP_H_SHIFT (22U)
  58589. /*! BP_H - HSYNC back-porch pulse width (in pixel clock cycles). Pulse width has a minimum value of 1
  58590. */
  58591. #define LCDIFV2_HSYN_PARA_BP_H(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_HSYN_PARA_BP_H_SHIFT)) & LCDIFV2_HSYN_PARA_BP_H_MASK)
  58592. /*! @} */
  58593. /*! @name VSYN_PARA - Vertical Sync Parameter Register */
  58594. /*! @{ */
  58595. #define LCDIFV2_VSYN_PARA_FP_V_MASK (0x1FFU)
  58596. #define LCDIFV2_VSYN_PARA_FP_V_SHIFT (0U)
  58597. /*! FP_V - VSYNC front-porch pulse width (in horizontal line cycles). Pulse width has a minimum value of 1
  58598. */
  58599. #define LCDIFV2_VSYN_PARA_FP_V(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_VSYN_PARA_FP_V_SHIFT)) & LCDIFV2_VSYN_PARA_FP_V_MASK)
  58600. #define LCDIFV2_VSYN_PARA_PW_V_MASK (0xFF800U)
  58601. #define LCDIFV2_VSYN_PARA_PW_V_SHIFT (11U)
  58602. /*! PW_V - VSYNC active pulse width (in horizontal line cycles). Pulse width has a minimum value of 1
  58603. */
  58604. #define LCDIFV2_VSYN_PARA_PW_V(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_VSYN_PARA_PW_V_SHIFT)) & LCDIFV2_VSYN_PARA_PW_V_MASK)
  58605. #define LCDIFV2_VSYN_PARA_BP_V_MASK (0x7FC00000U)
  58606. #define LCDIFV2_VSYN_PARA_BP_V_SHIFT (22U)
  58607. /*! BP_V - VSYNC back-porch pulse width (in horizontal line cycles). Pulse width has a minimum value of 1
  58608. */
  58609. #define LCDIFV2_VSYN_PARA_BP_V(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_VSYN_PARA_BP_V_SHIFT)) & LCDIFV2_VSYN_PARA_BP_V_MASK)
  58610. /*! @} */
  58611. /*! @name INT_STATUS - Interrupt Status Register for domain 0..Interrupt Status Register for domain 1 */
  58612. /*! @{ */
  58613. #define LCDIFV2_INT_STATUS_VSYNC_MASK (0x1U)
  58614. #define LCDIFV2_INT_STATUS_VSYNC_SHIFT (0U)
  58615. /*! VSYNC - Interrupt flag to indicate that the vertical synchronization phase(The beginning of a frame)
  58616. * 0b0..VSYNC has not started
  58617. * 0b1..VSYNC has started
  58618. */
  58619. #define LCDIFV2_INT_STATUS_VSYNC(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_INT_STATUS_VSYNC_SHIFT)) & LCDIFV2_INT_STATUS_VSYNC_MASK)
  58620. #define LCDIFV2_INT_STATUS_UNDERRUN_MASK (0x2U)
  58621. #define LCDIFV2_INT_STATUS_UNDERRUN_SHIFT (1U)
  58622. /*! UNDERRUN - Interrupt flag to indicate the output buffer underrun condition
  58623. * 0b0..Output buffer not underrun
  58624. * 0b1..Output buffer underrun
  58625. */
  58626. #define LCDIFV2_INT_STATUS_UNDERRUN(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_INT_STATUS_UNDERRUN_SHIFT)) & LCDIFV2_INT_STATUS_UNDERRUN_MASK)
  58627. #define LCDIFV2_INT_STATUS_VS_BLANK_MASK (0x4U)
  58628. #define LCDIFV2_INT_STATUS_VS_BLANK_SHIFT (2U)
  58629. /*! VS_BLANK - Interrupt flag to indicate vertical blanking period
  58630. * 0b0..Vertical blanking period has not started
  58631. * 0b1..Vertical blanking period has started
  58632. */
  58633. #define LCDIFV2_INT_STATUS_VS_BLANK(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_INT_STATUS_VS_BLANK_SHIFT)) & LCDIFV2_INT_STATUS_VS_BLANK_MASK)
  58634. #define LCDIFV2_INT_STATUS_DMA_ERR_MASK (0xFF00U)
  58635. #define LCDIFV2_INT_STATUS_DMA_ERR_SHIFT (8U)
  58636. /*! DMA_ERR - Interrupt flag to indicate that which PLANE has Read Error on the AXI interface
  58637. */
  58638. #define LCDIFV2_INT_STATUS_DMA_ERR(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_INT_STATUS_DMA_ERR_SHIFT)) & LCDIFV2_INT_STATUS_DMA_ERR_MASK)
  58639. #define LCDIFV2_INT_STATUS_DMA_DONE_MASK (0xFF0000U)
  58640. #define LCDIFV2_INT_STATUS_DMA_DONE_SHIFT (16U)
  58641. /*! DMA_DONE - Interrupt flag to indicate that which PLANE has fetched the last pixel from memory
  58642. */
  58643. #define LCDIFV2_INT_STATUS_DMA_DONE(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_INT_STATUS_DMA_DONE_SHIFT)) & LCDIFV2_INT_STATUS_DMA_DONE_MASK)
  58644. #define LCDIFV2_INT_STATUS_FIFO_EMPTY_MASK (0xFF000000U)
  58645. #define LCDIFV2_INT_STATUS_FIFO_EMPTY_SHIFT (24U)
  58646. /*! FIFO_EMPTY - Interrupt flag to indicate that which FIFO in the pixel blending underflowed
  58647. */
  58648. #define LCDIFV2_INT_STATUS_FIFO_EMPTY(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_INT_STATUS_FIFO_EMPTY_SHIFT)) & LCDIFV2_INT_STATUS_FIFO_EMPTY_MASK)
  58649. /*! @} */
  58650. /* The count of LCDIFV2_INT_STATUS */
  58651. #define LCDIFV2_INT_STATUS_COUNT (2U)
  58652. /*! @name INT_ENABLE - Interrupt Enable Register for domain 0..Interrupt Enable Register for domain 1 */
  58653. /*! @{ */
  58654. #define LCDIFV2_INT_ENABLE_VSYNC_EN_MASK (0x1U)
  58655. #define LCDIFV2_INT_ENABLE_VSYNC_EN_SHIFT (0U)
  58656. /*! VSYNC_EN - Enable Interrupt flag to indicate that the vertical synchronization phase(The beginning of a frame)
  58657. * 0b0..VSYNC interrupt disable
  58658. * 0b1..VSYNC interrupt enable
  58659. */
  58660. #define LCDIFV2_INT_ENABLE_VSYNC_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_INT_ENABLE_VSYNC_EN_SHIFT)) & LCDIFV2_INT_ENABLE_VSYNC_EN_MASK)
  58661. #define LCDIFV2_INT_ENABLE_UNDERRUN_EN_MASK (0x2U)
  58662. #define LCDIFV2_INT_ENABLE_UNDERRUN_EN_SHIFT (1U)
  58663. /*! UNDERRUN_EN - Enable Interrupt flag to indicate the output buffer underrun condition
  58664. * 0b0..Output buffer underrun disable
  58665. * 0b1..Output buffer underrun enable
  58666. */
  58667. #define LCDIFV2_INT_ENABLE_UNDERRUN_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_INT_ENABLE_UNDERRUN_EN_SHIFT)) & LCDIFV2_INT_ENABLE_UNDERRUN_EN_MASK)
  58668. #define LCDIFV2_INT_ENABLE_VS_BLANK_EN_MASK (0x4U)
  58669. #define LCDIFV2_INT_ENABLE_VS_BLANK_EN_SHIFT (2U)
  58670. /*! VS_BLANK_EN - Enable Interrupt flag to indicate vertical blanking period
  58671. * 0b0..Vertical blanking start interrupt disable
  58672. * 0b1..Vertical blanking start interrupt enable
  58673. */
  58674. #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)
  58675. #define LCDIFV2_INT_ENABLE_DMA_ERR_EN_MASK (0xFF00U)
  58676. #define LCDIFV2_INT_ENABLE_DMA_ERR_EN_SHIFT (8U)
  58677. /*! DMA_ERR_EN - Enable Interrupt flag to indicate that which PLANE has Read Error on the AXI interface
  58678. */
  58679. #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)
  58680. #define LCDIFV2_INT_ENABLE_DMA_DONE_EN_MASK (0xFF0000U)
  58681. #define LCDIFV2_INT_ENABLE_DMA_DONE_EN_SHIFT (16U)
  58682. /*! DMA_DONE_EN - Enable Interrupt flag to indicate that which PLANE has fetched the last pixel from memory
  58683. */
  58684. #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)
  58685. #define LCDIFV2_INT_ENABLE_FIFO_EMPTY_EN_MASK (0xFF000000U)
  58686. #define LCDIFV2_INT_ENABLE_FIFO_EMPTY_EN_SHIFT (24U)
  58687. /*! FIFO_EMPTY_EN - Enable Interrupt flag to indicate that which FIFO in the pixel blending underflowed
  58688. */
  58689. #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)
  58690. /*! @} */
  58691. /* The count of LCDIFV2_INT_ENABLE */
  58692. #define LCDIFV2_INT_ENABLE_COUNT (2U)
  58693. /*! @name PDI_PARA - Parallel Data Interface Parameter Register */
  58694. /*! @{ */
  58695. #define LCDIFV2_PDI_PARA_INV_PDI_HS_MASK (0x1U)
  58696. #define LCDIFV2_PDI_PARA_INV_PDI_HS_SHIFT (0U)
  58697. /*! INV_PDI_HS - Polarity of PDI input HSYNC
  58698. * 0b0..HSYNC is active HIGH
  58699. * 0b1..HSYNC is active LOW
  58700. */
  58701. #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)
  58702. #define LCDIFV2_PDI_PARA_INV_PDI_VS_MASK (0x2U)
  58703. #define LCDIFV2_PDI_PARA_INV_PDI_VS_SHIFT (1U)
  58704. /*! INV_PDI_VS - Polarity of PDI input VSYNC
  58705. * 0b0..VSYNC is active HIGH
  58706. * 0b1..VSYNC is active LOW
  58707. */
  58708. #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)
  58709. #define LCDIFV2_PDI_PARA_INV_PDI_DE_MASK (0x4U)
  58710. #define LCDIFV2_PDI_PARA_INV_PDI_DE_SHIFT (2U)
  58711. /*! INV_PDI_DE - Polarity of PDI input Data Enable
  58712. * 0b0..Data enable is active HIGH
  58713. * 0b1..Data enable is active LOW
  58714. */
  58715. #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)
  58716. #define LCDIFV2_PDI_PARA_INV_PDI_PXCK_MASK (0x8U)
  58717. #define LCDIFV2_PDI_PARA_INV_PDI_PXCK_SHIFT (3U)
  58718. /*! INV_PDI_PXCK - Polarity of PDI input Pixel Clock
  58719. * 0b0..Samples data on the falling edge
  58720. * 0b1..Samples data on the rising edge
  58721. */
  58722. #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)
  58723. #define LCDIFV2_PDI_PARA_MODE_MASK (0xF0U)
  58724. #define LCDIFV2_PDI_PARA_MODE_SHIFT (4U)
  58725. /*! MODE - The PDI mode for input data format
  58726. * 0b0000..32 bpp (ARGB8888)
  58727. * 0b0001..24 bpp (RGB888)
  58728. * 0b0010..24 bpp (RGB666)
  58729. * 0b0011..16 bpp (RGB565)
  58730. * 0b0100..16 bpp (RGB444)
  58731. * 0b0101..16 bpp (RGB555)
  58732. * 0b0110..16 bpp (YCbCr422)
  58733. */
  58734. #define LCDIFV2_PDI_PARA_MODE(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_PDI_PARA_MODE_SHIFT)) & LCDIFV2_PDI_PARA_MODE_MASK)
  58735. #define LCDIFV2_PDI_PARA_PDI_SEL_MASK (0x40000000U)
  58736. #define LCDIFV2_PDI_PARA_PDI_SEL_SHIFT (30U)
  58737. /*! PDI_SEL - PDI selected on LCDIFv2 plane number
  58738. * 0b0..PDI selected on LCDIFv2 plane 0
  58739. * 0b1..PDI selected on LCDIFv2 plane 1
  58740. */
  58741. #define LCDIFV2_PDI_PARA_PDI_SEL(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_PDI_PARA_PDI_SEL_SHIFT)) & LCDIFV2_PDI_PARA_PDI_SEL_MASK)
  58742. #define LCDIFV2_PDI_PARA_PDI_EN_MASK (0x80000000U)
  58743. #define LCDIFV2_PDI_PARA_PDI_EN_SHIFT (31U)
  58744. /*! PDI_EN - Enable PDI input data to LCDIFv2 display
  58745. * 0b0..Disable PDI input data
  58746. * 0b1..Enable PDI input data
  58747. */
  58748. #define LCDIFV2_PDI_PARA_PDI_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_PDI_PARA_PDI_EN_SHIFT)) & LCDIFV2_PDI_PARA_PDI_EN_MASK)
  58749. /*! @} */
  58750. /*! @name CTRLDESCL1 - Control Descriptor Layer 1 Register */
  58751. /*! @{ */
  58752. #define LCDIFV2_CTRLDESCL1_WIDTH_MASK (0xFFFU)
  58753. #define LCDIFV2_CTRLDESCL1_WIDTH_SHIFT (0U)
  58754. /*! WIDTH - Width of the layer in pixels
  58755. */
  58756. #define LCDIFV2_CTRLDESCL1_WIDTH(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRLDESCL1_WIDTH_SHIFT)) & LCDIFV2_CTRLDESCL1_WIDTH_MASK)
  58757. #define LCDIFV2_CTRLDESCL1_HEIGHT_MASK (0xFFF0000U)
  58758. #define LCDIFV2_CTRLDESCL1_HEIGHT_SHIFT (16U)
  58759. /*! HEIGHT - Height of the layer in pixels
  58760. */
  58761. #define LCDIFV2_CTRLDESCL1_HEIGHT(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRLDESCL1_HEIGHT_SHIFT)) & LCDIFV2_CTRLDESCL1_HEIGHT_MASK)
  58762. /*! @} */
  58763. /* The count of LCDIFV2_CTRLDESCL1 */
  58764. #define LCDIFV2_CTRLDESCL1_COUNT (8U)
  58765. /*! @name CTRLDESCL2 - Control Descriptor Layer 2 Register */
  58766. /*! @{ */
  58767. #define LCDIFV2_CTRLDESCL2_POSX_MASK (0xFFFU)
  58768. #define LCDIFV2_CTRLDESCL2_POSX_SHIFT (0U)
  58769. /*! POSX - The horizontal position of left-hand column of the layer, where 0 is the left-hand column
  58770. * of the panel, only positive values are to the right the left-hand column of the panel
  58771. */
  58772. #define LCDIFV2_CTRLDESCL2_POSX(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRLDESCL2_POSX_SHIFT)) & LCDIFV2_CTRLDESCL2_POSX_MASK)
  58773. #define LCDIFV2_CTRLDESCL2_POSY_MASK (0xFFF0000U)
  58774. #define LCDIFV2_CTRLDESCL2_POSY_SHIFT (16U)
  58775. /*! POSY - The vertical position of top row of the layer, where 0 is the top row of the panel, only
  58776. * positive values are below the top row of the panel
  58777. */
  58778. #define LCDIFV2_CTRLDESCL2_POSY(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRLDESCL2_POSY_SHIFT)) & LCDIFV2_CTRLDESCL2_POSY_MASK)
  58779. /*! @} */
  58780. /* The count of LCDIFV2_CTRLDESCL2 */
  58781. #define LCDIFV2_CTRLDESCL2_COUNT (8U)
  58782. /*! @name CTRLDESCL3 - Control Descriptor Layer 3 Register */
  58783. /*! @{ */
  58784. #define LCDIFV2_CTRLDESCL3_PITCH_MASK (0xFFFFU)
  58785. #define LCDIFV2_CTRLDESCL3_PITCH_SHIFT (0U)
  58786. /*! PITCH - Number of bytes between 2 vertically adjacent pixels in system memory. Byte granularity
  58787. * is supported, but SW should align to 64B boundry
  58788. */
  58789. #define LCDIFV2_CTRLDESCL3_PITCH(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRLDESCL3_PITCH_SHIFT)) & LCDIFV2_CTRLDESCL3_PITCH_MASK)
  58790. /*! @} */
  58791. /* The count of LCDIFV2_CTRLDESCL3 */
  58792. #define LCDIFV2_CTRLDESCL3_COUNT (8U)
  58793. /*! @name CTRLDESCL4 - Control Descriptor Layer 4 Register */
  58794. /*! @{ */
  58795. #define LCDIFV2_CTRLDESCL4_ADDR_MASK (0xFFFFFFFFU)
  58796. #define LCDIFV2_CTRLDESCL4_ADDR_SHIFT (0U)
  58797. /*! ADDR - Address of layer data in the memory. The address programmed should be 64-bit aligned
  58798. */
  58799. #define LCDIFV2_CTRLDESCL4_ADDR(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRLDESCL4_ADDR_SHIFT)) & LCDIFV2_CTRLDESCL4_ADDR_MASK)
  58800. /*! @} */
  58801. /* The count of LCDIFV2_CTRLDESCL4 */
  58802. #define LCDIFV2_CTRLDESCL4_COUNT (8U)
  58803. /*! @name CTRLDESCL5 - Control Descriptor Layer 5 Register */
  58804. /*! @{ */
  58805. #define LCDIFV2_CTRLDESCL5_AB_MODE_MASK (0x3U)
  58806. #define LCDIFV2_CTRLDESCL5_AB_MODE_SHIFT (0U)
  58807. /*! AB_MODE - Alpha Blending Mode
  58808. * 0b00..No alpha Blending (The SAFETY_EN bit need set to 1)
  58809. * 0b01..Blend with global ALPHA
  58810. * 0b10..Blend with embedded ALPHA
  58811. * 0b11..Blend with PoterDuff enable
  58812. */
  58813. #define LCDIFV2_CTRLDESCL5_AB_MODE(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRLDESCL5_AB_MODE_SHIFT)) & LCDIFV2_CTRLDESCL5_AB_MODE_MASK)
  58814. #define LCDIFV2_CTRLDESCL5_PD_FACTOR_MODE_MASK (0x30U)
  58815. #define LCDIFV2_CTRLDESCL5_PD_FACTOR_MODE_SHIFT (4U)
  58816. /*! PD_FACTOR_MODE - PoterDuff factor mode
  58817. * 0b00..Using 1
  58818. * 0b01..Using 0
  58819. * 0b10..Using straight alpha
  58820. * 0b11..Using inverse alpha
  58821. */
  58822. #define LCDIFV2_CTRLDESCL5_PD_FACTOR_MODE(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRLDESCL5_PD_FACTOR_MODE_SHIFT)) & LCDIFV2_CTRLDESCL5_PD_FACTOR_MODE_MASK)
  58823. #define LCDIFV2_CTRLDESCL5_PD_GLOBAL_ALPHA_MODE_MASK (0xC0U)
  58824. #define LCDIFV2_CTRLDESCL5_PD_GLOBAL_ALPHA_MODE_SHIFT (6U)
  58825. /*! PD_GLOBAL_ALPHA_MODE - PoterDuff global alpha mode
  58826. * 0b00..Using global alpha
  58827. * 0b01..Using local alpha
  58828. * 0b10..Using scaled alpha
  58829. * 0b11..Using scaled alpha
  58830. */
  58831. #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)
  58832. #define LCDIFV2_CTRLDESCL5_PD_ALPHA_MODE_MASK (0x100U)
  58833. #define LCDIFV2_CTRLDESCL5_PD_ALPHA_MODE_SHIFT (8U)
  58834. /*! PD_ALPHA_MODE - PoterDuff alpha mode
  58835. * 0b0..Straight mode for Porter Duff alpha
  58836. * 0b1..Inversed mode for Porter Duff alpha
  58837. */
  58838. #define LCDIFV2_CTRLDESCL5_PD_ALPHA_MODE(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRLDESCL5_PD_ALPHA_MODE_SHIFT)) & LCDIFV2_CTRLDESCL5_PD_ALPHA_MODE_MASK)
  58839. #define LCDIFV2_CTRLDESCL5_PD_COLOR_MODE_MASK (0x200U)
  58840. #define LCDIFV2_CTRLDESCL5_PD_COLOR_MODE_SHIFT (9U)
  58841. /*! PD_COLOR_MODE - PoterDuff alpha mode
  58842. * 0b0..Straight mode for Porter Duff color
  58843. * 0b1..Inversed mode for Porter Duff color
  58844. */
  58845. #define LCDIFV2_CTRLDESCL5_PD_COLOR_MODE(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRLDESCL5_PD_COLOR_MODE_SHIFT)) & LCDIFV2_CTRLDESCL5_PD_COLOR_MODE_MASK)
  58846. #define LCDIFV2_CTRLDESCL5_YUV_FORMAT_MASK (0xC000U)
  58847. #define LCDIFV2_CTRLDESCL5_YUV_FORMAT_SHIFT (14U)
  58848. /*! YUV_FORMAT - The YUV422 input format selection
  58849. * 0b00..The YVYU422 8bit sequence is U1,Y1,V1,Y2
  58850. * 0b01..The YVYU422 8bit sequence is V1,Y1,U1,Y2
  58851. * 0b10..The YVYU422 8bit sequence is Y1,U1,Y2,V1
  58852. * 0b11..The YVYU422 8bit sequence is Y1,V1,Y2,U1
  58853. */
  58854. #define LCDIFV2_CTRLDESCL5_YUV_FORMAT(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRLDESCL5_YUV_FORMAT_SHIFT)) & LCDIFV2_CTRLDESCL5_YUV_FORMAT_MASK)
  58855. #define LCDIFV2_CTRLDESCL5_GLOBAL_ALPHA_MASK (0xFF0000U)
  58856. #define LCDIFV2_CTRLDESCL5_GLOBAL_ALPHA_SHIFT (16U)
  58857. /*! GLOBAL_ALPHA - Global Alpha
  58858. */
  58859. #define LCDIFV2_CTRLDESCL5_GLOBAL_ALPHA(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRLDESCL5_GLOBAL_ALPHA_SHIFT)) & LCDIFV2_CTRLDESCL5_GLOBAL_ALPHA_MASK)
  58860. #define LCDIFV2_CTRLDESCL5_BPP_MASK (0xF000000U)
  58861. #define LCDIFV2_CTRLDESCL5_BPP_SHIFT (24U)
  58862. /*! BPP - Layer encoding format (bit per pixel)
  58863. * 0b0000..1 bpp
  58864. * 0b0001..2 bpp
  58865. * 0b0010..4 bpp
  58866. * 0b0011..8 bpp
  58867. * 0b0100..16 bpp (RGB565)
  58868. * 0b0101..16 bpp (ARGB1555)
  58869. * 0b0110..16 bpp (ARGB4444)
  58870. * 0b0111..YCbCr422 (Only layer 0/1 can support this format)
  58871. * 0b1000..24 bpp (RGB888)
  58872. * 0b1001..32 bpp (ARGB8888)
  58873. * 0b1010..32 bpp (ABGR8888)
  58874. */
  58875. #define LCDIFV2_CTRLDESCL5_BPP(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRLDESCL5_BPP_SHIFT)) & LCDIFV2_CTRLDESCL5_BPP_MASK)
  58876. #define LCDIFV2_CTRLDESCL5_SAFETY_EN_MASK (0x10000000U)
  58877. #define LCDIFV2_CTRLDESCL5_SAFETY_EN_SHIFT (28U)
  58878. /*! SAFETY_EN - Safety Mode Enable Bit
  58879. * 0b0..Safety Mode is disabled
  58880. * 0b1..Safety Mode is enabled for this layer
  58881. */
  58882. #define LCDIFV2_CTRLDESCL5_SAFETY_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRLDESCL5_SAFETY_EN_SHIFT)) & LCDIFV2_CTRLDESCL5_SAFETY_EN_MASK)
  58883. #define LCDIFV2_CTRLDESCL5_SHADOW_LOAD_EN_MASK (0x40000000U)
  58884. #define LCDIFV2_CTRLDESCL5_SHADOW_LOAD_EN_SHIFT (30U)
  58885. /*! SHADOW_LOAD_EN - Shadow Load Enable
  58886. */
  58887. #define LCDIFV2_CTRLDESCL5_SHADOW_LOAD_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRLDESCL5_SHADOW_LOAD_EN_SHIFT)) & LCDIFV2_CTRLDESCL5_SHADOW_LOAD_EN_MASK)
  58888. #define LCDIFV2_CTRLDESCL5_EN_MASK (0x80000000U)
  58889. #define LCDIFV2_CTRLDESCL5_EN_SHIFT (31U)
  58890. /*! EN - Enable the layer for DMA
  58891. * 0b0..OFF
  58892. * 0b1..ON
  58893. */
  58894. #define LCDIFV2_CTRLDESCL5_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRLDESCL5_EN_SHIFT)) & LCDIFV2_CTRLDESCL5_EN_MASK)
  58895. /*! @} */
  58896. /* The count of LCDIFV2_CTRLDESCL5 */
  58897. #define LCDIFV2_CTRLDESCL5_COUNT (8U)
  58898. /*! @name CTRLDESCL6 - Control Descriptor Layer 6 Register */
  58899. /*! @{ */
  58900. #define LCDIFV2_CTRLDESCL6_BCLR_B_MASK (0xFFU)
  58901. #define LCDIFV2_CTRLDESCL6_BCLR_B_SHIFT (0U)
  58902. /*! BCLR_B - Background B component value
  58903. */
  58904. #define LCDIFV2_CTRLDESCL6_BCLR_B(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRLDESCL6_BCLR_B_SHIFT)) & LCDIFV2_CTRLDESCL6_BCLR_B_MASK)
  58905. #define LCDIFV2_CTRLDESCL6_BCLR_G_MASK (0xFF00U)
  58906. #define LCDIFV2_CTRLDESCL6_BCLR_G_SHIFT (8U)
  58907. /*! BCLR_G - Background G component value
  58908. */
  58909. #define LCDIFV2_CTRLDESCL6_BCLR_G(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRLDESCL6_BCLR_G_SHIFT)) & LCDIFV2_CTRLDESCL6_BCLR_G_MASK)
  58910. #define LCDIFV2_CTRLDESCL6_BCLR_R_MASK (0xFF0000U)
  58911. #define LCDIFV2_CTRLDESCL6_BCLR_R_SHIFT (16U)
  58912. /*! BCLR_R - Background R component value
  58913. */
  58914. #define LCDIFV2_CTRLDESCL6_BCLR_R(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRLDESCL6_BCLR_R_SHIFT)) & LCDIFV2_CTRLDESCL6_BCLR_R_MASK)
  58915. /*! @} */
  58916. /* The count of LCDIFV2_CTRLDESCL6 */
  58917. #define LCDIFV2_CTRLDESCL6_COUNT (8U)
  58918. /*! @name CSC_COEF0 - Color Space Conversion Coefficient Register 0 */
  58919. /*! @{ */
  58920. #define LCDIFV2_CSC_COEF0_Y_OFFSET_MASK (0x1FFU)
  58921. #define LCDIFV2_CSC_COEF0_Y_OFFSET_SHIFT (0U)
  58922. /*! Y_OFFSET - Two's compliment amplitude offset implicit in the Y data. For YUV, this is typically
  58923. * 0 and for YCbCr, this is typically -16 (0x1F0)
  58924. */
  58925. #define LCDIFV2_CSC_COEF0_Y_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CSC_COEF0_Y_OFFSET_SHIFT)) & LCDIFV2_CSC_COEF0_Y_OFFSET_MASK)
  58926. #define LCDIFV2_CSC_COEF0_UV_OFFSET_MASK (0x3FE00U)
  58927. #define LCDIFV2_CSC_COEF0_UV_OFFSET_SHIFT (9U)
  58928. /*! UV_OFFSET - Two's compliment phase offset implicit for CbCr data. Generally used for YCbCr to
  58929. * RGB conversion. YCbCr=0x180, YUV=0x000 (typically -128 or 0x180 to indicate normalized -0.5 to
  58930. * 0.5 range)
  58931. */
  58932. #define LCDIFV2_CSC_COEF0_UV_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CSC_COEF0_UV_OFFSET_SHIFT)) & LCDIFV2_CSC_COEF0_UV_OFFSET_MASK)
  58933. #define LCDIFV2_CSC_COEF0_C0_MASK (0x1FFC0000U)
  58934. #define LCDIFV2_CSC_COEF0_C0_SHIFT (18U)
  58935. /*! C0 - Two's compliment Y multiplier coefficient. YUV=0x100 (1.000) YCbCr=0x12A (1.164)
  58936. */
  58937. #define LCDIFV2_CSC_COEF0_C0(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CSC_COEF0_C0_SHIFT)) & LCDIFV2_CSC_COEF0_C0_MASK)
  58938. #define LCDIFV2_CSC_COEF0_ENABLE_MASK (0x40000000U)
  58939. #define LCDIFV2_CSC_COEF0_ENABLE_SHIFT (30U)
  58940. /*! ENABLE - Enable the CSC unit in the LCDIFv2 plane data path
  58941. * 0b0..The CSC is bypassed and the input pixels are RGB data already
  58942. * 0b1..The CSC is enabled and the pixels will be converted to RGB data
  58943. */
  58944. #define LCDIFV2_CSC_COEF0_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CSC_COEF0_ENABLE_SHIFT)) & LCDIFV2_CSC_COEF0_ENABLE_MASK)
  58945. #define LCDIFV2_CSC_COEF0_YCBCR_MODE_MASK (0x80000000U)
  58946. #define LCDIFV2_CSC_COEF0_YCBCR_MODE_SHIFT (31U)
  58947. /*! YCBCR_MODE - This bit changes the behavior when performing U/V converting
  58948. * 0b0..Converting YUV to RGB data
  58949. * 0b1..Converting YCbCr to RGB data
  58950. */
  58951. #define LCDIFV2_CSC_COEF0_YCBCR_MODE(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CSC_COEF0_YCBCR_MODE_SHIFT)) & LCDIFV2_CSC_COEF0_YCBCR_MODE_MASK)
  58952. /*! @} */
  58953. /* The count of LCDIFV2_CSC_COEF0 */
  58954. #define LCDIFV2_CSC_COEF0_COUNT (8U)
  58955. /*! @name CSC_COEF1 - Color Space Conversion Coefficient Register 1 */
  58956. /*! @{ */
  58957. #define LCDIFV2_CSC_COEF1_C4_MASK (0x7FFU)
  58958. #define LCDIFV2_CSC_COEF1_C4_SHIFT (0U)
  58959. /*! C4 - Two's compliment Blue U/Cb multiplier coefficient. YUV=0x208 (2.032) YCbCr=0x204 (2.017)
  58960. */
  58961. #define LCDIFV2_CSC_COEF1_C4(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CSC_COEF1_C4_SHIFT)) & LCDIFV2_CSC_COEF1_C4_MASK)
  58962. #define LCDIFV2_CSC_COEF1_C1_MASK (0x7FF0000U)
  58963. #define LCDIFV2_CSC_COEF1_C1_SHIFT (16U)
  58964. /*! C1 - Two's compliment Red V/Cr multiplier coefficient. YUV=0x123 (1.140) YCbCr=0x198 (1.596)
  58965. */
  58966. #define LCDIFV2_CSC_COEF1_C1(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CSC_COEF1_C1_SHIFT)) & LCDIFV2_CSC_COEF1_C1_MASK)
  58967. /*! @} */
  58968. /* The count of LCDIFV2_CSC_COEF1 */
  58969. #define LCDIFV2_CSC_COEF1_COUNT (8U)
  58970. /*! @name CSC_COEF2 - Color Space Conversion Coefficient Register 2 */
  58971. /*! @{ */
  58972. #define LCDIFV2_CSC_COEF2_C3_MASK (0x7FFU)
  58973. #define LCDIFV2_CSC_COEF2_C3_SHIFT (0U)
  58974. /*! C3 - Two's compliment Green U/Cb multiplier coefficient. YUV=0x79C (-0.394) YCbCr=0x79C (-0.392)
  58975. */
  58976. #define LCDIFV2_CSC_COEF2_C3(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CSC_COEF2_C3_SHIFT)) & LCDIFV2_CSC_COEF2_C3_MASK)
  58977. #define LCDIFV2_CSC_COEF2_C2_MASK (0x7FF0000U)
  58978. #define LCDIFV2_CSC_COEF2_C2_SHIFT (16U)
  58979. /*! C2 - Two's compliment Green V/Cr multiplier coefficient. YUV=0x76B (-0.581) YCbCr=0x730 (-0.813)
  58980. */
  58981. #define LCDIFV2_CSC_COEF2_C2(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CSC_COEF2_C2_SHIFT)) & LCDIFV2_CSC_COEF2_C2_MASK)
  58982. /*! @} */
  58983. /* The count of LCDIFV2_CSC_COEF2 */
  58984. #define LCDIFV2_CSC_COEF2_COUNT (8U)
  58985. /*! @name CLUT_LOAD - LCDIFv2 CLUT load Register */
  58986. /*! @{ */
  58987. #define LCDIFV2_CLUT_LOAD_CLUT_UPDATE_EN_MASK (0x1U)
  58988. #define LCDIFV2_CLUT_LOAD_CLUT_UPDATE_EN_SHIFT (0U)
  58989. /*! CLUT_UPDATE_EN - CLUT Update Enable
  58990. */
  58991. #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)
  58992. #define LCDIFV2_CLUT_LOAD_SEL_CLUT_NUM_MASK (0x70U)
  58993. #define LCDIFV2_CLUT_LOAD_SEL_CLUT_NUM_SHIFT (4U)
  58994. /*! SEL_CLUT_NUM - Selected CLUT Number
  58995. */
  58996. #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)
  58997. /*! @} */
  58998. /*!
  58999. * @}
  59000. */ /* end of group LCDIFV2_Register_Masks */
  59001. /* LCDIFV2 - Peripheral instance base addresses */
  59002. /** Peripheral LCDIFV2 base address */
  59003. #define LCDIFV2_BASE (0x40808000u)
  59004. /** Peripheral LCDIFV2 base pointer */
  59005. #define LCDIFV2 ((LCDIFV2_Type *)LCDIFV2_BASE)
  59006. /** Array initializer of LCDIFV2 peripheral base addresses */
  59007. #define LCDIFV2_BASE_ADDRS { LCDIFV2_BASE }
  59008. /** Array initializer of LCDIFV2 peripheral base pointers */
  59009. #define LCDIFV2_BASE_PTRS { LCDIFV2 }
  59010. /*!
  59011. * @}
  59012. */ /* end of group LCDIFV2_Peripheral_Access_Layer */
  59013. /* ----------------------------------------------------------------------------
  59014. -- LMEM Peripheral Access Layer
  59015. ---------------------------------------------------------------------------- */
  59016. /*!
  59017. * @addtogroup LMEM_Peripheral_Access_Layer LMEM Peripheral Access Layer
  59018. * @{
  59019. */
  59020. /** LMEM - Register Layout Typedef */
  59021. typedef struct {
  59022. __IO uint32_t PCCCR; /**< PC bus Cache control register, offset: 0x0 */
  59023. __IO uint32_t PCCLCR; /**< PC bus Cache line control register, offset: 0x4 */
  59024. __IO uint32_t PCCSAR; /**< PC bus Cache search address register, offset: 0x8 */
  59025. __IO uint32_t PCCCVR; /**< PC bus Cache read/write value register, offset: 0xC */
  59026. uint8_t RESERVED_0[2032];
  59027. __IO uint32_t PSCCR; /**< PS bus Cache control register, offset: 0x800 */
  59028. __IO uint32_t PSCLCR; /**< PS bus Cache line control register, offset: 0x804 */
  59029. __IO uint32_t PSCSAR; /**< PS bus Cache search address register, offset: 0x808 */
  59030. __IO uint32_t PSCCVR; /**< PS bus Cache read/write value register, offset: 0x80C */
  59031. } LMEM_Type;
  59032. /* ----------------------------------------------------------------------------
  59033. -- LMEM Register Masks
  59034. ---------------------------------------------------------------------------- */
  59035. /*!
  59036. * @addtogroup LMEM_Register_Masks LMEM Register Masks
  59037. * @{
  59038. */
  59039. /*! @name PCCCR - PC bus Cache control register */
  59040. /*! @{ */
  59041. #define LMEM_PCCCR_ENCACHE_MASK (0x1U)
  59042. #define LMEM_PCCCR_ENCACHE_SHIFT (0U)
  59043. /*! ENCACHE - Cache enable
  59044. * 0b0..Cache disabled
  59045. * 0b1..Cache enabled
  59046. */
  59047. #define LMEM_PCCCR_ENCACHE(x) (((uint32_t)(((uint32_t)(x)) << LMEM_PCCCR_ENCACHE_SHIFT)) & LMEM_PCCCR_ENCACHE_MASK)
  59048. #define LMEM_PCCCR_ENWRBUF_MASK (0x2U)
  59049. #define LMEM_PCCCR_ENWRBUF_SHIFT (1U)
  59050. /*! ENWRBUF - Enable Write Buffer
  59051. * 0b0..Write buffer disabled
  59052. * 0b1..Write buffer enabled
  59053. */
  59054. #define LMEM_PCCCR_ENWRBUF(x) (((uint32_t)(((uint32_t)(x)) << LMEM_PCCCR_ENWRBUF_SHIFT)) & LMEM_PCCCR_ENWRBUF_MASK)
  59055. #define LMEM_PCCCR_PCCR2_MASK (0x4U)
  59056. #define LMEM_PCCCR_PCCR2_SHIFT (2U)
  59057. /*! PCCR2 - Forces all cacheable spaces to write through
  59058. * 0b0..Does NOT force all cacheable spaces to write through
  59059. * 0b1..Forces all cacheable spaces to write through
  59060. */
  59061. #define LMEM_PCCCR_PCCR2(x) (((uint32_t)(((uint32_t)(x)) << LMEM_PCCCR_PCCR2_SHIFT)) & LMEM_PCCCR_PCCR2_MASK)
  59062. #define LMEM_PCCCR_PCCR3_MASK (0x8U)
  59063. #define LMEM_PCCCR_PCCR3_SHIFT (3U)
  59064. /*! PCCR3 - Forces no allocation on cache misses
  59065. * 0b0..Allocation on cache misses
  59066. * 0b1..Forces no allocation on cache misses (must also have PCCR2 asserted)
  59067. */
  59068. #define LMEM_PCCCR_PCCR3(x) (((uint32_t)(((uint32_t)(x)) << LMEM_PCCCR_PCCR3_SHIFT)) & LMEM_PCCCR_PCCR3_MASK)
  59069. #define LMEM_PCCCR_INVW0_MASK (0x1000000U)
  59070. #define LMEM_PCCCR_INVW0_SHIFT (24U)
  59071. /*! INVW0 - Invalidate Way 0
  59072. * 0b0..No operation
  59073. * 0b1..When setting the GO bit, invalidate all lines in way 0.
  59074. */
  59075. #define LMEM_PCCCR_INVW0(x) (((uint32_t)(((uint32_t)(x)) << LMEM_PCCCR_INVW0_SHIFT)) & LMEM_PCCCR_INVW0_MASK)
  59076. #define LMEM_PCCCR_PUSHW0_MASK (0x2000000U)
  59077. #define LMEM_PCCCR_PUSHW0_SHIFT (25U)
  59078. /*! PUSHW0 - Push Way 0
  59079. * 0b0..No operation
  59080. * 0b1..When setting the GO bit, push all modified lines in way 0
  59081. */
  59082. #define LMEM_PCCCR_PUSHW0(x) (((uint32_t)(((uint32_t)(x)) << LMEM_PCCCR_PUSHW0_SHIFT)) & LMEM_PCCCR_PUSHW0_MASK)
  59083. #define LMEM_PCCCR_INVW1_MASK (0x4000000U)
  59084. #define LMEM_PCCCR_INVW1_SHIFT (26U)
  59085. /*! INVW1 - Invalidate Way 1
  59086. * 0b0..No operation
  59087. * 0b1..When setting the GO bit, invalidate all lines in way 1
  59088. */
  59089. #define LMEM_PCCCR_INVW1(x) (((uint32_t)(((uint32_t)(x)) << LMEM_PCCCR_INVW1_SHIFT)) & LMEM_PCCCR_INVW1_MASK)
  59090. #define LMEM_PCCCR_PUSHW1_MASK (0x8000000U)
  59091. #define LMEM_PCCCR_PUSHW1_SHIFT (27U)
  59092. /*! PUSHW1 - Push Way 1
  59093. * 0b0..No operation
  59094. * 0b1..When setting the GO bit, push all modified lines in way 1
  59095. */
  59096. #define LMEM_PCCCR_PUSHW1(x) (((uint32_t)(((uint32_t)(x)) << LMEM_PCCCR_PUSHW1_SHIFT)) & LMEM_PCCCR_PUSHW1_MASK)
  59097. #define LMEM_PCCCR_GO_MASK (0x80000000U)
  59098. #define LMEM_PCCCR_GO_SHIFT (31U)
  59099. /*! GO - Initiate Cache Command
  59100. * 0b0..Write: no effect. Read: no cache command active.
  59101. * 0b1..Write: initiate command indicated by bits 27-24. Read: cache command active.
  59102. */
  59103. #define LMEM_PCCCR_GO(x) (((uint32_t)(((uint32_t)(x)) << LMEM_PCCCR_GO_SHIFT)) & LMEM_PCCCR_GO_MASK)
  59104. /*! @} */
  59105. /*! @name PCCLCR - PC bus Cache line control register */
  59106. /*! @{ */
  59107. #define LMEM_PCCLCR_LGO_MASK (0x1U)
  59108. #define LMEM_PCCLCR_LGO_SHIFT (0U)
  59109. /*! LGO - Initiate Cache Line Command
  59110. * 0b0..Write: no effect. Read: no line command active.
  59111. * 0b1..Write: initiate line command indicated by bits 27-24. Read: line command active.
  59112. */
  59113. #define LMEM_PCCLCR_LGO(x) (((uint32_t)(((uint32_t)(x)) << LMEM_PCCLCR_LGO_SHIFT)) & LMEM_PCCLCR_LGO_MASK)
  59114. #define LMEM_PCCLCR_CACHEADDR_MASK (0x3FFCU)
  59115. #define LMEM_PCCLCR_CACHEADDR_SHIFT (2U)
  59116. /*! CACHEADDR - Cache address
  59117. */
  59118. #define LMEM_PCCLCR_CACHEADDR(x) (((uint32_t)(((uint32_t)(x)) << LMEM_PCCLCR_CACHEADDR_SHIFT)) & LMEM_PCCLCR_CACHEADDR_MASK)
  59119. #define LMEM_PCCLCR_WSEL_MASK (0x4000U)
  59120. #define LMEM_PCCLCR_WSEL_SHIFT (14U)
  59121. /*! WSEL - Way select
  59122. * 0b0..Way 0
  59123. * 0b1..Way 1
  59124. */
  59125. #define LMEM_PCCLCR_WSEL(x) (((uint32_t)(((uint32_t)(x)) << LMEM_PCCLCR_WSEL_SHIFT)) & LMEM_PCCLCR_WSEL_MASK)
  59126. #define LMEM_PCCLCR_TDSEL_MASK (0x10000U)
  59127. #define LMEM_PCCLCR_TDSEL_SHIFT (16U)
  59128. /*! TDSEL - Tag/Data Select
  59129. * 0b0..Data
  59130. * 0b1..Tag
  59131. */
  59132. #define LMEM_PCCLCR_TDSEL(x) (((uint32_t)(((uint32_t)(x)) << LMEM_PCCLCR_TDSEL_SHIFT)) & LMEM_PCCLCR_TDSEL_MASK)
  59133. #define LMEM_PCCLCR_LCIVB_MASK (0x100000U)
  59134. #define LMEM_PCCLCR_LCIVB_SHIFT (20U)
  59135. /*! LCIVB - Line Command Initial Valid Bit
  59136. */
  59137. #define LMEM_PCCLCR_LCIVB(x) (((uint32_t)(((uint32_t)(x)) << LMEM_PCCLCR_LCIVB_SHIFT)) & LMEM_PCCLCR_LCIVB_MASK)
  59138. #define LMEM_PCCLCR_LCIMB_MASK (0x200000U)
  59139. #define LMEM_PCCLCR_LCIMB_SHIFT (21U)
  59140. /*! LCIMB - Line Command Initial Modified Bit
  59141. */
  59142. #define LMEM_PCCLCR_LCIMB(x) (((uint32_t)(((uint32_t)(x)) << LMEM_PCCLCR_LCIMB_SHIFT)) & LMEM_PCCLCR_LCIMB_MASK)
  59143. #define LMEM_PCCLCR_LCWAY_MASK (0x400000U)
  59144. #define LMEM_PCCLCR_LCWAY_SHIFT (22U)
  59145. /*! LCWAY - Line Command Way
  59146. */
  59147. #define LMEM_PCCLCR_LCWAY(x) (((uint32_t)(((uint32_t)(x)) << LMEM_PCCLCR_LCWAY_SHIFT)) & LMEM_PCCLCR_LCWAY_MASK)
  59148. #define LMEM_PCCLCR_LCMD_MASK (0x3000000U)
  59149. #define LMEM_PCCLCR_LCMD_SHIFT (24U)
  59150. /*! LCMD - Line Command
  59151. * 0b00..Search and read or write
  59152. * 0b01..Invalidate
  59153. * 0b10..Push
  59154. * 0b11..Clear
  59155. */
  59156. #define LMEM_PCCLCR_LCMD(x) (((uint32_t)(((uint32_t)(x)) << LMEM_PCCLCR_LCMD_SHIFT)) & LMEM_PCCLCR_LCMD_MASK)
  59157. #define LMEM_PCCLCR_LADSEL_MASK (0x4000000U)
  59158. #define LMEM_PCCLCR_LADSEL_SHIFT (26U)
  59159. /*! LADSEL - Line Address Select
  59160. * 0b0..Cache address
  59161. * 0b1..Physical address
  59162. */
  59163. #define LMEM_PCCLCR_LADSEL(x) (((uint32_t)(((uint32_t)(x)) << LMEM_PCCLCR_LADSEL_SHIFT)) & LMEM_PCCLCR_LADSEL_MASK)
  59164. #define LMEM_PCCLCR_LACC_MASK (0x8000000U)
  59165. #define LMEM_PCCLCR_LACC_SHIFT (27U)
  59166. /*! LACC - Line access type
  59167. * 0b0..Read
  59168. * 0b1..Write
  59169. */
  59170. #define LMEM_PCCLCR_LACC(x) (((uint32_t)(((uint32_t)(x)) << LMEM_PCCLCR_LACC_SHIFT)) & LMEM_PCCLCR_LACC_MASK)
  59171. /*! @} */
  59172. /*! @name PCCSAR - PC bus Cache search address register */
  59173. /*! @{ */
  59174. #define LMEM_PCCSAR_LGO_MASK (0x1U)
  59175. #define LMEM_PCCSAR_LGO_SHIFT (0U)
  59176. /*! LGO - Initiate Cache Line Command
  59177. * 0b0..Write: no effect. Read: no line command active.
  59178. * 0b1..Write: initiate line command indicated by bits CLCR[27:24]. Read: line command active.
  59179. */
  59180. #define LMEM_PCCSAR_LGO(x) (((uint32_t)(((uint32_t)(x)) << LMEM_PCCSAR_LGO_SHIFT)) & LMEM_PCCSAR_LGO_MASK)
  59181. #define LMEM_PCCSAR_PHYADDR_MASK (0xFFFFFFFEU)
  59182. #define LMEM_PCCSAR_PHYADDR_SHIFT (1U)
  59183. /*! PHYADDR - Physical Address
  59184. */
  59185. #define LMEM_PCCSAR_PHYADDR(x) (((uint32_t)(((uint32_t)(x)) << LMEM_PCCSAR_PHYADDR_SHIFT)) & LMEM_PCCSAR_PHYADDR_MASK)
  59186. /*! @} */
  59187. /*! @name PCCCVR - PC bus Cache read/write value register */
  59188. /*! @{ */
  59189. #define LMEM_PCCCVR_DATA_MASK (0xFFFFFFFFU)
  59190. #define LMEM_PCCCVR_DATA_SHIFT (0U)
  59191. /*! DATA - Cache read/write Data
  59192. */
  59193. #define LMEM_PCCCVR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LMEM_PCCCVR_DATA_SHIFT)) & LMEM_PCCCVR_DATA_MASK)
  59194. /*! @} */
  59195. /*! @name PSCCR - PS bus Cache control register */
  59196. /*! @{ */
  59197. #define LMEM_PSCCR_ENCACHE_MASK (0x1U)
  59198. #define LMEM_PSCCR_ENCACHE_SHIFT (0U)
  59199. /*! ENCACHE - Cache enable
  59200. * 0b0..Cache disabled
  59201. * 0b1..Cache enabled
  59202. */
  59203. #define LMEM_PSCCR_ENCACHE(x) (((uint32_t)(((uint32_t)(x)) << LMEM_PSCCR_ENCACHE_SHIFT)) & LMEM_PSCCR_ENCACHE_MASK)
  59204. #define LMEM_PSCCR_ENWRBUF_MASK (0x2U)
  59205. #define LMEM_PSCCR_ENWRBUF_SHIFT (1U)
  59206. /*! ENWRBUF - Enable Write Buffer
  59207. * 0b0..Write buffer disabled
  59208. * 0b1..Write buffer enabled
  59209. */
  59210. #define LMEM_PSCCR_ENWRBUF(x) (((uint32_t)(((uint32_t)(x)) << LMEM_PSCCR_ENWRBUF_SHIFT)) & LMEM_PSCCR_ENWRBUF_MASK)
  59211. #define LMEM_PSCCR_PSCR2_MASK (0x4U)
  59212. #define LMEM_PSCCR_PSCR2_SHIFT (2U)
  59213. /*! PSCR2 - Forces all cacheable spaces to write through
  59214. * 0b0..Does NOT force all cacheable spaces to write through
  59215. * 0b1..Forces all cacheable spaces to write through
  59216. */
  59217. #define LMEM_PSCCR_PSCR2(x) (((uint32_t)(((uint32_t)(x)) << LMEM_PSCCR_PSCR2_SHIFT)) & LMEM_PSCCR_PSCR2_MASK)
  59218. #define LMEM_PSCCR_PSCR3_MASK (0x8U)
  59219. #define LMEM_PSCCR_PSCR3_SHIFT (3U)
  59220. /*! PSCR3 - Forces no allocation on cache misses
  59221. * 0b0..Allocation on cache misses
  59222. * 0b1..Forces no allocation on cache misses (must also have PSCR2 asserted)
  59223. */
  59224. #define LMEM_PSCCR_PSCR3(x) (((uint32_t)(((uint32_t)(x)) << LMEM_PSCCR_PSCR3_SHIFT)) & LMEM_PSCCR_PSCR3_MASK)
  59225. #define LMEM_PSCCR_INVW0_MASK (0x1000000U)
  59226. #define LMEM_PSCCR_INVW0_SHIFT (24U)
  59227. /*! INVW0 - Invalidate Way 0
  59228. * 0b0..No operation
  59229. * 0b1..When setting the GO bit, invalidate all lines in way 0.
  59230. */
  59231. #define LMEM_PSCCR_INVW0(x) (((uint32_t)(((uint32_t)(x)) << LMEM_PSCCR_INVW0_SHIFT)) & LMEM_PSCCR_INVW0_MASK)
  59232. #define LMEM_PSCCR_PUSHW0_MASK (0x2000000U)
  59233. #define LMEM_PSCCR_PUSHW0_SHIFT (25U)
  59234. /*! PUSHW0 - Push Way 0
  59235. * 0b0..No operation
  59236. * 0b1..When setting the GO bit, push all modified lines in way 0
  59237. */
  59238. #define LMEM_PSCCR_PUSHW0(x) (((uint32_t)(((uint32_t)(x)) << LMEM_PSCCR_PUSHW0_SHIFT)) & LMEM_PSCCR_PUSHW0_MASK)
  59239. #define LMEM_PSCCR_INVW1_MASK (0x4000000U)
  59240. #define LMEM_PSCCR_INVW1_SHIFT (26U)
  59241. /*! INVW1 - Invalidate Way 1
  59242. * 0b0..No operation
  59243. * 0b1..When setting the GO bit, invalidate all lines in way 1
  59244. */
  59245. #define LMEM_PSCCR_INVW1(x) (((uint32_t)(((uint32_t)(x)) << LMEM_PSCCR_INVW1_SHIFT)) & LMEM_PSCCR_INVW1_MASK)
  59246. #define LMEM_PSCCR_PUSHW1_MASK (0x8000000U)
  59247. #define LMEM_PSCCR_PUSHW1_SHIFT (27U)
  59248. /*! PUSHW1 - Push Way 1
  59249. * 0b0..No operation
  59250. * 0b1..When setting the GO bit, push all modified lines in way 1
  59251. */
  59252. #define LMEM_PSCCR_PUSHW1(x) (((uint32_t)(((uint32_t)(x)) << LMEM_PSCCR_PUSHW1_SHIFT)) & LMEM_PSCCR_PUSHW1_MASK)
  59253. #define LMEM_PSCCR_GO_MASK (0x80000000U)
  59254. #define LMEM_PSCCR_GO_SHIFT (31U)
  59255. /*! GO - Initiate Cache Command
  59256. * 0b0..Write: no effect. Read: no cache command active.
  59257. * 0b1..Write: initiate command indicated by bits 27-24. Read: cache command active.
  59258. */
  59259. #define LMEM_PSCCR_GO(x) (((uint32_t)(((uint32_t)(x)) << LMEM_PSCCR_GO_SHIFT)) & LMEM_PSCCR_GO_MASK)
  59260. /*! @} */
  59261. /*! @name PSCLCR - PS bus Cache line control register */
  59262. /*! @{ */
  59263. #define LMEM_PSCLCR_LGO_MASK (0x1U)
  59264. #define LMEM_PSCLCR_LGO_SHIFT (0U)
  59265. /*! LGO - Initiate Cache Line Command
  59266. * 0b0..Write: no effect. Read: no line command active.
  59267. * 0b1..Write: initiate line command indicated by bits 27-24. Read: line command active.
  59268. */
  59269. #define LMEM_PSCLCR_LGO(x) (((uint32_t)(((uint32_t)(x)) << LMEM_PSCLCR_LGO_SHIFT)) & LMEM_PSCLCR_LGO_MASK)
  59270. #define LMEM_PSCLCR_CACHEADDR_MASK (0x3FFCU)
  59271. #define LMEM_PSCLCR_CACHEADDR_SHIFT (2U)
  59272. /*! CACHEADDR - Cache address
  59273. */
  59274. #define LMEM_PSCLCR_CACHEADDR(x) (((uint32_t)(((uint32_t)(x)) << LMEM_PSCLCR_CACHEADDR_SHIFT)) & LMEM_PSCLCR_CACHEADDR_MASK)
  59275. #define LMEM_PSCLCR_WSEL_MASK (0x4000U)
  59276. #define LMEM_PSCLCR_WSEL_SHIFT (14U)
  59277. /*! WSEL - Way select
  59278. * 0b0..Way 0
  59279. * 0b1..Way 1
  59280. */
  59281. #define LMEM_PSCLCR_WSEL(x) (((uint32_t)(((uint32_t)(x)) << LMEM_PSCLCR_WSEL_SHIFT)) & LMEM_PSCLCR_WSEL_MASK)
  59282. #define LMEM_PSCLCR_TDSEL_MASK (0x10000U)
  59283. #define LMEM_PSCLCR_TDSEL_SHIFT (16U)
  59284. /*! TDSEL - Tag/Data Select
  59285. * 0b0..Data
  59286. * 0b1..Tag
  59287. */
  59288. #define LMEM_PSCLCR_TDSEL(x) (((uint32_t)(((uint32_t)(x)) << LMEM_PSCLCR_TDSEL_SHIFT)) & LMEM_PSCLCR_TDSEL_MASK)
  59289. #define LMEM_PSCLCR_LCIVB_MASK (0x100000U)
  59290. #define LMEM_PSCLCR_LCIVB_SHIFT (20U)
  59291. /*! LCIVB - Line Command Initial Valid Bit
  59292. */
  59293. #define LMEM_PSCLCR_LCIVB(x) (((uint32_t)(((uint32_t)(x)) << LMEM_PSCLCR_LCIVB_SHIFT)) & LMEM_PSCLCR_LCIVB_MASK)
  59294. #define LMEM_PSCLCR_LCIMB_MASK (0x200000U)
  59295. #define LMEM_PSCLCR_LCIMB_SHIFT (21U)
  59296. /*! LCIMB - Line Command Initial Modified Bit
  59297. */
  59298. #define LMEM_PSCLCR_LCIMB(x) (((uint32_t)(((uint32_t)(x)) << LMEM_PSCLCR_LCIMB_SHIFT)) & LMEM_PSCLCR_LCIMB_MASK)
  59299. #define LMEM_PSCLCR_LCWAY_MASK (0x400000U)
  59300. #define LMEM_PSCLCR_LCWAY_SHIFT (22U)
  59301. /*! LCWAY - Line Command Way
  59302. */
  59303. #define LMEM_PSCLCR_LCWAY(x) (((uint32_t)(((uint32_t)(x)) << LMEM_PSCLCR_LCWAY_SHIFT)) & LMEM_PSCLCR_LCWAY_MASK)
  59304. #define LMEM_PSCLCR_LCMD_MASK (0x3000000U)
  59305. #define LMEM_PSCLCR_LCMD_SHIFT (24U)
  59306. /*! LCMD - Line Command
  59307. * 0b00..Search and read or write
  59308. * 0b01..Invalidate
  59309. * 0b10..Push
  59310. * 0b11..Clear
  59311. */
  59312. #define LMEM_PSCLCR_LCMD(x) (((uint32_t)(((uint32_t)(x)) << LMEM_PSCLCR_LCMD_SHIFT)) & LMEM_PSCLCR_LCMD_MASK)
  59313. #define LMEM_PSCLCR_LADSEL_MASK (0x4000000U)
  59314. #define LMEM_PSCLCR_LADSEL_SHIFT (26U)
  59315. /*! LADSEL - Line Address Select
  59316. * 0b0..Cache address
  59317. * 0b1..Physical address
  59318. */
  59319. #define LMEM_PSCLCR_LADSEL(x) (((uint32_t)(((uint32_t)(x)) << LMEM_PSCLCR_LADSEL_SHIFT)) & LMEM_PSCLCR_LADSEL_MASK)
  59320. #define LMEM_PSCLCR_LACC_MASK (0x8000000U)
  59321. #define LMEM_PSCLCR_LACC_SHIFT (27U)
  59322. /*! LACC - Line access type
  59323. * 0b0..Read
  59324. * 0b1..Write
  59325. */
  59326. #define LMEM_PSCLCR_LACC(x) (((uint32_t)(((uint32_t)(x)) << LMEM_PSCLCR_LACC_SHIFT)) & LMEM_PSCLCR_LACC_MASK)
  59327. /*! @} */
  59328. /*! @name PSCSAR - PS bus Cache search address register */
  59329. /*! @{ */
  59330. #define LMEM_PSCSAR_LGO_MASK (0x1U)
  59331. #define LMEM_PSCSAR_LGO_SHIFT (0U)
  59332. /*! LGO - Initiate Cache Line Command
  59333. * 0b0..Write: no effect. Read: no line command active.
  59334. * 0b1..Write: initiate line command indicated by bits CLCR[27:24]. Read: line command active.
  59335. */
  59336. #define LMEM_PSCSAR_LGO(x) (((uint32_t)(((uint32_t)(x)) << LMEM_PSCSAR_LGO_SHIFT)) & LMEM_PSCSAR_LGO_MASK)
  59337. #define LMEM_PSCSAR_PHYADDR_MASK (0xFFFFFFFEU)
  59338. #define LMEM_PSCSAR_PHYADDR_SHIFT (1U)
  59339. /*! PHYADDR - Physical Address
  59340. */
  59341. #define LMEM_PSCSAR_PHYADDR(x) (((uint32_t)(((uint32_t)(x)) << LMEM_PSCSAR_PHYADDR_SHIFT)) & LMEM_PSCSAR_PHYADDR_MASK)
  59342. /*! @} */
  59343. /*! @name PSCCVR - PS bus Cache read/write value register */
  59344. /*! @{ */
  59345. #define LMEM_PSCCVR_DATA_MASK (0xFFFFFFFFU)
  59346. #define LMEM_PSCCVR_DATA_SHIFT (0U)
  59347. /*! DATA - Cache read/write Data
  59348. */
  59349. #define LMEM_PSCCVR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LMEM_PSCCVR_DATA_SHIFT)) & LMEM_PSCCVR_DATA_MASK)
  59350. /*! @} */
  59351. /*!
  59352. * @}
  59353. */ /* end of group LMEM_Register_Masks */
  59354. /* LMEM - Peripheral instance base addresses */
  59355. /** Peripheral LMEM base address */
  59356. #define LMEM_BASE (0xE0082000u)
  59357. /** Peripheral LMEM base pointer */
  59358. #define LMEM ((LMEM_Type *)LMEM_BASE)
  59359. /** Array initializer of LMEM peripheral base addresses */
  59360. #define LMEM_BASE_ADDRS { LMEM_BASE }
  59361. /** Array initializer of LMEM peripheral base pointers */
  59362. #define LMEM_BASE_PTRS { LMEM }
  59363. /*!
  59364. * @}
  59365. */ /* end of group LMEM_Peripheral_Access_Layer */
  59366. /* ----------------------------------------------------------------------------
  59367. -- LPI2C Peripheral Access Layer
  59368. ---------------------------------------------------------------------------- */
  59369. /*!
  59370. * @addtogroup LPI2C_Peripheral_Access_Layer LPI2C Peripheral Access Layer
  59371. * @{
  59372. */
  59373. /** LPI2C - Register Layout Typedef */
  59374. typedef struct {
  59375. __I uint32_t VERID; /**< Version ID, offset: 0x0 */
  59376. __I uint32_t PARAM; /**< Parameter, offset: 0x4 */
  59377. uint8_t RESERVED_0[8];
  59378. __IO uint32_t MCR; /**< Master Control, offset: 0x10 */
  59379. __IO uint32_t MSR; /**< Master Status, offset: 0x14 */
  59380. __IO uint32_t MIER; /**< Master Interrupt Enable, offset: 0x18 */
  59381. __IO uint32_t MDER; /**< Master DMA Enable, offset: 0x1C */
  59382. __IO uint32_t MCFGR0; /**< Master Configuration 0, offset: 0x20 */
  59383. __IO uint32_t MCFGR1; /**< Master Configuration 1, offset: 0x24 */
  59384. __IO uint32_t MCFGR2; /**< Master Configuration 2, offset: 0x28 */
  59385. __IO uint32_t MCFGR3; /**< Master Configuration 3, offset: 0x2C */
  59386. uint8_t RESERVED_1[16];
  59387. __IO uint32_t MDMR; /**< Master Data Match, offset: 0x40 */
  59388. uint8_t RESERVED_2[4];
  59389. __IO uint32_t MCCR0; /**< Master Clock Configuration 0, offset: 0x48 */
  59390. uint8_t RESERVED_3[4];
  59391. __IO uint32_t MCCR1; /**< Master Clock Configuration 1, offset: 0x50 */
  59392. uint8_t RESERVED_4[4];
  59393. __IO uint32_t MFCR; /**< Master FIFO Control, offset: 0x58 */
  59394. __I uint32_t MFSR; /**< Master FIFO Status, offset: 0x5C */
  59395. __O uint32_t MTDR; /**< Master Transmit Data, offset: 0x60 */
  59396. uint8_t RESERVED_5[12];
  59397. __I uint32_t MRDR; /**< Master Receive Data, offset: 0x70 */
  59398. uint8_t RESERVED_6[156];
  59399. __IO uint32_t SCR; /**< Slave Control, offset: 0x110 */
  59400. __IO uint32_t SSR; /**< Slave Status, offset: 0x114 */
  59401. __IO uint32_t SIER; /**< Slave Interrupt Enable, offset: 0x118 */
  59402. __IO uint32_t SDER; /**< Slave DMA Enable, offset: 0x11C */
  59403. uint8_t RESERVED_7[4];
  59404. __IO uint32_t SCFGR1; /**< Slave Configuration 1, offset: 0x124 */
  59405. __IO uint32_t SCFGR2; /**< Slave Configuration 2, offset: 0x128 */
  59406. uint8_t RESERVED_8[20];
  59407. __IO uint32_t SAMR; /**< Slave Address Match, offset: 0x140 */
  59408. uint8_t RESERVED_9[12];
  59409. __I uint32_t SASR; /**< Slave Address Status, offset: 0x150 */
  59410. __IO uint32_t STAR; /**< Slave Transmit ACK, offset: 0x154 */
  59411. uint8_t RESERVED_10[8];
  59412. __O uint32_t STDR; /**< Slave Transmit Data, offset: 0x160 */
  59413. uint8_t RESERVED_11[12];
  59414. __I uint32_t SRDR; /**< Slave Receive Data, offset: 0x170 */
  59415. } LPI2C_Type;
  59416. /* ----------------------------------------------------------------------------
  59417. -- LPI2C Register Masks
  59418. ---------------------------------------------------------------------------- */
  59419. /*!
  59420. * @addtogroup LPI2C_Register_Masks LPI2C Register Masks
  59421. * @{
  59422. */
  59423. /*! @name VERID - Version ID */
  59424. /*! @{ */
  59425. #define LPI2C_VERID_FEATURE_MASK (0xFFFFU)
  59426. #define LPI2C_VERID_FEATURE_SHIFT (0U)
  59427. /*! FEATURE - Feature Specification Number
  59428. * 0b0000000000000010..Master only, with standard feature set
  59429. * 0b0000000000000011..Master and slave, with standard feature set
  59430. */
  59431. #define LPI2C_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_VERID_FEATURE_SHIFT)) & LPI2C_VERID_FEATURE_MASK)
  59432. #define LPI2C_VERID_MINOR_MASK (0xFF0000U)
  59433. #define LPI2C_VERID_MINOR_SHIFT (16U)
  59434. /*! MINOR - Minor Version Number
  59435. */
  59436. #define LPI2C_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_VERID_MINOR_SHIFT)) & LPI2C_VERID_MINOR_MASK)
  59437. #define LPI2C_VERID_MAJOR_MASK (0xFF000000U)
  59438. #define LPI2C_VERID_MAJOR_SHIFT (24U)
  59439. /*! MAJOR - Major Version Number
  59440. */
  59441. #define LPI2C_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_VERID_MAJOR_SHIFT)) & LPI2C_VERID_MAJOR_MASK)
  59442. /*! @} */
  59443. /*! @name PARAM - Parameter */
  59444. /*! @{ */
  59445. #define LPI2C_PARAM_MTXFIFO_MASK (0xFU)
  59446. #define LPI2C_PARAM_MTXFIFO_SHIFT (0U)
  59447. /*! MTXFIFO - Master Transmit FIFO Size
  59448. */
  59449. #define LPI2C_PARAM_MTXFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_PARAM_MTXFIFO_SHIFT)) & LPI2C_PARAM_MTXFIFO_MASK)
  59450. #define LPI2C_PARAM_MRXFIFO_MASK (0xF00U)
  59451. #define LPI2C_PARAM_MRXFIFO_SHIFT (8U)
  59452. /*! MRXFIFO - Master Receive FIFO Size
  59453. */
  59454. #define LPI2C_PARAM_MRXFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_PARAM_MRXFIFO_SHIFT)) & LPI2C_PARAM_MRXFIFO_MASK)
  59455. /*! @} */
  59456. /*! @name MCR - Master Control */
  59457. /*! @{ */
  59458. #define LPI2C_MCR_MEN_MASK (0x1U)
  59459. #define LPI2C_MCR_MEN_SHIFT (0U)
  59460. /*! MEN - Master Enable
  59461. * 0b0..Master logic is disabled
  59462. * 0b1..Master logic is enabled
  59463. */
  59464. #define LPI2C_MCR_MEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCR_MEN_SHIFT)) & LPI2C_MCR_MEN_MASK)
  59465. #define LPI2C_MCR_RST_MASK (0x2U)
  59466. #define LPI2C_MCR_RST_SHIFT (1U)
  59467. /*! RST - Software Reset
  59468. * 0b0..Master logic is not reset
  59469. * 0b1..Master logic is reset
  59470. */
  59471. #define LPI2C_MCR_RST(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCR_RST_SHIFT)) & LPI2C_MCR_RST_MASK)
  59472. #define LPI2C_MCR_DOZEN_MASK (0x4U)
  59473. #define LPI2C_MCR_DOZEN_SHIFT (2U)
  59474. /*! DOZEN - Doze mode enable
  59475. * 0b0..Master is enabled in Doze mode
  59476. * 0b1..Master is disabled in Doze mode
  59477. */
  59478. #define LPI2C_MCR_DOZEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCR_DOZEN_SHIFT)) & LPI2C_MCR_DOZEN_MASK)
  59479. #define LPI2C_MCR_DBGEN_MASK (0x8U)
  59480. #define LPI2C_MCR_DBGEN_SHIFT (3U)
  59481. /*! DBGEN - Debug Enable
  59482. * 0b0..Master is disabled in debug mode
  59483. * 0b1..Master is enabled in debug mode
  59484. */
  59485. #define LPI2C_MCR_DBGEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCR_DBGEN_SHIFT)) & LPI2C_MCR_DBGEN_MASK)
  59486. #define LPI2C_MCR_RTF_MASK (0x100U)
  59487. #define LPI2C_MCR_RTF_SHIFT (8U)
  59488. /*! RTF - Reset Transmit FIFO
  59489. * 0b0..No effect
  59490. * 0b1..Transmit FIFO is reset
  59491. */
  59492. #define LPI2C_MCR_RTF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCR_RTF_SHIFT)) & LPI2C_MCR_RTF_MASK)
  59493. #define LPI2C_MCR_RRF_MASK (0x200U)
  59494. #define LPI2C_MCR_RRF_SHIFT (9U)
  59495. /*! RRF - Reset Receive FIFO
  59496. * 0b0..No effect
  59497. * 0b1..Receive FIFO is reset
  59498. */
  59499. #define LPI2C_MCR_RRF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCR_RRF_SHIFT)) & LPI2C_MCR_RRF_MASK)
  59500. /*! @} */
  59501. /*! @name MSR - Master Status */
  59502. /*! @{ */
  59503. #define LPI2C_MSR_TDF_MASK (0x1U)
  59504. #define LPI2C_MSR_TDF_SHIFT (0U)
  59505. /*! TDF - Transmit Data Flag
  59506. * 0b0..Transmit data is not requested
  59507. * 0b1..Transmit data is requested
  59508. */
  59509. #define LPI2C_MSR_TDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_TDF_SHIFT)) & LPI2C_MSR_TDF_MASK)
  59510. #define LPI2C_MSR_RDF_MASK (0x2U)
  59511. #define LPI2C_MSR_RDF_SHIFT (1U)
  59512. /*! RDF - Receive Data Flag
  59513. * 0b0..Receive Data is not ready
  59514. * 0b1..Receive data is ready
  59515. */
  59516. #define LPI2C_MSR_RDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_RDF_SHIFT)) & LPI2C_MSR_RDF_MASK)
  59517. #define LPI2C_MSR_EPF_MASK (0x100U)
  59518. #define LPI2C_MSR_EPF_SHIFT (8U)
  59519. /*! EPF - End Packet Flag
  59520. * 0b0..Master has not generated a STOP or Repeated START condition
  59521. * 0b1..Master has generated a STOP or Repeated START condition
  59522. */
  59523. #define LPI2C_MSR_EPF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_EPF_SHIFT)) & LPI2C_MSR_EPF_MASK)
  59524. #define LPI2C_MSR_SDF_MASK (0x200U)
  59525. #define LPI2C_MSR_SDF_SHIFT (9U)
  59526. /*! SDF - STOP Detect Flag
  59527. * 0b0..Master has not generated a STOP condition
  59528. * 0b1..Master has generated a STOP condition
  59529. */
  59530. #define LPI2C_MSR_SDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_SDF_SHIFT)) & LPI2C_MSR_SDF_MASK)
  59531. #define LPI2C_MSR_NDF_MASK (0x400U)
  59532. #define LPI2C_MSR_NDF_SHIFT (10U)
  59533. /*! NDF - NACK Detect Flag
  59534. * 0b0..Unexpected NACK was not detected
  59535. * 0b1..Unexpected NACK was detected
  59536. */
  59537. #define LPI2C_MSR_NDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_NDF_SHIFT)) & LPI2C_MSR_NDF_MASK)
  59538. #define LPI2C_MSR_ALF_MASK (0x800U)
  59539. #define LPI2C_MSR_ALF_SHIFT (11U)
  59540. /*! ALF - Arbitration Lost Flag
  59541. * 0b0..Master has not lost arbitration
  59542. * 0b1..Master has lost arbitration
  59543. */
  59544. #define LPI2C_MSR_ALF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_ALF_SHIFT)) & LPI2C_MSR_ALF_MASK)
  59545. #define LPI2C_MSR_FEF_MASK (0x1000U)
  59546. #define LPI2C_MSR_FEF_SHIFT (12U)
  59547. /*! FEF - FIFO Error Flag
  59548. * 0b0..No error
  59549. * 0b1..Master sending or receiving data without a START condition
  59550. */
  59551. #define LPI2C_MSR_FEF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_FEF_SHIFT)) & LPI2C_MSR_FEF_MASK)
  59552. #define LPI2C_MSR_PLTF_MASK (0x2000U)
  59553. #define LPI2C_MSR_PLTF_SHIFT (13U)
  59554. /*! PLTF - Pin Low Timeout Flag
  59555. * 0b0..Pin low timeout has not occurred or is disabled
  59556. * 0b1..Pin low timeout has occurred
  59557. */
  59558. #define LPI2C_MSR_PLTF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_PLTF_SHIFT)) & LPI2C_MSR_PLTF_MASK)
  59559. #define LPI2C_MSR_DMF_MASK (0x4000U)
  59560. #define LPI2C_MSR_DMF_SHIFT (14U)
  59561. /*! DMF - Data Match Flag
  59562. * 0b0..Have not received matching data
  59563. * 0b1..Have received matching data
  59564. */
  59565. #define LPI2C_MSR_DMF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_DMF_SHIFT)) & LPI2C_MSR_DMF_MASK)
  59566. #define LPI2C_MSR_MBF_MASK (0x1000000U)
  59567. #define LPI2C_MSR_MBF_SHIFT (24U)
  59568. /*! MBF - Master Busy Flag
  59569. * 0b0..I2C Master is idle
  59570. * 0b1..I2C Master is busy
  59571. */
  59572. #define LPI2C_MSR_MBF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_MBF_SHIFT)) & LPI2C_MSR_MBF_MASK)
  59573. #define LPI2C_MSR_BBF_MASK (0x2000000U)
  59574. #define LPI2C_MSR_BBF_SHIFT (25U)
  59575. /*! BBF - Bus Busy Flag
  59576. * 0b0..I2C Bus is idle
  59577. * 0b1..I2C Bus is busy
  59578. */
  59579. #define LPI2C_MSR_BBF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_BBF_SHIFT)) & LPI2C_MSR_BBF_MASK)
  59580. /*! @} */
  59581. /*! @name MIER - Master Interrupt Enable */
  59582. /*! @{ */
  59583. #define LPI2C_MIER_TDIE_MASK (0x1U)
  59584. #define LPI2C_MIER_TDIE_SHIFT (0U)
  59585. /*! TDIE - Transmit Data Interrupt Enable
  59586. * 0b0..Disabled
  59587. * 0b1..Enabled
  59588. */
  59589. #define LPI2C_MIER_TDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_TDIE_SHIFT)) & LPI2C_MIER_TDIE_MASK)
  59590. #define LPI2C_MIER_RDIE_MASK (0x2U)
  59591. #define LPI2C_MIER_RDIE_SHIFT (1U)
  59592. /*! RDIE - Receive Data Interrupt Enable
  59593. * 0b0..Disabled
  59594. * 0b1..Enabled
  59595. */
  59596. #define LPI2C_MIER_RDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_RDIE_SHIFT)) & LPI2C_MIER_RDIE_MASK)
  59597. #define LPI2C_MIER_EPIE_MASK (0x100U)
  59598. #define LPI2C_MIER_EPIE_SHIFT (8U)
  59599. /*! EPIE - End Packet Interrupt Enable
  59600. * 0b0..Disabled
  59601. * 0b1..Enabled
  59602. */
  59603. #define LPI2C_MIER_EPIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_EPIE_SHIFT)) & LPI2C_MIER_EPIE_MASK)
  59604. #define LPI2C_MIER_SDIE_MASK (0x200U)
  59605. #define LPI2C_MIER_SDIE_SHIFT (9U)
  59606. /*! SDIE - STOP Detect Interrupt Enable
  59607. * 0b0..Disabled
  59608. * 0b1..Enabled
  59609. */
  59610. #define LPI2C_MIER_SDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_SDIE_SHIFT)) & LPI2C_MIER_SDIE_MASK)
  59611. #define LPI2C_MIER_NDIE_MASK (0x400U)
  59612. #define LPI2C_MIER_NDIE_SHIFT (10U)
  59613. /*! NDIE - NACK Detect Interrupt Enable
  59614. * 0b0..Disabled
  59615. * 0b1..Enabled
  59616. */
  59617. #define LPI2C_MIER_NDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_NDIE_SHIFT)) & LPI2C_MIER_NDIE_MASK)
  59618. #define LPI2C_MIER_ALIE_MASK (0x800U)
  59619. #define LPI2C_MIER_ALIE_SHIFT (11U)
  59620. /*! ALIE - Arbitration Lost Interrupt Enable
  59621. * 0b0..Disabled
  59622. * 0b1..Enabled
  59623. */
  59624. #define LPI2C_MIER_ALIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_ALIE_SHIFT)) & LPI2C_MIER_ALIE_MASK)
  59625. #define LPI2C_MIER_FEIE_MASK (0x1000U)
  59626. #define LPI2C_MIER_FEIE_SHIFT (12U)
  59627. /*! FEIE - FIFO Error Interrupt Enable
  59628. * 0b0..Enabled
  59629. * 0b1..Disabled
  59630. */
  59631. #define LPI2C_MIER_FEIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_FEIE_SHIFT)) & LPI2C_MIER_FEIE_MASK)
  59632. #define LPI2C_MIER_PLTIE_MASK (0x2000U)
  59633. #define LPI2C_MIER_PLTIE_SHIFT (13U)
  59634. /*! PLTIE - Pin Low Timeout Interrupt Enable
  59635. * 0b0..Disabled
  59636. * 0b1..Enabled
  59637. */
  59638. #define LPI2C_MIER_PLTIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_PLTIE_SHIFT)) & LPI2C_MIER_PLTIE_MASK)
  59639. #define LPI2C_MIER_DMIE_MASK (0x4000U)
  59640. #define LPI2C_MIER_DMIE_SHIFT (14U)
  59641. /*! DMIE - Data Match Interrupt Enable
  59642. * 0b0..Disabled
  59643. * 0b1..Enabled
  59644. */
  59645. #define LPI2C_MIER_DMIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_DMIE_SHIFT)) & LPI2C_MIER_DMIE_MASK)
  59646. /*! @} */
  59647. /*! @name MDER - Master DMA Enable */
  59648. /*! @{ */
  59649. #define LPI2C_MDER_TDDE_MASK (0x1U)
  59650. #define LPI2C_MDER_TDDE_SHIFT (0U)
  59651. /*! TDDE - Transmit Data DMA Enable
  59652. * 0b0..DMA request is disabled
  59653. * 0b1..DMA request is enabled
  59654. */
  59655. #define LPI2C_MDER_TDDE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MDER_TDDE_SHIFT)) & LPI2C_MDER_TDDE_MASK)
  59656. #define LPI2C_MDER_RDDE_MASK (0x2U)
  59657. #define LPI2C_MDER_RDDE_SHIFT (1U)
  59658. /*! RDDE - Receive Data DMA Enable
  59659. * 0b0..DMA request is disabled
  59660. * 0b1..DMA request is enabled
  59661. */
  59662. #define LPI2C_MDER_RDDE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MDER_RDDE_SHIFT)) & LPI2C_MDER_RDDE_MASK)
  59663. /*! @} */
  59664. /*! @name MCFGR0 - Master Configuration 0 */
  59665. /*! @{ */
  59666. #define LPI2C_MCFGR0_HREN_MASK (0x1U)
  59667. #define LPI2C_MCFGR0_HREN_SHIFT (0U)
  59668. /*! HREN - Host Request Enable
  59669. * 0b0..Host request input is disabled
  59670. * 0b1..Host request input is enabled
  59671. */
  59672. #define LPI2C_MCFGR0_HREN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR0_HREN_SHIFT)) & LPI2C_MCFGR0_HREN_MASK)
  59673. #define LPI2C_MCFGR0_HRPOL_MASK (0x2U)
  59674. #define LPI2C_MCFGR0_HRPOL_SHIFT (1U)
  59675. /*! HRPOL - Host Request Polarity
  59676. * 0b0..Active low
  59677. * 0b1..Active high
  59678. */
  59679. #define LPI2C_MCFGR0_HRPOL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR0_HRPOL_SHIFT)) & LPI2C_MCFGR0_HRPOL_MASK)
  59680. #define LPI2C_MCFGR0_HRSEL_MASK (0x4U)
  59681. #define LPI2C_MCFGR0_HRSEL_SHIFT (2U)
  59682. /*! HRSEL - Host Request Select
  59683. * 0b0..Host request input is pin HREQ
  59684. * 0b1..Host request input is input trigger
  59685. */
  59686. #define LPI2C_MCFGR0_HRSEL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR0_HRSEL_SHIFT)) & LPI2C_MCFGR0_HRSEL_MASK)
  59687. #define LPI2C_MCFGR0_CIRFIFO_MASK (0x100U)
  59688. #define LPI2C_MCFGR0_CIRFIFO_SHIFT (8U)
  59689. /*! CIRFIFO - Circular FIFO Enable
  59690. * 0b0..Circular FIFO is disabled
  59691. * 0b1..Circular FIFO is enabled
  59692. */
  59693. #define LPI2C_MCFGR0_CIRFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR0_CIRFIFO_SHIFT)) & LPI2C_MCFGR0_CIRFIFO_MASK)
  59694. #define LPI2C_MCFGR0_RDMO_MASK (0x200U)
  59695. #define LPI2C_MCFGR0_RDMO_SHIFT (9U)
  59696. /*! RDMO - Receive Data Match Only
  59697. * 0b0..Received data is stored in the receive FIFO
  59698. * 0b1..Received data is discarded unless the the Data Match Flag (MSR[DMF]) is set
  59699. */
  59700. #define LPI2C_MCFGR0_RDMO(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR0_RDMO_SHIFT)) & LPI2C_MCFGR0_RDMO_MASK)
  59701. /*! @} */
  59702. /*! @name MCFGR1 - Master Configuration 1 */
  59703. /*! @{ */
  59704. #define LPI2C_MCFGR1_PRESCALE_MASK (0x7U)
  59705. #define LPI2C_MCFGR1_PRESCALE_SHIFT (0U)
  59706. /*! PRESCALE - Prescaler
  59707. * 0b000..Divide by 1
  59708. * 0b001..Divide by 2
  59709. * 0b010..Divide by 4
  59710. * 0b011..Divide by 8
  59711. * 0b100..Divide by 16
  59712. * 0b101..Divide by 32
  59713. * 0b110..Divide by 64
  59714. * 0b111..Divide by 128
  59715. */
  59716. #define LPI2C_MCFGR1_PRESCALE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR1_PRESCALE_SHIFT)) & LPI2C_MCFGR1_PRESCALE_MASK)
  59717. #define LPI2C_MCFGR1_AUTOSTOP_MASK (0x100U)
  59718. #define LPI2C_MCFGR1_AUTOSTOP_SHIFT (8U)
  59719. /*! AUTOSTOP - Automatic STOP Generation
  59720. * 0b0..No effect
  59721. * 0b1..STOP condition is automatically generated whenever the transmit FIFO is empty and the LPI2C master is busy
  59722. */
  59723. #define LPI2C_MCFGR1_AUTOSTOP(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR1_AUTOSTOP_SHIFT)) & LPI2C_MCFGR1_AUTOSTOP_MASK)
  59724. #define LPI2C_MCFGR1_IGNACK_MASK (0x200U)
  59725. #define LPI2C_MCFGR1_IGNACK_SHIFT (9U)
  59726. /*! IGNACK - IGNACK
  59727. * 0b0..LPI2C Master receives ACK and NACK normally
  59728. * 0b1..LPI2C Master treats a received NACK as if it (NACK) was an ACK
  59729. */
  59730. #define LPI2C_MCFGR1_IGNACK(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR1_IGNACK_SHIFT)) & LPI2C_MCFGR1_IGNACK_MASK)
  59731. #define LPI2C_MCFGR1_TIMECFG_MASK (0x400U)
  59732. #define LPI2C_MCFGR1_TIMECFG_SHIFT (10U)
  59733. /*! TIMECFG - Timeout Configuration
  59734. * 0b0..MSR[PLTF] sets if SCL is low for longer than the configured timeout
  59735. * 0b1..MSR[PLTF] sets if either SCL or SDA is low for longer than the configured timeout
  59736. */
  59737. #define LPI2C_MCFGR1_TIMECFG(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR1_TIMECFG_SHIFT)) & LPI2C_MCFGR1_TIMECFG_MASK)
  59738. #define LPI2C_MCFGR1_MATCFG_MASK (0x70000U)
  59739. #define LPI2C_MCFGR1_MATCFG_SHIFT (16U)
  59740. /*! MATCFG - Match Configuration
  59741. * 0b000..Match is disabled
  59742. * 0b001..Reserved
  59743. * 0b010..Match is enabled (1st data word equals MDMR[MATCH0] OR MDMR[MATCH1])
  59744. * 0b011..Match is enabled (any data word equals MDMR[MATCH0] OR MDMR[MATCH1])
  59745. * 0b100..Match is enabled (1st data word equals MDMR[MATCH0] AND 2nd data word equals MDMR[MATCH1)
  59746. * 0b101..Match is enabled (any data word equals MDMR[MATCH0] AND next data word equals MDMR[MATCH1)
  59747. * 0b110..Match is enabled (1st data word AND MDMR[MATCH1] equals MDMR[MATCH0] AND MDMR[MATCH1])
  59748. * 0b111..Match is enabled (any data word AND MDMR[MATCH1] equals MDMR[MATCH0] AND MDMR[MATCH1])
  59749. */
  59750. #define LPI2C_MCFGR1_MATCFG(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR1_MATCFG_SHIFT)) & LPI2C_MCFGR1_MATCFG_MASK)
  59751. #define LPI2C_MCFGR1_PINCFG_MASK (0x7000000U)
  59752. #define LPI2C_MCFGR1_PINCFG_SHIFT (24U)
  59753. /*! PINCFG - Pin Configuration
  59754. * 0b000..2-pin open drain mode
  59755. * 0b001..2-pin output only mode (ultra-fast mode)
  59756. * 0b010..2-pin push-pull mode
  59757. * 0b011..4-pin push-pull mode
  59758. * 0b100..2-pin open drain mode with separate LPI2C slave
  59759. * 0b101..2-pin output only mode (ultra-fast mode) with separate LPI2C slave
  59760. * 0b110..2-pin push-pull mode with separate LPI2C slave
  59761. * 0b111..4-pin push-pull mode (inverted outputs)
  59762. */
  59763. #define LPI2C_MCFGR1_PINCFG(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR1_PINCFG_SHIFT)) & LPI2C_MCFGR1_PINCFG_MASK)
  59764. /*! @} */
  59765. /*! @name MCFGR2 - Master Configuration 2 */
  59766. /*! @{ */
  59767. #define LPI2C_MCFGR2_BUSIDLE_MASK (0xFFFU)
  59768. #define LPI2C_MCFGR2_BUSIDLE_SHIFT (0U)
  59769. /*! BUSIDLE - Bus Idle Timeout
  59770. */
  59771. #define LPI2C_MCFGR2_BUSIDLE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR2_BUSIDLE_SHIFT)) & LPI2C_MCFGR2_BUSIDLE_MASK)
  59772. #define LPI2C_MCFGR2_FILTSCL_MASK (0xF0000U)
  59773. #define LPI2C_MCFGR2_FILTSCL_SHIFT (16U)
  59774. /*! FILTSCL - Glitch Filter SCL
  59775. */
  59776. #define LPI2C_MCFGR2_FILTSCL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR2_FILTSCL_SHIFT)) & LPI2C_MCFGR2_FILTSCL_MASK)
  59777. #define LPI2C_MCFGR2_FILTSDA_MASK (0xF000000U)
  59778. #define LPI2C_MCFGR2_FILTSDA_SHIFT (24U)
  59779. /*! FILTSDA - Glitch Filter SDA
  59780. */
  59781. #define LPI2C_MCFGR2_FILTSDA(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR2_FILTSDA_SHIFT)) & LPI2C_MCFGR2_FILTSDA_MASK)
  59782. /*! @} */
  59783. /*! @name MCFGR3 - Master Configuration 3 */
  59784. /*! @{ */
  59785. #define LPI2C_MCFGR3_PINLOW_MASK (0xFFF00U)
  59786. #define LPI2C_MCFGR3_PINLOW_SHIFT (8U)
  59787. /*! PINLOW - Pin Low Timeout
  59788. */
  59789. #define LPI2C_MCFGR3_PINLOW(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR3_PINLOW_SHIFT)) & LPI2C_MCFGR3_PINLOW_MASK)
  59790. /*! @} */
  59791. /*! @name MDMR - Master Data Match */
  59792. /*! @{ */
  59793. #define LPI2C_MDMR_MATCH0_MASK (0xFFU)
  59794. #define LPI2C_MDMR_MATCH0_SHIFT (0U)
  59795. /*! MATCH0 - Match 0 Value
  59796. */
  59797. #define LPI2C_MDMR_MATCH0(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MDMR_MATCH0_SHIFT)) & LPI2C_MDMR_MATCH0_MASK)
  59798. #define LPI2C_MDMR_MATCH1_MASK (0xFF0000U)
  59799. #define LPI2C_MDMR_MATCH1_SHIFT (16U)
  59800. /*! MATCH1 - Match 1 Value
  59801. */
  59802. #define LPI2C_MDMR_MATCH1(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MDMR_MATCH1_SHIFT)) & LPI2C_MDMR_MATCH1_MASK)
  59803. /*! @} */
  59804. /*! @name MCCR0 - Master Clock Configuration 0 */
  59805. /*! @{ */
  59806. #define LPI2C_MCCR0_CLKLO_MASK (0x3FU)
  59807. #define LPI2C_MCCR0_CLKLO_SHIFT (0U)
  59808. /*! CLKLO - Clock Low Period
  59809. */
  59810. #define LPI2C_MCCR0_CLKLO(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR0_CLKLO_SHIFT)) & LPI2C_MCCR0_CLKLO_MASK)
  59811. #define LPI2C_MCCR0_CLKHI_MASK (0x3F00U)
  59812. #define LPI2C_MCCR0_CLKHI_SHIFT (8U)
  59813. /*! CLKHI - Clock High Period
  59814. */
  59815. #define LPI2C_MCCR0_CLKHI(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR0_CLKHI_SHIFT)) & LPI2C_MCCR0_CLKHI_MASK)
  59816. #define LPI2C_MCCR0_SETHOLD_MASK (0x3F0000U)
  59817. #define LPI2C_MCCR0_SETHOLD_SHIFT (16U)
  59818. /*! SETHOLD - Setup Hold Delay
  59819. */
  59820. #define LPI2C_MCCR0_SETHOLD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR0_SETHOLD_SHIFT)) & LPI2C_MCCR0_SETHOLD_MASK)
  59821. #define LPI2C_MCCR0_DATAVD_MASK (0x3F000000U)
  59822. #define LPI2C_MCCR0_DATAVD_SHIFT (24U)
  59823. /*! DATAVD - Data Valid Delay
  59824. */
  59825. #define LPI2C_MCCR0_DATAVD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR0_DATAVD_SHIFT)) & LPI2C_MCCR0_DATAVD_MASK)
  59826. /*! @} */
  59827. /*! @name MCCR1 - Master Clock Configuration 1 */
  59828. /*! @{ */
  59829. #define LPI2C_MCCR1_CLKLO_MASK (0x3FU)
  59830. #define LPI2C_MCCR1_CLKLO_SHIFT (0U)
  59831. /*! CLKLO - Clock Low Period
  59832. */
  59833. #define LPI2C_MCCR1_CLKLO(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR1_CLKLO_SHIFT)) & LPI2C_MCCR1_CLKLO_MASK)
  59834. #define LPI2C_MCCR1_CLKHI_MASK (0x3F00U)
  59835. #define LPI2C_MCCR1_CLKHI_SHIFT (8U)
  59836. /*! CLKHI - Clock High Period
  59837. */
  59838. #define LPI2C_MCCR1_CLKHI(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR1_CLKHI_SHIFT)) & LPI2C_MCCR1_CLKHI_MASK)
  59839. #define LPI2C_MCCR1_SETHOLD_MASK (0x3F0000U)
  59840. #define LPI2C_MCCR1_SETHOLD_SHIFT (16U)
  59841. /*! SETHOLD - Setup Hold Delay
  59842. */
  59843. #define LPI2C_MCCR1_SETHOLD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR1_SETHOLD_SHIFT)) & LPI2C_MCCR1_SETHOLD_MASK)
  59844. #define LPI2C_MCCR1_DATAVD_MASK (0x3F000000U)
  59845. #define LPI2C_MCCR1_DATAVD_SHIFT (24U)
  59846. /*! DATAVD - Data Valid Delay
  59847. */
  59848. #define LPI2C_MCCR1_DATAVD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR1_DATAVD_SHIFT)) & LPI2C_MCCR1_DATAVD_MASK)
  59849. /*! @} */
  59850. /*! @name MFCR - Master FIFO Control */
  59851. /*! @{ */
  59852. #define LPI2C_MFCR_TXWATER_MASK (0x3U)
  59853. #define LPI2C_MFCR_TXWATER_SHIFT (0U)
  59854. /*! TXWATER - Transmit FIFO Watermark
  59855. */
  59856. #define LPI2C_MFCR_TXWATER(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MFCR_TXWATER_SHIFT)) & LPI2C_MFCR_TXWATER_MASK)
  59857. #define LPI2C_MFCR_RXWATER_MASK (0x30000U)
  59858. #define LPI2C_MFCR_RXWATER_SHIFT (16U)
  59859. /*! RXWATER - Receive FIFO Watermark
  59860. */
  59861. #define LPI2C_MFCR_RXWATER(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MFCR_RXWATER_SHIFT)) & LPI2C_MFCR_RXWATER_MASK)
  59862. /*! @} */
  59863. /*! @name MFSR - Master FIFO Status */
  59864. /*! @{ */
  59865. #define LPI2C_MFSR_TXCOUNT_MASK (0x7U)
  59866. #define LPI2C_MFSR_TXCOUNT_SHIFT (0U)
  59867. /*! TXCOUNT - Transmit FIFO Count
  59868. */
  59869. #define LPI2C_MFSR_TXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MFSR_TXCOUNT_SHIFT)) & LPI2C_MFSR_TXCOUNT_MASK)
  59870. #define LPI2C_MFSR_RXCOUNT_MASK (0x70000U)
  59871. #define LPI2C_MFSR_RXCOUNT_SHIFT (16U)
  59872. /*! RXCOUNT - Receive FIFO Count
  59873. */
  59874. #define LPI2C_MFSR_RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MFSR_RXCOUNT_SHIFT)) & LPI2C_MFSR_RXCOUNT_MASK)
  59875. /*! @} */
  59876. /*! @name MTDR - Master Transmit Data */
  59877. /*! @{ */
  59878. #define LPI2C_MTDR_DATA_MASK (0xFFU)
  59879. #define LPI2C_MTDR_DATA_SHIFT (0U)
  59880. /*! DATA - Transmit Data
  59881. */
  59882. #define LPI2C_MTDR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MTDR_DATA_SHIFT)) & LPI2C_MTDR_DATA_MASK)
  59883. #define LPI2C_MTDR_CMD_MASK (0x700U)
  59884. #define LPI2C_MTDR_CMD_SHIFT (8U)
  59885. /*! CMD - Command Data
  59886. * 0b000..Transmit DATA[7:0]
  59887. * 0b001..Receive (DATA[7:0] + 1) bytes
  59888. * 0b010..Generate STOP condition
  59889. * 0b011..Receive and discard (DATA[7:0] + 1) bytes
  59890. * 0b100..Generate (repeated) START and transmit address in DATA[7:0]
  59891. * 0b101..Generate (repeated) START and transmit address in DATA[7:0]. This transfer expects a NACK to be returned.
  59892. * 0b110..Generate (repeated) START and transmit address in DATA[7:0] using high speed mode
  59893. * 0b111..Generate (repeated) START and transmit address in DATA[7:0] using high speed mode. This transfer expects a NACK to be returned.
  59894. */
  59895. #define LPI2C_MTDR_CMD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MTDR_CMD_SHIFT)) & LPI2C_MTDR_CMD_MASK)
  59896. /*! @} */
  59897. /*! @name MRDR - Master Receive Data */
  59898. /*! @{ */
  59899. #define LPI2C_MRDR_DATA_MASK (0xFFU)
  59900. #define LPI2C_MRDR_DATA_SHIFT (0U)
  59901. /*! DATA - Receive Data
  59902. */
  59903. #define LPI2C_MRDR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MRDR_DATA_SHIFT)) & LPI2C_MRDR_DATA_MASK)
  59904. #define LPI2C_MRDR_RXEMPTY_MASK (0x4000U)
  59905. #define LPI2C_MRDR_RXEMPTY_SHIFT (14U)
  59906. /*! RXEMPTY - RX Empty
  59907. * 0b0..Receive FIFO is not empty
  59908. * 0b1..Receive FIFO is empty
  59909. */
  59910. #define LPI2C_MRDR_RXEMPTY(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MRDR_RXEMPTY_SHIFT)) & LPI2C_MRDR_RXEMPTY_MASK)
  59911. /*! @} */
  59912. /*! @name SCR - Slave Control */
  59913. /*! @{ */
  59914. #define LPI2C_SCR_SEN_MASK (0x1U)
  59915. #define LPI2C_SCR_SEN_SHIFT (0U)
  59916. /*! SEN - Slave Enable
  59917. * 0b0..I2C Slave mode is disabled
  59918. * 0b1..I2C Slave mode is enabled
  59919. */
  59920. #define LPI2C_SCR_SEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCR_SEN_SHIFT)) & LPI2C_SCR_SEN_MASK)
  59921. #define LPI2C_SCR_RST_MASK (0x2U)
  59922. #define LPI2C_SCR_RST_SHIFT (1U)
  59923. /*! RST - Software Reset
  59924. * 0b0..Slave mode logic is not reset
  59925. * 0b1..Slave mode logic is reset
  59926. */
  59927. #define LPI2C_SCR_RST(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCR_RST_SHIFT)) & LPI2C_SCR_RST_MASK)
  59928. #define LPI2C_SCR_FILTEN_MASK (0x10U)
  59929. #define LPI2C_SCR_FILTEN_SHIFT (4U)
  59930. /*! FILTEN - Filter Enable
  59931. * 0b0..Disable digital filter and output delay counter for slave mode
  59932. * 0b1..Enable digital filter and output delay counter for slave mode
  59933. */
  59934. #define LPI2C_SCR_FILTEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCR_FILTEN_SHIFT)) & LPI2C_SCR_FILTEN_MASK)
  59935. #define LPI2C_SCR_FILTDZ_MASK (0x20U)
  59936. #define LPI2C_SCR_FILTDZ_SHIFT (5U)
  59937. /*! FILTDZ - Filter Doze Enable
  59938. * 0b0..Filter remains enabled in Doze mode
  59939. * 0b1..Filter is disabled in Doze mode
  59940. */
  59941. #define LPI2C_SCR_FILTDZ(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCR_FILTDZ_SHIFT)) & LPI2C_SCR_FILTDZ_MASK)
  59942. #define LPI2C_SCR_RTF_MASK (0x100U)
  59943. #define LPI2C_SCR_RTF_SHIFT (8U)
  59944. /*! RTF - Reset Transmit FIFO
  59945. * 0b0..No effect
  59946. * 0b1..Transmit Data Register is now empty
  59947. */
  59948. #define LPI2C_SCR_RTF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCR_RTF_SHIFT)) & LPI2C_SCR_RTF_MASK)
  59949. #define LPI2C_SCR_RRF_MASK (0x200U)
  59950. #define LPI2C_SCR_RRF_SHIFT (9U)
  59951. /*! RRF - Reset Receive FIFO
  59952. * 0b0..No effect
  59953. * 0b1..Receive Data Register is now empty
  59954. */
  59955. #define LPI2C_SCR_RRF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCR_RRF_SHIFT)) & LPI2C_SCR_RRF_MASK)
  59956. /*! @} */
  59957. /*! @name SSR - Slave Status */
  59958. /*! @{ */
  59959. #define LPI2C_SSR_TDF_MASK (0x1U)
  59960. #define LPI2C_SSR_TDF_SHIFT (0U)
  59961. /*! TDF - Transmit Data Flag
  59962. * 0b0..Transmit data not requested
  59963. * 0b1..Transmit data is requested
  59964. */
  59965. #define LPI2C_SSR_TDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_TDF_SHIFT)) & LPI2C_SSR_TDF_MASK)
  59966. #define LPI2C_SSR_RDF_MASK (0x2U)
  59967. #define LPI2C_SSR_RDF_SHIFT (1U)
  59968. /*! RDF - Receive Data Flag
  59969. * 0b0..Receive data is not ready
  59970. * 0b1..Receive data is ready
  59971. */
  59972. #define LPI2C_SSR_RDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_RDF_SHIFT)) & LPI2C_SSR_RDF_MASK)
  59973. #define LPI2C_SSR_AVF_MASK (0x4U)
  59974. #define LPI2C_SSR_AVF_SHIFT (2U)
  59975. /*! AVF - Address Valid Flag
  59976. * 0b0..Address Status Register is not valid
  59977. * 0b1..Address Status Register is valid
  59978. */
  59979. #define LPI2C_SSR_AVF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_AVF_SHIFT)) & LPI2C_SSR_AVF_MASK)
  59980. #define LPI2C_SSR_TAF_MASK (0x8U)
  59981. #define LPI2C_SSR_TAF_SHIFT (3U)
  59982. /*! TAF - Transmit ACK Flag
  59983. * 0b0..Transmit ACK/NACK is not required
  59984. * 0b1..Transmit ACK/NACK is required
  59985. */
  59986. #define LPI2C_SSR_TAF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_TAF_SHIFT)) & LPI2C_SSR_TAF_MASK)
  59987. #define LPI2C_SSR_RSF_MASK (0x100U)
  59988. #define LPI2C_SSR_RSF_SHIFT (8U)
  59989. /*! RSF - Repeated Start Flag
  59990. * 0b0..Slave has not detected a Repeated START condition
  59991. * 0b1..Slave has detected a Repeated START condition
  59992. */
  59993. #define LPI2C_SSR_RSF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_RSF_SHIFT)) & LPI2C_SSR_RSF_MASK)
  59994. #define LPI2C_SSR_SDF_MASK (0x200U)
  59995. #define LPI2C_SSR_SDF_SHIFT (9U)
  59996. /*! SDF - STOP Detect Flag
  59997. * 0b0..Slave has not detected a STOP condition
  59998. * 0b1..Slave has detected a STOP condition
  59999. */
  60000. #define LPI2C_SSR_SDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_SDF_SHIFT)) & LPI2C_SSR_SDF_MASK)
  60001. #define LPI2C_SSR_BEF_MASK (0x400U)
  60002. #define LPI2C_SSR_BEF_SHIFT (10U)
  60003. /*! BEF - Bit Error Flag
  60004. * 0b0..Slave has not detected a bit error
  60005. * 0b1..Slave has detected a bit error
  60006. */
  60007. #define LPI2C_SSR_BEF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_BEF_SHIFT)) & LPI2C_SSR_BEF_MASK)
  60008. #define LPI2C_SSR_FEF_MASK (0x800U)
  60009. #define LPI2C_SSR_FEF_SHIFT (11U)
  60010. /*! FEF - FIFO Error Flag
  60011. * 0b0..FIFO underflow or overflow was not detected
  60012. * 0b1..FIFO underflow or overflow was detected
  60013. */
  60014. #define LPI2C_SSR_FEF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_FEF_SHIFT)) & LPI2C_SSR_FEF_MASK)
  60015. #define LPI2C_SSR_AM0F_MASK (0x1000U)
  60016. #define LPI2C_SSR_AM0F_SHIFT (12U)
  60017. /*! AM0F - Address Match 0 Flag
  60018. * 0b0..Have not received an ADDR0 matching address
  60019. * 0b1..Have received an ADDR0 matching address
  60020. */
  60021. #define LPI2C_SSR_AM0F(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_AM0F_SHIFT)) & LPI2C_SSR_AM0F_MASK)
  60022. #define LPI2C_SSR_AM1F_MASK (0x2000U)
  60023. #define LPI2C_SSR_AM1F_SHIFT (13U)
  60024. /*! AM1F - Address Match 1 Flag
  60025. * 0b0..Have not received an ADDR1 or ADDR0/ADDR1 range matching address
  60026. * 0b1..Have received an ADDR1 or ADDR0/ADDR1 range matching address
  60027. */
  60028. #define LPI2C_SSR_AM1F(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_AM1F_SHIFT)) & LPI2C_SSR_AM1F_MASK)
  60029. #define LPI2C_SSR_GCF_MASK (0x4000U)
  60030. #define LPI2C_SSR_GCF_SHIFT (14U)
  60031. /*! GCF - General Call Flag
  60032. * 0b0..Slave has not detected the General Call Address or the General Call Address is disabled
  60033. * 0b1..Slave has detected the General Call Address
  60034. */
  60035. #define LPI2C_SSR_GCF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_GCF_SHIFT)) & LPI2C_SSR_GCF_MASK)
  60036. #define LPI2C_SSR_SARF_MASK (0x8000U)
  60037. #define LPI2C_SSR_SARF_SHIFT (15U)
  60038. /*! SARF - SMBus Alert Response Flag
  60039. * 0b0..SMBus Alert Response is disabled or not detected
  60040. * 0b1..SMBus Alert Response is enabled and detected
  60041. */
  60042. #define LPI2C_SSR_SARF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_SARF_SHIFT)) & LPI2C_SSR_SARF_MASK)
  60043. #define LPI2C_SSR_SBF_MASK (0x1000000U)
  60044. #define LPI2C_SSR_SBF_SHIFT (24U)
  60045. /*! SBF - Slave Busy Flag
  60046. * 0b0..I2C Slave is idle
  60047. * 0b1..I2C Slave is busy
  60048. */
  60049. #define LPI2C_SSR_SBF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_SBF_SHIFT)) & LPI2C_SSR_SBF_MASK)
  60050. #define LPI2C_SSR_BBF_MASK (0x2000000U)
  60051. #define LPI2C_SSR_BBF_SHIFT (25U)
  60052. /*! BBF - Bus Busy Flag
  60053. * 0b0..I2C Bus is idle
  60054. * 0b1..I2C Bus is busy
  60055. */
  60056. #define LPI2C_SSR_BBF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_BBF_SHIFT)) & LPI2C_SSR_BBF_MASK)
  60057. /*! @} */
  60058. /*! @name SIER - Slave Interrupt Enable */
  60059. /*! @{ */
  60060. #define LPI2C_SIER_TDIE_MASK (0x1U)
  60061. #define LPI2C_SIER_TDIE_SHIFT (0U)
  60062. /*! TDIE - Transmit Data Interrupt Enable
  60063. * 0b0..Disabled
  60064. * 0b1..Enabled
  60065. */
  60066. #define LPI2C_SIER_TDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_TDIE_SHIFT)) & LPI2C_SIER_TDIE_MASK)
  60067. #define LPI2C_SIER_RDIE_MASK (0x2U)
  60068. #define LPI2C_SIER_RDIE_SHIFT (1U)
  60069. /*! RDIE - Receive Data Interrupt Enable
  60070. * 0b0..Disabled
  60071. * 0b1..Enabled
  60072. */
  60073. #define LPI2C_SIER_RDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_RDIE_SHIFT)) & LPI2C_SIER_RDIE_MASK)
  60074. #define LPI2C_SIER_AVIE_MASK (0x4U)
  60075. #define LPI2C_SIER_AVIE_SHIFT (2U)
  60076. /*! AVIE - Address Valid Interrupt Enable
  60077. * 0b0..Disabled
  60078. * 0b1..Enabled
  60079. */
  60080. #define LPI2C_SIER_AVIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_AVIE_SHIFT)) & LPI2C_SIER_AVIE_MASK)
  60081. #define LPI2C_SIER_TAIE_MASK (0x8U)
  60082. #define LPI2C_SIER_TAIE_SHIFT (3U)
  60083. /*! TAIE - Transmit ACK Interrupt Enable
  60084. * 0b0..Disabled
  60085. * 0b1..Enabled
  60086. */
  60087. #define LPI2C_SIER_TAIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_TAIE_SHIFT)) & LPI2C_SIER_TAIE_MASK)
  60088. #define LPI2C_SIER_RSIE_MASK (0x100U)
  60089. #define LPI2C_SIER_RSIE_SHIFT (8U)
  60090. /*! RSIE - Repeated Start Interrupt Enable
  60091. * 0b0..Disabled
  60092. * 0b1..Enabled
  60093. */
  60094. #define LPI2C_SIER_RSIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_RSIE_SHIFT)) & LPI2C_SIER_RSIE_MASK)
  60095. #define LPI2C_SIER_SDIE_MASK (0x200U)
  60096. #define LPI2C_SIER_SDIE_SHIFT (9U)
  60097. /*! SDIE - STOP Detect Interrupt Enable
  60098. * 0b0..Disabled
  60099. * 0b1..Enabled
  60100. */
  60101. #define LPI2C_SIER_SDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_SDIE_SHIFT)) & LPI2C_SIER_SDIE_MASK)
  60102. #define LPI2C_SIER_BEIE_MASK (0x400U)
  60103. #define LPI2C_SIER_BEIE_SHIFT (10U)
  60104. /*! BEIE - Bit Error Interrupt Enable
  60105. * 0b0..Disabled
  60106. * 0b1..Enabled
  60107. */
  60108. #define LPI2C_SIER_BEIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_BEIE_SHIFT)) & LPI2C_SIER_BEIE_MASK)
  60109. #define LPI2C_SIER_FEIE_MASK (0x800U)
  60110. #define LPI2C_SIER_FEIE_SHIFT (11U)
  60111. /*! FEIE - FIFO Error Interrupt Enable
  60112. * 0b0..Disabled
  60113. * 0b1..Enabled
  60114. */
  60115. #define LPI2C_SIER_FEIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_FEIE_SHIFT)) & LPI2C_SIER_FEIE_MASK)
  60116. #define LPI2C_SIER_AM0IE_MASK (0x1000U)
  60117. #define LPI2C_SIER_AM0IE_SHIFT (12U)
  60118. /*! AM0IE - Address Match 0 Interrupt Enable
  60119. * 0b0..Disabled
  60120. * 0b1..Enabled
  60121. */
  60122. #define LPI2C_SIER_AM0IE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_AM0IE_SHIFT)) & LPI2C_SIER_AM0IE_MASK)
  60123. #define LPI2C_SIER_AM1IE_MASK (0x2000U)
  60124. #define LPI2C_SIER_AM1IE_SHIFT (13U)
  60125. /*! AM1IE - Address Match 1 Interrupt Enable
  60126. * 0b0..Disabled
  60127. * 0b1..Enabled
  60128. */
  60129. #define LPI2C_SIER_AM1IE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_AM1IE_SHIFT)) & LPI2C_SIER_AM1IE_MASK)
  60130. #define LPI2C_SIER_GCIE_MASK (0x4000U)
  60131. #define LPI2C_SIER_GCIE_SHIFT (14U)
  60132. /*! GCIE - General Call Interrupt Enable
  60133. * 0b0..Disabled
  60134. * 0b1..Enabled
  60135. */
  60136. #define LPI2C_SIER_GCIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_GCIE_SHIFT)) & LPI2C_SIER_GCIE_MASK)
  60137. #define LPI2C_SIER_SARIE_MASK (0x8000U)
  60138. #define LPI2C_SIER_SARIE_SHIFT (15U)
  60139. /*! SARIE - SMBus Alert Response Interrupt Enable
  60140. * 0b0..Disabled
  60141. * 0b1..Enabled
  60142. */
  60143. #define LPI2C_SIER_SARIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_SARIE_SHIFT)) & LPI2C_SIER_SARIE_MASK)
  60144. /*! @} */
  60145. /*! @name SDER - Slave DMA Enable */
  60146. /*! @{ */
  60147. #define LPI2C_SDER_TDDE_MASK (0x1U)
  60148. #define LPI2C_SDER_TDDE_SHIFT (0U)
  60149. /*! TDDE - Transmit Data DMA Enable
  60150. * 0b0..DMA request is disabled
  60151. * 0b1..DMA request is enabled
  60152. */
  60153. #define LPI2C_SDER_TDDE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SDER_TDDE_SHIFT)) & LPI2C_SDER_TDDE_MASK)
  60154. #define LPI2C_SDER_RDDE_MASK (0x2U)
  60155. #define LPI2C_SDER_RDDE_SHIFT (1U)
  60156. /*! RDDE - Receive Data DMA Enable
  60157. * 0b0..DMA request is disabled
  60158. * 0b1..DMA request is enabled
  60159. */
  60160. #define LPI2C_SDER_RDDE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SDER_RDDE_SHIFT)) & LPI2C_SDER_RDDE_MASK)
  60161. #define LPI2C_SDER_AVDE_MASK (0x4U)
  60162. #define LPI2C_SDER_AVDE_SHIFT (2U)
  60163. /*! AVDE - Address Valid DMA Enable
  60164. * 0b0..DMA request is disabled
  60165. * 0b1..DMA request is enabled
  60166. */
  60167. #define LPI2C_SDER_AVDE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SDER_AVDE_SHIFT)) & LPI2C_SDER_AVDE_MASK)
  60168. /*! @} */
  60169. /*! @name SCFGR1 - Slave Configuration 1 */
  60170. /*! @{ */
  60171. #define LPI2C_SCFGR1_ADRSTALL_MASK (0x1U)
  60172. #define LPI2C_SCFGR1_ADRSTALL_SHIFT (0U)
  60173. /*! ADRSTALL - Address SCL Stall
  60174. * 0b0..Clock stretching is disabled
  60175. * 0b1..Clock stretching is enabled
  60176. */
  60177. #define LPI2C_SCFGR1_ADRSTALL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_ADRSTALL_SHIFT)) & LPI2C_SCFGR1_ADRSTALL_MASK)
  60178. #define LPI2C_SCFGR1_RXSTALL_MASK (0x2U)
  60179. #define LPI2C_SCFGR1_RXSTALL_SHIFT (1U)
  60180. /*! RXSTALL - RX SCL Stall
  60181. * 0b0..Clock stretching is disabled
  60182. * 0b1..Clock stretching is enabled
  60183. */
  60184. #define LPI2C_SCFGR1_RXSTALL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_RXSTALL_SHIFT)) & LPI2C_SCFGR1_RXSTALL_MASK)
  60185. #define LPI2C_SCFGR1_TXDSTALL_MASK (0x4U)
  60186. #define LPI2C_SCFGR1_TXDSTALL_SHIFT (2U)
  60187. /*! TXDSTALL - TX Data SCL Stall
  60188. * 0b0..Clock stretching is disabled
  60189. * 0b1..Clock stretching is enabled
  60190. */
  60191. #define LPI2C_SCFGR1_TXDSTALL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_TXDSTALL_SHIFT)) & LPI2C_SCFGR1_TXDSTALL_MASK)
  60192. #define LPI2C_SCFGR1_ACKSTALL_MASK (0x8U)
  60193. #define LPI2C_SCFGR1_ACKSTALL_SHIFT (3U)
  60194. /*! ACKSTALL - ACK SCL Stall
  60195. * 0b0..Clock stretching is disabled
  60196. * 0b1..Clock stretching is enabled
  60197. */
  60198. #define LPI2C_SCFGR1_ACKSTALL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_ACKSTALL_SHIFT)) & LPI2C_SCFGR1_ACKSTALL_MASK)
  60199. #define LPI2C_SCFGR1_GCEN_MASK (0x100U)
  60200. #define LPI2C_SCFGR1_GCEN_SHIFT (8U)
  60201. /*! GCEN - General Call Enable
  60202. * 0b0..General Call address is disabled
  60203. * 0b1..General Call address is enabled
  60204. */
  60205. #define LPI2C_SCFGR1_GCEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_GCEN_SHIFT)) & LPI2C_SCFGR1_GCEN_MASK)
  60206. #define LPI2C_SCFGR1_SAEN_MASK (0x200U)
  60207. #define LPI2C_SCFGR1_SAEN_SHIFT (9U)
  60208. /*! SAEN - SMBus Alert Enable
  60209. * 0b0..Disables match on SMBus Alert
  60210. * 0b1..Enables match on SMBus Alert
  60211. */
  60212. #define LPI2C_SCFGR1_SAEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_SAEN_SHIFT)) & LPI2C_SCFGR1_SAEN_MASK)
  60213. #define LPI2C_SCFGR1_TXCFG_MASK (0x400U)
  60214. #define LPI2C_SCFGR1_TXCFG_SHIFT (10U)
  60215. /*! TXCFG - Transmit Flag Configuration
  60216. * 0b0..Transmit Data Flag only asserts during a slave-transmit transfer when the Transmit Data register is empty
  60217. * 0b1..Transmit Data Flag asserts whenever the Transmit Data register is empty
  60218. */
  60219. #define LPI2C_SCFGR1_TXCFG(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_TXCFG_SHIFT)) & LPI2C_SCFGR1_TXCFG_MASK)
  60220. #define LPI2C_SCFGR1_RXCFG_MASK (0x800U)
  60221. #define LPI2C_SCFGR1_RXCFG_SHIFT (11U)
  60222. /*! RXCFG - Receive Data Configuration
  60223. * 0b0..Reading the Receive Data register returns received data and clears the Receive Data flag (MSR[RDF]).
  60224. * 0b1..Reading the Receive Data register when the Address Valid flag (SSR[AVF])is set, returns the Address
  60225. * Status register and clear the Address Valid flag. Reading the Receive Data register when the Address Valid flag
  60226. * is clear, returns received data and clears the Receive Data flag (MSR[RDF]).
  60227. */
  60228. #define LPI2C_SCFGR1_RXCFG(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_RXCFG_SHIFT)) & LPI2C_SCFGR1_RXCFG_MASK)
  60229. #define LPI2C_SCFGR1_IGNACK_MASK (0x1000U)
  60230. #define LPI2C_SCFGR1_IGNACK_SHIFT (12U)
  60231. /*! IGNACK - Ignore NACK
  60232. * 0b0..Slave ends transfer when NACK is detected
  60233. * 0b1..Slave does not end transfer when NACK detected
  60234. */
  60235. #define LPI2C_SCFGR1_IGNACK(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_IGNACK_SHIFT)) & LPI2C_SCFGR1_IGNACK_MASK)
  60236. #define LPI2C_SCFGR1_HSMEN_MASK (0x2000U)
  60237. #define LPI2C_SCFGR1_HSMEN_SHIFT (13U)
  60238. /*! HSMEN - High Speed Mode Enable
  60239. * 0b0..Disables detection of HS-mode master code
  60240. * 0b1..Enables detection of HS-mode master code
  60241. */
  60242. #define LPI2C_SCFGR1_HSMEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_HSMEN_SHIFT)) & LPI2C_SCFGR1_HSMEN_MASK)
  60243. #define LPI2C_SCFGR1_ADDRCFG_MASK (0x70000U)
  60244. #define LPI2C_SCFGR1_ADDRCFG_SHIFT (16U)
  60245. /*! ADDRCFG - Address Configuration
  60246. * 0b000..Address match 0 (7-bit)
  60247. * 0b001..Address match 0 (10-bit)
  60248. * 0b010..Address match 0 (7-bit) or Address match 1 (7-bit)
  60249. * 0b011..Address match 0 (10-bit) or Address match 1 (10-bit)
  60250. * 0b100..Address match 0 (7-bit) or Address match 1 (10-bit)
  60251. * 0b101..Address match 0 (10-bit) or Address match 1 (7-bit)
  60252. * 0b110..From Address match 0 (7-bit) to Address match 1 (7-bit)
  60253. * 0b111..From Address match 0 (10-bit) to Address match 1 (10-bit)
  60254. */
  60255. #define LPI2C_SCFGR1_ADDRCFG(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_ADDRCFG_SHIFT)) & LPI2C_SCFGR1_ADDRCFG_MASK)
  60256. /*! @} */
  60257. /*! @name SCFGR2 - Slave Configuration 2 */
  60258. /*! @{ */
  60259. #define LPI2C_SCFGR2_CLKHOLD_MASK (0xFU)
  60260. #define LPI2C_SCFGR2_CLKHOLD_SHIFT (0U)
  60261. /*! CLKHOLD - Clock Hold Time
  60262. */
  60263. #define LPI2C_SCFGR2_CLKHOLD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR2_CLKHOLD_SHIFT)) & LPI2C_SCFGR2_CLKHOLD_MASK)
  60264. #define LPI2C_SCFGR2_DATAVD_MASK (0x3F00U)
  60265. #define LPI2C_SCFGR2_DATAVD_SHIFT (8U)
  60266. /*! DATAVD - Data Valid Delay
  60267. */
  60268. #define LPI2C_SCFGR2_DATAVD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR2_DATAVD_SHIFT)) & LPI2C_SCFGR2_DATAVD_MASK)
  60269. #define LPI2C_SCFGR2_FILTSCL_MASK (0xF0000U)
  60270. #define LPI2C_SCFGR2_FILTSCL_SHIFT (16U)
  60271. /*! FILTSCL - Glitch Filter SCL
  60272. */
  60273. #define LPI2C_SCFGR2_FILTSCL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR2_FILTSCL_SHIFT)) & LPI2C_SCFGR2_FILTSCL_MASK)
  60274. #define LPI2C_SCFGR2_FILTSDA_MASK (0xF000000U)
  60275. #define LPI2C_SCFGR2_FILTSDA_SHIFT (24U)
  60276. /*! FILTSDA - Glitch Filter SDA
  60277. */
  60278. #define LPI2C_SCFGR2_FILTSDA(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR2_FILTSDA_SHIFT)) & LPI2C_SCFGR2_FILTSDA_MASK)
  60279. /*! @} */
  60280. /*! @name SAMR - Slave Address Match */
  60281. /*! @{ */
  60282. #define LPI2C_SAMR_ADDR0_MASK (0x7FEU)
  60283. #define LPI2C_SAMR_ADDR0_SHIFT (1U)
  60284. /*! ADDR0 - Address 0 Value
  60285. */
  60286. #define LPI2C_SAMR_ADDR0(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SAMR_ADDR0_SHIFT)) & LPI2C_SAMR_ADDR0_MASK)
  60287. #define LPI2C_SAMR_ADDR1_MASK (0x7FE0000U)
  60288. #define LPI2C_SAMR_ADDR1_SHIFT (17U)
  60289. /*! ADDR1 - Address 1 Value
  60290. */
  60291. #define LPI2C_SAMR_ADDR1(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SAMR_ADDR1_SHIFT)) & LPI2C_SAMR_ADDR1_MASK)
  60292. /*! @} */
  60293. /*! @name SASR - Slave Address Status */
  60294. /*! @{ */
  60295. #define LPI2C_SASR_RADDR_MASK (0x7FFU)
  60296. #define LPI2C_SASR_RADDR_SHIFT (0U)
  60297. /*! RADDR - Received Address
  60298. */
  60299. #define LPI2C_SASR_RADDR(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SASR_RADDR_SHIFT)) & LPI2C_SASR_RADDR_MASK)
  60300. #define LPI2C_SASR_ANV_MASK (0x4000U)
  60301. #define LPI2C_SASR_ANV_SHIFT (14U)
  60302. /*! ANV - Address Not Valid
  60303. * 0b0..Received Address (RADDR) is valid
  60304. * 0b1..Received Address (RADDR) is not valid
  60305. */
  60306. #define LPI2C_SASR_ANV(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SASR_ANV_SHIFT)) & LPI2C_SASR_ANV_MASK)
  60307. /*! @} */
  60308. /*! @name STAR - Slave Transmit ACK */
  60309. /*! @{ */
  60310. #define LPI2C_STAR_TXNACK_MASK (0x1U)
  60311. #define LPI2C_STAR_TXNACK_SHIFT (0U)
  60312. /*! TXNACK - Transmit NACK
  60313. * 0b0..Write a Transmit ACK for each received word
  60314. * 0b1..Write a Transmit NACK for each received word
  60315. */
  60316. #define LPI2C_STAR_TXNACK(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_STAR_TXNACK_SHIFT)) & LPI2C_STAR_TXNACK_MASK)
  60317. /*! @} */
  60318. /*! @name STDR - Slave Transmit Data */
  60319. /*! @{ */
  60320. #define LPI2C_STDR_DATA_MASK (0xFFU)
  60321. #define LPI2C_STDR_DATA_SHIFT (0U)
  60322. /*! DATA - Transmit Data
  60323. */
  60324. #define LPI2C_STDR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_STDR_DATA_SHIFT)) & LPI2C_STDR_DATA_MASK)
  60325. /*! @} */
  60326. /*! @name SRDR - Slave Receive Data */
  60327. /*! @{ */
  60328. #define LPI2C_SRDR_DATA_MASK (0xFFU)
  60329. #define LPI2C_SRDR_DATA_SHIFT (0U)
  60330. /*! DATA - Receive Data
  60331. */
  60332. #define LPI2C_SRDR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SRDR_DATA_SHIFT)) & LPI2C_SRDR_DATA_MASK)
  60333. #define LPI2C_SRDR_RXEMPTY_MASK (0x4000U)
  60334. #define LPI2C_SRDR_RXEMPTY_SHIFT (14U)
  60335. /*! RXEMPTY - RX Empty
  60336. * 0b0..The Receive Data Register is not empty
  60337. * 0b1..The Receive Data Register is empty
  60338. */
  60339. #define LPI2C_SRDR_RXEMPTY(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SRDR_RXEMPTY_SHIFT)) & LPI2C_SRDR_RXEMPTY_MASK)
  60340. #define LPI2C_SRDR_SOF_MASK (0x8000U)
  60341. #define LPI2C_SRDR_SOF_SHIFT (15U)
  60342. /*! SOF - Start Of Frame
  60343. * 0b0..Indicates this is not the first data word since a (repeated) START or STOP condition
  60344. * 0b1..Indicates this is the first data word since a (repeated) START or STOP condition
  60345. */
  60346. #define LPI2C_SRDR_SOF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SRDR_SOF_SHIFT)) & LPI2C_SRDR_SOF_MASK)
  60347. /*! @} */
  60348. /*!
  60349. * @}
  60350. */ /* end of group LPI2C_Register_Masks */
  60351. /* LPI2C - Peripheral instance base addresses */
  60352. /** Peripheral LPI2C1 base address */
  60353. #define LPI2C1_BASE (0x40104000u)
  60354. /** Peripheral LPI2C1 base pointer */
  60355. #define LPI2C1 ((LPI2C_Type *)LPI2C1_BASE)
  60356. /** Peripheral LPI2C2 base address */
  60357. #define LPI2C2_BASE (0x40108000u)
  60358. /** Peripheral LPI2C2 base pointer */
  60359. #define LPI2C2 ((LPI2C_Type *)LPI2C2_BASE)
  60360. /** Peripheral LPI2C3 base address */
  60361. #define LPI2C3_BASE (0x4010C000u)
  60362. /** Peripheral LPI2C3 base pointer */
  60363. #define LPI2C3 ((LPI2C_Type *)LPI2C3_BASE)
  60364. /** Peripheral LPI2C4 base address */
  60365. #define LPI2C4_BASE (0x40110000u)
  60366. /** Peripheral LPI2C4 base pointer */
  60367. #define LPI2C4 ((LPI2C_Type *)LPI2C4_BASE)
  60368. /** Peripheral LPI2C5 base address */
  60369. #define LPI2C5_BASE (0x40C34000u)
  60370. /** Peripheral LPI2C5 base pointer */
  60371. #define LPI2C5 ((LPI2C_Type *)LPI2C5_BASE)
  60372. /** Peripheral LPI2C6 base address */
  60373. #define LPI2C6_BASE (0x40C38000u)
  60374. /** Peripheral LPI2C6 base pointer */
  60375. #define LPI2C6 ((LPI2C_Type *)LPI2C6_BASE)
  60376. /** Array initializer of LPI2C peripheral base addresses */
  60377. #define LPI2C_BASE_ADDRS { 0u, LPI2C1_BASE, LPI2C2_BASE, LPI2C3_BASE, LPI2C4_BASE, LPI2C5_BASE, LPI2C6_BASE }
  60378. /** Array initializer of LPI2C peripheral base pointers */
  60379. #define LPI2C_BASE_PTRS { (LPI2C_Type *)0u, LPI2C1, LPI2C2, LPI2C3, LPI2C4, LPI2C5, LPI2C6 }
  60380. /** Interrupt vectors for the LPI2C peripheral type */
  60381. #define LPI2C_IRQS { NotAvail_IRQn, LPI2C1_IRQn, LPI2C2_IRQn, LPI2C3_IRQn, LPI2C4_IRQn, LPI2C5_IRQn, LPI2C6_IRQn }
  60382. /*!
  60383. * @}
  60384. */ /* end of group LPI2C_Peripheral_Access_Layer */
  60385. /* ----------------------------------------------------------------------------
  60386. -- LPSPI Peripheral Access Layer
  60387. ---------------------------------------------------------------------------- */
  60388. /*!
  60389. * @addtogroup LPSPI_Peripheral_Access_Layer LPSPI Peripheral Access Layer
  60390. * @{
  60391. */
  60392. /** LPSPI - Register Layout Typedef */
  60393. typedef struct {
  60394. __I uint32_t VERID; /**< Version ID, offset: 0x0 */
  60395. __I uint32_t PARAM; /**< Parameter, offset: 0x4 */
  60396. uint8_t RESERVED_0[8];
  60397. __IO uint32_t CR; /**< Control, offset: 0x10 */
  60398. __IO uint32_t SR; /**< Status, offset: 0x14 */
  60399. __IO uint32_t IER; /**< Interrupt Enable, offset: 0x18 */
  60400. __IO uint32_t DER; /**< DMA Enable, offset: 0x1C */
  60401. __IO uint32_t CFGR0; /**< Configuration 0, offset: 0x20 */
  60402. __IO uint32_t CFGR1; /**< Configuration 1, offset: 0x24 */
  60403. uint8_t RESERVED_1[8];
  60404. __IO uint32_t DMR0; /**< Data Match 0, offset: 0x30 */
  60405. __IO uint32_t DMR1; /**< Data Match 1, offset: 0x34 */
  60406. uint8_t RESERVED_2[8];
  60407. __IO uint32_t CCR; /**< Clock Configuration, offset: 0x40 */
  60408. uint8_t RESERVED_3[20];
  60409. __IO uint32_t FCR; /**< FIFO Control, offset: 0x58 */
  60410. __I uint32_t FSR; /**< FIFO Status, offset: 0x5C */
  60411. __IO uint32_t TCR; /**< Transmit Command, offset: 0x60 */
  60412. __O uint32_t TDR; /**< Transmit Data, offset: 0x64 */
  60413. uint8_t RESERVED_4[8];
  60414. __I uint32_t RSR; /**< Receive Status, offset: 0x70 */
  60415. __I uint32_t RDR; /**< Receive Data, offset: 0x74 */
  60416. } LPSPI_Type;
  60417. /* ----------------------------------------------------------------------------
  60418. -- LPSPI Register Masks
  60419. ---------------------------------------------------------------------------- */
  60420. /*!
  60421. * @addtogroup LPSPI_Register_Masks LPSPI Register Masks
  60422. * @{
  60423. */
  60424. /*! @name VERID - Version ID */
  60425. /*! @{ */
  60426. #define LPSPI_VERID_FEATURE_MASK (0xFFFFU)
  60427. #define LPSPI_VERID_FEATURE_SHIFT (0U)
  60428. /*! FEATURE - Module Identification Number
  60429. * 0b0000000000000100..Standard feature set supporting a 32-bit shift register.
  60430. */
  60431. #define LPSPI_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_VERID_FEATURE_SHIFT)) & LPSPI_VERID_FEATURE_MASK)
  60432. #define LPSPI_VERID_MINOR_MASK (0xFF0000U)
  60433. #define LPSPI_VERID_MINOR_SHIFT (16U)
  60434. /*! MINOR - Minor Version Number
  60435. */
  60436. #define LPSPI_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_VERID_MINOR_SHIFT)) & LPSPI_VERID_MINOR_MASK)
  60437. #define LPSPI_VERID_MAJOR_MASK (0xFF000000U)
  60438. #define LPSPI_VERID_MAJOR_SHIFT (24U)
  60439. /*! MAJOR - Major Version Number
  60440. */
  60441. #define LPSPI_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_VERID_MAJOR_SHIFT)) & LPSPI_VERID_MAJOR_MASK)
  60442. /*! @} */
  60443. /*! @name PARAM - Parameter */
  60444. /*! @{ */
  60445. #define LPSPI_PARAM_TXFIFO_MASK (0xFFU)
  60446. #define LPSPI_PARAM_TXFIFO_SHIFT (0U)
  60447. /*! TXFIFO - Transmit FIFO Size
  60448. */
  60449. #define LPSPI_PARAM_TXFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_PARAM_TXFIFO_SHIFT)) & LPSPI_PARAM_TXFIFO_MASK)
  60450. #define LPSPI_PARAM_RXFIFO_MASK (0xFF00U)
  60451. #define LPSPI_PARAM_RXFIFO_SHIFT (8U)
  60452. /*! RXFIFO - Receive FIFO Size
  60453. */
  60454. #define LPSPI_PARAM_RXFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_PARAM_RXFIFO_SHIFT)) & LPSPI_PARAM_RXFIFO_MASK)
  60455. #define LPSPI_PARAM_PCSNUM_MASK (0xFF0000U)
  60456. #define LPSPI_PARAM_PCSNUM_SHIFT (16U)
  60457. /*! PCSNUM - PCS Number
  60458. */
  60459. #define LPSPI_PARAM_PCSNUM(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_PARAM_PCSNUM_SHIFT)) & LPSPI_PARAM_PCSNUM_MASK)
  60460. /*! @} */
  60461. /*! @name CR - Control */
  60462. /*! @{ */
  60463. #define LPSPI_CR_MEN_MASK (0x1U)
  60464. #define LPSPI_CR_MEN_SHIFT (0U)
  60465. /*! MEN - Module Enable
  60466. * 0b0..Module is disabled
  60467. * 0b1..Module is enabled
  60468. */
  60469. #define LPSPI_CR_MEN(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CR_MEN_SHIFT)) & LPSPI_CR_MEN_MASK)
  60470. #define LPSPI_CR_RST_MASK (0x2U)
  60471. #define LPSPI_CR_RST_SHIFT (1U)
  60472. /*! RST - Software Reset
  60473. * 0b0..Module is not reset
  60474. * 0b1..Module is reset
  60475. */
  60476. #define LPSPI_CR_RST(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CR_RST_SHIFT)) & LPSPI_CR_RST_MASK)
  60477. #define LPSPI_CR_DOZEN_MASK (0x4U)
  60478. #define LPSPI_CR_DOZEN_SHIFT (2U)
  60479. /*! DOZEN - Doze Mode Enable
  60480. * 0b0..LPSPI module is enabled in Doze mode
  60481. * 0b1..LPSPI module is disabled in Doze mode
  60482. */
  60483. #define LPSPI_CR_DOZEN(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CR_DOZEN_SHIFT)) & LPSPI_CR_DOZEN_MASK)
  60484. #define LPSPI_CR_DBGEN_MASK (0x8U)
  60485. #define LPSPI_CR_DBGEN_SHIFT (3U)
  60486. /*! DBGEN - Debug Enable
  60487. * 0b0..LPSPI module is disabled in debug mode
  60488. * 0b1..LPSPI module is enabled in debug mode
  60489. */
  60490. #define LPSPI_CR_DBGEN(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CR_DBGEN_SHIFT)) & LPSPI_CR_DBGEN_MASK)
  60491. #define LPSPI_CR_RTF_MASK (0x100U)
  60492. #define LPSPI_CR_RTF_SHIFT (8U)
  60493. /*! RTF - Reset Transmit FIFO
  60494. * 0b0..No effect
  60495. * 0b1..Reset the Transmit FIFO. The register bit always reads zero.
  60496. */
  60497. #define LPSPI_CR_RTF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CR_RTF_SHIFT)) & LPSPI_CR_RTF_MASK)
  60498. #define LPSPI_CR_RRF_MASK (0x200U)
  60499. #define LPSPI_CR_RRF_SHIFT (9U)
  60500. /*! RRF - Reset Receive FIFO
  60501. * 0b0..No effect
  60502. * 0b1..Reset the Receive FIFO. The register bit always reads zero.
  60503. */
  60504. #define LPSPI_CR_RRF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CR_RRF_SHIFT)) & LPSPI_CR_RRF_MASK)
  60505. /*! @} */
  60506. /*! @name SR - Status */
  60507. /*! @{ */
  60508. #define LPSPI_SR_TDF_MASK (0x1U)
  60509. #define LPSPI_SR_TDF_SHIFT (0U)
  60510. /*! TDF - Transmit Data Flag
  60511. * 0b0..Transmit data not requested
  60512. * 0b1..Transmit data is requested
  60513. */
  60514. #define LPSPI_SR_TDF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_TDF_SHIFT)) & LPSPI_SR_TDF_MASK)
  60515. #define LPSPI_SR_RDF_MASK (0x2U)
  60516. #define LPSPI_SR_RDF_SHIFT (1U)
  60517. /*! RDF - Receive Data Flag
  60518. * 0b0..Receive Data is not ready
  60519. * 0b1..Receive data is ready
  60520. */
  60521. #define LPSPI_SR_RDF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_RDF_SHIFT)) & LPSPI_SR_RDF_MASK)
  60522. #define LPSPI_SR_WCF_MASK (0x100U)
  60523. #define LPSPI_SR_WCF_SHIFT (8U)
  60524. /*! WCF - Word Complete Flag
  60525. * 0b0..Transfer of a received word has not yet completed
  60526. * 0b1..Transfer of a received word has completed
  60527. */
  60528. #define LPSPI_SR_WCF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_WCF_SHIFT)) & LPSPI_SR_WCF_MASK)
  60529. #define LPSPI_SR_FCF_MASK (0x200U)
  60530. #define LPSPI_SR_FCF_SHIFT (9U)
  60531. /*! FCF - Frame Complete Flag
  60532. * 0b0..Frame transfer has not completed
  60533. * 0b1..Frame transfer has completed
  60534. */
  60535. #define LPSPI_SR_FCF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_FCF_SHIFT)) & LPSPI_SR_FCF_MASK)
  60536. #define LPSPI_SR_TCF_MASK (0x400U)
  60537. #define LPSPI_SR_TCF_SHIFT (10U)
  60538. /*! TCF - Transfer Complete Flag
  60539. * 0b0..All transfers have not completed
  60540. * 0b1..All transfers have completed
  60541. */
  60542. #define LPSPI_SR_TCF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_TCF_SHIFT)) & LPSPI_SR_TCF_MASK)
  60543. #define LPSPI_SR_TEF_MASK (0x800U)
  60544. #define LPSPI_SR_TEF_SHIFT (11U)
  60545. /*! TEF - Transmit Error Flag
  60546. * 0b0..Transmit FIFO underrun has not occurred
  60547. * 0b1..Transmit FIFO underrun has occurred
  60548. */
  60549. #define LPSPI_SR_TEF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_TEF_SHIFT)) & LPSPI_SR_TEF_MASK)
  60550. #define LPSPI_SR_REF_MASK (0x1000U)
  60551. #define LPSPI_SR_REF_SHIFT (12U)
  60552. /*! REF - Receive Error Flag
  60553. * 0b0..Receive FIFO has not overflowed
  60554. * 0b1..Receive FIFO has overflowed
  60555. */
  60556. #define LPSPI_SR_REF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_REF_SHIFT)) & LPSPI_SR_REF_MASK)
  60557. #define LPSPI_SR_DMF_MASK (0x2000U)
  60558. #define LPSPI_SR_DMF_SHIFT (13U)
  60559. /*! DMF - Data Match Flag
  60560. * 0b0..Have not received matching data
  60561. * 0b1..Have received matching data
  60562. */
  60563. #define LPSPI_SR_DMF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_DMF_SHIFT)) & LPSPI_SR_DMF_MASK)
  60564. #define LPSPI_SR_MBF_MASK (0x1000000U)
  60565. #define LPSPI_SR_MBF_SHIFT (24U)
  60566. /*! MBF - Module Busy Flag
  60567. * 0b0..LPSPI is idle
  60568. * 0b1..LPSPI is busy
  60569. */
  60570. #define LPSPI_SR_MBF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_MBF_SHIFT)) & LPSPI_SR_MBF_MASK)
  60571. /*! @} */
  60572. /*! @name IER - Interrupt Enable */
  60573. /*! @{ */
  60574. #define LPSPI_IER_TDIE_MASK (0x1U)
  60575. #define LPSPI_IER_TDIE_SHIFT (0U)
  60576. /*! TDIE - Transmit Data Interrupt Enable
  60577. * 0b0..Disabled
  60578. * 0b1..Enabled
  60579. */
  60580. #define LPSPI_IER_TDIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_TDIE_SHIFT)) & LPSPI_IER_TDIE_MASK)
  60581. #define LPSPI_IER_RDIE_MASK (0x2U)
  60582. #define LPSPI_IER_RDIE_SHIFT (1U)
  60583. /*! RDIE - Receive Data Interrupt Enable
  60584. * 0b0..Disabled
  60585. * 0b1..Enabled
  60586. */
  60587. #define LPSPI_IER_RDIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_RDIE_SHIFT)) & LPSPI_IER_RDIE_MASK)
  60588. #define LPSPI_IER_WCIE_MASK (0x100U)
  60589. #define LPSPI_IER_WCIE_SHIFT (8U)
  60590. /*! WCIE - Word Complete Interrupt Enable
  60591. * 0b0..Disabled
  60592. * 0b1..Enabled
  60593. */
  60594. #define LPSPI_IER_WCIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_WCIE_SHIFT)) & LPSPI_IER_WCIE_MASK)
  60595. #define LPSPI_IER_FCIE_MASK (0x200U)
  60596. #define LPSPI_IER_FCIE_SHIFT (9U)
  60597. /*! FCIE - Frame Complete Interrupt Enable
  60598. * 0b0..Disabled
  60599. * 0b1..Enabled
  60600. */
  60601. #define LPSPI_IER_FCIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_FCIE_SHIFT)) & LPSPI_IER_FCIE_MASK)
  60602. #define LPSPI_IER_TCIE_MASK (0x400U)
  60603. #define LPSPI_IER_TCIE_SHIFT (10U)
  60604. /*! TCIE - Transfer Complete Interrupt Enable
  60605. * 0b0..Disabled
  60606. * 0b1..Enabled
  60607. */
  60608. #define LPSPI_IER_TCIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_TCIE_SHIFT)) & LPSPI_IER_TCIE_MASK)
  60609. #define LPSPI_IER_TEIE_MASK (0x800U)
  60610. #define LPSPI_IER_TEIE_SHIFT (11U)
  60611. /*! TEIE - Transmit Error Interrupt Enable
  60612. * 0b0..Disabled
  60613. * 0b1..Enabled
  60614. */
  60615. #define LPSPI_IER_TEIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_TEIE_SHIFT)) & LPSPI_IER_TEIE_MASK)
  60616. #define LPSPI_IER_REIE_MASK (0x1000U)
  60617. #define LPSPI_IER_REIE_SHIFT (12U)
  60618. /*! REIE - Receive Error Interrupt Enable
  60619. * 0b0..Disabled
  60620. * 0b1..Enabled
  60621. */
  60622. #define LPSPI_IER_REIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_REIE_SHIFT)) & LPSPI_IER_REIE_MASK)
  60623. #define LPSPI_IER_DMIE_MASK (0x2000U)
  60624. #define LPSPI_IER_DMIE_SHIFT (13U)
  60625. /*! DMIE - Data Match Interrupt Enable
  60626. * 0b0..Disabled
  60627. * 0b1..Enabled
  60628. */
  60629. #define LPSPI_IER_DMIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_DMIE_SHIFT)) & LPSPI_IER_DMIE_MASK)
  60630. /*! @} */
  60631. /*! @name DER - DMA Enable */
  60632. /*! @{ */
  60633. #define LPSPI_DER_TDDE_MASK (0x1U)
  60634. #define LPSPI_DER_TDDE_SHIFT (0U)
  60635. /*! TDDE - Transmit Data DMA Enable
  60636. * 0b0..DMA request is disabled
  60637. * 0b1..DMA request is enabled
  60638. */
  60639. #define LPSPI_DER_TDDE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_DER_TDDE_SHIFT)) & LPSPI_DER_TDDE_MASK)
  60640. #define LPSPI_DER_RDDE_MASK (0x2U)
  60641. #define LPSPI_DER_RDDE_SHIFT (1U)
  60642. /*! RDDE - Receive Data DMA Enable
  60643. * 0b0..DMA request is disabled
  60644. * 0b1..DMA request is enabled
  60645. */
  60646. #define LPSPI_DER_RDDE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_DER_RDDE_SHIFT)) & LPSPI_DER_RDDE_MASK)
  60647. /*! @} */
  60648. /*! @name CFGR0 - Configuration 0 */
  60649. /*! @{ */
  60650. #define LPSPI_CFGR0_CIRFIFO_MASK (0x100U)
  60651. #define LPSPI_CFGR0_CIRFIFO_SHIFT (8U)
  60652. /*! CIRFIFO - Circular FIFO Enable
  60653. * 0b0..Circular FIFO is disabled
  60654. * 0b1..Circular FIFO is enabled
  60655. */
  60656. #define LPSPI_CFGR0_CIRFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR0_CIRFIFO_SHIFT)) & LPSPI_CFGR0_CIRFIFO_MASK)
  60657. #define LPSPI_CFGR0_RDMO_MASK (0x200U)
  60658. #define LPSPI_CFGR0_RDMO_SHIFT (9U)
  60659. /*! RDMO - Receive Data Match Only
  60660. * 0b0..Received data is stored in the receive FIFO as in normal operations
  60661. * 0b1..Received data is discarded unless the SR[DMF] = 1
  60662. */
  60663. #define LPSPI_CFGR0_RDMO(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR0_RDMO_SHIFT)) & LPSPI_CFGR0_RDMO_MASK)
  60664. /*! @} */
  60665. /*! @name CFGR1 - Configuration 1 */
  60666. /*! @{ */
  60667. #define LPSPI_CFGR1_MASTER_MASK (0x1U)
  60668. #define LPSPI_CFGR1_MASTER_SHIFT (0U)
  60669. /*! MASTER - Master Mode
  60670. * 0b0..Slave mode
  60671. * 0b1..Master mode
  60672. */
  60673. #define LPSPI_CFGR1_MASTER(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_MASTER_SHIFT)) & LPSPI_CFGR1_MASTER_MASK)
  60674. #define LPSPI_CFGR1_SAMPLE_MASK (0x2U)
  60675. #define LPSPI_CFGR1_SAMPLE_SHIFT (1U)
  60676. /*! SAMPLE - Sample Point
  60677. * 0b0..Input data is sampled on SCK edge
  60678. * 0b1..Input data is sampled on delayed SCK edge
  60679. */
  60680. #define LPSPI_CFGR1_SAMPLE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_SAMPLE_SHIFT)) & LPSPI_CFGR1_SAMPLE_MASK)
  60681. #define LPSPI_CFGR1_AUTOPCS_MASK (0x4U)
  60682. #define LPSPI_CFGR1_AUTOPCS_SHIFT (2U)
  60683. /*! AUTOPCS - Automatic PCS
  60684. * 0b0..Automatic PCS generation is disabled
  60685. * 0b1..Automatic PCS generation is enabled
  60686. */
  60687. #define LPSPI_CFGR1_AUTOPCS(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_AUTOPCS_SHIFT)) & LPSPI_CFGR1_AUTOPCS_MASK)
  60688. #define LPSPI_CFGR1_NOSTALL_MASK (0x8U)
  60689. #define LPSPI_CFGR1_NOSTALL_SHIFT (3U)
  60690. /*! NOSTALL - No Stall
  60691. * 0b0..Transfers stall when the transmit FIFO is empty
  60692. * 0b1..Transfers do not stall, allowing transmit FIFO underruns to occur
  60693. */
  60694. #define LPSPI_CFGR1_NOSTALL(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_NOSTALL_SHIFT)) & LPSPI_CFGR1_NOSTALL_MASK)
  60695. #define LPSPI_CFGR1_PCSPOL_MASK (0xF00U)
  60696. #define LPSPI_CFGR1_PCSPOL_SHIFT (8U)
  60697. /*! PCSPOL - Peripheral Chip Select Polarity
  60698. */
  60699. #define LPSPI_CFGR1_PCSPOL(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_PCSPOL_SHIFT)) & LPSPI_CFGR1_PCSPOL_MASK)
  60700. #define LPSPI_CFGR1_MATCFG_MASK (0x70000U)
  60701. #define LPSPI_CFGR1_MATCFG_SHIFT (16U)
  60702. /*! MATCFG - Match Configuration
  60703. * 0b000..Match is disabled
  60704. * 0b001..Reserved
  60705. * 0b010..Match is enabled is 1st data word is MATCH0 or MATCH1
  60706. * 0b011..Match is enabled on any data word equal MATCH0 or MATCH1
  60707. * 0b100..Match is enabled on data match sequence
  60708. * 0b101..Match is enabled on data match sequence
  60709. * 0b110..Match is enabled
  60710. * 0b111..Match is enabled
  60711. */
  60712. #define LPSPI_CFGR1_MATCFG(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_MATCFG_SHIFT)) & LPSPI_CFGR1_MATCFG_MASK)
  60713. #define LPSPI_CFGR1_PINCFG_MASK (0x3000000U)
  60714. #define LPSPI_CFGR1_PINCFG_SHIFT (24U)
  60715. /*! PINCFG - Pin Configuration
  60716. * 0b00..SIN is used for input data and SOUT is used for output data
  60717. * 0b01..SIN is used for both input and output data, only half-duplex serial transfers are supported
  60718. * 0b10..SOUT is used for both input and output data, only half-duplex serial transfers are supported
  60719. * 0b11..SOUT is used for input data and SIN is used for output data
  60720. */
  60721. #define LPSPI_CFGR1_PINCFG(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_PINCFG_SHIFT)) & LPSPI_CFGR1_PINCFG_MASK)
  60722. #define LPSPI_CFGR1_OUTCFG_MASK (0x4000000U)
  60723. #define LPSPI_CFGR1_OUTCFG_SHIFT (26U)
  60724. /*! OUTCFG - Output Configuration
  60725. * 0b0..Output data retains last value when chip select is negated
  60726. * 0b1..Output data is tristated when chip select is negated
  60727. */
  60728. #define LPSPI_CFGR1_OUTCFG(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_OUTCFG_SHIFT)) & LPSPI_CFGR1_OUTCFG_MASK)
  60729. #define LPSPI_CFGR1_PCSCFG_MASK (0x8000000U)
  60730. #define LPSPI_CFGR1_PCSCFG_SHIFT (27U)
  60731. /*! PCSCFG - Peripheral Chip Select Configuration
  60732. * 0b0..PCS[3:2] are configured for chip select function
  60733. * 0b1..PCS[3:2] are configured for half-duplex 4-bit transfers (PCS[3:2] = DATA[3:2])
  60734. */
  60735. #define LPSPI_CFGR1_PCSCFG(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_PCSCFG_SHIFT)) & LPSPI_CFGR1_PCSCFG_MASK)
  60736. /*! @} */
  60737. /*! @name DMR0 - Data Match 0 */
  60738. /*! @{ */
  60739. #define LPSPI_DMR0_MATCH0_MASK (0xFFFFFFFFU)
  60740. #define LPSPI_DMR0_MATCH0_SHIFT (0U)
  60741. /*! MATCH0 - Match 0 Value
  60742. */
  60743. #define LPSPI_DMR0_MATCH0(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_DMR0_MATCH0_SHIFT)) & LPSPI_DMR0_MATCH0_MASK)
  60744. /*! @} */
  60745. /*! @name DMR1 - Data Match 1 */
  60746. /*! @{ */
  60747. #define LPSPI_DMR1_MATCH1_MASK (0xFFFFFFFFU)
  60748. #define LPSPI_DMR1_MATCH1_SHIFT (0U)
  60749. /*! MATCH1 - Match 1 Value
  60750. */
  60751. #define LPSPI_DMR1_MATCH1(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_DMR1_MATCH1_SHIFT)) & LPSPI_DMR1_MATCH1_MASK)
  60752. /*! @} */
  60753. /*! @name CCR - Clock Configuration */
  60754. /*! @{ */
  60755. #define LPSPI_CCR_SCKDIV_MASK (0xFFU)
  60756. #define LPSPI_CCR_SCKDIV_SHIFT (0U)
  60757. /*! SCKDIV - SCK Divider
  60758. */
  60759. #define LPSPI_CCR_SCKDIV(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CCR_SCKDIV_SHIFT)) & LPSPI_CCR_SCKDIV_MASK)
  60760. #define LPSPI_CCR_DBT_MASK (0xFF00U)
  60761. #define LPSPI_CCR_DBT_SHIFT (8U)
  60762. /*! DBT - Delay Between Transfers
  60763. */
  60764. #define LPSPI_CCR_DBT(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CCR_DBT_SHIFT)) & LPSPI_CCR_DBT_MASK)
  60765. #define LPSPI_CCR_PCSSCK_MASK (0xFF0000U)
  60766. #define LPSPI_CCR_PCSSCK_SHIFT (16U)
  60767. /*! PCSSCK - PCS-to-SCK Delay
  60768. */
  60769. #define LPSPI_CCR_PCSSCK(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CCR_PCSSCK_SHIFT)) & LPSPI_CCR_PCSSCK_MASK)
  60770. #define LPSPI_CCR_SCKPCS_MASK (0xFF000000U)
  60771. #define LPSPI_CCR_SCKPCS_SHIFT (24U)
  60772. /*! SCKPCS - SCK-to-PCS Delay
  60773. */
  60774. #define LPSPI_CCR_SCKPCS(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CCR_SCKPCS_SHIFT)) & LPSPI_CCR_SCKPCS_MASK)
  60775. /*! @} */
  60776. /*! @name FCR - FIFO Control */
  60777. /*! @{ */
  60778. #define LPSPI_FCR_TXWATER_MASK (0xFU)
  60779. #define LPSPI_FCR_TXWATER_SHIFT (0U)
  60780. /*! TXWATER - Transmit FIFO Watermark
  60781. */
  60782. #define LPSPI_FCR_TXWATER(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_FCR_TXWATER_SHIFT)) & LPSPI_FCR_TXWATER_MASK)
  60783. #define LPSPI_FCR_RXWATER_MASK (0xF0000U)
  60784. #define LPSPI_FCR_RXWATER_SHIFT (16U)
  60785. /*! RXWATER - Receive FIFO Watermark
  60786. */
  60787. #define LPSPI_FCR_RXWATER(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_FCR_RXWATER_SHIFT)) & LPSPI_FCR_RXWATER_MASK)
  60788. /*! @} */
  60789. /*! @name FSR - FIFO Status */
  60790. /*! @{ */
  60791. #define LPSPI_FSR_TXCOUNT_MASK (0x1FU)
  60792. #define LPSPI_FSR_TXCOUNT_SHIFT (0U)
  60793. /*! TXCOUNT - Transmit FIFO Count
  60794. */
  60795. #define LPSPI_FSR_TXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_FSR_TXCOUNT_SHIFT)) & LPSPI_FSR_TXCOUNT_MASK)
  60796. #define LPSPI_FSR_RXCOUNT_MASK (0x1F0000U)
  60797. #define LPSPI_FSR_RXCOUNT_SHIFT (16U)
  60798. /*! RXCOUNT - Receive FIFO Count
  60799. */
  60800. #define LPSPI_FSR_RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_FSR_RXCOUNT_SHIFT)) & LPSPI_FSR_RXCOUNT_MASK)
  60801. /*! @} */
  60802. /*! @name TCR - Transmit Command */
  60803. /*! @{ */
  60804. #define LPSPI_TCR_FRAMESZ_MASK (0xFFFU)
  60805. #define LPSPI_TCR_FRAMESZ_SHIFT (0U)
  60806. /*! FRAMESZ - Frame Size
  60807. */
  60808. #define LPSPI_TCR_FRAMESZ(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_FRAMESZ_SHIFT)) & LPSPI_TCR_FRAMESZ_MASK)
  60809. #define LPSPI_TCR_WIDTH_MASK (0x30000U)
  60810. #define LPSPI_TCR_WIDTH_SHIFT (16U)
  60811. /*! WIDTH - Transfer Width
  60812. * 0b00..1 bit transfer
  60813. * 0b01..2 bit transfer
  60814. * 0b10..4 bit transfer
  60815. * 0b11..Reserved
  60816. */
  60817. #define LPSPI_TCR_WIDTH(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_WIDTH_SHIFT)) & LPSPI_TCR_WIDTH_MASK)
  60818. #define LPSPI_TCR_TXMSK_MASK (0x40000U)
  60819. #define LPSPI_TCR_TXMSK_SHIFT (18U)
  60820. /*! TXMSK - Transmit Data Mask
  60821. * 0b0..Normal transfer
  60822. * 0b1..Mask transmit data
  60823. */
  60824. #define LPSPI_TCR_TXMSK(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_TXMSK_SHIFT)) & LPSPI_TCR_TXMSK_MASK)
  60825. #define LPSPI_TCR_RXMSK_MASK (0x80000U)
  60826. #define LPSPI_TCR_RXMSK_SHIFT (19U)
  60827. /*! RXMSK - Receive Data Mask
  60828. * 0b0..Normal transfer
  60829. * 0b1..Receive data is masked
  60830. */
  60831. #define LPSPI_TCR_RXMSK(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_RXMSK_SHIFT)) & LPSPI_TCR_RXMSK_MASK)
  60832. #define LPSPI_TCR_CONTC_MASK (0x100000U)
  60833. #define LPSPI_TCR_CONTC_SHIFT (20U)
  60834. /*! CONTC - Continuing Command
  60835. * 0b0..Command word for start of new transfer
  60836. * 0b1..Command word for continuing transfer
  60837. */
  60838. #define LPSPI_TCR_CONTC(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_CONTC_SHIFT)) & LPSPI_TCR_CONTC_MASK)
  60839. #define LPSPI_TCR_CONT_MASK (0x200000U)
  60840. #define LPSPI_TCR_CONT_SHIFT (21U)
  60841. /*! CONT - Continuous Transfer
  60842. * 0b0..Continuous transfer is disabled
  60843. * 0b1..Continuous transfer is enabled
  60844. */
  60845. #define LPSPI_TCR_CONT(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_CONT_SHIFT)) & LPSPI_TCR_CONT_MASK)
  60846. #define LPSPI_TCR_BYSW_MASK (0x400000U)
  60847. #define LPSPI_TCR_BYSW_SHIFT (22U)
  60848. /*! BYSW - Byte Swap
  60849. * 0b0..Byte swap is disabled
  60850. * 0b1..Byte swap is enabled
  60851. */
  60852. #define LPSPI_TCR_BYSW(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_BYSW_SHIFT)) & LPSPI_TCR_BYSW_MASK)
  60853. #define LPSPI_TCR_LSBF_MASK (0x800000U)
  60854. #define LPSPI_TCR_LSBF_SHIFT (23U)
  60855. /*! LSBF - LSB First
  60856. * 0b0..Data is transferred MSB first
  60857. * 0b1..Data is transferred LSB first
  60858. */
  60859. #define LPSPI_TCR_LSBF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_LSBF_SHIFT)) & LPSPI_TCR_LSBF_MASK)
  60860. #define LPSPI_TCR_PCS_MASK (0x3000000U)
  60861. #define LPSPI_TCR_PCS_SHIFT (24U)
  60862. /*! PCS - Peripheral Chip Select
  60863. * 0b00..Transfer using PCS[0]
  60864. * 0b01..Transfer using PCS[1]
  60865. * 0b10..Transfer using PCS[2]
  60866. * 0b11..Transfer using PCS[3]
  60867. */
  60868. #define LPSPI_TCR_PCS(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_PCS_SHIFT)) & LPSPI_TCR_PCS_MASK)
  60869. #define LPSPI_TCR_PRESCALE_MASK (0x38000000U)
  60870. #define LPSPI_TCR_PRESCALE_SHIFT (27U)
  60871. /*! PRESCALE - Prescaler Value
  60872. * 0b000..Divide by 1
  60873. * 0b001..Divide by 2
  60874. * 0b010..Divide by 4
  60875. * 0b011..Divide by 8
  60876. * 0b100..Divide by 16
  60877. * 0b101..Divide by 32
  60878. * 0b110..Divide by 64
  60879. * 0b111..Divide by 128
  60880. */
  60881. #define LPSPI_TCR_PRESCALE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_PRESCALE_SHIFT)) & LPSPI_TCR_PRESCALE_MASK)
  60882. #define LPSPI_TCR_CPHA_MASK (0x40000000U)
  60883. #define LPSPI_TCR_CPHA_SHIFT (30U)
  60884. /*! CPHA - Clock Phase
  60885. * 0b0..Captured
  60886. * 0b1..Changed
  60887. */
  60888. #define LPSPI_TCR_CPHA(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_CPHA_SHIFT)) & LPSPI_TCR_CPHA_MASK)
  60889. #define LPSPI_TCR_CPOL_MASK (0x80000000U)
  60890. #define LPSPI_TCR_CPOL_SHIFT (31U)
  60891. /*! CPOL - Clock Polarity
  60892. * 0b0..The inactive state value of SCK is low
  60893. * 0b1..The inactive state value of SCK is high
  60894. */
  60895. #define LPSPI_TCR_CPOL(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_CPOL_SHIFT)) & LPSPI_TCR_CPOL_MASK)
  60896. /*! @} */
  60897. /*! @name TDR - Transmit Data */
  60898. /*! @{ */
  60899. #define LPSPI_TDR_DATA_MASK (0xFFFFFFFFU)
  60900. #define LPSPI_TDR_DATA_SHIFT (0U)
  60901. /*! DATA - Transmit Data
  60902. */
  60903. #define LPSPI_TDR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TDR_DATA_SHIFT)) & LPSPI_TDR_DATA_MASK)
  60904. /*! @} */
  60905. /*! @name RSR - Receive Status */
  60906. /*! @{ */
  60907. #define LPSPI_RSR_SOF_MASK (0x1U)
  60908. #define LPSPI_RSR_SOF_SHIFT (0U)
  60909. /*! SOF - Start Of Frame
  60910. * 0b0..Subsequent data word received after PCS assertion
  60911. * 0b1..First data word received after PCS assertion
  60912. */
  60913. #define LPSPI_RSR_SOF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_RSR_SOF_SHIFT)) & LPSPI_RSR_SOF_MASK)
  60914. #define LPSPI_RSR_RXEMPTY_MASK (0x2U)
  60915. #define LPSPI_RSR_RXEMPTY_SHIFT (1U)
  60916. /*! RXEMPTY - RX FIFO Empty
  60917. * 0b0..RX FIFO is not empty
  60918. * 0b1..RX FIFO is empty
  60919. */
  60920. #define LPSPI_RSR_RXEMPTY(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_RSR_RXEMPTY_SHIFT)) & LPSPI_RSR_RXEMPTY_MASK)
  60921. /*! @} */
  60922. /*! @name RDR - Receive Data */
  60923. /*! @{ */
  60924. #define LPSPI_RDR_DATA_MASK (0xFFFFFFFFU)
  60925. #define LPSPI_RDR_DATA_SHIFT (0U)
  60926. /*! DATA - Receive Data
  60927. */
  60928. #define LPSPI_RDR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_RDR_DATA_SHIFT)) & LPSPI_RDR_DATA_MASK)
  60929. /*! @} */
  60930. /*!
  60931. * @}
  60932. */ /* end of group LPSPI_Register_Masks */
  60933. /* LPSPI - Peripheral instance base addresses */
  60934. /** Peripheral LPSPI1 base address */
  60935. #define LPSPI1_BASE (0x40114000u)
  60936. /** Peripheral LPSPI1 base pointer */
  60937. #define LPSPI1 ((LPSPI_Type *)LPSPI1_BASE)
  60938. /** Peripheral LPSPI2 base address */
  60939. #define LPSPI2_BASE (0x40118000u)
  60940. /** Peripheral LPSPI2 base pointer */
  60941. #define LPSPI2 ((LPSPI_Type *)LPSPI2_BASE)
  60942. /** Peripheral LPSPI3 base address */
  60943. #define LPSPI3_BASE (0x4011C000u)
  60944. /** Peripheral LPSPI3 base pointer */
  60945. #define LPSPI3 ((LPSPI_Type *)LPSPI3_BASE)
  60946. /** Peripheral LPSPI4 base address */
  60947. #define LPSPI4_BASE (0x40120000u)
  60948. /** Peripheral LPSPI4 base pointer */
  60949. #define LPSPI4 ((LPSPI_Type *)LPSPI4_BASE)
  60950. /** Peripheral LPSPI5 base address */
  60951. #define LPSPI5_BASE (0x40C2C000u)
  60952. /** Peripheral LPSPI5 base pointer */
  60953. #define LPSPI5 ((LPSPI_Type *)LPSPI5_BASE)
  60954. /** Peripheral LPSPI6 base address */
  60955. #define LPSPI6_BASE (0x40C30000u)
  60956. /** Peripheral LPSPI6 base pointer */
  60957. #define LPSPI6 ((LPSPI_Type *)LPSPI6_BASE)
  60958. /** Array initializer of LPSPI peripheral base addresses */
  60959. #define LPSPI_BASE_ADDRS { 0u, LPSPI1_BASE, LPSPI2_BASE, LPSPI3_BASE, LPSPI4_BASE, LPSPI5_BASE, LPSPI6_BASE }
  60960. /** Array initializer of LPSPI peripheral base pointers */
  60961. #define LPSPI_BASE_PTRS { (LPSPI_Type *)0u, LPSPI1, LPSPI2, LPSPI3, LPSPI4, LPSPI5, LPSPI6 }
  60962. /** Interrupt vectors for the LPSPI peripheral type */
  60963. #define LPSPI_IRQS { NotAvail_IRQn, LPSPI1_IRQn, LPSPI2_IRQn, LPSPI3_IRQn, LPSPI4_IRQn, LPSPI5_IRQn, LPSPI6_IRQn }
  60964. /*!
  60965. * @}
  60966. */ /* end of group LPSPI_Peripheral_Access_Layer */
  60967. /* ----------------------------------------------------------------------------
  60968. -- LPUART Peripheral Access Layer
  60969. ---------------------------------------------------------------------------- */
  60970. /*!
  60971. * @addtogroup LPUART_Peripheral_Access_Layer LPUART Peripheral Access Layer
  60972. * @{
  60973. */
  60974. /** LPUART - Register Layout Typedef */
  60975. typedef struct {
  60976. __I uint32_t VERID; /**< Version ID Register, offset: 0x0 */
  60977. __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */
  60978. __IO uint32_t GLOBAL; /**< LPUART Global Register, offset: 0x8 */
  60979. __IO uint32_t PINCFG; /**< LPUART Pin Configuration Register, offset: 0xC */
  60980. __IO uint32_t BAUD; /**< LPUART Baud Rate Register, offset: 0x10 */
  60981. __IO uint32_t STAT; /**< LPUART Status Register, offset: 0x14 */
  60982. __IO uint32_t CTRL; /**< LPUART Control Register, offset: 0x18 */
  60983. __IO uint32_t DATA; /**< LPUART Data Register, offset: 0x1C */
  60984. __IO uint32_t MATCH; /**< LPUART Match Address Register, offset: 0x20 */
  60985. __IO uint32_t MODIR; /**< LPUART Modem IrDA Register, offset: 0x24 */
  60986. __IO uint32_t FIFO; /**< LPUART FIFO Register, offset: 0x28 */
  60987. __IO uint32_t WATER; /**< LPUART Watermark Register, offset: 0x2C */
  60988. } LPUART_Type;
  60989. /* ----------------------------------------------------------------------------
  60990. -- LPUART Register Masks
  60991. ---------------------------------------------------------------------------- */
  60992. /*!
  60993. * @addtogroup LPUART_Register_Masks LPUART Register Masks
  60994. * @{
  60995. */
  60996. /*! @name VERID - Version ID Register */
  60997. /*! @{ */
  60998. #define LPUART_VERID_FEATURE_MASK (0xFFFFU)
  60999. #define LPUART_VERID_FEATURE_SHIFT (0U)
  61000. /*! FEATURE - Feature Identification Number
  61001. * 0b0000000000000001..Standard feature set.
  61002. * 0b0000000000000011..Standard feature set with MODEM/IrDA support.
  61003. */
  61004. #define LPUART_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_VERID_FEATURE_SHIFT)) & LPUART_VERID_FEATURE_MASK)
  61005. #define LPUART_VERID_MINOR_MASK (0xFF0000U)
  61006. #define LPUART_VERID_MINOR_SHIFT (16U)
  61007. /*! MINOR - Minor Version Number
  61008. */
  61009. #define LPUART_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << LPUART_VERID_MINOR_SHIFT)) & LPUART_VERID_MINOR_MASK)
  61010. #define LPUART_VERID_MAJOR_MASK (0xFF000000U)
  61011. #define LPUART_VERID_MAJOR_SHIFT (24U)
  61012. /*! MAJOR - Major Version Number
  61013. */
  61014. #define LPUART_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << LPUART_VERID_MAJOR_SHIFT)) & LPUART_VERID_MAJOR_MASK)
  61015. /*! @} */
  61016. /*! @name PARAM - Parameter Register */
  61017. /*! @{ */
  61018. #define LPUART_PARAM_TXFIFO_MASK (0xFFU)
  61019. #define LPUART_PARAM_TXFIFO_SHIFT (0U)
  61020. /*! TXFIFO - Transmit FIFO Size
  61021. */
  61022. #define LPUART_PARAM_TXFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPUART_PARAM_TXFIFO_SHIFT)) & LPUART_PARAM_TXFIFO_MASK)
  61023. #define LPUART_PARAM_RXFIFO_MASK (0xFF00U)
  61024. #define LPUART_PARAM_RXFIFO_SHIFT (8U)
  61025. /*! RXFIFO - Receive FIFO Size
  61026. */
  61027. #define LPUART_PARAM_RXFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPUART_PARAM_RXFIFO_SHIFT)) & LPUART_PARAM_RXFIFO_MASK)
  61028. /*! @} */
  61029. /*! @name GLOBAL - LPUART Global Register */
  61030. /*! @{ */
  61031. #define LPUART_GLOBAL_RST_MASK (0x2U)
  61032. #define LPUART_GLOBAL_RST_SHIFT (1U)
  61033. /*! RST - Software Reset
  61034. * 0b0..Module is not reset.
  61035. * 0b1..Module is reset.
  61036. */
  61037. #define LPUART_GLOBAL_RST(x) (((uint32_t)(((uint32_t)(x)) << LPUART_GLOBAL_RST_SHIFT)) & LPUART_GLOBAL_RST_MASK)
  61038. /*! @} */
  61039. /*! @name PINCFG - LPUART Pin Configuration Register */
  61040. /*! @{ */
  61041. #define LPUART_PINCFG_TRGSEL_MASK (0x3U)
  61042. #define LPUART_PINCFG_TRGSEL_SHIFT (0U)
  61043. /*! TRGSEL - Trigger Select
  61044. * 0b00..Input trigger is disabled.
  61045. * 0b01..Input trigger is used instead of RXD pin input.
  61046. * 0b10..Input trigger is used instead of CTS_B pin input.
  61047. * 0b11..Input trigger is used to modulate the TXD pin output. The TXD pin output (after TXINV configuration) is
  61048. * internally ANDed with the input trigger.
  61049. */
  61050. #define LPUART_PINCFG_TRGSEL(x) (((uint32_t)(((uint32_t)(x)) << LPUART_PINCFG_TRGSEL_SHIFT)) & LPUART_PINCFG_TRGSEL_MASK)
  61051. /*! @} */
  61052. /*! @name BAUD - LPUART Baud Rate Register */
  61053. /*! @{ */
  61054. #define LPUART_BAUD_SBR_MASK (0x1FFFU)
  61055. #define LPUART_BAUD_SBR_SHIFT (0U)
  61056. /*! SBR - Baud Rate Modulo Divisor.
  61057. */
  61058. #define LPUART_BAUD_SBR(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_SBR_SHIFT)) & LPUART_BAUD_SBR_MASK)
  61059. #define LPUART_BAUD_SBNS_MASK (0x2000U)
  61060. #define LPUART_BAUD_SBNS_SHIFT (13U)
  61061. /*! SBNS - Stop Bit Number Select
  61062. * 0b0..One stop bit.
  61063. * 0b1..Two stop bits.
  61064. */
  61065. #define LPUART_BAUD_SBNS(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_SBNS_SHIFT)) & LPUART_BAUD_SBNS_MASK)
  61066. #define LPUART_BAUD_RXEDGIE_MASK (0x4000U)
  61067. #define LPUART_BAUD_RXEDGIE_SHIFT (14U)
  61068. /*! RXEDGIE - RX Input Active Edge Interrupt Enable
  61069. * 0b0..Hardware interrupts from STAT[RXEDGIF] are disabled.
  61070. * 0b1..Hardware interrupt is requested when STAT[RXEDGIF] flag is 1.
  61071. */
  61072. #define LPUART_BAUD_RXEDGIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_RXEDGIE_SHIFT)) & LPUART_BAUD_RXEDGIE_MASK)
  61073. #define LPUART_BAUD_LBKDIE_MASK (0x8000U)
  61074. #define LPUART_BAUD_LBKDIE_SHIFT (15U)
  61075. /*! LBKDIE - LIN Break Detect Interrupt Enable
  61076. * 0b0..Hardware interrupts from STAT[LBKDIF] flag are disabled (use polling).
  61077. * 0b1..Hardware interrupt is requested when STAT[LBKDIF] flag is 1.
  61078. */
  61079. #define LPUART_BAUD_LBKDIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_LBKDIE_SHIFT)) & LPUART_BAUD_LBKDIE_MASK)
  61080. #define LPUART_BAUD_RESYNCDIS_MASK (0x10000U)
  61081. #define LPUART_BAUD_RESYNCDIS_SHIFT (16U)
  61082. /*! RESYNCDIS - Resynchronization Disable
  61083. * 0b0..Resynchronization during received data word is supported.
  61084. * 0b1..Resynchronization during received data word is disabled.
  61085. */
  61086. #define LPUART_BAUD_RESYNCDIS(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_RESYNCDIS_SHIFT)) & LPUART_BAUD_RESYNCDIS_MASK)
  61087. #define LPUART_BAUD_BOTHEDGE_MASK (0x20000U)
  61088. #define LPUART_BAUD_BOTHEDGE_SHIFT (17U)
  61089. /*! BOTHEDGE - Both Edge Sampling
  61090. * 0b0..Receiver samples input data using the rising edge of the baud rate clock.
  61091. * 0b1..Receiver samples input data using the rising and falling edge of the baud rate clock.
  61092. */
  61093. #define LPUART_BAUD_BOTHEDGE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_BOTHEDGE_SHIFT)) & LPUART_BAUD_BOTHEDGE_MASK)
  61094. #define LPUART_BAUD_MATCFG_MASK (0xC0000U)
  61095. #define LPUART_BAUD_MATCFG_SHIFT (18U)
  61096. /*! MATCFG - Match Configuration
  61097. * 0b00..Address Match Wakeup
  61098. * 0b01..Idle Match Wakeup
  61099. * 0b10..Match On and Match Off
  61100. * 0b11..Enables RWU on Data Match and Match On/Off for transmitter CTS input
  61101. */
  61102. #define LPUART_BAUD_MATCFG(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_MATCFG_SHIFT)) & LPUART_BAUD_MATCFG_MASK)
  61103. #define LPUART_BAUD_RDMAE_MASK (0x200000U)
  61104. #define LPUART_BAUD_RDMAE_SHIFT (21U)
  61105. /*! RDMAE - Receiver Full DMA Enable
  61106. * 0b0..DMA request disabled.
  61107. * 0b1..DMA request enabled.
  61108. */
  61109. #define LPUART_BAUD_RDMAE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_RDMAE_SHIFT)) & LPUART_BAUD_RDMAE_MASK)
  61110. #define LPUART_BAUD_TDMAE_MASK (0x800000U)
  61111. #define LPUART_BAUD_TDMAE_SHIFT (23U)
  61112. /*! TDMAE - Transmitter DMA Enable
  61113. * 0b0..DMA request disabled.
  61114. * 0b1..DMA request enabled.
  61115. */
  61116. #define LPUART_BAUD_TDMAE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_TDMAE_SHIFT)) & LPUART_BAUD_TDMAE_MASK)
  61117. #define LPUART_BAUD_OSR_MASK (0x1F000000U)
  61118. #define LPUART_BAUD_OSR_SHIFT (24U)
  61119. /*! OSR - Oversampling Ratio
  61120. * 0b00000..Writing 0 to this field results in an oversampling ratio of 16
  61121. * 0b00001..Reserved
  61122. * 0b00010..Reserved
  61123. * 0b00011..Oversampling ratio of 4, requires BOTHEDGE to be set.
  61124. * 0b00100..Oversampling ratio of 5, requires BOTHEDGE to be set.
  61125. * 0b00101..Oversampling ratio of 6, requires BOTHEDGE to be set.
  61126. * 0b00110..Oversampling ratio of 7, requires BOTHEDGE to be set.
  61127. * 0b00111..Oversampling ratio of 8.
  61128. * 0b01000..Oversampling ratio of 9.
  61129. * 0b01001..Oversampling ratio of 10.
  61130. * 0b01010..Oversampling ratio of 11.
  61131. * 0b01011..Oversampling ratio of 12.
  61132. * 0b01100..Oversampling ratio of 13.
  61133. * 0b01101..Oversampling ratio of 14.
  61134. * 0b01110..Oversampling ratio of 15.
  61135. * 0b01111..Oversampling ratio of 16.
  61136. * 0b10000..Oversampling ratio of 17.
  61137. * 0b10001..Oversampling ratio of 18.
  61138. * 0b10010..Oversampling ratio of 19.
  61139. * 0b10011..Oversampling ratio of 20.
  61140. * 0b10100..Oversampling ratio of 21.
  61141. * 0b10101..Oversampling ratio of 22.
  61142. * 0b10110..Oversampling ratio of 23.
  61143. * 0b10111..Oversampling ratio of 24.
  61144. * 0b11000..Oversampling ratio of 25.
  61145. * 0b11001..Oversampling ratio of 26.
  61146. * 0b11010..Oversampling ratio of 27.
  61147. * 0b11011..Oversampling ratio of 28.
  61148. * 0b11100..Oversampling ratio of 29.
  61149. * 0b11101..Oversampling ratio of 30.
  61150. * 0b11110..Oversampling ratio of 31.
  61151. * 0b11111..Oversampling ratio of 32.
  61152. */
  61153. #define LPUART_BAUD_OSR(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_OSR_SHIFT)) & LPUART_BAUD_OSR_MASK)
  61154. #define LPUART_BAUD_M10_MASK (0x20000000U)
  61155. #define LPUART_BAUD_M10_SHIFT (29U)
  61156. /*! M10 - 10-bit Mode select
  61157. * 0b0..Receiver and transmitter use 7-bit to 9-bit data characters.
  61158. * 0b1..Receiver and transmitter use 10-bit data characters.
  61159. */
  61160. #define LPUART_BAUD_M10(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_M10_SHIFT)) & LPUART_BAUD_M10_MASK)
  61161. #define LPUART_BAUD_MAEN2_MASK (0x40000000U)
  61162. #define LPUART_BAUD_MAEN2_SHIFT (30U)
  61163. /*! MAEN2 - Match Address Mode Enable 2
  61164. * 0b0..Normal operation.
  61165. * 0b1..Enables automatic address matching or data matching mode for MATCH[MA2].
  61166. */
  61167. #define LPUART_BAUD_MAEN2(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_MAEN2_SHIFT)) & LPUART_BAUD_MAEN2_MASK)
  61168. #define LPUART_BAUD_MAEN1_MASK (0x80000000U)
  61169. #define LPUART_BAUD_MAEN1_SHIFT (31U)
  61170. /*! MAEN1 - Match Address Mode Enable 1
  61171. * 0b0..Normal operation.
  61172. * 0b1..Enables automatic address matching or data matching mode for MATCH[MA1].
  61173. */
  61174. #define LPUART_BAUD_MAEN1(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_MAEN1_SHIFT)) & LPUART_BAUD_MAEN1_MASK)
  61175. /*! @} */
  61176. /*! @name STAT - LPUART Status Register */
  61177. /*! @{ */
  61178. #define LPUART_STAT_MA2F_MASK (0x4000U)
  61179. #define LPUART_STAT_MA2F_SHIFT (14U)
  61180. /*! MA2F - Match 2 Flag
  61181. * 0b0..Received data is not equal to MA2
  61182. * 0b1..Received data is equal to MA2
  61183. */
  61184. #define LPUART_STAT_MA2F(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_MA2F_SHIFT)) & LPUART_STAT_MA2F_MASK)
  61185. #define LPUART_STAT_MA1F_MASK (0x8000U)
  61186. #define LPUART_STAT_MA1F_SHIFT (15U)
  61187. /*! MA1F - Match 1 Flag
  61188. * 0b0..Received data is not equal to MA1
  61189. * 0b1..Received data is equal to MA1
  61190. */
  61191. #define LPUART_STAT_MA1F(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_MA1F_SHIFT)) & LPUART_STAT_MA1F_MASK)
  61192. #define LPUART_STAT_PF_MASK (0x10000U)
  61193. #define LPUART_STAT_PF_SHIFT (16U)
  61194. /*! PF - Parity Error Flag
  61195. * 0b0..No parity error.
  61196. * 0b1..Parity error.
  61197. */
  61198. #define LPUART_STAT_PF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_PF_SHIFT)) & LPUART_STAT_PF_MASK)
  61199. #define LPUART_STAT_FE_MASK (0x20000U)
  61200. #define LPUART_STAT_FE_SHIFT (17U)
  61201. /*! FE - Framing Error Flag
  61202. * 0b0..No framing error detected. This does not guarantee the framing is correct.
  61203. * 0b1..Framing error.
  61204. */
  61205. #define LPUART_STAT_FE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_FE_SHIFT)) & LPUART_STAT_FE_MASK)
  61206. #define LPUART_STAT_NF_MASK (0x40000U)
  61207. #define LPUART_STAT_NF_SHIFT (18U)
  61208. /*! NF - Noise Flag
  61209. * 0b0..No noise detected.
  61210. * 0b1..Noise detected in the received character in the DATA register.
  61211. */
  61212. #define LPUART_STAT_NF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_NF_SHIFT)) & LPUART_STAT_NF_MASK)
  61213. #define LPUART_STAT_OR_MASK (0x80000U)
  61214. #define LPUART_STAT_OR_SHIFT (19U)
  61215. /*! OR - Receiver Overrun Flag
  61216. * 0b0..No overrun.
  61217. * 0b1..Receive overrun (new LPUART data lost).
  61218. */
  61219. #define LPUART_STAT_OR(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_OR_SHIFT)) & LPUART_STAT_OR_MASK)
  61220. #define LPUART_STAT_IDLE_MASK (0x100000U)
  61221. #define LPUART_STAT_IDLE_SHIFT (20U)
  61222. /*! IDLE - Idle Line Flag
  61223. * 0b0..No idle line detected.
  61224. * 0b1..Idle line is detected.
  61225. */
  61226. #define LPUART_STAT_IDLE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_IDLE_SHIFT)) & LPUART_STAT_IDLE_MASK)
  61227. #define LPUART_STAT_RDRF_MASK (0x200000U)
  61228. #define LPUART_STAT_RDRF_SHIFT (21U)
  61229. /*! RDRF - Receive Data Register Full Flag
  61230. * 0b0..Receive FIFO level is less than watermark.
  61231. * 0b1..Receive FIFO level is equal or greater than watermark.
  61232. */
  61233. #define LPUART_STAT_RDRF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_RDRF_SHIFT)) & LPUART_STAT_RDRF_MASK)
  61234. #define LPUART_STAT_TC_MASK (0x400000U)
  61235. #define LPUART_STAT_TC_SHIFT (22U)
  61236. /*! TC - Transmission Complete Flag
  61237. * 0b0..Transmitter active (sending data, a preamble, or a break).
  61238. * 0b1..Transmitter idle (transmission activity complete).
  61239. */
  61240. #define LPUART_STAT_TC(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_TC_SHIFT)) & LPUART_STAT_TC_MASK)
  61241. #define LPUART_STAT_TDRE_MASK (0x800000U)
  61242. #define LPUART_STAT_TDRE_SHIFT (23U)
  61243. /*! TDRE - Transmit Data Register Empty Flag
  61244. * 0b0..Transmit FIFO level is greater than watermark.
  61245. * 0b1..Transmit FIFO level is equal or less than watermark.
  61246. */
  61247. #define LPUART_STAT_TDRE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_TDRE_SHIFT)) & LPUART_STAT_TDRE_MASK)
  61248. #define LPUART_STAT_RAF_MASK (0x1000000U)
  61249. #define LPUART_STAT_RAF_SHIFT (24U)
  61250. /*! RAF - Receiver Active Flag
  61251. * 0b0..LPUART receiver idle waiting for a start bit.
  61252. * 0b1..LPUART receiver active (RXD input not idle).
  61253. */
  61254. #define LPUART_STAT_RAF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_RAF_SHIFT)) & LPUART_STAT_RAF_MASK)
  61255. #define LPUART_STAT_LBKDE_MASK (0x2000000U)
  61256. #define LPUART_STAT_LBKDE_SHIFT (25U)
  61257. /*! LBKDE - LIN Break Detection Enable
  61258. * 0b0..LIN break detect is disabled, normal break character can be detected.
  61259. * 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).
  61260. */
  61261. #define LPUART_STAT_LBKDE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_LBKDE_SHIFT)) & LPUART_STAT_LBKDE_MASK)
  61262. #define LPUART_STAT_BRK13_MASK (0x4000000U)
  61263. #define LPUART_STAT_BRK13_SHIFT (26U)
  61264. /*! BRK13 - Break Character Generation Length
  61265. * 0b0..Break character is transmitted with length of 9 to 13 bit times.
  61266. * 0b1..Break character is transmitted with length of 12 to 15 bit times.
  61267. */
  61268. #define LPUART_STAT_BRK13(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_BRK13_SHIFT)) & LPUART_STAT_BRK13_MASK)
  61269. #define LPUART_STAT_RWUID_MASK (0x8000000U)
  61270. #define LPUART_STAT_RWUID_SHIFT (27U)
  61271. /*! RWUID - Receive Wake Up Idle Detect
  61272. * 0b0..During receive standby state (RWU = 1), the IDLE bit does not get set upon detection of an idle
  61273. * character. During address match wakeup, the IDLE bit does not set when an address does not match.
  61274. * 0b1..During receive standby state (RWU = 1), the IDLE bit gets set upon detection of an idle character. During
  61275. * address match wakeup, the IDLE bit does set when an address does not match.
  61276. */
  61277. #define LPUART_STAT_RWUID(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_RWUID_SHIFT)) & LPUART_STAT_RWUID_MASK)
  61278. #define LPUART_STAT_RXINV_MASK (0x10000000U)
  61279. #define LPUART_STAT_RXINV_SHIFT (28U)
  61280. /*! RXINV - Receive Data Inversion
  61281. * 0b0..Receive data not inverted.
  61282. * 0b1..Receive data inverted.
  61283. */
  61284. #define LPUART_STAT_RXINV(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_RXINV_SHIFT)) & LPUART_STAT_RXINV_MASK)
  61285. #define LPUART_STAT_MSBF_MASK (0x20000000U)
  61286. #define LPUART_STAT_MSBF_SHIFT (29U)
  61287. /*! MSBF - MSB First
  61288. * 0b0..LSB (bit0) is the first bit that is transmitted following the start bit. Further, the first bit received
  61289. * after the start bit is identified as bit0.
  61290. * 0b1..MSB (identified as bit9, bit8, bit7 or bit6) is the first bit that is transmitted following the start bit
  61291. * depending on the setting of CTRL[M], CTRL[PE] and BAUD[M10]. .
  61292. */
  61293. #define LPUART_STAT_MSBF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_MSBF_SHIFT)) & LPUART_STAT_MSBF_MASK)
  61294. #define LPUART_STAT_RXEDGIF_MASK (0x40000000U)
  61295. #define LPUART_STAT_RXEDGIF_SHIFT (30U)
  61296. /*! RXEDGIF - RXD Pin Active Edge Interrupt Flag
  61297. * 0b0..No active edge on the receive pin has occurred.
  61298. * 0b1..An active edge on the receive pin has occurred.
  61299. */
  61300. #define LPUART_STAT_RXEDGIF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_RXEDGIF_SHIFT)) & LPUART_STAT_RXEDGIF_MASK)
  61301. #define LPUART_STAT_LBKDIF_MASK (0x80000000U)
  61302. #define LPUART_STAT_LBKDIF_SHIFT (31U)
  61303. /*! LBKDIF - LIN Break Detect Interrupt Flag
  61304. * 0b0..No LIN break character has been detected.
  61305. * 0b1..LIN break character has been detected.
  61306. */
  61307. #define LPUART_STAT_LBKDIF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_LBKDIF_SHIFT)) & LPUART_STAT_LBKDIF_MASK)
  61308. /*! @} */
  61309. /*! @name CTRL - LPUART Control Register */
  61310. /*! @{ */
  61311. #define LPUART_CTRL_PT_MASK (0x1U)
  61312. #define LPUART_CTRL_PT_SHIFT (0U)
  61313. /*! PT - Parity Type
  61314. * 0b0..Even parity.
  61315. * 0b1..Odd parity.
  61316. */
  61317. #define LPUART_CTRL_PT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_PT_SHIFT)) & LPUART_CTRL_PT_MASK)
  61318. #define LPUART_CTRL_PE_MASK (0x2U)
  61319. #define LPUART_CTRL_PE_SHIFT (1U)
  61320. /*! PE - Parity Enable
  61321. * 0b0..No hardware parity generation or checking.
  61322. * 0b1..Parity enabled.
  61323. */
  61324. #define LPUART_CTRL_PE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_PE_SHIFT)) & LPUART_CTRL_PE_MASK)
  61325. #define LPUART_CTRL_ILT_MASK (0x4U)
  61326. #define LPUART_CTRL_ILT_SHIFT (2U)
  61327. /*! ILT - Idle Line Type Select
  61328. * 0b0..Idle character bit count starts after start bit.
  61329. * 0b1..Idle character bit count starts after stop bit.
  61330. */
  61331. #define LPUART_CTRL_ILT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_ILT_SHIFT)) & LPUART_CTRL_ILT_MASK)
  61332. #define LPUART_CTRL_WAKE_MASK (0x8U)
  61333. #define LPUART_CTRL_WAKE_SHIFT (3U)
  61334. /*! WAKE - Receiver Wakeup Method Select
  61335. * 0b0..Configures RWU for idle-line wakeup.
  61336. * 0b1..Configures RWU with address-mark wakeup.
  61337. */
  61338. #define LPUART_CTRL_WAKE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_WAKE_SHIFT)) & LPUART_CTRL_WAKE_MASK)
  61339. #define LPUART_CTRL_M_MASK (0x10U)
  61340. #define LPUART_CTRL_M_SHIFT (4U)
  61341. /*! M - 9-Bit or 8-Bit Mode Select
  61342. * 0b0..Receiver and transmitter use 8-bit data characters.
  61343. * 0b1..Receiver and transmitter use 9-bit data characters.
  61344. */
  61345. #define LPUART_CTRL_M(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_M_SHIFT)) & LPUART_CTRL_M_MASK)
  61346. #define LPUART_CTRL_RSRC_MASK (0x20U)
  61347. #define LPUART_CTRL_RSRC_SHIFT (5U)
  61348. /*! RSRC - Receiver Source Select
  61349. * 0b0..Provided LOOPS is set, RSRC is cleared, selects internal loop back mode and the LPUART does not use the RXD pin.
  61350. * 0b1..Single-wire LPUART mode where the TXD pin is connected to the transmitter output and receiver input.
  61351. */
  61352. #define LPUART_CTRL_RSRC(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_RSRC_SHIFT)) & LPUART_CTRL_RSRC_MASK)
  61353. #define LPUART_CTRL_DOZEEN_MASK (0x40U)
  61354. #define LPUART_CTRL_DOZEEN_SHIFT (6U)
  61355. /*! DOZEEN - Doze Enable
  61356. * 0b0..LPUART is enabled in Doze mode.
  61357. * 0b1..LPUART is disabled in Doze mode .
  61358. */
  61359. #define LPUART_CTRL_DOZEEN(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_DOZEEN_SHIFT)) & LPUART_CTRL_DOZEEN_MASK)
  61360. #define LPUART_CTRL_LOOPS_MASK (0x80U)
  61361. #define LPUART_CTRL_LOOPS_SHIFT (7U)
  61362. /*! LOOPS - Loop Mode Select
  61363. * 0b0..Normal operation - RXD and TXD use separate pins.
  61364. * 0b1..Loop mode or single-wire mode where transmitter outputs are internally connected to receiver input (see RSRC bit).
  61365. */
  61366. #define LPUART_CTRL_LOOPS(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_LOOPS_SHIFT)) & LPUART_CTRL_LOOPS_MASK)
  61367. #define LPUART_CTRL_IDLECFG_MASK (0x700U)
  61368. #define LPUART_CTRL_IDLECFG_SHIFT (8U)
  61369. /*! IDLECFG - Idle Configuration
  61370. * 0b000..1 idle character
  61371. * 0b001..2 idle characters
  61372. * 0b010..4 idle characters
  61373. * 0b011..8 idle characters
  61374. * 0b100..16 idle characters
  61375. * 0b101..32 idle characters
  61376. * 0b110..64 idle characters
  61377. * 0b111..128 idle characters
  61378. */
  61379. #define LPUART_CTRL_IDLECFG(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_IDLECFG_SHIFT)) & LPUART_CTRL_IDLECFG_MASK)
  61380. #define LPUART_CTRL_M7_MASK (0x800U)
  61381. #define LPUART_CTRL_M7_SHIFT (11U)
  61382. /*! M7 - 7-Bit Mode Select
  61383. * 0b0..Receiver and transmitter use 8-bit to 10-bit data characters.
  61384. * 0b1..Receiver and transmitter use 7-bit data characters.
  61385. */
  61386. #define LPUART_CTRL_M7(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_M7_SHIFT)) & LPUART_CTRL_M7_MASK)
  61387. #define LPUART_CTRL_MA2IE_MASK (0x4000U)
  61388. #define LPUART_CTRL_MA2IE_SHIFT (14U)
  61389. /*! MA2IE - Match 2 Interrupt Enable
  61390. * 0b0..MA2F interrupt disabled
  61391. * 0b1..MA2F interrupt enabled
  61392. */
  61393. #define LPUART_CTRL_MA2IE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_MA2IE_SHIFT)) & LPUART_CTRL_MA2IE_MASK)
  61394. #define LPUART_CTRL_MA1IE_MASK (0x8000U)
  61395. #define LPUART_CTRL_MA1IE_SHIFT (15U)
  61396. /*! MA1IE - Match 1 Interrupt Enable
  61397. * 0b0..MA1F interrupt disabled
  61398. * 0b1..MA1F interrupt enabled
  61399. */
  61400. #define LPUART_CTRL_MA1IE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_MA1IE_SHIFT)) & LPUART_CTRL_MA1IE_MASK)
  61401. #define LPUART_CTRL_SBK_MASK (0x10000U)
  61402. #define LPUART_CTRL_SBK_SHIFT (16U)
  61403. /*! SBK - Send Break
  61404. * 0b0..Normal transmitter operation.
  61405. * 0b1..Queue break character(s) to be sent.
  61406. */
  61407. #define LPUART_CTRL_SBK(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_SBK_SHIFT)) & LPUART_CTRL_SBK_MASK)
  61408. #define LPUART_CTRL_RWU_MASK (0x20000U)
  61409. #define LPUART_CTRL_RWU_SHIFT (17U)
  61410. /*! RWU - Receiver Wakeup Control
  61411. * 0b0..Normal receiver operation.
  61412. * 0b1..LPUART receiver in standby waiting for wakeup condition.
  61413. */
  61414. #define LPUART_CTRL_RWU(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_RWU_SHIFT)) & LPUART_CTRL_RWU_MASK)
  61415. #define LPUART_CTRL_RE_MASK (0x40000U)
  61416. #define LPUART_CTRL_RE_SHIFT (18U)
  61417. /*! RE - Receiver Enable
  61418. * 0b0..Receiver disabled.
  61419. * 0b1..Receiver enabled.
  61420. */
  61421. #define LPUART_CTRL_RE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_RE_SHIFT)) & LPUART_CTRL_RE_MASK)
  61422. #define LPUART_CTRL_TE_MASK (0x80000U)
  61423. #define LPUART_CTRL_TE_SHIFT (19U)
  61424. /*! TE - Transmitter Enable
  61425. * 0b0..Transmitter disabled.
  61426. * 0b1..Transmitter enabled.
  61427. */
  61428. #define LPUART_CTRL_TE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_TE_SHIFT)) & LPUART_CTRL_TE_MASK)
  61429. #define LPUART_CTRL_ILIE_MASK (0x100000U)
  61430. #define LPUART_CTRL_ILIE_SHIFT (20U)
  61431. /*! ILIE - Idle Line Interrupt Enable
  61432. * 0b0..Hardware interrupts from IDLE disabled; use polling.
  61433. * 0b1..Hardware interrupt is requested when IDLE flag is 1.
  61434. */
  61435. #define LPUART_CTRL_ILIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_ILIE_SHIFT)) & LPUART_CTRL_ILIE_MASK)
  61436. #define LPUART_CTRL_RIE_MASK (0x200000U)
  61437. #define LPUART_CTRL_RIE_SHIFT (21U)
  61438. /*! RIE - Receiver Interrupt Enable
  61439. * 0b0..Hardware interrupts from RDRF disabled.
  61440. * 0b1..Hardware interrupt is requested when RDRF flag is 1.
  61441. */
  61442. #define LPUART_CTRL_RIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_RIE_SHIFT)) & LPUART_CTRL_RIE_MASK)
  61443. #define LPUART_CTRL_TCIE_MASK (0x400000U)
  61444. #define LPUART_CTRL_TCIE_SHIFT (22U)
  61445. /*! TCIE - Transmission Complete Interrupt Enable for
  61446. * 0b0..Hardware interrupts from TC disabled.
  61447. * 0b1..Hardware interrupt is requested when TC flag is 1.
  61448. */
  61449. #define LPUART_CTRL_TCIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_TCIE_SHIFT)) & LPUART_CTRL_TCIE_MASK)
  61450. #define LPUART_CTRL_TIE_MASK (0x800000U)
  61451. #define LPUART_CTRL_TIE_SHIFT (23U)
  61452. /*! TIE - Transmit Interrupt Enable
  61453. * 0b0..Hardware interrupts from TDRE disabled.
  61454. * 0b1..Hardware interrupt is requested when TDRE flag is 1.
  61455. */
  61456. #define LPUART_CTRL_TIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_TIE_SHIFT)) & LPUART_CTRL_TIE_MASK)
  61457. #define LPUART_CTRL_PEIE_MASK (0x1000000U)
  61458. #define LPUART_CTRL_PEIE_SHIFT (24U)
  61459. /*! PEIE - Parity Error Interrupt Enable
  61460. * 0b0..PF interrupts disabled; use polling).
  61461. * 0b1..Hardware interrupt is requested when PF is set.
  61462. */
  61463. #define LPUART_CTRL_PEIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_PEIE_SHIFT)) & LPUART_CTRL_PEIE_MASK)
  61464. #define LPUART_CTRL_FEIE_MASK (0x2000000U)
  61465. #define LPUART_CTRL_FEIE_SHIFT (25U)
  61466. /*! FEIE - Framing Error Interrupt Enable
  61467. * 0b0..FE interrupts disabled; use polling.
  61468. * 0b1..Hardware interrupt is requested when FE is set.
  61469. */
  61470. #define LPUART_CTRL_FEIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_FEIE_SHIFT)) & LPUART_CTRL_FEIE_MASK)
  61471. #define LPUART_CTRL_NEIE_MASK (0x4000000U)
  61472. #define LPUART_CTRL_NEIE_SHIFT (26U)
  61473. /*! NEIE - Noise Error Interrupt Enable
  61474. * 0b0..NF interrupts disabled; use polling.
  61475. * 0b1..Hardware interrupt is requested when NF is set.
  61476. */
  61477. #define LPUART_CTRL_NEIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_NEIE_SHIFT)) & LPUART_CTRL_NEIE_MASK)
  61478. #define LPUART_CTRL_ORIE_MASK (0x8000000U)
  61479. #define LPUART_CTRL_ORIE_SHIFT (27U)
  61480. /*! ORIE - Overrun Interrupt Enable
  61481. * 0b0..OR interrupts disabled; use polling.
  61482. * 0b1..Hardware interrupt is requested when OR is set.
  61483. */
  61484. #define LPUART_CTRL_ORIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_ORIE_SHIFT)) & LPUART_CTRL_ORIE_MASK)
  61485. #define LPUART_CTRL_TXINV_MASK (0x10000000U)
  61486. #define LPUART_CTRL_TXINV_SHIFT (28U)
  61487. /*! TXINV - Transmit Data Inversion
  61488. * 0b0..Transmit data not inverted.
  61489. * 0b1..Transmit data inverted.
  61490. */
  61491. #define LPUART_CTRL_TXINV(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_TXINV_SHIFT)) & LPUART_CTRL_TXINV_MASK)
  61492. #define LPUART_CTRL_TXDIR_MASK (0x20000000U)
  61493. #define LPUART_CTRL_TXDIR_SHIFT (29U)
  61494. /*! TXDIR - TXD Pin Direction in Single-Wire Mode
  61495. * 0b0..TXD pin is an input in single-wire mode.
  61496. * 0b1..TXD pin is an output in single-wire mode.
  61497. */
  61498. #define LPUART_CTRL_TXDIR(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_TXDIR_SHIFT)) & LPUART_CTRL_TXDIR_MASK)
  61499. #define LPUART_CTRL_R9T8_MASK (0x40000000U)
  61500. #define LPUART_CTRL_R9T8_SHIFT (30U)
  61501. /*! R9T8 - Receive Bit 9 / Transmit Bit 8
  61502. */
  61503. #define LPUART_CTRL_R9T8(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_R9T8_SHIFT)) & LPUART_CTRL_R9T8_MASK)
  61504. #define LPUART_CTRL_R8T9_MASK (0x80000000U)
  61505. #define LPUART_CTRL_R8T9_SHIFT (31U)
  61506. /*! R8T9 - Receive Bit 8 / Transmit Bit 9
  61507. */
  61508. #define LPUART_CTRL_R8T9(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_R8T9_SHIFT)) & LPUART_CTRL_R8T9_MASK)
  61509. /*! @} */
  61510. /*! @name DATA - LPUART Data Register */
  61511. /*! @{ */
  61512. #define LPUART_DATA_R0T0_MASK (0x1U)
  61513. #define LPUART_DATA_R0T0_SHIFT (0U)
  61514. /*! R0T0 - R0T0
  61515. */
  61516. #define LPUART_DATA_R0T0(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R0T0_SHIFT)) & LPUART_DATA_R0T0_MASK)
  61517. #define LPUART_DATA_R1T1_MASK (0x2U)
  61518. #define LPUART_DATA_R1T1_SHIFT (1U)
  61519. /*! R1T1 - R1T1
  61520. */
  61521. #define LPUART_DATA_R1T1(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R1T1_SHIFT)) & LPUART_DATA_R1T1_MASK)
  61522. #define LPUART_DATA_R2T2_MASK (0x4U)
  61523. #define LPUART_DATA_R2T2_SHIFT (2U)
  61524. /*! R2T2 - R2T2
  61525. */
  61526. #define LPUART_DATA_R2T2(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R2T2_SHIFT)) & LPUART_DATA_R2T2_MASK)
  61527. #define LPUART_DATA_R3T3_MASK (0x8U)
  61528. #define LPUART_DATA_R3T3_SHIFT (3U)
  61529. /*! R3T3 - R3T3
  61530. */
  61531. #define LPUART_DATA_R3T3(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R3T3_SHIFT)) & LPUART_DATA_R3T3_MASK)
  61532. #define LPUART_DATA_R4T4_MASK (0x10U)
  61533. #define LPUART_DATA_R4T4_SHIFT (4U)
  61534. /*! R4T4 - R4T4
  61535. */
  61536. #define LPUART_DATA_R4T4(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R4T4_SHIFT)) & LPUART_DATA_R4T4_MASK)
  61537. #define LPUART_DATA_R5T5_MASK (0x20U)
  61538. #define LPUART_DATA_R5T5_SHIFT (5U)
  61539. /*! R5T5 - R5T5
  61540. */
  61541. #define LPUART_DATA_R5T5(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R5T5_SHIFT)) & LPUART_DATA_R5T5_MASK)
  61542. #define LPUART_DATA_R6T6_MASK (0x40U)
  61543. #define LPUART_DATA_R6T6_SHIFT (6U)
  61544. /*! R6T6 - R6T6
  61545. */
  61546. #define LPUART_DATA_R6T6(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R6T6_SHIFT)) & LPUART_DATA_R6T6_MASK)
  61547. #define LPUART_DATA_R7T7_MASK (0x80U)
  61548. #define LPUART_DATA_R7T7_SHIFT (7U)
  61549. /*! R7T7 - R7T7
  61550. */
  61551. #define LPUART_DATA_R7T7(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R7T7_SHIFT)) & LPUART_DATA_R7T7_MASK)
  61552. #define LPUART_DATA_R8T8_MASK (0x100U)
  61553. #define LPUART_DATA_R8T8_SHIFT (8U)
  61554. /*! R8T8 - R8T8
  61555. */
  61556. #define LPUART_DATA_R8T8(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R8T8_SHIFT)) & LPUART_DATA_R8T8_MASK)
  61557. #define LPUART_DATA_R9T9_MASK (0x200U)
  61558. #define LPUART_DATA_R9T9_SHIFT (9U)
  61559. /*! R9T9 - R9T9
  61560. */
  61561. #define LPUART_DATA_R9T9(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R9T9_SHIFT)) & LPUART_DATA_R9T9_MASK)
  61562. #define LPUART_DATA_IDLINE_MASK (0x800U)
  61563. #define LPUART_DATA_IDLINE_SHIFT (11U)
  61564. /*! IDLINE - Idle Line
  61565. * 0b0..Receiver was not idle before receiving this character.
  61566. * 0b1..Receiver was idle before receiving this character.
  61567. */
  61568. #define LPUART_DATA_IDLINE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_IDLINE_SHIFT)) & LPUART_DATA_IDLINE_MASK)
  61569. #define LPUART_DATA_RXEMPT_MASK (0x1000U)
  61570. #define LPUART_DATA_RXEMPT_SHIFT (12U)
  61571. /*! RXEMPT - Receive Buffer Empty
  61572. * 0b0..Receive buffer contains valid data.
  61573. * 0b1..Receive buffer is empty, data returned on read is not valid.
  61574. */
  61575. #define LPUART_DATA_RXEMPT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_RXEMPT_SHIFT)) & LPUART_DATA_RXEMPT_MASK)
  61576. #define LPUART_DATA_FRETSC_MASK (0x2000U)
  61577. #define LPUART_DATA_FRETSC_SHIFT (13U)
  61578. /*! FRETSC - Frame Error / Transmit Special Character
  61579. * 0b0..The dataword is received without a frame error on read, or transmit a normal character on write.
  61580. * 0b1..The dataword is received with a frame error, or transmit an idle or break character on transmit.
  61581. */
  61582. #define LPUART_DATA_FRETSC(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_FRETSC_SHIFT)) & LPUART_DATA_FRETSC_MASK)
  61583. #define LPUART_DATA_PARITYE_MASK (0x4000U)
  61584. #define LPUART_DATA_PARITYE_SHIFT (14U)
  61585. /*! PARITYE - Parity Error
  61586. * 0b0..The dataword is received without a parity error.
  61587. * 0b1..The dataword is received with a parity error.
  61588. */
  61589. #define LPUART_DATA_PARITYE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_PARITYE_SHIFT)) & LPUART_DATA_PARITYE_MASK)
  61590. #define LPUART_DATA_NOISY_MASK (0x8000U)
  61591. #define LPUART_DATA_NOISY_SHIFT (15U)
  61592. /*! NOISY - Noisy Data Received
  61593. * 0b0..The dataword is received without noise.
  61594. * 0b1..The data is received with noise.
  61595. */
  61596. #define LPUART_DATA_NOISY(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_NOISY_SHIFT)) & LPUART_DATA_NOISY_MASK)
  61597. /*! @} */
  61598. /*! @name MATCH - LPUART Match Address Register */
  61599. /*! @{ */
  61600. #define LPUART_MATCH_MA1_MASK (0x3FFU)
  61601. #define LPUART_MATCH_MA1_SHIFT (0U)
  61602. /*! MA1 - Match Address 1
  61603. */
  61604. #define LPUART_MATCH_MA1(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MATCH_MA1_SHIFT)) & LPUART_MATCH_MA1_MASK)
  61605. #define LPUART_MATCH_MA2_MASK (0x3FF0000U)
  61606. #define LPUART_MATCH_MA2_SHIFT (16U)
  61607. /*! MA2 - Match Address 2
  61608. */
  61609. #define LPUART_MATCH_MA2(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MATCH_MA2_SHIFT)) & LPUART_MATCH_MA2_MASK)
  61610. /*! @} */
  61611. /*! @name MODIR - LPUART Modem IrDA Register */
  61612. /*! @{ */
  61613. #define LPUART_MODIR_TXCTSE_MASK (0x1U)
  61614. #define LPUART_MODIR_TXCTSE_SHIFT (0U)
  61615. /*! TXCTSE - Transmitter clear-to-send enable
  61616. * 0b0..CTS has no effect on the transmitter.
  61617. * 0b1..Enables clear-to-send operation. The transmitter checks the state of CTS each time it is ready to send a
  61618. * character. If CTS is asserted, the character is sent. If CTS is deasserted, the signal TXD remains in the
  61619. * mark state and transmission is delayed until CTS is asserted. Changes in CTS as a character is being sent
  61620. * do not affect its transmission.
  61621. */
  61622. #define LPUART_MODIR_TXCTSE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_TXCTSE_SHIFT)) & LPUART_MODIR_TXCTSE_MASK)
  61623. #define LPUART_MODIR_TXRTSE_MASK (0x2U)
  61624. #define LPUART_MODIR_TXRTSE_SHIFT (1U)
  61625. /*! TXRTSE - Transmitter request-to-send enable
  61626. * 0b0..The transmitter has no effect on RTS.
  61627. * 0b1..When a character is placed into an empty transmit shift register, RTS asserts one bit time before the
  61628. * start bit is transmitted. RTS deasserts one bit time after all characters in the transmitter FIFO and shift
  61629. * register are completely sent, including the last stop bit.
  61630. */
  61631. #define LPUART_MODIR_TXRTSE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_TXRTSE_SHIFT)) & LPUART_MODIR_TXRTSE_MASK)
  61632. #define LPUART_MODIR_TXRTSPOL_MASK (0x4U)
  61633. #define LPUART_MODIR_TXRTSPOL_SHIFT (2U)
  61634. /*! TXRTSPOL - Transmitter request-to-send polarity
  61635. * 0b0..Transmitter RTS is active low.
  61636. * 0b1..Transmitter RTS is active high.
  61637. */
  61638. #define LPUART_MODIR_TXRTSPOL(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_TXRTSPOL_SHIFT)) & LPUART_MODIR_TXRTSPOL_MASK)
  61639. #define LPUART_MODIR_RXRTSE_MASK (0x8U)
  61640. #define LPUART_MODIR_RXRTSE_SHIFT (3U)
  61641. /*! RXRTSE - Receiver request-to-send enable
  61642. * 0b0..The receiver has no effect on RTS.
  61643. * 0b1..RTS is deasserted if the receiver data register is full or a start bit has been detected that would cause
  61644. * the receiver data register to become full. RTS is asserted if the receiver data register is not full and
  61645. * has not detected a start bit that would cause the receiver data register to become full.
  61646. */
  61647. #define LPUART_MODIR_RXRTSE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_RXRTSE_SHIFT)) & LPUART_MODIR_RXRTSE_MASK)
  61648. #define LPUART_MODIR_TXCTSC_MASK (0x10U)
  61649. #define LPUART_MODIR_TXCTSC_SHIFT (4U)
  61650. /*! TXCTSC - Transmit CTS Configuration
  61651. * 0b0..CTS input is sampled at the start of each character.
  61652. * 0b1..CTS input is sampled when the transmitter is idle.
  61653. */
  61654. #define LPUART_MODIR_TXCTSC(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_TXCTSC_SHIFT)) & LPUART_MODIR_TXCTSC_MASK)
  61655. #define LPUART_MODIR_TXCTSSRC_MASK (0x20U)
  61656. #define LPUART_MODIR_TXCTSSRC_SHIFT (5U)
  61657. /*! TXCTSSRC - Transmit CTS Source
  61658. * 0b0..CTS input is the CTS_B pin.
  61659. * 0b1..CTS input is an internal connection to the receiver address match result.
  61660. */
  61661. #define LPUART_MODIR_TXCTSSRC(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_TXCTSSRC_SHIFT)) & LPUART_MODIR_TXCTSSRC_MASK)
  61662. #define LPUART_MODIR_RTSWATER_MASK (0x300U)
  61663. #define LPUART_MODIR_RTSWATER_SHIFT (8U)
  61664. /*! RTSWATER - Receive RTS Configuration
  61665. */
  61666. #define LPUART_MODIR_RTSWATER(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_RTSWATER_SHIFT)) & LPUART_MODIR_RTSWATER_MASK)
  61667. #define LPUART_MODIR_TNP_MASK (0x30000U)
  61668. #define LPUART_MODIR_TNP_SHIFT (16U)
  61669. /*! TNP - Transmitter narrow pulse
  61670. * 0b00..1/OSR.
  61671. * 0b01..2/OSR.
  61672. * 0b10..3/OSR.
  61673. * 0b11..4/OSR.
  61674. */
  61675. #define LPUART_MODIR_TNP(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_TNP_SHIFT)) & LPUART_MODIR_TNP_MASK)
  61676. #define LPUART_MODIR_IREN_MASK (0x40000U)
  61677. #define LPUART_MODIR_IREN_SHIFT (18U)
  61678. /*! IREN - Infrared enable
  61679. * 0b0..IR disabled.
  61680. * 0b1..IR enabled.
  61681. */
  61682. #define LPUART_MODIR_IREN(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_IREN_SHIFT)) & LPUART_MODIR_IREN_MASK)
  61683. /*! @} */
  61684. /*! @name FIFO - LPUART FIFO Register */
  61685. /*! @{ */
  61686. #define LPUART_FIFO_RXFIFOSIZE_MASK (0x7U)
  61687. #define LPUART_FIFO_RXFIFOSIZE_SHIFT (0U)
  61688. /*! RXFIFOSIZE - Receive FIFO Buffer Depth
  61689. * 0b000..Receive FIFO/Buffer depth = 1 dataword.
  61690. * 0b001..Receive FIFO/Buffer depth = 4 datawords.
  61691. * 0b010..Receive FIFO/Buffer depth = 8 datawords.
  61692. * 0b011..Receive FIFO/Buffer depth = 16 datawords.
  61693. * 0b100..Receive FIFO/Buffer depth = 32 datawords.
  61694. * 0b101..Receive FIFO/Buffer depth = 64 datawords.
  61695. * 0b110..Receive FIFO/Buffer depth = 128 datawords.
  61696. * 0b111..Receive FIFO/Buffer depth = 256 datawords.
  61697. */
  61698. #define LPUART_FIFO_RXFIFOSIZE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXFIFOSIZE_SHIFT)) & LPUART_FIFO_RXFIFOSIZE_MASK)
  61699. #define LPUART_FIFO_RXFE_MASK (0x8U)
  61700. #define LPUART_FIFO_RXFE_SHIFT (3U)
  61701. /*! RXFE - Receive FIFO Enable
  61702. * 0b0..Receive FIFO is not enabled. Buffer depth is 1.
  61703. * 0b1..Receive FIFO is enabled. Buffer depth is indicted by RXFIFOSIZE.
  61704. */
  61705. #define LPUART_FIFO_RXFE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXFE_SHIFT)) & LPUART_FIFO_RXFE_MASK)
  61706. #define LPUART_FIFO_TXFIFOSIZE_MASK (0x70U)
  61707. #define LPUART_FIFO_TXFIFOSIZE_SHIFT (4U)
  61708. /*! TXFIFOSIZE - Transmit FIFO Buffer Depth
  61709. * 0b000..Transmit FIFO/Buffer depth = 1 dataword.
  61710. * 0b001..Transmit FIFO/Buffer depth = 4 datawords.
  61711. * 0b010..Transmit FIFO/Buffer depth = 8 datawords.
  61712. * 0b011..Transmit FIFO/Buffer depth = 16 datawords.
  61713. * 0b100..Transmit FIFO/Buffer depth = 32 datawords.
  61714. * 0b101..Transmit FIFO/Buffer depth = 64 datawords.
  61715. * 0b110..Transmit FIFO/Buffer depth = 128 datawords.
  61716. * 0b111..Transmit FIFO/Buffer depth = 256 datawords
  61717. */
  61718. #define LPUART_FIFO_TXFIFOSIZE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_TXFIFOSIZE_SHIFT)) & LPUART_FIFO_TXFIFOSIZE_MASK)
  61719. #define LPUART_FIFO_TXFE_MASK (0x80U)
  61720. #define LPUART_FIFO_TXFE_SHIFT (7U)
  61721. /*! TXFE - Transmit FIFO Enable
  61722. * 0b0..Transmit FIFO is not enabled. Buffer depth is 1.
  61723. * 0b1..Transmit FIFO is enabled. Buffer depth is indicated by TXFIFOSIZE.
  61724. */
  61725. #define LPUART_FIFO_TXFE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_TXFE_SHIFT)) & LPUART_FIFO_TXFE_MASK)
  61726. #define LPUART_FIFO_RXUFE_MASK (0x100U)
  61727. #define LPUART_FIFO_RXUFE_SHIFT (8U)
  61728. /*! RXUFE - Receive FIFO Underflow Interrupt Enable
  61729. * 0b0..RXUF flag does not generate an interrupt to the host.
  61730. * 0b1..RXUF flag generates an interrupt to the host.
  61731. */
  61732. #define LPUART_FIFO_RXUFE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXUFE_SHIFT)) & LPUART_FIFO_RXUFE_MASK)
  61733. #define LPUART_FIFO_TXOFE_MASK (0x200U)
  61734. #define LPUART_FIFO_TXOFE_SHIFT (9U)
  61735. /*! TXOFE - Transmit FIFO Overflow Interrupt Enable
  61736. * 0b0..TXOF flag does not generate an interrupt to the host.
  61737. * 0b1..TXOF flag generates an interrupt to the host.
  61738. */
  61739. #define LPUART_FIFO_TXOFE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_TXOFE_SHIFT)) & LPUART_FIFO_TXOFE_MASK)
  61740. #define LPUART_FIFO_RXIDEN_MASK (0x1C00U)
  61741. #define LPUART_FIFO_RXIDEN_SHIFT (10U)
  61742. /*! RXIDEN - Receiver Idle Empty Enable
  61743. * 0b000..Disable RDRF assertion due to partially filled FIFO when receiver is idle.
  61744. * 0b001..Enable RDRF assertion due to partially filled FIFO when receiver is idle for 1 character.
  61745. * 0b010..Enable RDRF assertion due to partially filled FIFO when receiver is idle for 2 characters.
  61746. * 0b011..Enable RDRF assertion due to partially filled FIFO when receiver is idle for 4 characters.
  61747. * 0b100..Enable RDRF assertion due to partially filled FIFO when receiver is idle for 8 characters.
  61748. * 0b101..Enable RDRF assertion due to partially filled FIFO when receiver is idle for 16 characters.
  61749. * 0b110..Enable RDRF assertion due to partially filled FIFO when receiver is idle for 32 characters.
  61750. * 0b111..Enable RDRF assertion due to partially filled FIFO when receiver is idle for 64 characters.
  61751. */
  61752. #define LPUART_FIFO_RXIDEN(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXIDEN_SHIFT)) & LPUART_FIFO_RXIDEN_MASK)
  61753. #define LPUART_FIFO_RXFLUSH_MASK (0x4000U)
  61754. #define LPUART_FIFO_RXFLUSH_SHIFT (14U)
  61755. /*! RXFLUSH - Receive FIFO Flush
  61756. * 0b0..No flush operation occurs.
  61757. * 0b1..All data in the receive FIFO/buffer is cleared out.
  61758. */
  61759. #define LPUART_FIFO_RXFLUSH(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXFLUSH_SHIFT)) & LPUART_FIFO_RXFLUSH_MASK)
  61760. #define LPUART_FIFO_TXFLUSH_MASK (0x8000U)
  61761. #define LPUART_FIFO_TXFLUSH_SHIFT (15U)
  61762. /*! TXFLUSH - Transmit FIFO Flush
  61763. * 0b0..No flush operation occurs.
  61764. * 0b1..All data in the transmit FIFO is cleared out.
  61765. */
  61766. #define LPUART_FIFO_TXFLUSH(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_TXFLUSH_SHIFT)) & LPUART_FIFO_TXFLUSH_MASK)
  61767. #define LPUART_FIFO_RXUF_MASK (0x10000U)
  61768. #define LPUART_FIFO_RXUF_SHIFT (16U)
  61769. /*! RXUF - Receiver FIFO Underflow Flag
  61770. * 0b0..No receive FIFO underflow has occurred since the last time the flag was cleared.
  61771. * 0b1..At least one receive FIFO underflow has occurred since the last time the flag was cleared.
  61772. */
  61773. #define LPUART_FIFO_RXUF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXUF_SHIFT)) & LPUART_FIFO_RXUF_MASK)
  61774. #define LPUART_FIFO_TXOF_MASK (0x20000U)
  61775. #define LPUART_FIFO_TXOF_SHIFT (17U)
  61776. /*! TXOF - Transmitter FIFO Overflow Flag
  61777. * 0b0..No transmit FIFO overflow has occurred since the last time the flag was cleared.
  61778. * 0b1..At least one transmit FIFO overflow has occurred since the last time the flag was cleared.
  61779. */
  61780. #define LPUART_FIFO_TXOF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_TXOF_SHIFT)) & LPUART_FIFO_TXOF_MASK)
  61781. #define LPUART_FIFO_RXEMPT_MASK (0x400000U)
  61782. #define LPUART_FIFO_RXEMPT_SHIFT (22U)
  61783. /*! RXEMPT - Receive FIFO/Buffer Empty
  61784. * 0b0..Receive buffer is not empty.
  61785. * 0b1..Receive buffer is empty.
  61786. */
  61787. #define LPUART_FIFO_RXEMPT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXEMPT_SHIFT)) & LPUART_FIFO_RXEMPT_MASK)
  61788. #define LPUART_FIFO_TXEMPT_MASK (0x800000U)
  61789. #define LPUART_FIFO_TXEMPT_SHIFT (23U)
  61790. /*! TXEMPT - Transmit FIFO/Buffer Empty
  61791. * 0b0..Transmit buffer is not empty.
  61792. * 0b1..Transmit buffer is empty.
  61793. */
  61794. #define LPUART_FIFO_TXEMPT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_TXEMPT_SHIFT)) & LPUART_FIFO_TXEMPT_MASK)
  61795. /*! @} */
  61796. /*! @name WATER - LPUART Watermark Register */
  61797. /*! @{ */
  61798. #define LPUART_WATER_TXWATER_MASK (0x3U)
  61799. #define LPUART_WATER_TXWATER_SHIFT (0U)
  61800. /*! TXWATER - Transmit Watermark
  61801. */
  61802. #define LPUART_WATER_TXWATER(x) (((uint32_t)(((uint32_t)(x)) << LPUART_WATER_TXWATER_SHIFT)) & LPUART_WATER_TXWATER_MASK)
  61803. #define LPUART_WATER_TXCOUNT_MASK (0x700U)
  61804. #define LPUART_WATER_TXCOUNT_SHIFT (8U)
  61805. /*! TXCOUNT - Transmit Counter
  61806. */
  61807. #define LPUART_WATER_TXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_WATER_TXCOUNT_SHIFT)) & LPUART_WATER_TXCOUNT_MASK)
  61808. #define LPUART_WATER_RXWATER_MASK (0x30000U)
  61809. #define LPUART_WATER_RXWATER_SHIFT (16U)
  61810. /*! RXWATER - Receive Watermark
  61811. */
  61812. #define LPUART_WATER_RXWATER(x) (((uint32_t)(((uint32_t)(x)) << LPUART_WATER_RXWATER_SHIFT)) & LPUART_WATER_RXWATER_MASK)
  61813. #define LPUART_WATER_RXCOUNT_MASK (0x7000000U)
  61814. #define LPUART_WATER_RXCOUNT_SHIFT (24U)
  61815. /*! RXCOUNT - Receive Counter
  61816. */
  61817. #define LPUART_WATER_RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_WATER_RXCOUNT_SHIFT)) & LPUART_WATER_RXCOUNT_MASK)
  61818. /*! @} */
  61819. /*!
  61820. * @}
  61821. */ /* end of group LPUART_Register_Masks */
  61822. /* LPUART - Peripheral instance base addresses */
  61823. /** Peripheral LPUART1 base address */
  61824. #define LPUART1_BASE (0x4007C000u)
  61825. /** Peripheral LPUART1 base pointer */
  61826. #define LPUART1 ((LPUART_Type *)LPUART1_BASE)
  61827. /** Peripheral LPUART2 base address */
  61828. #define LPUART2_BASE (0x40080000u)
  61829. /** Peripheral LPUART2 base pointer */
  61830. #define LPUART2 ((LPUART_Type *)LPUART2_BASE)
  61831. /** Peripheral LPUART3 base address */
  61832. #define LPUART3_BASE (0x40084000u)
  61833. /** Peripheral LPUART3 base pointer */
  61834. #define LPUART3 ((LPUART_Type *)LPUART3_BASE)
  61835. /** Peripheral LPUART4 base address */
  61836. #define LPUART4_BASE (0x40088000u)
  61837. /** Peripheral LPUART4 base pointer */
  61838. #define LPUART4 ((LPUART_Type *)LPUART4_BASE)
  61839. /** Peripheral LPUART5 base address */
  61840. #define LPUART5_BASE (0x4008C000u)
  61841. /** Peripheral LPUART5 base pointer */
  61842. #define LPUART5 ((LPUART_Type *)LPUART5_BASE)
  61843. /** Peripheral LPUART6 base address */
  61844. #define LPUART6_BASE (0x40090000u)
  61845. /** Peripheral LPUART6 base pointer */
  61846. #define LPUART6 ((LPUART_Type *)LPUART6_BASE)
  61847. /** Peripheral LPUART7 base address */
  61848. #define LPUART7_BASE (0x40094000u)
  61849. /** Peripheral LPUART7 base pointer */
  61850. #define LPUART7 ((LPUART_Type *)LPUART7_BASE)
  61851. /** Peripheral LPUART8 base address */
  61852. #define LPUART8_BASE (0x40098000u)
  61853. /** Peripheral LPUART8 base pointer */
  61854. #define LPUART8 ((LPUART_Type *)LPUART8_BASE)
  61855. /** Peripheral LPUART9 base address */
  61856. #define LPUART9_BASE (0x4009C000u)
  61857. /** Peripheral LPUART9 base pointer */
  61858. #define LPUART9 ((LPUART_Type *)LPUART9_BASE)
  61859. /** Peripheral LPUART10 base address */
  61860. #define LPUART10_BASE (0x400A0000u)
  61861. /** Peripheral LPUART10 base pointer */
  61862. #define LPUART10 ((LPUART_Type *)LPUART10_BASE)
  61863. /** Peripheral LPUART11 base address */
  61864. #define LPUART11_BASE (0x40C24000u)
  61865. /** Peripheral LPUART11 base pointer */
  61866. #define LPUART11 ((LPUART_Type *)LPUART11_BASE)
  61867. /** Peripheral LPUART12 base address */
  61868. #define LPUART12_BASE (0x40C28000u)
  61869. /** Peripheral LPUART12 base pointer */
  61870. #define LPUART12 ((LPUART_Type *)LPUART12_BASE)
  61871. /** Array initializer of LPUART peripheral base addresses */
  61872. #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 }
  61873. /** Array initializer of LPUART peripheral base pointers */
  61874. #define LPUART_BASE_PTRS { (LPUART_Type *)0u, LPUART1, LPUART2, LPUART3, LPUART4, LPUART5, LPUART6, LPUART7, LPUART8, LPUART9, LPUART10, LPUART11, LPUART12 }
  61875. /** Interrupt vectors for the LPUART peripheral type */
  61876. #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 }
  61877. /*!
  61878. * @}
  61879. */ /* end of group LPUART_Peripheral_Access_Layer */
  61880. /* ----------------------------------------------------------------------------
  61881. -- MCM Peripheral Access Layer
  61882. ---------------------------------------------------------------------------- */
  61883. /*!
  61884. * @addtogroup MCM_Peripheral_Access_Layer MCM Peripheral Access Layer
  61885. * @{
  61886. */
  61887. /** MCM - Register Layout Typedef */
  61888. typedef struct {
  61889. __I uint16_t PLREV; /**< SoC-defined platform revision, offset: 0x0 */
  61890. __I uint16_t PCT; /**< Processor core type, offset: 0x2 */
  61891. __I uint32_t MEMCFG; /**< Memory configuration, offset: 0x4 */
  61892. __I uint16_t PLASC; /**< Crossbar Switch (AXBS) Slave Configuration, offset: 0x8 */
  61893. __I uint16_t PLAMC; /**< Crossbar Switch (AXBS) Master Configuration, offset: 0xA */
  61894. __IO uint32_t CR; /**< Control Register, offset: 0xC */
  61895. __IO uint32_t ISCR; /**< Interrupt Status and Control Register, offset: 0x10 */
  61896. uint8_t RESERVED_0[12];
  61897. __I uint32_t FADR; /**< Fault address register, offset: 0x20 */
  61898. __I uint32_t FATR; /**< Fault attributes register, offset: 0x24 */
  61899. __I uint32_t FDR; /**< Fault data register, offset: 0x28 */
  61900. uint8_t RESERVED_1[980];
  61901. __IO uint32_t LMDR[4]; /**< Local Memory Descriptor Register, array offset: 0x400, array step: 0x4 */
  61902. uint8_t RESERVED_2[112];
  61903. __IO uint32_t LMPECR; /**< LMEM Parity & ECC Control Register, offset: 0x480 */
  61904. uint8_t RESERVED_3[4];
  61905. __IO uint32_t LMPEIR; /**< LMEM Parity & ECC Interrupt Register, offset: 0x488 */
  61906. uint8_t RESERVED_4[4];
  61907. __I uint32_t LMFAR; /**< LMEM Fault Address Register, offset: 0x490 */
  61908. __IO uint32_t LMFATR; /**< LMEM Fault Attribute Register, offset: 0x494 */
  61909. uint8_t RESERVED_5[8];
  61910. __I uint32_t LMFDHR; /**< LMEM Fault Data High Register, offset: 0x4A0 */
  61911. __I uint32_t LMFDLR; /**< LMEM Fault Data Low Register, offset: 0x4A4 */
  61912. } MCM_Type;
  61913. /* ----------------------------------------------------------------------------
  61914. -- MCM Register Masks
  61915. ---------------------------------------------------------------------------- */
  61916. /*!
  61917. * @addtogroup MCM_Register_Masks MCM Register Masks
  61918. * @{
  61919. */
  61920. /*! @name PLREV - SoC-defined platform revision */
  61921. /*! @{ */
  61922. #define MCM_PLREV_PLREV_MASK (0xFFFFU)
  61923. #define MCM_PLREV_PLREV_SHIFT (0U)
  61924. /*! PLREV - The PLREV[15:0] field is specified by an platform input signal to define a software-visible revision number.
  61925. */
  61926. #define MCM_PLREV_PLREV(x) (((uint16_t)(((uint16_t)(x)) << MCM_PLREV_PLREV_SHIFT)) & MCM_PLREV_PLREV_MASK)
  61927. /*! @} */
  61928. /*! @name PCT - Processor core type */
  61929. /*! @{ */
  61930. #define MCM_PCT_PCT_MASK (0xFFFFU)
  61931. #define MCM_PCT_PCT_SHIFT (0U)
  61932. /*! PCT - This MCM design supports the ARM Cortex M4 core. The following value identifies this core complex.
  61933. * 0b1010110001000000..ARM Cortex M4
  61934. */
  61935. #define MCM_PCT_PCT(x) (((uint16_t)(((uint16_t)(x)) << MCM_PCT_PCT_SHIFT)) & MCM_PCT_PCT_MASK)
  61936. /*! @} */
  61937. /*! @name MEMCFG - Memory configuration */
  61938. /*! @{ */
  61939. #define MCM_MEMCFG_TCRAMUSZ_MASK (0x3CU)
  61940. #define MCM_MEMCFG_TCRAMUSZ_SHIFT (2U)
  61941. /*! TCRAMUSZ - TCRAMU size
  61942. */
  61943. #define MCM_MEMCFG_TCRAMUSZ(x) (((uint32_t)(((uint32_t)(x)) << MCM_MEMCFG_TCRAMUSZ_SHIFT)) & MCM_MEMCFG_TCRAMUSZ_MASK)
  61944. #define MCM_MEMCFG_TCRAMLSZ_MASK (0xF00U)
  61945. #define MCM_MEMCFG_TCRAMLSZ_SHIFT (8U)
  61946. /*! TCRAMLSZ - TCRAML size
  61947. */
  61948. #define MCM_MEMCFG_TCRAMLSZ(x) (((uint32_t)(((uint32_t)(x)) << MCM_MEMCFG_TCRAMLSZ_SHIFT)) & MCM_MEMCFG_TCRAMLSZ_MASK)
  61949. /*! @} */
  61950. /*! @name PLASC - Crossbar Switch (AXBS) Slave Configuration */
  61951. /*! @{ */
  61952. #define MCM_PLASC_ASC_MASK (0xFFU)
  61953. #define MCM_PLASC_ASC_SHIFT (0U)
  61954. /*! ASC - Each bit in the ASC field indicates whether there is a corresponding connection to the
  61955. * crossbar switch's slave input port.
  61956. * 0b00000000..A bus slave connection to AXBS input port n is absent
  61957. * 0b00000001..A bus slave connection to AXBS input port n is present
  61958. */
  61959. #define MCM_PLASC_ASC(x) (((uint16_t)(((uint16_t)(x)) << MCM_PLASC_ASC_SHIFT)) & MCM_PLASC_ASC_MASK)
  61960. /*! @} */
  61961. /*! @name PLAMC - Crossbar Switch (AXBS) Master Configuration */
  61962. /*! @{ */
  61963. #define MCM_PLAMC_AMC_MASK (0xFFU)
  61964. #define MCM_PLAMC_AMC_SHIFT (0U)
  61965. /*! AMC - Each bit in the AMC field indicates whether there is a corresponding connection to the AXBS master input port.
  61966. * 0b00000000..A bus master connection to AXBS input port n is absent
  61967. * 0b00000001..A bus master connection to AXBS input port n is present
  61968. */
  61969. #define MCM_PLAMC_AMC(x) (((uint16_t)(((uint16_t)(x)) << MCM_PLAMC_AMC_SHIFT)) & MCM_PLAMC_AMC_MASK)
  61970. /*! @} */
  61971. /*! @name CR - Control Register */
  61972. /*! @{ */
  61973. #define MCM_CR_STATUS_MASK (0x1FFU)
  61974. #define MCM_CR_STATUS_SHIFT (0U)
  61975. /*! STATUS - Status bits
  61976. */
  61977. #define MCM_CR_STATUS(x) (((uint32_t)(((uint32_t)(x)) << MCM_CR_STATUS_SHIFT)) & MCM_CR_STATUS_MASK)
  61978. #define MCM_CR_CBRR_MASK (0x200U)
  61979. #define MCM_CR_CBRR_SHIFT (9U)
  61980. /*! CBRR - Crossbar round-robin arbitration enable
  61981. * 0b0..Fixed-priority arbitration
  61982. * 0b1..Round-robin arbitration
  61983. */
  61984. #define MCM_CR_CBRR(x) (((uint32_t)(((uint32_t)(x)) << MCM_CR_CBRR_SHIFT)) & MCM_CR_CBRR_MASK)
  61985. #define MCM_CR_STCMAP_MASK (0x3000000U)
  61986. #define MCM_CR_STCMAP_SHIFT (24U)
  61987. /*! STCMAP - System TCM arbitration priority
  61988. * 0b00..Round robin
  61989. * 0b01..Special round robin (favors TCM backoor accesses over the processor)
  61990. * 0b10..Fixed priority. Processor has highest, backdoor has lowest
  61991. * 0b11..Fixed priority. Backdoor has highest, processor has lowest
  61992. */
  61993. #define MCM_CR_STCMAP(x) (((uint32_t)(((uint32_t)(x)) << MCM_CR_STCMAP_SHIFT)) & MCM_CR_STCMAP_MASK)
  61994. #define MCM_CR_STCMWP_MASK (0x4000000U)
  61995. #define MCM_CR_STCMWP_SHIFT (26U)
  61996. /*! STCMWP - System TCM write protect
  61997. */
  61998. #define MCM_CR_STCMWP(x) (((uint32_t)(((uint32_t)(x)) << MCM_CR_STCMWP_SHIFT)) & MCM_CR_STCMWP_MASK)
  61999. #define MCM_CR_CTCMAP_MASK (0x30000000U)
  62000. #define MCM_CR_CTCMAP_SHIFT (28U)
  62001. /*! CTCMAP - Code TCM arbitration priority
  62002. * 0b00..Round robin
  62003. * 0b01..Special round robin (favors TCM backoor accesses over the processor)
  62004. * 0b10..Fixed priority. Processor has highest, backdoor has lowest
  62005. * 0b11..Fixed priority. Backdoor has highest, processor has lowest
  62006. */
  62007. #define MCM_CR_CTCMAP(x) (((uint32_t)(((uint32_t)(x)) << MCM_CR_CTCMAP_SHIFT)) & MCM_CR_CTCMAP_MASK)
  62008. #define MCM_CR_CTCMWP_MASK (0x40000000U)
  62009. #define MCM_CR_CTCMWP_SHIFT (30U)
  62010. /*! CTCMWP - Code TCM Write Protect
  62011. */
  62012. #define MCM_CR_CTCMWP(x) (((uint32_t)(((uint32_t)(x)) << MCM_CR_CTCMWP_SHIFT)) & MCM_CR_CTCMWP_MASK)
  62013. /*! @} */
  62014. /*! @name ISCR - Interrupt Status and Control Register */
  62015. /*! @{ */
  62016. #define MCM_ISCR_CWBER_MASK (0x10U)
  62017. #define MCM_ISCR_CWBER_SHIFT (4U)
  62018. /*! CWBER - Cache write buffer error status
  62019. * 0b0..No error
  62020. * 0b1..Error occurred
  62021. */
  62022. #define MCM_ISCR_CWBER(x) (((uint32_t)(((uint32_t)(x)) << MCM_ISCR_CWBER_SHIFT)) & MCM_ISCR_CWBER_MASK)
  62023. #define MCM_ISCR_FIOC_MASK (0x100U)
  62024. #define MCM_ISCR_FIOC_SHIFT (8U)
  62025. /*! FIOC - FPU invalid operation interrupt status
  62026. * 0b0..No interrupt
  62027. * 0b1..Interrupt occurred
  62028. */
  62029. #define MCM_ISCR_FIOC(x) (((uint32_t)(((uint32_t)(x)) << MCM_ISCR_FIOC_SHIFT)) & MCM_ISCR_FIOC_MASK)
  62030. #define MCM_ISCR_FDZC_MASK (0x200U)
  62031. #define MCM_ISCR_FDZC_SHIFT (9U)
  62032. /*! FDZC - FPU divide-by-zero interrupt status
  62033. * 0b0..No interrupt
  62034. * 0b1..Interrupt occurred
  62035. */
  62036. #define MCM_ISCR_FDZC(x) (((uint32_t)(((uint32_t)(x)) << MCM_ISCR_FDZC_SHIFT)) & MCM_ISCR_FDZC_MASK)
  62037. #define MCM_ISCR_FOFC_MASK (0x400U)
  62038. #define MCM_ISCR_FOFC_SHIFT (10U)
  62039. /*! FOFC - FPU overflow interrupt status
  62040. * 0b0..No interrupt
  62041. * 0b1..Interrupt occurred
  62042. */
  62043. #define MCM_ISCR_FOFC(x) (((uint32_t)(((uint32_t)(x)) << MCM_ISCR_FOFC_SHIFT)) & MCM_ISCR_FOFC_MASK)
  62044. #define MCM_ISCR_FUFC_MASK (0x800U)
  62045. #define MCM_ISCR_FUFC_SHIFT (11U)
  62046. /*! FUFC - FPU underflow interrupt status
  62047. * 0b0..No interrupt
  62048. * 0b1..Interrupt occurred
  62049. */
  62050. #define MCM_ISCR_FUFC(x) (((uint32_t)(((uint32_t)(x)) << MCM_ISCR_FUFC_SHIFT)) & MCM_ISCR_FUFC_MASK)
  62051. #define MCM_ISCR_FIXC_MASK (0x1000U)
  62052. #define MCM_ISCR_FIXC_SHIFT (12U)
  62053. /*! FIXC - FPU inexact interrupt status
  62054. * 0b0..No interrupt
  62055. * 0b1..Interrupt occurred
  62056. */
  62057. #define MCM_ISCR_FIXC(x) (((uint32_t)(((uint32_t)(x)) << MCM_ISCR_FIXC_SHIFT)) & MCM_ISCR_FIXC_MASK)
  62058. #define MCM_ISCR_FIDC_MASK (0x8000U)
  62059. #define MCM_ISCR_FIDC_SHIFT (15U)
  62060. /*! FIDC - FPU input denormal interrupt status
  62061. * 0b0..No interrupt
  62062. * 0b1..Interrupt occurred
  62063. */
  62064. #define MCM_ISCR_FIDC(x) (((uint32_t)(((uint32_t)(x)) << MCM_ISCR_FIDC_SHIFT)) & MCM_ISCR_FIDC_MASK)
  62065. #define MCM_ISCR_CWBEE_MASK (0x100000U)
  62066. #define MCM_ISCR_CWBEE_SHIFT (20U)
  62067. /*! CWBEE - Cache write buffer error enable
  62068. * 0b0..Disable error interrupt
  62069. * 0b1..Enable error interrupt
  62070. */
  62071. #define MCM_ISCR_CWBEE(x) (((uint32_t)(((uint32_t)(x)) << MCM_ISCR_CWBEE_SHIFT)) & MCM_ISCR_CWBEE_MASK)
  62072. #define MCM_ISCR_FIOCE_MASK (0x1000000U)
  62073. #define MCM_ISCR_FIOCE_SHIFT (24U)
  62074. /*! FIOCE - FPU invalid operation interrupt enable
  62075. * 0b0..Disable interrupt
  62076. * 0b1..Enable interrupt
  62077. */
  62078. #define MCM_ISCR_FIOCE(x) (((uint32_t)(((uint32_t)(x)) << MCM_ISCR_FIOCE_SHIFT)) & MCM_ISCR_FIOCE_MASK)
  62079. #define MCM_ISCR_FDZCE_MASK (0x2000000U)
  62080. #define MCM_ISCR_FDZCE_SHIFT (25U)
  62081. /*! FDZCE - FPU divide-by-zero interrupt enable
  62082. * 0b0..Disable interrupt
  62083. * 0b1..Enable interrupt
  62084. */
  62085. #define MCM_ISCR_FDZCE(x) (((uint32_t)(((uint32_t)(x)) << MCM_ISCR_FDZCE_SHIFT)) & MCM_ISCR_FDZCE_MASK)
  62086. #define MCM_ISCR_FOFCE_MASK (0x4000000U)
  62087. #define MCM_ISCR_FOFCE_SHIFT (26U)
  62088. /*! FOFCE - FPU overflow interrupt enable
  62089. * 0b0..Disable interrupt
  62090. * 0b1..Enable interrupt
  62091. */
  62092. #define MCM_ISCR_FOFCE(x) (((uint32_t)(((uint32_t)(x)) << MCM_ISCR_FOFCE_SHIFT)) & MCM_ISCR_FOFCE_MASK)
  62093. #define MCM_ISCR_FUFCE_MASK (0x8000000U)
  62094. #define MCM_ISCR_FUFCE_SHIFT (27U)
  62095. /*! FUFCE - FPU underflow interrupt enable
  62096. * 0b0..Disable interrupt
  62097. * 0b1..Enable interrupt
  62098. */
  62099. #define MCM_ISCR_FUFCE(x) (((uint32_t)(((uint32_t)(x)) << MCM_ISCR_FUFCE_SHIFT)) & MCM_ISCR_FUFCE_MASK)
  62100. #define MCM_ISCR_FIXCE_MASK (0x10000000U)
  62101. #define MCM_ISCR_FIXCE_SHIFT (28U)
  62102. /*! FIXCE - FPU inexact interrupt enable
  62103. * 0b0..Disable interrupt
  62104. * 0b1..Enable interrupt
  62105. */
  62106. #define MCM_ISCR_FIXCE(x) (((uint32_t)(((uint32_t)(x)) << MCM_ISCR_FIXCE_SHIFT)) & MCM_ISCR_FIXCE_MASK)
  62107. #define MCM_ISCR_FIDCE_MASK (0x80000000U)
  62108. #define MCM_ISCR_FIDCE_SHIFT (31U)
  62109. /*! FIDCE - FPU input denormal interrupt enable
  62110. * 0b0..Disable interrupt
  62111. * 0b1..Enable interrupt
  62112. */
  62113. #define MCM_ISCR_FIDCE(x) (((uint32_t)(((uint32_t)(x)) << MCM_ISCR_FIDCE_SHIFT)) & MCM_ISCR_FIDCE_MASK)
  62114. /*! @} */
  62115. /*! @name FADR - Fault address register */
  62116. /*! @{ */
  62117. #define MCM_FADR_ADDRESS_MASK (0xFFFFFFFFU)
  62118. #define MCM_FADR_ADDRESS_SHIFT (0U)
  62119. /*! ADDRESS - Fault address
  62120. */
  62121. #define MCM_FADR_ADDRESS(x) (((uint32_t)(((uint32_t)(x)) << MCM_FADR_ADDRESS_SHIFT)) & MCM_FADR_ADDRESS_MASK)
  62122. /*! @} */
  62123. /*! @name FATR - Fault attributes register */
  62124. /*! @{ */
  62125. #define MCM_FATR_BEDA_MASK (0x1U)
  62126. #define MCM_FATR_BEDA_SHIFT (0U)
  62127. /*! BEDA - Bus error access type
  62128. * 0b0..Instruction
  62129. * 0b1..Data
  62130. */
  62131. #define MCM_FATR_BEDA(x) (((uint32_t)(((uint32_t)(x)) << MCM_FATR_BEDA_SHIFT)) & MCM_FATR_BEDA_MASK)
  62132. #define MCM_FATR_BEMD_MASK (0x2U)
  62133. #define MCM_FATR_BEMD_SHIFT (1U)
  62134. /*! BEMD - Bus error privilege level
  62135. * 0b0..User mode
  62136. * 0b1..Supervisor/privileged mode
  62137. */
  62138. #define MCM_FATR_BEMD(x) (((uint32_t)(((uint32_t)(x)) << MCM_FATR_BEMD_SHIFT)) & MCM_FATR_BEMD_MASK)
  62139. #define MCM_FATR_BESZ_MASK (0x30U)
  62140. #define MCM_FATR_BESZ_SHIFT (4U)
  62141. /*! BESZ - Bus error size
  62142. * 0b00..8-bit access
  62143. * 0b01..16-bit access
  62144. * 0b10..32-bit access
  62145. * 0b11..Reserved
  62146. */
  62147. #define MCM_FATR_BESZ(x) (((uint32_t)(((uint32_t)(x)) << MCM_FATR_BESZ_SHIFT)) & MCM_FATR_BESZ_MASK)
  62148. #define MCM_FATR_BEWT_MASK (0x80U)
  62149. #define MCM_FATR_BEWT_SHIFT (7U)
  62150. /*! BEWT - Bus error write
  62151. * 0b0..Read access
  62152. * 0b1..Write access
  62153. */
  62154. #define MCM_FATR_BEWT(x) (((uint32_t)(((uint32_t)(x)) << MCM_FATR_BEWT_SHIFT)) & MCM_FATR_BEWT_MASK)
  62155. #define MCM_FATR_BEMN_MASK (0xF00U)
  62156. #define MCM_FATR_BEMN_SHIFT (8U)
  62157. /*! BEMN - Bus error master number
  62158. */
  62159. #define MCM_FATR_BEMN(x) (((uint32_t)(((uint32_t)(x)) << MCM_FATR_BEMN_SHIFT)) & MCM_FATR_BEMN_MASK)
  62160. #define MCM_FATR_BEOVR_MASK (0x80000000U)
  62161. #define MCM_FATR_BEOVR_SHIFT (31U)
  62162. /*! BEOVR - Bus error overrun
  62163. * 0b0..No bus error overrun
  62164. * 0b1..Bus error overrun occurred. The FADR and FDR registers and the other FATR bits are not updated to reflect this new bus error.
  62165. */
  62166. #define MCM_FATR_BEOVR(x) (((uint32_t)(((uint32_t)(x)) << MCM_FATR_BEOVR_SHIFT)) & MCM_FATR_BEOVR_MASK)
  62167. /*! @} */
  62168. /*! @name FDR - Fault data register */
  62169. /*! @{ */
  62170. #define MCM_FDR_DATA_MASK (0xFFFFFFFFU)
  62171. #define MCM_FDR_DATA_SHIFT (0U)
  62172. /*! DATA - Fault data
  62173. */
  62174. #define MCM_FDR_DATA(x) (((uint32_t)(((uint32_t)(x)) << MCM_FDR_DATA_SHIFT)) & MCM_FDR_DATA_MASK)
  62175. /*! @} */
  62176. /*! @name LMDR - Local Memory Descriptor Register */
  62177. /*! @{ */
  62178. #define MCM_LMDR_CF0_MASK (0xFU)
  62179. #define MCM_LMDR_CF0_SHIFT (0U)
  62180. /*! CF0 - Control Field 0
  62181. */
  62182. #define MCM_LMDR_CF0(x) (((uint32_t)(((uint32_t)(x)) << MCM_LMDR_CF0_SHIFT)) & MCM_LMDR_CF0_MASK)
  62183. #define MCM_LMDR_CF1_MASK (0xF0U)
  62184. #define MCM_LMDR_CF1_SHIFT (4U)
  62185. /*! CF1 - Control Field 1 - for Cache Parity control functions
  62186. */
  62187. #define MCM_LMDR_CF1(x) (((uint32_t)(((uint32_t)(x)) << MCM_LMDR_CF1_SHIFT)) & MCM_LMDR_CF1_MASK)
  62188. #define MCM_LMDR_MT_MASK (0xE000U)
  62189. #define MCM_LMDR_MT_SHIFT (13U)
  62190. /*! MT - Memory Type
  62191. * 0b000..code TCM
  62192. * 0b001..system TCM
  62193. * 0b010..PC Cache
  62194. * 0b011..PS Cache
  62195. */
  62196. #define MCM_LMDR_MT(x) (((uint32_t)(((uint32_t)(x)) << MCM_LMDR_MT_SHIFT)) & MCM_LMDR_MT_MASK)
  62197. #define MCM_LMDR_RO_MASK (0x10000U)
  62198. #define MCM_LMDR_RO_SHIFT (16U)
  62199. /*! RO
  62200. * 0b0..Writes to the LMDRn[7:0] are allowed.
  62201. * 0b1..Writes to the LMDRn[7:0] are ignored.
  62202. */
  62203. #define MCM_LMDR_RO(x) (((uint32_t)(((uint32_t)(x)) << MCM_LMDR_RO_SHIFT)) & MCM_LMDR_RO_MASK)
  62204. #define MCM_LMDR_DPW_MASK (0xE0000U)
  62205. #define MCM_LMDR_DPW_SHIFT (17U)
  62206. /*! DPW
  62207. * 0b010..LMEMn 32-bits wide
  62208. * 0b011..LMEMn 64-bits wide
  62209. */
  62210. #define MCM_LMDR_DPW(x) (((uint32_t)(((uint32_t)(x)) << MCM_LMDR_DPW_SHIFT)) & MCM_LMDR_DPW_MASK)
  62211. #define MCM_LMDR_WY_MASK (0xF00000U)
  62212. #define MCM_LMDR_WY_SHIFT (20U)
  62213. /*! WY - Level 1 Cache Ways
  62214. * 0b0000..No Cache
  62215. * 0b0010..2-Way Set Associative
  62216. * 0b0100..4-Way Set Associative
  62217. */
  62218. #define MCM_LMDR_WY(x) (((uint32_t)(((uint32_t)(x)) << MCM_LMDR_WY_SHIFT)) & MCM_LMDR_WY_MASK)
  62219. #define MCM_LMDR_LMSZ_MASK (0xF000000U)
  62220. #define MCM_LMDR_LMSZ_SHIFT (24U)
  62221. /*! LMSZ
  62222. * 0b0000..no LMEMn (0 KB)
  62223. * 0b0001..1 KB LMEMn
  62224. * 0b0010..2 KB LMEMn
  62225. * 0b0011..4 KB LMEMn
  62226. * 0b0100..8 KB LMEMn
  62227. * 0b0101..16 KB LMEMn
  62228. * 0b0110..32 KB LMEMn
  62229. * 0b0111..64 KB LMEMn
  62230. * 0b1000..128 KB LMEMn
  62231. * 0b1001..256 KB LMEMn
  62232. * 0b1010..512 KB LMEMn
  62233. * 0b1011..1024 KB LMEMn
  62234. * 0b1100..2048 KB LMEMn
  62235. * 0b1101..4096 KB LMEMn
  62236. * 0b1110..8192 KB LMEMn
  62237. * 0b1111..16384 KB LMEMn
  62238. */
  62239. #define MCM_LMDR_LMSZ(x) (((uint32_t)(((uint32_t)(x)) << MCM_LMDR_LMSZ_SHIFT)) & MCM_LMDR_LMSZ_MASK)
  62240. #define MCM_LMDR_LMSZH_MASK (0x10000000U)
  62241. #define MCM_LMDR_LMSZH_SHIFT (28U)
  62242. /*! LMSZH
  62243. * 0b0..LMEMn is a power-of-2 capacity.
  62244. * 0b1..LMEMn is not a power-of-2, with a capacity is 0.75 * LMSZ.
  62245. */
  62246. #define MCM_LMDR_LMSZH(x) (((uint32_t)(((uint32_t)(x)) << MCM_LMDR_LMSZH_SHIFT)) & MCM_LMDR_LMSZH_MASK)
  62247. #define MCM_LMDR_V_MASK (0x80000000U)
  62248. #define MCM_LMDR_V_SHIFT (31U)
  62249. /*! V
  62250. * 0b0..LMEMn is not present.
  62251. * 0b1..LMEMn is present.
  62252. */
  62253. #define MCM_LMDR_V(x) (((uint32_t)(((uint32_t)(x)) << MCM_LMDR_V_SHIFT)) & MCM_LMDR_V_MASK)
  62254. /*! @} */
  62255. /* The count of MCM_LMDR */
  62256. #define MCM_LMDR_COUNT (4U)
  62257. /*! @name LMPECR - LMEM Parity & ECC Control Register */
  62258. /*! @{ */
  62259. #define MCM_LMPECR_ERNCR_MASK (0x1U)
  62260. #define MCM_LMPECR_ERNCR_SHIFT (0U)
  62261. /*! ERNCR - Enable RAM ECC Non-correctable Reporting
  62262. * 0b0..reporting enabled
  62263. * 0b1..reporting disabled
  62264. */
  62265. #define MCM_LMPECR_ERNCR(x) (((uint32_t)(((uint32_t)(x)) << MCM_LMPECR_ERNCR_SHIFT)) & MCM_LMPECR_ERNCR_MASK)
  62266. #define MCM_LMPECR_ERNCI_MASK (0x2U)
  62267. #define MCM_LMPECR_ERNCI_SHIFT (1U)
  62268. /*! ERNCI
  62269. * 0b0..Interrupt is disabled
  62270. * 0b1..Interrupt is enabled
  62271. */
  62272. #define MCM_LMPECR_ERNCI(x) (((uint32_t)(((uint32_t)(x)) << MCM_LMPECR_ERNCI_SHIFT)) & MCM_LMPECR_ERNCI_MASK)
  62273. #define MCM_LMPECR_ER1BR_MASK (0x100U)
  62274. #define MCM_LMPECR_ER1BR_SHIFT (8U)
  62275. /*! ER1BR - Enable RAM ECC 1-bit Reporting
  62276. * 0b0..reporting enabled
  62277. * 0b1..reporting disabled
  62278. */
  62279. #define MCM_LMPECR_ER1BR(x) (((uint32_t)(((uint32_t)(x)) << MCM_LMPECR_ER1BR_SHIFT)) & MCM_LMPECR_ER1BR_MASK)
  62280. #define MCM_LMPECR_ER1BI_MASK (0x200U)
  62281. #define MCM_LMPECR_ER1BI_SHIFT (9U)
  62282. /*! ER1BI - Enable RAM ECC 1-bit Interrupt
  62283. * 0b0..Interrupt is disabled
  62284. * 0b1..Interrupt is enabled
  62285. */
  62286. #define MCM_LMPECR_ER1BI(x) (((uint32_t)(((uint32_t)(x)) << MCM_LMPECR_ER1BI_SHIFT)) & MCM_LMPECR_ER1BI_MASK)
  62287. #define MCM_LMPECR_ECPR_MASK (0x100000U)
  62288. #define MCM_LMPECR_ECPR_SHIFT (20U)
  62289. /*! ECPR - Enable Cache Parity Reporting
  62290. * 0b0..reporting enabled
  62291. * 0b1..reporting disabled
  62292. */
  62293. #define MCM_LMPECR_ECPR(x) (((uint32_t)(((uint32_t)(x)) << MCM_LMPECR_ECPR_SHIFT)) & MCM_LMPECR_ECPR_MASK)
  62294. #define MCM_LMPECR_ECPI_MASK (0x200000U)
  62295. #define MCM_LMPECR_ECPI_SHIFT (21U)
  62296. /*! ECPI - Enable Cache Parity IRQ
  62297. * 0b0..enabled
  62298. * 0b1..disabled
  62299. */
  62300. #define MCM_LMPECR_ECPI(x) (((uint32_t)(((uint32_t)(x)) << MCM_LMPECR_ECPI_SHIFT)) & MCM_LMPECR_ECPI_MASK)
  62301. /*! @} */
  62302. /*! @name LMPEIR - LMEM Parity & ECC Interrupt Register */
  62303. /*! @{ */
  62304. #define MCM_LMPEIR_ENC_MASK (0xFFU)
  62305. #define MCM_LMPEIR_ENC_SHIFT (0U)
  62306. /*! ENC - ENCn = ECC Non-correctable Error n
  62307. */
  62308. #define MCM_LMPEIR_ENC(x) (((uint32_t)(((uint32_t)(x)) << MCM_LMPEIR_ENC_SHIFT)) & MCM_LMPEIR_ENC_MASK)
  62309. #define MCM_LMPEIR_E1B_MASK (0xFF00U)
  62310. #define MCM_LMPEIR_E1B_SHIFT (8U)
  62311. /*! E1B - E1Bn = ECC 1-bit Error n
  62312. */
  62313. #define MCM_LMPEIR_E1B(x) (((uint32_t)(((uint32_t)(x)) << MCM_LMPEIR_E1B_SHIFT)) & MCM_LMPEIR_E1B_MASK)
  62314. #define MCM_LMPEIR_PE_MASK (0xFF0000U)
  62315. #define MCM_LMPEIR_PE_SHIFT (16U)
  62316. /*! PE - Parity Error
  62317. */
  62318. #define MCM_LMPEIR_PE(x) (((uint32_t)(((uint32_t)(x)) << MCM_LMPEIR_PE_SHIFT)) & MCM_LMPEIR_PE_MASK)
  62319. #define MCM_LMPEIR_PEELOC_MASK (0x1F000000U)
  62320. #define MCM_LMPEIR_PEELOC_SHIFT (24U)
  62321. #define MCM_LMPEIR_PEELOC(x) (((uint32_t)(((uint32_t)(x)) << MCM_LMPEIR_PEELOC_SHIFT)) & MCM_LMPEIR_PEELOC_MASK)
  62322. #define MCM_LMPEIR_V_MASK (0x80000000U)
  62323. #define MCM_LMPEIR_V_SHIFT (31U)
  62324. /*! V - Valid bit
  62325. */
  62326. #define MCM_LMPEIR_V(x) (((uint32_t)(((uint32_t)(x)) << MCM_LMPEIR_V_SHIFT)) & MCM_LMPEIR_V_MASK)
  62327. /*! @} */
  62328. /*! @name LMFAR - LMEM Fault Address Register */
  62329. /*! @{ */
  62330. #define MCM_LMFAR_EFADD_MASK (0xFFFFFFFFU)
  62331. #define MCM_LMFAR_EFADD_SHIFT (0U)
  62332. /*! EFADD - ECC Fault Address
  62333. */
  62334. #define MCM_LMFAR_EFADD(x) (((uint32_t)(((uint32_t)(x)) << MCM_LMFAR_EFADD_SHIFT)) & MCM_LMFAR_EFADD_MASK)
  62335. /*! @} */
  62336. /*! @name LMFATR - LMEM Fault Attribute Register */
  62337. /*! @{ */
  62338. #define MCM_LMFATR_PEFPRT_MASK (0xFU)
  62339. #define MCM_LMFATR_PEFPRT_SHIFT (0U)
  62340. #define MCM_LMFATR_PEFPRT(x) (((uint32_t)(((uint32_t)(x)) << MCM_LMFATR_PEFPRT_SHIFT)) & MCM_LMFATR_PEFPRT_MASK)
  62341. #define MCM_LMFATR_PEFSIZE_MASK (0x70U)
  62342. #define MCM_LMFATR_PEFSIZE_SHIFT (4U)
  62343. #define MCM_LMFATR_PEFSIZE(x) (((uint32_t)(((uint32_t)(x)) << MCM_LMFATR_PEFSIZE_SHIFT)) & MCM_LMFATR_PEFSIZE_MASK)
  62344. #define MCM_LMFATR_PEFW_MASK (0x80U)
  62345. #define MCM_LMFATR_PEFW_SHIFT (7U)
  62346. #define MCM_LMFATR_PEFW(x) (((uint32_t)(((uint32_t)(x)) << MCM_LMFATR_PEFW_SHIFT)) & MCM_LMFATR_PEFW_MASK)
  62347. #define MCM_LMFATR_PEFMST_MASK (0xFF00U)
  62348. #define MCM_LMFATR_PEFMST_SHIFT (8U)
  62349. #define MCM_LMFATR_PEFMST(x) (((uint32_t)(((uint32_t)(x)) << MCM_LMFATR_PEFMST_SHIFT)) & MCM_LMFATR_PEFMST_MASK)
  62350. #define MCM_LMFATR_WORDID_MASK (0x1000000U)
  62351. #define MCM_LMFATR_WORDID_SHIFT (24U)
  62352. #define MCM_LMFATR_WORDID(x) (((uint32_t)(((uint32_t)(x)) << MCM_LMFATR_WORDID_SHIFT)) & MCM_LMFATR_WORDID_MASK)
  62353. #define MCM_LMFATR_OVR_MASK (0x80000000U)
  62354. #define MCM_LMFATR_OVR_SHIFT (31U)
  62355. /*! OVR - Overrun
  62356. */
  62357. #define MCM_LMFATR_OVR(x) (((uint32_t)(((uint32_t)(x)) << MCM_LMFATR_OVR_SHIFT)) & MCM_LMFATR_OVR_MASK)
  62358. /*! @} */
  62359. /*! @name LMFDHR - LMEM Fault Data High Register */
  62360. /*! @{ */
  62361. #define MCM_LMFDHR_PEFDH_MASK (0xFFFFFFFFU)
  62362. #define MCM_LMFDHR_PEFDH_SHIFT (0U)
  62363. #define MCM_LMFDHR_PEFDH(x) (((uint32_t)(((uint32_t)(x)) << MCM_LMFDHR_PEFDH_SHIFT)) & MCM_LMFDHR_PEFDH_MASK)
  62364. /*! @} */
  62365. /*! @name LMFDLR - LMEM Fault Data Low Register */
  62366. /*! @{ */
  62367. #define MCM_LMFDLR_PEFDL_MASK (0xFFFFFFFFU)
  62368. #define MCM_LMFDLR_PEFDL_SHIFT (0U)
  62369. #define MCM_LMFDLR_PEFDL(x) (((uint32_t)(((uint32_t)(x)) << MCM_LMFDLR_PEFDL_SHIFT)) & MCM_LMFDLR_PEFDL_MASK)
  62370. /*! @} */
  62371. /*!
  62372. * @}
  62373. */ /* end of group MCM_Register_Masks */
  62374. /* MCM - Peripheral instance base addresses */
  62375. /** Peripheral MCM base address */
  62376. #define MCM_BASE (0xE0080000u)
  62377. /** Peripheral MCM base pointer */
  62378. #define MCM ((MCM_Type *)MCM_BASE)
  62379. /** Array initializer of MCM peripheral base addresses */
  62380. #define MCM_BASE_ADDRS { MCM_BASE }
  62381. /** Array initializer of MCM peripheral base pointers */
  62382. #define MCM_BASE_PTRS { MCM }
  62383. /*!
  62384. * @}
  62385. */ /* end of group MCM_Peripheral_Access_Layer */
  62386. /* ----------------------------------------------------------------------------
  62387. -- MECC Peripheral Access Layer
  62388. ---------------------------------------------------------------------------- */
  62389. /*!
  62390. * @addtogroup MECC_Peripheral_Access_Layer MECC Peripheral Access Layer
  62391. * @{
  62392. */
  62393. /** MECC - Register Layout Typedef */
  62394. typedef struct {
  62395. __IO uint32_t ERR_STATUS; /**< Error Interrupt Status Register, offset: 0x0 */
  62396. __IO uint32_t ERR_STAT_EN; /**< Error Interrupt Status Enable Register, offset: 0x4 */
  62397. __IO uint32_t ERR_SIG_EN; /**< Error Interrupt Enable Register, offset: 0x8 */
  62398. __IO uint32_t ERR_DATA_INJ_LOW0; /**< Error Injection On LOW 32 bits Of OCRAM Bank0 Write Data, offset: 0xC */
  62399. __IO uint32_t ERR_DATA_INJ_HIGH0; /**< Error Injection On HIGH 32 bits Of OCRAM Bank0 Write Data, offset: 0x10 */
  62400. __IO uint32_t ERR_ECC_INJ0; /**< Error Injection On 8 bits ECC code Of OCRAM Bank0 Write Data, offset: 0x14 */
  62401. __IO uint32_t ERR_DATA_INJ_LOW1; /**< Error Injection On LOW 32 bits Of OCRAM Bank1 Write Data, offset: 0x18 */
  62402. __IO uint32_t ERR_DATA_INJ_HIGH1; /**< Error Injection On HIGH 32 bits Of OCRAM Bank1 Write Data, offset: 0x1C */
  62403. __IO uint32_t ERR_ECC_INJ1; /**< Error Injection On 8 bits ECC code Of OCRAM Bank1 Write Data, offset: 0x20 */
  62404. __IO uint32_t ERR_DATA_INJ_LOW2; /**< Error Injection On LOW 32 bits Of OCRAM Bank2 Write Data, offset: 0x24 */
  62405. __IO uint32_t ERR_DATA_INJ_HIGH2; /**< Error Injection On HIGH 32 bits Of OCRAM Bank2 Write Data, offset: 0x28 */
  62406. __IO uint32_t ERR_ECC_INJ2; /**< Error Injection On 8 bits ECC code Of OCRAM Bank2 Write Data, offset: 0x2C */
  62407. __IO uint32_t ERR_DATA_INJ_LOW3; /**< Error Injection On LOW 32 bits Of OCRAM Bank3 Write Data, offset: 0x30 */
  62408. __IO uint32_t ERR_DATA_INJ_HIGH3; /**< Error Injection On HIGH 32 bits Of OCRAM Bank3 Write Data, offset: 0x34 */
  62409. __IO uint32_t ERR_ECC_INJ3; /**< Error Injection On 8 bits ECC code Of OCRAM Bank3 Write Data, offset: 0x38 */
  62410. __I uint32_t SINGLE_ERR_ADDR_ECC0; /**< Single Error Address And ECC code On OCRAM Bank0, offset: 0x3C */
  62411. __I uint32_t SINGLE_ERR_DATA_LOW0; /**< LOW 32 Bits Single Error Read Data On OCRAM Bank0, offset: 0x40 */
  62412. __I uint32_t SINGLE_ERR_DATA_HIGH0; /**< HIGH 32 Bits Single Error Read Data On OCRAM Bank0, offset: 0x44 */
  62413. __I uint32_t SINGLE_ERR_POS_LOW0; /**< LOW Single Error Bit Position On OCRAM Bank0, offset: 0x48 */
  62414. __I uint32_t SINGLE_ERR_POS_HIGH0; /**< HIGH Single Error Bit Position On OCRAM Bank0, offset: 0x4C */
  62415. __I uint32_t SINGLE_ERR_ADDR_ECC1; /**< Single Error Address And ECC code On OCRAM Bank1, offset: 0x50 */
  62416. __I uint32_t SINGLE_ERR_DATA_LOW1; /**< LOW 32 Bits Single Error Read Data On OCRAM Bank1, offset: 0x54 */
  62417. __I uint32_t SINGLE_ERR_DATA_HIGH1; /**< HIGH 32 Bits Single Error Read Data On OCRAM Bank1, offset: 0x58 */
  62418. __I uint32_t SINGLE_ERR_POS_LOW1; /**< LOW Single Error Bit Position On OCRAM Bank1, offset: 0x5C */
  62419. __I uint32_t SINGLE_ERR_POS_HIGH1; /**< HIGH Single Error Bit Position On OCRAM Bank1, offset: 0x60 */
  62420. __I uint32_t SINGLE_ERR_ADDR_ECC2; /**< Single Error Address And ECC code On OCRAM Bank2, offset: 0x64 */
  62421. __I uint32_t SINGLE_ERR_DATA_LOW2; /**< LOW 32 Bits Single Error Read Data On OCRAM Bank2, offset: 0x68 */
  62422. __I uint32_t SINGLE_ERR_DATA_HIGH2; /**< HIGH 32 Bits Single Error Read Data On OCRAM Bank2, offset: 0x6C */
  62423. __I uint32_t SINGLE_ERR_POS_LOW2; /**< LOW Single Error Bit Position On OCRAM Bank2, offset: 0x70 */
  62424. __I uint32_t SINGLE_ERR_POS_HIGH2; /**< HIGH Single Error Bit Position On OCRAM Bank2, offset: 0x74 */
  62425. __I uint32_t SINGLE_ERR_ADDR_ECC3; /**< Single Error Address And ECC code On OCRAM Bank3, offset: 0x78 */
  62426. __I uint32_t SINGLE_ERR_DATA_LOW3; /**< LOW 32 Bits Single Error Read Data On OCRAM Bank3, offset: 0x7C */
  62427. __I uint32_t SINGLE_ERR_DATA_HIGH3; /**< HIGH 32 Bits Single Error Read Data On OCRAM Bank3, offset: 0x80 */
  62428. __I uint32_t SINGLE_ERR_POS_LOW3; /**< LOW Single Error Bit Position On OCRAM Bank3, offset: 0x84 */
  62429. __I uint32_t SINGLE_ERR_POS_HIGH3; /**< HIGH Single Error Bit Position On OCRAM Bank3, offset: 0x88 */
  62430. __I uint32_t MULTI_ERR_ADDR_ECC0; /**< Multiple Error Address And ECC code On OCRAM Bank0, offset: 0x8C */
  62431. __I uint32_t MULTI_ERR_DATA_LOW0; /**< LOW 32 Bits Multiple Error Read Data On OCRAM Bank0, offset: 0x90 */
  62432. __I uint32_t MULTI_ERR_DATA_HIGH0; /**< HIGH 32 Bits Multiple Error Read Data On OCRAM Bank0, offset: 0x94 */
  62433. __I uint32_t MULTI_ERR_ADDR_ECC1; /**< Multiple Error Address And ECC code On OCRAM Bank1, offset: 0x98 */
  62434. __I uint32_t MULTI_ERR_DATA_LOW1; /**< LOW 32 Bits Multiple Error Read Data On OCRAM Bank1, offset: 0x9C */
  62435. __I uint32_t MULTI_ERR_DATA_HIGH1; /**< HIGH 32 Bits Multiple Error Read Data On OCRAM Bank1, offset: 0xA0 */
  62436. __I uint32_t MULTI_ERR_ADDR_ECC2; /**< Multiple Error Address And ECC code On OCRAM Bank2, offset: 0xA4 */
  62437. __I uint32_t MULTI_ERR_DATA_LOW2; /**< LOW 32 Bits Multiple Error Read Data On OCRAM Bank2, offset: 0xA8 */
  62438. __I uint32_t MULTI_ERR_DATA_HIGH2; /**< HIGH 32 Bits Multiple Error Read Data On OCRAM Bank2, offset: 0xAC */
  62439. __I uint32_t MULTI_ERR_ADDR_ECC3; /**< Multiple Error Address And ECC code On OCRAM Bank3, offset: 0xB0 */
  62440. __I uint32_t MULTI_ERR_DATA_LOW3; /**< LOW 32 Bits Multiple Error Read Data On OCRAM Bank3, offset: 0xB4 */
  62441. __I uint32_t MULTI_ERR_DATA_HIGH3; /**< HIGH 32 Bits Multiple Error Read Data On OCRAM Bank3, offset: 0xB8 */
  62442. uint8_t RESERVED_0[68];
  62443. __IO uint32_t PIPE_ECC_EN; /**< OCRAM Pipeline And ECC Enable, offset: 0x100 */
  62444. __I uint32_t PENDING_STAT; /**< Pending Status, offset: 0x104 */
  62445. } MECC_Type;
  62446. /* ----------------------------------------------------------------------------
  62447. -- MECC Register Masks
  62448. ---------------------------------------------------------------------------- */
  62449. /*!
  62450. * @addtogroup MECC_Register_Masks MECC Register Masks
  62451. * @{
  62452. */
  62453. /*! @name ERR_STATUS - Error Interrupt Status Register */
  62454. /*! @{ */
  62455. #define MECC_ERR_STATUS_SINGLE_ERR0_MASK (0x1U)
  62456. #define MECC_ERR_STATUS_SINGLE_ERR0_SHIFT (0U)
  62457. /*! SINGLE_ERR0 - Single Bit Error On OCRAM Bank0
  62458. * 0b0..Single bit error does not happen on OCRAM bank0.
  62459. * 0b1..Single bit error happens on OCRAM bank0.
  62460. */
  62461. #define MECC_ERR_STATUS_SINGLE_ERR0(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_STATUS_SINGLE_ERR0_SHIFT)) & MECC_ERR_STATUS_SINGLE_ERR0_MASK)
  62462. #define MECC_ERR_STATUS_SINGLE_ERR1_MASK (0x2U)
  62463. #define MECC_ERR_STATUS_SINGLE_ERR1_SHIFT (1U)
  62464. /*! SINGLE_ERR1 - Single Bit Error On OCRAM Bank1
  62465. * 0b0..Single bit error does not happen on OCRAM bank1.
  62466. * 0b1..Single bit error happens on OCRAM bank1.
  62467. */
  62468. #define MECC_ERR_STATUS_SINGLE_ERR1(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_STATUS_SINGLE_ERR1_SHIFT)) & MECC_ERR_STATUS_SINGLE_ERR1_MASK)
  62469. #define MECC_ERR_STATUS_SINGLE_ERR2_MASK (0x4U)
  62470. #define MECC_ERR_STATUS_SINGLE_ERR2_SHIFT (2U)
  62471. /*! SINGLE_ERR2 - Single Bit Error On OCRAM Bank2
  62472. * 0b0..Single bit error does not happen on OCRAM bank2.
  62473. * 0b1..Single bit error happens on OCRAM bank2.
  62474. */
  62475. #define MECC_ERR_STATUS_SINGLE_ERR2(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_STATUS_SINGLE_ERR2_SHIFT)) & MECC_ERR_STATUS_SINGLE_ERR2_MASK)
  62476. #define MECC_ERR_STATUS_SINGLE_ERR3_MASK (0x8U)
  62477. #define MECC_ERR_STATUS_SINGLE_ERR3_SHIFT (3U)
  62478. /*! SINGLE_ERR3 - Single Bit Error On OCRAM Bank3
  62479. * 0b0..Single bit error does not happen on OCRAM bank3.
  62480. * 0b1..Single bit error happens on OCRAM bank3.
  62481. */
  62482. #define MECC_ERR_STATUS_SINGLE_ERR3(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_STATUS_SINGLE_ERR3_SHIFT)) & MECC_ERR_STATUS_SINGLE_ERR3_MASK)
  62483. #define MECC_ERR_STATUS_MULTI_ERR0_MASK (0x10U)
  62484. #define MECC_ERR_STATUS_MULTI_ERR0_SHIFT (4U)
  62485. /*! MULTI_ERR0 - Multiple Bits Error On OCRAM Bank0
  62486. * 0b0..Multiple bits error does not happen on OCRAM bank0.
  62487. * 0b1..Multiple bits error happens on OCRAM bank0.
  62488. */
  62489. #define MECC_ERR_STATUS_MULTI_ERR0(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_STATUS_MULTI_ERR0_SHIFT)) & MECC_ERR_STATUS_MULTI_ERR0_MASK)
  62490. #define MECC_ERR_STATUS_MULTI_ERR1_MASK (0x20U)
  62491. #define MECC_ERR_STATUS_MULTI_ERR1_SHIFT (5U)
  62492. /*! MULTI_ERR1 - Multiple Bits Error On OCRAM Bank1
  62493. * 0b0..Multiple bits error does not happen on OCRAM bank1.
  62494. * 0b1..Multiple bits error happens on OCRAM bank1.
  62495. */
  62496. #define MECC_ERR_STATUS_MULTI_ERR1(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_STATUS_MULTI_ERR1_SHIFT)) & MECC_ERR_STATUS_MULTI_ERR1_MASK)
  62497. #define MECC_ERR_STATUS_MULTI_ERR2_MASK (0x40U)
  62498. #define MECC_ERR_STATUS_MULTI_ERR2_SHIFT (6U)
  62499. /*! MULTI_ERR2 - Multiple Bits Error On OCRAM Bank2
  62500. * 0b0..Multiple bits error does not happen on OCRAM bank2.
  62501. * 0b1..Multiple bits error happens on OCRAM bank2.
  62502. */
  62503. #define MECC_ERR_STATUS_MULTI_ERR2(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_STATUS_MULTI_ERR2_SHIFT)) & MECC_ERR_STATUS_MULTI_ERR2_MASK)
  62504. #define MECC_ERR_STATUS_MULTI_ERR3_MASK (0x80U)
  62505. #define MECC_ERR_STATUS_MULTI_ERR3_SHIFT (7U)
  62506. /*! MULTI_ERR3 - Multiple Bits Error On OCRAM Bank3
  62507. * 0b0..Multiple bits error does not happen on OCRAM bank3.
  62508. * 0b1..Multiple bits error happens on OCRAM bank3.
  62509. */
  62510. #define MECC_ERR_STATUS_MULTI_ERR3(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_STATUS_MULTI_ERR3_SHIFT)) & MECC_ERR_STATUS_MULTI_ERR3_MASK)
  62511. #define MECC_ERR_STATUS_STRB_ERR0_MASK (0x100U)
  62512. #define MECC_ERR_STATUS_STRB_ERR0_SHIFT (8U)
  62513. /*! STRB_ERR0 - AXI Strobe Error On OCRAM Bank0
  62514. * 0b0..AXI strobe error does not happen on OCRAM bank0.
  62515. * 0b1..AXI strobe error happens on OCRAM bank0.
  62516. */
  62517. #define MECC_ERR_STATUS_STRB_ERR0(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_STATUS_STRB_ERR0_SHIFT)) & MECC_ERR_STATUS_STRB_ERR0_MASK)
  62518. #define MECC_ERR_STATUS_STRB_ERR1_MASK (0x200U)
  62519. #define MECC_ERR_STATUS_STRB_ERR1_SHIFT (9U)
  62520. /*! STRB_ERR1 - AXI Strobe Error On OCRAM Bank1
  62521. * 0b0..AXI strobe error does not happen on OCRAM bank1.
  62522. * 0b1..AXI strobe error happens on OCRAM bank1.
  62523. */
  62524. #define MECC_ERR_STATUS_STRB_ERR1(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_STATUS_STRB_ERR1_SHIFT)) & MECC_ERR_STATUS_STRB_ERR1_MASK)
  62525. #define MECC_ERR_STATUS_STRB_ERR2_MASK (0x400U)
  62526. #define MECC_ERR_STATUS_STRB_ERR2_SHIFT (10U)
  62527. /*! STRB_ERR2 - AXI Strobe Error On OCRAM Bank2
  62528. * 0b0..AXI strobe error does not happen on OCRAM bank2.
  62529. * 0b1..AXI strobe error happens on OCRAM bank2.
  62530. */
  62531. #define MECC_ERR_STATUS_STRB_ERR2(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_STATUS_STRB_ERR2_SHIFT)) & MECC_ERR_STATUS_STRB_ERR2_MASK)
  62532. #define MECC_ERR_STATUS_STRB_ERR3_MASK (0x800U)
  62533. #define MECC_ERR_STATUS_STRB_ERR3_SHIFT (11U)
  62534. /*! STRB_ERR3 - AXI Strobe Error On OCRAM Bank3
  62535. * 0b0..AXI strobe error does not happen on OCRAM bank3.
  62536. * 0b1..AXI strobe error happens on OCRAM bank3.
  62537. */
  62538. #define MECC_ERR_STATUS_STRB_ERR3(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_STATUS_STRB_ERR3_SHIFT)) & MECC_ERR_STATUS_STRB_ERR3_MASK)
  62539. #define MECC_ERR_STATUS_ADDR_ERR0_MASK (0x1000U)
  62540. #define MECC_ERR_STATUS_ADDR_ERR0_SHIFT (12U)
  62541. /*! ADDR_ERR0 - OCRAM Access Error On Bank0
  62542. * 0b0..OCRAM access error does not happen on OCRAM bank0.
  62543. * 0b1..OCRAM access error happens on OCRAM bank0.
  62544. */
  62545. #define MECC_ERR_STATUS_ADDR_ERR0(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_STATUS_ADDR_ERR0_SHIFT)) & MECC_ERR_STATUS_ADDR_ERR0_MASK)
  62546. #define MECC_ERR_STATUS_ADDR_ERR1_MASK (0x2000U)
  62547. #define MECC_ERR_STATUS_ADDR_ERR1_SHIFT (13U)
  62548. /*! ADDR_ERR1 - OCRAM Access Error On Bank1
  62549. * 0b0..OCRAM access error does not happen on OCRAM bank1.
  62550. * 0b1..OCRAM access error happens on OCRAM bank1.
  62551. */
  62552. #define MECC_ERR_STATUS_ADDR_ERR1(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_STATUS_ADDR_ERR1_SHIFT)) & MECC_ERR_STATUS_ADDR_ERR1_MASK)
  62553. #define MECC_ERR_STATUS_ADDR_ERR2_MASK (0x4000U)
  62554. #define MECC_ERR_STATUS_ADDR_ERR2_SHIFT (14U)
  62555. /*! ADDR_ERR2 - OCRAM Access Error On Bank2
  62556. * 0b0..OCRAM access error does not happen on OCRAM bank2.
  62557. * 0b1..OCRAM access error happens on OCRAM bank2.
  62558. */
  62559. #define MECC_ERR_STATUS_ADDR_ERR2(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_STATUS_ADDR_ERR2_SHIFT)) & MECC_ERR_STATUS_ADDR_ERR2_MASK)
  62560. #define MECC_ERR_STATUS_ADDR_ERR3_MASK (0x8000U)
  62561. #define MECC_ERR_STATUS_ADDR_ERR3_SHIFT (15U)
  62562. /*! ADDR_ERR3 - OCRAM Access Error On Bank3
  62563. * 0b0..OCRAM access error does not happen on OCRAM bank3.
  62564. * 0b1..OCRAM access error happens on OCRAM bank3.
  62565. */
  62566. #define MECC_ERR_STATUS_ADDR_ERR3(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_STATUS_ADDR_ERR3_SHIFT)) & MECC_ERR_STATUS_ADDR_ERR3_MASK)
  62567. /*! @} */
  62568. /*! @name ERR_STAT_EN - Error Interrupt Status Enable Register */
  62569. /*! @{ */
  62570. #define MECC_ERR_STAT_EN_SINGLE_ERR0_STAT_EN_MASK (0x1U)
  62571. #define MECC_ERR_STAT_EN_SINGLE_ERR0_STAT_EN_SHIFT (0U)
  62572. /*! SINGLE_ERR0_STAT_EN - Single Bit Error Status Enable On OCRAM Bank0
  62573. * 0b0..Disabled
  62574. * 0b1..Enabled
  62575. */
  62576. #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)
  62577. #define MECC_ERR_STAT_EN_SINGLE_ERR1_STAT_EN_MASK (0x2U)
  62578. #define MECC_ERR_STAT_EN_SINGLE_ERR1_STAT_EN_SHIFT (1U)
  62579. /*! SINGLE_ERR1_STAT_EN - Single Bit Error Status Enable On OCRAM Bank1
  62580. * 0b0..Disabled
  62581. * 0b1..Enabled
  62582. */
  62583. #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)
  62584. #define MECC_ERR_STAT_EN_SINGLE_ERR2_STAT_EN_MASK (0x4U)
  62585. #define MECC_ERR_STAT_EN_SINGLE_ERR2_STAT_EN_SHIFT (2U)
  62586. /*! SINGLE_ERR2_STAT_EN - Single Bit Error Status Enable On OCRAM Bank2
  62587. * 0b0..Disabled
  62588. * 0b1..Enabled
  62589. */
  62590. #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)
  62591. #define MECC_ERR_STAT_EN_SINGLE_ERR3_STAT_EN_MASK (0x8U)
  62592. #define MECC_ERR_STAT_EN_SINGLE_ERR3_STAT_EN_SHIFT (3U)
  62593. /*! SINGLE_ERR3_STAT_EN - Single Bit Error Status Enable On OCRAM Bank3
  62594. * 0b0..Disabled
  62595. * 0b1..Enabled
  62596. */
  62597. #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)
  62598. #define MECC_ERR_STAT_EN_MULTI_ERR0_STAT_EN_MASK (0x10U)
  62599. #define MECC_ERR_STAT_EN_MULTI_ERR0_STAT_EN_SHIFT (4U)
  62600. /*! MULTI_ERR0_STAT_EN - Multiple Bits Error Status Enable On OCRAM Bank0
  62601. * 0b0..Disabled
  62602. * 0b1..Enabled
  62603. */
  62604. #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)
  62605. #define MECC_ERR_STAT_EN_MULTI_ERR1_STAT_EN_MASK (0x20U)
  62606. #define MECC_ERR_STAT_EN_MULTI_ERR1_STAT_EN_SHIFT (5U)
  62607. /*! MULTI_ERR1_STAT_EN - Multiple Bits Error Status Enable On OCRAM Bank1
  62608. * 0b0..Disabled
  62609. * 0b1..Enabled
  62610. */
  62611. #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)
  62612. #define MECC_ERR_STAT_EN_MULTI_ERR2_STAT_EN_MASK (0x40U)
  62613. #define MECC_ERR_STAT_EN_MULTI_ERR2_STAT_EN_SHIFT (6U)
  62614. /*! MULTI_ERR2_STAT_EN - Multiple Bits Error Status Enable On OCRAM Bank2
  62615. * 0b0..Disabled
  62616. * 0b1..Enabled
  62617. */
  62618. #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)
  62619. #define MECC_ERR_STAT_EN_MULTI_ERR3_STAT_EN_MASK (0x80U)
  62620. #define MECC_ERR_STAT_EN_MULTI_ERR3_STAT_EN_SHIFT (7U)
  62621. /*! MULTI_ERR3_STAT_EN - Multiple Bits Error Status Enable On OCRAM Bank3
  62622. * 0b0..Disabled
  62623. * 0b1..Enabled
  62624. */
  62625. #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)
  62626. #define MECC_ERR_STAT_EN_STRB_ERR0_STAT_EN_MASK (0x100U)
  62627. #define MECC_ERR_STAT_EN_STRB_ERR0_STAT_EN_SHIFT (8U)
  62628. /*! STRB_ERR0_STAT_EN - AXI Strobe Error Status Enable On OCRAM Bank0
  62629. * 0b0..Disabled
  62630. * 0b1..Enabled
  62631. */
  62632. #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)
  62633. #define MECC_ERR_STAT_EN_STRB_ERR1_STAT_EN_MASK (0x200U)
  62634. #define MECC_ERR_STAT_EN_STRB_ERR1_STAT_EN_SHIFT (9U)
  62635. /*! STRB_ERR1_STAT_EN - AXI Strobe Error Status Enable On OCRAM Bank1
  62636. * 0b0..Disabled
  62637. * 0b1..Enabled
  62638. */
  62639. #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)
  62640. #define MECC_ERR_STAT_EN_STRB_ERR2_STAT_EN_MASK (0x400U)
  62641. #define MECC_ERR_STAT_EN_STRB_ERR2_STAT_EN_SHIFT (10U)
  62642. /*! STRB_ERR2_STAT_EN - AXI Strobe Error Status Enable On OCRAM Bank2
  62643. * 0b0..Disabled
  62644. * 0b1..Enabled
  62645. */
  62646. #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)
  62647. #define MECC_ERR_STAT_EN_STRB_ERR3_STAT_EN_MASK (0x800U)
  62648. #define MECC_ERR_STAT_EN_STRB_ERR3_STAT_EN_SHIFT (11U)
  62649. /*! STRB_ERR3_STAT_EN - AXI Strobe Error Status Enable On OCRAM Bank3
  62650. * 0b0..Disabled
  62651. * 0b1..Enabled
  62652. */
  62653. #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)
  62654. #define MECC_ERR_STAT_EN_ADDR_ERR0_STAT_EN_MASK (0x1000U)
  62655. #define MECC_ERR_STAT_EN_ADDR_ERR0_STAT_EN_SHIFT (12U)
  62656. /*! ADDR_ERR0_STAT_EN - OCRAM Access Error Status Enable On Bank0
  62657. * 0b0..Disabled
  62658. * 0b1..Enabled
  62659. */
  62660. #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)
  62661. #define MECC_ERR_STAT_EN_ADDR_ERR1_STAT_EN_MASK (0x2000U)
  62662. #define MECC_ERR_STAT_EN_ADDR_ERR1_STAT_EN_SHIFT (13U)
  62663. /*! ADDR_ERR1_STAT_EN - OCRAM Access Error Status Enable On Bank1
  62664. * 0b0..Disabled
  62665. * 0b1..Enabled
  62666. */
  62667. #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)
  62668. #define MECC_ERR_STAT_EN_ADDR_ERR2_STAT_EN_MASK (0x4000U)
  62669. #define MECC_ERR_STAT_EN_ADDR_ERR2_STAT_EN_SHIFT (14U)
  62670. /*! ADDR_ERR2_STAT_EN - OCRAM Access Error Status Enable On Bank2
  62671. * 0b0..Disabled
  62672. * 0b1..Enabled
  62673. */
  62674. #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)
  62675. #define MECC_ERR_STAT_EN_ADDR_ERR3_STAT_EN_MASK (0x8000U)
  62676. #define MECC_ERR_STAT_EN_ADDR_ERR3_STAT_EN_SHIFT (15U)
  62677. /*! ADDR_ERR3_STAT_EN - OCRAM Access Error Status Enable On Bank3
  62678. * 0b0..Disabled
  62679. * 0b1..Enabled
  62680. */
  62681. #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)
  62682. /*! @} */
  62683. /*! @name ERR_SIG_EN - Error Interrupt Enable Register */
  62684. /*! @{ */
  62685. #define MECC_ERR_SIG_EN_SINGLE_ERR0_SIG_EN_MASK (0x1U)
  62686. #define MECC_ERR_SIG_EN_SINGLE_ERR0_SIG_EN_SHIFT (0U)
  62687. /*! SINGLE_ERR0_SIG_EN - Single Bit Error Interrupt Enable On OCRAM Bank0
  62688. * 0b0..Disabled
  62689. * 0b1..Enabled
  62690. */
  62691. #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)
  62692. #define MECC_ERR_SIG_EN_SINGLE_ERR1_SIG_EN_MASK (0x2U)
  62693. #define MECC_ERR_SIG_EN_SINGLE_ERR1_SIG_EN_SHIFT (1U)
  62694. /*! SINGLE_ERR1_SIG_EN - Single Bit Error Interrupt Enable On OCRAM Bank1
  62695. * 0b0..Disabled
  62696. * 0b1..Enabled
  62697. */
  62698. #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)
  62699. #define MECC_ERR_SIG_EN_SINGLE_ERR2_SIG_EN_MASK (0x4U)
  62700. #define MECC_ERR_SIG_EN_SINGLE_ERR2_SIG_EN_SHIFT (2U)
  62701. /*! SINGLE_ERR2_SIG_EN - Single Bit Error Interrupt Enable On OCRAM Bank2
  62702. * 0b0..Disabled
  62703. * 0b1..Enabled
  62704. */
  62705. #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)
  62706. #define MECC_ERR_SIG_EN_SINGLE_ERR3_SIG_EN_MASK (0x8U)
  62707. #define MECC_ERR_SIG_EN_SINGLE_ERR3_SIG_EN_SHIFT (3U)
  62708. /*! SINGLE_ERR3_SIG_EN - Single Bit Error Interrupt Enable On OCRAM Bank3
  62709. * 0b0..Disabled
  62710. * 0b1..Enabled
  62711. */
  62712. #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)
  62713. #define MECC_ERR_SIG_EN_MULTI_ERR0_SIG_EN_MASK (0x10U)
  62714. #define MECC_ERR_SIG_EN_MULTI_ERR0_SIG_EN_SHIFT (4U)
  62715. /*! MULTI_ERR0_SIG_EN - Multiple Bits Error Interrupt Enable On OCRAM Bank0
  62716. * 0b0..Disabled
  62717. * 0b1..Enabled
  62718. */
  62719. #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)
  62720. #define MECC_ERR_SIG_EN_MULTI_ERR1_SIG_EN_MASK (0x20U)
  62721. #define MECC_ERR_SIG_EN_MULTI_ERR1_SIG_EN_SHIFT (5U)
  62722. /*! MULTI_ERR1_SIG_EN - Multiple Bits Error Interrupt Enable On OCRAM Bank1
  62723. * 0b0..Disabled
  62724. * 0b1..Enabled
  62725. */
  62726. #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)
  62727. #define MECC_ERR_SIG_EN_MULTI_ERR2_SIG_EN_MASK (0x40U)
  62728. #define MECC_ERR_SIG_EN_MULTI_ERR2_SIG_EN_SHIFT (6U)
  62729. /*! MULTI_ERR2_SIG_EN - Multiple Bits Error Interrupt Enable On OCRAM Bank2
  62730. * 0b0..Disabled
  62731. * 0b1..Enabled
  62732. */
  62733. #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)
  62734. #define MECC_ERR_SIG_EN_MULTI_ERR3_SIG_EN_MASK (0x80U)
  62735. #define MECC_ERR_SIG_EN_MULTI_ERR3_SIG_EN_SHIFT (7U)
  62736. /*! MULTI_ERR3_SIG_EN - Multiple Bits Error Interrupt Enable On OCRAM Bank3
  62737. * 0b0..Disabled
  62738. * 0b1..Enabled
  62739. */
  62740. #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)
  62741. #define MECC_ERR_SIG_EN_STRB_ERR0_SIG_EN_MASK (0x100U)
  62742. #define MECC_ERR_SIG_EN_STRB_ERR0_SIG_EN_SHIFT (8U)
  62743. /*! STRB_ERR0_SIG_EN - AXI Strobe Error Interrupt Enable On OCRAM Bank0
  62744. * 0b0..Disabled
  62745. * 0b1..Enabled
  62746. */
  62747. #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)
  62748. #define MECC_ERR_SIG_EN_STRB_ERR1_SIG_EN_MASK (0x200U)
  62749. #define MECC_ERR_SIG_EN_STRB_ERR1_SIG_EN_SHIFT (9U)
  62750. /*! STRB_ERR1_SIG_EN - AXI Strobe Error Interrupt Enable On OCRAM Bank1
  62751. * 0b0..Disabled
  62752. * 0b1..Enabled
  62753. */
  62754. #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)
  62755. #define MECC_ERR_SIG_EN_STRB_ERR2_SIG_EN_MASK (0x400U)
  62756. #define MECC_ERR_SIG_EN_STRB_ERR2_SIG_EN_SHIFT (10U)
  62757. /*! STRB_ERR2_SIG_EN - AXI Strobe Error Interrupt Enable On OCRAM Bank2
  62758. * 0b0..Disabled
  62759. * 0b1..Enabled
  62760. */
  62761. #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)
  62762. #define MECC_ERR_SIG_EN_STRB_ERR3_SIG_EN_MASK (0x800U)
  62763. #define MECC_ERR_SIG_EN_STRB_ERR3_SIG_EN_SHIFT (11U)
  62764. /*! STRB_ERR3_SIG_EN - AXI Strobe Error Interrupt Enable On OCRAM Bank3
  62765. * 0b0..Disabled
  62766. * 0b1..Enabled
  62767. */
  62768. #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)
  62769. #define MECC_ERR_SIG_EN_ADDR_ERR0_SIG_EN_MASK (0x1000U)
  62770. #define MECC_ERR_SIG_EN_ADDR_ERR0_SIG_EN_SHIFT (12U)
  62771. /*! ADDR_ERR0_SIG_EN - OCRAM Access Error Interrupt Enable On Bank0
  62772. * 0b0..Disabled
  62773. * 0b1..Enabled
  62774. */
  62775. #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)
  62776. #define MECC_ERR_SIG_EN_ADDR_ERR1_SIG_EN_MASK (0x2000U)
  62777. #define MECC_ERR_SIG_EN_ADDR_ERR1_SIG_EN_SHIFT (13U)
  62778. /*! ADDR_ERR1_SIG_EN - OCRAM Access Error Interrupt Enable On Bank1
  62779. * 0b0..Disabled
  62780. * 0b1..Enabled
  62781. */
  62782. #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)
  62783. #define MECC_ERR_SIG_EN_ADDR_ERR2_SIG_EN_MASK (0x4000U)
  62784. #define MECC_ERR_SIG_EN_ADDR_ERR2_SIG_EN_SHIFT (14U)
  62785. /*! ADDR_ERR2_SIG_EN - OCRAM Access Error Interrupt Enable On Bank2
  62786. * 0b0..Disabled
  62787. * 0b1..Enabled
  62788. */
  62789. #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)
  62790. #define MECC_ERR_SIG_EN_ADDR_ERR3_SIG_EN_MASK (0x8000U)
  62791. #define MECC_ERR_SIG_EN_ADDR_ERR3_SIG_EN_SHIFT (15U)
  62792. /*! ADDR_ERR3_SIG_EN - OCRAM Access Error Interrupt Enable On Bank3
  62793. * 0b0..Disabled
  62794. * 0b1..Enabled
  62795. */
  62796. #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)
  62797. /*! @} */
  62798. /*! @name ERR_DATA_INJ_LOW0 - Error Injection On LOW 32 bits Of OCRAM Bank0 Write Data */
  62799. /*! @{ */
  62800. #define MECC_ERR_DATA_INJ_LOW0_ERR_DATA_INJ_MASK (0xFFFFFFFFU)
  62801. #define MECC_ERR_DATA_INJ_LOW0_ERR_DATA_INJ_SHIFT (0U)
  62802. /*! ERR_DATA_INJ - Error Injection On LOW 32 bits Of OCRAM Bank0 Write Data
  62803. */
  62804. #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)
  62805. /*! @} */
  62806. /*! @name ERR_DATA_INJ_HIGH0 - Error Injection On HIGH 32 bits Of OCRAM Bank0 Write Data */
  62807. /*! @{ */
  62808. #define MECC_ERR_DATA_INJ_HIGH0_ERR_DATA_INJ_MASK (0xFFFFFFFFU)
  62809. #define MECC_ERR_DATA_INJ_HIGH0_ERR_DATA_INJ_SHIFT (0U)
  62810. /*! ERR_DATA_INJ - Error Injection On HIGH 32 bits Of OCRAM Bank0 Write Data
  62811. */
  62812. #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)
  62813. /*! @} */
  62814. /*! @name ERR_ECC_INJ0 - Error Injection On 8 bits ECC code Of OCRAM Bank0 Write Data */
  62815. /*! @{ */
  62816. #define MECC_ERR_ECC_INJ0_ERR_ECC_INJ_MASK (0xFFU)
  62817. #define MECC_ERR_ECC_INJ0_ERR_ECC_INJ_SHIFT (0U)
  62818. /*! ERR_ECC_INJ - Error Injection On 8 bits ECC code Of OCRAM Bank0 Write Data
  62819. */
  62820. #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)
  62821. /*! @} */
  62822. /*! @name ERR_DATA_INJ_LOW1 - Error Injection On LOW 32 bits Of OCRAM Bank1 Write Data */
  62823. /*! @{ */
  62824. #define MECC_ERR_DATA_INJ_LOW1_ERR_DATA_INJ_MASK (0xFFFFFFFFU)
  62825. #define MECC_ERR_DATA_INJ_LOW1_ERR_DATA_INJ_SHIFT (0U)
  62826. /*! ERR_DATA_INJ - Error Injection On LOW 32 bits Of OCRAM Bank1 Write Data
  62827. */
  62828. #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)
  62829. /*! @} */
  62830. /*! @name ERR_DATA_INJ_HIGH1 - Error Injection On HIGH 32 bits Of OCRAM Bank1 Write Data */
  62831. /*! @{ */
  62832. #define MECC_ERR_DATA_INJ_HIGH1_ERR_DATA_INJ_MASK (0xFFFFFFFFU)
  62833. #define MECC_ERR_DATA_INJ_HIGH1_ERR_DATA_INJ_SHIFT (0U)
  62834. /*! ERR_DATA_INJ - Error Injection On HIGH 32 bits Of OCRAM Bank1 Write Data
  62835. */
  62836. #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)
  62837. /*! @} */
  62838. /*! @name ERR_ECC_INJ1 - Error Injection On 8 bits ECC code Of OCRAM Bank1 Write Data */
  62839. /*! @{ */
  62840. #define MECC_ERR_ECC_INJ1_ERR_ECC_INJ_MASK (0xFFU)
  62841. #define MECC_ERR_ECC_INJ1_ERR_ECC_INJ_SHIFT (0U)
  62842. /*! ERR_ECC_INJ - Error Injection On 8 bits ECC code Of OCRAM Bank1 Write Data
  62843. */
  62844. #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)
  62845. /*! @} */
  62846. /*! @name ERR_DATA_INJ_LOW2 - Error Injection On LOW 32 bits Of OCRAM Bank2 Write Data */
  62847. /*! @{ */
  62848. #define MECC_ERR_DATA_INJ_LOW2_ERR_DATA_INJ_MASK (0xFFFFFFFFU)
  62849. #define MECC_ERR_DATA_INJ_LOW2_ERR_DATA_INJ_SHIFT (0U)
  62850. /*! ERR_DATA_INJ - Error Injection On LOW 32 bits Of OCRAM Bank2 Write Data
  62851. */
  62852. #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)
  62853. /*! @} */
  62854. /*! @name ERR_DATA_INJ_HIGH2 - Error Injection On HIGH 32 bits Of OCRAM Bank2 Write Data */
  62855. /*! @{ */
  62856. #define MECC_ERR_DATA_INJ_HIGH2_ERR_DATA_INJ_MASK (0xFFFFFFFFU)
  62857. #define MECC_ERR_DATA_INJ_HIGH2_ERR_DATA_INJ_SHIFT (0U)
  62858. /*! ERR_DATA_INJ - Error Injection On HIGH 32 bits Of OCRAM Bank2 Write Data
  62859. */
  62860. #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)
  62861. /*! @} */
  62862. /*! @name ERR_ECC_INJ2 - Error Injection On 8 bits ECC code Of OCRAM Bank2 Write Data */
  62863. /*! @{ */
  62864. #define MECC_ERR_ECC_INJ2_ERR_ECC_INJ_MASK (0xFFU)
  62865. #define MECC_ERR_ECC_INJ2_ERR_ECC_INJ_SHIFT (0U)
  62866. /*! ERR_ECC_INJ - Error Injection On 8 bits ECC code Of OCRAM Bank2 Write Data
  62867. */
  62868. #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)
  62869. /*! @} */
  62870. /*! @name ERR_DATA_INJ_LOW3 - Error Injection On LOW 32 bits Of OCRAM Bank3 Write Data */
  62871. /*! @{ */
  62872. #define MECC_ERR_DATA_INJ_LOW3_ERR_DATA_INJ_MASK (0xFFFFFFFFU)
  62873. #define MECC_ERR_DATA_INJ_LOW3_ERR_DATA_INJ_SHIFT (0U)
  62874. /*! ERR_DATA_INJ - Error Injection On LOW 32 bits Of OCRAM Bank3 Write Data
  62875. */
  62876. #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)
  62877. /*! @} */
  62878. /*! @name ERR_DATA_INJ_HIGH3 - Error Injection On HIGH 32 bits Of OCRAM Bank3 Write Data */
  62879. /*! @{ */
  62880. #define MECC_ERR_DATA_INJ_HIGH3_ERR_DATA_INJ_MASK (0xFFFFFFFFU)
  62881. #define MECC_ERR_DATA_INJ_HIGH3_ERR_DATA_INJ_SHIFT (0U)
  62882. /*! ERR_DATA_INJ - Error Injection On HIGH 32 bits Of OCRAM Bank3 Write Data
  62883. */
  62884. #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)
  62885. /*! @} */
  62886. /*! @name ERR_ECC_INJ3 - Error Injection On 8 bits ECC code Of OCRAM Bank3 Write Data */
  62887. /*! @{ */
  62888. #define MECC_ERR_ECC_INJ3_ERR_ECC_INJ_MASK (0xFFU)
  62889. #define MECC_ERR_ECC_INJ3_ERR_ECC_INJ_SHIFT (0U)
  62890. /*! ERR_ECC_INJ - Error Injection On 8 bits ECC code Of OCRAM Bank3 Write Data
  62891. */
  62892. #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)
  62893. /*! @} */
  62894. /*! @name SINGLE_ERR_ADDR_ECC0 - Single Error Address And ECC code On OCRAM Bank0 */
  62895. /*! @{ */
  62896. #define MECC_SINGLE_ERR_ADDR_ECC0_SINGLE_ERR_ECC_MASK (0xFFU)
  62897. #define MECC_SINGLE_ERR_ADDR_ECC0_SINGLE_ERR_ECC_SHIFT (0U)
  62898. /*! SINGLE_ERR_ECC - Single Error ECC code On OCRAM Bank0
  62899. */
  62900. #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)
  62901. #define MECC_SINGLE_ERR_ADDR_ECC0_SINGLE_ERR_ADDR_MASK (0x7FFFF00U)
  62902. #define MECC_SINGLE_ERR_ADDR_ECC0_SINGLE_ERR_ADDR_SHIFT (8U)
  62903. /*! SINGLE_ERR_ADDR - Single Error Address On OCRAM Bank0
  62904. */
  62905. #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)
  62906. /*! @} */
  62907. /*! @name SINGLE_ERR_DATA_LOW0 - LOW 32 Bits Single Error Read Data On OCRAM Bank0 */
  62908. /*! @{ */
  62909. #define MECC_SINGLE_ERR_DATA_LOW0_SINGLE_ERR_DATA_MASK (0xFFFFFFFFU)
  62910. #define MECC_SINGLE_ERR_DATA_LOW0_SINGLE_ERR_DATA_SHIFT (0U)
  62911. /*! SINGLE_ERR_DATA - LOW 32 Bits Single Error Read Data On OCRAM Bank0
  62912. */
  62913. #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)
  62914. /*! @} */
  62915. /*! @name SINGLE_ERR_DATA_HIGH0 - HIGH 32 Bits Single Error Read Data On OCRAM Bank0 */
  62916. /*! @{ */
  62917. #define MECC_SINGLE_ERR_DATA_HIGH0_SINGLE_ERR_DATA_MASK (0xFFFFFFFFU)
  62918. #define MECC_SINGLE_ERR_DATA_HIGH0_SINGLE_ERR_DATA_SHIFT (0U)
  62919. /*! SINGLE_ERR_DATA - HIGH 32 Bits Single Error Read Data On OCRAM Bank0
  62920. */
  62921. #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)
  62922. /*! @} */
  62923. /*! @name SINGLE_ERR_POS_LOW0 - LOW Single Error Bit Position On OCRAM Bank0 */
  62924. /*! @{ */
  62925. #define MECC_SINGLE_ERR_POS_LOW0_SINGLE_ERR_POS_MASK (0xFFFFFFFFU)
  62926. #define MECC_SINGLE_ERR_POS_LOW0_SINGLE_ERR_POS_SHIFT (0U)
  62927. /*! SINGLE_ERR_POS - LOW Single Error Bit Position On OCRAM Bank0
  62928. */
  62929. #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)
  62930. /*! @} */
  62931. /*! @name SINGLE_ERR_POS_HIGH0 - HIGH Single Error Bit Position On OCRAM Bank0 */
  62932. /*! @{ */
  62933. #define MECC_SINGLE_ERR_POS_HIGH0_SINGLE_ERR_POS_MASK (0xFFFFFFFFU)
  62934. #define MECC_SINGLE_ERR_POS_HIGH0_SINGLE_ERR_POS_SHIFT (0U)
  62935. /*! SINGLE_ERR_POS - HIGH Single Error Bit Position On OCRAM Bank0
  62936. */
  62937. #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)
  62938. /*! @} */
  62939. /*! @name SINGLE_ERR_ADDR_ECC1 - Single Error Address And ECC code On OCRAM Bank1 */
  62940. /*! @{ */
  62941. #define MECC_SINGLE_ERR_ADDR_ECC1_SINGLE_ERR_ECC_MASK (0xFFU)
  62942. #define MECC_SINGLE_ERR_ADDR_ECC1_SINGLE_ERR_ECC_SHIFT (0U)
  62943. /*! SINGLE_ERR_ECC - Single Error ECC code On OCRAM Bank1
  62944. */
  62945. #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)
  62946. #define MECC_SINGLE_ERR_ADDR_ECC1_SINGLE_ERR_ADDR_MASK (0x7FFFF00U)
  62947. #define MECC_SINGLE_ERR_ADDR_ECC1_SINGLE_ERR_ADDR_SHIFT (8U)
  62948. /*! SINGLE_ERR_ADDR - Single Error Address On OCRAM Bank1
  62949. */
  62950. #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)
  62951. /*! @} */
  62952. /*! @name SINGLE_ERR_DATA_LOW1 - LOW 32 Bits Single Error Read Data On OCRAM Bank1 */
  62953. /*! @{ */
  62954. #define MECC_SINGLE_ERR_DATA_LOW1_SINGLE_ERR_DATA_MASK (0xFFFFFFFFU)
  62955. #define MECC_SINGLE_ERR_DATA_LOW1_SINGLE_ERR_DATA_SHIFT (0U)
  62956. /*! SINGLE_ERR_DATA - LOW 32 Bits Single Error Read Data On OCRAM Bank1
  62957. */
  62958. #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)
  62959. /*! @} */
  62960. /*! @name SINGLE_ERR_DATA_HIGH1 - HIGH 32 Bits Single Error Read Data On OCRAM Bank1 */
  62961. /*! @{ */
  62962. #define MECC_SINGLE_ERR_DATA_HIGH1_SINGLE_ERR_DATA_MASK (0xFFFFFFFFU)
  62963. #define MECC_SINGLE_ERR_DATA_HIGH1_SINGLE_ERR_DATA_SHIFT (0U)
  62964. /*! SINGLE_ERR_DATA - HIGH 32 Bits Single Error Read Data On OCRAM Bank1
  62965. */
  62966. #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)
  62967. /*! @} */
  62968. /*! @name SINGLE_ERR_POS_LOW1 - LOW Single Error Bit Position On OCRAM Bank1 */
  62969. /*! @{ */
  62970. #define MECC_SINGLE_ERR_POS_LOW1_SINGLE_ERR_POS_MASK (0xFFFFFFFFU)
  62971. #define MECC_SINGLE_ERR_POS_LOW1_SINGLE_ERR_POS_SHIFT (0U)
  62972. /*! SINGLE_ERR_POS - LOW Single Error Bit Position On OCRAM Bank1
  62973. */
  62974. #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)
  62975. /*! @} */
  62976. /*! @name SINGLE_ERR_POS_HIGH1 - HIGH Single Error Bit Position On OCRAM Bank1 */
  62977. /*! @{ */
  62978. #define MECC_SINGLE_ERR_POS_HIGH1_SINGLE_ERR_POS_MASK (0xFFFFFFFFU)
  62979. #define MECC_SINGLE_ERR_POS_HIGH1_SINGLE_ERR_POS_SHIFT (0U)
  62980. /*! SINGLE_ERR_POS - HIGH Single Error Bit Position On OCRAM Bank1
  62981. */
  62982. #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)
  62983. /*! @} */
  62984. /*! @name SINGLE_ERR_ADDR_ECC2 - Single Error Address And ECC code On OCRAM Bank2 */
  62985. /*! @{ */
  62986. #define MECC_SINGLE_ERR_ADDR_ECC2_SINGLE_ERR_ECC_MASK (0xFFU)
  62987. #define MECC_SINGLE_ERR_ADDR_ECC2_SINGLE_ERR_ECC_SHIFT (0U)
  62988. /*! SINGLE_ERR_ECC - Single Error ECC code On OCRAM Bank2
  62989. */
  62990. #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)
  62991. #define MECC_SINGLE_ERR_ADDR_ECC2_SINGLE_ERR_ADDR_MASK (0x7FFFF00U)
  62992. #define MECC_SINGLE_ERR_ADDR_ECC2_SINGLE_ERR_ADDR_SHIFT (8U)
  62993. /*! SINGLE_ERR_ADDR - Single Error Address On OCRAM Bank2
  62994. */
  62995. #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)
  62996. /*! @} */
  62997. /*! @name SINGLE_ERR_DATA_LOW2 - LOW 32 Bits Single Error Read Data On OCRAM Bank2 */
  62998. /*! @{ */
  62999. #define MECC_SINGLE_ERR_DATA_LOW2_SINGLE_ERR_DATA_MASK (0xFFFFFFFFU)
  63000. #define MECC_SINGLE_ERR_DATA_LOW2_SINGLE_ERR_DATA_SHIFT (0U)
  63001. /*! SINGLE_ERR_DATA - LOW 32 Bits Single Error Read Data On OCRAM Bank2
  63002. */
  63003. #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)
  63004. /*! @} */
  63005. /*! @name SINGLE_ERR_DATA_HIGH2 - HIGH 32 Bits Single Error Read Data On OCRAM Bank2 */
  63006. /*! @{ */
  63007. #define MECC_SINGLE_ERR_DATA_HIGH2_SINGLE_ERR_DATA_MASK (0xFFFFFFFFU)
  63008. #define MECC_SINGLE_ERR_DATA_HIGH2_SINGLE_ERR_DATA_SHIFT (0U)
  63009. /*! SINGLE_ERR_DATA - HIGH 32 Bits Single Error Read Data On OCRAM Bank2
  63010. */
  63011. #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)
  63012. /*! @} */
  63013. /*! @name SINGLE_ERR_POS_LOW2 - LOW Single Error Bit Position On OCRAM Bank2 */
  63014. /*! @{ */
  63015. #define MECC_SINGLE_ERR_POS_LOW2_SINGLE_ERR_POS_MASK (0xFFFFFFFFU)
  63016. #define MECC_SINGLE_ERR_POS_LOW2_SINGLE_ERR_POS_SHIFT (0U)
  63017. /*! SINGLE_ERR_POS - LOW Single Error Bit Position On OCRAM Bank2
  63018. */
  63019. #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)
  63020. /*! @} */
  63021. /*! @name SINGLE_ERR_POS_HIGH2 - HIGH Single Error Bit Position On OCRAM Bank2 */
  63022. /*! @{ */
  63023. #define MECC_SINGLE_ERR_POS_HIGH2_SINGLE_ERR_POS_MASK (0xFFFFFFFFU)
  63024. #define MECC_SINGLE_ERR_POS_HIGH2_SINGLE_ERR_POS_SHIFT (0U)
  63025. /*! SINGLE_ERR_POS - HIGH Single Error Bit Position On OCRAM Bank2
  63026. */
  63027. #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)
  63028. /*! @} */
  63029. /*! @name SINGLE_ERR_ADDR_ECC3 - Single Error Address And ECC code On OCRAM Bank3 */
  63030. /*! @{ */
  63031. #define MECC_SINGLE_ERR_ADDR_ECC3_SINGLE_ERR_ECC_MASK (0xFFU)
  63032. #define MECC_SINGLE_ERR_ADDR_ECC3_SINGLE_ERR_ECC_SHIFT (0U)
  63033. /*! SINGLE_ERR_ECC - Single Error ECC code On OCRAM Bank3
  63034. */
  63035. #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)
  63036. #define MECC_SINGLE_ERR_ADDR_ECC3_SINGLE_ERR_ADDR_MASK (0x7FFFF00U)
  63037. #define MECC_SINGLE_ERR_ADDR_ECC3_SINGLE_ERR_ADDR_SHIFT (8U)
  63038. /*! SINGLE_ERR_ADDR - Single Error Address On OCRAM Bank3
  63039. */
  63040. #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)
  63041. /*! @} */
  63042. /*! @name SINGLE_ERR_DATA_LOW3 - LOW 32 Bits Single Error Read Data On OCRAM Bank3 */
  63043. /*! @{ */
  63044. #define MECC_SINGLE_ERR_DATA_LOW3_SINGLE_ERR_DATA_MASK (0xFFFFFFFFU)
  63045. #define MECC_SINGLE_ERR_DATA_LOW3_SINGLE_ERR_DATA_SHIFT (0U)
  63046. /*! SINGLE_ERR_DATA - LOW 32 Bits Single Error Read Data On OCRAM Bank3
  63047. */
  63048. #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)
  63049. /*! @} */
  63050. /*! @name SINGLE_ERR_DATA_HIGH3 - HIGH 32 Bits Single Error Read Data On OCRAM Bank3 */
  63051. /*! @{ */
  63052. #define MECC_SINGLE_ERR_DATA_HIGH3_SINGLE_ERR_DATA_MASK (0xFFFFFFFFU)
  63053. #define MECC_SINGLE_ERR_DATA_HIGH3_SINGLE_ERR_DATA_SHIFT (0U)
  63054. /*! SINGLE_ERR_DATA - HIGH 32 Bits Single Error Read Data On OCRAM Bank3
  63055. */
  63056. #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)
  63057. /*! @} */
  63058. /*! @name SINGLE_ERR_POS_LOW3 - LOW Single Error Bit Position On OCRAM Bank3 */
  63059. /*! @{ */
  63060. #define MECC_SINGLE_ERR_POS_LOW3_SINGLE_ERR_POS_MASK (0xFFFFFFFFU)
  63061. #define MECC_SINGLE_ERR_POS_LOW3_SINGLE_ERR_POS_SHIFT (0U)
  63062. /*! SINGLE_ERR_POS - LOW Single Error Bit Position On OCRAM Bank3
  63063. */
  63064. #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)
  63065. /*! @} */
  63066. /*! @name SINGLE_ERR_POS_HIGH3 - HIGH Single Error Bit Position On OCRAM Bank3 */
  63067. /*! @{ */
  63068. #define MECC_SINGLE_ERR_POS_HIGH3_SINGLE_ERR_POS_MASK (0xFFFFFFFFU)
  63069. #define MECC_SINGLE_ERR_POS_HIGH3_SINGLE_ERR_POS_SHIFT (0U)
  63070. /*! SINGLE_ERR_POS - HIGH Single Error Bit Position On OCRAM Bank3
  63071. */
  63072. #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)
  63073. /*! @} */
  63074. /*! @name MULTI_ERR_ADDR_ECC0 - Multiple Error Address And ECC code On OCRAM Bank0 */
  63075. /*! @{ */
  63076. #define MECC_MULTI_ERR_ADDR_ECC0_MULTI_ERR_ECC_MASK (0xFFU)
  63077. #define MECC_MULTI_ERR_ADDR_ECC0_MULTI_ERR_ECC_SHIFT (0U)
  63078. /*! MULTI_ERR_ECC - Multiple Error ECC code On OCRAM Bank0
  63079. */
  63080. #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)
  63081. #define MECC_MULTI_ERR_ADDR_ECC0_MULTI_ERR_ADDR_MASK (0x7FFFF00U)
  63082. #define MECC_MULTI_ERR_ADDR_ECC0_MULTI_ERR_ADDR_SHIFT (8U)
  63083. /*! MULTI_ERR_ADDR - Multiple Error Address On OCRAM Bank0
  63084. */
  63085. #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)
  63086. /*! @} */
  63087. /*! @name MULTI_ERR_DATA_LOW0 - LOW 32 Bits Multiple Error Read Data On OCRAM Bank0 */
  63088. /*! @{ */
  63089. #define MECC_MULTI_ERR_DATA_LOW0_MULTI_ERR_DATA_MASK (0xFFFFFFFFU)
  63090. #define MECC_MULTI_ERR_DATA_LOW0_MULTI_ERR_DATA_SHIFT (0U)
  63091. /*! MULTI_ERR_DATA - LOW 32 Bits Multiple Error Read Data On OCRAM Bank0
  63092. */
  63093. #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)
  63094. /*! @} */
  63095. /*! @name MULTI_ERR_DATA_HIGH0 - HIGH 32 Bits Multiple Error Read Data On OCRAM Bank0 */
  63096. /*! @{ */
  63097. #define MECC_MULTI_ERR_DATA_HIGH0_MULTI_ERR_DATA_MASK (0xFFFFFFFFU)
  63098. #define MECC_MULTI_ERR_DATA_HIGH0_MULTI_ERR_DATA_SHIFT (0U)
  63099. /*! MULTI_ERR_DATA - HIGH 32 Bits Multiple Error Read Data On OCRAM Bank0
  63100. */
  63101. #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)
  63102. /*! @} */
  63103. /*! @name MULTI_ERR_ADDR_ECC1 - Multiple Error Address And ECC code On OCRAM Bank1 */
  63104. /*! @{ */
  63105. #define MECC_MULTI_ERR_ADDR_ECC1_MULTI_ERR_ECC_MASK (0xFFU)
  63106. #define MECC_MULTI_ERR_ADDR_ECC1_MULTI_ERR_ECC_SHIFT (0U)
  63107. /*! MULTI_ERR_ECC - Multiple Error ECC code On OCRAM Bank1
  63108. */
  63109. #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)
  63110. #define MECC_MULTI_ERR_ADDR_ECC1_MULTI_ERR_ADDR_MASK (0x7FFFF00U)
  63111. #define MECC_MULTI_ERR_ADDR_ECC1_MULTI_ERR_ADDR_SHIFT (8U)
  63112. /*! MULTI_ERR_ADDR - Multiple Error Address On OCRAM Bank1
  63113. */
  63114. #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)
  63115. /*! @} */
  63116. /*! @name MULTI_ERR_DATA_LOW1 - LOW 32 Bits Multiple Error Read Data On OCRAM Bank1 */
  63117. /*! @{ */
  63118. #define MECC_MULTI_ERR_DATA_LOW1_MULTI_ERR_DATA_MASK (0xFFFFFFFFU)
  63119. #define MECC_MULTI_ERR_DATA_LOW1_MULTI_ERR_DATA_SHIFT (0U)
  63120. /*! MULTI_ERR_DATA - LOW 32 Bits Multiple Error Read Data On OCRAM Bank1
  63121. */
  63122. #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)
  63123. /*! @} */
  63124. /*! @name MULTI_ERR_DATA_HIGH1 - HIGH 32 Bits Multiple Error Read Data On OCRAM Bank1 */
  63125. /*! @{ */
  63126. #define MECC_MULTI_ERR_DATA_HIGH1_MULTI_ERR_DATA_MASK (0xFFFFFFFFU)
  63127. #define MECC_MULTI_ERR_DATA_HIGH1_MULTI_ERR_DATA_SHIFT (0U)
  63128. /*! MULTI_ERR_DATA - HIGH 32 Bits Multiple Error Read Data On OCRAM Bank1
  63129. */
  63130. #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)
  63131. /*! @} */
  63132. /*! @name MULTI_ERR_ADDR_ECC2 - Multiple Error Address And ECC code On OCRAM Bank2 */
  63133. /*! @{ */
  63134. #define MECC_MULTI_ERR_ADDR_ECC2_MULTI_ERR_ECC_MASK (0xFFU)
  63135. #define MECC_MULTI_ERR_ADDR_ECC2_MULTI_ERR_ECC_SHIFT (0U)
  63136. /*! MULTI_ERR_ECC - Multiple Error ECC code On OCRAM Bank2
  63137. */
  63138. #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)
  63139. #define MECC_MULTI_ERR_ADDR_ECC2_MULTI_ERR_ADDR_MASK (0x7FFFF00U)
  63140. #define MECC_MULTI_ERR_ADDR_ECC2_MULTI_ERR_ADDR_SHIFT (8U)
  63141. /*! MULTI_ERR_ADDR - Multiple Error Address On OCRAM Bank2
  63142. */
  63143. #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)
  63144. /*! @} */
  63145. /*! @name MULTI_ERR_DATA_LOW2 - LOW 32 Bits Multiple Error Read Data On OCRAM Bank2 */
  63146. /*! @{ */
  63147. #define MECC_MULTI_ERR_DATA_LOW2_MULTI_ERR_DATA_MASK (0xFFFFFFFFU)
  63148. #define MECC_MULTI_ERR_DATA_LOW2_MULTI_ERR_DATA_SHIFT (0U)
  63149. /*! MULTI_ERR_DATA - LOW 32 Bits Multiple Error Read Data On OCRAM Bank2
  63150. */
  63151. #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)
  63152. /*! @} */
  63153. /*! @name MULTI_ERR_DATA_HIGH2 - HIGH 32 Bits Multiple Error Read Data On OCRAM Bank2 */
  63154. /*! @{ */
  63155. #define MECC_MULTI_ERR_DATA_HIGH2_MULTI_ERR_DATA_MASK (0xFFFFFFFFU)
  63156. #define MECC_MULTI_ERR_DATA_HIGH2_MULTI_ERR_DATA_SHIFT (0U)
  63157. /*! MULTI_ERR_DATA - HIGH 32 Bits Multiple Error Read Data On OCRAM Bank2
  63158. */
  63159. #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)
  63160. /*! @} */
  63161. /*! @name MULTI_ERR_ADDR_ECC3 - Multiple Error Address And ECC code On OCRAM Bank3 */
  63162. /*! @{ */
  63163. #define MECC_MULTI_ERR_ADDR_ECC3_MULTI_ERR_ECC_MASK (0xFFU)
  63164. #define MECC_MULTI_ERR_ADDR_ECC3_MULTI_ERR_ECC_SHIFT (0U)
  63165. /*! MULTI_ERR_ECC - Multiple Error ECC code On OCRAM Bank3
  63166. */
  63167. #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)
  63168. #define MECC_MULTI_ERR_ADDR_ECC3_MULTI_ERR_ADDR_MASK (0x7FFFF00U)
  63169. #define MECC_MULTI_ERR_ADDR_ECC3_MULTI_ERR_ADDR_SHIFT (8U)
  63170. /*! MULTI_ERR_ADDR - Multiple Error Address On OCRAM Bank3
  63171. */
  63172. #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)
  63173. /*! @} */
  63174. /*! @name MULTI_ERR_DATA_LOW3 - LOW 32 Bits Multiple Error Read Data On OCRAM Bank3 */
  63175. /*! @{ */
  63176. #define MECC_MULTI_ERR_DATA_LOW3_MULTI_ERR_DATA_MASK (0xFFFFFFFFU)
  63177. #define MECC_MULTI_ERR_DATA_LOW3_MULTI_ERR_DATA_SHIFT (0U)
  63178. /*! MULTI_ERR_DATA - LOW 32 Bits Multiple Error Read Data On OCRAM Bank3
  63179. */
  63180. #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)
  63181. /*! @} */
  63182. /*! @name MULTI_ERR_DATA_HIGH3 - HIGH 32 Bits Multiple Error Read Data On OCRAM Bank3 */
  63183. /*! @{ */
  63184. #define MECC_MULTI_ERR_DATA_HIGH3_MULTI_ERR_DATA_MASK (0xFFFFFFFFU)
  63185. #define MECC_MULTI_ERR_DATA_HIGH3_MULTI_ERR_DATA_SHIFT (0U)
  63186. /*! MULTI_ERR_DATA - HIGH 32 Bits Multiple Error Read Data On OCRAM Bank3
  63187. */
  63188. #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)
  63189. /*! @} */
  63190. /*! @name PIPE_ECC_EN - OCRAM Pipeline And ECC Enable */
  63191. /*! @{ */
  63192. #define MECC_PIPE_ECC_EN_READ_DATA_WAIT_EN_MASK (0x1U)
  63193. #define MECC_PIPE_ECC_EN_READ_DATA_WAIT_EN_SHIFT (0U)
  63194. /*! READ_DATA_WAIT_EN - Read Data Wait Enable
  63195. * 0b0..Disable.
  63196. * 0b1..Enable.
  63197. */
  63198. #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)
  63199. #define MECC_PIPE_ECC_EN_READ_ADDR_PIPE_EN_MASK (0x2U)
  63200. #define MECC_PIPE_ECC_EN_READ_ADDR_PIPE_EN_SHIFT (1U)
  63201. /*! READ_ADDR_PIPE_EN - Read Address Pipeline Enable
  63202. * 0b0..Disable.
  63203. * 0b1..Enable.
  63204. */
  63205. #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)
  63206. #define MECC_PIPE_ECC_EN_WRITE_DATA_PIPE_EN_MASK (0x4U)
  63207. #define MECC_PIPE_ECC_EN_WRITE_DATA_PIPE_EN_SHIFT (2U)
  63208. /*! WRITE_DATA_PIPE_EN - Write Data Pipeline Enable
  63209. * 0b0..Disable.
  63210. * 0b1..Enable.
  63211. */
  63212. #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)
  63213. #define MECC_PIPE_ECC_EN_WRITE_ADDR_PIPE_EN_MASK (0x8U)
  63214. #define MECC_PIPE_ECC_EN_WRITE_ADDR_PIPE_EN_SHIFT (3U)
  63215. /*! WRITE_ADDR_PIPE_EN - Write Address Pipeline Enable
  63216. * 0b0..Disable.
  63217. * 0b1..Enable.
  63218. */
  63219. #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)
  63220. #define MECC_PIPE_ECC_EN_ECC_EN_MASK (0x10U)
  63221. #define MECC_PIPE_ECC_EN_ECC_EN_SHIFT (4U)
  63222. /*! ECC_EN - ECC Function Enable
  63223. * 0b0..Disable.
  63224. * 0b1..Enable.
  63225. */
  63226. #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)
  63227. /*! @} */
  63228. /*! @name PENDING_STAT - Pending Status */
  63229. /*! @{ */
  63230. #define MECC_PENDING_STAT_READ_DATA_WAIT_PENDING_MASK (0x1U)
  63231. #define MECC_PENDING_STAT_READ_DATA_WAIT_PENDING_SHIFT (0U)
  63232. /*! READ_DATA_WAIT_PENDING - Read Data Wait Pending
  63233. * 0b0..No update pending status for READ_DATA_WAIT_EN.
  63234. * 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.
  63235. */
  63236. #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)
  63237. #define MECC_PENDING_STAT_READ_ADDR_PIPE_PENDING_MASK (0x2U)
  63238. #define MECC_PENDING_STAT_READ_ADDR_PIPE_PENDING_SHIFT (1U)
  63239. /*! READ_ADDR_PIPE_PENDING - Read Address Pipeline Pending
  63240. * 0b0..No update pending status for READ_ADDR_PIPE_EN.
  63241. * 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.
  63242. */
  63243. #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)
  63244. #define MECC_PENDING_STAT_WRITE_DATA_PIPE_PENDING_MASK (0x4U)
  63245. #define MECC_PENDING_STAT_WRITE_DATA_PIPE_PENDING_SHIFT (2U)
  63246. /*! WRITE_DATA_PIPE_PENDING - Write Data Pipeline Pending
  63247. * 0b0..No update pending status for WRITE_DATA_PIPE_EN.
  63248. * 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.
  63249. */
  63250. #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)
  63251. #define MECC_PENDING_STAT_WRITE_ADDR_PIPE_PENDING_MASK (0x8U)
  63252. #define MECC_PENDING_STAT_WRITE_ADDR_PIPE_PENDING_SHIFT (3U)
  63253. /*! WRITE_ADDR_PIPE_PENDING - Write Address Pipeline Pending
  63254. * 0b0..No update pending status for WRITE_ADDR_PIPE_EN.
  63255. * 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.
  63256. */
  63257. #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)
  63258. /*! @} */
  63259. /*!
  63260. * @}
  63261. */ /* end of group MECC_Register_Masks */
  63262. /* MECC - Peripheral instance base addresses */
  63263. /** Peripheral MECC1 base address */
  63264. #define MECC1_BASE (0x40014000u)
  63265. /** Peripheral MECC1 base pointer */
  63266. #define MECC1 ((MECC_Type *)MECC1_BASE)
  63267. /** Peripheral MECC2 base address */
  63268. #define MECC2_BASE (0x40018000u)
  63269. /** Peripheral MECC2 base pointer */
  63270. #define MECC2 ((MECC_Type *)MECC2_BASE)
  63271. /** Array initializer of MECC peripheral base addresses */
  63272. #define MECC_BASE_ADDRS { 0u, MECC1_BASE, MECC2_BASE }
  63273. /** Array initializer of MECC peripheral base pointers */
  63274. #define MECC_BASE_PTRS { (MECC_Type *)0u, MECC1, MECC2 }
  63275. /*!
  63276. * @}
  63277. */ /* end of group MECC_Peripheral_Access_Layer */
  63278. /* ----------------------------------------------------------------------------
  63279. -- MIPI_CSI2RX Peripheral Access Layer
  63280. ---------------------------------------------------------------------------- */
  63281. /*!
  63282. * @addtogroup MIPI_CSI2RX_Peripheral_Access_Layer MIPI_CSI2RX Peripheral Access Layer
  63283. * @{
  63284. */
  63285. /** MIPI_CSI2RX - Register Layout Typedef */
  63286. typedef struct {
  63287. uint8_t RESERVED_0[256];
  63288. __IO uint32_t CFG_NUM_LANES; /**< Lane Configuration Register, offset: 0x100 */
  63289. __IO uint32_t CFG_DISABLE_DATA_LANES; /**< Disable Data Lane Register, offset: 0x104 */
  63290. __I uint32_t BIT_ERR; /**< ECC and CRC Error Status Register, offset: 0x108 */
  63291. __I uint32_t IRQ_STATUS; /**< IRQ Status Register, offset: 0x10C */
  63292. __IO uint32_t IRQ_MASK; /**< IRQ Mask Setting Register, offset: 0x110 */
  63293. __I uint32_t ULPS_STATUS; /**< Ultra Low Power State (ULPS) Status Register, offset: 0x114 */
  63294. __I uint32_t PPI_ERRSOT_HS; /**< ERRSot HS Status Register, offset: 0x118 */
  63295. __I uint32_t PPI_ERRSOTSYNC_HS; /**< ErrSotSync HS Status Register, offset: 0x11C */
  63296. __I uint32_t PPI_ERRESC; /**< ErrEsc Status Register, offset: 0x120 */
  63297. __I uint32_t PPI_ERRSYNCESC; /**< ErrSyncEsc Status Register, offset: 0x124 */
  63298. __I uint32_t PPI_ERRCONTROL; /**< ErrControl Status Register, offset: 0x128 */
  63299. __IO uint32_t CFG_DISABLE_PAYLOAD_0; /**< Disable Payload 0 Register, offset: 0x12C */
  63300. __IO uint32_t CFG_DISABLE_PAYLOAD_1; /**< Disable Payload 1 Register, offset: 0x130 */
  63301. uint8_t RESERVED_1[76];
  63302. __IO uint32_t CFG_IGNORE_VC; /**< Ignore Virtual Channel Register, offset: 0x180 */
  63303. __IO uint32_t CFG_VID_VC; /**< Virtual Channel value Register, offset: 0x184 */
  63304. __IO uint32_t CFG_VID_P_FIFO_SEND_LEVEL; /**< FIFO Send Level Configuration Register, offset: 0x188 */
  63305. __IO uint32_t CFG_VID_VSYNC; /**< VSYNC Configuration Register, offset: 0x18C */
  63306. __IO uint32_t CFG_VID_HSYNC_FP; /**< Start of HSYNC Delay control Register, offset: 0x190 */
  63307. __IO uint32_t CFG_VID_HSYNC; /**< HSYNC Configuration Register, offset: 0x194 */
  63308. __IO uint32_t CFG_VID_HSYNC_BP; /**< End of HSYNC Delay Control Register, offset: 0x198 */
  63309. } MIPI_CSI2RX_Type;
  63310. /* ----------------------------------------------------------------------------
  63311. -- MIPI_CSI2RX Register Masks
  63312. ---------------------------------------------------------------------------- */
  63313. /*!
  63314. * @addtogroup MIPI_CSI2RX_Register_Masks MIPI_CSI2RX Register Masks
  63315. * @{
  63316. */
  63317. /*! @name CFG_NUM_LANES - Lane Configuration Register */
  63318. /*! @{ */
  63319. #define MIPI_CSI2RX_CFG_NUM_LANES_CFG_NUM_LANES_MASK (0x3U)
  63320. #define MIPI_CSI2RX_CFG_NUM_LANES_CFG_NUM_LANES_SHIFT (0U)
  63321. /*! CFG_NUM_LANES - This field is used to set the number of active lanes for receiving data.
  63322. * 0b00..1 Lane
  63323. * 0b01..2 Lane
  63324. * 0b10-0b11..Reserved
  63325. */
  63326. #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)
  63327. /*! @} */
  63328. /*! @name CFG_DISABLE_DATA_LANES - Disable Data Lane Register */
  63329. /*! @{ */
  63330. #define MIPI_CSI2RX_CFG_DISABLE_DATA_LANES_CFG_DISABLE_DATA_LANES_MASK (0xFU)
  63331. #define MIPI_CSI2RX_CFG_DISABLE_DATA_LANES_CFG_DISABLE_DATA_LANES_SHIFT (0U)
  63332. /*! CFG_DISABLE_DATA_LANES - This field is used to disable data lanes.
  63333. */
  63334. #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)
  63335. /*! @} */
  63336. /*! @name BIT_ERR - ECC and CRC Error Status Register */
  63337. /*! @{ */
  63338. #define MIPI_CSI2RX_BIT_ERR_BIT_ERR_MASK (0x3FFU)
  63339. #define MIPI_CSI2RX_BIT_ERR_BIT_ERR_SHIFT (0U)
  63340. /*! BIT_ERR - This field shows the error status of ECC and CRC
  63341. */
  63342. #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)
  63343. /*! @} */
  63344. /*! @name IRQ_STATUS - IRQ Status Register */
  63345. /*! @{ */
  63346. #define MIPI_CSI2RX_IRQ_STATUS_IRQ_STATUS_MASK (0x1FFU)
  63347. #define MIPI_CSI2RX_IRQ_STATUS_IRQ_STATUS_SHIFT (0U)
  63348. /*! IRQ_STATUS - This field shows the IRQ status
  63349. */
  63350. #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)
  63351. /*! @} */
  63352. /*! @name IRQ_MASK - IRQ Mask Setting Register */
  63353. /*! @{ */
  63354. #define MIPI_CSI2RX_IRQ_MASK_IRQ_MASK_MASK (0x1FFU)
  63355. #define MIPI_CSI2RX_IRQ_MASK_IRQ_MASK_SHIFT (0U)
  63356. /*! IRQ_MASK - This field shows the IRQ Mask setting
  63357. */
  63358. #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)
  63359. /*! @} */
  63360. /*! @name ULPS_STATUS - Ultra Low Power State (ULPS) Status Register */
  63361. /*! @{ */
  63362. #define MIPI_CSI2RX_ULPS_STATUS_STATUS_MASK (0x3FFU)
  63363. #define MIPI_CSI2RX_ULPS_STATUS_STATUS_SHIFT (0U)
  63364. /*! STATUS - This field shows the status of Rx D-PHY ULPS state
  63365. */
  63366. #define MIPI_CSI2RX_ULPS_STATUS_STATUS(x) (((uint32_t)(((uint32_t)(x)) << MIPI_CSI2RX_ULPS_STATUS_STATUS_SHIFT)) & MIPI_CSI2RX_ULPS_STATUS_STATUS_MASK)
  63367. /*! @} */
  63368. /*! @name PPI_ERRSOT_HS - ERRSot HS Status Register */
  63369. /*! @{ */
  63370. #define MIPI_CSI2RX_PPI_ERRSOT_HS_STATUS_MASK (0xFU)
  63371. #define MIPI_CSI2RX_PPI_ERRSOT_HS_STATUS_SHIFT (0U)
  63372. /*! STATUS - This field indicates PPI ErrSotHS captured status from D-PHY
  63373. */
  63374. #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)
  63375. /*! @} */
  63376. /*! @name PPI_ERRSOTSYNC_HS - ErrSotSync HS Status Register */
  63377. /*! @{ */
  63378. #define MIPI_CSI2RX_PPI_ERRSOTSYNC_HS_STATUS_MASK (0xFU)
  63379. #define MIPI_CSI2RX_PPI_ERRSOTSYNC_HS_STATUS_SHIFT (0U)
  63380. /*! STATUS - This field indicates PPI ErrSotSync_HS captured status from D-PHY
  63381. */
  63382. #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)
  63383. /*! @} */
  63384. /*! @name PPI_ERRESC - ErrEsc Status Register */
  63385. /*! @{ */
  63386. #define MIPI_CSI2RX_PPI_ERRESC_STATUS_MASK (0xFU)
  63387. #define MIPI_CSI2RX_PPI_ERRESC_STATUS_SHIFT (0U)
  63388. /*! STATUS - This field indicates PPI ErrEsc captured status from D-PHY
  63389. */
  63390. #define MIPI_CSI2RX_PPI_ERRESC_STATUS(x) (((uint32_t)(((uint32_t)(x)) << MIPI_CSI2RX_PPI_ERRESC_STATUS_SHIFT)) & MIPI_CSI2RX_PPI_ERRESC_STATUS_MASK)
  63391. /*! @} */
  63392. /*! @name PPI_ERRSYNCESC - ErrSyncEsc Status Register */
  63393. /*! @{ */
  63394. #define MIPI_CSI2RX_PPI_ERRSYNCESC_STATUS_MASK (0xFU)
  63395. #define MIPI_CSI2RX_PPI_ERRSYNCESC_STATUS_SHIFT (0U)
  63396. /*! STATUS - This field indicates PPI ErrSyncEsc captured status from D-PHY
  63397. */
  63398. #define MIPI_CSI2RX_PPI_ERRSYNCESC_STATUS(x) (((uint32_t)(((uint32_t)(x)) << MIPI_CSI2RX_PPI_ERRSYNCESC_STATUS_SHIFT)) & MIPI_CSI2RX_PPI_ERRSYNCESC_STATUS_MASK)
  63399. /*! @} */
  63400. /*! @name PPI_ERRCONTROL - ErrControl Status Register */
  63401. /*! @{ */
  63402. #define MIPI_CSI2RX_PPI_ERRCONTROL_STATUS_MASK (0xFU)
  63403. #define MIPI_CSI2RX_PPI_ERRCONTROL_STATUS_SHIFT (0U)
  63404. /*! STATUS - This field indicates PPI ErrControl captured status from D-PHY
  63405. */
  63406. #define MIPI_CSI2RX_PPI_ERRCONTROL_STATUS(x) (((uint32_t)(((uint32_t)(x)) << MIPI_CSI2RX_PPI_ERRCONTROL_STATUS_SHIFT)) & MIPI_CSI2RX_PPI_ERRCONTROL_STATUS_MASK)
  63407. /*! @} */
  63408. /*! @name CFG_DISABLE_PAYLOAD_0 - Disable Payload 0 Register */
  63409. /*! @{ */
  63410. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_NULL_MASK (0x1U)
  63411. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_NULL_SHIFT (0U)
  63412. /*! DIS_PAYLOAD_NULL - Null
  63413. */
  63414. #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)
  63415. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_BLANK_MASK (0x2U)
  63416. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_BLANK_SHIFT (1U)
  63417. /*! DIS_PAYLOAD_BLANK - Blank
  63418. */
  63419. #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)
  63420. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_EMBEDDED_MASK (0x4U)
  63421. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_EMBEDDED_SHIFT (2U)
  63422. /*! DIS_PAYLOAD_EMBEDDED - Embedded
  63423. */
  63424. #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)
  63425. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_YUV420_MASK (0x400U)
  63426. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_YUV420_SHIFT (10U)
  63427. /*! DIS_PAYLOAD_YUV420 - Legacy YUV 420 8 bit
  63428. */
  63429. #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)
  63430. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_YUV422_8BIT_MASK (0x4000U)
  63431. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_YUV422_8BIT_SHIFT (14U)
  63432. /*! DIS_PAYLOAD_YUV422_8BIT - YUV422 8 bit
  63433. */
  63434. #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)
  63435. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_RGB444_MASK (0x10000U)
  63436. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_RGB444_SHIFT (16U)
  63437. /*! DIS_PAYLOAD_RGB444 - RGB444
  63438. */
  63439. #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)
  63440. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_RGB555_MASK (0x20000U)
  63441. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_RGB555_SHIFT (17U)
  63442. /*! DIS_PAYLOAD_RGB555 - RGB555
  63443. */
  63444. #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)
  63445. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_RGB565_MASK (0x40000U)
  63446. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_RGB565_SHIFT (18U)
  63447. /*! DIS_PAYLOAD_RGB565 - RGB565
  63448. */
  63449. #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)
  63450. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_RGB666_MASK (0x80000U)
  63451. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_RGB666_SHIFT (19U)
  63452. /*! DIS_PAYLOAD_RGB666 - RGB666
  63453. */
  63454. #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)
  63455. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_RGB888_MASK (0x100000U)
  63456. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_RGB888_SHIFT (20U)
  63457. /*! DIS_PAYLOAD_RGB888 - RGB888
  63458. */
  63459. #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)
  63460. /*! @} */
  63461. /*! @name CFG_DISABLE_PAYLOAD_1 - Disable Payload 1 Register */
  63462. /*! @{ */
  63463. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_30_MASK (0x1U)
  63464. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_30_SHIFT (0U)
  63465. /*! DIS_PAYLOAD_UDEF_30 - User defined type 0x31
  63466. */
  63467. #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)
  63468. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_31_MASK (0x2U)
  63469. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_31_SHIFT (1U)
  63470. /*! DIS_PAYLOAD_UDEF_31 - User defined type 0x32
  63471. */
  63472. #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)
  63473. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_32_MASK (0x4U)
  63474. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_32_SHIFT (2U)
  63475. /*! DIS_PAYLOAD_UDEF_32 - User defined type 0x33
  63476. */
  63477. #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)
  63478. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_33_MASK (0x8U)
  63479. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_33_SHIFT (3U)
  63480. /*! DIS_PAYLOAD_UDEF_33 - User defined type 0x34
  63481. */
  63482. #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)
  63483. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_34_MASK (0x10U)
  63484. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_34_SHIFT (4U)
  63485. /*! DIS_PAYLOAD_UDEF_34 - User defined type 0x35
  63486. */
  63487. #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)
  63488. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_35_MASK (0x20U)
  63489. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_35_SHIFT (5U)
  63490. /*! DIS_PAYLOAD_UDEF_35 - User defined type 0x35
  63491. */
  63492. #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)
  63493. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_36_MASK (0x40U)
  63494. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_36_SHIFT (6U)
  63495. /*! DIS_PAYLOAD_UDEF_36 - User defined type 0x36
  63496. */
  63497. #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)
  63498. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_37_MASK (0x80U)
  63499. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_37_SHIFT (7U)
  63500. /*! DIS_PAYLOAD_UDEF_37 - User defined type 0x37
  63501. */
  63502. #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)
  63503. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UNSUPPORTED_MASK (0x10000U)
  63504. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UNSUPPORTED_SHIFT (16U)
  63505. /*! DIS_PAYLOAD_UNSUPPORTED - Unsupported Data Types
  63506. */
  63507. #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)
  63508. /*! @} */
  63509. /*! @name CFG_IGNORE_VC - Ignore Virtual Channel Register */
  63510. /*! @{ */
  63511. #define MIPI_CSI2RX_CFG_IGNORE_VC_IGNORE_VC_MASK (0x1U)
  63512. #define MIPI_CSI2RX_CFG_IGNORE_VC_IGNORE_VC_SHIFT (0U)
  63513. #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)
  63514. /*! @} */
  63515. /*! @name CFG_VID_VC - Virtual Channel value Register */
  63516. /*! @{ */
  63517. #define MIPI_CSI2RX_CFG_VID_VC_VID_VC_MASK (0x3U)
  63518. #define MIPI_CSI2RX_CFG_VID_VC_VID_VC_SHIFT (0U)
  63519. #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)
  63520. /*! @} */
  63521. /*! @name CFG_VID_P_FIFO_SEND_LEVEL - FIFO Send Level Configuration Register */
  63522. /*! @{ */
  63523. #define MIPI_CSI2RX_CFG_VID_P_FIFO_SEND_LEVEL_SEND_LEVEL_MASK (0xFFFFU)
  63524. #define MIPI_CSI2RX_CFG_VID_P_FIFO_SEND_LEVEL_SEND_LEVEL_SHIFT (0U)
  63525. /*! SEND_LEVEL - FIFO Send Level field
  63526. */
  63527. #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)
  63528. /*! @} */
  63529. /*! @name CFG_VID_VSYNC - VSYNC Configuration Register */
  63530. /*! @{ */
  63531. #define MIPI_CSI2RX_CFG_VID_VSYNC_WIDTH_MASK (0xFFU)
  63532. #define MIPI_CSI2RX_CFG_VID_VSYNC_WIDTH_SHIFT (0U)
  63533. /*! WIDTH - Width of VSYNC
  63534. */
  63535. #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)
  63536. /*! @} */
  63537. /*! @name CFG_VID_HSYNC_FP - Start of HSYNC Delay control Register */
  63538. /*! @{ */
  63539. #define MIPI_CSI2RX_CFG_VID_HSYNC_FP_DELAY_CTL_MASK (0xFFU)
  63540. #define MIPI_CSI2RX_CFG_VID_HSYNC_FP_DELAY_CTL_SHIFT (0U)
  63541. /*! DELAY_CTL - Delay control for beginning of HSYNC pulse
  63542. */
  63543. #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)
  63544. /*! @} */
  63545. /*! @name CFG_VID_HSYNC - HSYNC Configuration Register */
  63546. /*! @{ */
  63547. #define MIPI_CSI2RX_CFG_VID_HSYNC_WIDTH_MASK (0xFFU)
  63548. #define MIPI_CSI2RX_CFG_VID_HSYNC_WIDTH_SHIFT (0U)
  63549. /*! WIDTH - Width of HSYNC
  63550. */
  63551. #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)
  63552. /*! @} */
  63553. /*! @name CFG_VID_HSYNC_BP - End of HSYNC Delay Control Register */
  63554. /*! @{ */
  63555. #define MIPI_CSI2RX_CFG_VID_HSYNC_BP_DELAY_CTL_MASK (0xFFU)
  63556. #define MIPI_CSI2RX_CFG_VID_HSYNC_BP_DELAY_CTL_SHIFT (0U)
  63557. /*! DELAY_CTL - Delay Control for end of HSYNC pulse
  63558. */
  63559. #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)
  63560. /*! @} */
  63561. /*!
  63562. * @}
  63563. */ /* end of group MIPI_CSI2RX_Register_Masks */
  63564. /* MIPI_CSI2RX - Peripheral instance base addresses */
  63565. /** Peripheral MIPI_CSI2RX base address */
  63566. #define MIPI_CSI2RX_BASE (0x40810000u)
  63567. /** Peripheral MIPI_CSI2RX base pointer */
  63568. #define MIPI_CSI2RX ((MIPI_CSI2RX_Type *)MIPI_CSI2RX_BASE)
  63569. /** Array initializer of MIPI_CSI2RX peripheral base addresses */
  63570. #define MIPI_CSI2RX_BASE_ADDRS { MIPI_CSI2RX_BASE }
  63571. /** Array initializer of MIPI_CSI2RX peripheral base pointers */
  63572. #define MIPI_CSI2RX_BASE_PTRS { MIPI_CSI2RX }
  63573. /*!
  63574. * @}
  63575. */ /* end of group MIPI_CSI2RX_Peripheral_Access_Layer */
  63576. /* ----------------------------------------------------------------------------
  63577. -- MMCAU Peripheral Access Layer
  63578. ---------------------------------------------------------------------------- */
  63579. /*!
  63580. * @addtogroup MMCAU_Peripheral_Access_Layer MMCAU Peripheral Access Layer
  63581. * @{
  63582. */
  63583. /** MMCAU - Register Layout Typedef */
  63584. typedef struct {
  63585. __IO uint32_t CASR; /**< Status Register, offset: 0x0 */
  63586. __IO uint32_t CAA; /**< Accumulator, offset: 0x4 */
  63587. __IO uint32_t CA[9]; /**< General Purpose Register, array offset: 0x8, array step: 0x4 */
  63588. } MMCAU_Type;
  63589. /* ----------------------------------------------------------------------------
  63590. -- MMCAU Register Masks
  63591. ---------------------------------------------------------------------------- */
  63592. /*!
  63593. * @addtogroup MMCAU_Register_Masks MMCAU Register Masks
  63594. * @{
  63595. */
  63596. /*! @name CASR - Status Register */
  63597. /*! @{ */
  63598. #define MMCAU_CASR_IC_MASK (0x1U)
  63599. #define MMCAU_CASR_IC_SHIFT (0U)
  63600. /*! IC - Illegal Command
  63601. * 0b0..No illegal commands issued.
  63602. * 0b1..Illegal command issued.
  63603. */
  63604. #define MMCAU_CASR_IC(x) (((uint32_t)(((uint32_t)(x)) << MMCAU_CASR_IC_SHIFT)) & MMCAU_CASR_IC_MASK)
  63605. #define MMCAU_CASR_DPE_MASK (0x2U)
  63606. #define MMCAU_CASR_DPE_SHIFT (1U)
  63607. /*! DPE - DES Parity Error
  63608. * 0b0..No error detected.
  63609. * 0b1..DES key parity error detected.
  63610. */
  63611. #define MMCAU_CASR_DPE(x) (((uint32_t)(((uint32_t)(x)) << MMCAU_CASR_DPE_SHIFT)) & MMCAU_CASR_DPE_MASK)
  63612. #define MMCAU_CASR_VER_MASK (0xF0000000U)
  63613. #define MMCAU_CASR_VER_SHIFT (28U)
  63614. /*! VER - CAU Version
  63615. * 0b0001..Initial CAU version.
  63616. * 0b0010..Second version, added support for SHA-256 algorithm (This is the value on this device).
  63617. */
  63618. #define MMCAU_CASR_VER(x) (((uint32_t)(((uint32_t)(x)) << MMCAU_CASR_VER_SHIFT)) & MMCAU_CASR_VER_MASK)
  63619. /*! @} */
  63620. /*! @name CAA - Accumulator */
  63621. /*! @{ */
  63622. #define MMCAU_CAA_ACC_MASK (0xFFFFFFFFU)
  63623. #define MMCAU_CAA_ACC_SHIFT (0U)
  63624. /*! ACC - Accumulator
  63625. */
  63626. #define MMCAU_CAA_ACC(x) (((uint32_t)(((uint32_t)(x)) << MMCAU_CAA_ACC_SHIFT)) & MMCAU_CAA_ACC_MASK)
  63627. /*! @} */
  63628. /*! @name CA - General Purpose Register */
  63629. /*! @{ */
  63630. #define MMCAU_CA_CAn_MASK (0xFFFFFFFFU)
  63631. #define MMCAU_CA_CAn_SHIFT (0U)
  63632. /*! CAn - General Purpose Registers
  63633. */
  63634. #define MMCAU_CA_CAn(x) (((uint32_t)(((uint32_t)(x)) << MMCAU_CA_CAn_SHIFT)) & MMCAU_CA_CAn_MASK)
  63635. /*! @} */
  63636. /* The count of MMCAU_CA */
  63637. #define MMCAU_CA_COUNT (9U)
  63638. /*!
  63639. * @}
  63640. */ /* end of group MMCAU_Register_Masks */
  63641. /* MMCAU - Peripheral instance base addresses */
  63642. /** Peripheral MMCAU base address */
  63643. #define MMCAU_BASE (0xE0081000u)
  63644. /** Peripheral MMCAU base pointer */
  63645. #define MMCAU ((MMCAU_Type *)MMCAU_BASE)
  63646. /** Array initializer of MMCAU peripheral base addresses */
  63647. #define MMCAU_BASE_ADDRS { MMCAU_BASE }
  63648. /** Array initializer of MMCAU peripheral base pointers */
  63649. #define MMCAU_BASE_PTRS { MMCAU }
  63650. /*!
  63651. * @}
  63652. */ /* end of group MMCAU_Peripheral_Access_Layer */
  63653. /* ----------------------------------------------------------------------------
  63654. -- MU Peripheral Access Layer
  63655. ---------------------------------------------------------------------------- */
  63656. /*!
  63657. * @addtogroup MU_Peripheral_Access_Layer MU Peripheral Access Layer
  63658. * @{
  63659. */
  63660. /** MU - Register Layout Typedef */
  63661. typedef struct {
  63662. __IO uint32_t TR[4]; /**< Processor B Transmit Register 0..Processor B Transmit Register 3, array offset: 0x0, array step: 0x4 */
  63663. __I uint32_t RR[4]; /**< Processor B Receive Register 0..Processor B Receive Register 3, array offset: 0x10, array step: 0x4 */
  63664. __IO uint32_t SR; /**< Processor B Status Register, offset: 0x20 */
  63665. __IO uint32_t CR; /**< Processor B Control Register, offset: 0x24 */
  63666. } MU_Type;
  63667. /* ----------------------------------------------------------------------------
  63668. -- MU Register Masks
  63669. ---------------------------------------------------------------------------- */
  63670. /*!
  63671. * @addtogroup MU_Register_Masks MU Register Masks
  63672. * @{
  63673. */
  63674. /*! @name TR - Processor B Transmit Register 0..Processor B Transmit Register 3 */
  63675. /*! @{ */
  63676. #define MU_TR_DATA_MASK (0xFFFFFFFFU)
  63677. #define MU_TR_DATA_SHIFT (0U)
  63678. /*! DATA - TR3
  63679. */
  63680. #define MU_TR_DATA(x) (((uint32_t)(((uint32_t)(x)) << MU_TR_DATA_SHIFT)) & MU_TR_DATA_MASK)
  63681. /*! @} */
  63682. /* The count of MU_TR */
  63683. #define MU_TR_COUNT (4U)
  63684. /*! @name RR - Processor B Receive Register 0..Processor B Receive Register 3 */
  63685. /*! @{ */
  63686. #define MU_RR_DATA_MASK (0xFFFFFFFFU)
  63687. #define MU_RR_DATA_SHIFT (0U)
  63688. /*! DATA - RR3
  63689. */
  63690. #define MU_RR_DATA(x) (((uint32_t)(((uint32_t)(x)) << MU_RR_DATA_SHIFT)) & MU_RR_DATA_MASK)
  63691. /*! @} */
  63692. /* The count of MU_RR */
  63693. #define MU_RR_COUNT (4U)
  63694. /*! @name SR - Processor B Status Register */
  63695. /*! @{ */
  63696. #define MU_SR_Fn_MASK (0x7U)
  63697. #define MU_SR_Fn_SHIFT (0U)
  63698. /*! Fn - Fn
  63699. * 0b000..ABFn bit in MUA.CR register is written 0 (default).
  63700. * 0b001..ABFn bit in MUA.CR register is written 1.
  63701. */
  63702. #define MU_SR_Fn(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_Fn_SHIFT)) & MU_SR_Fn_MASK)
  63703. #define MU_SR_EP_MASK (0x10U)
  63704. #define MU_SR_EP_SHIFT (4U)
  63705. /*! EP - EP
  63706. * 0b0..The Processor B-side event is not pending (default).
  63707. * 0b1..The Processor B-side event is pending.
  63708. */
  63709. #define MU_SR_EP(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_EP_SHIFT)) & MU_SR_EP_MASK)
  63710. #define MU_SR_RS_MASK (0x80U)
  63711. #define MU_SR_RS_SHIFT (7U)
  63712. /*! RS - RS
  63713. * 0b0..The Processor A or the Processor A-side of the MU is not in reset.
  63714. * 0b1..The Processor A or the Processor A-side of the MU is in reset.
  63715. */
  63716. #define MU_SR_RS(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_RS_SHIFT)) & MU_SR_RS_MASK)
  63717. #define MU_SR_FUP_MASK (0x100U)
  63718. #define MU_SR_FUP_SHIFT (8U)
  63719. /*! FUP - FUP
  63720. * 0b0..No flags updated, initiated by the Processor B, in progress (default)
  63721. * 0b1..Processor B initiated flags update, processing
  63722. */
  63723. #define MU_SR_FUP(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_FUP_SHIFT)) & MU_SR_FUP_MASK)
  63724. #define MU_SR_TEn_MASK (0xF00000U)
  63725. #define MU_SR_TEn_SHIFT (20U)
  63726. /*! TEn - TEn
  63727. * 0b0000..MUB.TRn register is not empty.
  63728. * 0b0001..MUB.TRn register is empty (default).
  63729. */
  63730. #define MU_SR_TEn(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_TEn_SHIFT)) & MU_SR_TEn_MASK)
  63731. #define MU_SR_RFn_MASK (0xF000000U)
  63732. #define MU_SR_RFn_SHIFT (24U)
  63733. /*! RFn - RFn
  63734. * 0b0000..MUB.RRn register is not full (default).
  63735. * 0b0001..MUB.RRn register has received data from MUA.TRn register and is ready to be read by the Processor B.
  63736. */
  63737. #define MU_SR_RFn(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_RFn_SHIFT)) & MU_SR_RFn_MASK)
  63738. #define MU_SR_GIPn_MASK (0xF0000000U)
  63739. #define MU_SR_GIPn_SHIFT (28U)
  63740. /*! GIPn - GIPn
  63741. * 0b0000..Processor B general purpose interrupt n is not pending. (default)
  63742. * 0b0001..Processor B general purpose interrupt n is pending.
  63743. */
  63744. #define MU_SR_GIPn(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_GIPn_SHIFT)) & MU_SR_GIPn_MASK)
  63745. /*! @} */
  63746. /*! @name CR - Processor B Control Register */
  63747. /*! @{ */
  63748. #define MU_CR_Fn_MASK (0x7U)
  63749. #define MU_CR_Fn_SHIFT (0U)
  63750. /*! Fn - Fn
  63751. * 0b000..Clears the Fn bit in the MUA.SR register.
  63752. * 0b001..Sets the Fn bit in the MUA.SR register.
  63753. */
  63754. #define MU_CR_Fn(x) (((uint32_t)(((uint32_t)(x)) << MU_CR_Fn_SHIFT)) & MU_CR_Fn_MASK)
  63755. #define MU_CR_GIRn_MASK (0xF0000U)
  63756. #define MU_CR_GIRn_SHIFT (16U)
  63757. /*! GIRn - GIRn
  63758. * 0b0000..Processor B General Interrupt n is not requested to the Processor A (default).
  63759. * 0b0001..Processor B General Interrupt n is requested to the Processor A.
  63760. */
  63761. #define MU_CR_GIRn(x) (((uint32_t)(((uint32_t)(x)) << MU_CR_GIRn_SHIFT)) & MU_CR_GIRn_MASK)
  63762. #define MU_CR_TIEn_MASK (0xF00000U)
  63763. #define MU_CR_TIEn_SHIFT (20U)
  63764. /*! TIEn - TIEn
  63765. * 0b0000..Disables Processor B Transmit Interrupt n. (default)
  63766. * 0b0001..Enables Processor B Transmit Interrupt n.
  63767. */
  63768. #define MU_CR_TIEn(x) (((uint32_t)(((uint32_t)(x)) << MU_CR_TIEn_SHIFT)) & MU_CR_TIEn_MASK)
  63769. #define MU_CR_RIEn_MASK (0xF000000U)
  63770. #define MU_CR_RIEn_SHIFT (24U)
  63771. /*! RIEn - RIEn
  63772. * 0b0000..Disables Processor B Receive Interrupt n. (default)
  63773. * 0b0001..Enables Processor B Receive Interrupt n.
  63774. */
  63775. #define MU_CR_RIEn(x) (((uint32_t)(((uint32_t)(x)) << MU_CR_RIEn_SHIFT)) & MU_CR_RIEn_MASK)
  63776. #define MU_CR_GIEn_MASK (0xF0000000U)
  63777. #define MU_CR_GIEn_SHIFT (28U)
  63778. /*! GIEn - GIEn
  63779. * 0b0000..Disables Processor B General Interrupt n. (default)
  63780. * 0b0001..Enables Processor B General Interrupt n.
  63781. */
  63782. #define MU_CR_GIEn(x) (((uint32_t)(((uint32_t)(x)) << MU_CR_GIEn_SHIFT)) & MU_CR_GIEn_MASK)
  63783. /*! @} */
  63784. /*!
  63785. * @}
  63786. */ /* end of group MU_Register_Masks */
  63787. /* MU - Peripheral instance base addresses */
  63788. /** Peripheral MUB base address */
  63789. #define MUB_BASE (0x40C4C000u)
  63790. /** Peripheral MUB base pointer */
  63791. #define MUB ((MU_Type *)MUB_BASE)
  63792. /** Array initializer of MU peripheral base addresses */
  63793. #define MU_BASE_ADDRS { MUB_BASE }
  63794. /** Array initializer of MU peripheral base pointers */
  63795. #define MU_BASE_PTRS { MUB }
  63796. /** Interrupt vectors for the MU peripheral type */
  63797. #define MU_IRQS { MUB_IRQn }
  63798. /*!
  63799. * @}
  63800. */ /* end of group MU_Peripheral_Access_Layer */
  63801. /* ----------------------------------------------------------------------------
  63802. -- OCOTP Peripheral Access Layer
  63803. ---------------------------------------------------------------------------- */
  63804. /*!
  63805. * @addtogroup OCOTP_Peripheral_Access_Layer OCOTP Peripheral Access Layer
  63806. * @{
  63807. */
  63808. /** OCOTP - Register Layout Typedef */
  63809. typedef struct {
  63810. __IO uint32_t CTRL; /**< OTP Controller Control and Status Register, offset: 0x0 */
  63811. __IO uint32_t CTRL_SET; /**< OTP Controller Control and Status Register, offset: 0x4 */
  63812. __IO uint32_t CTRL_CLR; /**< OTP Controller Control and Status Register, offset: 0x8 */
  63813. __IO uint32_t CTRL_TOG; /**< OTP Controller Control and Status Register, offset: 0xC */
  63814. __IO uint32_t PDN; /**< OTP Controller PDN Register, offset: 0x10 */
  63815. uint8_t RESERVED_0[12];
  63816. __IO uint32_t DATA; /**< OTP Controller Write Data Register, offset: 0x20 */
  63817. uint8_t RESERVED_1[12];
  63818. __IO uint32_t READ_CTRL; /**< OTP Controller Read Control Register, offset: 0x30 */
  63819. uint8_t RESERVED_2[92];
  63820. __IO uint32_t OUT_STATUS; /**< 8K OTP Memory STATUS Register, offset: 0x90 */
  63821. __IO uint32_t OUT_STATUS_SET; /**< 8K OTP Memory STATUS Register, offset: 0x94 */
  63822. __IO uint32_t OUT_STATUS_CLR; /**< 8K OTP Memory STATUS Register, offset: 0x98 */
  63823. __IO uint32_t OUT_STATUS_TOG; /**< 8K OTP Memory STATUS Register, offset: 0x9C */
  63824. uint8_t RESERVED_3[16];
  63825. __I uint32_t VERSION; /**< OTP Controller Version Register, offset: 0xB0 */
  63826. uint8_t RESERVED_4[76];
  63827. struct { /* offset: 0x100, array step: 0x10 */
  63828. __IO uint32_t READ_FUSE_DATA; /**< OTP Controller Read Data 0 Register..OTP Controller Read Data 3 Register, array offset: 0x100, array step: 0x10 */
  63829. uint8_t RESERVED_0[12];
  63830. } READ_FUSE_DATAS[4];
  63831. __IO uint32_t SW_LOCK; /**< SW_LOCK Register, offset: 0x140 */
  63832. uint8_t RESERVED_5[12];
  63833. __IO uint32_t BIT_LOCK; /**< BIT_LOCK Register, offset: 0x150 */
  63834. uint8_t RESERVED_6[1196];
  63835. __I uint32_t LOCKED0; /**< OTP Controller Program Locked Status 0 Register, offset: 0x600 */
  63836. uint8_t RESERVED_7[12];
  63837. __I uint32_t LOCKED1; /**< OTP Controller Program Locked Status 1 Register, offset: 0x610 */
  63838. uint8_t RESERVED_8[12];
  63839. __I uint32_t LOCKED2; /**< OTP Controller Program Locked Status 2 Register, offset: 0x620 */
  63840. uint8_t RESERVED_9[12];
  63841. __I uint32_t LOCKED3; /**< OTP Controller Program Locked Status 3 Register, offset: 0x630 */
  63842. uint8_t RESERVED_10[12];
  63843. __I uint32_t LOCKED4; /**< OTP Controller Program Locked Status 4 Register, offset: 0x640 */
  63844. uint8_t RESERVED_11[444];
  63845. struct { /* offset: 0x800, array step: 0x10 */
  63846. __I uint32_t FUSE; /**< Value of fuse word 0..Value of fuse word 143, array offset: 0x800, array step: 0x10 */
  63847. uint8_t RESERVED_0[12];
  63848. } FUSEN[144];
  63849. } OCOTP_Type;
  63850. /* ----------------------------------------------------------------------------
  63851. -- OCOTP Register Masks
  63852. ---------------------------------------------------------------------------- */
  63853. /*!
  63854. * @addtogroup OCOTP_Register_Masks OCOTP Register Masks
  63855. * @{
  63856. */
  63857. /*! @name CTRL - OTP Controller Control and Status Register */
  63858. /*! @{ */
  63859. #define OCOTP_CTRL_ADDR_MASK (0x3FFU)
  63860. #define OCOTP_CTRL_ADDR_SHIFT (0U)
  63861. /*! ADDR - OTP write and read access address register
  63862. * 0b0000000000-0b0000001111..Address of one of the 16 supplementary fuse words in OTP memory.
  63863. * 0b0000010000-0b0100001111..Address of one of the 256 user fuse words in OTP memory.
  63864. */
  63865. #define OCOTP_CTRL_ADDR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_ADDR_SHIFT)) & OCOTP_CTRL_ADDR_MASK)
  63866. #define OCOTP_CTRL_BUSY_MASK (0x400U)
  63867. #define OCOTP_CTRL_BUSY_SHIFT (10U)
  63868. /*! BUSY - OTP controller status bit
  63869. * 0b0..No write or read access to OTP started.
  63870. * 0b1..Write or read access to OTP started.
  63871. */
  63872. #define OCOTP_CTRL_BUSY(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_BUSY_SHIFT)) & OCOTP_CTRL_BUSY_MASK)
  63873. #define OCOTP_CTRL_ERROR_MASK (0x800U)
  63874. #define OCOTP_CTRL_ERROR_SHIFT (11U)
  63875. /*! ERROR - Locked Region Access Error
  63876. * 0b0..No error.
  63877. * 0b1..Error - access to a locked region requested.
  63878. */
  63879. #define OCOTP_CTRL_ERROR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_ERROR_SHIFT)) & OCOTP_CTRL_ERROR_MASK)
  63880. #define OCOTP_CTRL_RELOAD_SHADOWS_MASK (0x1000U)
  63881. #define OCOTP_CTRL_RELOAD_SHADOWS_SHIFT (12U)
  63882. /*! RELOAD_SHADOWS - Reload Shadow Registers
  63883. * 0b0..Do not force shadow register re-load.
  63884. * 0b1..Force shadow register re-load. This bit is cleared automatically after shadow registers are re-loaded.
  63885. */
  63886. #define OCOTP_CTRL_RELOAD_SHADOWS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_RELOAD_SHADOWS_SHIFT)) & OCOTP_CTRL_RELOAD_SHADOWS_MASK)
  63887. #define OCOTP_CTRL_WORDLOCK_MASK (0x8000U)
  63888. #define OCOTP_CTRL_WORDLOCK_SHIFT (15U)
  63889. /*! WORDLOCK - Lock fuse word
  63890. * 0b0..No change to LOCK bit when programming a word using redundancy
  63891. * 0b1..LOCK bit for fuse word will be set after successfully programming a word using redundancy
  63892. */
  63893. #define OCOTP_CTRL_WORDLOCK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_WORDLOCK_SHIFT)) & OCOTP_CTRL_WORDLOCK_MASK)
  63894. #define OCOTP_CTRL_WR_UNLOCK_MASK (0xFFFF0000U)
  63895. #define OCOTP_CTRL_WR_UNLOCK_SHIFT (16U)
  63896. /*! WR_UNLOCK - Write unlock
  63897. * 0b0000000000000000..OTP write access is locked.
  63898. * 0b0011111001110111..OTP write access is unlocked.
  63899. */
  63900. #define OCOTP_CTRL_WR_UNLOCK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_WR_UNLOCK_SHIFT)) & OCOTP_CTRL_WR_UNLOCK_MASK)
  63901. /*! @} */
  63902. /*! @name CTRL_SET - OTP Controller Control and Status Register */
  63903. /*! @{ */
  63904. #define OCOTP_CTRL_SET_ADDR_MASK (0x3FFU)
  63905. #define OCOTP_CTRL_SET_ADDR_SHIFT (0U)
  63906. /*! ADDR - OTP write and read access address register
  63907. */
  63908. #define OCOTP_CTRL_SET_ADDR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_SET_ADDR_SHIFT)) & OCOTP_CTRL_SET_ADDR_MASK)
  63909. #define OCOTP_CTRL_SET_BUSY_MASK (0x400U)
  63910. #define OCOTP_CTRL_SET_BUSY_SHIFT (10U)
  63911. /*! BUSY - OTP controller status bit
  63912. */
  63913. #define OCOTP_CTRL_SET_BUSY(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_SET_BUSY_SHIFT)) & OCOTP_CTRL_SET_BUSY_MASK)
  63914. #define OCOTP_CTRL_SET_ERROR_MASK (0x800U)
  63915. #define OCOTP_CTRL_SET_ERROR_SHIFT (11U)
  63916. /*! ERROR - Locked Region Access Error
  63917. */
  63918. #define OCOTP_CTRL_SET_ERROR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_SET_ERROR_SHIFT)) & OCOTP_CTRL_SET_ERROR_MASK)
  63919. #define OCOTP_CTRL_SET_RELOAD_SHADOWS_MASK (0x1000U)
  63920. #define OCOTP_CTRL_SET_RELOAD_SHADOWS_SHIFT (12U)
  63921. /*! RELOAD_SHADOWS - Reload Shadow Registers
  63922. */
  63923. #define OCOTP_CTRL_SET_RELOAD_SHADOWS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_SET_RELOAD_SHADOWS_SHIFT)) & OCOTP_CTRL_SET_RELOAD_SHADOWS_MASK)
  63924. #define OCOTP_CTRL_SET_WORDLOCK_MASK (0x8000U)
  63925. #define OCOTP_CTRL_SET_WORDLOCK_SHIFT (15U)
  63926. /*! WORDLOCK - Lock fuse word
  63927. */
  63928. #define OCOTP_CTRL_SET_WORDLOCK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_SET_WORDLOCK_SHIFT)) & OCOTP_CTRL_SET_WORDLOCK_MASK)
  63929. #define OCOTP_CTRL_SET_WR_UNLOCK_MASK (0xFFFF0000U)
  63930. #define OCOTP_CTRL_SET_WR_UNLOCK_SHIFT (16U)
  63931. /*! WR_UNLOCK - Write unlock
  63932. */
  63933. #define OCOTP_CTRL_SET_WR_UNLOCK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_SET_WR_UNLOCK_SHIFT)) & OCOTP_CTRL_SET_WR_UNLOCK_MASK)
  63934. /*! @} */
  63935. /*! @name CTRL_CLR - OTP Controller Control and Status Register */
  63936. /*! @{ */
  63937. #define OCOTP_CTRL_CLR_ADDR_MASK (0x3FFU)
  63938. #define OCOTP_CTRL_CLR_ADDR_SHIFT (0U)
  63939. /*! ADDR - OTP write and read access address register
  63940. */
  63941. #define OCOTP_CTRL_CLR_ADDR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_CLR_ADDR_SHIFT)) & OCOTP_CTRL_CLR_ADDR_MASK)
  63942. #define OCOTP_CTRL_CLR_BUSY_MASK (0x400U)
  63943. #define OCOTP_CTRL_CLR_BUSY_SHIFT (10U)
  63944. /*! BUSY - OTP controller status bit
  63945. */
  63946. #define OCOTP_CTRL_CLR_BUSY(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_CLR_BUSY_SHIFT)) & OCOTP_CTRL_CLR_BUSY_MASK)
  63947. #define OCOTP_CTRL_CLR_ERROR_MASK (0x800U)
  63948. #define OCOTP_CTRL_CLR_ERROR_SHIFT (11U)
  63949. /*! ERROR - Locked Region Access Error
  63950. */
  63951. #define OCOTP_CTRL_CLR_ERROR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_CLR_ERROR_SHIFT)) & OCOTP_CTRL_CLR_ERROR_MASK)
  63952. #define OCOTP_CTRL_CLR_RELOAD_SHADOWS_MASK (0x1000U)
  63953. #define OCOTP_CTRL_CLR_RELOAD_SHADOWS_SHIFT (12U)
  63954. /*! RELOAD_SHADOWS - Reload Shadow Registers
  63955. */
  63956. #define OCOTP_CTRL_CLR_RELOAD_SHADOWS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_CLR_RELOAD_SHADOWS_SHIFT)) & OCOTP_CTRL_CLR_RELOAD_SHADOWS_MASK)
  63957. #define OCOTP_CTRL_CLR_WORDLOCK_MASK (0x8000U)
  63958. #define OCOTP_CTRL_CLR_WORDLOCK_SHIFT (15U)
  63959. /*! WORDLOCK - Lock fuse word
  63960. */
  63961. #define OCOTP_CTRL_CLR_WORDLOCK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_CLR_WORDLOCK_SHIFT)) & OCOTP_CTRL_CLR_WORDLOCK_MASK)
  63962. #define OCOTP_CTRL_CLR_WR_UNLOCK_MASK (0xFFFF0000U)
  63963. #define OCOTP_CTRL_CLR_WR_UNLOCK_SHIFT (16U)
  63964. /*! WR_UNLOCK - Write unlock
  63965. */
  63966. #define OCOTP_CTRL_CLR_WR_UNLOCK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_CLR_WR_UNLOCK_SHIFT)) & OCOTP_CTRL_CLR_WR_UNLOCK_MASK)
  63967. /*! @} */
  63968. /*! @name CTRL_TOG - OTP Controller Control and Status Register */
  63969. /*! @{ */
  63970. #define OCOTP_CTRL_TOG_ADDR_MASK (0x3FFU)
  63971. #define OCOTP_CTRL_TOG_ADDR_SHIFT (0U)
  63972. /*! ADDR - OTP write and read access address register
  63973. */
  63974. #define OCOTP_CTRL_TOG_ADDR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_TOG_ADDR_SHIFT)) & OCOTP_CTRL_TOG_ADDR_MASK)
  63975. #define OCOTP_CTRL_TOG_BUSY_MASK (0x400U)
  63976. #define OCOTP_CTRL_TOG_BUSY_SHIFT (10U)
  63977. /*! BUSY - OTP controller status bit
  63978. */
  63979. #define OCOTP_CTRL_TOG_BUSY(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_TOG_BUSY_SHIFT)) & OCOTP_CTRL_TOG_BUSY_MASK)
  63980. #define OCOTP_CTRL_TOG_ERROR_MASK (0x800U)
  63981. #define OCOTP_CTRL_TOG_ERROR_SHIFT (11U)
  63982. /*! ERROR - Locked Region Access Error
  63983. */
  63984. #define OCOTP_CTRL_TOG_ERROR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_TOG_ERROR_SHIFT)) & OCOTP_CTRL_TOG_ERROR_MASK)
  63985. #define OCOTP_CTRL_TOG_RELOAD_SHADOWS_MASK (0x1000U)
  63986. #define OCOTP_CTRL_TOG_RELOAD_SHADOWS_SHIFT (12U)
  63987. /*! RELOAD_SHADOWS - Reload Shadow Registers
  63988. */
  63989. #define OCOTP_CTRL_TOG_RELOAD_SHADOWS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_TOG_RELOAD_SHADOWS_SHIFT)) & OCOTP_CTRL_TOG_RELOAD_SHADOWS_MASK)
  63990. #define OCOTP_CTRL_TOG_WORDLOCK_MASK (0x8000U)
  63991. #define OCOTP_CTRL_TOG_WORDLOCK_SHIFT (15U)
  63992. /*! WORDLOCK - Lock fuse word
  63993. */
  63994. #define OCOTP_CTRL_TOG_WORDLOCK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_TOG_WORDLOCK_SHIFT)) & OCOTP_CTRL_TOG_WORDLOCK_MASK)
  63995. #define OCOTP_CTRL_TOG_WR_UNLOCK_MASK (0xFFFF0000U)
  63996. #define OCOTP_CTRL_TOG_WR_UNLOCK_SHIFT (16U)
  63997. /*! WR_UNLOCK - Write unlock
  63998. */
  63999. #define OCOTP_CTRL_TOG_WR_UNLOCK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_TOG_WR_UNLOCK_SHIFT)) & OCOTP_CTRL_TOG_WR_UNLOCK_MASK)
  64000. /*! @} */
  64001. /*! @name PDN - OTP Controller PDN Register */
  64002. /*! @{ */
  64003. #define OCOTP_PDN_PDN_MASK (0x1U)
  64004. #define OCOTP_PDN_PDN_SHIFT (0U)
  64005. /*! PDN - PDN value
  64006. * 0b0..OTP memory is not powered
  64007. * 0b1..OTP memory is powered
  64008. */
  64009. #define OCOTP_PDN_PDN(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_PDN_PDN_SHIFT)) & OCOTP_PDN_PDN_MASK)
  64010. /*! @} */
  64011. /*! @name DATA - OTP Controller Write Data Register */
  64012. /*! @{ */
  64013. #define OCOTP_DATA_DATA_MASK (0xFFFFFFFFU)
  64014. #define OCOTP_DATA_DATA_SHIFT (0U)
  64015. /*! DATA - Data
  64016. */
  64017. #define OCOTP_DATA_DATA(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_DATA_DATA_SHIFT)) & OCOTP_DATA_DATA_MASK)
  64018. /*! @} */
  64019. /*! @name READ_CTRL - OTP Controller Read Control Register */
  64020. /*! @{ */
  64021. #define OCOTP_READ_CTRL_READ_FUSE_MASK (0x1U)
  64022. #define OCOTP_READ_CTRL_READ_FUSE_SHIFT (0U)
  64023. /*! READ_FUSE - Read Fuse
  64024. * 0b0..Do not initiate a read from OTP
  64025. * 0b1..Initiate a read from OTP
  64026. */
  64027. #define OCOTP_READ_CTRL_READ_FUSE(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_READ_CTRL_READ_FUSE_SHIFT)) & OCOTP_READ_CTRL_READ_FUSE_MASK)
  64028. #define OCOTP_READ_CTRL_READ_FUSE_CNTR_MASK (0x6U)
  64029. #define OCOTP_READ_CTRL_READ_FUSE_CNTR_SHIFT (1U)
  64030. /*! READ_FUSE_CNTR - Number of words to read.
  64031. * 0b00..1 word
  64032. * 0b01..2 words
  64033. * 0b10..3 words
  64034. * 0b11..4 words
  64035. */
  64036. #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)
  64037. #define OCOTP_READ_CTRL_READ_FUSE_DONE_INTR_ENA_MASK (0x8U)
  64038. #define OCOTP_READ_CTRL_READ_FUSE_DONE_INTR_ENA_SHIFT (3U)
  64039. /*! READ_FUSE_DONE_INTR_ENA - Enable read-done interrupt
  64040. * 0b0..Disable
  64041. * 0b1..Enable
  64042. */
  64043. #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)
  64044. #define OCOTP_READ_CTRL_READ_FUSE_ERROR_INTR_ENA_MASK (0x10U)
  64045. #define OCOTP_READ_CTRL_READ_FUSE_ERROR_INTR_ENA_SHIFT (4U)
  64046. /*! READ_FUSE_ERROR_INTR_ENA - Enable read-error interrupt
  64047. * 0b0..Disable
  64048. * 0b1..Enable
  64049. */
  64050. #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)
  64051. /*! @} */
  64052. /*! @name OUT_STATUS - 8K OTP Memory STATUS Register */
  64053. /*! @{ */
  64054. #define OCOTP_OUT_STATUS_SEC_MASK (0x200U)
  64055. #define OCOTP_OUT_STATUS_SEC_SHIFT (9U)
  64056. /*! SEC - Single Error Correct
  64057. */
  64058. #define OCOTP_OUT_STATUS_SEC(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_SEC_SHIFT)) & OCOTP_OUT_STATUS_SEC_MASK)
  64059. #define OCOTP_OUT_STATUS_DED_MASK (0x400U)
  64060. #define OCOTP_OUT_STATUS_DED_SHIFT (10U)
  64061. /*! DED - Double error detect
  64062. */
  64063. #define OCOTP_OUT_STATUS_DED(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_DED_SHIFT)) & OCOTP_OUT_STATUS_DED_MASK)
  64064. #define OCOTP_OUT_STATUS_LOCKED_MASK (0x800U)
  64065. #define OCOTP_OUT_STATUS_LOCKED_SHIFT (11U)
  64066. /*! LOCKED - Word Locked
  64067. */
  64068. #define OCOTP_OUT_STATUS_LOCKED(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_LOCKED_SHIFT)) & OCOTP_OUT_STATUS_LOCKED_MASK)
  64069. #define OCOTP_OUT_STATUS_PROGFAIL_MASK (0x1000U)
  64070. #define OCOTP_OUT_STATUS_PROGFAIL_SHIFT (12U)
  64071. /*! PROGFAIL - Programming failed
  64072. */
  64073. #define OCOTP_OUT_STATUS_PROGFAIL(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_PROGFAIL_SHIFT)) & OCOTP_OUT_STATUS_PROGFAIL_MASK)
  64074. #define OCOTP_OUT_STATUS_ACK_MASK (0x2000U)
  64075. #define OCOTP_OUT_STATUS_ACK_SHIFT (13U)
  64076. /*! ACK - Acknowledge
  64077. */
  64078. #define OCOTP_OUT_STATUS_ACK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_ACK_SHIFT)) & OCOTP_OUT_STATUS_ACK_MASK)
  64079. #define OCOTP_OUT_STATUS_PWOK_MASK (0x4000U)
  64080. #define OCOTP_OUT_STATUS_PWOK_SHIFT (14U)
  64081. /*! PWOK - Power OK
  64082. */
  64083. #define OCOTP_OUT_STATUS_PWOK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_PWOK_SHIFT)) & OCOTP_OUT_STATUS_PWOK_MASK)
  64084. #define OCOTP_OUT_STATUS_FLAGSTATE_MASK (0x78000U)
  64085. #define OCOTP_OUT_STATUS_FLAGSTATE_SHIFT (15U)
  64086. /*! FLAGSTATE - Flag state
  64087. */
  64088. #define OCOTP_OUT_STATUS_FLAGSTATE(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_FLAGSTATE_SHIFT)) & OCOTP_OUT_STATUS_FLAGSTATE_MASK)
  64089. #define OCOTP_OUT_STATUS_SEC_RELOAD_MASK (0x80000U)
  64090. #define OCOTP_OUT_STATUS_SEC_RELOAD_SHIFT (19U)
  64091. /*! SEC_RELOAD - Indicates single error correction occured on reload
  64092. */
  64093. #define OCOTP_OUT_STATUS_SEC_RELOAD(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_SEC_RELOAD_SHIFT)) & OCOTP_OUT_STATUS_SEC_RELOAD_MASK)
  64094. #define OCOTP_OUT_STATUS_DED_RELOAD_MASK (0x100000U)
  64095. #define OCOTP_OUT_STATUS_DED_RELOAD_SHIFT (20U)
  64096. /*! DED_RELOAD - Indicates double error detection occured on reload
  64097. */
  64098. #define OCOTP_OUT_STATUS_DED_RELOAD(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_DED_RELOAD_SHIFT)) & OCOTP_OUT_STATUS_DED_RELOAD_MASK)
  64099. #define OCOTP_OUT_STATUS_CALIBRATED_MASK (0x200000U)
  64100. #define OCOTP_OUT_STATUS_CALIBRATED_SHIFT (21U)
  64101. /*! CALIBRATED - Calibrated status
  64102. */
  64103. #define OCOTP_OUT_STATUS_CALIBRATED(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_CALIBRATED_SHIFT)) & OCOTP_OUT_STATUS_CALIBRATED_MASK)
  64104. #define OCOTP_OUT_STATUS_READ_DONE_INTR_MASK (0x400000U)
  64105. #define OCOTP_OUT_STATUS_READ_DONE_INTR_SHIFT (22U)
  64106. /*! READ_DONE_INTR - Read fuse done
  64107. */
  64108. #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)
  64109. #define OCOTP_OUT_STATUS_READ_ERROR_INTR_MASK (0x800000U)
  64110. #define OCOTP_OUT_STATUS_READ_ERROR_INTR_SHIFT (23U)
  64111. /*! READ_ERROR_INTR - Fuse read error
  64112. * 0b0..Read operation finished with out any error
  64113. * 0b1..Read operation finished with an error
  64114. */
  64115. #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)
  64116. #define OCOTP_OUT_STATUS_DED0_MASK (0x1000000U)
  64117. #define OCOTP_OUT_STATUS_DED0_SHIFT (24U)
  64118. /*! DED0 - Double error detect
  64119. */
  64120. #define OCOTP_OUT_STATUS_DED0(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_DED0_SHIFT)) & OCOTP_OUT_STATUS_DED0_MASK)
  64121. #define OCOTP_OUT_STATUS_DED1_MASK (0x2000000U)
  64122. #define OCOTP_OUT_STATUS_DED1_SHIFT (25U)
  64123. /*! DED1 - Double error detect
  64124. */
  64125. #define OCOTP_OUT_STATUS_DED1(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_DED1_SHIFT)) & OCOTP_OUT_STATUS_DED1_MASK)
  64126. #define OCOTP_OUT_STATUS_DED2_MASK (0x4000000U)
  64127. #define OCOTP_OUT_STATUS_DED2_SHIFT (26U)
  64128. /*! DED2 - Double error detect
  64129. */
  64130. #define OCOTP_OUT_STATUS_DED2(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_DED2_SHIFT)) & OCOTP_OUT_STATUS_DED2_MASK)
  64131. #define OCOTP_OUT_STATUS_DED3_MASK (0x8000000U)
  64132. #define OCOTP_OUT_STATUS_DED3_SHIFT (27U)
  64133. /*! DED3 - Double error detect
  64134. */
  64135. #define OCOTP_OUT_STATUS_DED3(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_DED3_SHIFT)) & OCOTP_OUT_STATUS_DED3_MASK)
  64136. /*! @} */
  64137. /*! @name OUT_STATUS_SET - 8K OTP Memory STATUS Register */
  64138. /*! @{ */
  64139. #define OCOTP_OUT_STATUS_SET_SEC_MASK (0x200U)
  64140. #define OCOTP_OUT_STATUS_SET_SEC_SHIFT (9U)
  64141. /*! SEC - Single Error Correct
  64142. */
  64143. #define OCOTP_OUT_STATUS_SET_SEC(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_SET_SEC_SHIFT)) & OCOTP_OUT_STATUS_SET_SEC_MASK)
  64144. #define OCOTP_OUT_STATUS_SET_DED_MASK (0x400U)
  64145. #define OCOTP_OUT_STATUS_SET_DED_SHIFT (10U)
  64146. /*! DED - Double error detect
  64147. */
  64148. #define OCOTP_OUT_STATUS_SET_DED(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_SET_DED_SHIFT)) & OCOTP_OUT_STATUS_SET_DED_MASK)
  64149. #define OCOTP_OUT_STATUS_SET_LOCKED_MASK (0x800U)
  64150. #define OCOTP_OUT_STATUS_SET_LOCKED_SHIFT (11U)
  64151. /*! LOCKED - Word Locked
  64152. */
  64153. #define OCOTP_OUT_STATUS_SET_LOCKED(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_SET_LOCKED_SHIFT)) & OCOTP_OUT_STATUS_SET_LOCKED_MASK)
  64154. #define OCOTP_OUT_STATUS_SET_PROGFAIL_MASK (0x1000U)
  64155. #define OCOTP_OUT_STATUS_SET_PROGFAIL_SHIFT (12U)
  64156. /*! PROGFAIL - Programming failed
  64157. */
  64158. #define OCOTP_OUT_STATUS_SET_PROGFAIL(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_SET_PROGFAIL_SHIFT)) & OCOTP_OUT_STATUS_SET_PROGFAIL_MASK)
  64159. #define OCOTP_OUT_STATUS_SET_ACK_MASK (0x2000U)
  64160. #define OCOTP_OUT_STATUS_SET_ACK_SHIFT (13U)
  64161. /*! ACK - Acknowledge
  64162. */
  64163. #define OCOTP_OUT_STATUS_SET_ACK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_SET_ACK_SHIFT)) & OCOTP_OUT_STATUS_SET_ACK_MASK)
  64164. #define OCOTP_OUT_STATUS_SET_PWOK_MASK (0x4000U)
  64165. #define OCOTP_OUT_STATUS_SET_PWOK_SHIFT (14U)
  64166. /*! PWOK - Power OK
  64167. */
  64168. #define OCOTP_OUT_STATUS_SET_PWOK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_SET_PWOK_SHIFT)) & OCOTP_OUT_STATUS_SET_PWOK_MASK)
  64169. #define OCOTP_OUT_STATUS_SET_FLAGSTATE_MASK (0x78000U)
  64170. #define OCOTP_OUT_STATUS_SET_FLAGSTATE_SHIFT (15U)
  64171. /*! FLAGSTATE - Flag state
  64172. */
  64173. #define OCOTP_OUT_STATUS_SET_FLAGSTATE(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_SET_FLAGSTATE_SHIFT)) & OCOTP_OUT_STATUS_SET_FLAGSTATE_MASK)
  64174. #define OCOTP_OUT_STATUS_SET_SEC_RELOAD_MASK (0x80000U)
  64175. #define OCOTP_OUT_STATUS_SET_SEC_RELOAD_SHIFT (19U)
  64176. /*! SEC_RELOAD - Indicates single error correction occured on reload
  64177. */
  64178. #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)
  64179. #define OCOTP_OUT_STATUS_SET_DED_RELOAD_MASK (0x100000U)
  64180. #define OCOTP_OUT_STATUS_SET_DED_RELOAD_SHIFT (20U)
  64181. /*! DED_RELOAD - Indicates double error detection occured on reload
  64182. */
  64183. #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)
  64184. #define OCOTP_OUT_STATUS_SET_CALIBRATED_MASK (0x200000U)
  64185. #define OCOTP_OUT_STATUS_SET_CALIBRATED_SHIFT (21U)
  64186. /*! CALIBRATED - Calibrated status
  64187. */
  64188. #define OCOTP_OUT_STATUS_SET_CALIBRATED(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_SET_CALIBRATED_SHIFT)) & OCOTP_OUT_STATUS_SET_CALIBRATED_MASK)
  64189. #define OCOTP_OUT_STATUS_SET_READ_DONE_INTR_MASK (0x400000U)
  64190. #define OCOTP_OUT_STATUS_SET_READ_DONE_INTR_SHIFT (22U)
  64191. /*! READ_DONE_INTR - Read fuse done
  64192. */
  64193. #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)
  64194. #define OCOTP_OUT_STATUS_SET_READ_ERROR_INTR_MASK (0x800000U)
  64195. #define OCOTP_OUT_STATUS_SET_READ_ERROR_INTR_SHIFT (23U)
  64196. /*! READ_ERROR_INTR - Fuse read error
  64197. */
  64198. #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)
  64199. #define OCOTP_OUT_STATUS_SET_DED0_MASK (0x1000000U)
  64200. #define OCOTP_OUT_STATUS_SET_DED0_SHIFT (24U)
  64201. /*! DED0 - Double error detect
  64202. */
  64203. #define OCOTP_OUT_STATUS_SET_DED0(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_SET_DED0_SHIFT)) & OCOTP_OUT_STATUS_SET_DED0_MASK)
  64204. #define OCOTP_OUT_STATUS_SET_DED1_MASK (0x2000000U)
  64205. #define OCOTP_OUT_STATUS_SET_DED1_SHIFT (25U)
  64206. /*! DED1 - Double error detect
  64207. */
  64208. #define OCOTP_OUT_STATUS_SET_DED1(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_SET_DED1_SHIFT)) & OCOTP_OUT_STATUS_SET_DED1_MASK)
  64209. #define OCOTP_OUT_STATUS_SET_DED2_MASK (0x4000000U)
  64210. #define OCOTP_OUT_STATUS_SET_DED2_SHIFT (26U)
  64211. /*! DED2 - Double error detect
  64212. */
  64213. #define OCOTP_OUT_STATUS_SET_DED2(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_SET_DED2_SHIFT)) & OCOTP_OUT_STATUS_SET_DED2_MASK)
  64214. #define OCOTP_OUT_STATUS_SET_DED3_MASK (0x8000000U)
  64215. #define OCOTP_OUT_STATUS_SET_DED3_SHIFT (27U)
  64216. /*! DED3 - Double error detect
  64217. */
  64218. #define OCOTP_OUT_STATUS_SET_DED3(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_SET_DED3_SHIFT)) & OCOTP_OUT_STATUS_SET_DED3_MASK)
  64219. /*! @} */
  64220. /*! @name OUT_STATUS_CLR - 8K OTP Memory STATUS Register */
  64221. /*! @{ */
  64222. #define OCOTP_OUT_STATUS_CLR_SEC_MASK (0x200U)
  64223. #define OCOTP_OUT_STATUS_CLR_SEC_SHIFT (9U)
  64224. /*! SEC - Single Error Correct
  64225. */
  64226. #define OCOTP_OUT_STATUS_CLR_SEC(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_CLR_SEC_SHIFT)) & OCOTP_OUT_STATUS_CLR_SEC_MASK)
  64227. #define OCOTP_OUT_STATUS_CLR_DED_MASK (0x400U)
  64228. #define OCOTP_OUT_STATUS_CLR_DED_SHIFT (10U)
  64229. /*! DED - Double error detect
  64230. */
  64231. #define OCOTP_OUT_STATUS_CLR_DED(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_CLR_DED_SHIFT)) & OCOTP_OUT_STATUS_CLR_DED_MASK)
  64232. #define OCOTP_OUT_STATUS_CLR_LOCKED_MASK (0x800U)
  64233. #define OCOTP_OUT_STATUS_CLR_LOCKED_SHIFT (11U)
  64234. /*! LOCKED - Word Locked
  64235. */
  64236. #define OCOTP_OUT_STATUS_CLR_LOCKED(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_CLR_LOCKED_SHIFT)) & OCOTP_OUT_STATUS_CLR_LOCKED_MASK)
  64237. #define OCOTP_OUT_STATUS_CLR_PROGFAIL_MASK (0x1000U)
  64238. #define OCOTP_OUT_STATUS_CLR_PROGFAIL_SHIFT (12U)
  64239. /*! PROGFAIL - Programming failed
  64240. */
  64241. #define OCOTP_OUT_STATUS_CLR_PROGFAIL(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_CLR_PROGFAIL_SHIFT)) & OCOTP_OUT_STATUS_CLR_PROGFAIL_MASK)
  64242. #define OCOTP_OUT_STATUS_CLR_ACK_MASK (0x2000U)
  64243. #define OCOTP_OUT_STATUS_CLR_ACK_SHIFT (13U)
  64244. /*! ACK - Acknowledge
  64245. */
  64246. #define OCOTP_OUT_STATUS_CLR_ACK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_CLR_ACK_SHIFT)) & OCOTP_OUT_STATUS_CLR_ACK_MASK)
  64247. #define OCOTP_OUT_STATUS_CLR_PWOK_MASK (0x4000U)
  64248. #define OCOTP_OUT_STATUS_CLR_PWOK_SHIFT (14U)
  64249. /*! PWOK - Power OK
  64250. */
  64251. #define OCOTP_OUT_STATUS_CLR_PWOK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_CLR_PWOK_SHIFT)) & OCOTP_OUT_STATUS_CLR_PWOK_MASK)
  64252. #define OCOTP_OUT_STATUS_CLR_FLAGSTATE_MASK (0x78000U)
  64253. #define OCOTP_OUT_STATUS_CLR_FLAGSTATE_SHIFT (15U)
  64254. /*! FLAGSTATE - Flag state
  64255. */
  64256. #define OCOTP_OUT_STATUS_CLR_FLAGSTATE(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_CLR_FLAGSTATE_SHIFT)) & OCOTP_OUT_STATUS_CLR_FLAGSTATE_MASK)
  64257. #define OCOTP_OUT_STATUS_CLR_SEC_RELOAD_MASK (0x80000U)
  64258. #define OCOTP_OUT_STATUS_CLR_SEC_RELOAD_SHIFT (19U)
  64259. /*! SEC_RELOAD - Indicates single error correction occured on reload
  64260. */
  64261. #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)
  64262. #define OCOTP_OUT_STATUS_CLR_DED_RELOAD_MASK (0x100000U)
  64263. #define OCOTP_OUT_STATUS_CLR_DED_RELOAD_SHIFT (20U)
  64264. /*! DED_RELOAD - Indicates double error detection occured on reload
  64265. */
  64266. #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)
  64267. #define OCOTP_OUT_STATUS_CLR_CALIBRATED_MASK (0x200000U)
  64268. #define OCOTP_OUT_STATUS_CLR_CALIBRATED_SHIFT (21U)
  64269. /*! CALIBRATED - Calibrated status
  64270. */
  64271. #define OCOTP_OUT_STATUS_CLR_CALIBRATED(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_CLR_CALIBRATED_SHIFT)) & OCOTP_OUT_STATUS_CLR_CALIBRATED_MASK)
  64272. #define OCOTP_OUT_STATUS_CLR_READ_DONE_INTR_MASK (0x400000U)
  64273. #define OCOTP_OUT_STATUS_CLR_READ_DONE_INTR_SHIFT (22U)
  64274. /*! READ_DONE_INTR - Read fuse done
  64275. */
  64276. #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)
  64277. #define OCOTP_OUT_STATUS_CLR_READ_ERROR_INTR_MASK (0x800000U)
  64278. #define OCOTP_OUT_STATUS_CLR_READ_ERROR_INTR_SHIFT (23U)
  64279. /*! READ_ERROR_INTR - Fuse read error
  64280. */
  64281. #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)
  64282. #define OCOTP_OUT_STATUS_CLR_DED0_MASK (0x1000000U)
  64283. #define OCOTP_OUT_STATUS_CLR_DED0_SHIFT (24U)
  64284. /*! DED0 - Double error detect
  64285. */
  64286. #define OCOTP_OUT_STATUS_CLR_DED0(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_CLR_DED0_SHIFT)) & OCOTP_OUT_STATUS_CLR_DED0_MASK)
  64287. #define OCOTP_OUT_STATUS_CLR_DED1_MASK (0x2000000U)
  64288. #define OCOTP_OUT_STATUS_CLR_DED1_SHIFT (25U)
  64289. /*! DED1 - Double error detect
  64290. */
  64291. #define OCOTP_OUT_STATUS_CLR_DED1(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_CLR_DED1_SHIFT)) & OCOTP_OUT_STATUS_CLR_DED1_MASK)
  64292. #define OCOTP_OUT_STATUS_CLR_DED2_MASK (0x4000000U)
  64293. #define OCOTP_OUT_STATUS_CLR_DED2_SHIFT (26U)
  64294. /*! DED2 - Double error detect
  64295. */
  64296. #define OCOTP_OUT_STATUS_CLR_DED2(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_CLR_DED2_SHIFT)) & OCOTP_OUT_STATUS_CLR_DED2_MASK)
  64297. #define OCOTP_OUT_STATUS_CLR_DED3_MASK (0x8000000U)
  64298. #define OCOTP_OUT_STATUS_CLR_DED3_SHIFT (27U)
  64299. /*! DED3 - Double error detect
  64300. */
  64301. #define OCOTP_OUT_STATUS_CLR_DED3(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_CLR_DED3_SHIFT)) & OCOTP_OUT_STATUS_CLR_DED3_MASK)
  64302. /*! @} */
  64303. /*! @name OUT_STATUS_TOG - 8K OTP Memory STATUS Register */
  64304. /*! @{ */
  64305. #define OCOTP_OUT_STATUS_TOG_SEC_MASK (0x200U)
  64306. #define OCOTP_OUT_STATUS_TOG_SEC_SHIFT (9U)
  64307. /*! SEC - Single Error Correct
  64308. */
  64309. #define OCOTP_OUT_STATUS_TOG_SEC(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_TOG_SEC_SHIFT)) & OCOTP_OUT_STATUS_TOG_SEC_MASK)
  64310. #define OCOTP_OUT_STATUS_TOG_DED_MASK (0x400U)
  64311. #define OCOTP_OUT_STATUS_TOG_DED_SHIFT (10U)
  64312. /*! DED - Double error detect
  64313. */
  64314. #define OCOTP_OUT_STATUS_TOG_DED(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_TOG_DED_SHIFT)) & OCOTP_OUT_STATUS_TOG_DED_MASK)
  64315. #define OCOTP_OUT_STATUS_TOG_LOCKED_MASK (0x800U)
  64316. #define OCOTP_OUT_STATUS_TOG_LOCKED_SHIFT (11U)
  64317. /*! LOCKED - Word Locked
  64318. */
  64319. #define OCOTP_OUT_STATUS_TOG_LOCKED(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_TOG_LOCKED_SHIFT)) & OCOTP_OUT_STATUS_TOG_LOCKED_MASK)
  64320. #define OCOTP_OUT_STATUS_TOG_PROGFAIL_MASK (0x1000U)
  64321. #define OCOTP_OUT_STATUS_TOG_PROGFAIL_SHIFT (12U)
  64322. /*! PROGFAIL - Programming failed
  64323. */
  64324. #define OCOTP_OUT_STATUS_TOG_PROGFAIL(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_TOG_PROGFAIL_SHIFT)) & OCOTP_OUT_STATUS_TOG_PROGFAIL_MASK)
  64325. #define OCOTP_OUT_STATUS_TOG_ACK_MASK (0x2000U)
  64326. #define OCOTP_OUT_STATUS_TOG_ACK_SHIFT (13U)
  64327. /*! ACK - Acknowledge
  64328. */
  64329. #define OCOTP_OUT_STATUS_TOG_ACK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_TOG_ACK_SHIFT)) & OCOTP_OUT_STATUS_TOG_ACK_MASK)
  64330. #define OCOTP_OUT_STATUS_TOG_PWOK_MASK (0x4000U)
  64331. #define OCOTP_OUT_STATUS_TOG_PWOK_SHIFT (14U)
  64332. /*! PWOK - Power OK
  64333. */
  64334. #define OCOTP_OUT_STATUS_TOG_PWOK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_TOG_PWOK_SHIFT)) & OCOTP_OUT_STATUS_TOG_PWOK_MASK)
  64335. #define OCOTP_OUT_STATUS_TOG_FLAGSTATE_MASK (0x78000U)
  64336. #define OCOTP_OUT_STATUS_TOG_FLAGSTATE_SHIFT (15U)
  64337. /*! FLAGSTATE - Flag state
  64338. */
  64339. #define OCOTP_OUT_STATUS_TOG_FLAGSTATE(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_TOG_FLAGSTATE_SHIFT)) & OCOTP_OUT_STATUS_TOG_FLAGSTATE_MASK)
  64340. #define OCOTP_OUT_STATUS_TOG_SEC_RELOAD_MASK (0x80000U)
  64341. #define OCOTP_OUT_STATUS_TOG_SEC_RELOAD_SHIFT (19U)
  64342. /*! SEC_RELOAD - Indicates single error correction occured on reload
  64343. */
  64344. #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)
  64345. #define OCOTP_OUT_STATUS_TOG_DED_RELOAD_MASK (0x100000U)
  64346. #define OCOTP_OUT_STATUS_TOG_DED_RELOAD_SHIFT (20U)
  64347. /*! DED_RELOAD - Indicates double error detection occured on reload
  64348. */
  64349. #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)
  64350. #define OCOTP_OUT_STATUS_TOG_CALIBRATED_MASK (0x200000U)
  64351. #define OCOTP_OUT_STATUS_TOG_CALIBRATED_SHIFT (21U)
  64352. /*! CALIBRATED - Calibrated status
  64353. */
  64354. #define OCOTP_OUT_STATUS_TOG_CALIBRATED(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_TOG_CALIBRATED_SHIFT)) & OCOTP_OUT_STATUS_TOG_CALIBRATED_MASK)
  64355. #define OCOTP_OUT_STATUS_TOG_READ_DONE_INTR_MASK (0x400000U)
  64356. #define OCOTP_OUT_STATUS_TOG_READ_DONE_INTR_SHIFT (22U)
  64357. /*! READ_DONE_INTR - Read fuse done
  64358. */
  64359. #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)
  64360. #define OCOTP_OUT_STATUS_TOG_READ_ERROR_INTR_MASK (0x800000U)
  64361. #define OCOTP_OUT_STATUS_TOG_READ_ERROR_INTR_SHIFT (23U)
  64362. /*! READ_ERROR_INTR - Fuse read error
  64363. */
  64364. #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)
  64365. #define OCOTP_OUT_STATUS_TOG_DED0_MASK (0x1000000U)
  64366. #define OCOTP_OUT_STATUS_TOG_DED0_SHIFT (24U)
  64367. /*! DED0 - Double error detect
  64368. */
  64369. #define OCOTP_OUT_STATUS_TOG_DED0(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_TOG_DED0_SHIFT)) & OCOTP_OUT_STATUS_TOG_DED0_MASK)
  64370. #define OCOTP_OUT_STATUS_TOG_DED1_MASK (0x2000000U)
  64371. #define OCOTP_OUT_STATUS_TOG_DED1_SHIFT (25U)
  64372. /*! DED1 - Double error detect
  64373. */
  64374. #define OCOTP_OUT_STATUS_TOG_DED1(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_TOG_DED1_SHIFT)) & OCOTP_OUT_STATUS_TOG_DED1_MASK)
  64375. #define OCOTP_OUT_STATUS_TOG_DED2_MASK (0x4000000U)
  64376. #define OCOTP_OUT_STATUS_TOG_DED2_SHIFT (26U)
  64377. /*! DED2 - Double error detect
  64378. */
  64379. #define OCOTP_OUT_STATUS_TOG_DED2(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_TOG_DED2_SHIFT)) & OCOTP_OUT_STATUS_TOG_DED2_MASK)
  64380. #define OCOTP_OUT_STATUS_TOG_DED3_MASK (0x8000000U)
  64381. #define OCOTP_OUT_STATUS_TOG_DED3_SHIFT (27U)
  64382. /*! DED3 - Double error detect
  64383. */
  64384. #define OCOTP_OUT_STATUS_TOG_DED3(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_TOG_DED3_SHIFT)) & OCOTP_OUT_STATUS_TOG_DED3_MASK)
  64385. /*! @} */
  64386. /*! @name VERSION - OTP Controller Version Register */
  64387. /*! @{ */
  64388. #define OCOTP_VERSION_STEP_MASK (0xFFFFU)
  64389. #define OCOTP_VERSION_STEP_SHIFT (0U)
  64390. /*! STEP - RTL Version Stepping
  64391. */
  64392. #define OCOTP_VERSION_STEP(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_VERSION_STEP_SHIFT)) & OCOTP_VERSION_STEP_MASK)
  64393. #define OCOTP_VERSION_MINOR_MASK (0xFF0000U)
  64394. #define OCOTP_VERSION_MINOR_SHIFT (16U)
  64395. /*! MINOR - Minor RTL Version
  64396. */
  64397. #define OCOTP_VERSION_MINOR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_VERSION_MINOR_SHIFT)) & OCOTP_VERSION_MINOR_MASK)
  64398. #define OCOTP_VERSION_MAJOR_MASK (0xFF000000U)
  64399. #define OCOTP_VERSION_MAJOR_SHIFT (24U)
  64400. /*! MAJOR - Major RTL Version
  64401. */
  64402. #define OCOTP_VERSION_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_VERSION_MAJOR_SHIFT)) & OCOTP_VERSION_MAJOR_MASK)
  64403. /*! @} */
  64404. /*! @name READ_FUSE_DATA - OTP Controller Read Data 0 Register..OTP Controller Read Data 3 Register */
  64405. /*! @{ */
  64406. #define OCOTP_READ_FUSE_DATA_DATA_MASK (0xFFFFFFFFU)
  64407. #define OCOTP_READ_FUSE_DATA_DATA_SHIFT (0U)
  64408. /*! DATA - Data
  64409. */
  64410. #define OCOTP_READ_FUSE_DATA_DATA(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_READ_FUSE_DATA_DATA_SHIFT)) & OCOTP_READ_FUSE_DATA_DATA_MASK)
  64411. /*! @} */
  64412. /* The count of OCOTP_READ_FUSE_DATA */
  64413. #define OCOTP_READ_FUSE_DATA_COUNT (4U)
  64414. /*! @name SW_LOCK - SW_LOCK Register */
  64415. /*! @{ */
  64416. #define OCOTP_SW_LOCK_SW_LOCK_MASK (0xFFFFFFFFU)
  64417. #define OCOTP_SW_LOCK_SW_LOCK_SHIFT (0U)
  64418. #define OCOTP_SW_LOCK_SW_LOCK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SW_LOCK_SW_LOCK_SHIFT)) & OCOTP_SW_LOCK_SW_LOCK_MASK)
  64419. /*! @} */
  64420. /*! @name BIT_LOCK - BIT_LOCK Register */
  64421. /*! @{ */
  64422. #define OCOTP_BIT_LOCK_BIT_LOCK_MASK (0xFFFFFFFFU)
  64423. #define OCOTP_BIT_LOCK_BIT_LOCK_SHIFT (0U)
  64424. #define OCOTP_BIT_LOCK_BIT_LOCK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_BIT_LOCK_BIT_LOCK_SHIFT)) & OCOTP_BIT_LOCK_BIT_LOCK_MASK)
  64425. /*! @} */
  64426. /*! @name LOCKED0 - OTP Controller Program Locked Status 0 Register */
  64427. /*! @{ */
  64428. #define OCOTP_LOCKED0_LOCKED_MASK (0xFFFFU)
  64429. #define OCOTP_LOCKED0_LOCKED_SHIFT (0U)
  64430. #define OCOTP_LOCKED0_LOCKED(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_LOCKED0_LOCKED_SHIFT)) & OCOTP_LOCKED0_LOCKED_MASK)
  64431. /*! @} */
  64432. /*! @name LOCKED1 - OTP Controller Program Locked Status 1 Register */
  64433. /*! @{ */
  64434. #define OCOTP_LOCKED1_LOCKED_MASK (0xFFFFFFFFU)
  64435. #define OCOTP_LOCKED1_LOCKED_SHIFT (0U)
  64436. #define OCOTP_LOCKED1_LOCKED(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_LOCKED1_LOCKED_SHIFT)) & OCOTP_LOCKED1_LOCKED_MASK)
  64437. /*! @} */
  64438. /*! @name LOCKED2 - OTP Controller Program Locked Status 2 Register */
  64439. /*! @{ */
  64440. #define OCOTP_LOCKED2_LOCKED_MASK (0xFFFFFFFFU)
  64441. #define OCOTP_LOCKED2_LOCKED_SHIFT (0U)
  64442. #define OCOTP_LOCKED2_LOCKED(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_LOCKED2_LOCKED_SHIFT)) & OCOTP_LOCKED2_LOCKED_MASK)
  64443. /*! @} */
  64444. /*! @name LOCKED3 - OTP Controller Program Locked Status 3 Register */
  64445. /*! @{ */
  64446. #define OCOTP_LOCKED3_LOCKED_MASK (0xFFFFFFFFU)
  64447. #define OCOTP_LOCKED3_LOCKED_SHIFT (0U)
  64448. #define OCOTP_LOCKED3_LOCKED(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_LOCKED3_LOCKED_SHIFT)) & OCOTP_LOCKED3_LOCKED_MASK)
  64449. /*! @} */
  64450. /*! @name LOCKED4 - OTP Controller Program Locked Status 4 Register */
  64451. /*! @{ */
  64452. #define OCOTP_LOCKED4_LOCKED_MASK (0xFFFFFFFFU)
  64453. #define OCOTP_LOCKED4_LOCKED_SHIFT (0U)
  64454. #define OCOTP_LOCKED4_LOCKED(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_LOCKED4_LOCKED_SHIFT)) & OCOTP_LOCKED4_LOCKED_MASK)
  64455. /*! @} */
  64456. /*! @name FUSE - Value of fuse word 0..Value of fuse word 143 */
  64457. /*! @{ */
  64458. #define OCOTP_FUSE_BITS_MASK (0xFFFFFFFFU)
  64459. #define OCOTP_FUSE_BITS_SHIFT (0U)
  64460. /*! BITS - Reflects value of the fuse word
  64461. */
  64462. #define OCOTP_FUSE_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_FUSE_BITS_SHIFT)) & OCOTP_FUSE_BITS_MASK)
  64463. /*! @} */
  64464. /* The count of OCOTP_FUSE */
  64465. #define OCOTP_FUSE_COUNT (144U)
  64466. /*!
  64467. * @}
  64468. */ /* end of group OCOTP_Register_Masks */
  64469. /* OCOTP - Peripheral instance base addresses */
  64470. /** Peripheral OCOTP base address */
  64471. #define OCOTP_BASE (0x40CAC000u)
  64472. /** Peripheral OCOTP base pointer */
  64473. #define OCOTP ((OCOTP_Type *)OCOTP_BASE)
  64474. /** Array initializer of OCOTP peripheral base addresses */
  64475. #define OCOTP_BASE_ADDRS { OCOTP_BASE }
  64476. /** Array initializer of OCOTP peripheral base pointers */
  64477. #define OCOTP_BASE_PTRS { OCOTP }
  64478. /*!
  64479. * @}
  64480. */ /* end of group OCOTP_Peripheral_Access_Layer */
  64481. /* ----------------------------------------------------------------------------
  64482. -- OSC_RC_400M Peripheral Access Layer
  64483. ---------------------------------------------------------------------------- */
  64484. /*!
  64485. * @addtogroup OSC_RC_400M_Peripheral_Access_Layer OSC_RC_400M Peripheral Access Layer
  64486. * @{
  64487. */
  64488. /** OSC_RC_400M - Register Layout Typedef */
  64489. typedef struct {
  64490. struct { /* offset: 0x0 */
  64491. __IO uint32_t RW; /**< Control Register 0, offset: 0x0 */
  64492. __IO uint32_t SET; /**< Control Register 0, offset: 0x4 */
  64493. __IO uint32_t CLR; /**< Control Register 0, offset: 0x8 */
  64494. __IO uint32_t TOG; /**< Control Register 0, offset: 0xC */
  64495. } CTRL0;
  64496. struct { /* offset: 0x10 */
  64497. __IO uint32_t RW; /**< Control Register 1, offset: 0x10 */
  64498. __IO uint32_t SET; /**< Control Register 1, offset: 0x14 */
  64499. __IO uint32_t CLR; /**< Control Register 1, offset: 0x18 */
  64500. __IO uint32_t TOG; /**< Control Register 1, offset: 0x1C */
  64501. } CTRL1;
  64502. struct { /* offset: 0x20 */
  64503. __IO uint32_t RW; /**< Control Register 2, offset: 0x20 */
  64504. __IO uint32_t SET; /**< Control Register 2, offset: 0x24 */
  64505. __IO uint32_t CLR; /**< Control Register 2, offset: 0x28 */
  64506. __IO uint32_t TOG; /**< Control Register 2, offset: 0x2C */
  64507. } CTRL2;
  64508. struct { /* offset: 0x30 */
  64509. __IO uint32_t RW; /**< Control Register 3, offset: 0x30 */
  64510. __IO uint32_t SET; /**< Control Register 3, offset: 0x34 */
  64511. __IO uint32_t CLR; /**< Control Register 3, offset: 0x38 */
  64512. __IO uint32_t TOG; /**< Control Register 3, offset: 0x3C */
  64513. } CTRL3;
  64514. uint8_t RESERVED_0[16];
  64515. struct { /* offset: 0x50 */
  64516. __I uint32_t RW; /**< Status Register 0, offset: 0x50 */
  64517. __I uint32_t SET; /**< Status Register 0, offset: 0x54 */
  64518. __I uint32_t CLR; /**< Status Register 0, offset: 0x58 */
  64519. __I uint32_t TOG; /**< Status Register 0, offset: 0x5C */
  64520. } STAT0;
  64521. struct { /* offset: 0x60 */
  64522. __I uint32_t RW; /**< Status Register 1, offset: 0x60 */
  64523. __I uint32_t SET; /**< Status Register 1, offset: 0x64 */
  64524. __I uint32_t CLR; /**< Status Register 1, offset: 0x68 */
  64525. __I uint32_t TOG; /**< Status Register 1, offset: 0x6C */
  64526. } STAT1;
  64527. struct { /* offset: 0x70 */
  64528. __I uint32_t RW; /**< Status Register 2, offset: 0x70 */
  64529. __I uint32_t SET; /**< Status Register 2, offset: 0x74 */
  64530. __I uint32_t CLR; /**< Status Register 2, offset: 0x78 */
  64531. __I uint32_t TOG; /**< Status Register 2, offset: 0x7C */
  64532. } STAT2;
  64533. } OSC_RC_400M_Type;
  64534. /* ----------------------------------------------------------------------------
  64535. -- OSC_RC_400M Register Masks
  64536. ---------------------------------------------------------------------------- */
  64537. /*!
  64538. * @addtogroup OSC_RC_400M_Register_Masks OSC_RC_400M Register Masks
  64539. * @{
  64540. */
  64541. /*! @name CTRL0 - Control Register 0 */
  64542. /*! @{ */
  64543. #define OSC_RC_400M_CTRL0_REF_CLK_DIV_MASK (0x3F000000U)
  64544. #define OSC_RC_400M_CTRL0_REF_CLK_DIV_SHIFT (24U)
  64545. /*! REF_CLK_DIV - Divide value for ref_clk to generate slow_clk (used inside this IP)
  64546. */
  64547. #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)
  64548. /*! @} */
  64549. /*! @name CTRL1 - Control Register 1 */
  64550. /*! @{ */
  64551. #define OSC_RC_400M_CTRL1_HYST_MINUS_MASK (0xFU)
  64552. #define OSC_RC_400M_CTRL1_HYST_MINUS_SHIFT (0U)
  64553. /*! HYST_MINUS - Negative hysteresis value for the tuned clock
  64554. */
  64555. #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)
  64556. #define OSC_RC_400M_CTRL1_HYST_PLUS_MASK (0xF00U)
  64557. #define OSC_RC_400M_CTRL1_HYST_PLUS_SHIFT (8U)
  64558. /*! HYST_PLUS - Positive hysteresis value for the tuned clock
  64559. */
  64560. #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)
  64561. #define OSC_RC_400M_CTRL1_TARGET_COUNT_MASK (0xFFFF0000U)
  64562. #define OSC_RC_400M_CTRL1_TARGET_COUNT_SHIFT (16U)
  64563. /*! TARGET_COUNT - Target count for the fast clock
  64564. */
  64565. #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)
  64566. /*! @} */
  64567. /*! @name CTRL2 - Control Register 2 */
  64568. /*! @{ */
  64569. #define OSC_RC_400M_CTRL2_TUNE_BYP_MASK (0x400U)
  64570. #define OSC_RC_400M_CTRL2_TUNE_BYP_SHIFT (10U)
  64571. /*! TUNE_BYP - Bypass the tuning logic
  64572. * 0b0..Use the output of tuning logic to run the oscillator
  64573. * 0b1..Bypass the tuning logic and use the programmed OSC_TUNE_VAL to run the oscillator
  64574. */
  64575. #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)
  64576. #define OSC_RC_400M_CTRL2_TUNE_EN_MASK (0x1000U)
  64577. #define OSC_RC_400M_CTRL2_TUNE_EN_SHIFT (12U)
  64578. /*! TUNE_EN - Freeze/Unfreeze the tuning value
  64579. * 0b0..Freezes the tuning at the current tuned value. Oscillator runs at the frozen tuning value
  64580. * 0b1..Unfreezes and continues the tuning operation
  64581. */
  64582. #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)
  64583. #define OSC_RC_400M_CTRL2_TUNE_START_MASK (0x4000U)
  64584. #define OSC_RC_400M_CTRL2_TUNE_START_SHIFT (14U)
  64585. /*! TUNE_START - Start/Stop tuning
  64586. * 0b0..Stop tuning and reset the tuning logic. Oscillator runs using programmed OSC_TUNE_VAL
  64587. * 0b1..Start tuning
  64588. */
  64589. #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)
  64590. #define OSC_RC_400M_CTRL2_OSC_TUNE_VAL_MASK (0xFF000000U)
  64591. #define OSC_RC_400M_CTRL2_OSC_TUNE_VAL_SHIFT (24U)
  64592. /*! OSC_TUNE_VAL - Program the oscillator frequency
  64593. */
  64594. #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)
  64595. /*! @} */
  64596. /*! @name CTRL3 - Control Register 3 */
  64597. /*! @{ */
  64598. #define OSC_RC_400M_CTRL3_CLR_ERR_MASK (0x1U)
  64599. #define OSC_RC_400M_CTRL3_CLR_ERR_SHIFT (0U)
  64600. /*! CLR_ERR - Clear the error flag CLK1M_ERR
  64601. * 0b0..No effect
  64602. * 0b1..Clears the error flag CLK1M_ERR in status register STAT0
  64603. */
  64604. #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)
  64605. #define OSC_RC_400M_CTRL3_EN_1M_CLK_MASK (0x100U)
  64606. #define OSC_RC_400M_CTRL3_EN_1M_CLK_SHIFT (8U)
  64607. /*! EN_1M_CLK - Enable 1MHz output Clock
  64608. * 0b0..Enable the output (clk_1m_out)
  64609. * 0b1..Disable the output (clk_1m_out)
  64610. */
  64611. #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)
  64612. #define OSC_RC_400M_CTRL3_MUX_1M_CLK_MASK (0x400U)
  64613. #define OSC_RC_400M_CTRL3_MUX_1M_CLK_SHIFT (10U)
  64614. /*! MUX_1M_CLK - Select free/locked 1MHz output
  64615. * 0b0..Select free-running 1MHz to be put out on clk_1m_out
  64616. * 0b1..Select locked 1MHz to be put out on clk_1m_out
  64617. */
  64618. #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)
  64619. #define OSC_RC_400M_CTRL3_COUNT_1M_CLK_MASK (0xFFFF0000U)
  64620. #define OSC_RC_400M_CTRL3_COUNT_1M_CLK_SHIFT (16U)
  64621. /*! COUNT_1M_CLK - Count for the locked clk_1m_out
  64622. */
  64623. #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)
  64624. /*! @} */
  64625. /*! @name STAT0 - Status Register 0 */
  64626. /*! @{ */
  64627. #define OSC_RC_400M_STAT0_CLK1M_ERR_MASK (0x1U)
  64628. #define OSC_RC_400M_STAT0_CLK1M_ERR_SHIFT (0U)
  64629. /*! CLK1M_ERR - Error flag for clk_1m_locked
  64630. * 0b0..No effect
  64631. * 0b1..The count value has been reached within one divided ref_clk period
  64632. */
  64633. #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)
  64634. /*! @} */
  64635. /*! @name STAT1 - Status Register 1 */
  64636. /*! @{ */
  64637. #define OSC_RC_400M_STAT1_CURR_COUNT_VAL_MASK (0xFFFF0000U)
  64638. #define OSC_RC_400M_STAT1_CURR_COUNT_VAL_SHIFT (16U)
  64639. /*! CURR_COUNT_VAL - Current count for the fast clock
  64640. */
  64641. #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)
  64642. /*! @} */
  64643. /*! @name STAT2 - Status Register 2 */
  64644. /*! @{ */
  64645. #define OSC_RC_400M_STAT2_CURR_OSC_TUNE_VAL_MASK (0xFF000000U)
  64646. #define OSC_RC_400M_STAT2_CURR_OSC_TUNE_VAL_SHIFT (24U)
  64647. /*! CURR_OSC_TUNE_VAL - Current tuning value used by oscillator
  64648. */
  64649. #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)
  64650. /*! @} */
  64651. /*!
  64652. * @}
  64653. */ /* end of group OSC_RC_400M_Register_Masks */
  64654. /* OSC_RC_400M - Peripheral instance base addresses */
  64655. /** Peripheral OSC_RC_400M base address */
  64656. #define OSC_RC_400M_BASE (0u)
  64657. /** Peripheral OSC_RC_400M base pointer */
  64658. #define OSC_RC_400M ((OSC_RC_400M_Type *)OSC_RC_400M_BASE)
  64659. /** Array initializer of OSC_RC_400M peripheral base addresses */
  64660. #define OSC_RC_400M_BASE_ADDRS { OSC_RC_400M_BASE }
  64661. /** Array initializer of OSC_RC_400M peripheral base pointers */
  64662. #define OSC_RC_400M_BASE_PTRS { OSC_RC_400M }
  64663. /*!
  64664. * @}
  64665. */ /* end of group OSC_RC_400M_Peripheral_Access_Layer */
  64666. /* ----------------------------------------------------------------------------
  64667. -- OTFAD Peripheral Access Layer
  64668. ---------------------------------------------------------------------------- */
  64669. /*!
  64670. * @addtogroup OTFAD_Peripheral_Access_Layer OTFAD Peripheral Access Layer
  64671. * @{
  64672. */
  64673. /** OTFAD - Register Layout Typedef */
  64674. typedef struct {
  64675. uint8_t RESERVED_0[3072];
  64676. __IO uint32_t CR; /**< Control Register, offset: 0xC00 */
  64677. __IO uint32_t SR; /**< Status Register, offset: 0xC04 */
  64678. uint8_t RESERVED_1[248];
  64679. struct { /* offset: 0xD00, array step: 0x40 */
  64680. __IO uint32_t KEY[4]; /**< AES Key Word, array offset: 0xD00, array step: index*0x40, index2*0x4 */
  64681. __IO uint32_t CTR[2]; /**< AES Counter Word, array offset: 0xD10, array step: index*0x40, index2*0x4 */
  64682. __IO uint32_t RGD_W0; /**< AES Region Descriptor Word0, array offset: 0xD18, array step: 0x40 */
  64683. __IO uint32_t RGD_W1; /**< AES Region Descriptor Word1, array offset: 0xD1C, array step: 0x40 */
  64684. uint8_t RESERVED_0[32];
  64685. } CTX[4];
  64686. } OTFAD_Type;
  64687. /* ----------------------------------------------------------------------------
  64688. -- OTFAD Register Masks
  64689. ---------------------------------------------------------------------------- */
  64690. /*!
  64691. * @addtogroup OTFAD_Register_Masks OTFAD Register Masks
  64692. * @{
  64693. */
  64694. /*! @name CR - Control Register */
  64695. /*! @{ */
  64696. #define OTFAD_CR_FERR_MASK (0x2U)
  64697. #define OTFAD_CR_FERR_SHIFT (1U)
  64698. /*! FERR - Force Error
  64699. * 0b0..No effect on the SR[KBERE] indicator.
  64700. * 0b1..SR[KBERR] is immediately set after a write with this data bit set.
  64701. */
  64702. #define OTFAD_CR_FERR(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_CR_FERR_SHIFT)) & OTFAD_CR_FERR_MASK)
  64703. #define OTFAD_CR_FLDM_MASK (0x8U)
  64704. #define OTFAD_CR_FLDM_SHIFT (3U)
  64705. /*! FLDM - Force Logically Disabled Mode
  64706. * 0b0..No effect on the operating mode.
  64707. * 0b1..Force entry into LDM after a write with this data bit set. SR[MODE] signals the operating mode.
  64708. */
  64709. #define OTFAD_CR_FLDM(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_CR_FLDM_SHIFT)) & OTFAD_CR_FLDM_MASK)
  64710. #define OTFAD_CR_KBSE_MASK (0x10U)
  64711. #define OTFAD_CR_KBSE_SHIFT (4U)
  64712. /*! KBSE - Key Blob Scramble Enable
  64713. * 0b0..Key blob KEK scrambling is disabled.
  64714. * 0b1..Key blob KEK scrambling is enabled.
  64715. */
  64716. #define OTFAD_CR_KBSE(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_CR_KBSE_SHIFT)) & OTFAD_CR_KBSE_MASK)
  64717. #define OTFAD_CR_KBPE_MASK (0x20U)
  64718. #define OTFAD_CR_KBPE_SHIFT (5U)
  64719. /*! KBPE - Key Blob Processing Enable
  64720. * 0b0..Key blob processing is disabled.
  64721. * 0b1..Key blob processing is enabled.
  64722. */
  64723. #define OTFAD_CR_KBPE(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_CR_KBPE_SHIFT)) & OTFAD_CR_KBPE_MASK)
  64724. #define OTFAD_CR_RRAE_MASK (0x80U)
  64725. #define OTFAD_CR_RRAE_SHIFT (7U)
  64726. /*! RRAE - Restricted Register Access Enable
  64727. * 0b0..Register access is fully enabled. The OTFAD programming model registers can be accessed "normally".
  64728. * 0b1..Register access is restricted and only the CR, SR and optional MDPC registers can be accessed; others are treated as RAZ/WI.
  64729. */
  64730. #define OTFAD_CR_RRAE(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_CR_RRAE_SHIFT)) & OTFAD_CR_RRAE_MASK)
  64731. #define OTFAD_CR_SKBP_MASK (0x40000000U)
  64732. #define OTFAD_CR_SKBP_SHIFT (30U)
  64733. /*! SKBP - Start key blob processing
  64734. * 0b0..Key blob processing is not initiated.
  64735. * 0b1..Properly-enabled key blob processing is initiated.
  64736. */
  64737. #define OTFAD_CR_SKBP(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_CR_SKBP_SHIFT)) & OTFAD_CR_SKBP_MASK)
  64738. #define OTFAD_CR_GE_MASK (0x80000000U)
  64739. #define OTFAD_CR_GE_SHIFT (31U)
  64740. /*! GE - Global OTFAD Enable
  64741. * 0b0..OTFAD has decryption disabled. All data fetched by the FlexSPI bypasses OTFAD processing.
  64742. * 0b1..OTFAD has decryption enabled, and processes data fetched by the FlexSPI as defined by the hardware configuration.
  64743. */
  64744. #define OTFAD_CR_GE(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_CR_GE_SHIFT)) & OTFAD_CR_GE_MASK)
  64745. /*! @} */
  64746. /*! @name SR - Status Register */
  64747. /*! @{ */
  64748. #define OTFAD_SR_KBERR_MASK (0x1U)
  64749. #define OTFAD_SR_KBERR_SHIFT (0U)
  64750. /*! KBERR - Key Blob Error
  64751. * 0b0..No key blob error detected.
  64752. * 0b1..One or more key blob errors has been detected.
  64753. */
  64754. #define OTFAD_SR_KBERR(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_SR_KBERR_SHIFT)) & OTFAD_SR_KBERR_MASK)
  64755. #define OTFAD_SR_MDPCP_MASK (0x2U)
  64756. #define OTFAD_SR_MDPCP_SHIFT (1U)
  64757. /*! MDPCP - MDPC Present
  64758. */
  64759. #define OTFAD_SR_MDPCP(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_SR_MDPCP_SHIFT)) & OTFAD_SR_MDPCP_MASK)
  64760. #define OTFAD_SR_MODE_MASK (0xCU)
  64761. #define OTFAD_SR_MODE_SHIFT (2U)
  64762. /*! MODE - Operating Mode
  64763. * 0b00..Operating in Normal mode (NRM)
  64764. * 0b01..Unused (reserved)
  64765. * 0b10..Unused (reserved)
  64766. * 0b11..Operating in Logically Disabled Mode (LDM)
  64767. */
  64768. #define OTFAD_SR_MODE(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_SR_MODE_SHIFT)) & OTFAD_SR_MODE_MASK)
  64769. #define OTFAD_SR_NCTX_MASK (0xF0U)
  64770. #define OTFAD_SR_NCTX_SHIFT (4U)
  64771. /*! NCTX - Number of Contexts
  64772. */
  64773. #define OTFAD_SR_NCTX(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_SR_NCTX_SHIFT)) & OTFAD_SR_NCTX_MASK)
  64774. #define OTFAD_SR_CTXER0_MASK (0x100U)
  64775. #define OTFAD_SR_CTXER0_SHIFT (8U)
  64776. /*! CTXER0 - Context Error
  64777. * 0b0..No key blob error was detected for context "n".
  64778. * 0b1..A key blob integrity error might have been detected in context "n".
  64779. */
  64780. #define OTFAD_SR_CTXER0(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_SR_CTXER0_SHIFT)) & OTFAD_SR_CTXER0_MASK)
  64781. #define OTFAD_SR_CTXER1_MASK (0x200U)
  64782. #define OTFAD_SR_CTXER1_SHIFT (9U)
  64783. /*! CTXER1 - Context Error
  64784. * 0b0..No key blob error was detected for context "n".
  64785. * 0b1..A key blob integrity error might have been detected in context "n".
  64786. */
  64787. #define OTFAD_SR_CTXER1(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_SR_CTXER1_SHIFT)) & OTFAD_SR_CTXER1_MASK)
  64788. #define OTFAD_SR_CTXER2_MASK (0x400U)
  64789. #define OTFAD_SR_CTXER2_SHIFT (10U)
  64790. /*! CTXER2 - Context Error
  64791. * 0b0..No key blob error was detected for context "n".
  64792. * 0b1..A key blob integrity error might have been detected in context "n".
  64793. */
  64794. #define OTFAD_SR_CTXER2(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_SR_CTXER2_SHIFT)) & OTFAD_SR_CTXER2_MASK)
  64795. #define OTFAD_SR_CTXER3_MASK (0x800U)
  64796. #define OTFAD_SR_CTXER3_SHIFT (11U)
  64797. /*! CTXER3 - Context Error
  64798. * 0b0..No key blob error was detected for context "n".
  64799. * 0b1..A key blob integrity error might have been detected in context "n".
  64800. */
  64801. #define OTFAD_SR_CTXER3(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_SR_CTXER3_SHIFT)) & OTFAD_SR_CTXER3_MASK)
  64802. #define OTFAD_SR_CTXIE0_MASK (0x10000U)
  64803. #define OTFAD_SR_CTXIE0_SHIFT (16U)
  64804. /*! CTXIE0 - Context Integrity Error
  64805. * 0b0..No key blob integrity error was detected for context "n".
  64806. * 0b1..A key blob integrity error was detected in context "n".
  64807. */
  64808. #define OTFAD_SR_CTXIE0(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_SR_CTXIE0_SHIFT)) & OTFAD_SR_CTXIE0_MASK)
  64809. #define OTFAD_SR_CTXIE1_MASK (0x20000U)
  64810. #define OTFAD_SR_CTXIE1_SHIFT (17U)
  64811. /*! CTXIE1 - Context Integrity Error
  64812. * 0b0..No key blob integrity error was detected for context "n".
  64813. * 0b1..A key blob integrity error was detected in context "n".
  64814. */
  64815. #define OTFAD_SR_CTXIE1(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_SR_CTXIE1_SHIFT)) & OTFAD_SR_CTXIE1_MASK)
  64816. #define OTFAD_SR_CTXIE2_MASK (0x40000U)
  64817. #define OTFAD_SR_CTXIE2_SHIFT (18U)
  64818. /*! CTXIE2 - Context Integrity Error
  64819. * 0b0..No key blob integrity error was detected for context "n".
  64820. * 0b1..A key blob integrity error was detected in context "n".
  64821. */
  64822. #define OTFAD_SR_CTXIE2(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_SR_CTXIE2_SHIFT)) & OTFAD_SR_CTXIE2_MASK)
  64823. #define OTFAD_SR_CTXIE3_MASK (0x80000U)
  64824. #define OTFAD_SR_CTXIE3_SHIFT (19U)
  64825. /*! CTXIE3 - Context Integrity Error
  64826. * 0b0..No key blob integrity error was detected for context "n".
  64827. * 0b1..A key blob integrity error was detected in context "n".
  64828. */
  64829. #define OTFAD_SR_CTXIE3(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_SR_CTXIE3_SHIFT)) & OTFAD_SR_CTXIE3_MASK)
  64830. #define OTFAD_SR_HRL_MASK (0xF000000U)
  64831. #define OTFAD_SR_HRL_SHIFT (24U)
  64832. /*! HRL - Hardware Revision Level
  64833. */
  64834. #define OTFAD_SR_HRL(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_SR_HRL_SHIFT)) & OTFAD_SR_HRL_MASK)
  64835. #define OTFAD_SR_RRAM_MASK (0x10000000U)
  64836. #define OTFAD_SR_RRAM_SHIFT (28U)
  64837. /*! RRAM - Restricted Register Access Mode
  64838. * 0b0..Register access is fully enabled. The OTFAD programming model registers can be accessed "normally".
  64839. * 0b1..Register access is restricted and only the CR, SR and optional MDPC registers can be accessed; others are treated as RAZ/WI.
  64840. */
  64841. #define OTFAD_SR_RRAM(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_SR_RRAM_SHIFT)) & OTFAD_SR_RRAM_MASK)
  64842. #define OTFAD_SR_GEM_MASK (0x20000000U)
  64843. #define OTFAD_SR_GEM_SHIFT (29U)
  64844. /*! GEM - Global Enable Mode
  64845. * 0b0..OTFAD is disabled. All data fetched by the FlexSPI bypasses OTFAD processing.
  64846. * 0b1..OTFAD is enabled, and processes data fetched by the FlexSPI as defined by the hardware configuration.
  64847. */
  64848. #define OTFAD_SR_GEM(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_SR_GEM_SHIFT)) & OTFAD_SR_GEM_MASK)
  64849. #define OTFAD_SR_KBPE_MASK (0x40000000U)
  64850. #define OTFAD_SR_KBPE_SHIFT (30U)
  64851. /*! KBPE - Key Blob Processing Enable
  64852. * 0b0..Key blob processing is not enabled.
  64853. * 0b1..Key blob processing is enabled.
  64854. */
  64855. #define OTFAD_SR_KBPE(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_SR_KBPE_SHIFT)) & OTFAD_SR_KBPE_MASK)
  64856. #define OTFAD_SR_KBD_MASK (0x80000000U)
  64857. #define OTFAD_SR_KBD_SHIFT (31U)
  64858. /*! KBD - Key Blob Processing Done
  64859. * 0b0..Key blob processing was not enabled, or is not complete.
  64860. * 0b1..Key blob processing was enabled and is complete.
  64861. */
  64862. #define OTFAD_SR_KBD(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_SR_KBD_SHIFT)) & OTFAD_SR_KBD_MASK)
  64863. /*! @} */
  64864. /*! @name KEY - AES Key Word */
  64865. /*! @{ */
  64866. #define OTFAD_KEY_KEY_MASK (0xFFFFFFFFU)
  64867. #define OTFAD_KEY_KEY_SHIFT (0U)
  64868. /*! KEY - AES Key
  64869. */
  64870. #define OTFAD_KEY_KEY(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_KEY_KEY_SHIFT)) & OTFAD_KEY_KEY_MASK)
  64871. /*! @} */
  64872. /* The count of OTFAD_KEY */
  64873. #define OTFAD_KEY_COUNT (4U)
  64874. /* The count of OTFAD_KEY */
  64875. #define OTFAD_KEY_COUNT2 (4U)
  64876. /*! @name CTR - AES Counter Word */
  64877. /*! @{ */
  64878. #define OTFAD_CTR_CTR_MASK (0xFFFFFFFFU)
  64879. #define OTFAD_CTR_CTR_SHIFT (0U)
  64880. /*! CTR - AES Counter
  64881. */
  64882. #define OTFAD_CTR_CTR(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_CTR_CTR_SHIFT)) & OTFAD_CTR_CTR_MASK)
  64883. /*! @} */
  64884. /* The count of OTFAD_CTR */
  64885. #define OTFAD_CTR_COUNT (4U)
  64886. /* The count of OTFAD_CTR */
  64887. #define OTFAD_CTR_COUNT2 (2U)
  64888. /*! @name RGD_W0 - AES Region Descriptor Word0 */
  64889. /*! @{ */
  64890. #define OTFAD_RGD_W0_SRTADDR_MASK (0xFFFFFC00U)
  64891. #define OTFAD_RGD_W0_SRTADDR_SHIFT (10U)
  64892. /*! SRTADDR - Start Address
  64893. */
  64894. #define OTFAD_RGD_W0_SRTADDR(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_RGD_W0_SRTADDR_SHIFT)) & OTFAD_RGD_W0_SRTADDR_MASK)
  64895. /*! @} */
  64896. /* The count of OTFAD_RGD_W0 */
  64897. #define OTFAD_RGD_W0_COUNT (4U)
  64898. /*! @name RGD_W1 - AES Region Descriptor Word1 */
  64899. /*! @{ */
  64900. #define OTFAD_RGD_W1_VLD_MASK (0x1U)
  64901. #define OTFAD_RGD_W1_VLD_SHIFT (0U)
  64902. /*! VLD - Valid
  64903. * 0b0..Context is invalid.
  64904. * 0b1..Context is valid.
  64905. */
  64906. #define OTFAD_RGD_W1_VLD(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_RGD_W1_VLD_SHIFT)) & OTFAD_RGD_W1_VLD_MASK)
  64907. #define OTFAD_RGD_W1_ADE_MASK (0x2U)
  64908. #define OTFAD_RGD_W1_ADE_SHIFT (1U)
  64909. /*! ADE - AES Decryption Enable.
  64910. * 0b0..Bypass the fetched data.
  64911. * 0b1..Perform the CTR-AES128 mode decryption on the fetched data.
  64912. */
  64913. #define OTFAD_RGD_W1_ADE(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_RGD_W1_ADE_SHIFT)) & OTFAD_RGD_W1_ADE_MASK)
  64914. #define OTFAD_RGD_W1_RO_MASK (0x4U)
  64915. #define OTFAD_RGD_W1_RO_SHIFT (2U)
  64916. /*! RO - Read-Only
  64917. * 0b0..The context registers can be accessed normally (as defined by SR[RRAM]).
  64918. * 0b1..The context registers are read-only and accesses may be further restricted based on SR[RRAM].
  64919. */
  64920. #define OTFAD_RGD_W1_RO(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_RGD_W1_RO_SHIFT)) & OTFAD_RGD_W1_RO_MASK)
  64921. #define OTFAD_RGD_W1_ENDADDR_MASK (0xFFFFFC00U)
  64922. #define OTFAD_RGD_W1_ENDADDR_SHIFT (10U)
  64923. /*! ENDADDR - End Address
  64924. */
  64925. #define OTFAD_RGD_W1_ENDADDR(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_RGD_W1_ENDADDR_SHIFT)) & OTFAD_RGD_W1_ENDADDR_MASK)
  64926. /*! @} */
  64927. /* The count of OTFAD_RGD_W1 */
  64928. #define OTFAD_RGD_W1_COUNT (4U)
  64929. /*!
  64930. * @}
  64931. */ /* end of group OTFAD_Register_Masks */
  64932. /* OTFAD - Peripheral instance base addresses */
  64933. /** Peripheral OTFAD1 base address */
  64934. #define OTFAD1_BASE (0x400CC000u)
  64935. /** Peripheral OTFAD1 base pointer */
  64936. #define OTFAD1 ((OTFAD_Type *)OTFAD1_BASE)
  64937. /** Peripheral OTFAD2 base address */
  64938. #define OTFAD2_BASE (0x400D0000u)
  64939. /** Peripheral OTFAD2 base pointer */
  64940. #define OTFAD2 ((OTFAD_Type *)OTFAD2_BASE)
  64941. /** Array initializer of OTFAD peripheral base addresses */
  64942. #define OTFAD_BASE_ADDRS { 0u, OTFAD1_BASE, OTFAD2_BASE }
  64943. /** Array initializer of OTFAD peripheral base pointers */
  64944. #define OTFAD_BASE_PTRS { (OTFAD_Type *)0u, OTFAD1, OTFAD2 }
  64945. /*!
  64946. * @}
  64947. */ /* end of group OTFAD_Peripheral_Access_Layer */
  64948. /* ----------------------------------------------------------------------------
  64949. -- PDM Peripheral Access Layer
  64950. ---------------------------------------------------------------------------- */
  64951. /*!
  64952. * @addtogroup PDM_Peripheral_Access_Layer PDM Peripheral Access Layer
  64953. * @{
  64954. */
  64955. /** PDM - Register Layout Typedef */
  64956. typedef struct {
  64957. __IO uint32_t CTRL_1; /**< PDM Control register 1, offset: 0x0 */
  64958. __IO uint32_t CTRL_2; /**< PDM Control register 2, offset: 0x4 */
  64959. __IO uint32_t STAT; /**< PDM Status register, offset: 0x8 */
  64960. uint8_t RESERVED_0[4];
  64961. __IO uint32_t FIFO_CTRL; /**< PDM FIFO Control register, offset: 0x10 */
  64962. __IO uint32_t FIFO_STAT; /**< PDM FIFO Status register, offset: 0x14 */
  64963. uint8_t RESERVED_1[12];
  64964. __I uint32_t DATACH[8]; /**< PDM Output Result Register, array offset: 0x24, array step: 0x4 */
  64965. uint8_t RESERVED_2[32];
  64966. __IO uint32_t DC_CTRL; /**< PDM DC Remover Control register, offset: 0x64 */
  64967. uint8_t RESERVED_3[12];
  64968. __IO uint32_t RANGE_CTRL; /**< PDM Range Control register, offset: 0x74 */
  64969. uint8_t RESERVED_4[4];
  64970. __IO uint32_t RANGE_STAT; /**< PDM Range Status register, offset: 0x7C */
  64971. uint8_t RESERVED_5[16];
  64972. __IO uint32_t VAD0_CTRL_1; /**< Voice Activity Detector 0 Control register, offset: 0x90 */
  64973. __IO uint32_t VAD0_CTRL_2; /**< Voice Activity Detector 0 Control register, offset: 0x94 */
  64974. __IO uint32_t VAD0_STAT; /**< Voice Activity Detector 0 Status register, offset: 0x98 */
  64975. __IO uint32_t VAD0_SCONFIG; /**< Voice Activity Detector 0 Signal Configuration, offset: 0x9C */
  64976. __IO uint32_t VAD0_NCONFIG; /**< Voice Activity Detector 0 Noise Configuration, offset: 0xA0 */
  64977. __I uint32_t VAD0_NDATA; /**< Voice Activity Detector 0 Noise Data, offset: 0xA4 */
  64978. __IO uint32_t VAD0_ZCD; /**< Voice Activity Detector 0 Zero-Crossing Detector, offset: 0xA8 */
  64979. } PDM_Type;
  64980. /* ----------------------------------------------------------------------------
  64981. -- PDM Register Masks
  64982. ---------------------------------------------------------------------------- */
  64983. /*!
  64984. * @addtogroup PDM_Register_Masks PDM Register Masks
  64985. * @{
  64986. */
  64987. /*! @name CTRL_1 - PDM Control register 1 */
  64988. /*! @{ */
  64989. #define PDM_CTRL_1_CH0EN_MASK (0x1U)
  64990. #define PDM_CTRL_1_CH0EN_SHIFT (0U)
  64991. /*! CH0EN - Channel 0 Enable
  64992. */
  64993. #define PDM_CTRL_1_CH0EN(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_CH0EN_SHIFT)) & PDM_CTRL_1_CH0EN_MASK)
  64994. #define PDM_CTRL_1_CH1EN_MASK (0x2U)
  64995. #define PDM_CTRL_1_CH1EN_SHIFT (1U)
  64996. /*! CH1EN - Channel 1 Enable
  64997. */
  64998. #define PDM_CTRL_1_CH1EN(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_CH1EN_SHIFT)) & PDM_CTRL_1_CH1EN_MASK)
  64999. #define PDM_CTRL_1_CH2EN_MASK (0x4U)
  65000. #define PDM_CTRL_1_CH2EN_SHIFT (2U)
  65001. /*! CH2EN - Channel 2 Enable
  65002. */
  65003. #define PDM_CTRL_1_CH2EN(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_CH2EN_SHIFT)) & PDM_CTRL_1_CH2EN_MASK)
  65004. #define PDM_CTRL_1_CH3EN_MASK (0x8U)
  65005. #define PDM_CTRL_1_CH3EN_SHIFT (3U)
  65006. /*! CH3EN - Channel 3 Enable
  65007. */
  65008. #define PDM_CTRL_1_CH3EN(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_CH3EN_SHIFT)) & PDM_CTRL_1_CH3EN_MASK)
  65009. #define PDM_CTRL_1_CH4EN_MASK (0x10U)
  65010. #define PDM_CTRL_1_CH4EN_SHIFT (4U)
  65011. /*! CH4EN - Channel 4 Enable
  65012. */
  65013. #define PDM_CTRL_1_CH4EN(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_CH4EN_SHIFT)) & PDM_CTRL_1_CH4EN_MASK)
  65014. #define PDM_CTRL_1_CH5EN_MASK (0x20U)
  65015. #define PDM_CTRL_1_CH5EN_SHIFT (5U)
  65016. /*! CH5EN - Channel 5 Enable
  65017. */
  65018. #define PDM_CTRL_1_CH5EN(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_CH5EN_SHIFT)) & PDM_CTRL_1_CH5EN_MASK)
  65019. #define PDM_CTRL_1_CH6EN_MASK (0x40U)
  65020. #define PDM_CTRL_1_CH6EN_SHIFT (6U)
  65021. /*! CH6EN - Channel 6 Enable
  65022. */
  65023. #define PDM_CTRL_1_CH6EN(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_CH6EN_SHIFT)) & PDM_CTRL_1_CH6EN_MASK)
  65024. #define PDM_CTRL_1_CH7EN_MASK (0x80U)
  65025. #define PDM_CTRL_1_CH7EN_SHIFT (7U)
  65026. /*! CH7EN - Channel 7 Enable
  65027. */
  65028. #define PDM_CTRL_1_CH7EN(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_CH7EN_SHIFT)) & PDM_CTRL_1_CH7EN_MASK)
  65029. #define PDM_CTRL_1_ERREN_MASK (0x800000U)
  65030. #define PDM_CTRL_1_ERREN_SHIFT (23U)
  65031. /*! ERREN - Error Interruption Enable
  65032. * 0b0..Error Interrupts disabled
  65033. * 0b1..Error Interrupts enabled
  65034. */
  65035. #define PDM_CTRL_1_ERREN(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_ERREN_SHIFT)) & PDM_CTRL_1_ERREN_MASK)
  65036. #define PDM_CTRL_1_DISEL_MASK (0x3000000U)
  65037. #define PDM_CTRL_1_DISEL_SHIFT (24U)
  65038. /*! DISEL - DMA Interrupt Selection
  65039. * 0b00..DMA and interrupt requests disabled
  65040. * 0b01..DMA requests enabled
  65041. * 0b10..Interrupt requests enabled
  65042. * 0b11..Reserved
  65043. */
  65044. #define PDM_CTRL_1_DISEL(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_DISEL_SHIFT)) & PDM_CTRL_1_DISEL_MASK)
  65045. #define PDM_CTRL_1_DBGE_MASK (0x4000000U)
  65046. #define PDM_CTRL_1_DBGE_SHIFT (26U)
  65047. /*! DBGE - Module Enable in Debug
  65048. * 0b0..Disabled after completing the current frame
  65049. * 0b1..Enabled
  65050. */
  65051. #define PDM_CTRL_1_DBGE(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_DBGE_SHIFT)) & PDM_CTRL_1_DBGE_MASK)
  65052. #define PDM_CTRL_1_SRES_MASK (0x8000000U)
  65053. #define PDM_CTRL_1_SRES_SHIFT (27U)
  65054. /*! SRES - Software-reset bit
  65055. * 0b0..No action
  65056. * 0b1..Software reset
  65057. */
  65058. #define PDM_CTRL_1_SRES(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_SRES_SHIFT)) & PDM_CTRL_1_SRES_MASK)
  65059. #define PDM_CTRL_1_DBG_MASK (0x10000000U)
  65060. #define PDM_CTRL_1_DBG_SHIFT (28U)
  65061. /*! DBG - Debug Mode
  65062. * 0b0..Normal Mode
  65063. * 0b1..Debug Mode
  65064. */
  65065. #define PDM_CTRL_1_DBG(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_DBG_SHIFT)) & PDM_CTRL_1_DBG_MASK)
  65066. #define PDM_CTRL_1_PDMIEN_MASK (0x20000000U)
  65067. #define PDM_CTRL_1_PDMIEN_SHIFT (29U)
  65068. /*! PDMIEN - PDM Enable
  65069. * 0b0..PDM stopped
  65070. * 0b1..PDM operation started
  65071. */
  65072. #define PDM_CTRL_1_PDMIEN(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_PDMIEN_SHIFT)) & PDM_CTRL_1_PDMIEN_MASK)
  65073. #define PDM_CTRL_1_DOZEN_MASK (0x40000000U)
  65074. #define PDM_CTRL_1_DOZEN_SHIFT (30U)
  65075. /*! DOZEN - DOZE enable
  65076. */
  65077. #define PDM_CTRL_1_DOZEN(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_DOZEN_SHIFT)) & PDM_CTRL_1_DOZEN_MASK)
  65078. #define PDM_CTRL_1_MDIS_MASK (0x80000000U)
  65079. #define PDM_CTRL_1_MDIS_SHIFT (31U)
  65080. /*! MDIS - Module Disable
  65081. * 0b0..Normal Mode
  65082. * 0b1..Disable/Low Leakage Mode
  65083. */
  65084. #define PDM_CTRL_1_MDIS(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_MDIS_SHIFT)) & PDM_CTRL_1_MDIS_MASK)
  65085. /*! @} */
  65086. /*! @name CTRL_2 - PDM Control register 2 */
  65087. /*! @{ */
  65088. #define PDM_CTRL_2_CLKDIV_MASK (0xFFU)
  65089. #define PDM_CTRL_2_CLKDIV_SHIFT (0U)
  65090. /*! CLKDIV - Clock Divider
  65091. */
  65092. #define PDM_CTRL_2_CLKDIV(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_2_CLKDIV_SHIFT)) & PDM_CTRL_2_CLKDIV_MASK)
  65093. #define PDM_CTRL_2_CICOSR_MASK (0xF0000U)
  65094. #define PDM_CTRL_2_CICOSR_SHIFT (16U)
  65095. /*! CICOSR - CIC Decimation Rate
  65096. */
  65097. #define PDM_CTRL_2_CICOSR(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_2_CICOSR_SHIFT)) & PDM_CTRL_2_CICOSR_MASK)
  65098. #define PDM_CTRL_2_QSEL_MASK (0xE000000U)
  65099. #define PDM_CTRL_2_QSEL_SHIFT (25U)
  65100. /*! QSEL - Quality Mode
  65101. * 0b001..High quality mode
  65102. * 0b000..Medium quality mode
  65103. * 0b111..Low quality mode
  65104. * 0b110..Very low quality 0 mode
  65105. * 0b101..Very low quality 1 mode
  65106. * 0b100..Very low quality 2 mode
  65107. */
  65108. #define PDM_CTRL_2_QSEL(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_2_QSEL_SHIFT)) & PDM_CTRL_2_QSEL_MASK)
  65109. /*! @} */
  65110. /*! @name STAT - PDM Status register */
  65111. /*! @{ */
  65112. #define PDM_STAT_CH0F_MASK (0x1U)
  65113. #define PDM_STAT_CH0F_SHIFT (0U)
  65114. /*! CH0F - Channel 0 Output Data Flag
  65115. * 0b0..Channel's FIFO did not reach the number of elements configured in watermark bit-field
  65116. * 0b1..Channel's FIFO reached the number of elements configured in watermark bit-field
  65117. */
  65118. #define PDM_STAT_CH0F(x) (((uint32_t)(((uint32_t)(x)) << PDM_STAT_CH0F_SHIFT)) & PDM_STAT_CH0F_MASK)
  65119. #define PDM_STAT_CH1F_MASK (0x2U)
  65120. #define PDM_STAT_CH1F_SHIFT (1U)
  65121. /*! CH1F - Channel 1 Output Data Flag
  65122. * 0b0..Channel's FIFO did not reach the number of elements configured in watermark bit-field
  65123. * 0b1..Channel's FIFO reached the number of elements configured in watermark bit-field
  65124. */
  65125. #define PDM_STAT_CH1F(x) (((uint32_t)(((uint32_t)(x)) << PDM_STAT_CH1F_SHIFT)) & PDM_STAT_CH1F_MASK)
  65126. #define PDM_STAT_CH2F_MASK (0x4U)
  65127. #define PDM_STAT_CH2F_SHIFT (2U)
  65128. /*! CH2F - Channel 2 Output Data Flag
  65129. * 0b0..Channel's FIFO did not reach the number of elements configured in watermark bit-field
  65130. * 0b1..Channel's FIFO reached the number of elements configured in watermark bit-field
  65131. */
  65132. #define PDM_STAT_CH2F(x) (((uint32_t)(((uint32_t)(x)) << PDM_STAT_CH2F_SHIFT)) & PDM_STAT_CH2F_MASK)
  65133. #define PDM_STAT_CH3F_MASK (0x8U)
  65134. #define PDM_STAT_CH3F_SHIFT (3U)
  65135. /*! CH3F - Channel 3 Output Data Flag
  65136. * 0b0..Channel's FIFO did not reach the number of elements configured in watermark bit-field
  65137. * 0b1..Channel's FIFO reached the number of elements configured in watermark bit-field
  65138. */
  65139. #define PDM_STAT_CH3F(x) (((uint32_t)(((uint32_t)(x)) << PDM_STAT_CH3F_SHIFT)) & PDM_STAT_CH3F_MASK)
  65140. #define PDM_STAT_CH4F_MASK (0x10U)
  65141. #define PDM_STAT_CH4F_SHIFT (4U)
  65142. /*! CH4F - Channel 4 Output Data Flag
  65143. * 0b0..Channel's FIFO did not reach the number of elements configured in watermark bit-field
  65144. * 0b1..Channel's FIFO reached the number of elements configured in watermark bit-field
  65145. */
  65146. #define PDM_STAT_CH4F(x) (((uint32_t)(((uint32_t)(x)) << PDM_STAT_CH4F_SHIFT)) & PDM_STAT_CH4F_MASK)
  65147. #define PDM_STAT_CH5F_MASK (0x20U)
  65148. #define PDM_STAT_CH5F_SHIFT (5U)
  65149. /*! CH5F - Channel 5 Output Data Flag
  65150. * 0b0..Channel's FIFO did not reach the number of elements configured in watermark bit-field
  65151. * 0b1..Channel's FIFO reached the number of elements configured in watermark bit-field
  65152. */
  65153. #define PDM_STAT_CH5F(x) (((uint32_t)(((uint32_t)(x)) << PDM_STAT_CH5F_SHIFT)) & PDM_STAT_CH5F_MASK)
  65154. #define PDM_STAT_CH6F_MASK (0x40U)
  65155. #define PDM_STAT_CH6F_SHIFT (6U)
  65156. /*! CH6F - Channel 6 Output Data Flag
  65157. * 0b0..Channel's FIFO did not reach the number of elements configured in watermark bit-field
  65158. * 0b1..Channel's FIFO reached the number of elements configured in watermark bit-field
  65159. */
  65160. #define PDM_STAT_CH6F(x) (((uint32_t)(((uint32_t)(x)) << PDM_STAT_CH6F_SHIFT)) & PDM_STAT_CH6F_MASK)
  65161. #define PDM_STAT_CH7F_MASK (0x80U)
  65162. #define PDM_STAT_CH7F_SHIFT (7U)
  65163. /*! CH7F - Channel 7 Output Data Flag
  65164. * 0b0..Channel's FIFO did not reach the number of elements configured in watermark bit-field
  65165. * 0b1..Channel's FIFO reached the number of elements configured in watermark bit-field
  65166. */
  65167. #define PDM_STAT_CH7F(x) (((uint32_t)(((uint32_t)(x)) << PDM_STAT_CH7F_SHIFT)) & PDM_STAT_CH7F_MASK)
  65168. #define PDM_STAT_LOWFREQF_MASK (0x20000000U)
  65169. #define PDM_STAT_LOWFREQF_SHIFT (29U)
  65170. /*! LOWFREQF - Low Frequency Flag
  65171. * 0b0..CLKDIV value is OK
  65172. * 0b1..CLKDIV value is too low
  65173. */
  65174. #define PDM_STAT_LOWFREQF(x) (((uint32_t)(((uint32_t)(x)) << PDM_STAT_LOWFREQF_SHIFT)) & PDM_STAT_LOWFREQF_MASK)
  65175. #define PDM_STAT_FIR_RDY_MASK (0x40000000U)
  65176. #define PDM_STAT_FIR_RDY_SHIFT (30U)
  65177. /*! FIR_RDY - Filter Data Ready
  65178. * 0b0..Filter data is not reliable
  65179. * 0b1..Filter data is reliable
  65180. */
  65181. #define PDM_STAT_FIR_RDY(x) (((uint32_t)(((uint32_t)(x)) << PDM_STAT_FIR_RDY_SHIFT)) & PDM_STAT_FIR_RDY_MASK)
  65182. #define PDM_STAT_BSY_FIL_MASK (0x80000000U)
  65183. #define PDM_STAT_BSY_FIL_SHIFT (31U)
  65184. /*! BSY_FIL - Busy Flag
  65185. * 0b1..PDM is running
  65186. * 0b0..PDM is stopped
  65187. */
  65188. #define PDM_STAT_BSY_FIL(x) (((uint32_t)(((uint32_t)(x)) << PDM_STAT_BSY_FIL_SHIFT)) & PDM_STAT_BSY_FIL_MASK)
  65189. /*! @} */
  65190. /*! @name FIFO_CTRL - PDM FIFO Control register */
  65191. /*! @{ */
  65192. #define PDM_FIFO_CTRL_FIFOWMK_MASK (0x7U)
  65193. #define PDM_FIFO_CTRL_FIFOWMK_SHIFT (0U)
  65194. /*! FIFOWMK - FIFO Watermark Control
  65195. */
  65196. #define PDM_FIFO_CTRL_FIFOWMK(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_CTRL_FIFOWMK_SHIFT)) & PDM_FIFO_CTRL_FIFOWMK_MASK)
  65197. /*! @} */
  65198. /*! @name FIFO_STAT - PDM FIFO Status register */
  65199. /*! @{ */
  65200. #define PDM_FIFO_STAT_FIFOOVF0_MASK (0x1U)
  65201. #define PDM_FIFO_STAT_FIFOOVF0_SHIFT (0U)
  65202. /*! FIFOOVF0 - FIFO Overflow Exception flag for Channel 0
  65203. * 0b0..No exception by FIFO overflow
  65204. * 0b1..Exception by FIFO overflow
  65205. */
  65206. #define PDM_FIFO_STAT_FIFOOVF0(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_STAT_FIFOOVF0_SHIFT)) & PDM_FIFO_STAT_FIFOOVF0_MASK)
  65207. #define PDM_FIFO_STAT_FIFOOVF1_MASK (0x2U)
  65208. #define PDM_FIFO_STAT_FIFOOVF1_SHIFT (1U)
  65209. /*! FIFOOVF1 - FIFO Overflow Exception flag for Channel 1
  65210. * 0b0..No exception by FIFO overflow
  65211. * 0b1..Exception by FIFO overflow
  65212. */
  65213. #define PDM_FIFO_STAT_FIFOOVF1(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_STAT_FIFOOVF1_SHIFT)) & PDM_FIFO_STAT_FIFOOVF1_MASK)
  65214. #define PDM_FIFO_STAT_FIFOOVF2_MASK (0x4U)
  65215. #define PDM_FIFO_STAT_FIFOOVF2_SHIFT (2U)
  65216. /*! FIFOOVF2 - FIFO Overflow Exception flag for Channel 2
  65217. * 0b0..No exception by FIFO overflow
  65218. * 0b1..Exception by FIFO overflow
  65219. */
  65220. #define PDM_FIFO_STAT_FIFOOVF2(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_STAT_FIFOOVF2_SHIFT)) & PDM_FIFO_STAT_FIFOOVF2_MASK)
  65221. #define PDM_FIFO_STAT_FIFOOVF3_MASK (0x8U)
  65222. #define PDM_FIFO_STAT_FIFOOVF3_SHIFT (3U)
  65223. /*! FIFOOVF3 - FIFO Overflow Exception flag for Channel 3
  65224. * 0b0..No exception by FIFO overflow
  65225. * 0b1..Exception by FIFO overflow
  65226. */
  65227. #define PDM_FIFO_STAT_FIFOOVF3(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_STAT_FIFOOVF3_SHIFT)) & PDM_FIFO_STAT_FIFOOVF3_MASK)
  65228. #define PDM_FIFO_STAT_FIFOOVF4_MASK (0x10U)
  65229. #define PDM_FIFO_STAT_FIFOOVF4_SHIFT (4U)
  65230. /*! FIFOOVF4 - FIFO Overflow Exception flag for Channel 4
  65231. * 0b0..No exception by FIFO overflow
  65232. * 0b1..Exception by FIFO overflow
  65233. */
  65234. #define PDM_FIFO_STAT_FIFOOVF4(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_STAT_FIFOOVF4_SHIFT)) & PDM_FIFO_STAT_FIFOOVF4_MASK)
  65235. #define PDM_FIFO_STAT_FIFOOVF5_MASK (0x20U)
  65236. #define PDM_FIFO_STAT_FIFOOVF5_SHIFT (5U)
  65237. /*! FIFOOVF5 - FIFO Overflow Exception flag for Channel 5
  65238. * 0b0..No exception by FIFO overflow
  65239. * 0b1..Exception by FIFO overflow
  65240. */
  65241. #define PDM_FIFO_STAT_FIFOOVF5(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_STAT_FIFOOVF5_SHIFT)) & PDM_FIFO_STAT_FIFOOVF5_MASK)
  65242. #define PDM_FIFO_STAT_FIFOOVF6_MASK (0x40U)
  65243. #define PDM_FIFO_STAT_FIFOOVF6_SHIFT (6U)
  65244. /*! FIFOOVF6 - FIFO Overflow Exception flag for Channel 6
  65245. * 0b0..No exception by FIFO overflow
  65246. * 0b1..Exception by FIFO overflow
  65247. */
  65248. #define PDM_FIFO_STAT_FIFOOVF6(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_STAT_FIFOOVF6_SHIFT)) & PDM_FIFO_STAT_FIFOOVF6_MASK)
  65249. #define PDM_FIFO_STAT_FIFOOVF7_MASK (0x80U)
  65250. #define PDM_FIFO_STAT_FIFOOVF7_SHIFT (7U)
  65251. /*! FIFOOVF7 - FIFO Overflow Exception flag for Channel 7
  65252. * 0b0..No exception by FIFO overflow
  65253. * 0b1..Exception by FIFO overflow
  65254. */
  65255. #define PDM_FIFO_STAT_FIFOOVF7(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_STAT_FIFOOVF7_SHIFT)) & PDM_FIFO_STAT_FIFOOVF7_MASK)
  65256. #define PDM_FIFO_STAT_FIFOUND0_MASK (0x100U)
  65257. #define PDM_FIFO_STAT_FIFOUND0_SHIFT (8U)
  65258. /*! FIFOUND0 - FIFO Underflow Exception flag for Channel 0
  65259. * 0b0..No exception by FIFO Underflow
  65260. * 0b1..Exception by FIFO underflow
  65261. */
  65262. #define PDM_FIFO_STAT_FIFOUND0(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_STAT_FIFOUND0_SHIFT)) & PDM_FIFO_STAT_FIFOUND0_MASK)
  65263. #define PDM_FIFO_STAT_FIFOUND1_MASK (0x200U)
  65264. #define PDM_FIFO_STAT_FIFOUND1_SHIFT (9U)
  65265. /*! FIFOUND1 - FIFO Underflow Exception flag for Channel 1
  65266. * 0b0..No exception by FIFO Underflow
  65267. * 0b1..Exception by FIFO underflow
  65268. */
  65269. #define PDM_FIFO_STAT_FIFOUND1(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_STAT_FIFOUND1_SHIFT)) & PDM_FIFO_STAT_FIFOUND1_MASK)
  65270. #define PDM_FIFO_STAT_FIFOUND2_MASK (0x400U)
  65271. #define PDM_FIFO_STAT_FIFOUND2_SHIFT (10U)
  65272. /*! FIFOUND2 - FIFO Underflow Exception flag for Channel 2
  65273. * 0b0..No exception by FIFO Underflow
  65274. * 0b1..Exception by FIFO underflow
  65275. */
  65276. #define PDM_FIFO_STAT_FIFOUND2(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_STAT_FIFOUND2_SHIFT)) & PDM_FIFO_STAT_FIFOUND2_MASK)
  65277. #define PDM_FIFO_STAT_FIFOUND3_MASK (0x800U)
  65278. #define PDM_FIFO_STAT_FIFOUND3_SHIFT (11U)
  65279. /*! FIFOUND3 - FIFO Underflow Exception flag for Channel 3
  65280. * 0b0..No exception by FIFO Underflow
  65281. * 0b1..Exception by FIFO underflow
  65282. */
  65283. #define PDM_FIFO_STAT_FIFOUND3(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_STAT_FIFOUND3_SHIFT)) & PDM_FIFO_STAT_FIFOUND3_MASK)
  65284. #define PDM_FIFO_STAT_FIFOUND4_MASK (0x1000U)
  65285. #define PDM_FIFO_STAT_FIFOUND4_SHIFT (12U)
  65286. /*! FIFOUND4 - FIFO Underflow Exception flag for Channel 4
  65287. * 0b0..No exception by FIFO Underflow
  65288. * 0b1..Exception by FIFO underflow
  65289. */
  65290. #define PDM_FIFO_STAT_FIFOUND4(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_STAT_FIFOUND4_SHIFT)) & PDM_FIFO_STAT_FIFOUND4_MASK)
  65291. #define PDM_FIFO_STAT_FIFOUND5_MASK (0x2000U)
  65292. #define PDM_FIFO_STAT_FIFOUND5_SHIFT (13U)
  65293. /*! FIFOUND5 - FIFO Underflow Exception flag for Channel 5
  65294. * 0b0..No exception by FIFO Underflow
  65295. * 0b1..Exception by FIFO underflow
  65296. */
  65297. #define PDM_FIFO_STAT_FIFOUND5(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_STAT_FIFOUND5_SHIFT)) & PDM_FIFO_STAT_FIFOUND5_MASK)
  65298. #define PDM_FIFO_STAT_FIFOUND6_MASK (0x4000U)
  65299. #define PDM_FIFO_STAT_FIFOUND6_SHIFT (14U)
  65300. /*! FIFOUND6 - FIFO Underflow Exception flag for Channel 6
  65301. * 0b0..No exception by FIFO Underflow
  65302. * 0b1..Exception by FIFO underflow
  65303. */
  65304. #define PDM_FIFO_STAT_FIFOUND6(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_STAT_FIFOUND6_SHIFT)) & PDM_FIFO_STAT_FIFOUND6_MASK)
  65305. #define PDM_FIFO_STAT_FIFOUND7_MASK (0x8000U)
  65306. #define PDM_FIFO_STAT_FIFOUND7_SHIFT (15U)
  65307. /*! FIFOUND7 - FIFO Underflow Exception flag for Channel 7
  65308. * 0b0..No exception by FIFO Underflow
  65309. * 0b1..Exception by FIFO underflow
  65310. */
  65311. #define PDM_FIFO_STAT_FIFOUND7(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_STAT_FIFOUND7_SHIFT)) & PDM_FIFO_STAT_FIFOUND7_MASK)
  65312. /*! @} */
  65313. /*! @name DATACH - PDM Output Result Register */
  65314. /*! @{ */
  65315. #define PDM_DATACH_DATA_MASK (0xFFFFFFFFU)
  65316. #define PDM_DATACH_DATA_SHIFT (0U)
  65317. /*! DATA - Channel n Data
  65318. */
  65319. #define PDM_DATACH_DATA(x) (((uint32_t)(((uint32_t)(x)) << PDM_DATACH_DATA_SHIFT)) & PDM_DATACH_DATA_MASK)
  65320. /*! @} */
  65321. /* The count of PDM_DATACH */
  65322. #define PDM_DATACH_COUNT (8U)
  65323. /*! @name DC_CTRL - PDM DC Remover Control register */
  65324. /*! @{ */
  65325. #define PDM_DC_CTRL_DCCONFIG0_MASK (0x3U)
  65326. #define PDM_DC_CTRL_DCCONFIG0_SHIFT (0U)
  65327. /*! DCCONFIG0 - Channel 0 DC Remover Configuration
  65328. * 0b11..DC Remover is bypassed
  65329. * 0b00..DC Remover cut-off at 21Hz
  65330. * 0b01..DC Remover cut-off at 83Hz
  65331. * 0b10..DC Remover cut-off at 152Hz
  65332. */
  65333. #define PDM_DC_CTRL_DCCONFIG0(x) (((uint32_t)(((uint32_t)(x)) << PDM_DC_CTRL_DCCONFIG0_SHIFT)) & PDM_DC_CTRL_DCCONFIG0_MASK)
  65334. #define PDM_DC_CTRL_DCCONFIG1_MASK (0xCU)
  65335. #define PDM_DC_CTRL_DCCONFIG1_SHIFT (2U)
  65336. /*! DCCONFIG1 - Channel 1 DC Remover Configuration
  65337. * 0b11..DC Remover is bypassed
  65338. * 0b00..DC Remover cut-off at 21Hz
  65339. * 0b01..DC Remover cut-off at 83Hz
  65340. * 0b10..DC Remover cut-off at 152Hz
  65341. */
  65342. #define PDM_DC_CTRL_DCCONFIG1(x) (((uint32_t)(((uint32_t)(x)) << PDM_DC_CTRL_DCCONFIG1_SHIFT)) & PDM_DC_CTRL_DCCONFIG1_MASK)
  65343. #define PDM_DC_CTRL_DCCONFIG2_MASK (0x30U)
  65344. #define PDM_DC_CTRL_DCCONFIG2_SHIFT (4U)
  65345. /*! DCCONFIG2 - Channel 2 DC Remover Configuration
  65346. * 0b11..DC Remover is bypassed
  65347. * 0b00..DC Remover cut-off at 21Hz
  65348. * 0b01..DC Remover cut-off at 83Hz
  65349. * 0b10..DC Remover cut-off at 152Hz
  65350. */
  65351. #define PDM_DC_CTRL_DCCONFIG2(x) (((uint32_t)(((uint32_t)(x)) << PDM_DC_CTRL_DCCONFIG2_SHIFT)) & PDM_DC_CTRL_DCCONFIG2_MASK)
  65352. #define PDM_DC_CTRL_DCCONFIG3_MASK (0xC0U)
  65353. #define PDM_DC_CTRL_DCCONFIG3_SHIFT (6U)
  65354. /*! DCCONFIG3 - Channel 3 DC Remover Configuration
  65355. * 0b11..DC Remover is bypassed
  65356. * 0b00..DC Remover cut-off at 21Hz
  65357. * 0b01..DC Remover cut-off at 83Hz
  65358. * 0b10..DC Remover cut-off at 152Hz
  65359. */
  65360. #define PDM_DC_CTRL_DCCONFIG3(x) (((uint32_t)(((uint32_t)(x)) << PDM_DC_CTRL_DCCONFIG3_SHIFT)) & PDM_DC_CTRL_DCCONFIG3_MASK)
  65361. #define PDM_DC_CTRL_DCCONFIG4_MASK (0x300U)
  65362. #define PDM_DC_CTRL_DCCONFIG4_SHIFT (8U)
  65363. /*! DCCONFIG4 - Channel 4 DC Remover Configuration
  65364. * 0b11..DC Remover is bypassed
  65365. * 0b00..DC Remover cut-off at 21Hz
  65366. * 0b01..DC Remover cut-off at 83Hz
  65367. * 0b10..DC Remover cut-off at 152Hz
  65368. */
  65369. #define PDM_DC_CTRL_DCCONFIG4(x) (((uint32_t)(((uint32_t)(x)) << PDM_DC_CTRL_DCCONFIG4_SHIFT)) & PDM_DC_CTRL_DCCONFIG4_MASK)
  65370. #define PDM_DC_CTRL_DCCONFIG5_MASK (0xC00U)
  65371. #define PDM_DC_CTRL_DCCONFIG5_SHIFT (10U)
  65372. /*! DCCONFIG5 - Channel 5 DC Remover Configuration
  65373. * 0b11..DC Remover is bypassed
  65374. * 0b00..DC Remover cut-off at 21Hz
  65375. * 0b01..DC Remover cut-off at 83Hz
  65376. * 0b10..DC Remover cut-off at 152Hz
  65377. */
  65378. #define PDM_DC_CTRL_DCCONFIG5(x) (((uint32_t)(((uint32_t)(x)) << PDM_DC_CTRL_DCCONFIG5_SHIFT)) & PDM_DC_CTRL_DCCONFIG5_MASK)
  65379. #define PDM_DC_CTRL_DCCONFIG6_MASK (0x3000U)
  65380. #define PDM_DC_CTRL_DCCONFIG6_SHIFT (12U)
  65381. /*! DCCONFIG6 - Channel 6 DC Remover Configuration
  65382. * 0b11..DC Remover is bypassed
  65383. * 0b00..DC Remover cut-off at 21Hz
  65384. * 0b01..DC Remover cut-off at 83Hz
  65385. * 0b10..DC Remover cut-off at 152Hz
  65386. */
  65387. #define PDM_DC_CTRL_DCCONFIG6(x) (((uint32_t)(((uint32_t)(x)) << PDM_DC_CTRL_DCCONFIG6_SHIFT)) & PDM_DC_CTRL_DCCONFIG6_MASK)
  65388. #define PDM_DC_CTRL_DCCONFIG7_MASK (0xC000U)
  65389. #define PDM_DC_CTRL_DCCONFIG7_SHIFT (14U)
  65390. /*! DCCONFIG7 - Channel 7 DC Remover Configuration
  65391. * 0b11..DC Remover is bypassed
  65392. * 0b00..DC Remover cut-off at 21Hz
  65393. * 0b01..DC Remover cut-off at 83Hz
  65394. * 0b10..DC Remover cut-off at 152Hz
  65395. */
  65396. #define PDM_DC_CTRL_DCCONFIG7(x) (((uint32_t)(((uint32_t)(x)) << PDM_DC_CTRL_DCCONFIG7_SHIFT)) & PDM_DC_CTRL_DCCONFIG7_MASK)
  65397. /*! @} */
  65398. /*! @name RANGE_CTRL - PDM Range Control register */
  65399. /*! @{ */
  65400. #define PDM_RANGE_CTRL_RANGEADJ0_MASK (0xFU)
  65401. #define PDM_RANGE_CTRL_RANGEADJ0_SHIFT (0U)
  65402. /*! RANGEADJ0 - Channel 0 Range Adjustment
  65403. */
  65404. #define PDM_RANGE_CTRL_RANGEADJ0(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_CTRL_RANGEADJ0_SHIFT)) & PDM_RANGE_CTRL_RANGEADJ0_MASK)
  65405. #define PDM_RANGE_CTRL_RANGEADJ1_MASK (0xF0U)
  65406. #define PDM_RANGE_CTRL_RANGEADJ1_SHIFT (4U)
  65407. /*! RANGEADJ1 - Channel 1 Range Adjustment
  65408. */
  65409. #define PDM_RANGE_CTRL_RANGEADJ1(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_CTRL_RANGEADJ1_SHIFT)) & PDM_RANGE_CTRL_RANGEADJ1_MASK)
  65410. #define PDM_RANGE_CTRL_RANGEADJ2_MASK (0xF00U)
  65411. #define PDM_RANGE_CTRL_RANGEADJ2_SHIFT (8U)
  65412. /*! RANGEADJ2 - Channel 2 Range Adjustment
  65413. */
  65414. #define PDM_RANGE_CTRL_RANGEADJ2(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_CTRL_RANGEADJ2_SHIFT)) & PDM_RANGE_CTRL_RANGEADJ2_MASK)
  65415. #define PDM_RANGE_CTRL_RANGEADJ3_MASK (0xF000U)
  65416. #define PDM_RANGE_CTRL_RANGEADJ3_SHIFT (12U)
  65417. /*! RANGEADJ3 - Channel 3 Range Adjustment
  65418. */
  65419. #define PDM_RANGE_CTRL_RANGEADJ3(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_CTRL_RANGEADJ3_SHIFT)) & PDM_RANGE_CTRL_RANGEADJ3_MASK)
  65420. #define PDM_RANGE_CTRL_RANGEADJ4_MASK (0xF0000U)
  65421. #define PDM_RANGE_CTRL_RANGEADJ4_SHIFT (16U)
  65422. /*! RANGEADJ4 - Channel 4 Range Adjustment
  65423. */
  65424. #define PDM_RANGE_CTRL_RANGEADJ4(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_CTRL_RANGEADJ4_SHIFT)) & PDM_RANGE_CTRL_RANGEADJ4_MASK)
  65425. #define PDM_RANGE_CTRL_RANGEADJ5_MASK (0xF00000U)
  65426. #define PDM_RANGE_CTRL_RANGEADJ5_SHIFT (20U)
  65427. /*! RANGEADJ5 - Channel 5 Range Adjustment
  65428. */
  65429. #define PDM_RANGE_CTRL_RANGEADJ5(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_CTRL_RANGEADJ5_SHIFT)) & PDM_RANGE_CTRL_RANGEADJ5_MASK)
  65430. #define PDM_RANGE_CTRL_RANGEADJ6_MASK (0xF000000U)
  65431. #define PDM_RANGE_CTRL_RANGEADJ6_SHIFT (24U)
  65432. /*! RANGEADJ6 - Channel 6 Range Adjustment
  65433. */
  65434. #define PDM_RANGE_CTRL_RANGEADJ6(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_CTRL_RANGEADJ6_SHIFT)) & PDM_RANGE_CTRL_RANGEADJ6_MASK)
  65435. #define PDM_RANGE_CTRL_RANGEADJ7_MASK (0xF0000000U)
  65436. #define PDM_RANGE_CTRL_RANGEADJ7_SHIFT (28U)
  65437. /*! RANGEADJ7 - Channel 7 Range Adjustment
  65438. */
  65439. #define PDM_RANGE_CTRL_RANGEADJ7(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_CTRL_RANGEADJ7_SHIFT)) & PDM_RANGE_CTRL_RANGEADJ7_MASK)
  65440. /*! @} */
  65441. /*! @name RANGE_STAT - PDM Range Status register */
  65442. /*! @{ */
  65443. #define PDM_RANGE_STAT_RANGEOVF0_MASK (0x1U)
  65444. #define PDM_RANGE_STAT_RANGEOVF0_SHIFT (0U)
  65445. /*! RANGEOVF0 - Channel 0 Range Overflow Error Flag
  65446. * 0b0..No exception by range overflow
  65447. * 0b1..Exception by range overflow
  65448. */
  65449. #define PDM_RANGE_STAT_RANGEOVF0(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_STAT_RANGEOVF0_SHIFT)) & PDM_RANGE_STAT_RANGEOVF0_MASK)
  65450. #define PDM_RANGE_STAT_RANGEOVF1_MASK (0x2U)
  65451. #define PDM_RANGE_STAT_RANGEOVF1_SHIFT (1U)
  65452. /*! RANGEOVF1 - Channel 1 Range Overflow Error Flag
  65453. * 0b0..No exception by range overflow
  65454. * 0b1..Exception by range overflow
  65455. */
  65456. #define PDM_RANGE_STAT_RANGEOVF1(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_STAT_RANGEOVF1_SHIFT)) & PDM_RANGE_STAT_RANGEOVF1_MASK)
  65457. #define PDM_RANGE_STAT_RANGEOVF2_MASK (0x4U)
  65458. #define PDM_RANGE_STAT_RANGEOVF2_SHIFT (2U)
  65459. /*! RANGEOVF2 - Channel 2 Range Overflow Error Flag
  65460. * 0b0..No exception by range overflow
  65461. * 0b1..Exception by range overflow
  65462. */
  65463. #define PDM_RANGE_STAT_RANGEOVF2(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_STAT_RANGEOVF2_SHIFT)) & PDM_RANGE_STAT_RANGEOVF2_MASK)
  65464. #define PDM_RANGE_STAT_RANGEOVF3_MASK (0x8U)
  65465. #define PDM_RANGE_STAT_RANGEOVF3_SHIFT (3U)
  65466. /*! RANGEOVF3 - Channel 3 Range Overflow Error Flag
  65467. * 0b0..No exception by range overflow
  65468. * 0b1..Exception by range overflow
  65469. */
  65470. #define PDM_RANGE_STAT_RANGEOVF3(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_STAT_RANGEOVF3_SHIFT)) & PDM_RANGE_STAT_RANGEOVF3_MASK)
  65471. #define PDM_RANGE_STAT_RANGEOVF4_MASK (0x10U)
  65472. #define PDM_RANGE_STAT_RANGEOVF4_SHIFT (4U)
  65473. /*! RANGEOVF4 - Channel 4 Range Overflow Error Flag
  65474. * 0b0..No exception by range overflow
  65475. * 0b1..Exception by range overflow
  65476. */
  65477. #define PDM_RANGE_STAT_RANGEOVF4(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_STAT_RANGEOVF4_SHIFT)) & PDM_RANGE_STAT_RANGEOVF4_MASK)
  65478. #define PDM_RANGE_STAT_RANGEOVF5_MASK (0x20U)
  65479. #define PDM_RANGE_STAT_RANGEOVF5_SHIFT (5U)
  65480. /*! RANGEOVF5 - Channel 5 Range Overflow Error Flag
  65481. * 0b0..No exception by range overflow
  65482. * 0b1..Exception by range overflow
  65483. */
  65484. #define PDM_RANGE_STAT_RANGEOVF5(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_STAT_RANGEOVF5_SHIFT)) & PDM_RANGE_STAT_RANGEOVF5_MASK)
  65485. #define PDM_RANGE_STAT_RANGEOVF6_MASK (0x40U)
  65486. #define PDM_RANGE_STAT_RANGEOVF6_SHIFT (6U)
  65487. /*! RANGEOVF6 - Channel 6 Range Overflow Error Flag
  65488. * 0b0..No exception by range overflow
  65489. * 0b1..Exception by range overflow
  65490. */
  65491. #define PDM_RANGE_STAT_RANGEOVF6(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_STAT_RANGEOVF6_SHIFT)) & PDM_RANGE_STAT_RANGEOVF6_MASK)
  65492. #define PDM_RANGE_STAT_RANGEOVF7_MASK (0x80U)
  65493. #define PDM_RANGE_STAT_RANGEOVF7_SHIFT (7U)
  65494. /*! RANGEOVF7 - Channel 7 Range Overflow Error Flag
  65495. * 0b0..No exception by range overflow
  65496. * 0b1..Exception by range overflow
  65497. */
  65498. #define PDM_RANGE_STAT_RANGEOVF7(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_STAT_RANGEOVF7_SHIFT)) & PDM_RANGE_STAT_RANGEOVF7_MASK)
  65499. #define PDM_RANGE_STAT_RANGEUNF0_MASK (0x10000U)
  65500. #define PDM_RANGE_STAT_RANGEUNF0_SHIFT (16U)
  65501. /*! RANGEUNF0 - Channel 0 Range Underflow Error Flag
  65502. * 0b0..No exception by range underflow
  65503. * 0b1..Exception by range underflow
  65504. */
  65505. #define PDM_RANGE_STAT_RANGEUNF0(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_STAT_RANGEUNF0_SHIFT)) & PDM_RANGE_STAT_RANGEUNF0_MASK)
  65506. #define PDM_RANGE_STAT_RANGEUNF1_MASK (0x20000U)
  65507. #define PDM_RANGE_STAT_RANGEUNF1_SHIFT (17U)
  65508. /*! RANGEUNF1 - Channel 1 Range Underflow Error Flag
  65509. * 0b0..No exception by range underflow
  65510. * 0b1..Exception by range underflow
  65511. */
  65512. #define PDM_RANGE_STAT_RANGEUNF1(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_STAT_RANGEUNF1_SHIFT)) & PDM_RANGE_STAT_RANGEUNF1_MASK)
  65513. #define PDM_RANGE_STAT_RANGEUNF2_MASK (0x40000U)
  65514. #define PDM_RANGE_STAT_RANGEUNF2_SHIFT (18U)
  65515. /*! RANGEUNF2 - Channel 2 Range Underflow Error Flag
  65516. * 0b0..No exception by range underflow
  65517. * 0b1..Exception by range underflow
  65518. */
  65519. #define PDM_RANGE_STAT_RANGEUNF2(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_STAT_RANGEUNF2_SHIFT)) & PDM_RANGE_STAT_RANGEUNF2_MASK)
  65520. #define PDM_RANGE_STAT_RANGEUNF3_MASK (0x80000U)
  65521. #define PDM_RANGE_STAT_RANGEUNF3_SHIFT (19U)
  65522. /*! RANGEUNF3 - Channel 3 Range Underflow Error Flag
  65523. * 0b0..No exception by range underflow
  65524. * 0b1..Exception by range underflow
  65525. */
  65526. #define PDM_RANGE_STAT_RANGEUNF3(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_STAT_RANGEUNF3_SHIFT)) & PDM_RANGE_STAT_RANGEUNF3_MASK)
  65527. #define PDM_RANGE_STAT_RANGEUNF4_MASK (0x100000U)
  65528. #define PDM_RANGE_STAT_RANGEUNF4_SHIFT (20U)
  65529. /*! RANGEUNF4 - Channel 4 Range Underflow Error Flag
  65530. * 0b0..No exception by range underflow
  65531. * 0b1..Exception by range underflow
  65532. */
  65533. #define PDM_RANGE_STAT_RANGEUNF4(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_STAT_RANGEUNF4_SHIFT)) & PDM_RANGE_STAT_RANGEUNF4_MASK)
  65534. #define PDM_RANGE_STAT_RANGEUNF5_MASK (0x200000U)
  65535. #define PDM_RANGE_STAT_RANGEUNF5_SHIFT (21U)
  65536. /*! RANGEUNF5 - Channel 5 Range Underflow Error Flag
  65537. * 0b0..No exception by range underflow
  65538. * 0b1..Exception by range underflow
  65539. */
  65540. #define PDM_RANGE_STAT_RANGEUNF5(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_STAT_RANGEUNF5_SHIFT)) & PDM_RANGE_STAT_RANGEUNF5_MASK)
  65541. #define PDM_RANGE_STAT_RANGEUNF6_MASK (0x400000U)
  65542. #define PDM_RANGE_STAT_RANGEUNF6_SHIFT (22U)
  65543. /*! RANGEUNF6 - Channel 6 Range Underflow Error Flag
  65544. * 0b0..No exception by range underflow
  65545. * 0b1..Exception by range underflow
  65546. */
  65547. #define PDM_RANGE_STAT_RANGEUNF6(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_STAT_RANGEUNF6_SHIFT)) & PDM_RANGE_STAT_RANGEUNF6_MASK)
  65548. #define PDM_RANGE_STAT_RANGEUNF7_MASK (0x800000U)
  65549. #define PDM_RANGE_STAT_RANGEUNF7_SHIFT (23U)
  65550. /*! RANGEUNF7 - Channel 7 Range Underflow Error Flag
  65551. * 0b0..No exception by range underflow
  65552. * 0b1..Exception by range underflow
  65553. */
  65554. #define PDM_RANGE_STAT_RANGEUNF7(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_STAT_RANGEUNF7_SHIFT)) & PDM_RANGE_STAT_RANGEUNF7_MASK)
  65555. /*! @} */
  65556. /*! @name VAD0_CTRL_1 - Voice Activity Detector 0 Control register */
  65557. /*! @{ */
  65558. #define PDM_VAD0_CTRL_1_VADEN_MASK (0x1U)
  65559. #define PDM_VAD0_CTRL_1_VADEN_SHIFT (0U)
  65560. /*! VADEN - Voice Activity Detector Enable
  65561. * 0b0..The HWVAD is disabled
  65562. * 0b1..The HWVAD is enabled
  65563. */
  65564. #define PDM_VAD0_CTRL_1_VADEN(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_CTRL_1_VADEN_SHIFT)) & PDM_VAD0_CTRL_1_VADEN_MASK)
  65565. #define PDM_VAD0_CTRL_1_VADRST_MASK (0x2U)
  65566. #define PDM_VAD0_CTRL_1_VADRST_SHIFT (1U)
  65567. /*! VADRST - Voice Activity Detector Reset
  65568. */
  65569. #define PDM_VAD0_CTRL_1_VADRST(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_CTRL_1_VADRST_SHIFT)) & PDM_VAD0_CTRL_1_VADRST_MASK)
  65570. #define PDM_VAD0_CTRL_1_VADIE_MASK (0x4U)
  65571. #define PDM_VAD0_CTRL_1_VADIE_SHIFT (2U)
  65572. /*! VADIE - Voice Activity Detector Interruption Enable
  65573. * 0b0..HWVAD Interrupts disabled
  65574. * 0b1..HWVAD Interrupts enabled
  65575. */
  65576. #define PDM_VAD0_CTRL_1_VADIE(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_CTRL_1_VADIE_SHIFT)) & PDM_VAD0_CTRL_1_VADIE_MASK)
  65577. #define PDM_VAD0_CTRL_1_VADERIE_MASK (0x8U)
  65578. #define PDM_VAD0_CTRL_1_VADERIE_SHIFT (3U)
  65579. /*! VADERIE - Voice Activity Detector Error Interruption Enable
  65580. * 0b0..HWVAD Error Interrupts disabled
  65581. * 0b1..HWVAD Error Interrupts enabled
  65582. */
  65583. #define PDM_VAD0_CTRL_1_VADERIE(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_CTRL_1_VADERIE_SHIFT)) & PDM_VAD0_CTRL_1_VADERIE_MASK)
  65584. #define PDM_VAD0_CTRL_1_VADST10_MASK (0x10U)
  65585. #define PDM_VAD0_CTRL_1_VADST10_SHIFT (4U)
  65586. /*! VADST10 - Voice Activity Detector Internal Filters Initialization
  65587. * 0b0..Normal operation.
  65588. * 0b1..Filters are initialized.
  65589. */
  65590. #define PDM_VAD0_CTRL_1_VADST10(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_CTRL_1_VADST10_SHIFT)) & PDM_VAD0_CTRL_1_VADST10_MASK)
  65591. #define PDM_VAD0_CTRL_1_VADINITT_MASK (0x1F00U)
  65592. #define PDM_VAD0_CTRL_1_VADINITT_SHIFT (8U)
  65593. /*! VADINITT - Voice Activity Detector Initialization Time
  65594. */
  65595. #define PDM_VAD0_CTRL_1_VADINITT(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_CTRL_1_VADINITT_SHIFT)) & PDM_VAD0_CTRL_1_VADINITT_MASK)
  65596. #define PDM_VAD0_CTRL_1_VADCICOSR_MASK (0xF0000U)
  65597. #define PDM_VAD0_CTRL_1_VADCICOSR_SHIFT (16U)
  65598. /*! VADCICOSR - Voice Activity Detector CIC Oversampling Rate
  65599. */
  65600. #define PDM_VAD0_CTRL_1_VADCICOSR(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_CTRL_1_VADCICOSR_SHIFT)) & PDM_VAD0_CTRL_1_VADCICOSR_MASK)
  65601. #define PDM_VAD0_CTRL_1_VADCHSEL_MASK (0x7000000U)
  65602. #define PDM_VAD0_CTRL_1_VADCHSEL_SHIFT (24U)
  65603. /*! VADCHSEL - Voice Activity Detector Channel Selector
  65604. */
  65605. #define PDM_VAD0_CTRL_1_VADCHSEL(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_CTRL_1_VADCHSEL_SHIFT)) & PDM_VAD0_CTRL_1_VADCHSEL_MASK)
  65606. /*! @} */
  65607. /*! @name VAD0_CTRL_2 - Voice Activity Detector 0 Control register */
  65608. /*! @{ */
  65609. #define PDM_VAD0_CTRL_2_VADHPF_MASK (0x3U)
  65610. #define PDM_VAD0_CTRL_2_VADHPF_SHIFT (0U)
  65611. /*! VADHPF - Voice Activity Detector High-Pass Filter
  65612. * 0b00..Filter bypassed.
  65613. * 0b01..Cut-off frequency at 1750Hz.
  65614. * 0b10..Cut-off frequency at 215Hz.
  65615. * 0b11..Cut-off frequency at 102Hz.
  65616. */
  65617. #define PDM_VAD0_CTRL_2_VADHPF(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_CTRL_2_VADHPF_SHIFT)) & PDM_VAD0_CTRL_2_VADHPF_MASK)
  65618. #define PDM_VAD0_CTRL_2_VADINPGAIN_MASK (0xF00U)
  65619. #define PDM_VAD0_CTRL_2_VADINPGAIN_SHIFT (8U)
  65620. /*! VADINPGAIN - Voice Activity Detector Input Gain
  65621. */
  65622. #define PDM_VAD0_CTRL_2_VADINPGAIN(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_CTRL_2_VADINPGAIN_SHIFT)) & PDM_VAD0_CTRL_2_VADINPGAIN_MASK)
  65623. #define PDM_VAD0_CTRL_2_VADFRAMET_MASK (0x3F0000U)
  65624. #define PDM_VAD0_CTRL_2_VADFRAMET_SHIFT (16U)
  65625. /*! VADFRAMET - Voice Activity Detector Frame Time
  65626. */
  65627. #define PDM_VAD0_CTRL_2_VADFRAMET(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_CTRL_2_VADFRAMET_SHIFT)) & PDM_VAD0_CTRL_2_VADFRAMET_MASK)
  65628. #define PDM_VAD0_CTRL_2_VADFOUTDIS_MASK (0x10000000U)
  65629. #define PDM_VAD0_CTRL_2_VADFOUTDIS_SHIFT (28U)
  65630. /*! VADFOUTDIS - Voice Activity Detector Force Output Disable
  65631. * 0b0..Output is enabled.
  65632. * 0b1..Output is disabled.
  65633. */
  65634. #define PDM_VAD0_CTRL_2_VADFOUTDIS(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_CTRL_2_VADFOUTDIS_SHIFT)) & PDM_VAD0_CTRL_2_VADFOUTDIS_MASK)
  65635. #define PDM_VAD0_CTRL_2_VADPREFEN_MASK (0x40000000U)
  65636. #define PDM_VAD0_CTRL_2_VADPREFEN_SHIFT (30U)
  65637. /*! VADPREFEN - Voice Activity Detector Pre Filter Enable
  65638. * 0b0..Pre-filter is bypassed.
  65639. * 0b1..Pre-filter is enabled.
  65640. */
  65641. #define PDM_VAD0_CTRL_2_VADPREFEN(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_CTRL_2_VADPREFEN_SHIFT)) & PDM_VAD0_CTRL_2_VADPREFEN_MASK)
  65642. #define PDM_VAD0_CTRL_2_VADFRENDIS_MASK (0x80000000U)
  65643. #define PDM_VAD0_CTRL_2_VADFRENDIS_SHIFT (31U)
  65644. /*! VADFRENDIS - Voice Activity Detector Frame Energy Disable
  65645. * 0b1..Frame energy calculus disabled.
  65646. * 0b0..Frame energy calculus enabled.
  65647. */
  65648. #define PDM_VAD0_CTRL_2_VADFRENDIS(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_CTRL_2_VADFRENDIS_SHIFT)) & PDM_VAD0_CTRL_2_VADFRENDIS_MASK)
  65649. /*! @} */
  65650. /*! @name VAD0_STAT - Voice Activity Detector 0 Status register */
  65651. /*! @{ */
  65652. #define PDM_VAD0_STAT_VADIF_MASK (0x1U)
  65653. #define PDM_VAD0_STAT_VADIF_SHIFT (0U)
  65654. /*! VADIF - Voice Activity Detector Interrupt Flag
  65655. * 0b0..Voice activity not detected
  65656. * 0b1..Voice activity detected
  65657. */
  65658. #define PDM_VAD0_STAT_VADIF(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_STAT_VADIF_SHIFT)) & PDM_VAD0_STAT_VADIF_MASK)
  65659. #define PDM_VAD0_STAT_VADEF_MASK (0x8000U)
  65660. #define PDM_VAD0_STAT_VADEF_SHIFT (15U)
  65661. /*! VADEF - Voice Activity Detector Event Flag
  65662. * 0b0..Voice activity not detected
  65663. * 0b1..Voice activity detected
  65664. */
  65665. #define PDM_VAD0_STAT_VADEF(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_STAT_VADEF_SHIFT)) & PDM_VAD0_STAT_VADEF_MASK)
  65666. #define PDM_VAD0_STAT_VADINSATF_MASK (0x10000U)
  65667. #define PDM_VAD0_STAT_VADINSATF_SHIFT (16U)
  65668. /*! VADINSATF - Voice Activity Detector Input Saturation Flag
  65669. * 0b0..No exception
  65670. * 0b1..Exception
  65671. */
  65672. #define PDM_VAD0_STAT_VADINSATF(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_STAT_VADINSATF_SHIFT)) & PDM_VAD0_STAT_VADINSATF_MASK)
  65673. #define PDM_VAD0_STAT_VADINITF_MASK (0x80000000U)
  65674. #define PDM_VAD0_STAT_VADINITF_SHIFT (31U)
  65675. /*! VADINITF - Voice Activity Detector Initialization Flag
  65676. * 0b0..HWVAD is not being initialized.
  65677. * 0b1..HWVAD is being initialized.
  65678. */
  65679. #define PDM_VAD0_STAT_VADINITF(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_STAT_VADINITF_SHIFT)) & PDM_VAD0_STAT_VADINITF_MASK)
  65680. /*! @} */
  65681. /*! @name VAD0_SCONFIG - Voice Activity Detector 0 Signal Configuration */
  65682. /*! @{ */
  65683. #define PDM_VAD0_SCONFIG_VADSGAIN_MASK (0xFU)
  65684. #define PDM_VAD0_SCONFIG_VADSGAIN_SHIFT (0U)
  65685. /*! VADSGAIN - Voice Activity Detector Signal Gain
  65686. */
  65687. #define PDM_VAD0_SCONFIG_VADSGAIN(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_SCONFIG_VADSGAIN_SHIFT)) & PDM_VAD0_SCONFIG_VADSGAIN_MASK)
  65688. #define PDM_VAD0_SCONFIG_VADSMAXEN_MASK (0x40000000U)
  65689. #define PDM_VAD0_SCONFIG_VADSMAXEN_SHIFT (30U)
  65690. /*! VADSMAXEN - Voice Activity Detector Signal Maximum Enable
  65691. * 0b0..Maximum block is bypassed.
  65692. * 0b1..Maximum block is enabled.
  65693. */
  65694. #define PDM_VAD0_SCONFIG_VADSMAXEN(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_SCONFIG_VADSMAXEN_SHIFT)) & PDM_VAD0_SCONFIG_VADSMAXEN_MASK)
  65695. #define PDM_VAD0_SCONFIG_VADSFILEN_MASK (0x80000000U)
  65696. #define PDM_VAD0_SCONFIG_VADSFILEN_SHIFT (31U)
  65697. /*! VADSFILEN - Voice Activity Detector Signal Filter Enable
  65698. * 0b0..Signal filter is disabled.
  65699. * 0b1..Signal filter is enabled.
  65700. */
  65701. #define PDM_VAD0_SCONFIG_VADSFILEN(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_SCONFIG_VADSFILEN_SHIFT)) & PDM_VAD0_SCONFIG_VADSFILEN_MASK)
  65702. /*! @} */
  65703. /*! @name VAD0_NCONFIG - Voice Activity Detector 0 Noise Configuration */
  65704. /*! @{ */
  65705. #define PDM_VAD0_NCONFIG_VADNGAIN_MASK (0xFU)
  65706. #define PDM_VAD0_NCONFIG_VADNGAIN_SHIFT (0U)
  65707. /*! VADNGAIN - Voice Activity Detector Noise Gain
  65708. */
  65709. #define PDM_VAD0_NCONFIG_VADNGAIN(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_NCONFIG_VADNGAIN_SHIFT)) & PDM_VAD0_NCONFIG_VADNGAIN_MASK)
  65710. #define PDM_VAD0_NCONFIG_VADNFILADJ_MASK (0x1F00U)
  65711. #define PDM_VAD0_NCONFIG_VADNFILADJ_SHIFT (8U)
  65712. /*! VADNFILADJ - Voice Activity Detector Noise Filter Adjustment
  65713. */
  65714. #define PDM_VAD0_NCONFIG_VADNFILADJ(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_NCONFIG_VADNFILADJ_SHIFT)) & PDM_VAD0_NCONFIG_VADNFILADJ_MASK)
  65715. #define PDM_VAD0_NCONFIG_VADNOREN_MASK (0x10000000U)
  65716. #define PDM_VAD0_NCONFIG_VADNOREN_SHIFT (28U)
  65717. /*! VADNOREN - Voice Activity Detector Noise OR Enable
  65718. * 0b0..Noise input is not decimated.
  65719. * 0b1..Noise input is decimated.
  65720. */
  65721. #define PDM_VAD0_NCONFIG_VADNOREN(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_NCONFIG_VADNOREN_SHIFT)) & PDM_VAD0_NCONFIG_VADNOREN_MASK)
  65722. #define PDM_VAD0_NCONFIG_VADNDECEN_MASK (0x20000000U)
  65723. #define PDM_VAD0_NCONFIG_VADNDECEN_SHIFT (29U)
  65724. /*! VADNDECEN - Voice Activity Detector Noise Decimation Enable
  65725. * 0b0..Noise input is not decimated.
  65726. * 0b1..Noise input is decimated.
  65727. */
  65728. #define PDM_VAD0_NCONFIG_VADNDECEN(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_NCONFIG_VADNDECEN_SHIFT)) & PDM_VAD0_NCONFIG_VADNDECEN_MASK)
  65729. #define PDM_VAD0_NCONFIG_VADNMINEN_MASK (0x40000000U)
  65730. #define PDM_VAD0_NCONFIG_VADNMINEN_SHIFT (30U)
  65731. /*! VADNMINEN - Voice Activity Detector Noise Minimum Enable
  65732. * 0b0..Minimum block is bypassed.
  65733. * 0b1..Minimum block is enabled.
  65734. */
  65735. #define PDM_VAD0_NCONFIG_VADNMINEN(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_NCONFIG_VADNMINEN_SHIFT)) & PDM_VAD0_NCONFIG_VADNMINEN_MASK)
  65736. #define PDM_VAD0_NCONFIG_VADNFILAUTO_MASK (0x80000000U)
  65737. #define PDM_VAD0_NCONFIG_VADNFILAUTO_SHIFT (31U)
  65738. /*! VADNFILAUTO - Voice Activity Detector Noise Filter Auto
  65739. * 0b0..Noise filter is always enabled.
  65740. * 0b1..Noise filter is enabled/disabled based on voice activity information.
  65741. */
  65742. #define PDM_VAD0_NCONFIG_VADNFILAUTO(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_NCONFIG_VADNFILAUTO_SHIFT)) & PDM_VAD0_NCONFIG_VADNFILAUTO_MASK)
  65743. /*! @} */
  65744. /*! @name VAD0_NDATA - Voice Activity Detector 0 Noise Data */
  65745. /*! @{ */
  65746. #define PDM_VAD0_NDATA_VADNDATA_MASK (0xFFFFU)
  65747. #define PDM_VAD0_NDATA_VADNDATA_SHIFT (0U)
  65748. /*! VADNDATA - Voice Activity Detector Noise Data
  65749. */
  65750. #define PDM_VAD0_NDATA_VADNDATA(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_NDATA_VADNDATA_SHIFT)) & PDM_VAD0_NDATA_VADNDATA_MASK)
  65751. /*! @} */
  65752. /*! @name VAD0_ZCD - Voice Activity Detector 0 Zero-Crossing Detector */
  65753. /*! @{ */
  65754. #define PDM_VAD0_ZCD_VADZCDEN_MASK (0x1U)
  65755. #define PDM_VAD0_ZCD_VADZCDEN_SHIFT (0U)
  65756. /*! VADZCDEN - Zero-Crossing Detector Enable
  65757. * 0b0..The ZCD is disabled
  65758. * 0b1..The ZCD is enabled
  65759. */
  65760. #define PDM_VAD0_ZCD_VADZCDEN(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_ZCD_VADZCDEN_SHIFT)) & PDM_VAD0_ZCD_VADZCDEN_MASK)
  65761. #define PDM_VAD0_ZCD_VADZCDAUTO_MASK (0x4U)
  65762. #define PDM_VAD0_ZCD_VADZCDAUTO_SHIFT (2U)
  65763. /*! VADZCDAUTO - Zero-Crossing Detector Automatic Threshold
  65764. * 0b0..The ZCD threshold is not estimated automatically
  65765. * 0b1..The ZCD threshold is estimated automatically
  65766. */
  65767. #define PDM_VAD0_ZCD_VADZCDAUTO(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_ZCD_VADZCDAUTO_SHIFT)) & PDM_VAD0_ZCD_VADZCDAUTO_MASK)
  65768. #define PDM_VAD0_ZCD_VADZCDAND_MASK (0x10U)
  65769. #define PDM_VAD0_ZCD_VADZCDAND_SHIFT (4U)
  65770. /*! VADZCDAND - Zero-Crossing Detector AND Behavior
  65771. * 0b0..The ZCD result is OR'ed with the energy-based detection.
  65772. * 0b1..The ZCD result is AND'ed with the energy-based detection.
  65773. */
  65774. #define PDM_VAD0_ZCD_VADZCDAND(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_ZCD_VADZCDAND_SHIFT)) & PDM_VAD0_ZCD_VADZCDAND_MASK)
  65775. #define PDM_VAD0_ZCD_VADZCDADJ_MASK (0xF00U)
  65776. #define PDM_VAD0_ZCD_VADZCDADJ_SHIFT (8U)
  65777. /*! VADZCDADJ - Zero-Crossing Detector Adjustment
  65778. */
  65779. #define PDM_VAD0_ZCD_VADZCDADJ(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_ZCD_VADZCDADJ_SHIFT)) & PDM_VAD0_ZCD_VADZCDADJ_MASK)
  65780. #define PDM_VAD0_ZCD_VADZCDTH_MASK (0x3FF0000U)
  65781. #define PDM_VAD0_ZCD_VADZCDTH_SHIFT (16U)
  65782. /*! VADZCDTH - Zero-Crossing Detector Threshold
  65783. */
  65784. #define PDM_VAD0_ZCD_VADZCDTH(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_ZCD_VADZCDTH_SHIFT)) & PDM_VAD0_ZCD_VADZCDTH_MASK)
  65785. /*! @} */
  65786. /*!
  65787. * @}
  65788. */ /* end of group PDM_Register_Masks */
  65789. /* PDM - Peripheral instance base addresses */
  65790. /** Peripheral PDM base address */
  65791. #define PDM_BASE (0x40C20000u)
  65792. /** Peripheral PDM base pointer */
  65793. #define PDM ((PDM_Type *)PDM_BASE)
  65794. /** Array initializer of PDM peripheral base addresses */
  65795. #define PDM_BASE_ADDRS { PDM_BASE }
  65796. /** Array initializer of PDM peripheral base pointers */
  65797. #define PDM_BASE_PTRS { PDM }
  65798. /*!
  65799. * @}
  65800. */ /* end of group PDM_Peripheral_Access_Layer */
  65801. /* ----------------------------------------------------------------------------
  65802. -- PGMC_BPC Peripheral Access Layer
  65803. ---------------------------------------------------------------------------- */
  65804. /*!
  65805. * @addtogroup PGMC_BPC_Peripheral_Access_Layer PGMC_BPC Peripheral Access Layer
  65806. * @{
  65807. */
  65808. /** PGMC_BPC - Register Layout Typedef */
  65809. typedef struct {
  65810. uint8_t RESERVED_0[4];
  65811. __IO uint32_t BPC_AUTHEN_CTRL; /**< BPC Authentication Control, offset: 0x4 */
  65812. uint8_t RESERVED_1[8];
  65813. __IO uint32_t BPC_MODE; /**< BPC Mode, offset: 0x10 */
  65814. __IO uint32_t BPC_POWER_CTRL; /**< BPC power control, offset: 0x14 */
  65815. uint8_t RESERVED_2[20];
  65816. __IO uint32_t BPC_FLAG; /**< BPC flag, offset: 0x2C */
  65817. uint8_t RESERVED_3[16];
  65818. __IO uint32_t BPC_SSAR_SAVE_CTRL; /**< BPC SSAR save control, offset: 0x40 */
  65819. __IO uint32_t BPC_SSAR_RESTORE_CTRL; /**< BPC SSAR restore control, offset: 0x44 */
  65820. } PGMC_BPC_Type;
  65821. /* ----------------------------------------------------------------------------
  65822. -- PGMC_BPC Register Masks
  65823. ---------------------------------------------------------------------------- */
  65824. /*!
  65825. * @addtogroup PGMC_BPC_Register_Masks PGMC_BPC Register Masks
  65826. * @{
  65827. */
  65828. /*! @name BPC_AUTHEN_CTRL - BPC Authentication Control */
  65829. /*! @{ */
  65830. #define PGMC_BPC_BPC_AUTHEN_CTRL_USER_MASK (0x1U)
  65831. #define PGMC_BPC_BPC_AUTHEN_CTRL_USER_SHIFT (0U)
  65832. /*! USER - Allow user mode access
  65833. * 0b0..Allow only privilege mode to access basic power control registers
  65834. * 0b1..Allow both privilege and user mode to access basic power control registers
  65835. */
  65836. #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)
  65837. #define PGMC_BPC_BPC_AUTHEN_CTRL_NONSECURE_MASK (0x2U)
  65838. #define PGMC_BPC_BPC_AUTHEN_CTRL_NONSECURE_SHIFT (1U)
  65839. /*! NONSECURE - Allow non-secure mode access
  65840. * 0b0..Allow only secure mode to access basic power control registers
  65841. * 0b1..Allow both secure and non-secure mode to access basic power control registers
  65842. */
  65843. #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)
  65844. #define PGMC_BPC_BPC_AUTHEN_CTRL_LOCK_SETTING_MASK (0x10U)
  65845. #define PGMC_BPC_BPC_AUTHEN_CTRL_LOCK_SETTING_SHIFT (4U)
  65846. /*! LOCK_SETTING - Lock NONSECURE and USER
  65847. */
  65848. #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)
  65849. #define PGMC_BPC_BPC_AUTHEN_CTRL_WHITE_LIST_MASK (0xF00U)
  65850. #define PGMC_BPC_BPC_AUTHEN_CTRL_WHITE_LIST_SHIFT (8U)
  65851. /*! WHITE_LIST - Domain ID white list
  65852. */
  65853. #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)
  65854. #define PGMC_BPC_BPC_AUTHEN_CTRL_LOCK_LIST_MASK (0x1000U)
  65855. #define PGMC_BPC_BPC_AUTHEN_CTRL_LOCK_LIST_SHIFT (12U)
  65856. /*! LOCK_LIST - White list lock
  65857. */
  65858. #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)
  65859. #define PGMC_BPC_BPC_AUTHEN_CTRL_LOCK_CFG_MASK (0x100000U)
  65860. #define PGMC_BPC_BPC_AUTHEN_CTRL_LOCK_CFG_SHIFT (20U)
  65861. /*! LOCK_CFG - Configuration lock
  65862. */
  65863. #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)
  65864. /*! @} */
  65865. /*! @name BPC_MODE - BPC Mode */
  65866. /*! @{ */
  65867. #define PGMC_BPC_BPC_MODE_CTRL_MODE_MASK (0x3U)
  65868. #define PGMC_BPC_BPC_MODE_CTRL_MODE_SHIFT (0U)
  65869. /*! CTRL_MODE - Control mode. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65870. * 0b00..Not affected by any low power mode
  65871. * 0b01..Controlled by CPU power mode of the domain
  65872. * 0b10..Controlled by Setpoint
  65873. * 0b11..Reserved
  65874. */
  65875. #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)
  65876. #define PGMC_BPC_BPC_MODE_DOMAIN_ASSIGN_MASK (0x30U)
  65877. #define PGMC_BPC_BPC_MODE_DOMAIN_ASSIGN_SHIFT (4U)
  65878. /*! DOMAIN_ASSIGN - Domain assignment of the BPC
  65879. * 0b00..Domain 0
  65880. * 0b01..Domain 1
  65881. * 0b10..Domain 2
  65882. * 0b11..Domain 3
  65883. */
  65884. #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)
  65885. /*! @} */
  65886. /*! @name BPC_POWER_CTRL - BPC power control */
  65887. /*! @{ */
  65888. #define PGMC_BPC_BPC_POWER_CTRL_PWR_OFF_AT_WAIT_MASK (0x2U)
  65889. #define PGMC_BPC_BPC_POWER_CTRL_PWR_OFF_AT_WAIT_SHIFT (1U)
  65890. /*! PWR_OFF_AT_WAIT - 0x1: Power off when domain enters WAIT mode
  65891. */
  65892. #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)
  65893. #define PGMC_BPC_BPC_POWER_CTRL_PWR_OFF_AT_STOP_MASK (0x4U)
  65894. #define PGMC_BPC_BPC_POWER_CTRL_PWR_OFF_AT_STOP_SHIFT (2U)
  65895. /*! PWR_OFF_AT_STOP - 0x1: Power off when domain enters STOP mode
  65896. */
  65897. #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)
  65898. #define PGMC_BPC_BPC_POWER_CTRL_PWR_OFF_AT_SUSPEND_MASK (0x8U)
  65899. #define PGMC_BPC_BPC_POWER_CTRL_PWR_OFF_AT_SUSPEND_SHIFT (3U)
  65900. /*! PWR_OFF_AT_SUSPEND - 0x1: Power off when domain enters SUSPEND mode
  65901. */
  65902. #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)
  65903. #define PGMC_BPC_BPC_POWER_CTRL_ISO_ON_SOFT_MASK (0x100U)
  65904. #define PGMC_BPC_BPC_POWER_CTRL_ISO_ON_SOFT_SHIFT (8U)
  65905. /*! ISO_ON_SOFT - Software isolation on trigger
  65906. */
  65907. #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)
  65908. #define PGMC_BPC_BPC_POWER_CTRL_PSW_OFF_SOFT_MASK (0x200U)
  65909. #define PGMC_BPC_BPC_POWER_CTRL_PSW_OFF_SOFT_SHIFT (9U)
  65910. /*! PSW_OFF_SOFT - Software power off trigger
  65911. */
  65912. #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)
  65913. #define PGMC_BPC_BPC_POWER_CTRL_PSW_ON_SOFT_MASK (0x400U)
  65914. #define PGMC_BPC_BPC_POWER_CTRL_PSW_ON_SOFT_SHIFT (10U)
  65915. /*! PSW_ON_SOFT - Software power on trigger
  65916. */
  65917. #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)
  65918. #define PGMC_BPC_BPC_POWER_CTRL_ISO_OFF_SOFT_MASK (0x800U)
  65919. #define PGMC_BPC_BPC_POWER_CTRL_ISO_OFF_SOFT_SHIFT (11U)
  65920. /*! ISO_OFF_SOFT - Software isolation off trigger
  65921. */
  65922. #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)
  65923. #define PGMC_BPC_BPC_POWER_CTRL_PWR_OFF_AT_SP_MASK (0xFFFF0000U)
  65924. #define PGMC_BPC_BPC_POWER_CTRL_PWR_OFF_AT_SP_SHIFT (16U)
  65925. /*! PWR_OFF_AT_SP - Power off when system enters Setpoint number
  65926. */
  65927. #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)
  65928. /*! @} */
  65929. /*! @name BPC_FLAG - BPC flag */
  65930. /*! @{ */
  65931. #define PGMC_BPC_BPC_FLAG_PDN_FLAG_MASK (0x1U)
  65932. #define PGMC_BPC_BPC_FLAG_PDN_FLAG_SHIFT (0U)
  65933. /*! PDN_FLAG - set to 1 after power switch off, cleared by writing 1
  65934. */
  65935. #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)
  65936. /*! @} */
  65937. /*! @name BPC_SSAR_SAVE_CTRL - BPC SSAR save control */
  65938. /*! @{ */
  65939. #define PGMC_BPC_BPC_SSAR_SAVE_CTRL_SAVE_AT_RUN_MASK (0x1U)
  65940. #define PGMC_BPC_BPC_SSAR_SAVE_CTRL_SAVE_AT_RUN_SHIFT (0U)
  65941. /*! SAVE_AT_RUN - Save data at RUN mode, software writting 0x1 to trigger SSARC to execute save process
  65942. */
  65943. #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)
  65944. #define PGMC_BPC_BPC_SSAR_SAVE_CTRL_SAVE_AT_WAIT_MASK (0x2U)
  65945. #define PGMC_BPC_BPC_SSAR_SAVE_CTRL_SAVE_AT_WAIT_SHIFT (1U)
  65946. /*! SAVE_AT_WAIT - Save data when domain enters WAIT mode
  65947. */
  65948. #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)
  65949. #define PGMC_BPC_BPC_SSAR_SAVE_CTRL_SAVE_AT_STOP_MASK (0x4U)
  65950. #define PGMC_BPC_BPC_SSAR_SAVE_CTRL_SAVE_AT_STOP_SHIFT (2U)
  65951. /*! SAVE_AT_STOP - Save data when domain enters STOP mode
  65952. */
  65953. #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)
  65954. #define PGMC_BPC_BPC_SSAR_SAVE_CTRL_SAVE_AT_SUSPEND_MASK (0x8U)
  65955. #define PGMC_BPC_BPC_SSAR_SAVE_CTRL_SAVE_AT_SUSPEND_SHIFT (3U)
  65956. /*! SAVE_AT_SUSPEND - Save data when domain enters SUSPEND mode
  65957. */
  65958. #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)
  65959. #define PGMC_BPC_BPC_SSAR_SAVE_CTRL_SAVE_AT_SP_MASK (0xFFFF0000U)
  65960. #define PGMC_BPC_BPC_SSAR_SAVE_CTRL_SAVE_AT_SP_SHIFT (16U)
  65961. /*! SAVE_AT_SP - Save data when system enters a Setpoint.
  65962. */
  65963. #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)
  65964. /*! @} */
  65965. /*! @name BPC_SSAR_RESTORE_CTRL - BPC SSAR restore control */
  65966. /*! @{ */
  65967. #define PGMC_BPC_BPC_SSAR_RESTORE_CTRL_RESTORE_AT_RUN_MASK (0x1U)
  65968. #define PGMC_BPC_BPC_SSAR_RESTORE_CTRL_RESTORE_AT_RUN_SHIFT (0U)
  65969. /*! RESTORE_AT_RUN - Restore data at RUN mode
  65970. */
  65971. #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)
  65972. #define PGMC_BPC_BPC_SSAR_RESTORE_CTRL_RESTORE_AT_SP_MASK (0xFFFF0000U)
  65973. #define PGMC_BPC_BPC_SSAR_RESTORE_CTRL_RESTORE_AT_SP_SHIFT (16U)
  65974. /*! RESTORE_AT_SP - Restore data when system enters a Setpoint.
  65975. */
  65976. #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)
  65977. /*! @} */
  65978. /*!
  65979. * @}
  65980. */ /* end of group PGMC_BPC_Register_Masks */
  65981. /* PGMC_BPC - Peripheral instance base addresses */
  65982. /** Peripheral PGMC_BPC0 base address */
  65983. #define PGMC_BPC0_BASE (0x40C88000u)
  65984. /** Peripheral PGMC_BPC0 base pointer */
  65985. #define PGMC_BPC0 ((PGMC_BPC_Type *)PGMC_BPC0_BASE)
  65986. /** Peripheral PGMC_BPC1 base address */
  65987. #define PGMC_BPC1_BASE (0x40C88200u)
  65988. /** Peripheral PGMC_BPC1 base pointer */
  65989. #define PGMC_BPC1 ((PGMC_BPC_Type *)PGMC_BPC1_BASE)
  65990. /** Peripheral PGMC_BPC2 base address */
  65991. #define PGMC_BPC2_BASE (0x40C88400u)
  65992. /** Peripheral PGMC_BPC2 base pointer */
  65993. #define PGMC_BPC2 ((PGMC_BPC_Type *)PGMC_BPC2_BASE)
  65994. /** Peripheral PGMC_BPC3 base address */
  65995. #define PGMC_BPC3_BASE (0x40C88600u)
  65996. /** Peripheral PGMC_BPC3 base pointer */
  65997. #define PGMC_BPC3 ((PGMC_BPC_Type *)PGMC_BPC3_BASE)
  65998. /** Peripheral PGMC_BPC4 base address */
  65999. #define PGMC_BPC4_BASE (0x40C88800u)
  66000. /** Peripheral PGMC_BPC4 base pointer */
  66001. #define PGMC_BPC4 ((PGMC_BPC_Type *)PGMC_BPC4_BASE)
  66002. /** Peripheral PGMC_BPC5 base address */
  66003. #define PGMC_BPC5_BASE (0x40C88A00u)
  66004. /** Peripheral PGMC_BPC5 base pointer */
  66005. #define PGMC_BPC5 ((PGMC_BPC_Type *)PGMC_BPC5_BASE)
  66006. /** Peripheral PGMC_BPC6 base address */
  66007. #define PGMC_BPC6_BASE (0x40C88C00u)
  66008. /** Peripheral PGMC_BPC6 base pointer */
  66009. #define PGMC_BPC6 ((PGMC_BPC_Type *)PGMC_BPC6_BASE)
  66010. /** Peripheral PGMC_BPC7 base address */
  66011. #define PGMC_BPC7_BASE (0x40C88E00u)
  66012. /** Peripheral PGMC_BPC7 base pointer */
  66013. #define PGMC_BPC7 ((PGMC_BPC_Type *)PGMC_BPC7_BASE)
  66014. /** Array initializer of PGMC_BPC peripheral base addresses */
  66015. #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 }
  66016. /** Array initializer of PGMC_BPC peripheral base pointers */
  66017. #define PGMC_BPC_BASE_PTRS { PGMC_BPC0, PGMC_BPC1, PGMC_BPC2, PGMC_BPC3, PGMC_BPC4, PGMC_BPC5, PGMC_BPC6, PGMC_BPC7 }
  66018. /*!
  66019. * @}
  66020. */ /* end of group PGMC_BPC_Peripheral_Access_Layer */
  66021. /* ----------------------------------------------------------------------------
  66022. -- PGMC_CPC Peripheral Access Layer
  66023. ---------------------------------------------------------------------------- */
  66024. /*!
  66025. * @addtogroup PGMC_CPC_Peripheral_Access_Layer PGMC_CPC Peripheral Access Layer
  66026. * @{
  66027. */
  66028. /** PGMC_CPC - Register Layout Typedef */
  66029. typedef struct {
  66030. uint8_t RESERVED_0[4];
  66031. __IO uint32_t CPC_AUTHEN_CTRL; /**< CPC Authentication Control, offset: 0x4 */
  66032. uint8_t RESERVED_1[8];
  66033. __IO uint32_t CPC_CORE_MODE; /**< CPC Core Mode, offset: 0x10 */
  66034. __IO uint32_t CPC_CORE_POWER_CTRL; /**< CPC core power control, offset: 0x14 */
  66035. uint8_t RESERVED_2[20];
  66036. __IO uint32_t CPC_FLAG; /**< CPC flag, offset: 0x2C */
  66037. uint8_t RESERVED_3[16];
  66038. __IO uint32_t CPC_CACHE_MODE; /**< CPC Cache Mode, offset: 0x40 */
  66039. __IO uint32_t CPC_CACHE_CM_CTRL; /**< CPC cache CPU mode control, offset: 0x44 */
  66040. __IO uint32_t CPC_CACHE_SP_CTRL_0; /**< CPC cache Setpoint control 0, offset: 0x48 */
  66041. __IO uint32_t CPC_CACHE_SP_CTRL_1; /**< CPC cache Setpoint control 1, offset: 0x4C */
  66042. uint8_t RESERVED_4[112];
  66043. __IO uint32_t CPC_LMEM_MODE; /**< CPC local memory Mode, offset: 0xC0 */
  66044. __IO uint32_t CPC_LMEM_CM_CTRL; /**< CPC local memory CPU mode control, offset: 0xC4 */
  66045. __IO uint32_t CPC_LMEM_SP_CTRL_0; /**< CPC local memory Setpoint control 0, offset: 0xC8 */
  66046. __IO uint32_t CPC_LMEM_SP_CTRL_1; /**< CPC local memory Setpoint control 1, offset: 0xCC */
  66047. } PGMC_CPC_Type;
  66048. /* ----------------------------------------------------------------------------
  66049. -- PGMC_CPC Register Masks
  66050. ---------------------------------------------------------------------------- */
  66051. /*!
  66052. * @addtogroup PGMC_CPC_Register_Masks PGMC_CPC Register Masks
  66053. * @{
  66054. */
  66055. /*! @name CPC_AUTHEN_CTRL - CPC Authentication Control */
  66056. /*! @{ */
  66057. #define PGMC_CPC_CPC_AUTHEN_CTRL_USER_MASK (0x1U)
  66058. #define PGMC_CPC_CPC_AUTHEN_CTRL_USER_SHIFT (0U)
  66059. /*! USER - Allow user mode access
  66060. */
  66061. #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)
  66062. #define PGMC_CPC_CPC_AUTHEN_CTRL_NONSECURE_MASK (0x2U)
  66063. #define PGMC_CPC_CPC_AUTHEN_CTRL_NONSECURE_SHIFT (1U)
  66064. /*! NONSECURE - Allow non-secure mode access
  66065. */
  66066. #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)
  66067. #define PGMC_CPC_CPC_AUTHEN_CTRL_LOCK_SETTING_MASK (0x10U)
  66068. #define PGMC_CPC_CPC_AUTHEN_CTRL_LOCK_SETTING_SHIFT (4U)
  66069. /*! LOCK_SETTING - Lock NONSECURE and USER
  66070. */
  66071. #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)
  66072. #define PGMC_CPC_CPC_AUTHEN_CTRL_WHITE_LIST_MASK (0xF00U)
  66073. #define PGMC_CPC_CPC_AUTHEN_CTRL_WHITE_LIST_SHIFT (8U)
  66074. /*! WHITE_LIST - Domain ID white list
  66075. */
  66076. #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)
  66077. #define PGMC_CPC_CPC_AUTHEN_CTRL_LOCK_LIST_MASK (0x1000U)
  66078. #define PGMC_CPC_CPC_AUTHEN_CTRL_LOCK_LIST_SHIFT (12U)
  66079. /*! LOCK_LIST - White list lock
  66080. */
  66081. #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)
  66082. #define PGMC_CPC_CPC_AUTHEN_CTRL_LOCK_CFG_MASK (0x100000U)
  66083. #define PGMC_CPC_CPC_AUTHEN_CTRL_LOCK_CFG_SHIFT (20U)
  66084. /*! LOCK_CFG - Configuration lock
  66085. */
  66086. #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)
  66087. /*! @} */
  66088. /*! @name CPC_CORE_MODE - CPC Core Mode */
  66089. /*! @{ */
  66090. #define PGMC_CPC_CPC_CORE_MODE_CTRL_MODE_MASK (0x3U)
  66091. #define PGMC_CPC_CPC_CORE_MODE_CTRL_MODE_SHIFT (0U)
  66092. /*! CTRL_MODE - Control mode. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  66093. * 0b00..Not affected by any low power mode
  66094. * 0b01..Controlled by CPU power mode of the domain
  66095. * 0b10..Reserved
  66096. * 0b11..Reserved
  66097. */
  66098. #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)
  66099. /*! @} */
  66100. /*! @name CPC_CORE_POWER_CTRL - CPC core power control */
  66101. /*! @{ */
  66102. #define PGMC_CPC_CPC_CORE_POWER_CTRL_PWR_OFF_AT_WAIT_MASK (0x2U)
  66103. #define PGMC_CPC_CPC_CORE_POWER_CTRL_PWR_OFF_AT_WAIT_SHIFT (1U)
  66104. /*! PWR_OFF_AT_WAIT - Power off when domain enters WAIT mode
  66105. */
  66106. #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)
  66107. #define PGMC_CPC_CPC_CORE_POWER_CTRL_PWR_OFF_AT_STOP_MASK (0x4U)
  66108. #define PGMC_CPC_CPC_CORE_POWER_CTRL_PWR_OFF_AT_STOP_SHIFT (2U)
  66109. /*! PWR_OFF_AT_STOP - Power off when domain enters STOP mode
  66110. */
  66111. #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)
  66112. #define PGMC_CPC_CPC_CORE_POWER_CTRL_PWR_OFF_AT_SUSPEND_MASK (0x8U)
  66113. #define PGMC_CPC_CPC_CORE_POWER_CTRL_PWR_OFF_AT_SUSPEND_SHIFT (3U)
  66114. /*! PWR_OFF_AT_SUSPEND - Power off when domain enters SUSPEND mode
  66115. */
  66116. #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)
  66117. #define PGMC_CPC_CPC_CORE_POWER_CTRL_ISO_ON_SOFT_MASK (0x100U)
  66118. #define PGMC_CPC_CPC_CORE_POWER_CTRL_ISO_ON_SOFT_SHIFT (8U)
  66119. /*! ISO_ON_SOFT - Software isolation on trigger
  66120. */
  66121. #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)
  66122. #define PGMC_CPC_CPC_CORE_POWER_CTRL_PSW_OFF_SOFT_MASK (0x200U)
  66123. #define PGMC_CPC_CPC_CORE_POWER_CTRL_PSW_OFF_SOFT_SHIFT (9U)
  66124. /*! PSW_OFF_SOFT - Software power off trigger
  66125. */
  66126. #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)
  66127. #define PGMC_CPC_CPC_CORE_POWER_CTRL_PSW_ON_SOFT_MASK (0x400U)
  66128. #define PGMC_CPC_CPC_CORE_POWER_CTRL_PSW_ON_SOFT_SHIFT (10U)
  66129. /*! PSW_ON_SOFT - Software power on trigger
  66130. */
  66131. #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)
  66132. #define PGMC_CPC_CPC_CORE_POWER_CTRL_ISO_OFF_SOFT_MASK (0x800U)
  66133. #define PGMC_CPC_CPC_CORE_POWER_CTRL_ISO_OFF_SOFT_SHIFT (11U)
  66134. /*! ISO_OFF_SOFT - Software isolation off trigger
  66135. */
  66136. #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)
  66137. /*! @} */
  66138. /*! @name CPC_FLAG - CPC flag */
  66139. /*! @{ */
  66140. #define PGMC_CPC_CPC_FLAG_CORE_PDN_FLAG_MASK (0x1U)
  66141. #define PGMC_CPC_CPC_FLAG_CORE_PDN_FLAG_SHIFT (0U)
  66142. /*! CORE_PDN_FLAG - set to 1 after core power switch off, cleared by writing 1
  66143. */
  66144. #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)
  66145. /*! @} */
  66146. /*! @name CPC_CACHE_MODE - CPC Cache Mode */
  66147. /*! @{ */
  66148. #define PGMC_CPC_CPC_CACHE_MODE_CTRL_MODE_MASK (0x3U)
  66149. #define PGMC_CPC_CPC_CACHE_MODE_CTRL_MODE_SHIFT (0U)
  66150. /*! CTRL_MODE - Control mode. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  66151. * 0b00..Not affected by any low power mode
  66152. * 0b01..Controlled by CPU power mode of the domain
  66153. * 0b10..Controlled by Setpoint
  66154. * 0b11..Reserved
  66155. */
  66156. #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)
  66157. /*! @} */
  66158. /*! @name CPC_CACHE_CM_CTRL - CPC cache CPU mode control */
  66159. /*! @{ */
  66160. #define PGMC_CPC_CPC_CACHE_CM_CTRL_MLPL_AT_RUN_MASK (0xFU)
  66161. #define PGMC_CPC_CPC_CACHE_CM_CTRL_MLPL_AT_RUN_SHIFT (0U)
  66162. /*! MLPL_AT_RUN - Memory Low Power Level (MLPL) at RUN mode
  66163. */
  66164. #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)
  66165. #define PGMC_CPC_CPC_CACHE_CM_CTRL_MLPL_AT_WAIT_MASK (0xF0U)
  66166. #define PGMC_CPC_CPC_CACHE_CM_CTRL_MLPL_AT_WAIT_SHIFT (4U)
  66167. /*! MLPL_AT_WAIT - Memory Low Power Level (MLPL) at WAIT mode. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  66168. */
  66169. #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)
  66170. #define PGMC_CPC_CPC_CACHE_CM_CTRL_MLPL_AT_STOP_MASK (0xF00U)
  66171. #define PGMC_CPC_CPC_CACHE_CM_CTRL_MLPL_AT_STOP_SHIFT (8U)
  66172. /*! MLPL_AT_STOP - Memory Low Power Level (MLPL) at STOP mode. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  66173. */
  66174. #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)
  66175. #define PGMC_CPC_CPC_CACHE_CM_CTRL_MLPL_AT_SUSPEND_MASK (0xF000U)
  66176. #define PGMC_CPC_CPC_CACHE_CM_CTRL_MLPL_AT_SUSPEND_SHIFT (12U)
  66177. /*! MLPL_AT_SUSPEND - Memory Low Power Level (MLPL) at SUSPEND mode. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  66178. */
  66179. #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)
  66180. #define PGMC_CPC_CPC_CACHE_CM_CTRL_MLPL_SOFT_MASK (0x10000U)
  66181. #define PGMC_CPC_CPC_CACHE_CM_CTRL_MLPL_SOFT_SHIFT (16U)
  66182. /*! MLPL_SOFT - Memory Low Power Level (MLPL) software change request, keep 1 until MLPL transition complete
  66183. */
  66184. #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)
  66185. /*! @} */
  66186. /*! @name CPC_CACHE_SP_CTRL_0 - CPC cache Setpoint control 0 */
  66187. /*! @{ */
  66188. #define PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP0_MASK (0xFU)
  66189. #define PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP0_SHIFT (0U)
  66190. /*! MLPL_AT_SP0 - Memory Low Power Level (MLPL) at Setpoint 0. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  66191. */
  66192. #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)
  66193. #define PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP1_MASK (0xF0U)
  66194. #define PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP1_SHIFT (4U)
  66195. /*! MLPL_AT_SP1 - Memory Low Power Level (MLPL) at Setpoint 1. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  66196. */
  66197. #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)
  66198. #define PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP2_MASK (0xF00U)
  66199. #define PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP2_SHIFT (8U)
  66200. /*! MLPL_AT_SP2 - Memory Low Power Level (MLPL) at Setpoint 2. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  66201. */
  66202. #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)
  66203. #define PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP3_MASK (0xF000U)
  66204. #define PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP3_SHIFT (12U)
  66205. /*! MLPL_AT_SP3 - Memory Low Power Level (MLPL) at Setpoint 3. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  66206. */
  66207. #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)
  66208. #define PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP4_MASK (0xF0000U)
  66209. #define PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP4_SHIFT (16U)
  66210. /*! MLPL_AT_SP4 - Memory Low Power Level (MLPL) at Setpoint 4. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  66211. */
  66212. #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)
  66213. #define PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP5_MASK (0xF00000U)
  66214. #define PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP5_SHIFT (20U)
  66215. /*! MLPL_AT_SP5 - Memory Low Power Level (MLPL) at Setpoint 5. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  66216. */
  66217. #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)
  66218. #define PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP6_MASK (0xF000000U)
  66219. #define PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP6_SHIFT (24U)
  66220. /*! MLPL_AT_SP6 - Memory Low Power Level (MLPL) at Setpoint 6. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  66221. */
  66222. #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)
  66223. #define PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP7_MASK (0xF0000000U)
  66224. #define PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP7_SHIFT (28U)
  66225. /*! MLPL_AT_SP7 - Memory Low Power Level (MLPL) at Setpoint 7. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  66226. */
  66227. #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)
  66228. /*! @} */
  66229. /*! @name CPC_CACHE_SP_CTRL_1 - CPC cache Setpoint control 1 */
  66230. /*! @{ */
  66231. #define PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP8_MASK (0xFU)
  66232. #define PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP8_SHIFT (0U)
  66233. /*! MLPL_AT_SP8 - Memory Low Power Level (MLPL) at Setpoint 8. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  66234. */
  66235. #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)
  66236. #define PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP9_MASK (0xF0U)
  66237. #define PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP9_SHIFT (4U)
  66238. /*! MLPL_AT_SP9 - Memory Low Power Level (MLPL) at Setpoint 9. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  66239. */
  66240. #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)
  66241. #define PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP10_MASK (0xF00U)
  66242. #define PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP10_SHIFT (8U)
  66243. /*! MLPL_AT_SP10 - Memory Low Power Level (MLPL) at Setpoint 10. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  66244. */
  66245. #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)
  66246. #define PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP11_MASK (0xF000U)
  66247. #define PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP11_SHIFT (12U)
  66248. /*! MLPL_AT_SP11 - Memory Low Power Level (MLPL) at Setpoint 11. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  66249. */
  66250. #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)
  66251. #define PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP12_MASK (0xF0000U)
  66252. #define PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP12_SHIFT (16U)
  66253. /*! MLPL_AT_SP12 - Memory Low Power Level (MLPL) at Setpoint 12. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  66254. */
  66255. #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)
  66256. #define PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP13_MASK (0xF00000U)
  66257. #define PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP13_SHIFT (20U)
  66258. /*! MLPL_AT_SP13 - Memory Low Power Level (MLPL) at Setpoint 13. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  66259. */
  66260. #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)
  66261. #define PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP14_MASK (0xF000000U)
  66262. #define PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP14_SHIFT (24U)
  66263. /*! MLPL_AT_SP14 - Memory Low Power Level (MLPL) at Setpoint 14. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  66264. */
  66265. #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)
  66266. #define PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP15_MASK (0xF0000000U)
  66267. #define PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP15_SHIFT (28U)
  66268. /*! MLPL_AT_SP15 - Memory Low Power Level (MLPL) at Setpoint 15. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  66269. */
  66270. #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)
  66271. /*! @} */
  66272. /*! @name CPC_LMEM_MODE - CPC local memory Mode */
  66273. /*! @{ */
  66274. #define PGMC_CPC_CPC_LMEM_MODE_CTRL_MODE_MASK (0x3U)
  66275. #define PGMC_CPC_CPC_LMEM_MODE_CTRL_MODE_SHIFT (0U)
  66276. /*! CTRL_MODE - Control mode. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  66277. * 0b00..Not affected by any low power mode
  66278. * 0b01..Controlled by CPU power mode of the domain
  66279. * 0b10..Controlled by Setpoint
  66280. * 0b11..Reserved
  66281. */
  66282. #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)
  66283. /*! @} */
  66284. /*! @name CPC_LMEM_CM_CTRL - CPC local memory CPU mode control */
  66285. /*! @{ */
  66286. #define PGMC_CPC_CPC_LMEM_CM_CTRL_MLPL_AT_RUN_MASK (0xFU)
  66287. #define PGMC_CPC_CPC_LMEM_CM_CTRL_MLPL_AT_RUN_SHIFT (0U)
  66288. /*! MLPL_AT_RUN - Memory Low Power Level (MLPL) at RUN mode
  66289. */
  66290. #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)
  66291. #define PGMC_CPC_CPC_LMEM_CM_CTRL_MLPL_AT_WAIT_MASK (0xF0U)
  66292. #define PGMC_CPC_CPC_LMEM_CM_CTRL_MLPL_AT_WAIT_SHIFT (4U)
  66293. /*! MLPL_AT_WAIT - Memory Low Power Level (MLPL) at WAIT mode. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  66294. */
  66295. #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)
  66296. #define PGMC_CPC_CPC_LMEM_CM_CTRL_MLPL_AT_STOP_MASK (0xF00U)
  66297. #define PGMC_CPC_CPC_LMEM_CM_CTRL_MLPL_AT_STOP_SHIFT (8U)
  66298. /*! MLPL_AT_STOP - Memory Low Power Level (MLPL) at STOP mode. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  66299. */
  66300. #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)
  66301. #define PGMC_CPC_CPC_LMEM_CM_CTRL_MLPL_AT_SUSPEND_MASK (0xF000U)
  66302. #define PGMC_CPC_CPC_LMEM_CM_CTRL_MLPL_AT_SUSPEND_SHIFT (12U)
  66303. /*! MLPL_AT_SUSPEND - Memory Low Power Level (MLPL) at SUSPEND mode. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  66304. */
  66305. #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)
  66306. #define PGMC_CPC_CPC_LMEM_CM_CTRL_MLPL_SOFT_MASK (0x10000U)
  66307. #define PGMC_CPC_CPC_LMEM_CM_CTRL_MLPL_SOFT_SHIFT (16U)
  66308. /*! MLPL_SOFT - Memory Low Power Level (MLPL) software change request, keep 1 until MLPL transition complete
  66309. */
  66310. #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)
  66311. /*! @} */
  66312. /*! @name CPC_LMEM_SP_CTRL_0 - CPC local memory Setpoint control 0 */
  66313. /*! @{ */
  66314. #define PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP0_MASK (0xFU)
  66315. #define PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP0_SHIFT (0U)
  66316. /*! MLPL_AT_SP0 - Memory Low Power Level (MLPL) at Setpoint 0. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  66317. */
  66318. #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)
  66319. #define PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP1_MASK (0xF0U)
  66320. #define PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP1_SHIFT (4U)
  66321. /*! MLPL_AT_SP1 - Memory Low Power Level (MLPL) at Setpoint 1. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  66322. */
  66323. #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)
  66324. #define PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP2_MASK (0xF00U)
  66325. #define PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP2_SHIFT (8U)
  66326. /*! MLPL_AT_SP2 - Memory Low Power Level (MLPL) at Setpoint 2. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  66327. */
  66328. #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)
  66329. #define PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP3_MASK (0xF000U)
  66330. #define PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP3_SHIFT (12U)
  66331. /*! MLPL_AT_SP3 - Memory Low Power Level (MLPL) at Setpoint 3. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  66332. */
  66333. #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)
  66334. #define PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP4_MASK (0xF0000U)
  66335. #define PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP4_SHIFT (16U)
  66336. /*! MLPL_AT_SP4 - Memory Low Power Level (MLPL) at Setpoint 4. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  66337. */
  66338. #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)
  66339. #define PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP5_MASK (0xF00000U)
  66340. #define PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP5_SHIFT (20U)
  66341. /*! MLPL_AT_SP5 - Memory Low Power Level (MLPL) at Setpoint 5. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  66342. */
  66343. #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)
  66344. #define PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP6_MASK (0xF000000U)
  66345. #define PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP6_SHIFT (24U)
  66346. /*! MLPL_AT_SP6 - Memory Low Power Level (MLPL) at Setpoint 6. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  66347. */
  66348. #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)
  66349. #define PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP7_MASK (0xF0000000U)
  66350. #define PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP7_SHIFT (28U)
  66351. /*! MLPL_AT_SP7 - Memory Low Power Level (MLPL) at Setpoint 7. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  66352. */
  66353. #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)
  66354. /*! @} */
  66355. /*! @name CPC_LMEM_SP_CTRL_1 - CPC local memory Setpoint control 1 */
  66356. /*! @{ */
  66357. #define PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP8_MASK (0xFU)
  66358. #define PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP8_SHIFT (0U)
  66359. /*! MLPL_AT_SP8 - Memory Low Power Level (MLPL) at Setpoint 8. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  66360. */
  66361. #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)
  66362. #define PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP9_MASK (0xF0U)
  66363. #define PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP9_SHIFT (4U)
  66364. /*! MLPL_AT_SP9 - Memory Low Power Level (MLPL) at Setpoint 9. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  66365. */
  66366. #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)
  66367. #define PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP10_MASK (0xF00U)
  66368. #define PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP10_SHIFT (8U)
  66369. /*! MLPL_AT_SP10 - Memory Low Power Level (MLPL) at Setpoint 10. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  66370. */
  66371. #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)
  66372. #define PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP11_MASK (0xF000U)
  66373. #define PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP11_SHIFT (12U)
  66374. /*! MLPL_AT_SP11 - Memory Low Power Level (MLPL) at Setpoint 11. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  66375. */
  66376. #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)
  66377. #define PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP12_MASK (0xF0000U)
  66378. #define PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP12_SHIFT (16U)
  66379. /*! MLPL_AT_SP12 - Memory Low Power Level (MLPL) at Setpoint 12. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  66380. */
  66381. #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)
  66382. #define PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP13_MASK (0xF00000U)
  66383. #define PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP13_SHIFT (20U)
  66384. /*! MLPL_AT_SP13 - Memory Low Power Level (MLPL) at Setpoint 13. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  66385. */
  66386. #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)
  66387. #define PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP14_MASK (0xF000000U)
  66388. #define PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP14_SHIFT (24U)
  66389. /*! MLPL_AT_SP14 - Memory Low Power Level (MLPL) at Setpoint 14. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  66390. */
  66391. #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)
  66392. #define PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP15_MASK (0xF0000000U)
  66393. #define PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP15_SHIFT (28U)
  66394. /*! MLPL_AT_SP15 - Memory Low Power Level (MLPL) at Setpoint 15. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  66395. */
  66396. #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)
  66397. /*! @} */
  66398. /*!
  66399. * @}
  66400. */ /* end of group PGMC_CPC_Register_Masks */
  66401. /* PGMC_CPC - Peripheral instance base addresses */
  66402. /** Peripheral PGMC_CPC0 base address */
  66403. #define PGMC_CPC0_BASE (0x40C89000u)
  66404. /** Peripheral PGMC_CPC0 base pointer */
  66405. #define PGMC_CPC0 ((PGMC_CPC_Type *)PGMC_CPC0_BASE)
  66406. /** Peripheral PGMC_CPC1 base address */
  66407. #define PGMC_CPC1_BASE (0x40C89400u)
  66408. /** Peripheral PGMC_CPC1 base pointer */
  66409. #define PGMC_CPC1 ((PGMC_CPC_Type *)PGMC_CPC1_BASE)
  66410. /** Array initializer of PGMC_CPC peripheral base addresses */
  66411. #define PGMC_CPC_BASE_ADDRS { PGMC_CPC0_BASE, PGMC_CPC1_BASE }
  66412. /** Array initializer of PGMC_CPC peripheral base pointers */
  66413. #define PGMC_CPC_BASE_PTRS { PGMC_CPC0, PGMC_CPC1 }
  66414. /*!
  66415. * @}
  66416. */ /* end of group PGMC_CPC_Peripheral_Access_Layer */
  66417. /* ----------------------------------------------------------------------------
  66418. -- PGMC_MIF Peripheral Access Layer
  66419. ---------------------------------------------------------------------------- */
  66420. /*!
  66421. * @addtogroup PGMC_MIF_Peripheral_Access_Layer PGMC_MIF Peripheral Access Layer
  66422. * @{
  66423. */
  66424. /** PGMC_MIF - Register Layout Typedef */
  66425. typedef struct {
  66426. uint8_t RESERVED_0[4];
  66427. __IO uint32_t MIF_AUTHEN_CTRL; /**< MIF Authentication Control, offset: 0x4 */
  66428. uint8_t RESERVED_1[8];
  66429. __IO uint32_t MIF_MLPL_SLEEP; /**< MIF MLPL control of SLEEP, offset: 0x10 */
  66430. uint8_t RESERVED_2[12];
  66431. __IO uint32_t MIF_MLPL_IG; /**< MIF MLPL control of IG, offset: 0x20 */
  66432. uint8_t RESERVED_3[12];
  66433. __IO uint32_t MIF_MLPL_LS; /**< MIF MLPL control of LS, offset: 0x30 */
  66434. uint8_t RESERVED_4[12];
  66435. __IO uint32_t MIF_MLPL_HS; /**< MIF MLPL control of HS, offset: 0x40 */
  66436. uint8_t RESERVED_5[12];
  66437. __IO uint32_t MIF_MLPL_STDBY; /**< MIF MLPL control of STDBY, offset: 0x50 */
  66438. uint8_t RESERVED_6[12];
  66439. __IO uint32_t MIF_MLPL_ARR_PDN; /**< MIF MLPL control of array power down, offset: 0x60 */
  66440. uint8_t RESERVED_7[12];
  66441. __IO uint32_t MIF_MLPL_PER_PDN; /**< MIF MLPL control of peripheral power down, offset: 0x70 */
  66442. uint8_t RESERVED_8[12];
  66443. __IO uint32_t MIF_MLPL_INITN; /**< MIF MLPL control of INITN, offset: 0x80 */
  66444. uint8_t RESERVED_9[44];
  66445. __IO uint32_t MIF_MLPL_ISO; /**< MIF MLPL control of isolation enable, offset: 0xB0 */
  66446. } PGMC_MIF_Type;
  66447. /* ----------------------------------------------------------------------------
  66448. -- PGMC_MIF Register Masks
  66449. ---------------------------------------------------------------------------- */
  66450. /*!
  66451. * @addtogroup PGMC_MIF_Register_Masks PGMC_MIF Register Masks
  66452. * @{
  66453. */
  66454. /*! @name MIF_AUTHEN_CTRL - MIF Authentication Control */
  66455. /*! @{ */
  66456. #define PGMC_MIF_MIF_AUTHEN_CTRL_LOCK_CFG_MASK (0x100000U)
  66457. #define PGMC_MIF_MIF_AUTHEN_CTRL_LOCK_CFG_SHIFT (20U)
  66458. /*! LOCK_CFG - Configuration lock
  66459. */
  66460. #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)
  66461. /*! @} */
  66462. /*! @name MIF_MLPL_SLEEP - MIF MLPL control of SLEEP */
  66463. /*! @{ */
  66464. #define PGMC_MIF_MIF_MLPL_SLEEP_MLPL_CTRL_MASK (0xFFFFU)
  66465. #define PGMC_MIF_MIF_MLPL_SLEEP_MLPL_CTRL_SHIFT (0U)
  66466. /*! MLPL_CTRL - Signal behavior at each MLPL
  66467. */
  66468. #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)
  66469. /*! @} */
  66470. /*! @name MIF_MLPL_IG - MIF MLPL control of IG */
  66471. /*! @{ */
  66472. #define PGMC_MIF_MIF_MLPL_IG_MLPL_CTRL_MASK (0xFFFFU)
  66473. #define PGMC_MIF_MIF_MLPL_IG_MLPL_CTRL_SHIFT (0U)
  66474. /*! MLPL_CTRL - Signal behavior at each MLPL
  66475. */
  66476. #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)
  66477. /*! @} */
  66478. /*! @name MIF_MLPL_LS - MIF MLPL control of LS */
  66479. /*! @{ */
  66480. #define PGMC_MIF_MIF_MLPL_LS_MLPL_CTRL_MASK (0xFFFFU)
  66481. #define PGMC_MIF_MIF_MLPL_LS_MLPL_CTRL_SHIFT (0U)
  66482. /*! MLPL_CTRL - Signal behavior at each MLPL
  66483. */
  66484. #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)
  66485. /*! @} */
  66486. /*! @name MIF_MLPL_HS - MIF MLPL control of HS */
  66487. /*! @{ */
  66488. #define PGMC_MIF_MIF_MLPL_HS_MLPL_CTRL_MASK (0xFFFFU)
  66489. #define PGMC_MIF_MIF_MLPL_HS_MLPL_CTRL_SHIFT (0U)
  66490. /*! MLPL_CTRL - Signal behavior at each MLPL
  66491. */
  66492. #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)
  66493. /*! @} */
  66494. /*! @name MIF_MLPL_STDBY - MIF MLPL control of STDBY */
  66495. /*! @{ */
  66496. #define PGMC_MIF_MIF_MLPL_STDBY_MLPL_CTRL_MASK (0xFFFFU)
  66497. #define PGMC_MIF_MIF_MLPL_STDBY_MLPL_CTRL_SHIFT (0U)
  66498. /*! MLPL_CTRL - Signal behavior at each MLPL
  66499. */
  66500. #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)
  66501. /*! @} */
  66502. /*! @name MIF_MLPL_ARR_PDN - MIF MLPL control of array power down */
  66503. /*! @{ */
  66504. #define PGMC_MIF_MIF_MLPL_ARR_PDN_MLPL_CTRL_MASK (0xFFFFU)
  66505. #define PGMC_MIF_MIF_MLPL_ARR_PDN_MLPL_CTRL_SHIFT (0U)
  66506. /*! MLPL_CTRL - Signal behavior at each MLPL
  66507. */
  66508. #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)
  66509. /*! @} */
  66510. /*! @name MIF_MLPL_PER_PDN - MIF MLPL control of peripheral power down */
  66511. /*! @{ */
  66512. #define PGMC_MIF_MIF_MLPL_PER_PDN_MLPL_CTRL_MASK (0xFFFFU)
  66513. #define PGMC_MIF_MIF_MLPL_PER_PDN_MLPL_CTRL_SHIFT (0U)
  66514. /*! MLPL_CTRL - Signal behavior at each MLPL
  66515. */
  66516. #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)
  66517. /*! @} */
  66518. /*! @name MIF_MLPL_INITN - MIF MLPL control of INITN */
  66519. /*! @{ */
  66520. #define PGMC_MIF_MIF_MLPL_INITN_MLPL_CTRL_MASK (0xFFFFU)
  66521. #define PGMC_MIF_MIF_MLPL_INITN_MLPL_CTRL_SHIFT (0U)
  66522. /*! MLPL_CTRL - Signal behavior at each MLPL
  66523. */
  66524. #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)
  66525. #define PGMC_MIF_MIF_MLPL_INITN_BYPASS_VDD_OK_MASK (0x80000000U)
  66526. #define PGMC_MIF_MIF_MLPL_INITN_BYPASS_VDD_OK_SHIFT (31U)
  66527. /*! BYPASS_VDD_OK - Bypass vdd_ok. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  66528. */
  66529. #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)
  66530. /*! @} */
  66531. /*! @name MIF_MLPL_ISO - MIF MLPL control of isolation enable */
  66532. /*! @{ */
  66533. #define PGMC_MIF_MIF_MLPL_ISO_MLPL_CTRL_MASK (0xFFFFU)
  66534. #define PGMC_MIF_MIF_MLPL_ISO_MLPL_CTRL_SHIFT (0U)
  66535. /*! MLPL_CTRL - Signal behavior at each MLPL
  66536. */
  66537. #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)
  66538. /*! @} */
  66539. /*!
  66540. * @}
  66541. */ /* end of group PGMC_MIF_Register_Masks */
  66542. /* PGMC_MIF - Peripheral instance base addresses */
  66543. /** Peripheral PGMC_CPC0_MIF0 base address */
  66544. #define PGMC_CPC0_MIF0_BASE (0x40C89100u)
  66545. /** Peripheral PGMC_CPC0_MIF0 base pointer */
  66546. #define PGMC_CPC0_MIF0 ((PGMC_MIF_Type *)PGMC_CPC0_MIF0_BASE)
  66547. /** Peripheral PGMC_CPC0_MIF1 base address */
  66548. #define PGMC_CPC0_MIF1_BASE (0x40C89200u)
  66549. /** Peripheral PGMC_CPC0_MIF1 base pointer */
  66550. #define PGMC_CPC0_MIF1 ((PGMC_MIF_Type *)PGMC_CPC0_MIF1_BASE)
  66551. /** Peripheral PGMC_CPC1_MIF0 base address */
  66552. #define PGMC_CPC1_MIF0_BASE (0x40C89500u)
  66553. /** Peripheral PGMC_CPC1_MIF0 base pointer */
  66554. #define PGMC_CPC1_MIF0 ((PGMC_MIF_Type *)PGMC_CPC1_MIF0_BASE)
  66555. /** Peripheral PGMC_CPC1_MIF1 base address */
  66556. #define PGMC_CPC1_MIF1_BASE (0x40C89600u)
  66557. /** Peripheral PGMC_CPC1_MIF1 base pointer */
  66558. #define PGMC_CPC1_MIF1 ((PGMC_MIF_Type *)PGMC_CPC1_MIF1_BASE)
  66559. /** Array initializer of PGMC_MIF peripheral base addresses */
  66560. #define PGMC_MIF_BASE_ADDRS { PGMC_CPC0_MIF0_BASE, PGMC_CPC0_MIF1_BASE, PGMC_CPC1_MIF0_BASE, PGMC_CPC1_MIF1_BASE }
  66561. /** Array initializer of PGMC_MIF peripheral base pointers */
  66562. #define PGMC_MIF_BASE_PTRS { PGMC_CPC0_MIF0, PGMC_CPC0_MIF1, PGMC_CPC1_MIF0, PGMC_CPC1_MIF1 }
  66563. /*!
  66564. * @}
  66565. */ /* end of group PGMC_MIF_Peripheral_Access_Layer */
  66566. /* ----------------------------------------------------------------------------
  66567. -- PGMC_PPC Peripheral Access Layer
  66568. ---------------------------------------------------------------------------- */
  66569. /*!
  66570. * @addtogroup PGMC_PPC_Peripheral_Access_Layer PGMC_PPC Peripheral Access Layer
  66571. * @{
  66572. */
  66573. /** PGMC_PPC - Register Layout Typedef */
  66574. typedef struct {
  66575. uint8_t RESERVED_0[4];
  66576. __IO uint32_t PPC_AUTHEN_CTRL; /**< PPC Authentication Control, offset: 0x4 */
  66577. uint8_t RESERVED_1[8];
  66578. __IO uint32_t PPC_MODE; /**< PPC Mode, offset: 0x10 */
  66579. __IO uint32_t PPC_STBY_CM_CTRL; /**< PPC standby CPU mode control, offset: 0x14 */
  66580. __IO uint32_t PPC_STBY_SP_CTRL; /**< PPC standby Setpoint control, offset: 0x18 */
  66581. } PGMC_PPC_Type;
  66582. /* ----------------------------------------------------------------------------
  66583. -- PGMC_PPC Register Masks
  66584. ---------------------------------------------------------------------------- */
  66585. /*!
  66586. * @addtogroup PGMC_PPC_Register_Masks PGMC_PPC Register Masks
  66587. * @{
  66588. */
  66589. /*! @name PPC_AUTHEN_CTRL - PPC Authentication Control */
  66590. /*! @{ */
  66591. #define PGMC_PPC_PPC_AUTHEN_CTRL_USER_MASK (0x1U)
  66592. #define PGMC_PPC_PPC_AUTHEN_CTRL_USER_SHIFT (0U)
  66593. /*! USER - Allow user mode access
  66594. */
  66595. #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)
  66596. #define PGMC_PPC_PPC_AUTHEN_CTRL_NONSECURE_MASK (0x2U)
  66597. #define PGMC_PPC_PPC_AUTHEN_CTRL_NONSECURE_SHIFT (1U)
  66598. /*! NONSECURE - Allow non-secure mode access
  66599. */
  66600. #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)
  66601. #define PGMC_PPC_PPC_AUTHEN_CTRL_LOCK_SETTING_MASK (0x10U)
  66602. #define PGMC_PPC_PPC_AUTHEN_CTRL_LOCK_SETTING_SHIFT (4U)
  66603. /*! LOCK_SETTING - Lock NONSECURE and USER
  66604. */
  66605. #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)
  66606. #define PGMC_PPC_PPC_AUTHEN_CTRL_WHITE_LIST_MASK (0xF00U)
  66607. #define PGMC_PPC_PPC_AUTHEN_CTRL_WHITE_LIST_SHIFT (8U)
  66608. /*! WHITE_LIST - Domain ID white list
  66609. */
  66610. #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)
  66611. #define PGMC_PPC_PPC_AUTHEN_CTRL_LOCK_LIST_MASK (0x1000U)
  66612. #define PGMC_PPC_PPC_AUTHEN_CTRL_LOCK_LIST_SHIFT (12U)
  66613. /*! LOCK_LIST - White list lock
  66614. */
  66615. #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)
  66616. #define PGMC_PPC_PPC_AUTHEN_CTRL_LOCK_CFG_MASK (0x100000U)
  66617. #define PGMC_PPC_PPC_AUTHEN_CTRL_LOCK_CFG_SHIFT (20U)
  66618. /*! LOCK_CFG - Configuration lock
  66619. */
  66620. #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)
  66621. /*! @} */
  66622. /*! @name PPC_MODE - PPC Mode */
  66623. /*! @{ */
  66624. #define PGMC_PPC_PPC_MODE_CTRL_MODE_MASK (0x3U)
  66625. #define PGMC_PPC_PPC_MODE_CTRL_MODE_SHIFT (0U)
  66626. /*! CTRL_MODE - Control mode. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  66627. * 0b00..Not affected by any low power mode
  66628. * 0b01..Controlled by CPU power mode of the domain
  66629. * 0b10..Controlled by Setpoint and system standby
  66630. * 0b11..Reserved
  66631. */
  66632. #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)
  66633. #define PGMC_PPC_PPC_MODE_DOMAIN_ASSIGN_MASK (0x30U)
  66634. #define PGMC_PPC_PPC_MODE_DOMAIN_ASSIGN_SHIFT (4U)
  66635. /*! DOMAIN_ASSIGN - Domain assignment of the BPC
  66636. * 0b00..Domain 0
  66637. * 0b01..Domain 1
  66638. * 0b10..Domain 2
  66639. * 0b11..Domain 3
  66640. */
  66641. #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)
  66642. /*! @} */
  66643. /*! @name PPC_STBY_CM_CTRL - PPC standby CPU mode control */
  66644. /*! @{ */
  66645. #define PGMC_PPC_PPC_STBY_CM_CTRL_STBY_ON_AT_WAIT_MASK (0x2U)
  66646. #define PGMC_PPC_PPC_STBY_CM_CTRL_STBY_ON_AT_WAIT_SHIFT (1U)
  66647. /*! STBY_ON_AT_WAIT - PMIC Standby on when domain enters WAIT mode. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  66648. */
  66649. #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)
  66650. #define PGMC_PPC_PPC_STBY_CM_CTRL_STBY_ON_AT_STOP_MASK (0x4U)
  66651. #define PGMC_PPC_PPC_STBY_CM_CTRL_STBY_ON_AT_STOP_SHIFT (2U)
  66652. /*! STBY_ON_AT_STOP - PMIC Standby on when domain enters STOP mode. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  66653. */
  66654. #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)
  66655. #define PGMC_PPC_PPC_STBY_CM_CTRL_STBY_ON_AT_SUSPEND_MASK (0x8U)
  66656. #define PGMC_PPC_PPC_STBY_CM_CTRL_STBY_ON_AT_SUSPEND_SHIFT (3U)
  66657. /*! STBY_ON_AT_SUSPEND - PMIC Standby on when domain enters SUSPEND mode. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  66658. */
  66659. #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)
  66660. #define PGMC_PPC_PPC_STBY_CM_CTRL_STBY_ON_SOFT_MASK (0x100U)
  66661. #define PGMC_PPC_PPC_STBY_CM_CTRL_STBY_ON_SOFT_SHIFT (8U)
  66662. /*! STBY_ON_SOFT - Software PMIC standby on trigger
  66663. */
  66664. #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)
  66665. #define PGMC_PPC_PPC_STBY_CM_CTRL_STBY_OFF_SOFT_MASK (0x200U)
  66666. #define PGMC_PPC_PPC_STBY_CM_CTRL_STBY_OFF_SOFT_SHIFT (9U)
  66667. /*! STBY_OFF_SOFT - Software PMIC standby off trigger
  66668. */
  66669. #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)
  66670. /*! @} */
  66671. /*! @name PPC_STBY_SP_CTRL - PPC standby Setpoint control */
  66672. /*! @{ */
  66673. #define PGMC_PPC_PPC_STBY_SP_CTRL_STBY_ON_AT_SP_ACTIVE_MASK (0xFFFFU)
  66674. #define PGMC_PPC_PPC_STBY_SP_CTRL_STBY_ON_AT_SP_ACTIVE_SHIFT (0U)
  66675. /*! STBY_ON_AT_SP_ACTIVE - PMIC standby on when system enters Setpoint number. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  66676. */
  66677. #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)
  66678. #define PGMC_PPC_PPC_STBY_SP_CTRL_STBY_ON_AT_SP_SLEEP_MASK (0xFFFF0000U)
  66679. #define PGMC_PPC_PPC_STBY_SP_CTRL_STBY_ON_AT_SP_SLEEP_SHIFT (16U)
  66680. /*! STBY_ON_AT_SP_SLEEP - PMIC standby on when system enters Setpoint number and system is in
  66681. * standby mode. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  66682. */
  66683. #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)
  66684. /*! @} */
  66685. /*!
  66686. * @}
  66687. */ /* end of group PGMC_PPC_Register_Masks */
  66688. /* PGMC_PPC - Peripheral instance base addresses */
  66689. /** Peripheral PGMC_PPC0 base address */
  66690. #define PGMC_PPC0_BASE (0x40C8B000u)
  66691. /** Peripheral PGMC_PPC0 base pointer */
  66692. #define PGMC_PPC0 ((PGMC_PPC_Type *)PGMC_PPC0_BASE)
  66693. /** Array initializer of PGMC_PPC peripheral base addresses */
  66694. #define PGMC_PPC_BASE_ADDRS { PGMC_PPC0_BASE }
  66695. /** Array initializer of PGMC_PPC peripheral base pointers */
  66696. #define PGMC_PPC_BASE_PTRS { PGMC_PPC0 }
  66697. /*!
  66698. * @}
  66699. */ /* end of group PGMC_PPC_Peripheral_Access_Layer */
  66700. /* ----------------------------------------------------------------------------
  66701. -- PHY_LDO Peripheral Access Layer
  66702. ---------------------------------------------------------------------------- */
  66703. /*!
  66704. * @addtogroup PHY_LDO_Peripheral_Access_Layer PHY_LDO Peripheral Access Layer
  66705. * @{
  66706. */
  66707. /** PHY_LDO - Register Layout Typedef */
  66708. typedef struct {
  66709. struct { /* offset: 0x0 */
  66710. __IO uint32_t RW; /**< Analog Control Register CTRL0, offset: 0x0 */
  66711. __IO uint32_t SET; /**< Analog Control Register CTRL0, offset: 0x4 */
  66712. __IO uint32_t CLR; /**< Analog Control Register CTRL0, offset: 0x8 */
  66713. __IO uint32_t TOG; /**< Analog Control Register CTRL0, offset: 0xC */
  66714. } CTRL0;
  66715. uint8_t RESERVED_0[64];
  66716. struct { /* offset: 0x50 */
  66717. __I uint32_t RW; /**< Analog Status Register STAT0, offset: 0x50 */
  66718. __I uint32_t SET; /**< Analog Status Register STAT0, offset: 0x54 */
  66719. __I uint32_t CLR; /**< Analog Status Register STAT0, offset: 0x58 */
  66720. __I uint32_t TOG; /**< Analog Status Register STAT0, offset: 0x5C */
  66721. } STAT0;
  66722. } PHY_LDO_Type;
  66723. /* ----------------------------------------------------------------------------
  66724. -- PHY_LDO Register Masks
  66725. ---------------------------------------------------------------------------- */
  66726. /*!
  66727. * @addtogroup PHY_LDO_Register_Masks PHY_LDO Register Masks
  66728. * @{
  66729. */
  66730. /*! @name CTRL0 - Analog Control Register CTRL0 */
  66731. /*! @{ */
  66732. #define PHY_LDO_CTRL0_LINREG_EN_MASK (0x1U)
  66733. #define PHY_LDO_CTRL0_LINREG_EN_SHIFT (0U)
  66734. /*! LINREG_EN - LinrReg master enable
  66735. */
  66736. #define PHY_LDO_CTRL0_LINREG_EN(x) (((uint32_t)(((uint32_t)(x)) << PHY_LDO_CTRL0_LINREG_EN_SHIFT)) & PHY_LDO_CTRL0_LINREG_EN_MASK)
  66737. #define PHY_LDO_CTRL0_LINREG_PWRUPLOAD_DIS_MASK (0x2U)
  66738. #define PHY_LDO_CTRL0_LINREG_PWRUPLOAD_DIS_SHIFT (1U)
  66739. /*! LINREG_PWRUPLOAD_DIS - LinReg power-up load disable
  66740. * 0b0..Internal pull-down enabled
  66741. * 0b1..Internal pull-down disabled
  66742. */
  66743. #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)
  66744. #define PHY_LDO_CTRL0_LINREG_ILIMIT_EN_MASK (0x4U)
  66745. #define PHY_LDO_CTRL0_LINREG_ILIMIT_EN_SHIFT (2U)
  66746. /*! LINREG_ILIMIT_EN - LinReg current-limit enable
  66747. */
  66748. #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)
  66749. #define PHY_LDO_CTRL0_LINREG_OUTPUT_TRG_MASK (0x1F0U)
  66750. #define PHY_LDO_CTRL0_LINREG_OUTPUT_TRG_SHIFT (4U)
  66751. /*! LINREG_OUTPUT_TRG - LinReg output voltage target setting
  66752. * 0b00000..Set output voltage to x.xV
  66753. * 0b10000..Sets output voltage to 1.0V
  66754. * 0b11111..Set output voltage to x.xV
  66755. */
  66756. #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)
  66757. #define PHY_LDO_CTRL0_LINREG_PHY_ISO_B_MASK (0x8000U)
  66758. #define PHY_LDO_CTRL0_LINREG_PHY_ISO_B_SHIFT (15U)
  66759. /*! LINREG_PHY_ISO_B - Isolation control for attached PHY load
  66760. */
  66761. #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)
  66762. /*! @} */
  66763. /*! @name STAT0 - Analog Status Register STAT0 */
  66764. /*! @{ */
  66765. #define PHY_LDO_STAT0_LINREG_STAT_MASK (0xFU)
  66766. #define PHY_LDO_STAT0_LINREG_STAT_SHIFT (0U)
  66767. /*! LINREG_STAT - LinReg Status Bits
  66768. */
  66769. #define PHY_LDO_STAT0_LINREG_STAT(x) (((uint32_t)(((uint32_t)(x)) << PHY_LDO_STAT0_LINREG_STAT_SHIFT)) & PHY_LDO_STAT0_LINREG_STAT_MASK)
  66770. /*! @} */
  66771. /*!
  66772. * @}
  66773. */ /* end of group PHY_LDO_Register_Masks */
  66774. /* PHY_LDO - Peripheral instance base addresses */
  66775. /** Peripheral PHY_LDO base address */
  66776. #define PHY_LDO_BASE (0u)
  66777. /** Peripheral PHY_LDO base pointer */
  66778. #define PHY_LDO ((PHY_LDO_Type *)PHY_LDO_BASE)
  66779. /** Array initializer of PHY_LDO peripheral base addresses */
  66780. #define PHY_LDO_BASE_ADDRS { PHY_LDO_BASE }
  66781. /** Array initializer of PHY_LDO peripheral base pointers */
  66782. #define PHY_LDO_BASE_PTRS { PHY_LDO }
  66783. /*!
  66784. * @}
  66785. */ /* end of group PHY_LDO_Peripheral_Access_Layer */
  66786. /* ----------------------------------------------------------------------------
  66787. -- PIT Peripheral Access Layer
  66788. ---------------------------------------------------------------------------- */
  66789. /*!
  66790. * @addtogroup PIT_Peripheral_Access_Layer PIT Peripheral Access Layer
  66791. * @{
  66792. */
  66793. /** PIT - Register Layout Typedef */
  66794. typedef struct {
  66795. __IO uint32_t MCR; /**< PIT Module Control Register, offset: 0x0 */
  66796. uint8_t RESERVED_0[220];
  66797. __I uint32_t LTMR64H; /**< PIT Upper Lifetime Timer Register, offset: 0xE0 */
  66798. __I uint32_t LTMR64L; /**< PIT Lower Lifetime Timer Register, offset: 0xE4 */
  66799. uint8_t RESERVED_1[24];
  66800. struct { /* offset: 0x100, array step: 0x10 */
  66801. __IO uint32_t LDVAL; /**< Timer Load Value Register, array offset: 0x100, array step: 0x10 */
  66802. __I uint32_t CVAL; /**< Current Timer Value Register, array offset: 0x104, array step: 0x10 */
  66803. __IO uint32_t TCTRL; /**< Timer Control Register, array offset: 0x108, array step: 0x10 */
  66804. __IO uint32_t TFLG; /**< Timer Flag Register, array offset: 0x10C, array step: 0x10 */
  66805. } CHANNEL[4];
  66806. } PIT_Type;
  66807. /* ----------------------------------------------------------------------------
  66808. -- PIT Register Masks
  66809. ---------------------------------------------------------------------------- */
  66810. /*!
  66811. * @addtogroup PIT_Register_Masks PIT Register Masks
  66812. * @{
  66813. */
  66814. /*! @name MCR - PIT Module Control Register */
  66815. /*! @{ */
  66816. #define PIT_MCR_FRZ_MASK (0x1U)
  66817. #define PIT_MCR_FRZ_SHIFT (0U)
  66818. /*! FRZ - Freeze
  66819. * 0b0..Timers continue to run in Debug mode.
  66820. * 0b1..Timers are stopped in Debug mode.
  66821. */
  66822. #define PIT_MCR_FRZ(x) (((uint32_t)(((uint32_t)(x)) << PIT_MCR_FRZ_SHIFT)) & PIT_MCR_FRZ_MASK)
  66823. #define PIT_MCR_MDIS_MASK (0x2U)
  66824. #define PIT_MCR_MDIS_SHIFT (1U)
  66825. /*! MDIS - Module Disable for PIT
  66826. * 0b0..Clock for standard PIT timers is enabled.
  66827. * 0b1..Clock for standard PIT timers is disabled.
  66828. */
  66829. #define PIT_MCR_MDIS(x) (((uint32_t)(((uint32_t)(x)) << PIT_MCR_MDIS_SHIFT)) & PIT_MCR_MDIS_MASK)
  66830. /*! @} */
  66831. /*! @name LTMR64H - PIT Upper Lifetime Timer Register */
  66832. /*! @{ */
  66833. #define PIT_LTMR64H_LTH_MASK (0xFFFFFFFFU)
  66834. #define PIT_LTMR64H_LTH_SHIFT (0U)
  66835. /*! LTH - Life Timer value
  66836. */
  66837. #define PIT_LTMR64H_LTH(x) (((uint32_t)(((uint32_t)(x)) << PIT_LTMR64H_LTH_SHIFT)) & PIT_LTMR64H_LTH_MASK)
  66838. /*! @} */
  66839. /*! @name LTMR64L - PIT Lower Lifetime Timer Register */
  66840. /*! @{ */
  66841. #define PIT_LTMR64L_LTL_MASK (0xFFFFFFFFU)
  66842. #define PIT_LTMR64L_LTL_SHIFT (0U)
  66843. /*! LTL - Life Timer value
  66844. */
  66845. #define PIT_LTMR64L_LTL(x) (((uint32_t)(((uint32_t)(x)) << PIT_LTMR64L_LTL_SHIFT)) & PIT_LTMR64L_LTL_MASK)
  66846. /*! @} */
  66847. /*! @name LDVAL - Timer Load Value Register */
  66848. /*! @{ */
  66849. #define PIT_LDVAL_TSV_MASK (0xFFFFFFFFU)
  66850. #define PIT_LDVAL_TSV_SHIFT (0U)
  66851. /*! TSV - Timer Start Value
  66852. */
  66853. #define PIT_LDVAL_TSV(x) (((uint32_t)(((uint32_t)(x)) << PIT_LDVAL_TSV_SHIFT)) & PIT_LDVAL_TSV_MASK)
  66854. /*! @} */
  66855. /* The count of PIT_LDVAL */
  66856. #define PIT_LDVAL_COUNT (4U)
  66857. /*! @name CVAL - Current Timer Value Register */
  66858. /*! @{ */
  66859. #define PIT_CVAL_TVL_MASK (0xFFFFFFFFU)
  66860. #define PIT_CVAL_TVL_SHIFT (0U)
  66861. /*! TVL - Current Timer Value
  66862. */
  66863. #define PIT_CVAL_TVL(x) (((uint32_t)(((uint32_t)(x)) << PIT_CVAL_TVL_SHIFT)) & PIT_CVAL_TVL_MASK)
  66864. /*! @} */
  66865. /* The count of PIT_CVAL */
  66866. #define PIT_CVAL_COUNT (4U)
  66867. /*! @name TCTRL - Timer Control Register */
  66868. /*! @{ */
  66869. #define PIT_TCTRL_TEN_MASK (0x1U)
  66870. #define PIT_TCTRL_TEN_SHIFT (0U)
  66871. /*! TEN - Timer Enable
  66872. * 0b0..Timer n is disabled.
  66873. * 0b1..Timer n is enabled.
  66874. */
  66875. #define PIT_TCTRL_TEN(x) (((uint32_t)(((uint32_t)(x)) << PIT_TCTRL_TEN_SHIFT)) & PIT_TCTRL_TEN_MASK)
  66876. #define PIT_TCTRL_TIE_MASK (0x2U)
  66877. #define PIT_TCTRL_TIE_SHIFT (1U)
  66878. /*! TIE - Timer Interrupt Enable
  66879. * 0b0..Interrupt requests from Timer n are disabled.
  66880. * 0b1..Interrupt is requested whenever TIF is set.
  66881. */
  66882. #define PIT_TCTRL_TIE(x) (((uint32_t)(((uint32_t)(x)) << PIT_TCTRL_TIE_SHIFT)) & PIT_TCTRL_TIE_MASK)
  66883. #define PIT_TCTRL_CHN_MASK (0x4U)
  66884. #define PIT_TCTRL_CHN_SHIFT (2U)
  66885. /*! CHN - Chain Mode
  66886. * 0b0..Timer is not chained.
  66887. * 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.
  66888. */
  66889. #define PIT_TCTRL_CHN(x) (((uint32_t)(((uint32_t)(x)) << PIT_TCTRL_CHN_SHIFT)) & PIT_TCTRL_CHN_MASK)
  66890. /*! @} */
  66891. /* The count of PIT_TCTRL */
  66892. #define PIT_TCTRL_COUNT (4U)
  66893. /*! @name TFLG - Timer Flag Register */
  66894. /*! @{ */
  66895. #define PIT_TFLG_TIF_MASK (0x1U)
  66896. #define PIT_TFLG_TIF_SHIFT (0U)
  66897. /*! TIF - Timer Interrupt Flag
  66898. * 0b0..Timeout has not yet occurred.
  66899. * 0b1..Timeout has occurred.
  66900. */
  66901. #define PIT_TFLG_TIF(x) (((uint32_t)(((uint32_t)(x)) << PIT_TFLG_TIF_SHIFT)) & PIT_TFLG_TIF_MASK)
  66902. /*! @} */
  66903. /* The count of PIT_TFLG */
  66904. #define PIT_TFLG_COUNT (4U)
  66905. /*!
  66906. * @}
  66907. */ /* end of group PIT_Register_Masks */
  66908. /* PIT - Peripheral instance base addresses */
  66909. /** Peripheral PIT1 base address */
  66910. #define PIT1_BASE (0x400D8000u)
  66911. /** Peripheral PIT1 base pointer */
  66912. #define PIT1 ((PIT_Type *)PIT1_BASE)
  66913. /** Peripheral PIT2 base address */
  66914. #define PIT2_BASE (0x40CB0000u)
  66915. /** Peripheral PIT2 base pointer */
  66916. #define PIT2 ((PIT_Type *)PIT2_BASE)
  66917. /** Array initializer of PIT peripheral base addresses */
  66918. #define PIT_BASE_ADDRS { 0u, PIT1_BASE, PIT2_BASE }
  66919. /** Array initializer of PIT peripheral base pointers */
  66920. #define PIT_BASE_PTRS { (PIT_Type *)0u, PIT1, PIT2 }
  66921. /** Interrupt vectors for the PIT peripheral type */
  66922. #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 } }
  66923. /*!
  66924. * @}
  66925. */ /* end of group PIT_Peripheral_Access_Layer */
  66926. /* ----------------------------------------------------------------------------
  66927. -- PUF Peripheral Access Layer
  66928. ---------------------------------------------------------------------------- */
  66929. /*!
  66930. * @addtogroup PUF_Peripheral_Access_Layer PUF Peripheral Access Layer
  66931. * @{
  66932. */
  66933. /** PUF - Register Layout Typedef */
  66934. typedef struct {
  66935. __IO uint32_t CTRL; /**< PUF Control Register, offset: 0x0 */
  66936. __IO uint32_t KEYINDEX; /**< PUF Key Index Register, offset: 0x4 */
  66937. __IO uint32_t KEYSIZE; /**< PUF Key Size Register, offset: 0x8 */
  66938. uint8_t RESERVED_0[20];
  66939. __I uint32_t STAT; /**< PUF Status Register, offset: 0x20 */
  66940. uint8_t RESERVED_1[4];
  66941. __I uint32_t ALLOW; /**< PUF Allow Register, offset: 0x28 */
  66942. uint8_t RESERVED_2[20];
  66943. __O uint32_t KEYINPUT; /**< PUF Key Input Register, offset: 0x40 */
  66944. __O uint32_t CODEINPUT; /**< PUF Code Input Register, offset: 0x44 */
  66945. __I uint32_t CODEOUTPUT; /**< PUF Code Output Register, offset: 0x48 */
  66946. uint8_t RESERVED_3[20];
  66947. __I uint32_t KEYOUTINDEX; /**< PUF Key Output Index Register, offset: 0x60 */
  66948. __I uint32_t KEYOUTPUT; /**< PUF Key Output Register, offset: 0x64 */
  66949. uint8_t RESERVED_4[116];
  66950. __IO uint32_t IFSTAT; /**< PUF Interface Status Register, offset: 0xDC */
  66951. uint8_t RESERVED_5[28];
  66952. __I uint32_t VERSION; /**< PUF Version Register, offset: 0xFC */
  66953. __IO uint32_t INTEN; /**< PUF Interrupt Enable, offset: 0x100 */
  66954. __IO uint32_t INTSTAT; /**< PUF Interrupt Status, offset: 0x104 */
  66955. __IO uint32_t PWRCTRL; /**< PUF Power Control Of RAM, offset: 0x108 */
  66956. __IO uint32_t CFG; /**< PUF Configuration Register, offset: 0x10C */
  66957. uint8_t RESERVED_6[240];
  66958. __IO uint32_t KEYLOCK; /**< PUF Key Manager Lock, offset: 0x200 */
  66959. __IO uint32_t KEYENABLE; /**< PUF Key Manager Enable, offset: 0x204 */
  66960. __IO uint32_t KEYRESET; /**< PUF Key Manager Reset, offset: 0x208 */
  66961. __IO uint32_t IDXBLK; /**< PUF Index Block Key Output, offset: 0x20C */
  66962. __IO uint32_t IDXBLK_DP; /**< PUF Index Block Key Output, offset: 0x210 */
  66963. __IO uint32_t KEYMASK[2]; /**< PUF Key Block 0 Mask Enable..PUF Key Block 1 Mask Enable, array offset: 0x214, array step: 0x4 */
  66964. uint8_t RESERVED_7[56];
  66965. __I uint32_t IDXBLK_STATUS; /**< PUF Index Block Setting Status Register, offset: 0x254 */
  66966. __I uint32_t IDXBLK_SHIFT; /**< PUF Key Manager Shift Status, offset: 0x258 */
  66967. } PUF_Type;
  66968. /* ----------------------------------------------------------------------------
  66969. -- PUF Register Masks
  66970. ---------------------------------------------------------------------------- */
  66971. /*!
  66972. * @addtogroup PUF_Register_Masks PUF Register Masks
  66973. * @{
  66974. */
  66975. /*! @name CTRL - PUF Control Register */
  66976. /*! @{ */
  66977. #define PUF_CTRL_ZEROIZE_MASK (0x1U)
  66978. #define PUF_CTRL_ZEROIZE_SHIFT (0U)
  66979. /*! ZEROIZE - Begin Zeroize operation for PUF and go to Error state
  66980. * 0b0..No Zeroize operation in progress
  66981. * 0b1..Zeroize operation in progress
  66982. */
  66983. #define PUF_CTRL_ZEROIZE(x) (((uint32_t)(((uint32_t)(x)) << PUF_CTRL_ZEROIZE_SHIFT)) & PUF_CTRL_ZEROIZE_MASK)
  66984. #define PUF_CTRL_ENROLL_MASK (0x2U)
  66985. #define PUF_CTRL_ENROLL_SHIFT (1U)
  66986. /*! ENROLL - Begin Enroll operation
  66987. * 0b0..No Enroll operation in progress
  66988. * 0b1..Enroll operation in progress
  66989. */
  66990. #define PUF_CTRL_ENROLL(x) (((uint32_t)(((uint32_t)(x)) << PUF_CTRL_ENROLL_SHIFT)) & PUF_CTRL_ENROLL_MASK)
  66991. #define PUF_CTRL_START_MASK (0x4U)
  66992. #define PUF_CTRL_START_SHIFT (2U)
  66993. /*! START - Begin Start operation
  66994. * 0b0..No Start operation in progress
  66995. * 0b1..Start operation in progress
  66996. */
  66997. #define PUF_CTRL_START(x) (((uint32_t)(((uint32_t)(x)) << PUF_CTRL_START_SHIFT)) & PUF_CTRL_START_MASK)
  66998. #define PUF_CTRL_GENERATEKEY_MASK (0x8U)
  66999. #define PUF_CTRL_GENERATEKEY_SHIFT (3U)
  67000. /*! GENERATEKEY - Begin Set Intrinsic Key operation
  67001. * 0b0..No Set Intrinsic Key operation in progress
  67002. * 0b1..Set Intrinsic Key operation in progress
  67003. */
  67004. #define PUF_CTRL_GENERATEKEY(x) (((uint32_t)(((uint32_t)(x)) << PUF_CTRL_GENERATEKEY_SHIFT)) & PUF_CTRL_GENERATEKEY_MASK)
  67005. #define PUF_CTRL_SETKEY_MASK (0x10U)
  67006. #define PUF_CTRL_SETKEY_SHIFT (4U)
  67007. /*! SETKEY - Begin Set User Key operation
  67008. * 0b0..No Set Key operation in progress
  67009. * 0b1..Set Key operation in progress
  67010. */
  67011. #define PUF_CTRL_SETKEY(x) (((uint32_t)(((uint32_t)(x)) << PUF_CTRL_SETKEY_SHIFT)) & PUF_CTRL_SETKEY_MASK)
  67012. #define PUF_CTRL_GETKEY_MASK (0x40U)
  67013. #define PUF_CTRL_GETKEY_SHIFT (6U)
  67014. /*! GETKEY - Begin Get Key operation
  67015. * 0b0..No Get Key operation in progress
  67016. * 0b1..Get Key operation in progress
  67017. */
  67018. #define PUF_CTRL_GETKEY(x) (((uint32_t)(((uint32_t)(x)) << PUF_CTRL_GETKEY_SHIFT)) & PUF_CTRL_GETKEY_MASK)
  67019. /*! @} */
  67020. /*! @name KEYINDEX - PUF Key Index Register */
  67021. /*! @{ */
  67022. #define PUF_KEYINDEX_KEYIDX_MASK (0xFU)
  67023. #define PUF_KEYINDEX_KEYIDX_SHIFT (0U)
  67024. /*! KEYIDX - PUF Key Index
  67025. * 0b0000..USE INDEX0
  67026. * 0b0001..USE INDEX1
  67027. * 0b0010..USE INDEX2
  67028. * 0b0011..USE INDEX3
  67029. * 0b0100..USE INDEX4
  67030. * 0b0101..USE INDEX5
  67031. * 0b0110..USE INDEX6
  67032. * 0b0111..USE INDEX7
  67033. * 0b1000..USE INDEX8
  67034. * 0b1001..USE INDEX9
  67035. * 0b1010..USE INDEX10
  67036. * 0b1011..USE INDEX11
  67037. * 0b1100..USE INDEX12
  67038. * 0b1101..USE INDEX13
  67039. * 0b1110..USE INDEX14
  67040. * 0b1111..USE INDEX15
  67041. */
  67042. #define PUF_KEYINDEX_KEYIDX(x) (((uint32_t)(((uint32_t)(x)) << PUF_KEYINDEX_KEYIDX_SHIFT)) & PUF_KEYINDEX_KEYIDX_MASK)
  67043. /*! @} */
  67044. /*! @name KEYSIZE - PUF Key Size Register */
  67045. /*! @{ */
  67046. #define PUF_KEYSIZE_KEYSIZE_MASK (0x3FU)
  67047. #define PUF_KEYSIZE_KEYSIZE_SHIFT (0U)
  67048. /*! KEYSIZE - PUF Key Size
  67049. * 0b000001..Key Size is 8 Bytes and KC Size is 52 Bytes
  67050. * 0b000010..Key Size is 16 Bytes and KC Size is 52 Bytes
  67051. * 0b000011..Key Size is 24 Bytes and KC Size is 52 Bytes
  67052. * 0b000100..Key Size is 32 Bytes and KC Size is 52 Bytes
  67053. * 0b000101..Key Size is 40 Bytes and KC Size is 84 Bytes
  67054. * 0b000110..Key Size is 48 Bytes and KC Size is 84 Bytes
  67055. * 0b000111..Key Size is 56 Bytes and KC Size is 84 Bytes
  67056. * 0b001000..Key Size is 64 Bytes and KC Size is 84 Bytes
  67057. * 0b001001..Key Size is 72 Bytes and KC Size is 116 Bytes
  67058. * 0b001010..Key Size is 80 Bytes and KC Size is 116 Bytes
  67059. * 0b001011..Key Size is 88 Bytes and KC Size is 116 Bytes
  67060. * 0b001100..Key Size is 96 Bytes and KC Size is 116 Bytes
  67061. * 0b001101..Key Size is 104 Bytes and KC Size is 148 Bytes
  67062. * 0b001110..Key Size is 112 Bytes and KC Size is 148 Bytes
  67063. * 0b001111..Key Size is 120 Bytes and KC Size is 148 Bytes
  67064. * 0b010000..Key Size is 128 Bytes and KC Size is 148 Bytes
  67065. * 0b010001..Key Size is 136 Bytes and KC Size is 180 Bytes
  67066. * 0b010010..Key Size is 144 Bytes and KC Size is 180 Bytes
  67067. * 0b010011..Key Size is 152 Bytes and KC Size is 180 Bytes
  67068. * 0b010100..Key Size is 160 Bytes and KC Size is 180 Bytes
  67069. * 0b010101..Key Size is 168 Bytes and KC Size is 212 Bytes
  67070. * 0b010110..Key Size is 176 Bytes and KC Size is 212 Bytes
  67071. * 0b010111..Key Size is 184 Bytes and KC Size is 212 Bytes
  67072. * 0b011000..Key Size is 192 Bytes and KC Size is 212 Bytes
  67073. * 0b011001..Key Size is 200 Bytes and KC Size is 244 Bytes
  67074. * 0b011010..Key Size is 208 Bytes and KC Size is 244 Bytes
  67075. * 0b011011..Key Size is 216 Bytes and KC Size is 244 Bytes
  67076. * 0b011100..Key Size is 224 Bytes and KC Size is 244 Bytes
  67077. * 0b011101..Key Size is 232 Bytes and KC Size is 276 Bytes
  67078. * 0b011110..Key Size is 240 Bytes and KC Size is 276 Bytes
  67079. * 0b011111..Key Size is 248 Bytes and KC Size is 276 Bytes
  67080. * 0b100000..Key Size is 256 Bytes and KC Size is 276 Bytes
  67081. * 0b100001..Key Size is 264 Bytes and KC Size is 308 Bytes
  67082. * 0b100010..Key Size is 272 Bytes and KC Size is 308 Bytes
  67083. * 0b100011..Key Size is 280 Bytes and KC Size is 308 Bytes
  67084. * 0b100100..Key Size is 288 Bytes and KC Size is 308 Bytes
  67085. * 0b100101..Key Size is 296 Bytes and KC Size is 340 Bytes
  67086. * 0b100110..Key Size is 304 Bytes and KC Size is 340 Bytes
  67087. * 0b100111..Key Size is 312 Bytes and KC Size is 340 Bytes
  67088. * 0b101000..Key Size is 320 Bytes and KC Size is 340 Bytes
  67089. * 0b101001..Key Size is 328 Bytes and KC Size is 372 Bytes
  67090. * 0b101010..Key Size is 336 Bytes and KC Size is 372 Bytes
  67091. * 0b101011..Key Size is 344 Bytes and KC Size is 372 Bytes
  67092. * 0b101100..Key Size is 352 Bytes and KC Size is 372 Bytes
  67093. * 0b101101..Key Size is 360 Bytes and KC Size is 404 Bytes
  67094. * 0b101110..Key Size is 368 Bytes and KC Size is 404 Bytes
  67095. * 0b101111..Key Size is 376 Bytes and KC Size is 404 Bytes
  67096. * 0b110000..Key Size is 384 Bytes and KC Size is 404 Bytes
  67097. * 0b110001..Key Size is 392 Bytes and KC Size is 436 Bytes
  67098. * 0b110010..Key Size is 400 Bytes and KC Size is 436 Bytes
  67099. * 0b110011..Key Size is 408 Bytes and KC Size is 436 Bytes
  67100. * 0b110100..Key Size is 416 Bytes and KC Size is 436 Bytes
  67101. * 0b110101..Key Size is 424 Bytes and KC Size is 468 Bytes
  67102. * 0b110110..Key Size is 432 Bytes and KC Size is 468 Bytes
  67103. * 0b110111..Key Size is 440 Bytes and KC Size is 468 Bytes
  67104. * 0b111000..Key Size is 448 Bytes and KC Size is 468 Bytes
  67105. * 0b111001..Key Size is 456 Bytes and KC Size is 500 Bytes
  67106. * 0b111010..Key Size is 464 Bytes and KC Size is 500 Bytes
  67107. * 0b111011..Key Size is 472 Bytes and KC Size is 500 Bytes
  67108. * 0b111100..Key Size is 480 Bytes and KC Size is 500 Bytes
  67109. * 0b111101..Key Size is 488 Bytes and KC Size is 532 Bytes
  67110. * 0b111110..Key Size is 496 Bytes and KC Size is 532 Bytes
  67111. * 0b111111..Key Size is 504 Bytes and KC Size is 532 Bytes
  67112. * 0b000000..Key Size is 512 Bytes and KC Size is 532 Bytes
  67113. */
  67114. #define PUF_KEYSIZE_KEYSIZE(x) (((uint32_t)(((uint32_t)(x)) << PUF_KEYSIZE_KEYSIZE_SHIFT)) & PUF_KEYSIZE_KEYSIZE_MASK)
  67115. /*! @} */
  67116. /*! @name STAT - PUF Status Register */
  67117. /*! @{ */
  67118. #define PUF_STAT_BUSY_MASK (0x1U)
  67119. #define PUF_STAT_BUSY_SHIFT (0U)
  67120. /*! BUSY - puf_busy
  67121. * 0b0..IDLE
  67122. * 0b1..BUSY
  67123. */
  67124. #define PUF_STAT_BUSY(x) (((uint32_t)(((uint32_t)(x)) << PUF_STAT_BUSY_SHIFT)) & PUF_STAT_BUSY_MASK)
  67125. #define PUF_STAT_SUCCESS_MASK (0x2U)
  67126. #define PUF_STAT_SUCCESS_SHIFT (1U)
  67127. /*! SUCCESS - puf_ok
  67128. * 0b0..Last operation was unsuccessful
  67129. * 0b1..Last operation was successful
  67130. */
  67131. #define PUF_STAT_SUCCESS(x) (((uint32_t)(((uint32_t)(x)) << PUF_STAT_SUCCESS_SHIFT)) & PUF_STAT_SUCCESS_MASK)
  67132. #define PUF_STAT_ERROR_MASK (0x4U)
  67133. #define PUF_STAT_ERROR_SHIFT (2U)
  67134. /*! ERROR - puf_error
  67135. * 0b0..PUF is not in the Error state
  67136. * 0b1..PUF is in the Error state
  67137. */
  67138. #define PUF_STAT_ERROR(x) (((uint32_t)(((uint32_t)(x)) << PUF_STAT_ERROR_SHIFT)) & PUF_STAT_ERROR_MASK)
  67139. #define PUF_STAT_KEYINREQ_MASK (0x10U)
  67140. #define PUF_STAT_KEYINREQ_SHIFT (4U)
  67141. /*! KEYINREQ - KI_ir
  67142. * 0b0..No request for next part of key
  67143. * 0b1..Request for next part of key in KEYINPUT register
  67144. */
  67145. #define PUF_STAT_KEYINREQ(x) (((uint32_t)(((uint32_t)(x)) << PUF_STAT_KEYINREQ_SHIFT)) & PUF_STAT_KEYINREQ_MASK)
  67146. #define PUF_STAT_KEYOUTAVAIL_MASK (0x20U)
  67147. #define PUF_STAT_KEYOUTAVAIL_SHIFT (5U)
  67148. /*! KEYOUTAVAIL - KO_or
  67149. * 0b0..Next part of key is not available
  67150. * 0b1..Next part of key is available in KEYOUTPUT register
  67151. */
  67152. #define PUF_STAT_KEYOUTAVAIL(x) (((uint32_t)(((uint32_t)(x)) << PUF_STAT_KEYOUTAVAIL_SHIFT)) & PUF_STAT_KEYOUTAVAIL_MASK)
  67153. #define PUF_STAT_CODEINREQ_MASK (0x40U)
  67154. #define PUF_STAT_CODEINREQ_SHIFT (6U)
  67155. /*! CODEINREQ - CI_ir
  67156. * 0b0..No request for next part of Activation Code/Key Code
  67157. * 0b1..request for next part of Activation Code/Key Code in CODEINPUT register
  67158. */
  67159. #define PUF_STAT_CODEINREQ(x) (((uint32_t)(((uint32_t)(x)) << PUF_STAT_CODEINREQ_SHIFT)) & PUF_STAT_CODEINREQ_MASK)
  67160. #define PUF_STAT_CODEOUTAVAIL_MASK (0x80U)
  67161. #define PUF_STAT_CODEOUTAVAIL_SHIFT (7U)
  67162. /*! CODEOUTAVAIL - CO_or
  67163. * 0b0..Next part of Activation Code/Key Code is not available
  67164. * 0b1..Next part of Activation Code/Key Code is available in CODEOUTPUT register
  67165. */
  67166. #define PUF_STAT_CODEOUTAVAIL(x) (((uint32_t)(((uint32_t)(x)) << PUF_STAT_CODEOUTAVAIL_SHIFT)) & PUF_STAT_CODEOUTAVAIL_MASK)
  67167. /*! @} */
  67168. /*! @name ALLOW - PUF Allow Register */
  67169. /*! @{ */
  67170. #define PUF_ALLOW_ALLOWENROLL_MASK (0x1U)
  67171. #define PUF_ALLOW_ALLOWENROLL_SHIFT (0U)
  67172. /*! ALLOWENROLL - Allow Enroll operation
  67173. * 0b0..Specified operation is not currently allowed
  67174. * 0b1..Specified operation is allowed
  67175. */
  67176. #define PUF_ALLOW_ALLOWENROLL(x) (((uint32_t)(((uint32_t)(x)) << PUF_ALLOW_ALLOWENROLL_SHIFT)) & PUF_ALLOW_ALLOWENROLL_MASK)
  67177. #define PUF_ALLOW_ALLOWSTART_MASK (0x2U)
  67178. #define PUF_ALLOW_ALLOWSTART_SHIFT (1U)
  67179. /*! ALLOWSTART - Allow Start operation
  67180. * 0b0..Specified operation is not currently allowed
  67181. * 0b1..Specified operation is allowed
  67182. */
  67183. #define PUF_ALLOW_ALLOWSTART(x) (((uint32_t)(((uint32_t)(x)) << PUF_ALLOW_ALLOWSTART_SHIFT)) & PUF_ALLOW_ALLOWSTART_MASK)
  67184. #define PUF_ALLOW_ALLOWSETKEY_MASK (0x4U)
  67185. #define PUF_ALLOW_ALLOWSETKEY_SHIFT (2U)
  67186. /*! ALLOWSETKEY - Allow Set Key operations
  67187. * 0b0..Specified operation is not currently allowed
  67188. * 0b1..Specified operation is allowed
  67189. */
  67190. #define PUF_ALLOW_ALLOWSETKEY(x) (((uint32_t)(((uint32_t)(x)) << PUF_ALLOW_ALLOWSETKEY_SHIFT)) & PUF_ALLOW_ALLOWSETKEY_MASK)
  67191. #define PUF_ALLOW_ALLOWGETKEY_MASK (0x8U)
  67192. #define PUF_ALLOW_ALLOWGETKEY_SHIFT (3U)
  67193. /*! ALLOWGETKEY - Allow Get Key operation
  67194. * 0b0..Specified operation is not currently allowed
  67195. * 0b1..Specified operation is allowed
  67196. */
  67197. #define PUF_ALLOW_ALLOWGETKEY(x) (((uint32_t)(((uint32_t)(x)) << PUF_ALLOW_ALLOWGETKEY_SHIFT)) & PUF_ALLOW_ALLOWGETKEY_MASK)
  67198. /*! @} */
  67199. /*! @name KEYINPUT - PUF Key Input Register */
  67200. /*! @{ */
  67201. #define PUF_KEYINPUT_KEYIN_MASK (0xFFFFFFFFU)
  67202. #define PUF_KEYINPUT_KEYIN_SHIFT (0U)
  67203. /*! KEYIN - Key input data
  67204. */
  67205. #define PUF_KEYINPUT_KEYIN(x) (((uint32_t)(((uint32_t)(x)) << PUF_KEYINPUT_KEYIN_SHIFT)) & PUF_KEYINPUT_KEYIN_MASK)
  67206. /*! @} */
  67207. /*! @name CODEINPUT - PUF Code Input Register */
  67208. /*! @{ */
  67209. #define PUF_CODEINPUT_CODEIN_MASK (0xFFFFFFFFU)
  67210. #define PUF_CODEINPUT_CODEIN_SHIFT (0U)
  67211. /*! CODEIN - AC/KC input data
  67212. */
  67213. #define PUF_CODEINPUT_CODEIN(x) (((uint32_t)(((uint32_t)(x)) << PUF_CODEINPUT_CODEIN_SHIFT)) & PUF_CODEINPUT_CODEIN_MASK)
  67214. /*! @} */
  67215. /*! @name CODEOUTPUT - PUF Code Output Register */
  67216. /*! @{ */
  67217. #define PUF_CODEOUTPUT_CODEOUT_MASK (0xFFFFFFFFU)
  67218. #define PUF_CODEOUTPUT_CODEOUT_SHIFT (0U)
  67219. /*! CODEOUT - AC/KC output data
  67220. */
  67221. #define PUF_CODEOUTPUT_CODEOUT(x) (((uint32_t)(((uint32_t)(x)) << PUF_CODEOUTPUT_CODEOUT_SHIFT)) & PUF_CODEOUTPUT_CODEOUT_MASK)
  67222. /*! @} */
  67223. /*! @name KEYOUTINDEX - PUF Key Output Index Register */
  67224. /*! @{ */
  67225. #define PUF_KEYOUTINDEX_KEYOUTIDX_MASK (0xFFFFFFFFU)
  67226. #define PUF_KEYOUTINDEX_KEYOUTIDX_SHIFT (0U)
  67227. /*! KEYOUTIDX - Output Key index
  67228. */
  67229. #define PUF_KEYOUTINDEX_KEYOUTIDX(x) (((uint32_t)(((uint32_t)(x)) << PUF_KEYOUTINDEX_KEYOUTIDX_SHIFT)) & PUF_KEYOUTINDEX_KEYOUTIDX_MASK)
  67230. /*! @} */
  67231. /*! @name KEYOUTPUT - PUF Key Output Register */
  67232. /*! @{ */
  67233. #define PUF_KEYOUTPUT_KEYOUT_MASK (0xFFFFFFFFU)
  67234. #define PUF_KEYOUTPUT_KEYOUT_SHIFT (0U)
  67235. /*! KEYOUT - Key output data from a Get Key operation
  67236. */
  67237. #define PUF_KEYOUTPUT_KEYOUT(x) (((uint32_t)(((uint32_t)(x)) << PUF_KEYOUTPUT_KEYOUT_SHIFT)) & PUF_KEYOUTPUT_KEYOUT_MASK)
  67238. /*! @} */
  67239. /*! @name IFSTAT - PUF Interface Status Register */
  67240. /*! @{ */
  67241. #define PUF_IFSTAT_ERROR_MASK (0x1U)
  67242. #define PUF_IFSTAT_ERROR_SHIFT (0U)
  67243. /*! ERROR - APB error has occurred
  67244. * 0b0..NOERROR
  67245. * 0b1..ERROR
  67246. */
  67247. #define PUF_IFSTAT_ERROR(x) (((uint32_t)(((uint32_t)(x)) << PUF_IFSTAT_ERROR_SHIFT)) & PUF_IFSTAT_ERROR_MASK)
  67248. /*! @} */
  67249. /*! @name VERSION - PUF Version Register */
  67250. /*! @{ */
  67251. #define PUF_VERSION_VERSION_MASK (0xFFFFFFFFU)
  67252. #define PUF_VERSION_VERSION_SHIFT (0U)
  67253. /*! VERSION - Version of PUF
  67254. */
  67255. #define PUF_VERSION_VERSION(x) (((uint32_t)(((uint32_t)(x)) << PUF_VERSION_VERSION_SHIFT)) & PUF_VERSION_VERSION_MASK)
  67256. /*! @} */
  67257. /*! @name INTEN - PUF Interrupt Enable */
  67258. /*! @{ */
  67259. #define PUF_INTEN_READYEN_MASK (0x1U)
  67260. #define PUF_INTEN_READYEN_SHIFT (0U)
  67261. /*! READYEN - PUF Ready Interrupt Enable
  67262. * 0b0..PUF ready interrupt disabled
  67263. * 0b1..PUF ready interrupt enabled
  67264. */
  67265. #define PUF_INTEN_READYEN(x) (((uint32_t)(((uint32_t)(x)) << PUF_INTEN_READYEN_SHIFT)) & PUF_INTEN_READYEN_MASK)
  67266. #define PUF_INTEN_SUCCESSEN_MASK (0x2U)
  67267. #define PUF_INTEN_SUCCESSEN_SHIFT (1U)
  67268. /*! SUCCESSEN - PUF_OK Interrupt Enable
  67269. * 0b0..PUF successful interrupt disabled
  67270. * 0b1..PUF successful interrupt enabled
  67271. */
  67272. #define PUF_INTEN_SUCCESSEN(x) (((uint32_t)(((uint32_t)(x)) << PUF_INTEN_SUCCESSEN_SHIFT)) & PUF_INTEN_SUCCESSEN_MASK)
  67273. #define PUF_INTEN_ERROREN_MASK (0x4U)
  67274. #define PUF_INTEN_ERROREN_SHIFT (2U)
  67275. /*! ERROREN - PUF Error Interrupt Enable
  67276. * 0b0..PUF error interrupt disabled
  67277. * 0b1..PUF error interrupt enabled
  67278. */
  67279. #define PUF_INTEN_ERROREN(x) (((uint32_t)(((uint32_t)(x)) << PUF_INTEN_ERROREN_SHIFT)) & PUF_INTEN_ERROREN_MASK)
  67280. #define PUF_INTEN_KEYINREQEN_MASK (0x10U)
  67281. #define PUF_INTEN_KEYINREQEN_SHIFT (4U)
  67282. /*! KEYINREQEN - PUF Key Input Register Interrupt Enable
  67283. * 0b0..Key interrupt request disabled
  67284. * 0b1..Key interrupt request enabled
  67285. */
  67286. #define PUF_INTEN_KEYINREQEN(x) (((uint32_t)(((uint32_t)(x)) << PUF_INTEN_KEYINREQEN_SHIFT)) & PUF_INTEN_KEYINREQEN_MASK)
  67287. #define PUF_INTEN_KEYOUTAVAILEN_MASK (0x20U)
  67288. #define PUF_INTEN_KEYOUTAVAILEN_SHIFT (5U)
  67289. /*! KEYOUTAVAILEN - PUF Key Output Register Interrupt Enable
  67290. * 0b0..Key available interrupt disabled
  67291. * 0b1..Key available interrupt enabled
  67292. */
  67293. #define PUF_INTEN_KEYOUTAVAILEN(x) (((uint32_t)(((uint32_t)(x)) << PUF_INTEN_KEYOUTAVAILEN_SHIFT)) & PUF_INTEN_KEYOUTAVAILEN_MASK)
  67294. #define PUF_INTEN_CODEINREQEN_MASK (0x40U)
  67295. #define PUF_INTEN_CODEINREQEN_SHIFT (6U)
  67296. /*! CODEINREQEN - PUF Code Input Register Interrupt Enable
  67297. * 0b0..AC/KC interrupt request disabled
  67298. * 0b1..AC/KC interrupt request enabled
  67299. */
  67300. #define PUF_INTEN_CODEINREQEN(x) (((uint32_t)(((uint32_t)(x)) << PUF_INTEN_CODEINREQEN_SHIFT)) & PUF_INTEN_CODEINREQEN_MASK)
  67301. #define PUF_INTEN_CODEOUTAVAILEN_MASK (0x80U)
  67302. #define PUF_INTEN_CODEOUTAVAILEN_SHIFT (7U)
  67303. /*! CODEOUTAVAILEN - PUF Code Output Register Interrupt Enable
  67304. * 0b0..AC/KC available interrupt disabled
  67305. * 0b1..AC/KC available interrupt enabled
  67306. */
  67307. #define PUF_INTEN_CODEOUTAVAILEN(x) (((uint32_t)(((uint32_t)(x)) << PUF_INTEN_CODEOUTAVAILEN_SHIFT)) & PUF_INTEN_CODEOUTAVAILEN_MASK)
  67308. /*! @} */
  67309. /*! @name INTSTAT - PUF Interrupt Status */
  67310. /*! @{ */
  67311. #define PUF_INTSTAT_READY_MASK (0x1U)
  67312. #define PUF_INTSTAT_READY_SHIFT (0U)
  67313. /*! READY - PUF_FINISH Interrupt Status
  67314. * 0b0..Indicates that last operation not finished
  67315. * 0b1..Indicates that last operation is finished
  67316. */
  67317. #define PUF_INTSTAT_READY(x) (((uint32_t)(((uint32_t)(x)) << PUF_INTSTAT_READY_SHIFT)) & PUF_INTSTAT_READY_MASK)
  67318. #define PUF_INTSTAT_SUCCESS_MASK (0x2U)
  67319. #define PUF_INTSTAT_SUCCESS_SHIFT (1U)
  67320. /*! SUCCESS - PUF_OK Interrupt Status
  67321. * 0b0..Indicates that last operation was not successful
  67322. * 0b1..Indicates that last operation was successful
  67323. */
  67324. #define PUF_INTSTAT_SUCCESS(x) (((uint32_t)(((uint32_t)(x)) << PUF_INTSTAT_SUCCESS_SHIFT)) & PUF_INTSTAT_SUCCESS_MASK)
  67325. #define PUF_INTSTAT_ERROR_MASK (0x4U)
  67326. #define PUF_INTSTAT_ERROR_SHIFT (2U)
  67327. /*! ERROR - PUF_ERROR Interrupt Status
  67328. * 0b0..PUF is not in the Error state and operations can be performed
  67329. * 0b1..PUF is in the Error state and no operations can be performed
  67330. */
  67331. #define PUF_INTSTAT_ERROR(x) (((uint32_t)(((uint32_t)(x)) << PUF_INTSTAT_ERROR_SHIFT)) & PUF_INTSTAT_ERROR_MASK)
  67332. #define PUF_INTSTAT_KEYINREQ_MASK (0x10U)
  67333. #define PUF_INTSTAT_KEYINREQ_SHIFT (4U)
  67334. /*! KEYINREQ - PUF Key Input Register Interrupt Status
  67335. * 0b0..No request for next part of key
  67336. * 0b1..Request for next part of key
  67337. */
  67338. #define PUF_INTSTAT_KEYINREQ(x) (((uint32_t)(((uint32_t)(x)) << PUF_INTSTAT_KEYINREQ_SHIFT)) & PUF_INTSTAT_KEYINREQ_MASK)
  67339. #define PUF_INTSTAT_KEYOUTAVAIL_MASK (0x20U)
  67340. #define PUF_INTSTAT_KEYOUTAVAIL_SHIFT (5U)
  67341. /*! KEYOUTAVAIL - PUF Key Output Register Interrupt Status
  67342. * 0b0..Next part of key is not available
  67343. * 0b1..Next part of key is available
  67344. */
  67345. #define PUF_INTSTAT_KEYOUTAVAIL(x) (((uint32_t)(((uint32_t)(x)) << PUF_INTSTAT_KEYOUTAVAIL_SHIFT)) & PUF_INTSTAT_KEYOUTAVAIL_MASK)
  67346. #define PUF_INTSTAT_CODEINREQ_MASK (0x40U)
  67347. #define PUF_INTSTAT_CODEINREQ_SHIFT (6U)
  67348. /*! CODEINREQ - PUF Code Input Register Interrupt Status
  67349. * 0b0..No request for next part of AC/KC
  67350. * 0b1..Request for next part of AC/KC
  67351. */
  67352. #define PUF_INTSTAT_CODEINREQ(x) (((uint32_t)(((uint32_t)(x)) << PUF_INTSTAT_CODEINREQ_SHIFT)) & PUF_INTSTAT_CODEINREQ_MASK)
  67353. #define PUF_INTSTAT_CODEOUTAVAIL_MASK (0x80U)
  67354. #define PUF_INTSTAT_CODEOUTAVAIL_SHIFT (7U)
  67355. /*! CODEOUTAVAIL - PUF Code Output Register Interrupt Status
  67356. * 0b0..Next part of AC/KC is not available
  67357. * 0b1..Next part of AC/KC is available
  67358. */
  67359. #define PUF_INTSTAT_CODEOUTAVAIL(x) (((uint32_t)(((uint32_t)(x)) << PUF_INTSTAT_CODEOUTAVAIL_SHIFT)) & PUF_INTSTAT_CODEOUTAVAIL_MASK)
  67360. /*! @} */
  67361. /*! @name PWRCTRL - PUF Power Control Of RAM */
  67362. /*! @{ */
  67363. #define PUF_PWRCTRL_RAM_ON_MASK (0x1U)
  67364. #define PUF_PWRCTRL_RAM_ON_SHIFT (0U)
  67365. /*! RAM_ON - PUF RAM on
  67366. * 0b0..PUF RAM is in sleep mode (PUF operation disabled)
  67367. * 0b1..PUF RAM is awake (normal PUF operation enabled)
  67368. */
  67369. #define PUF_PWRCTRL_RAM_ON(x) (((uint32_t)(((uint32_t)(x)) << PUF_PWRCTRL_RAM_ON_SHIFT)) & PUF_PWRCTRL_RAM_ON_MASK)
  67370. #define PUF_PWRCTRL_CK_DIS_MASK (0x4U)
  67371. #define PUF_PWRCTRL_CK_DIS_SHIFT (2U)
  67372. /*! CK_DIS - Clock disable
  67373. * 0b0..PUF RAM is clocked (normal PUF operation enabled)
  67374. * 0b1..PUF RAM clock is gated/disabled (PUF operation disabled)
  67375. */
  67376. #define PUF_PWRCTRL_CK_DIS(x) (((uint32_t)(((uint32_t)(x)) << PUF_PWRCTRL_CK_DIS_SHIFT)) & PUF_PWRCTRL_CK_DIS_MASK)
  67377. #define PUF_PWRCTRL_RAM_INITN_MASK (0x8U)
  67378. #define PUF_PWRCTRL_RAM_INITN_SHIFT (3U)
  67379. /*! RAM_INITN - RAM initialization
  67380. * 0b0..Reset the PUF RAM (PUF operation disabled)
  67381. * 0b1..Do not reset the PUF RAM (normal PUF operation enabled)
  67382. */
  67383. #define PUF_PWRCTRL_RAM_INITN(x) (((uint32_t)(((uint32_t)(x)) << PUF_PWRCTRL_RAM_INITN_SHIFT)) & PUF_PWRCTRL_RAM_INITN_MASK)
  67384. #define PUF_PWRCTRL_RAM_PSW_MASK (0xF0U)
  67385. #define PUF_PWRCTRL_RAM_PSW_SHIFT (4U)
  67386. /*! RAM_PSW - PUF RAM power switches
  67387. */
  67388. #define PUF_PWRCTRL_RAM_PSW(x) (((uint32_t)(((uint32_t)(x)) << PUF_PWRCTRL_RAM_PSW_SHIFT)) & PUF_PWRCTRL_RAM_PSW_MASK)
  67389. /*! @} */
  67390. /*! @name CFG - PUF Configuration Register */
  67391. /*! @{ */
  67392. #define PUF_CFG_PUF_BLOCK_SET_KEY_MASK (0x1U)
  67393. #define PUF_CFG_PUF_BLOCK_SET_KEY_SHIFT (0U)
  67394. /*! PUF_BLOCK_SET_KEY - PUF Block Set Key Disable
  67395. * 0b0..Enable the Set Key state
  67396. * 0b1..Disable the Set Key state
  67397. */
  67398. #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)
  67399. #define PUF_CFG_PUF_BLOCK_ENROLL_MASK (0x2U)
  67400. #define PUF_CFG_PUF_BLOCK_ENROLL_SHIFT (1U)
  67401. /*! PUF_BLOCK_ENROLL - PUF Block Enroll Disable
  67402. * 0b0..Enable the Enrollment state
  67403. * 0b1..Disable the Enrollment state
  67404. */
  67405. #define PUF_CFG_PUF_BLOCK_ENROLL(x) (((uint32_t)(((uint32_t)(x)) << PUF_CFG_PUF_BLOCK_ENROLL_SHIFT)) & PUF_CFG_PUF_BLOCK_ENROLL_MASK)
  67406. /*! @} */
  67407. /*! @name KEYLOCK - PUF Key Manager Lock */
  67408. /*! @{ */
  67409. #define PUF_KEYLOCK_LOCK0_MASK (0x3U)
  67410. #define PUF_KEYLOCK_LOCK0_SHIFT (0U)
  67411. /*! LOCK0 - Lock Block 0
  67412. * 0b11..SNVS Key block locked
  67413. * 0b10..SNVS Key block unlocked
  67414. * 0b01..SNVS Key block locked
  67415. * 0b00..SNVS Key block locked
  67416. */
  67417. #define PUF_KEYLOCK_LOCK0(x) (((uint32_t)(((uint32_t)(x)) << PUF_KEYLOCK_LOCK0_SHIFT)) & PUF_KEYLOCK_LOCK0_MASK)
  67418. #define PUF_KEYLOCK_LOCK1_MASK (0xCU)
  67419. #define PUF_KEYLOCK_LOCK1_SHIFT (2U)
  67420. /*! LOCK1 - Lock Block 1
  67421. * 0b11..OTFAD Key block locked
  67422. * 0b10..OTFAD Key block unlocked
  67423. * 0b01..OTFAD Key block locked
  67424. * 0b00..OTFAD Key block locked
  67425. */
  67426. #define PUF_KEYLOCK_LOCK1(x) (((uint32_t)(((uint32_t)(x)) << PUF_KEYLOCK_LOCK1_SHIFT)) & PUF_KEYLOCK_LOCK1_MASK)
  67427. /*! @} */
  67428. /*! @name KEYENABLE - PUF Key Manager Enable */
  67429. /*! @{ */
  67430. #define PUF_KEYENABLE_ENABLE0_MASK (0x3U)
  67431. #define PUF_KEYENABLE_ENABLE0_SHIFT (0U)
  67432. /*! ENABLE0 - Enable Block 0
  67433. * 0b11..Key block 0 disabled
  67434. * 0b10..Key block 0 enabled
  67435. * 0b01..Key block 0 disabled
  67436. * 0b00..Key block 0 disabled
  67437. */
  67438. #define PUF_KEYENABLE_ENABLE0(x) (((uint32_t)(((uint32_t)(x)) << PUF_KEYENABLE_ENABLE0_SHIFT)) & PUF_KEYENABLE_ENABLE0_MASK)
  67439. #define PUF_KEYENABLE_ENABLE1_MASK (0xCU)
  67440. #define PUF_KEYENABLE_ENABLE1_SHIFT (2U)
  67441. /*! ENABLE1 - Enable Block 1
  67442. * 0b11..Key block 1 disabled
  67443. * 0b10..Key block 1 enabled
  67444. * 0b01..Key block 1 disabled
  67445. * 0b00..Key block 1 disabled
  67446. */
  67447. #define PUF_KEYENABLE_ENABLE1(x) (((uint32_t)(((uint32_t)(x)) << PUF_KEYENABLE_ENABLE1_SHIFT)) & PUF_KEYENABLE_ENABLE1_MASK)
  67448. /*! @} */
  67449. /*! @name KEYRESET - PUF Key Manager Reset */
  67450. /*! @{ */
  67451. #define PUF_KEYRESET_RESET0_MASK (0x3U)
  67452. #define PUF_KEYRESET_RESET0_SHIFT (0U)
  67453. /*! RESET0 - Reset Block 0
  67454. * 0b11..Do not reset key block 0
  67455. * 0b10..Reset key block 0
  67456. * 0b01..Do not reset key block 0
  67457. * 0b00..Do not reset key block 0
  67458. */
  67459. #define PUF_KEYRESET_RESET0(x) (((uint32_t)(((uint32_t)(x)) << PUF_KEYRESET_RESET0_SHIFT)) & PUF_KEYRESET_RESET0_MASK)
  67460. #define PUF_KEYRESET_RESET1_MASK (0xCU)
  67461. #define PUF_KEYRESET_RESET1_SHIFT (2U)
  67462. /*! RESET1 - Reset Block 1
  67463. * 0b11..Do not reset key block 1
  67464. * 0b10..Reset key block 1
  67465. * 0b01..Do not reset key block 1
  67466. * 0b00..Do not reset key block 1
  67467. */
  67468. #define PUF_KEYRESET_RESET1(x) (((uint32_t)(((uint32_t)(x)) << PUF_KEYRESET_RESET1_SHIFT)) & PUF_KEYRESET_RESET1_MASK)
  67469. /*! @} */
  67470. /*! @name IDXBLK - PUF Index Block Key Output */
  67471. /*! @{ */
  67472. #define PUF_IDXBLK_IDXBLK0_MASK (0x3U)
  67473. #define PUF_IDXBLK_IDXBLK0_SHIFT (0U)
  67474. /*! IDXBLK0 - idxblk0
  67475. */
  67476. #define PUF_IDXBLK_IDXBLK0(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_IDXBLK0_SHIFT)) & PUF_IDXBLK_IDXBLK0_MASK)
  67477. #define PUF_IDXBLK_IDXBLK1_MASK (0xCU)
  67478. #define PUF_IDXBLK_IDXBLK1_SHIFT (2U)
  67479. /*! IDXBLK1 - idxblk1
  67480. */
  67481. #define PUF_IDXBLK_IDXBLK1(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_IDXBLK1_SHIFT)) & PUF_IDXBLK_IDXBLK1_MASK)
  67482. #define PUF_IDXBLK_IDXBLK2_MASK (0x30U)
  67483. #define PUF_IDXBLK_IDXBLK2_SHIFT (4U)
  67484. /*! IDXBLK2 - idxblk2
  67485. */
  67486. #define PUF_IDXBLK_IDXBLK2(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_IDXBLK2_SHIFT)) & PUF_IDXBLK_IDXBLK2_MASK)
  67487. #define PUF_IDXBLK_IDXBLK3_MASK (0xC0U)
  67488. #define PUF_IDXBLK_IDXBLK3_SHIFT (6U)
  67489. /*! IDXBLK3 - idxblk3
  67490. */
  67491. #define PUF_IDXBLK_IDXBLK3(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_IDXBLK3_SHIFT)) & PUF_IDXBLK_IDXBLK3_MASK)
  67492. #define PUF_IDXBLK_IDXBLK4_MASK (0x300U)
  67493. #define PUF_IDXBLK_IDXBLK4_SHIFT (8U)
  67494. /*! IDXBLK4 - idxblk4
  67495. */
  67496. #define PUF_IDXBLK_IDXBLK4(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_IDXBLK4_SHIFT)) & PUF_IDXBLK_IDXBLK4_MASK)
  67497. #define PUF_IDXBLK_IDXBLK5_MASK (0xC00U)
  67498. #define PUF_IDXBLK_IDXBLK5_SHIFT (10U)
  67499. /*! IDXBLK5 - idxblk5
  67500. */
  67501. #define PUF_IDXBLK_IDXBLK5(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_IDXBLK5_SHIFT)) & PUF_IDXBLK_IDXBLK5_MASK)
  67502. #define PUF_IDXBLK_IDXBLK6_MASK (0x3000U)
  67503. #define PUF_IDXBLK_IDXBLK6_SHIFT (12U)
  67504. /*! IDXBLK6 - idxblk6
  67505. */
  67506. #define PUF_IDXBLK_IDXBLK6(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_IDXBLK6_SHIFT)) & PUF_IDXBLK_IDXBLK6_MASK)
  67507. #define PUF_IDXBLK_IDXBLK7_MASK (0xC000U)
  67508. #define PUF_IDXBLK_IDXBLK7_SHIFT (14U)
  67509. /*! IDXBLK7 - idxblk7
  67510. */
  67511. #define PUF_IDXBLK_IDXBLK7(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_IDXBLK7_SHIFT)) & PUF_IDXBLK_IDXBLK7_MASK)
  67512. #define PUF_IDXBLK_IDXBLK8_MASK (0x30000U)
  67513. #define PUF_IDXBLK_IDXBLK8_SHIFT (16U)
  67514. /*! IDXBLK8 - idxblk8
  67515. */
  67516. #define PUF_IDXBLK_IDXBLK8(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_IDXBLK8_SHIFT)) & PUF_IDXBLK_IDXBLK8_MASK)
  67517. #define PUF_IDXBLK_IDXBLK9_MASK (0xC0000U)
  67518. #define PUF_IDXBLK_IDXBLK9_SHIFT (18U)
  67519. /*! IDXBLK9 - idxblk9
  67520. */
  67521. #define PUF_IDXBLK_IDXBLK9(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_IDXBLK9_SHIFT)) & PUF_IDXBLK_IDXBLK9_MASK)
  67522. #define PUF_IDXBLK_IDXBLK10_MASK (0x300000U)
  67523. #define PUF_IDXBLK_IDXBLK10_SHIFT (20U)
  67524. /*! IDXBLK10 - idxblk10
  67525. */
  67526. #define PUF_IDXBLK_IDXBLK10(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_IDXBLK10_SHIFT)) & PUF_IDXBLK_IDXBLK10_MASK)
  67527. #define PUF_IDXBLK_IDXBLK11_MASK (0xC00000U)
  67528. #define PUF_IDXBLK_IDXBLK11_SHIFT (22U)
  67529. /*! IDXBLK11 - idxblk11
  67530. */
  67531. #define PUF_IDXBLK_IDXBLK11(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_IDXBLK11_SHIFT)) & PUF_IDXBLK_IDXBLK11_MASK)
  67532. #define PUF_IDXBLK_IDXBLK12_MASK (0x3000000U)
  67533. #define PUF_IDXBLK_IDXBLK12_SHIFT (24U)
  67534. /*! IDXBLK12 - idxblk12
  67535. */
  67536. #define PUF_IDXBLK_IDXBLK12(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_IDXBLK12_SHIFT)) & PUF_IDXBLK_IDXBLK12_MASK)
  67537. #define PUF_IDXBLK_IDXBLK13_MASK (0xC000000U)
  67538. #define PUF_IDXBLK_IDXBLK13_SHIFT (26U)
  67539. /*! IDXBLK13 - idxblk13
  67540. */
  67541. #define PUF_IDXBLK_IDXBLK13(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_IDXBLK13_SHIFT)) & PUF_IDXBLK_IDXBLK13_MASK)
  67542. #define PUF_IDXBLK_IDXBLK14_MASK (0x30000000U)
  67543. #define PUF_IDXBLK_IDXBLK14_SHIFT (28U)
  67544. /*! IDXBLK14 - idxblk14
  67545. */
  67546. #define PUF_IDXBLK_IDXBLK14(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_IDXBLK14_SHIFT)) & PUF_IDXBLK_IDXBLK14_MASK)
  67547. #define PUF_IDXBLK_IDXBLK15_MASK (0xC0000000U)
  67548. #define PUF_IDXBLK_IDXBLK15_SHIFT (30U)
  67549. /*! IDXBLK15 - idxblk15
  67550. */
  67551. #define PUF_IDXBLK_IDXBLK15(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_IDXBLK15_SHIFT)) & PUF_IDXBLK_IDXBLK15_MASK)
  67552. /*! @} */
  67553. /*! @name IDXBLK_DP - PUF Index Block Key Output */
  67554. /*! @{ */
  67555. #define PUF_IDXBLK_DP_IDXBLK_DP0_MASK (0x3U)
  67556. #define PUF_IDXBLK_DP_IDXBLK_DP0_SHIFT (0U)
  67557. /*! IDXBLK_DP0 - idxblk_dp0
  67558. */
  67559. #define PUF_IDXBLK_DP_IDXBLK_DP0(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_DP_IDXBLK_DP0_SHIFT)) & PUF_IDXBLK_DP_IDXBLK_DP0_MASK)
  67560. #define PUF_IDXBLK_DP_IDXBLK_DP1_MASK (0xCU)
  67561. #define PUF_IDXBLK_DP_IDXBLK_DP1_SHIFT (2U)
  67562. /*! IDXBLK_DP1 - idxblk_dp1
  67563. */
  67564. #define PUF_IDXBLK_DP_IDXBLK_DP1(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_DP_IDXBLK_DP1_SHIFT)) & PUF_IDXBLK_DP_IDXBLK_DP1_MASK)
  67565. #define PUF_IDXBLK_DP_IDXBLK_DP2_MASK (0x30U)
  67566. #define PUF_IDXBLK_DP_IDXBLK_DP2_SHIFT (4U)
  67567. /*! IDXBLK_DP2 - idxblk_dp2
  67568. */
  67569. #define PUF_IDXBLK_DP_IDXBLK_DP2(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_DP_IDXBLK_DP2_SHIFT)) & PUF_IDXBLK_DP_IDXBLK_DP2_MASK)
  67570. #define PUF_IDXBLK_DP_IDXBLK_DP3_MASK (0xC0U)
  67571. #define PUF_IDXBLK_DP_IDXBLK_DP3_SHIFT (6U)
  67572. /*! IDXBLK_DP3 - idxblk_dp3
  67573. */
  67574. #define PUF_IDXBLK_DP_IDXBLK_DP3(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_DP_IDXBLK_DP3_SHIFT)) & PUF_IDXBLK_DP_IDXBLK_DP3_MASK)
  67575. #define PUF_IDXBLK_DP_IDXBLK_DP4_MASK (0x300U)
  67576. #define PUF_IDXBLK_DP_IDXBLK_DP4_SHIFT (8U)
  67577. /*! IDXBLK_DP4 - idxblk_dp4
  67578. */
  67579. #define PUF_IDXBLK_DP_IDXBLK_DP4(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_DP_IDXBLK_DP4_SHIFT)) & PUF_IDXBLK_DP_IDXBLK_DP4_MASK)
  67580. #define PUF_IDXBLK_DP_IDXBLK_DP5_MASK (0xC00U)
  67581. #define PUF_IDXBLK_DP_IDXBLK_DP5_SHIFT (10U)
  67582. /*! IDXBLK_DP5 - idxblk_dp5
  67583. */
  67584. #define PUF_IDXBLK_DP_IDXBLK_DP5(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_DP_IDXBLK_DP5_SHIFT)) & PUF_IDXBLK_DP_IDXBLK_DP5_MASK)
  67585. #define PUF_IDXBLK_DP_IDXBLK_DP6_MASK (0x3000U)
  67586. #define PUF_IDXBLK_DP_IDXBLK_DP6_SHIFT (12U)
  67587. /*! IDXBLK_DP6 - idxblk_dp6
  67588. */
  67589. #define PUF_IDXBLK_DP_IDXBLK_DP6(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_DP_IDXBLK_DP6_SHIFT)) & PUF_IDXBLK_DP_IDXBLK_DP6_MASK)
  67590. #define PUF_IDXBLK_DP_IDXBLK_DP7_MASK (0xC000U)
  67591. #define PUF_IDXBLK_DP_IDXBLK_DP7_SHIFT (14U)
  67592. /*! IDXBLK_DP7 - idxblk_dp7
  67593. */
  67594. #define PUF_IDXBLK_DP_IDXBLK_DP7(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_DP_IDXBLK_DP7_SHIFT)) & PUF_IDXBLK_DP_IDXBLK_DP7_MASK)
  67595. #define PUF_IDXBLK_DP_IDXBLK_DP8_MASK (0x30000U)
  67596. #define PUF_IDXBLK_DP_IDXBLK_DP8_SHIFT (16U)
  67597. /*! IDXBLK_DP8 - idxblk_dp8
  67598. */
  67599. #define PUF_IDXBLK_DP_IDXBLK_DP8(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_DP_IDXBLK_DP8_SHIFT)) & PUF_IDXBLK_DP_IDXBLK_DP8_MASK)
  67600. #define PUF_IDXBLK_DP_IDXBLK_DP9_MASK (0xC0000U)
  67601. #define PUF_IDXBLK_DP_IDXBLK_DP9_SHIFT (18U)
  67602. /*! IDXBLK_DP9 - idxblk_dp9
  67603. */
  67604. #define PUF_IDXBLK_DP_IDXBLK_DP9(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_DP_IDXBLK_DP9_SHIFT)) & PUF_IDXBLK_DP_IDXBLK_DP9_MASK)
  67605. #define PUF_IDXBLK_DP_IDXBLK_DP10_MASK (0x300000U)
  67606. #define PUF_IDXBLK_DP_IDXBLK_DP10_SHIFT (20U)
  67607. /*! IDXBLK_DP10 - idxblk_dp10
  67608. */
  67609. #define PUF_IDXBLK_DP_IDXBLK_DP10(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_DP_IDXBLK_DP10_SHIFT)) & PUF_IDXBLK_DP_IDXBLK_DP10_MASK)
  67610. #define PUF_IDXBLK_DP_IDXBLK_DP11_MASK (0xC00000U)
  67611. #define PUF_IDXBLK_DP_IDXBLK_DP11_SHIFT (22U)
  67612. /*! IDXBLK_DP11 - idxblk_dp11
  67613. */
  67614. #define PUF_IDXBLK_DP_IDXBLK_DP11(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_DP_IDXBLK_DP11_SHIFT)) & PUF_IDXBLK_DP_IDXBLK_DP11_MASK)
  67615. #define PUF_IDXBLK_DP_IDXBLK_DP12_MASK (0x3000000U)
  67616. #define PUF_IDXBLK_DP_IDXBLK_DP12_SHIFT (24U)
  67617. /*! IDXBLK_DP12 - idxblk_dp12
  67618. */
  67619. #define PUF_IDXBLK_DP_IDXBLK_DP12(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_DP_IDXBLK_DP12_SHIFT)) & PUF_IDXBLK_DP_IDXBLK_DP12_MASK)
  67620. #define PUF_IDXBLK_DP_IDXBLK_DP13_MASK (0xC000000U)
  67621. #define PUF_IDXBLK_DP_IDXBLK_DP13_SHIFT (26U)
  67622. /*! IDXBLK_DP13 - idxblk_dp13
  67623. */
  67624. #define PUF_IDXBLK_DP_IDXBLK_DP13(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_DP_IDXBLK_DP13_SHIFT)) & PUF_IDXBLK_DP_IDXBLK_DP13_MASK)
  67625. #define PUF_IDXBLK_DP_IDXBLK_DP14_MASK (0x30000000U)
  67626. #define PUF_IDXBLK_DP_IDXBLK_DP14_SHIFT (28U)
  67627. /*! IDXBLK_DP14 - idxblk_dp14
  67628. */
  67629. #define PUF_IDXBLK_DP_IDXBLK_DP14(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_DP_IDXBLK_DP14_SHIFT)) & PUF_IDXBLK_DP_IDXBLK_DP14_MASK)
  67630. #define PUF_IDXBLK_DP_IDXBLK_DP15_MASK (0xC0000000U)
  67631. #define PUF_IDXBLK_DP_IDXBLK_DP15_SHIFT (30U)
  67632. /*! IDXBLK_DP15 - idxblk_dp15
  67633. */
  67634. #define PUF_IDXBLK_DP_IDXBLK_DP15(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_DP_IDXBLK_DP15_SHIFT)) & PUF_IDXBLK_DP_IDXBLK_DP15_MASK)
  67635. /*! @} */
  67636. /*! @name KEYMASK - PUF Key Block 0 Mask Enable..PUF Key Block 1 Mask Enable */
  67637. /*! @{ */
  67638. #define PUF_KEYMASK_KEYMASK_MASK (0xFFFFFFFFU)
  67639. #define PUF_KEYMASK_KEYMASK_SHIFT (0U)
  67640. /*! KEYMASK - KEYMASK1
  67641. */
  67642. #define PUF_KEYMASK_KEYMASK(x) (((uint32_t)(((uint32_t)(x)) << PUF_KEYMASK_KEYMASK_SHIFT)) & PUF_KEYMASK_KEYMASK_MASK)
  67643. /*! @} */
  67644. /* The count of PUF_KEYMASK */
  67645. #define PUF_KEYMASK_COUNT (2U)
  67646. /*! @name IDXBLK_STATUS - PUF Index Block Setting Status Register */
  67647. /*! @{ */
  67648. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS0_MASK (0x3U)
  67649. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS0_SHIFT (0U)
  67650. /*! IDXBLK_STATUS0 - idxblk_status0
  67651. */
  67652. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS0(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_STATUS_IDXBLK_STATUS0_SHIFT)) & PUF_IDXBLK_STATUS_IDXBLK_STATUS0_MASK)
  67653. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS1_MASK (0xCU)
  67654. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS1_SHIFT (2U)
  67655. /*! IDXBLK_STATUS1 - idxblk_status1
  67656. */
  67657. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS1(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_STATUS_IDXBLK_STATUS1_SHIFT)) & PUF_IDXBLK_STATUS_IDXBLK_STATUS1_MASK)
  67658. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS2_MASK (0x30U)
  67659. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS2_SHIFT (4U)
  67660. /*! IDXBLK_STATUS2 - idxblk_status2
  67661. */
  67662. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS2(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_STATUS_IDXBLK_STATUS2_SHIFT)) & PUF_IDXBLK_STATUS_IDXBLK_STATUS2_MASK)
  67663. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS3_MASK (0xC0U)
  67664. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS3_SHIFT (6U)
  67665. /*! IDXBLK_STATUS3 - idxblk_status3
  67666. */
  67667. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS3(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_STATUS_IDXBLK_STATUS3_SHIFT)) & PUF_IDXBLK_STATUS_IDXBLK_STATUS3_MASK)
  67668. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS4_MASK (0x300U)
  67669. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS4_SHIFT (8U)
  67670. /*! IDXBLK_STATUS4 - idxblk_status4
  67671. */
  67672. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS4(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_STATUS_IDXBLK_STATUS4_SHIFT)) & PUF_IDXBLK_STATUS_IDXBLK_STATUS4_MASK)
  67673. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS5_MASK (0xC00U)
  67674. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS5_SHIFT (10U)
  67675. /*! IDXBLK_STATUS5 - idxblk_status5
  67676. */
  67677. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS5(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_STATUS_IDXBLK_STATUS5_SHIFT)) & PUF_IDXBLK_STATUS_IDXBLK_STATUS5_MASK)
  67678. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS6_MASK (0x3000U)
  67679. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS6_SHIFT (12U)
  67680. /*! IDXBLK_STATUS6 - idxblk_status6
  67681. */
  67682. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS6(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_STATUS_IDXBLK_STATUS6_SHIFT)) & PUF_IDXBLK_STATUS_IDXBLK_STATUS6_MASK)
  67683. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS7_MASK (0xC000U)
  67684. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS7_SHIFT (14U)
  67685. /*! IDXBLK_STATUS7 - idxblk_status7
  67686. */
  67687. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS7(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_STATUS_IDXBLK_STATUS7_SHIFT)) & PUF_IDXBLK_STATUS_IDXBLK_STATUS7_MASK)
  67688. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS8_MASK (0x30000U)
  67689. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS8_SHIFT (16U)
  67690. /*! IDXBLK_STATUS8 - idxblk_status8
  67691. */
  67692. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS8(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_STATUS_IDXBLK_STATUS8_SHIFT)) & PUF_IDXBLK_STATUS_IDXBLK_STATUS8_MASK)
  67693. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS9_MASK (0xC0000U)
  67694. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS9_SHIFT (18U)
  67695. /*! IDXBLK_STATUS9 - idxblk_status9
  67696. */
  67697. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS9(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_STATUS_IDXBLK_STATUS9_SHIFT)) & PUF_IDXBLK_STATUS_IDXBLK_STATUS9_MASK)
  67698. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS10_MASK (0x300000U)
  67699. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS10_SHIFT (20U)
  67700. /*! IDXBLK_STATUS10 - idxblk_status10
  67701. */
  67702. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS10(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_STATUS_IDXBLK_STATUS10_SHIFT)) & PUF_IDXBLK_STATUS_IDXBLK_STATUS10_MASK)
  67703. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS11_MASK (0xC00000U)
  67704. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS11_SHIFT (22U)
  67705. /*! IDXBLK_STATUS11 - idxblk_status11
  67706. */
  67707. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS11(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_STATUS_IDXBLK_STATUS11_SHIFT)) & PUF_IDXBLK_STATUS_IDXBLK_STATUS11_MASK)
  67708. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS12_MASK (0x3000000U)
  67709. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS12_SHIFT (24U)
  67710. /*! IDXBLK_STATUS12 - idxblk_status12
  67711. */
  67712. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS12(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_STATUS_IDXBLK_STATUS12_SHIFT)) & PUF_IDXBLK_STATUS_IDXBLK_STATUS12_MASK)
  67713. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS13_MASK (0xC000000U)
  67714. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS13_SHIFT (26U)
  67715. /*! IDXBLK_STATUS13 - idxblk_status13
  67716. */
  67717. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS13(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_STATUS_IDXBLK_STATUS13_SHIFT)) & PUF_IDXBLK_STATUS_IDXBLK_STATUS13_MASK)
  67718. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS14_MASK (0x30000000U)
  67719. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS14_SHIFT (28U)
  67720. /*! IDXBLK_STATUS14 - idxblk_status14
  67721. */
  67722. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS14(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_STATUS_IDXBLK_STATUS14_SHIFT)) & PUF_IDXBLK_STATUS_IDXBLK_STATUS14_MASK)
  67723. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS15_MASK (0xC0000000U)
  67724. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS15_SHIFT (30U)
  67725. /*! IDXBLK_STATUS15 - idxblk_status15
  67726. */
  67727. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS15(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_STATUS_IDXBLK_STATUS15_SHIFT)) & PUF_IDXBLK_STATUS_IDXBLK_STATUS15_MASK)
  67728. /*! @} */
  67729. /*! @name IDXBLK_SHIFT - PUF Key Manager Shift Status */
  67730. /*! @{ */
  67731. #define PUF_IDXBLK_SHIFT_IND_KEY0_MASK (0xFU)
  67732. #define PUF_IDXBLK_SHIFT_IND_KEY0_SHIFT (0U)
  67733. /*! IND_KEY0 - Index of key space in block 0
  67734. */
  67735. #define PUF_IDXBLK_SHIFT_IND_KEY0(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_SHIFT_IND_KEY0_SHIFT)) & PUF_IDXBLK_SHIFT_IND_KEY0_MASK)
  67736. #define PUF_IDXBLK_SHIFT_IND_KEY1_MASK (0xF0U)
  67737. #define PUF_IDXBLK_SHIFT_IND_KEY1_SHIFT (4U)
  67738. /*! IND_KEY1 - Index of key space in block 1
  67739. */
  67740. #define PUF_IDXBLK_SHIFT_IND_KEY1(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_SHIFT_IND_KEY1_SHIFT)) & PUF_IDXBLK_SHIFT_IND_KEY1_MASK)
  67741. /*! @} */
  67742. /*!
  67743. * @}
  67744. */ /* end of group PUF_Register_Masks */
  67745. /* PUF - Peripheral instance base addresses */
  67746. /** Peripheral KEY_MANAGER__PUF base address */
  67747. #define KEY_MANAGER__PUF_BASE (0x40C82000u)
  67748. /** Peripheral KEY_MANAGER__PUF base pointer */
  67749. #define KEY_MANAGER__PUF ((PUF_Type *)KEY_MANAGER__PUF_BASE)
  67750. /** Array initializer of PUF peripheral base addresses */
  67751. #define PUF_BASE_ADDRS { KEY_MANAGER__PUF_BASE }
  67752. /** Array initializer of PUF peripheral base pointers */
  67753. #define PUF_BASE_PTRS { KEY_MANAGER__PUF }
  67754. /*!
  67755. * @}
  67756. */ /* end of group PUF_Peripheral_Access_Layer */
  67757. /* ----------------------------------------------------------------------------
  67758. -- PWM Peripheral Access Layer
  67759. ---------------------------------------------------------------------------- */
  67760. /*!
  67761. * @addtogroup PWM_Peripheral_Access_Layer PWM Peripheral Access Layer
  67762. * @{
  67763. */
  67764. /** PWM - Register Layout Typedef */
  67765. typedef struct {
  67766. struct { /* offset: 0x0, array step: 0x60 */
  67767. __I uint16_t CNT; /**< Counter Register, array offset: 0x0, array step: 0x60 */
  67768. __IO uint16_t INIT; /**< Initial Count Register, array offset: 0x2, array step: 0x60 */
  67769. __IO uint16_t CTRL2; /**< Control 2 Register, array offset: 0x4, array step: 0x60 */
  67770. __IO uint16_t CTRL; /**< Control Register, array offset: 0x6, array step: 0x60 */
  67771. uint8_t RESERVED_0[2];
  67772. __IO uint16_t VAL0; /**< Value Register 0, array offset: 0xA, array step: 0x60 */
  67773. __IO uint16_t FRACVAL1; /**< Fractional Value Register 1, array offset: 0xC, array step: 0x60 */
  67774. __IO uint16_t VAL1; /**< Value Register 1, array offset: 0xE, array step: 0x60 */
  67775. __IO uint16_t FRACVAL2; /**< Fractional Value Register 2, array offset: 0x10, array step: 0x60 */
  67776. __IO uint16_t VAL2; /**< Value Register 2, array offset: 0x12, array step: 0x60 */
  67777. __IO uint16_t FRACVAL3; /**< Fractional Value Register 3, array offset: 0x14, array step: 0x60 */
  67778. __IO uint16_t VAL3; /**< Value Register 3, array offset: 0x16, array step: 0x60 */
  67779. __IO uint16_t FRACVAL4; /**< Fractional Value Register 4, array offset: 0x18, array step: 0x60 */
  67780. __IO uint16_t VAL4; /**< Value Register 4, array offset: 0x1A, array step: 0x60 */
  67781. __IO uint16_t FRACVAL5; /**< Fractional Value Register 5, array offset: 0x1C, array step: 0x60 */
  67782. __IO uint16_t VAL5; /**< Value Register 5, array offset: 0x1E, array step: 0x60 */
  67783. __IO uint16_t FRCTRL; /**< Fractional Control Register, array offset: 0x20, array step: 0x60 */
  67784. __IO uint16_t OCTRL; /**< Output Control Register, array offset: 0x22, array step: 0x60 */
  67785. __IO uint16_t STS; /**< Status Register, array offset: 0x24, array step: 0x60 */
  67786. __IO uint16_t INTEN; /**< Interrupt Enable Register, array offset: 0x26, array step: 0x60 */
  67787. __IO uint16_t DMAEN; /**< DMA Enable Register, array offset: 0x28, array step: 0x60 */
  67788. __IO uint16_t TCTRL; /**< Output Trigger Control Register, array offset: 0x2A, array step: 0x60 */
  67789. __IO uint16_t DISMAP[1]; /**< Fault Disable Mapping Register 0, array offset: 0x2C, array step: index*0x60, index2*0x2 */
  67790. uint8_t RESERVED_1[2];
  67791. __IO uint16_t DTCNT0; /**< Deadtime Count Register 0, array offset: 0x30, array step: 0x60 */
  67792. __IO uint16_t DTCNT1; /**< Deadtime Count Register 1, array offset: 0x32, array step: 0x60 */
  67793. __IO uint16_t CAPTCTRLA; /**< Capture Control A Register, array offset: 0x34, array step: 0x60 */
  67794. __IO uint16_t CAPTCOMPA; /**< Capture Compare A Register, array offset: 0x36, array step: 0x60 */
  67795. __IO uint16_t CAPTCTRLB; /**< Capture Control B Register, array offset: 0x38, array step: 0x60 */
  67796. __IO uint16_t CAPTCOMPB; /**< Capture Compare B Register, array offset: 0x3A, array step: 0x60 */
  67797. __IO uint16_t CAPTCTRLX; /**< Capture Control X Register, array offset: 0x3C, array step: 0x60 */
  67798. __IO uint16_t CAPTCOMPX; /**< Capture Compare X Register, array offset: 0x3E, array step: 0x60 */
  67799. __I uint16_t CVAL0; /**< Capture Value 0 Register, array offset: 0x40, array step: 0x60 */
  67800. __I uint16_t CVAL0CYC; /**< Capture Value 0 Cycle Register, array offset: 0x42, array step: 0x60 */
  67801. __I uint16_t CVAL1; /**< Capture Value 1 Register, array offset: 0x44, array step: 0x60 */
  67802. __I uint16_t CVAL1CYC; /**< Capture Value 1 Cycle Register, array offset: 0x46, array step: 0x60 */
  67803. __I uint16_t CVAL2; /**< Capture Value 2 Register, array offset: 0x48, array step: 0x60 */
  67804. __I uint16_t CVAL2CYC; /**< Capture Value 2 Cycle Register, array offset: 0x4A, array step: 0x60 */
  67805. __I uint16_t CVAL3; /**< Capture Value 3 Register, array offset: 0x4C, array step: 0x60 */
  67806. __I uint16_t CVAL3CYC; /**< Capture Value 3 Cycle Register, array offset: 0x4E, array step: 0x60 */
  67807. __I uint16_t CVAL4; /**< Capture Value 4 Register, array offset: 0x50, array step: 0x60 */
  67808. __I uint16_t CVAL4CYC; /**< Capture Value 4 Cycle Register, array offset: 0x52, array step: 0x60 */
  67809. __I uint16_t CVAL5; /**< Capture Value 5 Register, array offset: 0x54, array step: 0x60 */
  67810. __I uint16_t CVAL5CYC; /**< Capture Value 5 Cycle Register, array offset: 0x56, array step: 0x60 */
  67811. uint8_t RESERVED_2[8];
  67812. } SM[4];
  67813. __IO uint16_t OUTEN; /**< Output Enable Register, offset: 0x180 */
  67814. __IO uint16_t MASK; /**< Mask Register, offset: 0x182 */
  67815. __IO uint16_t SWCOUT; /**< Software Controlled Output Register, offset: 0x184 */
  67816. __IO uint16_t DTSRCSEL; /**< PWM Source Select Register, offset: 0x186 */
  67817. __IO uint16_t MCTRL; /**< Master Control Register, offset: 0x188 */
  67818. __IO uint16_t MCTRL2; /**< Master Control 2 Register, offset: 0x18A */
  67819. __IO uint16_t FCTRL; /**< Fault Control Register, offset: 0x18C */
  67820. __IO uint16_t FSTS; /**< Fault Status Register, offset: 0x18E */
  67821. __IO uint16_t FFILT; /**< Fault Filter Register, offset: 0x190 */
  67822. __IO uint16_t FTST; /**< Fault Test Register, offset: 0x192 */
  67823. __IO uint16_t FCTRL2; /**< Fault Control 2 Register, offset: 0x194 */
  67824. } PWM_Type;
  67825. /* ----------------------------------------------------------------------------
  67826. -- PWM Register Masks
  67827. ---------------------------------------------------------------------------- */
  67828. /*!
  67829. * @addtogroup PWM_Register_Masks PWM Register Masks
  67830. * @{
  67831. */
  67832. /*! @name CNT - Counter Register */
  67833. /*! @{ */
  67834. #define PWM_CNT_CNT_MASK (0xFFFFU)
  67835. #define PWM_CNT_CNT_SHIFT (0U)
  67836. /*! CNT - Counter Register Bits
  67837. */
  67838. #define PWM_CNT_CNT(x) (((uint16_t)(((uint16_t)(x)) << PWM_CNT_CNT_SHIFT)) & PWM_CNT_CNT_MASK)
  67839. /*! @} */
  67840. /* The count of PWM_CNT */
  67841. #define PWM_CNT_COUNT (4U)
  67842. /*! @name INIT - Initial Count Register */
  67843. /*! @{ */
  67844. #define PWM_INIT_INIT_MASK (0xFFFFU)
  67845. #define PWM_INIT_INIT_SHIFT (0U)
  67846. /*! INIT - Initial Count Register Bits
  67847. */
  67848. #define PWM_INIT_INIT(x) (((uint16_t)(((uint16_t)(x)) << PWM_INIT_INIT_SHIFT)) & PWM_INIT_INIT_MASK)
  67849. /*! @} */
  67850. /* The count of PWM_INIT */
  67851. #define PWM_INIT_COUNT (4U)
  67852. /*! @name CTRL2 - Control 2 Register */
  67853. /*! @{ */
  67854. #define PWM_CTRL2_CLK_SEL_MASK (0x3U)
  67855. #define PWM_CTRL2_CLK_SEL_SHIFT (0U)
  67856. /*! CLK_SEL - Clock Source Select
  67857. * 0b00..The IPBus clock is used as the clock for the local prescaler and counter.
  67858. * 0b01..EXT_CLK is used as the clock for the local prescaler and counter.
  67859. * 0b10..Submodule 0's clock (AUX_CLK) is used as the source clock for the local prescaler and counter. This
  67860. * setting should not be used in submodule 0 as it will force the clock to logic 0.
  67861. * 0b11..reserved
  67862. */
  67863. #define PWM_CTRL2_CLK_SEL(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL2_CLK_SEL_SHIFT)) & PWM_CTRL2_CLK_SEL_MASK)
  67864. #define PWM_CTRL2_RELOAD_SEL_MASK (0x4U)
  67865. #define PWM_CTRL2_RELOAD_SEL_SHIFT (2U)
  67866. /*! RELOAD_SEL - Reload Source Select
  67867. * 0b0..The local RELOAD signal is used to reload registers.
  67868. * 0b1..The master RELOAD signal (from submodule 0) is used to reload registers. This setting should not be used
  67869. * in submodule 0 as it will force the RELOAD signal to logic 0.
  67870. */
  67871. #define PWM_CTRL2_RELOAD_SEL(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL2_RELOAD_SEL_SHIFT)) & PWM_CTRL2_RELOAD_SEL_MASK)
  67872. #define PWM_CTRL2_FORCE_SEL_MASK (0x38U)
  67873. #define PWM_CTRL2_FORCE_SEL_SHIFT (3U)
  67874. /*! FORCE_SEL - This read/write bit determines the source of the FORCE OUTPUT signal for this submodule.
  67875. * 0b000..The local force signal, CTRL2[FORCE], from this submodule is used to force updates.
  67876. * 0b001..The master force signal from submodule 0 is used to force updates. This setting should not be used in
  67877. * submodule 0 as it will hold the FORCE OUTPUT signal to logic 0.
  67878. * 0b010..The local reload signal from this submodule is used to force updates without regard to the state of LDOK.
  67879. * 0b011..The master reload signal from submodule0 is used to force updates if LDOK is set. This setting should
  67880. * not be used in submodule0 as it will hold the FORCE OUTPUT signal to logic 0.
  67881. * 0b100..The local sync signal from this submodule is used to force updates.
  67882. * 0b101..The master sync signal from submodule0 is used to force updates. This setting should not be used in
  67883. * submodule0 as it will hold the FORCE OUTPUT signal to logic 0.
  67884. * 0b110..The external force signal, EXT_FORCE, from outside the PWM module causes updates.
  67885. * 0b111..The external sync signal, EXT_SYNC, from outside the PWM module causes updates.
  67886. */
  67887. #define PWM_CTRL2_FORCE_SEL(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL2_FORCE_SEL_SHIFT)) & PWM_CTRL2_FORCE_SEL_MASK)
  67888. #define PWM_CTRL2_FORCE_MASK (0x40U)
  67889. #define PWM_CTRL2_FORCE_SHIFT (6U)
  67890. /*! FORCE - Force Initialization
  67891. */
  67892. #define PWM_CTRL2_FORCE(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL2_FORCE_SHIFT)) & PWM_CTRL2_FORCE_MASK)
  67893. #define PWM_CTRL2_FRCEN_MASK (0x80U)
  67894. #define PWM_CTRL2_FRCEN_SHIFT (7U)
  67895. /*! FRCEN - FRCEN
  67896. * 0b0..Initialization from a FORCE_OUT is disabled.
  67897. * 0b1..Initialization from a FORCE_OUT is enabled.
  67898. */
  67899. #define PWM_CTRL2_FRCEN(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL2_FRCEN_SHIFT)) & PWM_CTRL2_FRCEN_MASK)
  67900. #define PWM_CTRL2_INIT_SEL_MASK (0x300U)
  67901. #define PWM_CTRL2_INIT_SEL_SHIFT (8U)
  67902. /*! INIT_SEL - Initialization Control Select
  67903. * 0b00..Local sync (PWM_X) causes initialization.
  67904. * 0b01..Master reload from submodule 0 causes initialization. This setting should not be used in submodule 0 as
  67905. * it will force the INIT signal to logic 0. The submodule counter will only reinitialize when a master
  67906. * reload occurs.
  67907. * 0b10..Master sync from submodule 0 causes initialization. This setting should not be used in submodule 0 as it
  67908. * will force the INIT signal to logic 0.
  67909. * 0b11..EXT_SYNC causes initialization.
  67910. */
  67911. #define PWM_CTRL2_INIT_SEL(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL2_INIT_SEL_SHIFT)) & PWM_CTRL2_INIT_SEL_MASK)
  67912. #define PWM_CTRL2_PWMX_INIT_MASK (0x400U)
  67913. #define PWM_CTRL2_PWMX_INIT_SHIFT (10U)
  67914. /*! PWMX_INIT - PWM_X Initial Value
  67915. */
  67916. #define PWM_CTRL2_PWMX_INIT(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL2_PWMX_INIT_SHIFT)) & PWM_CTRL2_PWMX_INIT_MASK)
  67917. #define PWM_CTRL2_PWM45_INIT_MASK (0x800U)
  67918. #define PWM_CTRL2_PWM45_INIT_SHIFT (11U)
  67919. /*! PWM45_INIT - PWM45 Initial Value
  67920. */
  67921. #define PWM_CTRL2_PWM45_INIT(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL2_PWM45_INIT_SHIFT)) & PWM_CTRL2_PWM45_INIT_MASK)
  67922. #define PWM_CTRL2_PWM23_INIT_MASK (0x1000U)
  67923. #define PWM_CTRL2_PWM23_INIT_SHIFT (12U)
  67924. /*! PWM23_INIT - PWM23 Initial Value
  67925. */
  67926. #define PWM_CTRL2_PWM23_INIT(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL2_PWM23_INIT_SHIFT)) & PWM_CTRL2_PWM23_INIT_MASK)
  67927. #define PWM_CTRL2_INDEP_MASK (0x2000U)
  67928. #define PWM_CTRL2_INDEP_SHIFT (13U)
  67929. /*! INDEP - Independent or Complementary Pair Operation
  67930. * 0b0..PWM_A and PWM_B form a complementary PWM pair.
  67931. * 0b1..PWM_A and PWM_B outputs are independent PWMs.
  67932. */
  67933. #define PWM_CTRL2_INDEP(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL2_INDEP_SHIFT)) & PWM_CTRL2_INDEP_MASK)
  67934. #define PWM_CTRL2_WAITEN_MASK (0x4000U)
  67935. #define PWM_CTRL2_WAITEN_SHIFT (14U)
  67936. /*! WAITEN - WAIT Enable
  67937. */
  67938. #define PWM_CTRL2_WAITEN(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL2_WAITEN_SHIFT)) & PWM_CTRL2_WAITEN_MASK)
  67939. #define PWM_CTRL2_DBGEN_MASK (0x8000U)
  67940. #define PWM_CTRL2_DBGEN_SHIFT (15U)
  67941. /*! DBGEN - Debug Enable
  67942. */
  67943. #define PWM_CTRL2_DBGEN(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL2_DBGEN_SHIFT)) & PWM_CTRL2_DBGEN_MASK)
  67944. /*! @} */
  67945. /* The count of PWM_CTRL2 */
  67946. #define PWM_CTRL2_COUNT (4U)
  67947. /*! @name CTRL - Control Register */
  67948. /*! @{ */
  67949. #define PWM_CTRL_DBLEN_MASK (0x1U)
  67950. #define PWM_CTRL_DBLEN_SHIFT (0U)
  67951. /*! DBLEN - Double Switching Enable
  67952. * 0b0..Double switching disabled.
  67953. * 0b1..Double switching enabled.
  67954. */
  67955. #define PWM_CTRL_DBLEN(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL_DBLEN_SHIFT)) & PWM_CTRL_DBLEN_MASK)
  67956. #define PWM_CTRL_DBLX_MASK (0x2U)
  67957. #define PWM_CTRL_DBLX_SHIFT (1U)
  67958. /*! DBLX - PWMX Double Switching Enable
  67959. * 0b0..PWMX double pulse disabled.
  67960. * 0b1..PWMX double pulse enabled.
  67961. */
  67962. #define PWM_CTRL_DBLX(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL_DBLX_SHIFT)) & PWM_CTRL_DBLX_MASK)
  67963. #define PWM_CTRL_LDMOD_MASK (0x4U)
  67964. #define PWM_CTRL_LDMOD_SHIFT (2U)
  67965. /*! LDMOD - Load Mode Select
  67966. * 0b0..Buffered registers of this submodule are loaded and take effect at the next PWM reload if MCTRL[LDOK] is set.
  67967. * 0b1..Buffered registers of this submodule are loaded and take effect immediately upon MCTRL[LDOK] being set.
  67968. * In this case it is not necessary to set CTRL[FULL] or CTRL[HALF].
  67969. */
  67970. #define PWM_CTRL_LDMOD(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL_LDMOD_SHIFT)) & PWM_CTRL_LDMOD_MASK)
  67971. #define PWM_CTRL_SPLIT_MASK (0x8U)
  67972. #define PWM_CTRL_SPLIT_SHIFT (3U)
  67973. /*! SPLIT - Split the DBLPWM signal to PWMA and PWMB
  67974. * 0b0..DBLPWM is not split. PWMA and PWMB each have double pulses.
  67975. * 0b1..DBLPWM is split to PWMA and PWMB.
  67976. */
  67977. #define PWM_CTRL_SPLIT(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL_SPLIT_SHIFT)) & PWM_CTRL_SPLIT_MASK)
  67978. #define PWM_CTRL_PRSC_MASK (0x70U)
  67979. #define PWM_CTRL_PRSC_SHIFT (4U)
  67980. /*! PRSC - Prescaler
  67981. * 0b000..Prescaler 1
  67982. * 0b001..Prescaler 2
  67983. * 0b010..Prescaler 4
  67984. * 0b011..Prescaler 8
  67985. * 0b100..Prescaler 16
  67986. * 0b101..Prescaler 32
  67987. * 0b110..Prescaler 64
  67988. * 0b111..Prescaler 128
  67989. */
  67990. #define PWM_CTRL_PRSC(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL_PRSC_SHIFT)) & PWM_CTRL_PRSC_MASK)
  67991. #define PWM_CTRL_COMPMODE_MASK (0x80U)
  67992. #define PWM_CTRL_COMPMODE_SHIFT (7U)
  67993. /*! COMPMODE - Compare Mode
  67994. * 0b0..The VAL* registers and the PWM counter are compared using an "equal to" method. This means that PWM edges
  67995. * are only produced when the counter is equal to one of the VAL* register values. This implies that a PWMA
  67996. * output that is high at the end of a period will maintain this state until a match with VAL3 clears the
  67997. * output in the following period.
  67998. * 0b1..The VAL* registers and the PWM counter are compared using an "equal to or greater than" method. This
  67999. * means that PWM edges are produced when the counter is equal to or greater than one of the VAL* register
  68000. * values. This implies that a PWMA output that is high at the end of a period could go low at the start of the
  68001. * next period if the starting counter value is greater than (but not necessarily equal to) the new VAL3 value.
  68002. */
  68003. #define PWM_CTRL_COMPMODE(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL_COMPMODE_SHIFT)) & PWM_CTRL_COMPMODE_MASK)
  68004. #define PWM_CTRL_DT_MASK (0x300U)
  68005. #define PWM_CTRL_DT_SHIFT (8U)
  68006. /*! DT - Deadtime
  68007. */
  68008. #define PWM_CTRL_DT(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL_DT_SHIFT)) & PWM_CTRL_DT_MASK)
  68009. #define PWM_CTRL_FULL_MASK (0x400U)
  68010. #define PWM_CTRL_FULL_SHIFT (10U)
  68011. /*! FULL - Full Cycle Reload
  68012. * 0b0..Full-cycle reloads disabled.
  68013. * 0b1..Full-cycle reloads enabled.
  68014. */
  68015. #define PWM_CTRL_FULL(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL_FULL_SHIFT)) & PWM_CTRL_FULL_MASK)
  68016. #define PWM_CTRL_HALF_MASK (0x800U)
  68017. #define PWM_CTRL_HALF_SHIFT (11U)
  68018. /*! HALF - Half Cycle Reload
  68019. * 0b0..Half-cycle reloads disabled.
  68020. * 0b1..Half-cycle reloads enabled.
  68021. */
  68022. #define PWM_CTRL_HALF(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL_HALF_SHIFT)) & PWM_CTRL_HALF_MASK)
  68023. #define PWM_CTRL_LDFQ_MASK (0xF000U)
  68024. #define PWM_CTRL_LDFQ_SHIFT (12U)
  68025. /*! LDFQ - Load Frequency
  68026. * 0b0000..Every PWM opportunity
  68027. * 0b0001..Every 2 PWM opportunities
  68028. * 0b0010..Every 3 PWM opportunities
  68029. * 0b0011..Every 4 PWM opportunities
  68030. * 0b0100..Every 5 PWM opportunities
  68031. * 0b0101..Every 6 PWM opportunities
  68032. * 0b0110..Every 7 PWM opportunities
  68033. * 0b0111..Every 8 PWM opportunities
  68034. * 0b1000..Every 9 PWM opportunities
  68035. * 0b1001..Every 10 PWM opportunities
  68036. * 0b1010..Every 11 PWM opportunities
  68037. * 0b1011..Every 12 PWM opportunities
  68038. * 0b1100..Every 13 PWM opportunities
  68039. * 0b1101..Every 14 PWM opportunities
  68040. * 0b1110..Every 15 PWM opportunities
  68041. * 0b1111..Every 16 PWM opportunities
  68042. */
  68043. #define PWM_CTRL_LDFQ(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL_LDFQ_SHIFT)) & PWM_CTRL_LDFQ_MASK)
  68044. /*! @} */
  68045. /* The count of PWM_CTRL */
  68046. #define PWM_CTRL_COUNT (4U)
  68047. /*! @name VAL0 - Value Register 0 */
  68048. /*! @{ */
  68049. #define PWM_VAL0_VAL0_MASK (0xFFFFU)
  68050. #define PWM_VAL0_VAL0_SHIFT (0U)
  68051. /*! VAL0 - Value Register 0
  68052. */
  68053. #define PWM_VAL0_VAL0(x) (((uint16_t)(((uint16_t)(x)) << PWM_VAL0_VAL0_SHIFT)) & PWM_VAL0_VAL0_MASK)
  68054. /*! @} */
  68055. /* The count of PWM_VAL0 */
  68056. #define PWM_VAL0_COUNT (4U)
  68057. /*! @name FRACVAL1 - Fractional Value Register 1 */
  68058. /*! @{ */
  68059. #define PWM_FRACVAL1_FRACVAL1_MASK (0xF800U)
  68060. #define PWM_FRACVAL1_FRACVAL1_SHIFT (11U)
  68061. /*! FRACVAL1 - Fractional Value 1 Register
  68062. */
  68063. #define PWM_FRACVAL1_FRACVAL1(x) (((uint16_t)(((uint16_t)(x)) << PWM_FRACVAL1_FRACVAL1_SHIFT)) & PWM_FRACVAL1_FRACVAL1_MASK)
  68064. /*! @} */
  68065. /* The count of PWM_FRACVAL1 */
  68066. #define PWM_FRACVAL1_COUNT (4U)
  68067. /*! @name VAL1 - Value Register 1 */
  68068. /*! @{ */
  68069. #define PWM_VAL1_VAL1_MASK (0xFFFFU)
  68070. #define PWM_VAL1_VAL1_SHIFT (0U)
  68071. /*! VAL1 - Value Register 1
  68072. */
  68073. #define PWM_VAL1_VAL1(x) (((uint16_t)(((uint16_t)(x)) << PWM_VAL1_VAL1_SHIFT)) & PWM_VAL1_VAL1_MASK)
  68074. /*! @} */
  68075. /* The count of PWM_VAL1 */
  68076. #define PWM_VAL1_COUNT (4U)
  68077. /*! @name FRACVAL2 - Fractional Value Register 2 */
  68078. /*! @{ */
  68079. #define PWM_FRACVAL2_FRACVAL2_MASK (0xF800U)
  68080. #define PWM_FRACVAL2_FRACVAL2_SHIFT (11U)
  68081. /*! FRACVAL2 - Fractional Value 2
  68082. */
  68083. #define PWM_FRACVAL2_FRACVAL2(x) (((uint16_t)(((uint16_t)(x)) << PWM_FRACVAL2_FRACVAL2_SHIFT)) & PWM_FRACVAL2_FRACVAL2_MASK)
  68084. /*! @} */
  68085. /* The count of PWM_FRACVAL2 */
  68086. #define PWM_FRACVAL2_COUNT (4U)
  68087. /*! @name VAL2 - Value Register 2 */
  68088. /*! @{ */
  68089. #define PWM_VAL2_VAL2_MASK (0xFFFFU)
  68090. #define PWM_VAL2_VAL2_SHIFT (0U)
  68091. /*! VAL2 - Value Register 2
  68092. */
  68093. #define PWM_VAL2_VAL2(x) (((uint16_t)(((uint16_t)(x)) << PWM_VAL2_VAL2_SHIFT)) & PWM_VAL2_VAL2_MASK)
  68094. /*! @} */
  68095. /* The count of PWM_VAL2 */
  68096. #define PWM_VAL2_COUNT (4U)
  68097. /*! @name FRACVAL3 - Fractional Value Register 3 */
  68098. /*! @{ */
  68099. #define PWM_FRACVAL3_FRACVAL3_MASK (0xF800U)
  68100. #define PWM_FRACVAL3_FRACVAL3_SHIFT (11U)
  68101. /*! FRACVAL3 - Fractional Value 3
  68102. */
  68103. #define PWM_FRACVAL3_FRACVAL3(x) (((uint16_t)(((uint16_t)(x)) << PWM_FRACVAL3_FRACVAL3_SHIFT)) & PWM_FRACVAL3_FRACVAL3_MASK)
  68104. /*! @} */
  68105. /* The count of PWM_FRACVAL3 */
  68106. #define PWM_FRACVAL3_COUNT (4U)
  68107. /*! @name VAL3 - Value Register 3 */
  68108. /*! @{ */
  68109. #define PWM_VAL3_VAL3_MASK (0xFFFFU)
  68110. #define PWM_VAL3_VAL3_SHIFT (0U)
  68111. /*! VAL3 - Value Register 3
  68112. */
  68113. #define PWM_VAL3_VAL3(x) (((uint16_t)(((uint16_t)(x)) << PWM_VAL3_VAL3_SHIFT)) & PWM_VAL3_VAL3_MASK)
  68114. /*! @} */
  68115. /* The count of PWM_VAL3 */
  68116. #define PWM_VAL3_COUNT (4U)
  68117. /*! @name FRACVAL4 - Fractional Value Register 4 */
  68118. /*! @{ */
  68119. #define PWM_FRACVAL4_FRACVAL4_MASK (0xF800U)
  68120. #define PWM_FRACVAL4_FRACVAL4_SHIFT (11U)
  68121. /*! FRACVAL4 - Fractional Value 4
  68122. */
  68123. #define PWM_FRACVAL4_FRACVAL4(x) (((uint16_t)(((uint16_t)(x)) << PWM_FRACVAL4_FRACVAL4_SHIFT)) & PWM_FRACVAL4_FRACVAL4_MASK)
  68124. /*! @} */
  68125. /* The count of PWM_FRACVAL4 */
  68126. #define PWM_FRACVAL4_COUNT (4U)
  68127. /*! @name VAL4 - Value Register 4 */
  68128. /*! @{ */
  68129. #define PWM_VAL4_VAL4_MASK (0xFFFFU)
  68130. #define PWM_VAL4_VAL4_SHIFT (0U)
  68131. /*! VAL4 - Value Register 4
  68132. */
  68133. #define PWM_VAL4_VAL4(x) (((uint16_t)(((uint16_t)(x)) << PWM_VAL4_VAL4_SHIFT)) & PWM_VAL4_VAL4_MASK)
  68134. /*! @} */
  68135. /* The count of PWM_VAL4 */
  68136. #define PWM_VAL4_COUNT (4U)
  68137. /*! @name FRACVAL5 - Fractional Value Register 5 */
  68138. /*! @{ */
  68139. #define PWM_FRACVAL5_FRACVAL5_MASK (0xF800U)
  68140. #define PWM_FRACVAL5_FRACVAL5_SHIFT (11U)
  68141. /*! FRACVAL5 - Fractional Value 5
  68142. */
  68143. #define PWM_FRACVAL5_FRACVAL5(x) (((uint16_t)(((uint16_t)(x)) << PWM_FRACVAL5_FRACVAL5_SHIFT)) & PWM_FRACVAL5_FRACVAL5_MASK)
  68144. /*! @} */
  68145. /* The count of PWM_FRACVAL5 */
  68146. #define PWM_FRACVAL5_COUNT (4U)
  68147. /*! @name VAL5 - Value Register 5 */
  68148. /*! @{ */
  68149. #define PWM_VAL5_VAL5_MASK (0xFFFFU)
  68150. #define PWM_VAL5_VAL5_SHIFT (0U)
  68151. /*! VAL5 - Value Register 5
  68152. */
  68153. #define PWM_VAL5_VAL5(x) (((uint16_t)(((uint16_t)(x)) << PWM_VAL5_VAL5_SHIFT)) & PWM_VAL5_VAL5_MASK)
  68154. /*! @} */
  68155. /* The count of PWM_VAL5 */
  68156. #define PWM_VAL5_COUNT (4U)
  68157. /*! @name FRCTRL - Fractional Control Register */
  68158. /*! @{ */
  68159. #define PWM_FRCTRL_FRAC1_EN_MASK (0x2U)
  68160. #define PWM_FRCTRL_FRAC1_EN_SHIFT (1U)
  68161. /*! FRAC1_EN - Fractional Cycle PWM Period Enable
  68162. * 0b0..Disable fractional cycle length for the PWM period.
  68163. * 0b1..Enable fractional cycle length for the PWM period.
  68164. */
  68165. #define PWM_FRCTRL_FRAC1_EN(x) (((uint16_t)(((uint16_t)(x)) << PWM_FRCTRL_FRAC1_EN_SHIFT)) & PWM_FRCTRL_FRAC1_EN_MASK)
  68166. #define PWM_FRCTRL_FRAC23_EN_MASK (0x4U)
  68167. #define PWM_FRCTRL_FRAC23_EN_SHIFT (2U)
  68168. /*! FRAC23_EN - Fractional Cycle Placement Enable for PWM_A
  68169. * 0b0..Disable fractional cycle placement for PWM_A.
  68170. * 0b1..Enable fractional cycle placement for PWM_A.
  68171. */
  68172. #define PWM_FRCTRL_FRAC23_EN(x) (((uint16_t)(((uint16_t)(x)) << PWM_FRCTRL_FRAC23_EN_SHIFT)) & PWM_FRCTRL_FRAC23_EN_MASK)
  68173. #define PWM_FRCTRL_FRAC45_EN_MASK (0x10U)
  68174. #define PWM_FRCTRL_FRAC45_EN_SHIFT (4U)
  68175. /*! FRAC45_EN - Fractional Cycle Placement Enable for PWM_B
  68176. * 0b0..Disable fractional cycle placement for PWM_B.
  68177. * 0b1..Enable fractional cycle placement for PWM_B.
  68178. */
  68179. #define PWM_FRCTRL_FRAC45_EN(x) (((uint16_t)(((uint16_t)(x)) << PWM_FRCTRL_FRAC45_EN_SHIFT)) & PWM_FRCTRL_FRAC45_EN_MASK)
  68180. #define PWM_FRCTRL_TEST_MASK (0x8000U)
  68181. #define PWM_FRCTRL_TEST_SHIFT (15U)
  68182. /*! TEST - Test Status Bit
  68183. */
  68184. #define PWM_FRCTRL_TEST(x) (((uint16_t)(((uint16_t)(x)) << PWM_FRCTRL_TEST_SHIFT)) & PWM_FRCTRL_TEST_MASK)
  68185. /*! @} */
  68186. /* The count of PWM_FRCTRL */
  68187. #define PWM_FRCTRL_COUNT (4U)
  68188. /*! @name OCTRL - Output Control Register */
  68189. /*! @{ */
  68190. #define PWM_OCTRL_PWMXFS_MASK (0x3U)
  68191. #define PWM_OCTRL_PWMXFS_SHIFT (0U)
  68192. /*! PWMXFS - PWM_X Fault State
  68193. * 0b00..Output is forced to logic 0 state prior to consideration of output polarity control.
  68194. * 0b01..Output is forced to logic 1 state prior to consideration of output polarity control.
  68195. * 0b10, 0b11..Output is tristated.
  68196. */
  68197. #define PWM_OCTRL_PWMXFS(x) (((uint16_t)(((uint16_t)(x)) << PWM_OCTRL_PWMXFS_SHIFT)) & PWM_OCTRL_PWMXFS_MASK)
  68198. #define PWM_OCTRL_PWMBFS_MASK (0xCU)
  68199. #define PWM_OCTRL_PWMBFS_SHIFT (2U)
  68200. /*! PWMBFS - PWM_B Fault State
  68201. * 0b00..Output is forced to logic 0 state prior to consideration of output polarity control.
  68202. * 0b01..Output is forced to logic 1 state prior to consideration of output polarity control.
  68203. * 0b10, 0b11..Output is tristated.
  68204. */
  68205. #define PWM_OCTRL_PWMBFS(x) (((uint16_t)(((uint16_t)(x)) << PWM_OCTRL_PWMBFS_SHIFT)) & PWM_OCTRL_PWMBFS_MASK)
  68206. #define PWM_OCTRL_PWMAFS_MASK (0x30U)
  68207. #define PWM_OCTRL_PWMAFS_SHIFT (4U)
  68208. /*! PWMAFS - PWM_A Fault State
  68209. * 0b00..Output is forced to logic 0 state prior to consideration of output polarity control.
  68210. * 0b01..Output is forced to logic 1 state prior to consideration of output polarity control.
  68211. * 0b10, 0b11..Output is tristated.
  68212. */
  68213. #define PWM_OCTRL_PWMAFS(x) (((uint16_t)(((uint16_t)(x)) << PWM_OCTRL_PWMAFS_SHIFT)) & PWM_OCTRL_PWMAFS_MASK)
  68214. #define PWM_OCTRL_POLX_MASK (0x100U)
  68215. #define PWM_OCTRL_POLX_SHIFT (8U)
  68216. /*! POLX - PWM_X Output Polarity
  68217. * 0b0..PWM_X output not inverted. A high level on the PWM_X pin represents the "on" or "active" state.
  68218. * 0b1..PWM_X output inverted. A low level on the PWM_X pin represents the "on" or "active" state.
  68219. */
  68220. #define PWM_OCTRL_POLX(x) (((uint16_t)(((uint16_t)(x)) << PWM_OCTRL_POLX_SHIFT)) & PWM_OCTRL_POLX_MASK)
  68221. #define PWM_OCTRL_POLB_MASK (0x200U)
  68222. #define PWM_OCTRL_POLB_SHIFT (9U)
  68223. /*! POLB - PWM_B Output Polarity
  68224. * 0b0..PWM_B output not inverted. A high level on the PWM_B pin represents the "on" or "active" state.
  68225. * 0b1..PWM_B output inverted. A low level on the PWM_B pin represents the "on" or "active" state.
  68226. */
  68227. #define PWM_OCTRL_POLB(x) (((uint16_t)(((uint16_t)(x)) << PWM_OCTRL_POLB_SHIFT)) & PWM_OCTRL_POLB_MASK)
  68228. #define PWM_OCTRL_POLA_MASK (0x400U)
  68229. #define PWM_OCTRL_POLA_SHIFT (10U)
  68230. /*! POLA - PWM_A Output Polarity
  68231. * 0b0..PWM_A output not inverted. A high level on the PWM_A pin represents the "on" or "active" state.
  68232. * 0b1..PWM_A output inverted. A low level on the PWM_A pin represents the "on" or "active" state.
  68233. */
  68234. #define PWM_OCTRL_POLA(x) (((uint16_t)(((uint16_t)(x)) << PWM_OCTRL_POLA_SHIFT)) & PWM_OCTRL_POLA_MASK)
  68235. #define PWM_OCTRL_PWMX_IN_MASK (0x2000U)
  68236. #define PWM_OCTRL_PWMX_IN_SHIFT (13U)
  68237. /*! PWMX_IN - PWM_X Input
  68238. */
  68239. #define PWM_OCTRL_PWMX_IN(x) (((uint16_t)(((uint16_t)(x)) << PWM_OCTRL_PWMX_IN_SHIFT)) & PWM_OCTRL_PWMX_IN_MASK)
  68240. #define PWM_OCTRL_PWMB_IN_MASK (0x4000U)
  68241. #define PWM_OCTRL_PWMB_IN_SHIFT (14U)
  68242. /*! PWMB_IN - PWM_B Input
  68243. */
  68244. #define PWM_OCTRL_PWMB_IN(x) (((uint16_t)(((uint16_t)(x)) << PWM_OCTRL_PWMB_IN_SHIFT)) & PWM_OCTRL_PWMB_IN_MASK)
  68245. #define PWM_OCTRL_PWMA_IN_MASK (0x8000U)
  68246. #define PWM_OCTRL_PWMA_IN_SHIFT (15U)
  68247. /*! PWMA_IN - PWM_A Input
  68248. */
  68249. #define PWM_OCTRL_PWMA_IN(x) (((uint16_t)(((uint16_t)(x)) << PWM_OCTRL_PWMA_IN_SHIFT)) & PWM_OCTRL_PWMA_IN_MASK)
  68250. /*! @} */
  68251. /* The count of PWM_OCTRL */
  68252. #define PWM_OCTRL_COUNT (4U)
  68253. /*! @name STS - Status Register */
  68254. /*! @{ */
  68255. #define PWM_STS_CMPF_MASK (0x3FU)
  68256. #define PWM_STS_CMPF_SHIFT (0U)
  68257. /*! CMPF - Compare Flags
  68258. * 0b000000..No compare event has occurred for a particular VALx value.
  68259. * 0b000001..A compare event has occurred for a particular VALx value.
  68260. */
  68261. #define PWM_STS_CMPF(x) (((uint16_t)(((uint16_t)(x)) << PWM_STS_CMPF_SHIFT)) & PWM_STS_CMPF_MASK)
  68262. #define PWM_STS_CFX0_MASK (0x40U)
  68263. #define PWM_STS_CFX0_SHIFT (6U)
  68264. /*! CFX0 - Capture Flag X0
  68265. */
  68266. #define PWM_STS_CFX0(x) (((uint16_t)(((uint16_t)(x)) << PWM_STS_CFX0_SHIFT)) & PWM_STS_CFX0_MASK)
  68267. #define PWM_STS_CFX1_MASK (0x80U)
  68268. #define PWM_STS_CFX1_SHIFT (7U)
  68269. /*! CFX1 - Capture Flag X1
  68270. */
  68271. #define PWM_STS_CFX1(x) (((uint16_t)(((uint16_t)(x)) << PWM_STS_CFX1_SHIFT)) & PWM_STS_CFX1_MASK)
  68272. #define PWM_STS_CFB0_MASK (0x100U)
  68273. #define PWM_STS_CFB0_SHIFT (8U)
  68274. /*! CFB0 - Capture Flag B0
  68275. */
  68276. #define PWM_STS_CFB0(x) (((uint16_t)(((uint16_t)(x)) << PWM_STS_CFB0_SHIFT)) & PWM_STS_CFB0_MASK)
  68277. #define PWM_STS_CFB1_MASK (0x200U)
  68278. #define PWM_STS_CFB1_SHIFT (9U)
  68279. /*! CFB1 - Capture Flag B1
  68280. */
  68281. #define PWM_STS_CFB1(x) (((uint16_t)(((uint16_t)(x)) << PWM_STS_CFB1_SHIFT)) & PWM_STS_CFB1_MASK)
  68282. #define PWM_STS_CFA0_MASK (0x400U)
  68283. #define PWM_STS_CFA0_SHIFT (10U)
  68284. /*! CFA0 - Capture Flag A0
  68285. */
  68286. #define PWM_STS_CFA0(x) (((uint16_t)(((uint16_t)(x)) << PWM_STS_CFA0_SHIFT)) & PWM_STS_CFA0_MASK)
  68287. #define PWM_STS_CFA1_MASK (0x800U)
  68288. #define PWM_STS_CFA1_SHIFT (11U)
  68289. /*! CFA1 - Capture Flag A1
  68290. */
  68291. #define PWM_STS_CFA1(x) (((uint16_t)(((uint16_t)(x)) << PWM_STS_CFA1_SHIFT)) & PWM_STS_CFA1_MASK)
  68292. #define PWM_STS_RF_MASK (0x1000U)
  68293. #define PWM_STS_RF_SHIFT (12U)
  68294. /*! RF - Reload Flag
  68295. * 0b0..No new reload cycle since last STS[RF] clearing
  68296. * 0b1..New reload cycle since last STS[RF] clearing
  68297. */
  68298. #define PWM_STS_RF(x) (((uint16_t)(((uint16_t)(x)) << PWM_STS_RF_SHIFT)) & PWM_STS_RF_MASK)
  68299. #define PWM_STS_REF_MASK (0x2000U)
  68300. #define PWM_STS_REF_SHIFT (13U)
  68301. /*! REF - Reload Error Flag
  68302. * 0b0..No reload error occurred.
  68303. * 0b1..Reload signal occurred with non-coherent data and MCTRL[LDOK] = 0.
  68304. */
  68305. #define PWM_STS_REF(x) (((uint16_t)(((uint16_t)(x)) << PWM_STS_REF_SHIFT)) & PWM_STS_REF_MASK)
  68306. #define PWM_STS_RUF_MASK (0x4000U)
  68307. #define PWM_STS_RUF_SHIFT (14U)
  68308. /*! RUF - Registers Updated Flag
  68309. * 0b0..No register update has occurred since last reload.
  68310. * 0b1..At least one of the double buffered registers has been updated since the last reload.
  68311. */
  68312. #define PWM_STS_RUF(x) (((uint16_t)(((uint16_t)(x)) << PWM_STS_RUF_SHIFT)) & PWM_STS_RUF_MASK)
  68313. /*! @} */
  68314. /* The count of PWM_STS */
  68315. #define PWM_STS_COUNT (4U)
  68316. /*! @name INTEN - Interrupt Enable Register */
  68317. /*! @{ */
  68318. #define PWM_INTEN_CMPIE_MASK (0x3FU)
  68319. #define PWM_INTEN_CMPIE_SHIFT (0U)
  68320. /*! CMPIE - Compare Interrupt Enables
  68321. * 0b000000..The corresponding STS[CMPF] bit will not cause an interrupt request.
  68322. * 0b000001..The corresponding STS[CMPF] bit will cause an interrupt request.
  68323. */
  68324. #define PWM_INTEN_CMPIE(x) (((uint16_t)(((uint16_t)(x)) << PWM_INTEN_CMPIE_SHIFT)) & PWM_INTEN_CMPIE_MASK)
  68325. #define PWM_INTEN_CX0IE_MASK (0x40U)
  68326. #define PWM_INTEN_CX0IE_SHIFT (6U)
  68327. /*! CX0IE - Capture X 0 Interrupt Enable
  68328. * 0b0..Interrupt request disabled for STS[CFX0].
  68329. * 0b1..Interrupt request enabled for STS[CFX0].
  68330. */
  68331. #define PWM_INTEN_CX0IE(x) (((uint16_t)(((uint16_t)(x)) << PWM_INTEN_CX0IE_SHIFT)) & PWM_INTEN_CX0IE_MASK)
  68332. #define PWM_INTEN_CX1IE_MASK (0x80U)
  68333. #define PWM_INTEN_CX1IE_SHIFT (7U)
  68334. /*! CX1IE - Capture X 1 Interrupt Enable
  68335. * 0b0..Interrupt request disabled for STS[CFX1].
  68336. * 0b1..Interrupt request enabled for STS[CFX1].
  68337. */
  68338. #define PWM_INTEN_CX1IE(x) (((uint16_t)(((uint16_t)(x)) << PWM_INTEN_CX1IE_SHIFT)) & PWM_INTEN_CX1IE_MASK)
  68339. #define PWM_INTEN_CB0IE_MASK (0x100U)
  68340. #define PWM_INTEN_CB0IE_SHIFT (8U)
  68341. /*! CB0IE - Capture B 0 Interrupt Enable
  68342. * 0b0..Interrupt request disabled for STS[CFB0].
  68343. * 0b1..Interrupt request enabled for STS[CFB0].
  68344. */
  68345. #define PWM_INTEN_CB0IE(x) (((uint16_t)(((uint16_t)(x)) << PWM_INTEN_CB0IE_SHIFT)) & PWM_INTEN_CB0IE_MASK)
  68346. #define PWM_INTEN_CB1IE_MASK (0x200U)
  68347. #define PWM_INTEN_CB1IE_SHIFT (9U)
  68348. /*! CB1IE - Capture B 1 Interrupt Enable
  68349. * 0b0..Interrupt request disabled for STS[CFB1].
  68350. * 0b1..Interrupt request enabled for STS[CFB1].
  68351. */
  68352. #define PWM_INTEN_CB1IE(x) (((uint16_t)(((uint16_t)(x)) << PWM_INTEN_CB1IE_SHIFT)) & PWM_INTEN_CB1IE_MASK)
  68353. #define PWM_INTEN_CA0IE_MASK (0x400U)
  68354. #define PWM_INTEN_CA0IE_SHIFT (10U)
  68355. /*! CA0IE - Capture A 0 Interrupt Enable
  68356. * 0b0..Interrupt request disabled for STS[CFA0].
  68357. * 0b1..Interrupt request enabled for STS[CFA0].
  68358. */
  68359. #define PWM_INTEN_CA0IE(x) (((uint16_t)(((uint16_t)(x)) << PWM_INTEN_CA0IE_SHIFT)) & PWM_INTEN_CA0IE_MASK)
  68360. #define PWM_INTEN_CA1IE_MASK (0x800U)
  68361. #define PWM_INTEN_CA1IE_SHIFT (11U)
  68362. /*! CA1IE - Capture A 1 Interrupt Enable
  68363. * 0b0..Interrupt request disabled for STS[CFA1].
  68364. * 0b1..Interrupt request enabled for STS[CFA1].
  68365. */
  68366. #define PWM_INTEN_CA1IE(x) (((uint16_t)(((uint16_t)(x)) << PWM_INTEN_CA1IE_SHIFT)) & PWM_INTEN_CA1IE_MASK)
  68367. #define PWM_INTEN_RIE_MASK (0x1000U)
  68368. #define PWM_INTEN_RIE_SHIFT (12U)
  68369. /*! RIE - Reload Interrupt Enable
  68370. * 0b0..STS[RF] CPU interrupt requests disabled
  68371. * 0b1..STS[RF] CPU interrupt requests enabled
  68372. */
  68373. #define PWM_INTEN_RIE(x) (((uint16_t)(((uint16_t)(x)) << PWM_INTEN_RIE_SHIFT)) & PWM_INTEN_RIE_MASK)
  68374. #define PWM_INTEN_REIE_MASK (0x2000U)
  68375. #define PWM_INTEN_REIE_SHIFT (13U)
  68376. /*! REIE - Reload Error Interrupt Enable
  68377. * 0b0..STS[REF] CPU interrupt requests disabled
  68378. * 0b1..STS[REF] CPU interrupt requests enabled
  68379. */
  68380. #define PWM_INTEN_REIE(x) (((uint16_t)(((uint16_t)(x)) << PWM_INTEN_REIE_SHIFT)) & PWM_INTEN_REIE_MASK)
  68381. /*! @} */
  68382. /* The count of PWM_INTEN */
  68383. #define PWM_INTEN_COUNT (4U)
  68384. /*! @name DMAEN - DMA Enable Register */
  68385. /*! @{ */
  68386. #define PWM_DMAEN_CX0DE_MASK (0x1U)
  68387. #define PWM_DMAEN_CX0DE_SHIFT (0U)
  68388. /*! CX0DE - Capture X0 FIFO DMA Enable
  68389. */
  68390. #define PWM_DMAEN_CX0DE(x) (((uint16_t)(((uint16_t)(x)) << PWM_DMAEN_CX0DE_SHIFT)) & PWM_DMAEN_CX0DE_MASK)
  68391. #define PWM_DMAEN_CX1DE_MASK (0x2U)
  68392. #define PWM_DMAEN_CX1DE_SHIFT (1U)
  68393. /*! CX1DE - Capture X1 FIFO DMA Enable
  68394. */
  68395. #define PWM_DMAEN_CX1DE(x) (((uint16_t)(((uint16_t)(x)) << PWM_DMAEN_CX1DE_SHIFT)) & PWM_DMAEN_CX1DE_MASK)
  68396. #define PWM_DMAEN_CB0DE_MASK (0x4U)
  68397. #define PWM_DMAEN_CB0DE_SHIFT (2U)
  68398. /*! CB0DE - Capture B0 FIFO DMA Enable
  68399. */
  68400. #define PWM_DMAEN_CB0DE(x) (((uint16_t)(((uint16_t)(x)) << PWM_DMAEN_CB0DE_SHIFT)) & PWM_DMAEN_CB0DE_MASK)
  68401. #define PWM_DMAEN_CB1DE_MASK (0x8U)
  68402. #define PWM_DMAEN_CB1DE_SHIFT (3U)
  68403. /*! CB1DE - Capture B1 FIFO DMA Enable
  68404. */
  68405. #define PWM_DMAEN_CB1DE(x) (((uint16_t)(((uint16_t)(x)) << PWM_DMAEN_CB1DE_SHIFT)) & PWM_DMAEN_CB1DE_MASK)
  68406. #define PWM_DMAEN_CA0DE_MASK (0x10U)
  68407. #define PWM_DMAEN_CA0DE_SHIFT (4U)
  68408. /*! CA0DE - Capture A0 FIFO DMA Enable
  68409. */
  68410. #define PWM_DMAEN_CA0DE(x) (((uint16_t)(((uint16_t)(x)) << PWM_DMAEN_CA0DE_SHIFT)) & PWM_DMAEN_CA0DE_MASK)
  68411. #define PWM_DMAEN_CA1DE_MASK (0x20U)
  68412. #define PWM_DMAEN_CA1DE_SHIFT (5U)
  68413. /*! CA1DE - Capture A1 FIFO DMA Enable
  68414. */
  68415. #define PWM_DMAEN_CA1DE(x) (((uint16_t)(((uint16_t)(x)) << PWM_DMAEN_CA1DE_SHIFT)) & PWM_DMAEN_CA1DE_MASK)
  68416. #define PWM_DMAEN_CAPTDE_MASK (0xC0U)
  68417. #define PWM_DMAEN_CAPTDE_SHIFT (6U)
  68418. /*! CAPTDE - Capture DMA Enable Source Select
  68419. * 0b00..Read DMA requests disabled.
  68420. * 0b01..Exceeding a FIFO watermark sets the DMA read request. This requires at least one of DMAEN[CA1DE],
  68421. * DMAEN[CA0DE], DMAEN[CB1DE], DMAEN[CB0DE], DMAEN[CX1DE], or DMAEN[CX0DE] to also be set in order to determine to
  68422. * which watermark(s) the DMA request is sensitive.
  68423. * 0b10..A local sync (VAL1 matches counter) sets the read DMA request.
  68424. * 0b11..A local reload (STS[RF] being set) sets the read DMA request.
  68425. */
  68426. #define PWM_DMAEN_CAPTDE(x) (((uint16_t)(((uint16_t)(x)) << PWM_DMAEN_CAPTDE_SHIFT)) & PWM_DMAEN_CAPTDE_MASK)
  68427. #define PWM_DMAEN_FAND_MASK (0x100U)
  68428. #define PWM_DMAEN_FAND_SHIFT (8U)
  68429. /*! FAND - FIFO Watermark AND Control
  68430. * 0b0..Selected FIFO watermarks are OR'ed together.
  68431. * 0b1..Selected FIFO watermarks are AND'ed together.
  68432. */
  68433. #define PWM_DMAEN_FAND(x) (((uint16_t)(((uint16_t)(x)) << PWM_DMAEN_FAND_SHIFT)) & PWM_DMAEN_FAND_MASK)
  68434. #define PWM_DMAEN_VALDE_MASK (0x200U)
  68435. #define PWM_DMAEN_VALDE_SHIFT (9U)
  68436. /*! VALDE - Value Registers DMA Enable
  68437. * 0b0..DMA write requests disabled
  68438. * 0b1..Enabled
  68439. */
  68440. #define PWM_DMAEN_VALDE(x) (((uint16_t)(((uint16_t)(x)) << PWM_DMAEN_VALDE_SHIFT)) & PWM_DMAEN_VALDE_MASK)
  68441. /*! @} */
  68442. /* The count of PWM_DMAEN */
  68443. #define PWM_DMAEN_COUNT (4U)
  68444. /*! @name TCTRL - Output Trigger Control Register */
  68445. /*! @{ */
  68446. #define PWM_TCTRL_OUT_TRIG_EN_MASK (0x3FU)
  68447. #define PWM_TCTRL_OUT_TRIG_EN_SHIFT (0U)
  68448. /*! OUT_TRIG_EN - Output Trigger Enables
  68449. * 0bxxxxx1..PWM_OUT_TRIG0 will set when the counter value matches the VAL0 value.
  68450. * 0bxxxx1x..PWM_OUT_TRIG1 will set when the counter value matches the VAL1 value.
  68451. * 0bxxx1xx..PWM_OUT_TRIG0 will set when the counter value matches the VAL2 value.
  68452. * 0bxx1xxx..PWM_OUT_TRIG1 will set when the counter value matches the VAL3 value.
  68453. * 0bx1xxxx..PWM_OUT_TRIG0 will set when the counter value matches the VAL4 value.
  68454. * 0b1xxxxx..PWM_OUT_TRIG1 will set when the counter value matches the VAL5 value.
  68455. */
  68456. #define PWM_TCTRL_OUT_TRIG_EN(x) (((uint16_t)(((uint16_t)(x)) << PWM_TCTRL_OUT_TRIG_EN_SHIFT)) & PWM_TCTRL_OUT_TRIG_EN_MASK)
  68457. #define PWM_TCTRL_TRGFRQ_MASK (0x1000U)
  68458. #define PWM_TCTRL_TRGFRQ_SHIFT (12U)
  68459. /*! TRGFRQ - Trigger frequency
  68460. * 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.
  68461. * 0b1..Trigger outputs are generated only during the final PWM period prior to a reload opportunity when the PWM
  68462. * is not reloaded every period due to CTRL[LDFQ] being non-zero.
  68463. */
  68464. #define PWM_TCTRL_TRGFRQ(x) (((uint16_t)(((uint16_t)(x)) << PWM_TCTRL_TRGFRQ_SHIFT)) & PWM_TCTRL_TRGFRQ_MASK)
  68465. #define PWM_TCTRL_PWBOT1_MASK (0x4000U)
  68466. #define PWM_TCTRL_PWBOT1_SHIFT (14U)
  68467. /*! PWBOT1 - Output Trigger 1 Source Select
  68468. * 0b0..Route the PWM_OUT_TRIG1 signal to PWM_OUT_TRIG1 port.
  68469. * 0b1..Route the PWMB output to the PWM_OUT_TRIG1 port.
  68470. */
  68471. #define PWM_TCTRL_PWBOT1(x) (((uint16_t)(((uint16_t)(x)) << PWM_TCTRL_PWBOT1_SHIFT)) & PWM_TCTRL_PWBOT1_MASK)
  68472. #define PWM_TCTRL_PWAOT0_MASK (0x8000U)
  68473. #define PWM_TCTRL_PWAOT0_SHIFT (15U)
  68474. /*! PWAOT0 - Output Trigger 0 Source Select
  68475. * 0b0..Route the PWM_OUT_TRIG0 signal to PWM_OUT_TRIG0 port.
  68476. * 0b1..Route the PWMA output to the PWM_OUT_TRIG0 port.
  68477. */
  68478. #define PWM_TCTRL_PWAOT0(x) (((uint16_t)(((uint16_t)(x)) << PWM_TCTRL_PWAOT0_SHIFT)) & PWM_TCTRL_PWAOT0_MASK)
  68479. /*! @} */
  68480. /* The count of PWM_TCTRL */
  68481. #define PWM_TCTRL_COUNT (4U)
  68482. /*! @name DISMAP - Fault Disable Mapping Register 0 */
  68483. /*! @{ */
  68484. #define PWM_DISMAP_DIS0A_MASK (0xFU)
  68485. #define PWM_DISMAP_DIS0A_SHIFT (0U)
  68486. /*! DIS0A - PWM_A Fault Disable Mask 0
  68487. */
  68488. #define PWM_DISMAP_DIS0A(x) (((uint16_t)(((uint16_t)(x)) << PWM_DISMAP_DIS0A_SHIFT)) & PWM_DISMAP_DIS0A_MASK)
  68489. #define PWM_DISMAP_DIS0B_MASK (0xF0U)
  68490. #define PWM_DISMAP_DIS0B_SHIFT (4U)
  68491. /*! DIS0B - PWM_B Fault Disable Mask 0
  68492. */
  68493. #define PWM_DISMAP_DIS0B(x) (((uint16_t)(((uint16_t)(x)) << PWM_DISMAP_DIS0B_SHIFT)) & PWM_DISMAP_DIS0B_MASK)
  68494. #define PWM_DISMAP_DIS0X_MASK (0xF00U)
  68495. #define PWM_DISMAP_DIS0X_SHIFT (8U)
  68496. /*! DIS0X - PWM_X Fault Disable Mask 0
  68497. */
  68498. #define PWM_DISMAP_DIS0X(x) (((uint16_t)(((uint16_t)(x)) << PWM_DISMAP_DIS0X_SHIFT)) & PWM_DISMAP_DIS0X_MASK)
  68499. /*! @} */
  68500. /* The count of PWM_DISMAP */
  68501. #define PWM_DISMAP_COUNT (4U)
  68502. /* The count of PWM_DISMAP */
  68503. #define PWM_DISMAP_COUNT2 (1U)
  68504. /*! @name DTCNT0 - Deadtime Count Register 0 */
  68505. /*! @{ */
  68506. #define PWM_DTCNT0_DTCNT0_MASK (0xFFFFU)
  68507. #define PWM_DTCNT0_DTCNT0_SHIFT (0U)
  68508. /*! DTCNT0 - DTCNT0
  68509. */
  68510. #define PWM_DTCNT0_DTCNT0(x) (((uint16_t)(((uint16_t)(x)) << PWM_DTCNT0_DTCNT0_SHIFT)) & PWM_DTCNT0_DTCNT0_MASK)
  68511. /*! @} */
  68512. /* The count of PWM_DTCNT0 */
  68513. #define PWM_DTCNT0_COUNT (4U)
  68514. /*! @name DTCNT1 - Deadtime Count Register 1 */
  68515. /*! @{ */
  68516. #define PWM_DTCNT1_DTCNT1_MASK (0xFFFFU)
  68517. #define PWM_DTCNT1_DTCNT1_SHIFT (0U)
  68518. /*! DTCNT1 - DTCNT1
  68519. */
  68520. #define PWM_DTCNT1_DTCNT1(x) (((uint16_t)(((uint16_t)(x)) << PWM_DTCNT1_DTCNT1_SHIFT)) & PWM_DTCNT1_DTCNT1_MASK)
  68521. /*! @} */
  68522. /* The count of PWM_DTCNT1 */
  68523. #define PWM_DTCNT1_COUNT (4U)
  68524. /*! @name CAPTCTRLA - Capture Control A Register */
  68525. /*! @{ */
  68526. #define PWM_CAPTCTRLA_ARMA_MASK (0x1U)
  68527. #define PWM_CAPTCTRLA_ARMA_SHIFT (0U)
  68528. /*! ARMA - Arm A
  68529. * 0b0..Input capture operation is disabled.
  68530. * 0b1..Input capture operation as specified by CAPTCTRLA[EDGAx] is enabled.
  68531. */
  68532. #define PWM_CAPTCTRLA_ARMA(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLA_ARMA_SHIFT)) & PWM_CAPTCTRLA_ARMA_MASK)
  68533. #define PWM_CAPTCTRLA_ONESHOTA_MASK (0x2U)
  68534. #define PWM_CAPTCTRLA_ONESHOTA_SHIFT (1U)
  68535. /*! ONESHOTA - One Shot Mode A
  68536. * 0b0..Free Running
  68537. * 0b1..One Shot
  68538. */
  68539. #define PWM_CAPTCTRLA_ONESHOTA(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLA_ONESHOTA_SHIFT)) & PWM_CAPTCTRLA_ONESHOTA_MASK)
  68540. #define PWM_CAPTCTRLA_EDGA0_MASK (0xCU)
  68541. #define PWM_CAPTCTRLA_EDGA0_SHIFT (2U)
  68542. /*! EDGA0 - Edge A 0
  68543. * 0b00..Disabled
  68544. * 0b01..Capture falling edges
  68545. * 0b10..Capture rising edges
  68546. * 0b11..Capture any edge
  68547. */
  68548. #define PWM_CAPTCTRLA_EDGA0(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLA_EDGA0_SHIFT)) & PWM_CAPTCTRLA_EDGA0_MASK)
  68549. #define PWM_CAPTCTRLA_EDGA1_MASK (0x30U)
  68550. #define PWM_CAPTCTRLA_EDGA1_SHIFT (4U)
  68551. /*! EDGA1 - Edge A 1
  68552. * 0b00..Disabled
  68553. * 0b01..Capture falling edges
  68554. * 0b10..Capture rising edges
  68555. * 0b11..Capture any edge
  68556. */
  68557. #define PWM_CAPTCTRLA_EDGA1(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLA_EDGA1_SHIFT)) & PWM_CAPTCTRLA_EDGA1_MASK)
  68558. #define PWM_CAPTCTRLA_INP_SELA_MASK (0x40U)
  68559. #define PWM_CAPTCTRLA_INP_SELA_SHIFT (6U)
  68560. /*! INP_SELA - Input Select A
  68561. * 0b0..Raw PWM_A input signal selected as source.
  68562. * 0b1..Edge Counter
  68563. */
  68564. #define PWM_CAPTCTRLA_INP_SELA(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLA_INP_SELA_SHIFT)) & PWM_CAPTCTRLA_INP_SELA_MASK)
  68565. #define PWM_CAPTCTRLA_EDGCNTA_EN_MASK (0x80U)
  68566. #define PWM_CAPTCTRLA_EDGCNTA_EN_SHIFT (7U)
  68567. /*! EDGCNTA_EN - Edge Counter A Enable
  68568. * 0b0..Edge counter disabled and held in reset
  68569. * 0b1..Edge counter enabled
  68570. */
  68571. #define PWM_CAPTCTRLA_EDGCNTA_EN(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLA_EDGCNTA_EN_SHIFT)) & PWM_CAPTCTRLA_EDGCNTA_EN_MASK)
  68572. #define PWM_CAPTCTRLA_CFAWM_MASK (0x300U)
  68573. #define PWM_CAPTCTRLA_CFAWM_SHIFT (8U)
  68574. /*! CFAWM - Capture A FIFOs Water Mark
  68575. */
  68576. #define PWM_CAPTCTRLA_CFAWM(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLA_CFAWM_SHIFT)) & PWM_CAPTCTRLA_CFAWM_MASK)
  68577. #define PWM_CAPTCTRLA_CA0CNT_MASK (0x1C00U)
  68578. #define PWM_CAPTCTRLA_CA0CNT_SHIFT (10U)
  68579. /*! CA0CNT - Capture A0 FIFO Word Count
  68580. */
  68581. #define PWM_CAPTCTRLA_CA0CNT(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLA_CA0CNT_SHIFT)) & PWM_CAPTCTRLA_CA0CNT_MASK)
  68582. #define PWM_CAPTCTRLA_CA1CNT_MASK (0xE000U)
  68583. #define PWM_CAPTCTRLA_CA1CNT_SHIFT (13U)
  68584. /*! CA1CNT - Capture A1 FIFO Word Count
  68585. */
  68586. #define PWM_CAPTCTRLA_CA1CNT(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLA_CA1CNT_SHIFT)) & PWM_CAPTCTRLA_CA1CNT_MASK)
  68587. /*! @} */
  68588. /* The count of PWM_CAPTCTRLA */
  68589. #define PWM_CAPTCTRLA_COUNT (4U)
  68590. /*! @name CAPTCOMPA - Capture Compare A Register */
  68591. /*! @{ */
  68592. #define PWM_CAPTCOMPA_EDGCMPA_MASK (0xFFU)
  68593. #define PWM_CAPTCOMPA_EDGCMPA_SHIFT (0U)
  68594. /*! EDGCMPA - Edge Compare A
  68595. */
  68596. #define PWM_CAPTCOMPA_EDGCMPA(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCOMPA_EDGCMPA_SHIFT)) & PWM_CAPTCOMPA_EDGCMPA_MASK)
  68597. #define PWM_CAPTCOMPA_EDGCNTA_MASK (0xFF00U)
  68598. #define PWM_CAPTCOMPA_EDGCNTA_SHIFT (8U)
  68599. /*! EDGCNTA - Edge Counter A
  68600. */
  68601. #define PWM_CAPTCOMPA_EDGCNTA(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCOMPA_EDGCNTA_SHIFT)) & PWM_CAPTCOMPA_EDGCNTA_MASK)
  68602. /*! @} */
  68603. /* The count of PWM_CAPTCOMPA */
  68604. #define PWM_CAPTCOMPA_COUNT (4U)
  68605. /*! @name CAPTCTRLB - Capture Control B Register */
  68606. /*! @{ */
  68607. #define PWM_CAPTCTRLB_ARMB_MASK (0x1U)
  68608. #define PWM_CAPTCTRLB_ARMB_SHIFT (0U)
  68609. /*! ARMB - Arm B
  68610. * 0b0..Input capture operation is disabled.
  68611. * 0b1..Input capture operation as specified by CAPTCTRLB[EDGBx] is enabled.
  68612. */
  68613. #define PWM_CAPTCTRLB_ARMB(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLB_ARMB_SHIFT)) & PWM_CAPTCTRLB_ARMB_MASK)
  68614. #define PWM_CAPTCTRLB_ONESHOTB_MASK (0x2U)
  68615. #define PWM_CAPTCTRLB_ONESHOTB_SHIFT (1U)
  68616. /*! ONESHOTB - One Shot Mode B
  68617. * 0b0..Free Running
  68618. * 0b1..One Shot
  68619. */
  68620. #define PWM_CAPTCTRLB_ONESHOTB(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLB_ONESHOTB_SHIFT)) & PWM_CAPTCTRLB_ONESHOTB_MASK)
  68621. #define PWM_CAPTCTRLB_EDGB0_MASK (0xCU)
  68622. #define PWM_CAPTCTRLB_EDGB0_SHIFT (2U)
  68623. /*! EDGB0 - Edge B 0
  68624. * 0b00..Disabled
  68625. * 0b01..Capture falling edges
  68626. * 0b10..Capture rising edges
  68627. * 0b11..Capture any edge
  68628. */
  68629. #define PWM_CAPTCTRLB_EDGB0(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLB_EDGB0_SHIFT)) & PWM_CAPTCTRLB_EDGB0_MASK)
  68630. #define PWM_CAPTCTRLB_EDGB1_MASK (0x30U)
  68631. #define PWM_CAPTCTRLB_EDGB1_SHIFT (4U)
  68632. /*! EDGB1 - Edge B 1
  68633. * 0b00..Disabled
  68634. * 0b01..Capture falling edges
  68635. * 0b10..Capture rising edges
  68636. * 0b11..Capture any edge
  68637. */
  68638. #define PWM_CAPTCTRLB_EDGB1(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLB_EDGB1_SHIFT)) & PWM_CAPTCTRLB_EDGB1_MASK)
  68639. #define PWM_CAPTCTRLB_INP_SELB_MASK (0x40U)
  68640. #define PWM_CAPTCTRLB_INP_SELB_SHIFT (6U)
  68641. /*! INP_SELB - Input Select B
  68642. * 0b0..Raw PWM_B input signal selected as source.
  68643. * 0b1..Edge Counter
  68644. */
  68645. #define PWM_CAPTCTRLB_INP_SELB(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLB_INP_SELB_SHIFT)) & PWM_CAPTCTRLB_INP_SELB_MASK)
  68646. #define PWM_CAPTCTRLB_EDGCNTB_EN_MASK (0x80U)
  68647. #define PWM_CAPTCTRLB_EDGCNTB_EN_SHIFT (7U)
  68648. /*! EDGCNTB_EN - Edge Counter B Enable
  68649. * 0b0..Edge counter disabled and held in reset
  68650. * 0b1..Edge counter enabled
  68651. */
  68652. #define PWM_CAPTCTRLB_EDGCNTB_EN(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLB_EDGCNTB_EN_SHIFT)) & PWM_CAPTCTRLB_EDGCNTB_EN_MASK)
  68653. #define PWM_CAPTCTRLB_CFBWM_MASK (0x300U)
  68654. #define PWM_CAPTCTRLB_CFBWM_SHIFT (8U)
  68655. /*! CFBWM - Capture B FIFOs Water Mark
  68656. */
  68657. #define PWM_CAPTCTRLB_CFBWM(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLB_CFBWM_SHIFT)) & PWM_CAPTCTRLB_CFBWM_MASK)
  68658. #define PWM_CAPTCTRLB_CB0CNT_MASK (0x1C00U)
  68659. #define PWM_CAPTCTRLB_CB0CNT_SHIFT (10U)
  68660. /*! CB0CNT - Capture B0 FIFO Word Count
  68661. */
  68662. #define PWM_CAPTCTRLB_CB0CNT(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLB_CB0CNT_SHIFT)) & PWM_CAPTCTRLB_CB0CNT_MASK)
  68663. #define PWM_CAPTCTRLB_CB1CNT_MASK (0xE000U)
  68664. #define PWM_CAPTCTRLB_CB1CNT_SHIFT (13U)
  68665. /*! CB1CNT - Capture B1 FIFO Word Count
  68666. */
  68667. #define PWM_CAPTCTRLB_CB1CNT(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLB_CB1CNT_SHIFT)) & PWM_CAPTCTRLB_CB1CNT_MASK)
  68668. /*! @} */
  68669. /* The count of PWM_CAPTCTRLB */
  68670. #define PWM_CAPTCTRLB_COUNT (4U)
  68671. /*! @name CAPTCOMPB - Capture Compare B Register */
  68672. /*! @{ */
  68673. #define PWM_CAPTCOMPB_EDGCMPB_MASK (0xFFU)
  68674. #define PWM_CAPTCOMPB_EDGCMPB_SHIFT (0U)
  68675. /*! EDGCMPB - Edge Compare B
  68676. */
  68677. #define PWM_CAPTCOMPB_EDGCMPB(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCOMPB_EDGCMPB_SHIFT)) & PWM_CAPTCOMPB_EDGCMPB_MASK)
  68678. #define PWM_CAPTCOMPB_EDGCNTB_MASK (0xFF00U)
  68679. #define PWM_CAPTCOMPB_EDGCNTB_SHIFT (8U)
  68680. /*! EDGCNTB - Edge Counter B
  68681. */
  68682. #define PWM_CAPTCOMPB_EDGCNTB(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCOMPB_EDGCNTB_SHIFT)) & PWM_CAPTCOMPB_EDGCNTB_MASK)
  68683. /*! @} */
  68684. /* The count of PWM_CAPTCOMPB */
  68685. #define PWM_CAPTCOMPB_COUNT (4U)
  68686. /*! @name CAPTCTRLX - Capture Control X Register */
  68687. /*! @{ */
  68688. #define PWM_CAPTCTRLX_ARMX_MASK (0x1U)
  68689. #define PWM_CAPTCTRLX_ARMX_SHIFT (0U)
  68690. /*! ARMX - Arm X
  68691. * 0b0..Input capture operation is disabled.
  68692. * 0b1..Input capture operation as specified by CAPTCTRLX[EDGXx] is enabled.
  68693. */
  68694. #define PWM_CAPTCTRLX_ARMX(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLX_ARMX_SHIFT)) & PWM_CAPTCTRLX_ARMX_MASK)
  68695. #define PWM_CAPTCTRLX_ONESHOTX_MASK (0x2U)
  68696. #define PWM_CAPTCTRLX_ONESHOTX_SHIFT (1U)
  68697. /*! ONESHOTX - One Shot Mode Aux
  68698. * 0b0..Free Running
  68699. * 0b1..One Shot
  68700. */
  68701. #define PWM_CAPTCTRLX_ONESHOTX(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLX_ONESHOTX_SHIFT)) & PWM_CAPTCTRLX_ONESHOTX_MASK)
  68702. #define PWM_CAPTCTRLX_EDGX0_MASK (0xCU)
  68703. #define PWM_CAPTCTRLX_EDGX0_SHIFT (2U)
  68704. /*! EDGX0 - Edge X 0
  68705. * 0b00..Disabled
  68706. * 0b01..Capture falling edges
  68707. * 0b10..Capture rising edges
  68708. * 0b11..Capture any edge
  68709. */
  68710. #define PWM_CAPTCTRLX_EDGX0(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLX_EDGX0_SHIFT)) & PWM_CAPTCTRLX_EDGX0_MASK)
  68711. #define PWM_CAPTCTRLX_EDGX1_MASK (0x30U)
  68712. #define PWM_CAPTCTRLX_EDGX1_SHIFT (4U)
  68713. /*! EDGX1 - Edge X 1
  68714. * 0b00..Disabled
  68715. * 0b01..Capture falling edges
  68716. * 0b10..Capture rising edges
  68717. * 0b11..Capture any edge
  68718. */
  68719. #define PWM_CAPTCTRLX_EDGX1(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLX_EDGX1_SHIFT)) & PWM_CAPTCTRLX_EDGX1_MASK)
  68720. #define PWM_CAPTCTRLX_INP_SELX_MASK (0x40U)
  68721. #define PWM_CAPTCTRLX_INP_SELX_SHIFT (6U)
  68722. /*! INP_SELX - Input Select X
  68723. * 0b0..Raw PWM_X input signal selected as source.
  68724. * 0b1..Edge Counter
  68725. */
  68726. #define PWM_CAPTCTRLX_INP_SELX(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLX_INP_SELX_SHIFT)) & PWM_CAPTCTRLX_INP_SELX_MASK)
  68727. #define PWM_CAPTCTRLX_EDGCNTX_EN_MASK (0x80U)
  68728. #define PWM_CAPTCTRLX_EDGCNTX_EN_SHIFT (7U)
  68729. /*! EDGCNTX_EN - Edge Counter X Enable
  68730. * 0b0..Edge counter disabled and held in reset
  68731. * 0b1..Edge counter enabled
  68732. */
  68733. #define PWM_CAPTCTRLX_EDGCNTX_EN(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLX_EDGCNTX_EN_SHIFT)) & PWM_CAPTCTRLX_EDGCNTX_EN_MASK)
  68734. #define PWM_CAPTCTRLX_CFXWM_MASK (0x300U)
  68735. #define PWM_CAPTCTRLX_CFXWM_SHIFT (8U)
  68736. /*! CFXWM - Capture X FIFOs Water Mark
  68737. */
  68738. #define PWM_CAPTCTRLX_CFXWM(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLX_CFXWM_SHIFT)) & PWM_CAPTCTRLX_CFXWM_MASK)
  68739. #define PWM_CAPTCTRLX_CX0CNT_MASK (0x1C00U)
  68740. #define PWM_CAPTCTRLX_CX0CNT_SHIFT (10U)
  68741. /*! CX0CNT - Capture X0 FIFO Word Count
  68742. */
  68743. #define PWM_CAPTCTRLX_CX0CNT(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLX_CX0CNT_SHIFT)) & PWM_CAPTCTRLX_CX0CNT_MASK)
  68744. #define PWM_CAPTCTRLX_CX1CNT_MASK (0xE000U)
  68745. #define PWM_CAPTCTRLX_CX1CNT_SHIFT (13U)
  68746. /*! CX1CNT - Capture X1 FIFO Word Count
  68747. */
  68748. #define PWM_CAPTCTRLX_CX1CNT(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLX_CX1CNT_SHIFT)) & PWM_CAPTCTRLX_CX1CNT_MASK)
  68749. /*! @} */
  68750. /* The count of PWM_CAPTCTRLX */
  68751. #define PWM_CAPTCTRLX_COUNT (4U)
  68752. /*! @name CAPTCOMPX - Capture Compare X Register */
  68753. /*! @{ */
  68754. #define PWM_CAPTCOMPX_EDGCMPX_MASK (0xFFU)
  68755. #define PWM_CAPTCOMPX_EDGCMPX_SHIFT (0U)
  68756. /*! EDGCMPX - Edge Compare X
  68757. */
  68758. #define PWM_CAPTCOMPX_EDGCMPX(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCOMPX_EDGCMPX_SHIFT)) & PWM_CAPTCOMPX_EDGCMPX_MASK)
  68759. #define PWM_CAPTCOMPX_EDGCNTX_MASK (0xFF00U)
  68760. #define PWM_CAPTCOMPX_EDGCNTX_SHIFT (8U)
  68761. /*! EDGCNTX - Edge Counter X
  68762. */
  68763. #define PWM_CAPTCOMPX_EDGCNTX(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCOMPX_EDGCNTX_SHIFT)) & PWM_CAPTCOMPX_EDGCNTX_MASK)
  68764. /*! @} */
  68765. /* The count of PWM_CAPTCOMPX */
  68766. #define PWM_CAPTCOMPX_COUNT (4U)
  68767. /*! @name CVAL0 - Capture Value 0 Register */
  68768. /*! @{ */
  68769. #define PWM_CVAL0_CAPTVAL0_MASK (0xFFFFU)
  68770. #define PWM_CVAL0_CAPTVAL0_SHIFT (0U)
  68771. /*! CAPTVAL0 - CAPTVAL0
  68772. */
  68773. #define PWM_CVAL0_CAPTVAL0(x) (((uint16_t)(((uint16_t)(x)) << PWM_CVAL0_CAPTVAL0_SHIFT)) & PWM_CVAL0_CAPTVAL0_MASK)
  68774. /*! @} */
  68775. /* The count of PWM_CVAL0 */
  68776. #define PWM_CVAL0_COUNT (4U)
  68777. /*! @name CVAL0CYC - Capture Value 0 Cycle Register */
  68778. /*! @{ */
  68779. #define PWM_CVAL0CYC_CVAL0CYC_MASK (0xFU)
  68780. #define PWM_CVAL0CYC_CVAL0CYC_SHIFT (0U)
  68781. /*! CVAL0CYC - CVAL0CYC
  68782. */
  68783. #define PWM_CVAL0CYC_CVAL0CYC(x) (((uint16_t)(((uint16_t)(x)) << PWM_CVAL0CYC_CVAL0CYC_SHIFT)) & PWM_CVAL0CYC_CVAL0CYC_MASK)
  68784. /*! @} */
  68785. /* The count of PWM_CVAL0CYC */
  68786. #define PWM_CVAL0CYC_COUNT (4U)
  68787. /*! @name CVAL1 - Capture Value 1 Register */
  68788. /*! @{ */
  68789. #define PWM_CVAL1_CAPTVAL1_MASK (0xFFFFU)
  68790. #define PWM_CVAL1_CAPTVAL1_SHIFT (0U)
  68791. /*! CAPTVAL1 - CAPTVAL1
  68792. */
  68793. #define PWM_CVAL1_CAPTVAL1(x) (((uint16_t)(((uint16_t)(x)) << PWM_CVAL1_CAPTVAL1_SHIFT)) & PWM_CVAL1_CAPTVAL1_MASK)
  68794. /*! @} */
  68795. /* The count of PWM_CVAL1 */
  68796. #define PWM_CVAL1_COUNT (4U)
  68797. /*! @name CVAL1CYC - Capture Value 1 Cycle Register */
  68798. /*! @{ */
  68799. #define PWM_CVAL1CYC_CVAL1CYC_MASK (0xFU)
  68800. #define PWM_CVAL1CYC_CVAL1CYC_SHIFT (0U)
  68801. /*! CVAL1CYC - CVAL1CYC
  68802. */
  68803. #define PWM_CVAL1CYC_CVAL1CYC(x) (((uint16_t)(((uint16_t)(x)) << PWM_CVAL1CYC_CVAL1CYC_SHIFT)) & PWM_CVAL1CYC_CVAL1CYC_MASK)
  68804. /*! @} */
  68805. /* The count of PWM_CVAL1CYC */
  68806. #define PWM_CVAL1CYC_COUNT (4U)
  68807. /*! @name CVAL2 - Capture Value 2 Register */
  68808. /*! @{ */
  68809. #define PWM_CVAL2_CAPTVAL2_MASK (0xFFFFU)
  68810. #define PWM_CVAL2_CAPTVAL2_SHIFT (0U)
  68811. /*! CAPTVAL2 - CAPTVAL2
  68812. */
  68813. #define PWM_CVAL2_CAPTVAL2(x) (((uint16_t)(((uint16_t)(x)) << PWM_CVAL2_CAPTVAL2_SHIFT)) & PWM_CVAL2_CAPTVAL2_MASK)
  68814. /*! @} */
  68815. /* The count of PWM_CVAL2 */
  68816. #define PWM_CVAL2_COUNT (4U)
  68817. /*! @name CVAL2CYC - Capture Value 2 Cycle Register */
  68818. /*! @{ */
  68819. #define PWM_CVAL2CYC_CVAL2CYC_MASK (0xFU)
  68820. #define PWM_CVAL2CYC_CVAL2CYC_SHIFT (0U)
  68821. /*! CVAL2CYC - CVAL2CYC
  68822. */
  68823. #define PWM_CVAL2CYC_CVAL2CYC(x) (((uint16_t)(((uint16_t)(x)) << PWM_CVAL2CYC_CVAL2CYC_SHIFT)) & PWM_CVAL2CYC_CVAL2CYC_MASK)
  68824. /*! @} */
  68825. /* The count of PWM_CVAL2CYC */
  68826. #define PWM_CVAL2CYC_COUNT (4U)
  68827. /*! @name CVAL3 - Capture Value 3 Register */
  68828. /*! @{ */
  68829. #define PWM_CVAL3_CAPTVAL3_MASK (0xFFFFU)
  68830. #define PWM_CVAL3_CAPTVAL3_SHIFT (0U)
  68831. /*! CAPTVAL3 - CAPTVAL3
  68832. */
  68833. #define PWM_CVAL3_CAPTVAL3(x) (((uint16_t)(((uint16_t)(x)) << PWM_CVAL3_CAPTVAL3_SHIFT)) & PWM_CVAL3_CAPTVAL3_MASK)
  68834. /*! @} */
  68835. /* The count of PWM_CVAL3 */
  68836. #define PWM_CVAL3_COUNT (4U)
  68837. /*! @name CVAL3CYC - Capture Value 3 Cycle Register */
  68838. /*! @{ */
  68839. #define PWM_CVAL3CYC_CVAL3CYC_MASK (0xFU)
  68840. #define PWM_CVAL3CYC_CVAL3CYC_SHIFT (0U)
  68841. /*! CVAL3CYC - CVAL3CYC
  68842. */
  68843. #define PWM_CVAL3CYC_CVAL3CYC(x) (((uint16_t)(((uint16_t)(x)) << PWM_CVAL3CYC_CVAL3CYC_SHIFT)) & PWM_CVAL3CYC_CVAL3CYC_MASK)
  68844. /*! @} */
  68845. /* The count of PWM_CVAL3CYC */
  68846. #define PWM_CVAL3CYC_COUNT (4U)
  68847. /*! @name CVAL4 - Capture Value 4 Register */
  68848. /*! @{ */
  68849. #define PWM_CVAL4_CAPTVAL4_MASK (0xFFFFU)
  68850. #define PWM_CVAL4_CAPTVAL4_SHIFT (0U)
  68851. /*! CAPTVAL4 - CAPTVAL4
  68852. */
  68853. #define PWM_CVAL4_CAPTVAL4(x) (((uint16_t)(((uint16_t)(x)) << PWM_CVAL4_CAPTVAL4_SHIFT)) & PWM_CVAL4_CAPTVAL4_MASK)
  68854. /*! @} */
  68855. /* The count of PWM_CVAL4 */
  68856. #define PWM_CVAL4_COUNT (4U)
  68857. /*! @name CVAL4CYC - Capture Value 4 Cycle Register */
  68858. /*! @{ */
  68859. #define PWM_CVAL4CYC_CVAL4CYC_MASK (0xFU)
  68860. #define PWM_CVAL4CYC_CVAL4CYC_SHIFT (0U)
  68861. /*! CVAL4CYC - CVAL4CYC
  68862. */
  68863. #define PWM_CVAL4CYC_CVAL4CYC(x) (((uint16_t)(((uint16_t)(x)) << PWM_CVAL4CYC_CVAL4CYC_SHIFT)) & PWM_CVAL4CYC_CVAL4CYC_MASK)
  68864. /*! @} */
  68865. /* The count of PWM_CVAL4CYC */
  68866. #define PWM_CVAL4CYC_COUNT (4U)
  68867. /*! @name CVAL5 - Capture Value 5 Register */
  68868. /*! @{ */
  68869. #define PWM_CVAL5_CAPTVAL5_MASK (0xFFFFU)
  68870. #define PWM_CVAL5_CAPTVAL5_SHIFT (0U)
  68871. /*! CAPTVAL5 - CAPTVAL5
  68872. */
  68873. #define PWM_CVAL5_CAPTVAL5(x) (((uint16_t)(((uint16_t)(x)) << PWM_CVAL5_CAPTVAL5_SHIFT)) & PWM_CVAL5_CAPTVAL5_MASK)
  68874. /*! @} */
  68875. /* The count of PWM_CVAL5 */
  68876. #define PWM_CVAL5_COUNT (4U)
  68877. /*! @name CVAL5CYC - Capture Value 5 Cycle Register */
  68878. /*! @{ */
  68879. #define PWM_CVAL5CYC_CVAL5CYC_MASK (0xFU)
  68880. #define PWM_CVAL5CYC_CVAL5CYC_SHIFT (0U)
  68881. /*! CVAL5CYC - CVAL5CYC
  68882. */
  68883. #define PWM_CVAL5CYC_CVAL5CYC(x) (((uint16_t)(((uint16_t)(x)) << PWM_CVAL5CYC_CVAL5CYC_SHIFT)) & PWM_CVAL5CYC_CVAL5CYC_MASK)
  68884. /*! @} */
  68885. /* The count of PWM_CVAL5CYC */
  68886. #define PWM_CVAL5CYC_COUNT (4U)
  68887. /*! @name OUTEN - Output Enable Register */
  68888. /*! @{ */
  68889. #define PWM_OUTEN_PWMX_EN_MASK (0xFU)
  68890. #define PWM_OUTEN_PWMX_EN_SHIFT (0U)
  68891. /*! PWMX_EN - PWM_X Output Enables
  68892. * 0b0000..PWM_X output disabled.
  68893. * 0b0001..PWM_X output enabled.
  68894. */
  68895. #define PWM_OUTEN_PWMX_EN(x) (((uint16_t)(((uint16_t)(x)) << PWM_OUTEN_PWMX_EN_SHIFT)) & PWM_OUTEN_PWMX_EN_MASK)
  68896. #define PWM_OUTEN_PWMB_EN_MASK (0xF0U)
  68897. #define PWM_OUTEN_PWMB_EN_SHIFT (4U)
  68898. /*! PWMB_EN - PWM_B Output Enables
  68899. * 0b0000..PWM_B output disabled.
  68900. * 0b0001..PWM_B output enabled.
  68901. */
  68902. #define PWM_OUTEN_PWMB_EN(x) (((uint16_t)(((uint16_t)(x)) << PWM_OUTEN_PWMB_EN_SHIFT)) & PWM_OUTEN_PWMB_EN_MASK)
  68903. #define PWM_OUTEN_PWMA_EN_MASK (0xF00U)
  68904. #define PWM_OUTEN_PWMA_EN_SHIFT (8U)
  68905. /*! PWMA_EN - PWM_A Output Enables
  68906. * 0b0000..PWM_A output disabled.
  68907. * 0b0001..PWM_A output enabled.
  68908. */
  68909. #define PWM_OUTEN_PWMA_EN(x) (((uint16_t)(((uint16_t)(x)) << PWM_OUTEN_PWMA_EN_SHIFT)) & PWM_OUTEN_PWMA_EN_MASK)
  68910. /*! @} */
  68911. /*! @name MASK - Mask Register */
  68912. /*! @{ */
  68913. #define PWM_MASK_MASKX_MASK (0xFU)
  68914. #define PWM_MASK_MASKX_SHIFT (0U)
  68915. /*! MASKX - PWM_X Masks
  68916. * 0b0000..PWM_X output normal.
  68917. * 0b0001..PWM_X output masked.
  68918. */
  68919. #define PWM_MASK_MASKX(x) (((uint16_t)(((uint16_t)(x)) << PWM_MASK_MASKX_SHIFT)) & PWM_MASK_MASKX_MASK)
  68920. #define PWM_MASK_MASKB_MASK (0xF0U)
  68921. #define PWM_MASK_MASKB_SHIFT (4U)
  68922. /*! MASKB - PWM_B Masks
  68923. * 0b0000..PWM_B output normal.
  68924. * 0b0001..PWM_B output masked.
  68925. */
  68926. #define PWM_MASK_MASKB(x) (((uint16_t)(((uint16_t)(x)) << PWM_MASK_MASKB_SHIFT)) & PWM_MASK_MASKB_MASK)
  68927. #define PWM_MASK_MASKA_MASK (0xF00U)
  68928. #define PWM_MASK_MASKA_SHIFT (8U)
  68929. /*! MASKA - PWM_A Masks
  68930. * 0b0000..PWM_A output normal.
  68931. * 0b0001..PWM_A output masked.
  68932. */
  68933. #define PWM_MASK_MASKA(x) (((uint16_t)(((uint16_t)(x)) << PWM_MASK_MASKA_SHIFT)) & PWM_MASK_MASKA_MASK)
  68934. /*! @} */
  68935. /*! @name SWCOUT - Software Controlled Output Register */
  68936. /*! @{ */
  68937. #define PWM_SWCOUT_SM0OUT45_MASK (0x1U)
  68938. #define PWM_SWCOUT_SM0OUT45_SHIFT (0U)
  68939. /*! SM0OUT45 - Submodule 0 Software Controlled Output 45
  68940. * 0b0..A logic 0 is supplied to the deadtime generator of submodule 0 instead of PWM45.
  68941. * 0b1..A logic 1 is supplied to the deadtime generator of submodule 0 instead of PWM45.
  68942. */
  68943. #define PWM_SWCOUT_SM0OUT45(x) (((uint16_t)(((uint16_t)(x)) << PWM_SWCOUT_SM0OUT45_SHIFT)) & PWM_SWCOUT_SM0OUT45_MASK)
  68944. #define PWM_SWCOUT_SM0OUT23_MASK (0x2U)
  68945. #define PWM_SWCOUT_SM0OUT23_SHIFT (1U)
  68946. /*! SM0OUT23 - Submodule 0 Software Controlled Output 23
  68947. * 0b0..A logic 0 is supplied to the deadtime generator of submodule 0 instead of PWM23.
  68948. * 0b1..A logic 1 is supplied to the deadtime generator of submodule 0 instead of PWM23.
  68949. */
  68950. #define PWM_SWCOUT_SM0OUT23(x) (((uint16_t)(((uint16_t)(x)) << PWM_SWCOUT_SM0OUT23_SHIFT)) & PWM_SWCOUT_SM0OUT23_MASK)
  68951. #define PWM_SWCOUT_SM1OUT45_MASK (0x4U)
  68952. #define PWM_SWCOUT_SM1OUT45_SHIFT (2U)
  68953. /*! SM1OUT45 - Submodule 1 Software Controlled Output 45
  68954. * 0b0..A logic 0 is supplied to the deadtime generator of submodule 1 instead of PWM45.
  68955. * 0b1..A logic 1 is supplied to the deadtime generator of submodule 1 instead of PWM45.
  68956. */
  68957. #define PWM_SWCOUT_SM1OUT45(x) (((uint16_t)(((uint16_t)(x)) << PWM_SWCOUT_SM1OUT45_SHIFT)) & PWM_SWCOUT_SM1OUT45_MASK)
  68958. #define PWM_SWCOUT_SM1OUT23_MASK (0x8U)
  68959. #define PWM_SWCOUT_SM1OUT23_SHIFT (3U)
  68960. /*! SM1OUT23 - Submodule 1 Software Controlled Output 23
  68961. * 0b0..A logic 0 is supplied to the deadtime generator of submodule 1 instead of PWM23.
  68962. * 0b1..A logic 1 is supplied to the deadtime generator of submodule 1 instead of PWM23.
  68963. */
  68964. #define PWM_SWCOUT_SM1OUT23(x) (((uint16_t)(((uint16_t)(x)) << PWM_SWCOUT_SM1OUT23_SHIFT)) & PWM_SWCOUT_SM1OUT23_MASK)
  68965. #define PWM_SWCOUT_SM2OUT45_MASK (0x10U)
  68966. #define PWM_SWCOUT_SM2OUT45_SHIFT (4U)
  68967. /*! SM2OUT45 - Submodule 2 Software Controlled Output 45
  68968. * 0b0..A logic 0 is supplied to the deadtime generator of submodule 2 instead of PWM45.
  68969. * 0b1..A logic 1 is supplied to the deadtime generator of submodule 2 instead of PWM45.
  68970. */
  68971. #define PWM_SWCOUT_SM2OUT45(x) (((uint16_t)(((uint16_t)(x)) << PWM_SWCOUT_SM2OUT45_SHIFT)) & PWM_SWCOUT_SM2OUT45_MASK)
  68972. #define PWM_SWCOUT_SM2OUT23_MASK (0x20U)
  68973. #define PWM_SWCOUT_SM2OUT23_SHIFT (5U)
  68974. /*! SM2OUT23 - Submodule 2 Software Controlled Output 23
  68975. * 0b0..A logic 0 is supplied to the deadtime generator of submodule 2 instead of PWM23.
  68976. * 0b1..A logic 1 is supplied to the deadtime generator of submodule 2 instead of PWM23.
  68977. */
  68978. #define PWM_SWCOUT_SM2OUT23(x) (((uint16_t)(((uint16_t)(x)) << PWM_SWCOUT_SM2OUT23_SHIFT)) & PWM_SWCOUT_SM2OUT23_MASK)
  68979. #define PWM_SWCOUT_SM3OUT45_MASK (0x40U)
  68980. #define PWM_SWCOUT_SM3OUT45_SHIFT (6U)
  68981. /*! SM3OUT45 - Submodule 3 Software Controlled Output 45
  68982. * 0b0..A logic 0 is supplied to the deadtime generator of submodule 3 instead of PWM45.
  68983. * 0b1..A logic 1 is supplied to the deadtime generator of submodule 3 instead of PWM45.
  68984. */
  68985. #define PWM_SWCOUT_SM3OUT45(x) (((uint16_t)(((uint16_t)(x)) << PWM_SWCOUT_SM3OUT45_SHIFT)) & PWM_SWCOUT_SM3OUT45_MASK)
  68986. #define PWM_SWCOUT_SM3OUT23_MASK (0x80U)
  68987. #define PWM_SWCOUT_SM3OUT23_SHIFT (7U)
  68988. /*! SM3OUT23 - Submodule 3 Software Controlled Output 23
  68989. * 0b0..A logic 0 is supplied to the deadtime generator of submodule 3 instead of PWM23.
  68990. * 0b1..A logic 1 is supplied to the deadtime generator of submodule 3 instead of PWM23.
  68991. */
  68992. #define PWM_SWCOUT_SM3OUT23(x) (((uint16_t)(((uint16_t)(x)) << PWM_SWCOUT_SM3OUT23_SHIFT)) & PWM_SWCOUT_SM3OUT23_MASK)
  68993. /*! @} */
  68994. /*! @name DTSRCSEL - PWM Source Select Register */
  68995. /*! @{ */
  68996. #define PWM_DTSRCSEL_SM0SEL45_MASK (0x3U)
  68997. #define PWM_DTSRCSEL_SM0SEL45_SHIFT (0U)
  68998. /*! SM0SEL45 - Submodule 0 PWM45 Control Select
  68999. * 0b00..Generated SM0PWM45 signal is used by the deadtime logic.
  69000. * 0b01..Inverted generated SM0PWM45 signal is used by the deadtime logic.
  69001. * 0b10..SWCOUT[SM0OUT45] is used by the deadtime logic.
  69002. * 0b11..PWM0_EXTB signal is used by the deadtime logic.
  69003. */
  69004. #define PWM_DTSRCSEL_SM0SEL45(x) (((uint16_t)(((uint16_t)(x)) << PWM_DTSRCSEL_SM0SEL45_SHIFT)) & PWM_DTSRCSEL_SM0SEL45_MASK)
  69005. #define PWM_DTSRCSEL_SM0SEL23_MASK (0xCU)
  69006. #define PWM_DTSRCSEL_SM0SEL23_SHIFT (2U)
  69007. /*! SM0SEL23 - Submodule 0 PWM23 Control Select
  69008. * 0b00..Generated SM0PWM23 signal is used by the deadtime logic.
  69009. * 0b01..Inverted generated SM0PWM23 signal is used by the deadtime logic.
  69010. * 0b10..SWCOUT[SM0OUT23] is used by the deadtime logic.
  69011. * 0b11..PWM0_EXTA signal is used by the deadtime logic.
  69012. */
  69013. #define PWM_DTSRCSEL_SM0SEL23(x) (((uint16_t)(((uint16_t)(x)) << PWM_DTSRCSEL_SM0SEL23_SHIFT)) & PWM_DTSRCSEL_SM0SEL23_MASK)
  69014. #define PWM_DTSRCSEL_SM1SEL45_MASK (0x30U)
  69015. #define PWM_DTSRCSEL_SM1SEL45_SHIFT (4U)
  69016. /*! SM1SEL45 - Submodule 1 PWM45 Control Select
  69017. * 0b00..Generated SM1PWM45 signal is used by the deadtime logic.
  69018. * 0b01..Inverted generated SM1PWM45 signal is used by the deadtime logic.
  69019. * 0b10..SWCOUT[SM1OUT45] is used by the deadtime logic.
  69020. * 0b11..PWM1_EXTB signal is used by the deadtime logic.
  69021. */
  69022. #define PWM_DTSRCSEL_SM1SEL45(x) (((uint16_t)(((uint16_t)(x)) << PWM_DTSRCSEL_SM1SEL45_SHIFT)) & PWM_DTSRCSEL_SM1SEL45_MASK)
  69023. #define PWM_DTSRCSEL_SM1SEL23_MASK (0xC0U)
  69024. #define PWM_DTSRCSEL_SM1SEL23_SHIFT (6U)
  69025. /*! SM1SEL23 - Submodule 1 PWM23 Control Select
  69026. * 0b00..Generated SM1PWM23 signal is used by the deadtime logic.
  69027. * 0b01..Inverted generated SM1PWM23 signal is used by the deadtime logic.
  69028. * 0b10..SWCOUT[SM1OUT23] is used by the deadtime logic.
  69029. * 0b11..PWM1_EXTA signal is used by the deadtime logic.
  69030. */
  69031. #define PWM_DTSRCSEL_SM1SEL23(x) (((uint16_t)(((uint16_t)(x)) << PWM_DTSRCSEL_SM1SEL23_SHIFT)) & PWM_DTSRCSEL_SM1SEL23_MASK)
  69032. #define PWM_DTSRCSEL_SM2SEL45_MASK (0x300U)
  69033. #define PWM_DTSRCSEL_SM2SEL45_SHIFT (8U)
  69034. /*! SM2SEL45 - Submodule 2 PWM45 Control Select
  69035. * 0b00..Generated SM2PWM45 signal is used by the deadtime logic.
  69036. * 0b01..Inverted generated SM2PWM45 signal is used by the deadtime logic.
  69037. * 0b10..SWCOUT[SM2OUT45] is used by the deadtime logic.
  69038. * 0b11..PWM2_EXTB signal is used by the deadtime logic.
  69039. */
  69040. #define PWM_DTSRCSEL_SM2SEL45(x) (((uint16_t)(((uint16_t)(x)) << PWM_DTSRCSEL_SM2SEL45_SHIFT)) & PWM_DTSRCSEL_SM2SEL45_MASK)
  69041. #define PWM_DTSRCSEL_SM2SEL23_MASK (0xC00U)
  69042. #define PWM_DTSRCSEL_SM2SEL23_SHIFT (10U)
  69043. /*! SM2SEL23 - Submodule 2 PWM23 Control Select
  69044. * 0b00..Generated SM2PWM23 signal is used by the deadtime logic.
  69045. * 0b01..Inverted generated SM2PWM23 signal is used by the deadtime logic.
  69046. * 0b10..SWCOUT[SM2OUT23] is used by the deadtime logic.
  69047. * 0b11..PWM2_EXTA signal is used by the deadtime logic.
  69048. */
  69049. #define PWM_DTSRCSEL_SM2SEL23(x) (((uint16_t)(((uint16_t)(x)) << PWM_DTSRCSEL_SM2SEL23_SHIFT)) & PWM_DTSRCSEL_SM2SEL23_MASK)
  69050. #define PWM_DTSRCSEL_SM3SEL45_MASK (0x3000U)
  69051. #define PWM_DTSRCSEL_SM3SEL45_SHIFT (12U)
  69052. /*! SM3SEL45 - Submodule 3 PWM45 Control Select
  69053. * 0b00..Generated SM3PWM45 signal is used by the deadtime logic.
  69054. * 0b01..Inverted generated SM3PWM45 signal is used by the deadtime logic.
  69055. * 0b10..SWCOUT[SM3OUT45] is used by the deadtime logic.
  69056. * 0b11..PWM3_EXTB signal is used by the deadtime logic.
  69057. */
  69058. #define PWM_DTSRCSEL_SM3SEL45(x) (((uint16_t)(((uint16_t)(x)) << PWM_DTSRCSEL_SM3SEL45_SHIFT)) & PWM_DTSRCSEL_SM3SEL45_MASK)
  69059. #define PWM_DTSRCSEL_SM3SEL23_MASK (0xC000U)
  69060. #define PWM_DTSRCSEL_SM3SEL23_SHIFT (14U)
  69061. /*! SM3SEL23 - Submodule 3 PWM23 Control Select
  69062. * 0b00..Generated SM3PWM23 signal is used by the deadtime logic.
  69063. * 0b01..Inverted generated SM3PWM23 signal is used by the deadtime logic.
  69064. * 0b10..SWCOUT[SM3OUT23] is used by the deadtime logic.
  69065. * 0b11..PWM3_EXTA signal is used by the deadtime logic.
  69066. */
  69067. #define PWM_DTSRCSEL_SM3SEL23(x) (((uint16_t)(((uint16_t)(x)) << PWM_DTSRCSEL_SM3SEL23_SHIFT)) & PWM_DTSRCSEL_SM3SEL23_MASK)
  69068. /*! @} */
  69069. /*! @name MCTRL - Master Control Register */
  69070. /*! @{ */
  69071. #define PWM_MCTRL_LDOK_MASK (0xFU)
  69072. #define PWM_MCTRL_LDOK_SHIFT (0U)
  69073. /*! LDOK - Load Okay
  69074. * 0b0000..Do not load new values.
  69075. * 0b0001..Load prescaler, modulus, and PWM values of the corresponding submodule.
  69076. */
  69077. #define PWM_MCTRL_LDOK(x) (((uint16_t)(((uint16_t)(x)) << PWM_MCTRL_LDOK_SHIFT)) & PWM_MCTRL_LDOK_MASK)
  69078. #define PWM_MCTRL_CLDOK_MASK (0xF0U)
  69079. #define PWM_MCTRL_CLDOK_SHIFT (4U)
  69080. /*! CLDOK - Clear Load Okay
  69081. */
  69082. #define PWM_MCTRL_CLDOK(x) (((uint16_t)(((uint16_t)(x)) << PWM_MCTRL_CLDOK_SHIFT)) & PWM_MCTRL_CLDOK_MASK)
  69083. #define PWM_MCTRL_RUN_MASK (0xF00U)
  69084. #define PWM_MCTRL_RUN_SHIFT (8U)
  69085. /*! RUN - Run
  69086. * 0b0000..PWM counter is stopped, but PWM outputs will hold the current state.
  69087. * 0b0001..PWM counter is started in the corresponding submodule.
  69088. */
  69089. #define PWM_MCTRL_RUN(x) (((uint16_t)(((uint16_t)(x)) << PWM_MCTRL_RUN_SHIFT)) & PWM_MCTRL_RUN_MASK)
  69090. #define PWM_MCTRL_IPOL_MASK (0xF000U)
  69091. #define PWM_MCTRL_IPOL_SHIFT (12U)
  69092. /*! IPOL - Current Polarity
  69093. * 0b0000..PWM23 is used to generate complementary PWM pair in the corresponding submodule.
  69094. * 0b0001..PWM45 is used to generate complementary PWM pair in the corresponding submodule.
  69095. */
  69096. #define PWM_MCTRL_IPOL(x) (((uint16_t)(((uint16_t)(x)) << PWM_MCTRL_IPOL_SHIFT)) & PWM_MCTRL_IPOL_MASK)
  69097. /*! @} */
  69098. /*! @name MCTRL2 - Master Control 2 Register */
  69099. /*! @{ */
  69100. #define PWM_MCTRL2_MONPLL_MASK (0x3U)
  69101. #define PWM_MCTRL2_MONPLL_SHIFT (0U)
  69102. /*! MONPLL - Monitor PLL State
  69103. * 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.
  69104. * 0b01..Not locked. Monitor PLL operation to automatically disable the fractional delay block when the PLL encounters problems.
  69105. * 0b10..Locked. Do not monitor PLL operation. Resetting of the fractional delay block in case of PLL losing lock
  69106. * will be controlled by software. These bits are write protected until the next reset.
  69107. * 0b11..Locked. Monitor PLL operation to automatically disable the fractional delay block when the PLL
  69108. * encounters problems. These bits are write protected until the next reset.
  69109. */
  69110. #define PWM_MCTRL2_MONPLL(x) (((uint16_t)(((uint16_t)(x)) << PWM_MCTRL2_MONPLL_SHIFT)) & PWM_MCTRL2_MONPLL_MASK)
  69111. /*! @} */
  69112. /*! @name FCTRL - Fault Control Register */
  69113. /*! @{ */
  69114. #define PWM_FCTRL_FIE_MASK (0xFU)
  69115. #define PWM_FCTRL_FIE_SHIFT (0U)
  69116. /*! FIE - Fault Interrupt Enables
  69117. * 0b0000..FAULTx CPU interrupt requests disabled.
  69118. * 0b0001..FAULTx CPU interrupt requests enabled.
  69119. */
  69120. #define PWM_FCTRL_FIE(x) (((uint16_t)(((uint16_t)(x)) << PWM_FCTRL_FIE_SHIFT)) & PWM_FCTRL_FIE_MASK)
  69121. #define PWM_FCTRL_FSAFE_MASK (0xF0U)
  69122. #define PWM_FCTRL_FSAFE_SHIFT (4U)
  69123. /*! FSAFE - Fault Safety Mode
  69124. * 0b0000..Normal mode. PWM outputs disabled by this fault are not enabled until FSTS[FFLAGx] is clear at the
  69125. * start of a half cycle or full cycle depending on the states of FSTS[FHALF] and FSTS[FFULL] without regard
  69126. * to the state of FSTS[FFPINx]. If neither FHALF nor FFULL is set then the fault condition cannot be
  69127. * cleared. The PWM outputs disabled by this fault input will not be re-enabled until the actual FAULTx input
  69128. * signal de-asserts since the fault input will combinationally disable the PWM outputs (as programmed in
  69129. * DISMAPn).
  69130. * 0b0001..Safe mode. PWM outputs disabled by this fault are not enabled until FSTS[FFLAGx] is clear and
  69131. * FSTS[FFPINx] is clear at the start of a half cycle or full cycle depending on the states of FSTS[FHALF] and
  69132. * FSTS[FFULL]. If neither FHLAF nor FFULL is set, then the fault condition cannot be cleared.
  69133. */
  69134. #define PWM_FCTRL_FSAFE(x) (((uint16_t)(((uint16_t)(x)) << PWM_FCTRL_FSAFE_SHIFT)) & PWM_FCTRL_FSAFE_MASK)
  69135. #define PWM_FCTRL_FAUTO_MASK (0xF00U)
  69136. #define PWM_FCTRL_FAUTO_SHIFT (8U)
  69137. /*! FAUTO - Automatic Fault Clearing
  69138. * 0b0000..Manual fault clearing. PWM outputs disabled by this fault are not enabled until FSTS[FFLAGx] is clear
  69139. * at the start of a half cycle or full cycle depending the states of FSTS[FHALF] and FSTS[FFULL]. If
  69140. * neither FFULL nor FHALF is set, then the fault condition cannot be cleared. This is further controlled by
  69141. * FCTRL[FSAFE].
  69142. * 0b0001..Automatic fault clearing. PWM outputs disabled by this fault are enabled when FSTS[FFPINx] is clear at
  69143. * the start of a half cycle or full cycle depending on the states of FSTS[FHALF] and FSTS[FFULL] without
  69144. * regard to the state of FSTS[FFLAGx]. If neither FFULL nor FHALF is set, then the fault condition
  69145. * cannot be cleared.
  69146. */
  69147. #define PWM_FCTRL_FAUTO(x) (((uint16_t)(((uint16_t)(x)) << PWM_FCTRL_FAUTO_SHIFT)) & PWM_FCTRL_FAUTO_MASK)
  69148. #define PWM_FCTRL_FLVL_MASK (0xF000U)
  69149. #define PWM_FCTRL_FLVL_SHIFT (12U)
  69150. /*! FLVL - Fault Level
  69151. * 0b0000..A logic 0 on the fault input indicates a fault condition.
  69152. * 0b0001..A logic 1 on the fault input indicates a fault condition.
  69153. */
  69154. #define PWM_FCTRL_FLVL(x) (((uint16_t)(((uint16_t)(x)) << PWM_FCTRL_FLVL_SHIFT)) & PWM_FCTRL_FLVL_MASK)
  69155. /*! @} */
  69156. /*! @name FSTS - Fault Status Register */
  69157. /*! @{ */
  69158. #define PWM_FSTS_FFLAG_MASK (0xFU)
  69159. #define PWM_FSTS_FFLAG_SHIFT (0U)
  69160. /*! FFLAG - Fault Flags
  69161. * 0b0000..No fault on the FAULTx pin.
  69162. * 0b0001..Fault on the FAULTx pin.
  69163. */
  69164. #define PWM_FSTS_FFLAG(x) (((uint16_t)(((uint16_t)(x)) << PWM_FSTS_FFLAG_SHIFT)) & PWM_FSTS_FFLAG_MASK)
  69165. #define PWM_FSTS_FFULL_MASK (0xF0U)
  69166. #define PWM_FSTS_FFULL_SHIFT (4U)
  69167. /*! FFULL - Full Cycle
  69168. * 0b0000..PWM outputs are not re-enabled at the start of a full cycle
  69169. * 0b0001..PWM outputs are re-enabled at the start of a full cycle
  69170. */
  69171. #define PWM_FSTS_FFULL(x) (((uint16_t)(((uint16_t)(x)) << PWM_FSTS_FFULL_SHIFT)) & PWM_FSTS_FFULL_MASK)
  69172. #define PWM_FSTS_FFPIN_MASK (0xF00U)
  69173. #define PWM_FSTS_FFPIN_SHIFT (8U)
  69174. /*! FFPIN - Filtered Fault Pins
  69175. */
  69176. #define PWM_FSTS_FFPIN(x) (((uint16_t)(((uint16_t)(x)) << PWM_FSTS_FFPIN_SHIFT)) & PWM_FSTS_FFPIN_MASK)
  69177. #define PWM_FSTS_FHALF_MASK (0xF000U)
  69178. #define PWM_FSTS_FHALF_SHIFT (12U)
  69179. /*! FHALF - Half Cycle Fault Recovery
  69180. * 0b0000..PWM outputs are not re-enabled at the start of a half cycle.
  69181. * 0b0001..PWM outputs are re-enabled at the start of a half cycle (as defined by VAL0).
  69182. */
  69183. #define PWM_FSTS_FHALF(x) (((uint16_t)(((uint16_t)(x)) << PWM_FSTS_FHALF_SHIFT)) & PWM_FSTS_FHALF_MASK)
  69184. /*! @} */
  69185. /*! @name FFILT - Fault Filter Register */
  69186. /*! @{ */
  69187. #define PWM_FFILT_FILT_PER_MASK (0xFFU)
  69188. #define PWM_FFILT_FILT_PER_SHIFT (0U)
  69189. /*! FILT_PER - Fault Filter Period
  69190. */
  69191. #define PWM_FFILT_FILT_PER(x) (((uint16_t)(((uint16_t)(x)) << PWM_FFILT_FILT_PER_SHIFT)) & PWM_FFILT_FILT_PER_MASK)
  69192. #define PWM_FFILT_FILT_CNT_MASK (0x700U)
  69193. #define PWM_FFILT_FILT_CNT_SHIFT (8U)
  69194. /*! FILT_CNT - Fault Filter Count
  69195. */
  69196. #define PWM_FFILT_FILT_CNT(x) (((uint16_t)(((uint16_t)(x)) << PWM_FFILT_FILT_CNT_SHIFT)) & PWM_FFILT_FILT_CNT_MASK)
  69197. #define PWM_FFILT_GSTR_MASK (0x8000U)
  69198. #define PWM_FFILT_GSTR_SHIFT (15U)
  69199. /*! GSTR - Fault Glitch Stretch Enable
  69200. * 0b0..Fault input glitch stretching is disabled.
  69201. * 0b1..Input fault signals will be stretched to at least 2 IPBus clock cycles.
  69202. */
  69203. #define PWM_FFILT_GSTR(x) (((uint16_t)(((uint16_t)(x)) << PWM_FFILT_GSTR_SHIFT)) & PWM_FFILT_GSTR_MASK)
  69204. /*! @} */
  69205. /*! @name FTST - Fault Test Register */
  69206. /*! @{ */
  69207. #define PWM_FTST_FTEST_MASK (0x1U)
  69208. #define PWM_FTST_FTEST_SHIFT (0U)
  69209. /*! FTEST - Fault Test
  69210. * 0b0..No fault
  69211. * 0b1..Cause a simulated fault
  69212. */
  69213. #define PWM_FTST_FTEST(x) (((uint16_t)(((uint16_t)(x)) << PWM_FTST_FTEST_SHIFT)) & PWM_FTST_FTEST_MASK)
  69214. /*! @} */
  69215. /*! @name FCTRL2 - Fault Control 2 Register */
  69216. /*! @{ */
  69217. #define PWM_FCTRL2_NOCOMB_MASK (0xFU)
  69218. #define PWM_FCTRL2_NOCOMB_SHIFT (0U)
  69219. /*! NOCOMB - No Combinational Path From Fault Input To PWM Output
  69220. * 0b0000..There is a combinational link from the fault inputs to the PWM outputs. The fault inputs are combined
  69221. * with the filtered and latched fault signals to disable the PWM outputs.
  69222. * 0b0001..The direct combinational path from the fault inputs to the PWM outputs is disabled and the filtered
  69223. * and latched fault signals are used to disable the PWM outputs.
  69224. */
  69225. #define PWM_FCTRL2_NOCOMB(x) (((uint16_t)(((uint16_t)(x)) << PWM_FCTRL2_NOCOMB_SHIFT)) & PWM_FCTRL2_NOCOMB_MASK)
  69226. /*! @} */
  69227. /*!
  69228. * @}
  69229. */ /* end of group PWM_Register_Masks */
  69230. /* PWM - Peripheral instance base addresses */
  69231. /** Peripheral PWM1 base address */
  69232. #define PWM1_BASE (0x4018C000u)
  69233. /** Peripheral PWM1 base pointer */
  69234. #define PWM1 ((PWM_Type *)PWM1_BASE)
  69235. /** Peripheral PWM2 base address */
  69236. #define PWM2_BASE (0x40190000u)
  69237. /** Peripheral PWM2 base pointer */
  69238. #define PWM2 ((PWM_Type *)PWM2_BASE)
  69239. /** Peripheral PWM3 base address */
  69240. #define PWM3_BASE (0x40194000u)
  69241. /** Peripheral PWM3 base pointer */
  69242. #define PWM3 ((PWM_Type *)PWM3_BASE)
  69243. /** Peripheral PWM4 base address */
  69244. #define PWM4_BASE (0x40198000u)
  69245. /** Peripheral PWM4 base pointer */
  69246. #define PWM4 ((PWM_Type *)PWM4_BASE)
  69247. /** Array initializer of PWM peripheral base addresses */
  69248. #define PWM_BASE_ADDRS { 0u, PWM1_BASE, PWM2_BASE, PWM3_BASE, PWM4_BASE }
  69249. /** Array initializer of PWM peripheral base pointers */
  69250. #define PWM_BASE_PTRS { (PWM_Type *)0u, PWM1, PWM2, PWM3, PWM4 }
  69251. /** Interrupt vectors for the PWM peripheral type */
  69252. #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 } }
  69253. #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 } }
  69254. #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 } }
  69255. #define PWM_FAULT_IRQS { NotAvail_IRQn, PWM1_FAULT_IRQn, PWM2_FAULT_IRQn, PWM3_FAULT_IRQn, PWM4_FAULT_IRQn }
  69256. #define PWM_RELOAD_ERROR_IRQS { NotAvail_IRQn, PWM1_FAULT_IRQn, PWM2_FAULT_IRQn, PWM3_FAULT_IRQn, PWM4_FAULT_IRQn }
  69257. /*!
  69258. * @}
  69259. */ /* end of group PWM_Peripheral_Access_Layer */
  69260. /* ----------------------------------------------------------------------------
  69261. -- PXP Peripheral Access Layer
  69262. ---------------------------------------------------------------------------- */
  69263. /*!
  69264. * @addtogroup PXP_Peripheral_Access_Layer PXP Peripheral Access Layer
  69265. * @{
  69266. */
  69267. /** PXP - Register Layout Typedef */
  69268. typedef struct {
  69269. __IO uint32_t CTRL; /**< Control Register 0, offset: 0x0 */
  69270. __IO uint32_t CTRL_SET; /**< Control Register 0, offset: 0x4 */
  69271. __IO uint32_t CTRL_CLR; /**< Control Register 0, offset: 0x8 */
  69272. __IO uint32_t CTRL_TOG; /**< Control Register 0, offset: 0xC */
  69273. __IO uint32_t STAT; /**< Status Register, offset: 0x10 */
  69274. __IO uint32_t STAT_SET; /**< Status Register, offset: 0x14 */
  69275. __IO uint32_t STAT_CLR; /**< Status Register, offset: 0x18 */
  69276. __IO uint32_t STAT_TOG; /**< Status Register, offset: 0x1C */
  69277. __IO uint32_t OUT_CTRL; /**< Output Buffer Control Register, offset: 0x20 */
  69278. __IO uint32_t OUT_CTRL_SET; /**< Output Buffer Control Register, offset: 0x24 */
  69279. __IO uint32_t OUT_CTRL_CLR; /**< Output Buffer Control Register, offset: 0x28 */
  69280. __IO uint32_t OUT_CTRL_TOG; /**< Output Buffer Control Register, offset: 0x2C */
  69281. __IO uint32_t OUT_BUF; /**< Output Frame Buffer Pointer, offset: 0x30 */
  69282. uint8_t RESERVED_0[12];
  69283. __IO uint32_t OUT_BUF2; /**< Output Frame Buffer Pointer #2, offset: 0x40 */
  69284. uint8_t RESERVED_1[12];
  69285. __IO uint32_t OUT_PITCH; /**< Output Buffer Pitch, offset: 0x50 */
  69286. uint8_t RESERVED_2[12];
  69287. __IO uint32_t OUT_LRC; /**< Output Surface Lower Right Coordinate, offset: 0x60 */
  69288. uint8_t RESERVED_3[12];
  69289. __IO uint32_t OUT_PS_ULC; /**< Processed Surface Upper Left Coordinate, offset: 0x70 */
  69290. uint8_t RESERVED_4[12];
  69291. __IO uint32_t OUT_PS_LRC; /**< Processed Surface Lower Right Coordinate, offset: 0x80 */
  69292. uint8_t RESERVED_5[12];
  69293. __IO uint32_t OUT_AS_ULC; /**< Alpha Surface Upper Left Coordinate, offset: 0x90 */
  69294. uint8_t RESERVED_6[12];
  69295. __IO uint32_t OUT_AS_LRC; /**< Alpha Surface Lower Right Coordinate, offset: 0xA0 */
  69296. uint8_t RESERVED_7[12];
  69297. __IO uint32_t PS_CTRL; /**< Processed Surface (PS) Control Register, offset: 0xB0 */
  69298. __IO uint32_t PS_CTRL_SET; /**< Processed Surface (PS) Control Register, offset: 0xB4 */
  69299. __IO uint32_t PS_CTRL_CLR; /**< Processed Surface (PS) Control Register, offset: 0xB8 */
  69300. __IO uint32_t PS_CTRL_TOG; /**< Processed Surface (PS) Control Register, offset: 0xBC */
  69301. __IO uint32_t PS_BUF; /**< PS Input Buffer Address, offset: 0xC0 */
  69302. uint8_t RESERVED_8[12];
  69303. __IO uint32_t PS_UBUF; /**< PS U/Cb or 2 Plane UV Input Buffer Address, offset: 0xD0 */
  69304. uint8_t RESERVED_9[12];
  69305. __IO uint32_t PS_VBUF; /**< PS V/Cr Input Buffer Address, offset: 0xE0 */
  69306. uint8_t RESERVED_10[12];
  69307. __IO uint32_t PS_PITCH; /**< Processed Surface Pitch, offset: 0xF0 */
  69308. uint8_t RESERVED_11[12];
  69309. __IO uint32_t PS_BACKGROUND; /**< PS Background Color, offset: 0x100 */
  69310. uint8_t RESERVED_12[12];
  69311. __IO uint32_t PS_SCALE; /**< PS Scale Factor Register, offset: 0x110 */
  69312. uint8_t RESERVED_13[12];
  69313. __IO uint32_t PS_OFFSET; /**< PS Scale Offset Register, offset: 0x120 */
  69314. uint8_t RESERVED_14[12];
  69315. __IO uint32_t PS_CLRKEYLOW; /**< PS Color Key Low, offset: 0x130 */
  69316. uint8_t RESERVED_15[12];
  69317. __IO uint32_t PS_CLRKEYHIGH; /**< PS Color Key High, offset: 0x140 */
  69318. uint8_t RESERVED_16[12];
  69319. __IO uint32_t AS_CTRL; /**< Alpha Surface Control, offset: 0x150 */
  69320. uint8_t RESERVED_17[12];
  69321. __IO uint32_t AS_BUF; /**< Alpha Surface Buffer Pointer, offset: 0x160 */
  69322. uint8_t RESERVED_18[12];
  69323. __IO uint32_t AS_PITCH; /**< Alpha Surface Pitch, offset: 0x170 */
  69324. uint8_t RESERVED_19[12];
  69325. __IO uint32_t AS_CLRKEYLOW; /**< Overlay Color Key Low, offset: 0x180 */
  69326. uint8_t RESERVED_20[12];
  69327. __IO uint32_t AS_CLRKEYHIGH; /**< Overlay Color Key High, offset: 0x190 */
  69328. uint8_t RESERVED_21[12];
  69329. __IO uint32_t CSC1_COEF0; /**< Color Space Conversion Coefficient Register 0, offset: 0x1A0 */
  69330. uint8_t RESERVED_22[12];
  69331. __IO uint32_t CSC1_COEF1; /**< Color Space Conversion Coefficient Register 1, offset: 0x1B0 */
  69332. uint8_t RESERVED_23[12];
  69333. __IO uint32_t CSC1_COEF2; /**< Color Space Conversion Coefficient Register 2, offset: 0x1C0 */
  69334. uint8_t RESERVED_24[348];
  69335. __IO uint32_t POWER; /**< PXP Power Control Register, offset: 0x320 */
  69336. uint8_t RESERVED_25[220];
  69337. __IO uint32_t NEXT; /**< Next Frame Pointer, offset: 0x400 */
  69338. uint8_t RESERVED_26[60];
  69339. __IO uint32_t PORTER_DUFF_CTRL; /**< PXP Alpha Engine A Control Register., offset: 0x440 */
  69340. } PXP_Type;
  69341. /* ----------------------------------------------------------------------------
  69342. -- PXP Register Masks
  69343. ---------------------------------------------------------------------------- */
  69344. /*!
  69345. * @addtogroup PXP_Register_Masks PXP Register Masks
  69346. * @{
  69347. */
  69348. /*! @name CTRL - Control Register 0 */
  69349. /*! @{ */
  69350. #define PXP_CTRL_ENABLE_MASK (0x1U)
  69351. #define PXP_CTRL_ENABLE_SHIFT (0U)
  69352. /*! ENABLE
  69353. * 0b1..PXP is enabled
  69354. * 0b0..PXP is disabled
  69355. */
  69356. #define PXP_CTRL_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_ENABLE_SHIFT)) & PXP_CTRL_ENABLE_MASK)
  69357. #define PXP_CTRL_IRQ_ENABLE_MASK (0x2U)
  69358. #define PXP_CTRL_IRQ_ENABLE_SHIFT (1U)
  69359. /*! IRQ_ENABLE
  69360. * 0b1..PXP interrupt is enabled
  69361. * 0b0..PXP interrupt is disabled
  69362. */
  69363. #define PXP_CTRL_IRQ_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_IRQ_ENABLE_SHIFT)) & PXP_CTRL_IRQ_ENABLE_MASK)
  69364. #define PXP_CTRL_NEXT_IRQ_ENABLE_MASK (0x4U)
  69365. #define PXP_CTRL_NEXT_IRQ_ENABLE_SHIFT (2U)
  69366. /*! NEXT_IRQ_ENABLE
  69367. * 0b0..Disabled
  69368. * 0b1..Enabled
  69369. */
  69370. #define PXP_CTRL_NEXT_IRQ_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_NEXT_IRQ_ENABLE_SHIFT)) & PXP_CTRL_NEXT_IRQ_ENABLE_MASK)
  69371. #define PXP_CTRL_ENABLE_LCD_HANDSHAKE_MASK (0x10U)
  69372. #define PXP_CTRL_ENABLE_LCD_HANDSHAKE_SHIFT (4U)
  69373. #define PXP_CTRL_ENABLE_LCD_HANDSHAKE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_ENABLE_LCD_HANDSHAKE_SHIFT)) & PXP_CTRL_ENABLE_LCD_HANDSHAKE_MASK)
  69374. #define PXP_CTRL_ROTATE_MASK (0x300U)
  69375. #define PXP_CTRL_ROTATE_SHIFT (8U)
  69376. /*! ROTATE
  69377. * 0b00..ROT_0
  69378. * 0b01..ROT_90
  69379. * 0b10..ROT_180
  69380. * 0b11..ROT_270
  69381. */
  69382. #define PXP_CTRL_ROTATE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_ROTATE_SHIFT)) & PXP_CTRL_ROTATE_MASK)
  69383. #define PXP_CTRL_HFLIP_MASK (0x400U)
  69384. #define PXP_CTRL_HFLIP_SHIFT (10U)
  69385. /*! HFLIP
  69386. * 0b0..Horizontal Flip is disabled
  69387. * 0b1..Horizontal Flip is enabled
  69388. */
  69389. #define PXP_CTRL_HFLIP(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_HFLIP_SHIFT)) & PXP_CTRL_HFLIP_MASK)
  69390. #define PXP_CTRL_VFLIP_MASK (0x800U)
  69391. #define PXP_CTRL_VFLIP_SHIFT (11U)
  69392. /*! VFLIP
  69393. * 0b0..Vertical Flip is disabled
  69394. * 0b1..Vertical Flip is enabled
  69395. */
  69396. #define PXP_CTRL_VFLIP(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_VFLIP_SHIFT)) & PXP_CTRL_VFLIP_MASK)
  69397. #define PXP_CTRL_ROT_POS_MASK (0x400000U)
  69398. #define PXP_CTRL_ROT_POS_SHIFT (22U)
  69399. #define PXP_CTRL_ROT_POS(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_ROT_POS_SHIFT)) & PXP_CTRL_ROT_POS_MASK)
  69400. #define PXP_CTRL_BLOCK_SIZE_MASK (0x800000U)
  69401. #define PXP_CTRL_BLOCK_SIZE_SHIFT (23U)
  69402. /*! BLOCK_SIZE
  69403. * 0b0..Process 8x8 pixel blocks.
  69404. * 0b1..Process 16x16 pixel blocks.
  69405. */
  69406. #define PXP_CTRL_BLOCK_SIZE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_BLOCK_SIZE_SHIFT)) & PXP_CTRL_BLOCK_SIZE_MASK)
  69407. #define PXP_CTRL_EN_REPEAT_MASK (0x10000000U)
  69408. #define PXP_CTRL_EN_REPEAT_SHIFT (28U)
  69409. /*! EN_REPEAT
  69410. * 0b1..PXP will repeat based on the current configuration register settings
  69411. * 0b0..PXP will complete the process and enter the idle state ready to accept the next frame to be processed
  69412. */
  69413. #define PXP_CTRL_EN_REPEAT(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_EN_REPEAT_SHIFT)) & PXP_CTRL_EN_REPEAT_MASK)
  69414. #define PXP_CTRL_CLKGATE_MASK (0x40000000U)
  69415. #define PXP_CTRL_CLKGATE_SHIFT (30U)
  69416. /*! CLKGATE
  69417. * 0b0..Normal operation
  69418. * 0b1..All clocks to PXP is gated-off
  69419. */
  69420. #define PXP_CTRL_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_CLKGATE_SHIFT)) & PXP_CTRL_CLKGATE_MASK)
  69421. #define PXP_CTRL_SFTRST_MASK (0x80000000U)
  69422. #define PXP_CTRL_SFTRST_SHIFT (31U)
  69423. /*! SFTRST
  69424. * 0b0..Normal PXP operation is enabled
  69425. * 0b1..Clocking with PXP is disabled and held in its reset (lowest power) state. This is the default value.
  69426. */
  69427. #define PXP_CTRL_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_SFTRST_SHIFT)) & PXP_CTRL_SFTRST_MASK)
  69428. /*! @} */
  69429. /*! @name CTRL_SET - Control Register 0 */
  69430. /*! @{ */
  69431. #define PXP_CTRL_SET_ENABLE_MASK (0x1U)
  69432. #define PXP_CTRL_SET_ENABLE_SHIFT (0U)
  69433. /*! ENABLE
  69434. * 0b1..PXP is enabled
  69435. * 0b0..PXP is disabled
  69436. */
  69437. #define PXP_CTRL_SET_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_SET_ENABLE_SHIFT)) & PXP_CTRL_SET_ENABLE_MASK)
  69438. #define PXP_CTRL_SET_IRQ_ENABLE_MASK (0x2U)
  69439. #define PXP_CTRL_SET_IRQ_ENABLE_SHIFT (1U)
  69440. /*! IRQ_ENABLE
  69441. * 0b1..PXP interrupt is enabled
  69442. * 0b0..PXP interrupt is disabled
  69443. */
  69444. #define PXP_CTRL_SET_IRQ_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_SET_IRQ_ENABLE_SHIFT)) & PXP_CTRL_SET_IRQ_ENABLE_MASK)
  69445. #define PXP_CTRL_SET_NEXT_IRQ_ENABLE_MASK (0x4U)
  69446. #define PXP_CTRL_SET_NEXT_IRQ_ENABLE_SHIFT (2U)
  69447. /*! NEXT_IRQ_ENABLE
  69448. * 0b0..Disabled
  69449. * 0b1..Enabled
  69450. */
  69451. #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)
  69452. #define PXP_CTRL_SET_ENABLE_LCD_HANDSHAKE_MASK (0x10U)
  69453. #define PXP_CTRL_SET_ENABLE_LCD_HANDSHAKE_SHIFT (4U)
  69454. #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)
  69455. #define PXP_CTRL_SET_ROTATE_MASK (0x300U)
  69456. #define PXP_CTRL_SET_ROTATE_SHIFT (8U)
  69457. /*! ROTATE
  69458. * 0b00..ROT_0
  69459. * 0b01..ROT_90
  69460. * 0b10..ROT_180
  69461. * 0b11..ROT_270
  69462. */
  69463. #define PXP_CTRL_SET_ROTATE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_SET_ROTATE_SHIFT)) & PXP_CTRL_SET_ROTATE_MASK)
  69464. #define PXP_CTRL_SET_HFLIP_MASK (0x400U)
  69465. #define PXP_CTRL_SET_HFLIP_SHIFT (10U)
  69466. /*! HFLIP
  69467. * 0b0..Horizontal Flip is disabled
  69468. * 0b1..Horizontal Flip is enabled
  69469. */
  69470. #define PXP_CTRL_SET_HFLIP(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_SET_HFLIP_SHIFT)) & PXP_CTRL_SET_HFLIP_MASK)
  69471. #define PXP_CTRL_SET_VFLIP_MASK (0x800U)
  69472. #define PXP_CTRL_SET_VFLIP_SHIFT (11U)
  69473. /*! VFLIP
  69474. * 0b0..Vertical Flip is disabled
  69475. * 0b1..Vertical Flip is enabled
  69476. */
  69477. #define PXP_CTRL_SET_VFLIP(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_SET_VFLIP_SHIFT)) & PXP_CTRL_SET_VFLIP_MASK)
  69478. #define PXP_CTRL_SET_ROT_POS_MASK (0x400000U)
  69479. #define PXP_CTRL_SET_ROT_POS_SHIFT (22U)
  69480. #define PXP_CTRL_SET_ROT_POS(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_SET_ROT_POS_SHIFT)) & PXP_CTRL_SET_ROT_POS_MASK)
  69481. #define PXP_CTRL_SET_BLOCK_SIZE_MASK (0x800000U)
  69482. #define PXP_CTRL_SET_BLOCK_SIZE_SHIFT (23U)
  69483. /*! BLOCK_SIZE
  69484. * 0b0..Process 8x8 pixel blocks.
  69485. * 0b1..Process 16x16 pixel blocks.
  69486. */
  69487. #define PXP_CTRL_SET_BLOCK_SIZE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_SET_BLOCK_SIZE_SHIFT)) & PXP_CTRL_SET_BLOCK_SIZE_MASK)
  69488. #define PXP_CTRL_SET_EN_REPEAT_MASK (0x10000000U)
  69489. #define PXP_CTRL_SET_EN_REPEAT_SHIFT (28U)
  69490. /*! EN_REPEAT
  69491. * 0b1..PXP will repeat based on the current configuration register settings
  69492. * 0b0..PXP will complete the process and enter the idle state ready to accept the next frame to be processed
  69493. */
  69494. #define PXP_CTRL_SET_EN_REPEAT(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_SET_EN_REPEAT_SHIFT)) & PXP_CTRL_SET_EN_REPEAT_MASK)
  69495. #define PXP_CTRL_SET_CLKGATE_MASK (0x40000000U)
  69496. #define PXP_CTRL_SET_CLKGATE_SHIFT (30U)
  69497. /*! CLKGATE
  69498. * 0b0..Normal operation
  69499. * 0b1..All clocks to PXP is gated-off
  69500. */
  69501. #define PXP_CTRL_SET_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_SET_CLKGATE_SHIFT)) & PXP_CTRL_SET_CLKGATE_MASK)
  69502. #define PXP_CTRL_SET_SFTRST_MASK (0x80000000U)
  69503. #define PXP_CTRL_SET_SFTRST_SHIFT (31U)
  69504. /*! SFTRST
  69505. * 0b0..Normal PXP operation is enabled
  69506. * 0b1..Clocking with PXP is disabled and held in its reset (lowest power) state. This is the default value.
  69507. */
  69508. #define PXP_CTRL_SET_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_SET_SFTRST_SHIFT)) & PXP_CTRL_SET_SFTRST_MASK)
  69509. /*! @} */
  69510. /*! @name CTRL_CLR - Control Register 0 */
  69511. /*! @{ */
  69512. #define PXP_CTRL_CLR_ENABLE_MASK (0x1U)
  69513. #define PXP_CTRL_CLR_ENABLE_SHIFT (0U)
  69514. /*! ENABLE
  69515. * 0b1..PXP is enabled
  69516. * 0b0..PXP is disabled
  69517. */
  69518. #define PXP_CTRL_CLR_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_CLR_ENABLE_SHIFT)) & PXP_CTRL_CLR_ENABLE_MASK)
  69519. #define PXP_CTRL_CLR_IRQ_ENABLE_MASK (0x2U)
  69520. #define PXP_CTRL_CLR_IRQ_ENABLE_SHIFT (1U)
  69521. /*! IRQ_ENABLE
  69522. * 0b1..PXP interrupt is enabled
  69523. * 0b0..PXP interrupt is disabled
  69524. */
  69525. #define PXP_CTRL_CLR_IRQ_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_CLR_IRQ_ENABLE_SHIFT)) & PXP_CTRL_CLR_IRQ_ENABLE_MASK)
  69526. #define PXP_CTRL_CLR_NEXT_IRQ_ENABLE_MASK (0x4U)
  69527. #define PXP_CTRL_CLR_NEXT_IRQ_ENABLE_SHIFT (2U)
  69528. /*! NEXT_IRQ_ENABLE
  69529. * 0b0..Disabled
  69530. * 0b1..Enabled
  69531. */
  69532. #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)
  69533. #define PXP_CTRL_CLR_ENABLE_LCD_HANDSHAKE_MASK (0x10U)
  69534. #define PXP_CTRL_CLR_ENABLE_LCD_HANDSHAKE_SHIFT (4U)
  69535. #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)
  69536. #define PXP_CTRL_CLR_ROTATE_MASK (0x300U)
  69537. #define PXP_CTRL_CLR_ROTATE_SHIFT (8U)
  69538. /*! ROTATE
  69539. * 0b00..ROT_0
  69540. * 0b01..ROT_90
  69541. * 0b10..ROT_180
  69542. * 0b11..ROT_270
  69543. */
  69544. #define PXP_CTRL_CLR_ROTATE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_CLR_ROTATE_SHIFT)) & PXP_CTRL_CLR_ROTATE_MASK)
  69545. #define PXP_CTRL_CLR_HFLIP_MASK (0x400U)
  69546. #define PXP_CTRL_CLR_HFLIP_SHIFT (10U)
  69547. /*! HFLIP
  69548. * 0b0..Horizontal Flip is disabled
  69549. * 0b1..Horizontal Flip is enabled
  69550. */
  69551. #define PXP_CTRL_CLR_HFLIP(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_CLR_HFLIP_SHIFT)) & PXP_CTRL_CLR_HFLIP_MASK)
  69552. #define PXP_CTRL_CLR_VFLIP_MASK (0x800U)
  69553. #define PXP_CTRL_CLR_VFLIP_SHIFT (11U)
  69554. /*! VFLIP
  69555. * 0b0..Vertical Flip is disabled
  69556. * 0b1..Vertical Flip is enabled
  69557. */
  69558. #define PXP_CTRL_CLR_VFLIP(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_CLR_VFLIP_SHIFT)) & PXP_CTRL_CLR_VFLIP_MASK)
  69559. #define PXP_CTRL_CLR_ROT_POS_MASK (0x400000U)
  69560. #define PXP_CTRL_CLR_ROT_POS_SHIFT (22U)
  69561. #define PXP_CTRL_CLR_ROT_POS(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_CLR_ROT_POS_SHIFT)) & PXP_CTRL_CLR_ROT_POS_MASK)
  69562. #define PXP_CTRL_CLR_BLOCK_SIZE_MASK (0x800000U)
  69563. #define PXP_CTRL_CLR_BLOCK_SIZE_SHIFT (23U)
  69564. /*! BLOCK_SIZE
  69565. * 0b0..Process 8x8 pixel blocks.
  69566. * 0b1..Process 16x16 pixel blocks.
  69567. */
  69568. #define PXP_CTRL_CLR_BLOCK_SIZE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_CLR_BLOCK_SIZE_SHIFT)) & PXP_CTRL_CLR_BLOCK_SIZE_MASK)
  69569. #define PXP_CTRL_CLR_EN_REPEAT_MASK (0x10000000U)
  69570. #define PXP_CTRL_CLR_EN_REPEAT_SHIFT (28U)
  69571. /*! EN_REPEAT
  69572. * 0b1..PXP will repeat based on the current configuration register settings
  69573. * 0b0..PXP will complete the process and enter the idle state ready to accept the next frame to be processed
  69574. */
  69575. #define PXP_CTRL_CLR_EN_REPEAT(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_CLR_EN_REPEAT_SHIFT)) & PXP_CTRL_CLR_EN_REPEAT_MASK)
  69576. #define PXP_CTRL_CLR_CLKGATE_MASK (0x40000000U)
  69577. #define PXP_CTRL_CLR_CLKGATE_SHIFT (30U)
  69578. /*! CLKGATE
  69579. * 0b0..Normal operation
  69580. * 0b1..All clocks to PXP is gated-off
  69581. */
  69582. #define PXP_CTRL_CLR_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_CLR_CLKGATE_SHIFT)) & PXP_CTRL_CLR_CLKGATE_MASK)
  69583. #define PXP_CTRL_CLR_SFTRST_MASK (0x80000000U)
  69584. #define PXP_CTRL_CLR_SFTRST_SHIFT (31U)
  69585. /*! SFTRST
  69586. * 0b0..Normal PXP operation is enabled
  69587. * 0b1..Clocking with PXP is disabled and held in its reset (lowest power) state. This is the default value.
  69588. */
  69589. #define PXP_CTRL_CLR_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_CLR_SFTRST_SHIFT)) & PXP_CTRL_CLR_SFTRST_MASK)
  69590. /*! @} */
  69591. /*! @name CTRL_TOG - Control Register 0 */
  69592. /*! @{ */
  69593. #define PXP_CTRL_TOG_ENABLE_MASK (0x1U)
  69594. #define PXP_CTRL_TOG_ENABLE_SHIFT (0U)
  69595. /*! ENABLE
  69596. * 0b1..PXP is enabled
  69597. * 0b0..PXP is disabled
  69598. */
  69599. #define PXP_CTRL_TOG_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_TOG_ENABLE_SHIFT)) & PXP_CTRL_TOG_ENABLE_MASK)
  69600. #define PXP_CTRL_TOG_IRQ_ENABLE_MASK (0x2U)
  69601. #define PXP_CTRL_TOG_IRQ_ENABLE_SHIFT (1U)
  69602. /*! IRQ_ENABLE
  69603. * 0b1..PXP interrupt is enabled
  69604. * 0b0..PXP interrupt is disabled
  69605. */
  69606. #define PXP_CTRL_TOG_IRQ_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_TOG_IRQ_ENABLE_SHIFT)) & PXP_CTRL_TOG_IRQ_ENABLE_MASK)
  69607. #define PXP_CTRL_TOG_NEXT_IRQ_ENABLE_MASK (0x4U)
  69608. #define PXP_CTRL_TOG_NEXT_IRQ_ENABLE_SHIFT (2U)
  69609. /*! NEXT_IRQ_ENABLE
  69610. * 0b0..Disabled
  69611. * 0b1..Enabled
  69612. */
  69613. #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)
  69614. #define PXP_CTRL_TOG_ENABLE_LCD_HANDSHAKE_MASK (0x10U)
  69615. #define PXP_CTRL_TOG_ENABLE_LCD_HANDSHAKE_SHIFT (4U)
  69616. #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)
  69617. #define PXP_CTRL_TOG_ROTATE_MASK (0x300U)
  69618. #define PXP_CTRL_TOG_ROTATE_SHIFT (8U)
  69619. /*! ROTATE
  69620. * 0b00..ROT_0
  69621. * 0b01..ROT_90
  69622. * 0b10..ROT_180
  69623. * 0b11..ROT_270
  69624. */
  69625. #define PXP_CTRL_TOG_ROTATE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_TOG_ROTATE_SHIFT)) & PXP_CTRL_TOG_ROTATE_MASK)
  69626. #define PXP_CTRL_TOG_HFLIP_MASK (0x400U)
  69627. #define PXP_CTRL_TOG_HFLIP_SHIFT (10U)
  69628. /*! HFLIP
  69629. * 0b0..Horizontal Flip is disabled
  69630. * 0b1..Horizontal Flip is enabled
  69631. */
  69632. #define PXP_CTRL_TOG_HFLIP(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_TOG_HFLIP_SHIFT)) & PXP_CTRL_TOG_HFLIP_MASK)
  69633. #define PXP_CTRL_TOG_VFLIP_MASK (0x800U)
  69634. #define PXP_CTRL_TOG_VFLIP_SHIFT (11U)
  69635. /*! VFLIP
  69636. * 0b0..Vertical Flip is disabled
  69637. * 0b1..Vertical Flip is enabled
  69638. */
  69639. #define PXP_CTRL_TOG_VFLIP(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_TOG_VFLIP_SHIFT)) & PXP_CTRL_TOG_VFLIP_MASK)
  69640. #define PXP_CTRL_TOG_ROT_POS_MASK (0x400000U)
  69641. #define PXP_CTRL_TOG_ROT_POS_SHIFT (22U)
  69642. #define PXP_CTRL_TOG_ROT_POS(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_TOG_ROT_POS_SHIFT)) & PXP_CTRL_TOG_ROT_POS_MASK)
  69643. #define PXP_CTRL_TOG_BLOCK_SIZE_MASK (0x800000U)
  69644. #define PXP_CTRL_TOG_BLOCK_SIZE_SHIFT (23U)
  69645. /*! BLOCK_SIZE
  69646. * 0b0..Process 8x8 pixel blocks.
  69647. * 0b1..Process 16x16 pixel blocks.
  69648. */
  69649. #define PXP_CTRL_TOG_BLOCK_SIZE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_TOG_BLOCK_SIZE_SHIFT)) & PXP_CTRL_TOG_BLOCK_SIZE_MASK)
  69650. #define PXP_CTRL_TOG_EN_REPEAT_MASK (0x10000000U)
  69651. #define PXP_CTRL_TOG_EN_REPEAT_SHIFT (28U)
  69652. /*! EN_REPEAT
  69653. * 0b1..PXP will repeat based on the current configuration register settings
  69654. * 0b0..PXP will complete the process and enter the idle state ready to accept the next frame to be processed
  69655. */
  69656. #define PXP_CTRL_TOG_EN_REPEAT(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_TOG_EN_REPEAT_SHIFT)) & PXP_CTRL_TOG_EN_REPEAT_MASK)
  69657. #define PXP_CTRL_TOG_CLKGATE_MASK (0x40000000U)
  69658. #define PXP_CTRL_TOG_CLKGATE_SHIFT (30U)
  69659. /*! CLKGATE
  69660. * 0b0..Normal operation
  69661. * 0b1..All clocks to PXP is gated-off
  69662. */
  69663. #define PXP_CTRL_TOG_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_TOG_CLKGATE_SHIFT)) & PXP_CTRL_TOG_CLKGATE_MASK)
  69664. #define PXP_CTRL_TOG_SFTRST_MASK (0x80000000U)
  69665. #define PXP_CTRL_TOG_SFTRST_SHIFT (31U)
  69666. /*! SFTRST
  69667. * 0b0..Normal PXP operation is enabled
  69668. * 0b1..Clocking with PXP is disabled and held in its reset (lowest power) state. This is the default value.
  69669. */
  69670. #define PXP_CTRL_TOG_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_TOG_SFTRST_SHIFT)) & PXP_CTRL_TOG_SFTRST_MASK)
  69671. /*! @} */
  69672. /*! @name STAT - Status Register */
  69673. /*! @{ */
  69674. #define PXP_STAT_IRQ_MASK (0x1U)
  69675. #define PXP_STAT_IRQ_SHIFT (0U)
  69676. /*! IRQ
  69677. * 0b0..No interrupt
  69678. * 0b1..Interrupt generated
  69679. */
  69680. #define PXP_STAT_IRQ(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_IRQ_SHIFT)) & PXP_STAT_IRQ_MASK)
  69681. #define PXP_STAT_AXI_WRITE_ERROR_MASK (0x2U)
  69682. #define PXP_STAT_AXI_WRITE_ERROR_SHIFT (1U)
  69683. /*! AXI_WRITE_ERROR
  69684. * 0b0..AXI write is normal
  69685. * 0b1..AXI write error has occurred
  69686. */
  69687. #define PXP_STAT_AXI_WRITE_ERROR(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_AXI_WRITE_ERROR_SHIFT)) & PXP_STAT_AXI_WRITE_ERROR_MASK)
  69688. #define PXP_STAT_AXI_READ_ERROR_MASK (0x4U)
  69689. #define PXP_STAT_AXI_READ_ERROR_SHIFT (2U)
  69690. /*! AXI_READ_ERROR
  69691. * 0b0..AXI read is normal
  69692. * 0b1..AXI read error has occurred
  69693. */
  69694. #define PXP_STAT_AXI_READ_ERROR(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_AXI_READ_ERROR_SHIFT)) & PXP_STAT_AXI_READ_ERROR_MASK)
  69695. #define PXP_STAT_NEXT_IRQ_MASK (0x8U)
  69696. #define PXP_STAT_NEXT_IRQ_SHIFT (3U)
  69697. #define PXP_STAT_NEXT_IRQ(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_NEXT_IRQ_SHIFT)) & PXP_STAT_NEXT_IRQ_MASK)
  69698. #define PXP_STAT_AXI_ERROR_ID_MASK (0xF0U)
  69699. #define PXP_STAT_AXI_ERROR_ID_SHIFT (4U)
  69700. #define PXP_STAT_AXI_ERROR_ID(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_AXI_ERROR_ID_SHIFT)) & PXP_STAT_AXI_ERROR_ID_MASK)
  69701. #define PXP_STAT_LUT_DMA_LOAD_DONE_IRQ_MASK (0x100U)
  69702. #define PXP_STAT_LUT_DMA_LOAD_DONE_IRQ_SHIFT (8U)
  69703. /*! LUT_DMA_LOAD_DONE_IRQ
  69704. * 0b0..LUT DMA LOAD transfer is active
  69705. * 0b1..LUT DMA LOAD transfer is complete
  69706. */
  69707. #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)
  69708. #define PXP_STAT_BLOCKY_MASK (0xFF0000U)
  69709. #define PXP_STAT_BLOCKY_SHIFT (16U)
  69710. #define PXP_STAT_BLOCKY(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_BLOCKY_SHIFT)) & PXP_STAT_BLOCKY_MASK)
  69711. #define PXP_STAT_BLOCKX_MASK (0xFF000000U)
  69712. #define PXP_STAT_BLOCKX_SHIFT (24U)
  69713. #define PXP_STAT_BLOCKX(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_BLOCKX_SHIFT)) & PXP_STAT_BLOCKX_MASK)
  69714. /*! @} */
  69715. /*! @name STAT_SET - Status Register */
  69716. /*! @{ */
  69717. #define PXP_STAT_SET_IRQ_MASK (0x1U)
  69718. #define PXP_STAT_SET_IRQ_SHIFT (0U)
  69719. /*! IRQ
  69720. * 0b0..No interrupt
  69721. * 0b1..Interrupt generated
  69722. */
  69723. #define PXP_STAT_SET_IRQ(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_SET_IRQ_SHIFT)) & PXP_STAT_SET_IRQ_MASK)
  69724. #define PXP_STAT_SET_AXI_WRITE_ERROR_MASK (0x2U)
  69725. #define PXP_STAT_SET_AXI_WRITE_ERROR_SHIFT (1U)
  69726. /*! AXI_WRITE_ERROR
  69727. * 0b0..AXI write is normal
  69728. * 0b1..AXI write error has occurred
  69729. */
  69730. #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)
  69731. #define PXP_STAT_SET_AXI_READ_ERROR_MASK (0x4U)
  69732. #define PXP_STAT_SET_AXI_READ_ERROR_SHIFT (2U)
  69733. /*! AXI_READ_ERROR
  69734. * 0b0..AXI read is normal
  69735. * 0b1..AXI read error has occurred
  69736. */
  69737. #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)
  69738. #define PXP_STAT_SET_NEXT_IRQ_MASK (0x8U)
  69739. #define PXP_STAT_SET_NEXT_IRQ_SHIFT (3U)
  69740. #define PXP_STAT_SET_NEXT_IRQ(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_SET_NEXT_IRQ_SHIFT)) & PXP_STAT_SET_NEXT_IRQ_MASK)
  69741. #define PXP_STAT_SET_AXI_ERROR_ID_MASK (0xF0U)
  69742. #define PXP_STAT_SET_AXI_ERROR_ID_SHIFT (4U)
  69743. #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)
  69744. #define PXP_STAT_SET_LUT_DMA_LOAD_DONE_IRQ_MASK (0x100U)
  69745. #define PXP_STAT_SET_LUT_DMA_LOAD_DONE_IRQ_SHIFT (8U)
  69746. /*! LUT_DMA_LOAD_DONE_IRQ
  69747. * 0b0..LUT DMA LOAD transfer is active
  69748. * 0b1..LUT DMA LOAD transfer is complete
  69749. */
  69750. #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)
  69751. #define PXP_STAT_SET_BLOCKY_MASK (0xFF0000U)
  69752. #define PXP_STAT_SET_BLOCKY_SHIFT (16U)
  69753. #define PXP_STAT_SET_BLOCKY(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_SET_BLOCKY_SHIFT)) & PXP_STAT_SET_BLOCKY_MASK)
  69754. #define PXP_STAT_SET_BLOCKX_MASK (0xFF000000U)
  69755. #define PXP_STAT_SET_BLOCKX_SHIFT (24U)
  69756. #define PXP_STAT_SET_BLOCKX(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_SET_BLOCKX_SHIFT)) & PXP_STAT_SET_BLOCKX_MASK)
  69757. /*! @} */
  69758. /*! @name STAT_CLR - Status Register */
  69759. /*! @{ */
  69760. #define PXP_STAT_CLR_IRQ_MASK (0x1U)
  69761. #define PXP_STAT_CLR_IRQ_SHIFT (0U)
  69762. /*! IRQ
  69763. * 0b0..No interrupt
  69764. * 0b1..Interrupt generated
  69765. */
  69766. #define PXP_STAT_CLR_IRQ(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_CLR_IRQ_SHIFT)) & PXP_STAT_CLR_IRQ_MASK)
  69767. #define PXP_STAT_CLR_AXI_WRITE_ERROR_MASK (0x2U)
  69768. #define PXP_STAT_CLR_AXI_WRITE_ERROR_SHIFT (1U)
  69769. /*! AXI_WRITE_ERROR
  69770. * 0b0..AXI write is normal
  69771. * 0b1..AXI write error has occurred
  69772. */
  69773. #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)
  69774. #define PXP_STAT_CLR_AXI_READ_ERROR_MASK (0x4U)
  69775. #define PXP_STAT_CLR_AXI_READ_ERROR_SHIFT (2U)
  69776. /*! AXI_READ_ERROR
  69777. * 0b0..AXI read is normal
  69778. * 0b1..AXI read error has occurred
  69779. */
  69780. #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)
  69781. #define PXP_STAT_CLR_NEXT_IRQ_MASK (0x8U)
  69782. #define PXP_STAT_CLR_NEXT_IRQ_SHIFT (3U)
  69783. #define PXP_STAT_CLR_NEXT_IRQ(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_CLR_NEXT_IRQ_SHIFT)) & PXP_STAT_CLR_NEXT_IRQ_MASK)
  69784. #define PXP_STAT_CLR_AXI_ERROR_ID_MASK (0xF0U)
  69785. #define PXP_STAT_CLR_AXI_ERROR_ID_SHIFT (4U)
  69786. #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)
  69787. #define PXP_STAT_CLR_LUT_DMA_LOAD_DONE_IRQ_MASK (0x100U)
  69788. #define PXP_STAT_CLR_LUT_DMA_LOAD_DONE_IRQ_SHIFT (8U)
  69789. /*! LUT_DMA_LOAD_DONE_IRQ
  69790. * 0b0..LUT DMA LOAD transfer is active
  69791. * 0b1..LUT DMA LOAD transfer is complete
  69792. */
  69793. #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)
  69794. #define PXP_STAT_CLR_BLOCKY_MASK (0xFF0000U)
  69795. #define PXP_STAT_CLR_BLOCKY_SHIFT (16U)
  69796. #define PXP_STAT_CLR_BLOCKY(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_CLR_BLOCKY_SHIFT)) & PXP_STAT_CLR_BLOCKY_MASK)
  69797. #define PXP_STAT_CLR_BLOCKX_MASK (0xFF000000U)
  69798. #define PXP_STAT_CLR_BLOCKX_SHIFT (24U)
  69799. #define PXP_STAT_CLR_BLOCKX(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_CLR_BLOCKX_SHIFT)) & PXP_STAT_CLR_BLOCKX_MASK)
  69800. /*! @} */
  69801. /*! @name STAT_TOG - Status Register */
  69802. /*! @{ */
  69803. #define PXP_STAT_TOG_IRQ_MASK (0x1U)
  69804. #define PXP_STAT_TOG_IRQ_SHIFT (0U)
  69805. /*! IRQ
  69806. * 0b0..No interrupt
  69807. * 0b1..Interrupt generated
  69808. */
  69809. #define PXP_STAT_TOG_IRQ(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_TOG_IRQ_SHIFT)) & PXP_STAT_TOG_IRQ_MASK)
  69810. #define PXP_STAT_TOG_AXI_WRITE_ERROR_MASK (0x2U)
  69811. #define PXP_STAT_TOG_AXI_WRITE_ERROR_SHIFT (1U)
  69812. /*! AXI_WRITE_ERROR
  69813. * 0b0..AXI write is normal
  69814. * 0b1..AXI write error has occurred
  69815. */
  69816. #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)
  69817. #define PXP_STAT_TOG_AXI_READ_ERROR_MASK (0x4U)
  69818. #define PXP_STAT_TOG_AXI_READ_ERROR_SHIFT (2U)
  69819. /*! AXI_READ_ERROR
  69820. * 0b0..AXI read is normal
  69821. * 0b1..AXI read error has occurred
  69822. */
  69823. #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)
  69824. #define PXP_STAT_TOG_NEXT_IRQ_MASK (0x8U)
  69825. #define PXP_STAT_TOG_NEXT_IRQ_SHIFT (3U)
  69826. #define PXP_STAT_TOG_NEXT_IRQ(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_TOG_NEXT_IRQ_SHIFT)) & PXP_STAT_TOG_NEXT_IRQ_MASK)
  69827. #define PXP_STAT_TOG_AXI_ERROR_ID_MASK (0xF0U)
  69828. #define PXP_STAT_TOG_AXI_ERROR_ID_SHIFT (4U)
  69829. #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)
  69830. #define PXP_STAT_TOG_LUT_DMA_LOAD_DONE_IRQ_MASK (0x100U)
  69831. #define PXP_STAT_TOG_LUT_DMA_LOAD_DONE_IRQ_SHIFT (8U)
  69832. /*! LUT_DMA_LOAD_DONE_IRQ
  69833. * 0b0..LUT DMA LOAD transfer is active
  69834. * 0b1..LUT DMA LOAD transfer is complete
  69835. */
  69836. #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)
  69837. #define PXP_STAT_TOG_BLOCKY_MASK (0xFF0000U)
  69838. #define PXP_STAT_TOG_BLOCKY_SHIFT (16U)
  69839. #define PXP_STAT_TOG_BLOCKY(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_TOG_BLOCKY_SHIFT)) & PXP_STAT_TOG_BLOCKY_MASK)
  69840. #define PXP_STAT_TOG_BLOCKX_MASK (0xFF000000U)
  69841. #define PXP_STAT_TOG_BLOCKX_SHIFT (24U)
  69842. #define PXP_STAT_TOG_BLOCKX(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_TOG_BLOCKX_SHIFT)) & PXP_STAT_TOG_BLOCKX_MASK)
  69843. /*! @} */
  69844. /*! @name OUT_CTRL - Output Buffer Control Register */
  69845. /*! @{ */
  69846. #define PXP_OUT_CTRL_FORMAT_MASK (0x1FU)
  69847. #define PXP_OUT_CTRL_FORMAT_SHIFT (0U)
  69848. /*! FORMAT
  69849. * 0b00000..32-bit pixels
  69850. * 0b00100..32-bit pixels (unpacked 24-bit pixel in 32 bit DWORD.)
  69851. * 0b00101..24-bit pixels (packed 24-bit format)
  69852. * 0b01000..16-bit pixels
  69853. * 0b01001..16-bit pixels
  69854. * 0b01100..16-bit pixels
  69855. * 0b01101..16-bit pixels
  69856. * 0b01110..16-bit pixels
  69857. * 0b10000..32-bit pixels (1-plane XYUV unpacked)
  69858. * 0b10010..16-bit pixels (1-plane U0,Y0,V0,Y1 interleaved bytes)
  69859. * 0b10011..16-bit pixels (1-plane V0,Y0,U0,Y1 interleaved bytes)
  69860. * 0b10100..8-bit monochrome pixels (1-plane Y luma output)
  69861. * 0b10101..4-bit monochrome pixels (1-plane Y luma, 4 bit truncation)
  69862. * 0b11000..16-bit pixels (2-plane UV interleaved bytes)
  69863. * 0b11001..16-bit pixels (2-plane UV)
  69864. * 0b11010..16-bit pixels (2-plane VU interleaved bytes)
  69865. * 0b11011..16-bit pixels (2-plane VU)
  69866. */
  69867. #define PXP_OUT_CTRL_FORMAT(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_FORMAT_SHIFT)) & PXP_OUT_CTRL_FORMAT_MASK)
  69868. #define PXP_OUT_CTRL_INTERLACED_OUTPUT_MASK (0x300U)
  69869. #define PXP_OUT_CTRL_INTERLACED_OUTPUT_SHIFT (8U)
  69870. /*! INTERLACED_OUTPUT
  69871. * 0b00..All data written in progressive format to the OUTBUF Pointer.
  69872. * 0b01..Interlaced output: only data for field 0 is written to the OUTBUF Pointer.
  69873. * 0b10..Interlaced output: only data for field 1 is written to the OUTBUF2 Pointer.
  69874. * 0b11..Interlaced output: data for field 0 is written to OUTBUF and data for field 1 is written to OUTBUF2.
  69875. */
  69876. #define PXP_OUT_CTRL_INTERLACED_OUTPUT(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_INTERLACED_OUTPUT_SHIFT)) & PXP_OUT_CTRL_INTERLACED_OUTPUT_MASK)
  69877. #define PXP_OUT_CTRL_ALPHA_OUTPUT_MASK (0x800000U)
  69878. #define PXP_OUT_CTRL_ALPHA_OUTPUT_SHIFT (23U)
  69879. /*! ALPHA_OUTPUT
  69880. * 0b0..Retain
  69881. * 0b1..Overwritten
  69882. */
  69883. #define PXP_OUT_CTRL_ALPHA_OUTPUT(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_ALPHA_OUTPUT_SHIFT)) & PXP_OUT_CTRL_ALPHA_OUTPUT_MASK)
  69884. #define PXP_OUT_CTRL_ALPHA_MASK (0xFF000000U)
  69885. #define PXP_OUT_CTRL_ALPHA_SHIFT (24U)
  69886. #define PXP_OUT_CTRL_ALPHA(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_ALPHA_SHIFT)) & PXP_OUT_CTRL_ALPHA_MASK)
  69887. /*! @} */
  69888. /*! @name OUT_CTRL_SET - Output Buffer Control Register */
  69889. /*! @{ */
  69890. #define PXP_OUT_CTRL_SET_FORMAT_MASK (0x1FU)
  69891. #define PXP_OUT_CTRL_SET_FORMAT_SHIFT (0U)
  69892. /*! FORMAT
  69893. * 0b00000..32-bit pixels
  69894. * 0b00100..32-bit pixels (unpacked 24-bit pixel in 32 bit DWORD.)
  69895. * 0b00101..24-bit pixels (packed 24-bit format)
  69896. * 0b01000..16-bit pixels
  69897. * 0b01001..16-bit pixels
  69898. * 0b01100..16-bit pixels
  69899. * 0b01101..16-bit pixels
  69900. * 0b01110..16-bit pixels
  69901. * 0b10000..32-bit pixels (1-plane XYUV unpacked)
  69902. * 0b10010..16-bit pixels (1-plane U0,Y0,V0,Y1 interleaved bytes)
  69903. * 0b10011..16-bit pixels (1-plane V0,Y0,U0,Y1 interleaved bytes)
  69904. * 0b10100..8-bit monochrome pixels (1-plane Y luma output)
  69905. * 0b10101..4-bit monochrome pixels (1-plane Y luma, 4 bit truncation)
  69906. * 0b11000..16-bit pixels (2-plane UV interleaved bytes)
  69907. * 0b11001..16-bit pixels (2-plane UV)
  69908. * 0b11010..16-bit pixels (2-plane VU interleaved bytes)
  69909. * 0b11011..16-bit pixels (2-plane VU)
  69910. */
  69911. #define PXP_OUT_CTRL_SET_FORMAT(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_SET_FORMAT_SHIFT)) & PXP_OUT_CTRL_SET_FORMAT_MASK)
  69912. #define PXP_OUT_CTRL_SET_INTERLACED_OUTPUT_MASK (0x300U)
  69913. #define PXP_OUT_CTRL_SET_INTERLACED_OUTPUT_SHIFT (8U)
  69914. /*! INTERLACED_OUTPUT
  69915. * 0b00..All data written in progressive format to the OUTBUF Pointer.
  69916. * 0b01..Interlaced output: only data for field 0 is written to the OUTBUF Pointer.
  69917. * 0b10..Interlaced output: only data for field 1 is written to the OUTBUF2 Pointer.
  69918. * 0b11..Interlaced output: data for field 0 is written to OUTBUF and data for field 1 is written to OUTBUF2.
  69919. */
  69920. #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)
  69921. #define PXP_OUT_CTRL_SET_ALPHA_OUTPUT_MASK (0x800000U)
  69922. #define PXP_OUT_CTRL_SET_ALPHA_OUTPUT_SHIFT (23U)
  69923. /*! ALPHA_OUTPUT
  69924. * 0b0..Retain
  69925. * 0b1..Overwritten
  69926. */
  69927. #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)
  69928. #define PXP_OUT_CTRL_SET_ALPHA_MASK (0xFF000000U)
  69929. #define PXP_OUT_CTRL_SET_ALPHA_SHIFT (24U)
  69930. #define PXP_OUT_CTRL_SET_ALPHA(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_SET_ALPHA_SHIFT)) & PXP_OUT_CTRL_SET_ALPHA_MASK)
  69931. /*! @} */
  69932. /*! @name OUT_CTRL_CLR - Output Buffer Control Register */
  69933. /*! @{ */
  69934. #define PXP_OUT_CTRL_CLR_FORMAT_MASK (0x1FU)
  69935. #define PXP_OUT_CTRL_CLR_FORMAT_SHIFT (0U)
  69936. /*! FORMAT
  69937. * 0b00000..32-bit pixels
  69938. * 0b00100..32-bit pixels (unpacked 24-bit pixel in 32 bit DWORD.)
  69939. * 0b00101..24-bit pixels (packed 24-bit format)
  69940. * 0b01000..16-bit pixels
  69941. * 0b01001..16-bit pixels
  69942. * 0b01100..16-bit pixels
  69943. * 0b01101..16-bit pixels
  69944. * 0b01110..16-bit pixels
  69945. * 0b10000..32-bit pixels (1-plane XYUV unpacked)
  69946. * 0b10010..16-bit pixels (1-plane U0,Y0,V0,Y1 interleaved bytes)
  69947. * 0b10011..16-bit pixels (1-plane V0,Y0,U0,Y1 interleaved bytes)
  69948. * 0b10100..8-bit monochrome pixels (1-plane Y luma output)
  69949. * 0b10101..4-bit monochrome pixels (1-plane Y luma, 4 bit truncation)
  69950. * 0b11000..16-bit pixels (2-plane UV interleaved bytes)
  69951. * 0b11001..16-bit pixels (2-plane UV)
  69952. * 0b11010..16-bit pixels (2-plane VU interleaved bytes)
  69953. * 0b11011..16-bit pixels (2-plane VU)
  69954. */
  69955. #define PXP_OUT_CTRL_CLR_FORMAT(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_CLR_FORMAT_SHIFT)) & PXP_OUT_CTRL_CLR_FORMAT_MASK)
  69956. #define PXP_OUT_CTRL_CLR_INTERLACED_OUTPUT_MASK (0x300U)
  69957. #define PXP_OUT_CTRL_CLR_INTERLACED_OUTPUT_SHIFT (8U)
  69958. /*! INTERLACED_OUTPUT
  69959. * 0b00..All data written in progressive format to the OUTBUF Pointer.
  69960. * 0b01..Interlaced output: only data for field 0 is written to the OUTBUF Pointer.
  69961. * 0b10..Interlaced output: only data for field 1 is written to the OUTBUF2 Pointer.
  69962. * 0b11..Interlaced output: data for field 0 is written to OUTBUF and data for field 1 is written to OUTBUF2.
  69963. */
  69964. #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)
  69965. #define PXP_OUT_CTRL_CLR_ALPHA_OUTPUT_MASK (0x800000U)
  69966. #define PXP_OUT_CTRL_CLR_ALPHA_OUTPUT_SHIFT (23U)
  69967. /*! ALPHA_OUTPUT
  69968. * 0b0..Retain
  69969. * 0b1..Overwritten
  69970. */
  69971. #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)
  69972. #define PXP_OUT_CTRL_CLR_ALPHA_MASK (0xFF000000U)
  69973. #define PXP_OUT_CTRL_CLR_ALPHA_SHIFT (24U)
  69974. #define PXP_OUT_CTRL_CLR_ALPHA(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_CLR_ALPHA_SHIFT)) & PXP_OUT_CTRL_CLR_ALPHA_MASK)
  69975. /*! @} */
  69976. /*! @name OUT_CTRL_TOG - Output Buffer Control Register */
  69977. /*! @{ */
  69978. #define PXP_OUT_CTRL_TOG_FORMAT_MASK (0x1FU)
  69979. #define PXP_OUT_CTRL_TOG_FORMAT_SHIFT (0U)
  69980. /*! FORMAT
  69981. * 0b00000..32-bit pixels
  69982. * 0b00100..32-bit pixels (unpacked 24-bit pixel in 32 bit DWORD.)
  69983. * 0b00101..24-bit pixels (packed 24-bit format)
  69984. * 0b01000..16-bit pixels
  69985. * 0b01001..16-bit pixels
  69986. * 0b01100..16-bit pixels
  69987. * 0b01101..16-bit pixels
  69988. * 0b01110..16-bit pixels
  69989. * 0b10000..32-bit pixels (1-plane XYUV unpacked)
  69990. * 0b10010..16-bit pixels (1-plane U0,Y0,V0,Y1 interleaved bytes)
  69991. * 0b10011..16-bit pixels (1-plane V0,Y0,U0,Y1 interleaved bytes)
  69992. * 0b10100..8-bit monochrome pixels (1-plane Y luma output)
  69993. * 0b10101..4-bit monochrome pixels (1-plane Y luma, 4 bit truncation)
  69994. * 0b11000..16-bit pixels (2-plane UV interleaved bytes)
  69995. * 0b11001..16-bit pixels (2-plane UV)
  69996. * 0b11010..16-bit pixels (2-plane VU interleaved bytes)
  69997. * 0b11011..16-bit pixels (2-plane VU)
  69998. */
  69999. #define PXP_OUT_CTRL_TOG_FORMAT(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_TOG_FORMAT_SHIFT)) & PXP_OUT_CTRL_TOG_FORMAT_MASK)
  70000. #define PXP_OUT_CTRL_TOG_INTERLACED_OUTPUT_MASK (0x300U)
  70001. #define PXP_OUT_CTRL_TOG_INTERLACED_OUTPUT_SHIFT (8U)
  70002. /*! INTERLACED_OUTPUT
  70003. * 0b00..All data written in progressive format to the OUTBUF Pointer.
  70004. * 0b01..Interlaced output: only data for field 0 is written to the OUTBUF Pointer.
  70005. * 0b10..Interlaced output: only data for field 1 is written to the OUTBUF2 Pointer.
  70006. * 0b11..Interlaced output: data for field 0 is written to OUTBUF and data for field 1 is written to OUTBUF2.
  70007. */
  70008. #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)
  70009. #define PXP_OUT_CTRL_TOG_ALPHA_OUTPUT_MASK (0x800000U)
  70010. #define PXP_OUT_CTRL_TOG_ALPHA_OUTPUT_SHIFT (23U)
  70011. /*! ALPHA_OUTPUT
  70012. * 0b0..Retain
  70013. * 0b1..Overwritten
  70014. */
  70015. #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)
  70016. #define PXP_OUT_CTRL_TOG_ALPHA_MASK (0xFF000000U)
  70017. #define PXP_OUT_CTRL_TOG_ALPHA_SHIFT (24U)
  70018. #define PXP_OUT_CTRL_TOG_ALPHA(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_TOG_ALPHA_SHIFT)) & PXP_OUT_CTRL_TOG_ALPHA_MASK)
  70019. /*! @} */
  70020. /*! @name OUT_BUF - Output Frame Buffer Pointer */
  70021. /*! @{ */
  70022. #define PXP_OUT_BUF_ADDR_MASK (0xFFFFFFFFU)
  70023. #define PXP_OUT_BUF_ADDR_SHIFT (0U)
  70024. #define PXP_OUT_BUF_ADDR(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_BUF_ADDR_SHIFT)) & PXP_OUT_BUF_ADDR_MASK)
  70025. /*! @} */
  70026. /*! @name OUT_BUF2 - Output Frame Buffer Pointer #2 */
  70027. /*! @{ */
  70028. #define PXP_OUT_BUF2_ADDR_MASK (0xFFFFFFFFU)
  70029. #define PXP_OUT_BUF2_ADDR_SHIFT (0U)
  70030. #define PXP_OUT_BUF2_ADDR(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_BUF2_ADDR_SHIFT)) & PXP_OUT_BUF2_ADDR_MASK)
  70031. /*! @} */
  70032. /*! @name OUT_PITCH - Output Buffer Pitch */
  70033. /*! @{ */
  70034. #define PXP_OUT_PITCH_PITCH_MASK (0xFFFFU)
  70035. #define PXP_OUT_PITCH_PITCH_SHIFT (0U)
  70036. #define PXP_OUT_PITCH_PITCH(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_PITCH_PITCH_SHIFT)) & PXP_OUT_PITCH_PITCH_MASK)
  70037. /*! @} */
  70038. /*! @name OUT_LRC - Output Surface Lower Right Coordinate */
  70039. /*! @{ */
  70040. #define PXP_OUT_LRC_Y_MASK (0x3FFFU)
  70041. #define PXP_OUT_LRC_Y_SHIFT (0U)
  70042. #define PXP_OUT_LRC_Y(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_LRC_Y_SHIFT)) & PXP_OUT_LRC_Y_MASK)
  70043. #define PXP_OUT_LRC_X_MASK (0x3FFF0000U)
  70044. #define PXP_OUT_LRC_X_SHIFT (16U)
  70045. #define PXP_OUT_LRC_X(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_LRC_X_SHIFT)) & PXP_OUT_LRC_X_MASK)
  70046. /*! @} */
  70047. /*! @name OUT_PS_ULC - Processed Surface Upper Left Coordinate */
  70048. /*! @{ */
  70049. #define PXP_OUT_PS_ULC_Y_MASK (0x3FFFU)
  70050. #define PXP_OUT_PS_ULC_Y_SHIFT (0U)
  70051. #define PXP_OUT_PS_ULC_Y(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_PS_ULC_Y_SHIFT)) & PXP_OUT_PS_ULC_Y_MASK)
  70052. #define PXP_OUT_PS_ULC_X_MASK (0x3FFF0000U)
  70053. #define PXP_OUT_PS_ULC_X_SHIFT (16U)
  70054. #define PXP_OUT_PS_ULC_X(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_PS_ULC_X_SHIFT)) & PXP_OUT_PS_ULC_X_MASK)
  70055. /*! @} */
  70056. /*! @name OUT_PS_LRC - Processed Surface Lower Right Coordinate */
  70057. /*! @{ */
  70058. #define PXP_OUT_PS_LRC_Y_MASK (0x3FFFU)
  70059. #define PXP_OUT_PS_LRC_Y_SHIFT (0U)
  70060. #define PXP_OUT_PS_LRC_Y(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_PS_LRC_Y_SHIFT)) & PXP_OUT_PS_LRC_Y_MASK)
  70061. #define PXP_OUT_PS_LRC_X_MASK (0x3FFF0000U)
  70062. #define PXP_OUT_PS_LRC_X_SHIFT (16U)
  70063. #define PXP_OUT_PS_LRC_X(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_PS_LRC_X_SHIFT)) & PXP_OUT_PS_LRC_X_MASK)
  70064. /*! @} */
  70065. /*! @name OUT_AS_ULC - Alpha Surface Upper Left Coordinate */
  70066. /*! @{ */
  70067. #define PXP_OUT_AS_ULC_Y_MASK (0x3FFFU)
  70068. #define PXP_OUT_AS_ULC_Y_SHIFT (0U)
  70069. #define PXP_OUT_AS_ULC_Y(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_AS_ULC_Y_SHIFT)) & PXP_OUT_AS_ULC_Y_MASK)
  70070. #define PXP_OUT_AS_ULC_X_MASK (0x3FFF0000U)
  70071. #define PXP_OUT_AS_ULC_X_SHIFT (16U)
  70072. #define PXP_OUT_AS_ULC_X(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_AS_ULC_X_SHIFT)) & PXP_OUT_AS_ULC_X_MASK)
  70073. /*! @} */
  70074. /*! @name OUT_AS_LRC - Alpha Surface Lower Right Coordinate */
  70075. /*! @{ */
  70076. #define PXP_OUT_AS_LRC_Y_MASK (0x3FFFU)
  70077. #define PXP_OUT_AS_LRC_Y_SHIFT (0U)
  70078. #define PXP_OUT_AS_LRC_Y(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_AS_LRC_Y_SHIFT)) & PXP_OUT_AS_LRC_Y_MASK)
  70079. #define PXP_OUT_AS_LRC_X_MASK (0x3FFF0000U)
  70080. #define PXP_OUT_AS_LRC_X_SHIFT (16U)
  70081. #define PXP_OUT_AS_LRC_X(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_AS_LRC_X_SHIFT)) & PXP_OUT_AS_LRC_X_MASK)
  70082. /*! @} */
  70083. /*! @name PS_CTRL - Processed Surface (PS) Control Register */
  70084. /*! @{ */
  70085. #define PXP_PS_CTRL_FORMAT_MASK (0x3FU)
  70086. #define PXP_PS_CTRL_FORMAT_SHIFT (0U)
  70087. /*! FORMAT
  70088. * 0b000100..32-bit pixels (unpacked 24-bit format with/without alpha at high 8bits)
  70089. * 0b001100..16-bit pixels with/without alpha at high 1bit
  70090. * 0b001101..16-bit pixels with/without alpha at high 4 bits
  70091. * 0b001110..16-bit pixels
  70092. * 0b010000..32-bit pixels (1-plane XYUV unpacked)
  70093. * 0b010010..16-bit pixels (1-plane U0,Y0,V0,Y1 interleaved bytes)
  70094. * 0b010011..16-bit pixels (1-plane V0,Y0,U0,Y1 interleaved bytes)
  70095. * 0b010100..8-bit monochrome pixels (1-plane Y luma output)
  70096. * 0b010101..4-bit monochrome pixels (1-plane Y luma, 4 bit truncation)
  70097. * 0b011000..16-bit pixels (2-plane UV interleaved bytes)
  70098. * 0b011001..16-bit pixels (2-plane UV)
  70099. * 0b011010..16-bit pixels (2-plane VU interleaved bytes)
  70100. * 0b011011..16-bit pixels (2-plane VU)
  70101. * 0b011110..16-bit pixels (3-plane format)
  70102. * 0b011111..16-bit pixels (3-plane format)
  70103. * 0b100100..2-bit pixels with alpha at the low 8 bits
  70104. * 0b101100..16-bit pixels with alpha at the low 1bits
  70105. * 0b101101..16-bit pixels with alpha at the low 4 bits
  70106. */
  70107. #define PXP_PS_CTRL_FORMAT(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_FORMAT_SHIFT)) & PXP_PS_CTRL_FORMAT_MASK)
  70108. #define PXP_PS_CTRL_WB_SWAP_MASK (0x40U)
  70109. #define PXP_PS_CTRL_WB_SWAP_SHIFT (6U)
  70110. /*! WB_SWAP
  70111. * 0b0..Byte swap is disabled
  70112. * 0b1..Byte swap is enabled
  70113. */
  70114. #define PXP_PS_CTRL_WB_SWAP(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_WB_SWAP_SHIFT)) & PXP_PS_CTRL_WB_SWAP_MASK)
  70115. #define PXP_PS_CTRL_DECY_MASK (0x300U)
  70116. #define PXP_PS_CTRL_DECY_SHIFT (8U)
  70117. /*! DECY
  70118. * 0b00..Disable pre-decimation filter.
  70119. * 0b01..Decimate PS by 2.
  70120. * 0b10..Decimate PS by 4.
  70121. * 0b11..Decimate PS by 8.
  70122. */
  70123. #define PXP_PS_CTRL_DECY(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_DECY_SHIFT)) & PXP_PS_CTRL_DECY_MASK)
  70124. #define PXP_PS_CTRL_DECX_MASK (0xC00U)
  70125. #define PXP_PS_CTRL_DECX_SHIFT (10U)
  70126. /*! DECX
  70127. * 0b00..Disable pre-decimation filter.
  70128. * 0b01..Decimate PS by 2.
  70129. * 0b10..Decimate PS by 4.
  70130. * 0b11..Decimate PS by 8.
  70131. */
  70132. #define PXP_PS_CTRL_DECX(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_DECX_SHIFT)) & PXP_PS_CTRL_DECX_MASK)
  70133. /*! @} */
  70134. /*! @name PS_CTRL_SET - Processed Surface (PS) Control Register */
  70135. /*! @{ */
  70136. #define PXP_PS_CTRL_SET_FORMAT_MASK (0x3FU)
  70137. #define PXP_PS_CTRL_SET_FORMAT_SHIFT (0U)
  70138. /*! FORMAT
  70139. * 0b000100..32-bit pixels (unpacked 24-bit format with/without alpha at high 8bits)
  70140. * 0b001100..16-bit pixels with/without alpha at high 1bit
  70141. * 0b001101..16-bit pixels with/without alpha at high 4 bits
  70142. * 0b001110..16-bit pixels
  70143. * 0b010000..32-bit pixels (1-plane XYUV unpacked)
  70144. * 0b010010..16-bit pixels (1-plane U0,Y0,V0,Y1 interleaved bytes)
  70145. * 0b010011..16-bit pixels (1-plane V0,Y0,U0,Y1 interleaved bytes)
  70146. * 0b010100..8-bit monochrome pixels (1-plane Y luma output)
  70147. * 0b010101..4-bit monochrome pixels (1-plane Y luma, 4 bit truncation)
  70148. * 0b011000..16-bit pixels (2-plane UV interleaved bytes)
  70149. * 0b011001..16-bit pixels (2-plane UV)
  70150. * 0b011010..16-bit pixels (2-plane VU interleaved bytes)
  70151. * 0b011011..16-bit pixels (2-plane VU)
  70152. * 0b011110..16-bit pixels (3-plane format)
  70153. * 0b011111..16-bit pixels (3-plane format)
  70154. * 0b100100..2-bit pixels with alpha at the low 8 bits
  70155. * 0b101100..16-bit pixels with alpha at the low 1bits
  70156. * 0b101101..16-bit pixels with alpha at the low 4 bits
  70157. */
  70158. #define PXP_PS_CTRL_SET_FORMAT(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_SET_FORMAT_SHIFT)) & PXP_PS_CTRL_SET_FORMAT_MASK)
  70159. #define PXP_PS_CTRL_SET_WB_SWAP_MASK (0x40U)
  70160. #define PXP_PS_CTRL_SET_WB_SWAP_SHIFT (6U)
  70161. /*! WB_SWAP
  70162. * 0b0..Byte swap is disabled
  70163. * 0b1..Byte swap is enabled
  70164. */
  70165. #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)
  70166. #define PXP_PS_CTRL_SET_DECY_MASK (0x300U)
  70167. #define PXP_PS_CTRL_SET_DECY_SHIFT (8U)
  70168. /*! DECY
  70169. * 0b00..Disable pre-decimation filter.
  70170. * 0b01..Decimate PS by 2.
  70171. * 0b10..Decimate PS by 4.
  70172. * 0b11..Decimate PS by 8.
  70173. */
  70174. #define PXP_PS_CTRL_SET_DECY(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_SET_DECY_SHIFT)) & PXP_PS_CTRL_SET_DECY_MASK)
  70175. #define PXP_PS_CTRL_SET_DECX_MASK (0xC00U)
  70176. #define PXP_PS_CTRL_SET_DECX_SHIFT (10U)
  70177. /*! DECX
  70178. * 0b00..Disable pre-decimation filter.
  70179. * 0b01..Decimate PS by 2.
  70180. * 0b10..Decimate PS by 4.
  70181. * 0b11..Decimate PS by 8.
  70182. */
  70183. #define PXP_PS_CTRL_SET_DECX(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_SET_DECX_SHIFT)) & PXP_PS_CTRL_SET_DECX_MASK)
  70184. /*! @} */
  70185. /*! @name PS_CTRL_CLR - Processed Surface (PS) Control Register */
  70186. /*! @{ */
  70187. #define PXP_PS_CTRL_CLR_FORMAT_MASK (0x3FU)
  70188. #define PXP_PS_CTRL_CLR_FORMAT_SHIFT (0U)
  70189. /*! FORMAT
  70190. * 0b000100..32-bit pixels (unpacked 24-bit format with/without alpha at high 8bits)
  70191. * 0b001100..16-bit pixels with/without alpha at high 1bit
  70192. * 0b001101..16-bit pixels with/without alpha at high 4 bits
  70193. * 0b001110..16-bit pixels
  70194. * 0b010000..32-bit pixels (1-plane XYUV unpacked)
  70195. * 0b010010..16-bit pixels (1-plane U0,Y0,V0,Y1 interleaved bytes)
  70196. * 0b010011..16-bit pixels (1-plane V0,Y0,U0,Y1 interleaved bytes)
  70197. * 0b010100..8-bit monochrome pixels (1-plane Y luma output)
  70198. * 0b010101..4-bit monochrome pixels (1-plane Y luma, 4 bit truncation)
  70199. * 0b011000..16-bit pixels (2-plane UV interleaved bytes)
  70200. * 0b011001..16-bit pixels (2-plane UV)
  70201. * 0b011010..16-bit pixels (2-plane VU interleaved bytes)
  70202. * 0b011011..16-bit pixels (2-plane VU)
  70203. * 0b011110..16-bit pixels (3-plane format)
  70204. * 0b011111..16-bit pixels (3-plane format)
  70205. * 0b100100..2-bit pixels with alpha at the low 8 bits
  70206. * 0b101100..16-bit pixels with alpha at the low 1bits
  70207. * 0b101101..16-bit pixels with alpha at the low 4 bits
  70208. */
  70209. #define PXP_PS_CTRL_CLR_FORMAT(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_CLR_FORMAT_SHIFT)) & PXP_PS_CTRL_CLR_FORMAT_MASK)
  70210. #define PXP_PS_CTRL_CLR_WB_SWAP_MASK (0x40U)
  70211. #define PXP_PS_CTRL_CLR_WB_SWAP_SHIFT (6U)
  70212. /*! WB_SWAP
  70213. * 0b0..Byte swap is disabled
  70214. * 0b1..Byte swap is enabled
  70215. */
  70216. #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)
  70217. #define PXP_PS_CTRL_CLR_DECY_MASK (0x300U)
  70218. #define PXP_PS_CTRL_CLR_DECY_SHIFT (8U)
  70219. /*! DECY
  70220. * 0b00..Disable pre-decimation filter.
  70221. * 0b01..Decimate PS by 2.
  70222. * 0b10..Decimate PS by 4.
  70223. * 0b11..Decimate PS by 8.
  70224. */
  70225. #define PXP_PS_CTRL_CLR_DECY(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_CLR_DECY_SHIFT)) & PXP_PS_CTRL_CLR_DECY_MASK)
  70226. #define PXP_PS_CTRL_CLR_DECX_MASK (0xC00U)
  70227. #define PXP_PS_CTRL_CLR_DECX_SHIFT (10U)
  70228. /*! DECX
  70229. * 0b00..Disable pre-decimation filter.
  70230. * 0b01..Decimate PS by 2.
  70231. * 0b10..Decimate PS by 4.
  70232. * 0b11..Decimate PS by 8.
  70233. */
  70234. #define PXP_PS_CTRL_CLR_DECX(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_CLR_DECX_SHIFT)) & PXP_PS_CTRL_CLR_DECX_MASK)
  70235. /*! @} */
  70236. /*! @name PS_CTRL_TOG - Processed Surface (PS) Control Register */
  70237. /*! @{ */
  70238. #define PXP_PS_CTRL_TOG_FORMAT_MASK (0x3FU)
  70239. #define PXP_PS_CTRL_TOG_FORMAT_SHIFT (0U)
  70240. /*! FORMAT
  70241. * 0b000100..32-bit pixels (unpacked 24-bit format with/without alpha at high 8bits)
  70242. * 0b001100..16-bit pixels with/without alpha at high 1bit
  70243. * 0b001101..16-bit pixels with/without alpha at high 4 bits
  70244. * 0b001110..16-bit pixels
  70245. * 0b010000..32-bit pixels (1-plane XYUV unpacked)
  70246. * 0b010010..16-bit pixels (1-plane U0,Y0,V0,Y1 interleaved bytes)
  70247. * 0b010011..16-bit pixels (1-plane V0,Y0,U0,Y1 interleaved bytes)
  70248. * 0b010100..8-bit monochrome pixels (1-plane Y luma output)
  70249. * 0b010101..4-bit monochrome pixels (1-plane Y luma, 4 bit truncation)
  70250. * 0b011000..16-bit pixels (2-plane UV interleaved bytes)
  70251. * 0b011001..16-bit pixels (2-plane UV)
  70252. * 0b011010..16-bit pixels (2-plane VU interleaved bytes)
  70253. * 0b011011..16-bit pixels (2-plane VU)
  70254. * 0b011110..16-bit pixels (3-plane format)
  70255. * 0b011111..16-bit pixels (3-plane format)
  70256. * 0b100100..2-bit pixels with alpha at the low 8 bits
  70257. * 0b101100..16-bit pixels with alpha at the low 1bits
  70258. * 0b101101..16-bit pixels with alpha at the low 4 bits
  70259. */
  70260. #define PXP_PS_CTRL_TOG_FORMAT(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_TOG_FORMAT_SHIFT)) & PXP_PS_CTRL_TOG_FORMAT_MASK)
  70261. #define PXP_PS_CTRL_TOG_WB_SWAP_MASK (0x40U)
  70262. #define PXP_PS_CTRL_TOG_WB_SWAP_SHIFT (6U)
  70263. /*! WB_SWAP
  70264. * 0b0..Byte swap is disabled
  70265. * 0b1..Byte swap is enabled
  70266. */
  70267. #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)
  70268. #define PXP_PS_CTRL_TOG_DECY_MASK (0x300U)
  70269. #define PXP_PS_CTRL_TOG_DECY_SHIFT (8U)
  70270. /*! DECY
  70271. * 0b00..Disable pre-decimation filter.
  70272. * 0b01..Decimate PS by 2.
  70273. * 0b10..Decimate PS by 4.
  70274. * 0b11..Decimate PS by 8.
  70275. */
  70276. #define PXP_PS_CTRL_TOG_DECY(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_TOG_DECY_SHIFT)) & PXP_PS_CTRL_TOG_DECY_MASK)
  70277. #define PXP_PS_CTRL_TOG_DECX_MASK (0xC00U)
  70278. #define PXP_PS_CTRL_TOG_DECX_SHIFT (10U)
  70279. /*! DECX
  70280. * 0b00..Disable pre-decimation filter.
  70281. * 0b01..Decimate PS by 2.
  70282. * 0b10..Decimate PS by 4.
  70283. * 0b11..Decimate PS by 8.
  70284. */
  70285. #define PXP_PS_CTRL_TOG_DECX(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_TOG_DECX_SHIFT)) & PXP_PS_CTRL_TOG_DECX_MASK)
  70286. /*! @} */
  70287. /*! @name PS_BUF - PS Input Buffer Address */
  70288. /*! @{ */
  70289. #define PXP_PS_BUF_ADDR_MASK (0xFFFFFFFFU)
  70290. #define PXP_PS_BUF_ADDR_SHIFT (0U)
  70291. #define PXP_PS_BUF_ADDR(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_BUF_ADDR_SHIFT)) & PXP_PS_BUF_ADDR_MASK)
  70292. /*! @} */
  70293. /*! @name PS_UBUF - PS U/Cb or 2 Plane UV Input Buffer Address */
  70294. /*! @{ */
  70295. #define PXP_PS_UBUF_ADDR_MASK (0xFFFFFFFFU)
  70296. #define PXP_PS_UBUF_ADDR_SHIFT (0U)
  70297. #define PXP_PS_UBUF_ADDR(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_UBUF_ADDR_SHIFT)) & PXP_PS_UBUF_ADDR_MASK)
  70298. /*! @} */
  70299. /*! @name PS_VBUF - PS V/Cr Input Buffer Address */
  70300. /*! @{ */
  70301. #define PXP_PS_VBUF_ADDR_MASK (0xFFFFFFFFU)
  70302. #define PXP_PS_VBUF_ADDR_SHIFT (0U)
  70303. #define PXP_PS_VBUF_ADDR(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_VBUF_ADDR_SHIFT)) & PXP_PS_VBUF_ADDR_MASK)
  70304. /*! @} */
  70305. /*! @name PS_PITCH - Processed Surface Pitch */
  70306. /*! @{ */
  70307. #define PXP_PS_PITCH_PITCH_MASK (0xFFFFU)
  70308. #define PXP_PS_PITCH_PITCH_SHIFT (0U)
  70309. #define PXP_PS_PITCH_PITCH(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_PITCH_PITCH_SHIFT)) & PXP_PS_PITCH_PITCH_MASK)
  70310. /*! @} */
  70311. /*! @name PS_BACKGROUND - PS Background Color */
  70312. /*! @{ */
  70313. #define PXP_PS_BACKGROUND_COLOR_MASK (0xFFFFFFU)
  70314. #define PXP_PS_BACKGROUND_COLOR_SHIFT (0U)
  70315. #define PXP_PS_BACKGROUND_COLOR(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_BACKGROUND_COLOR_SHIFT)) & PXP_PS_BACKGROUND_COLOR_MASK)
  70316. /*! @} */
  70317. /*! @name PS_SCALE - PS Scale Factor Register */
  70318. /*! @{ */
  70319. #define PXP_PS_SCALE_XSCALE_MASK (0x7FFFU)
  70320. #define PXP_PS_SCALE_XSCALE_SHIFT (0U)
  70321. #define PXP_PS_SCALE_XSCALE(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_SCALE_XSCALE_SHIFT)) & PXP_PS_SCALE_XSCALE_MASK)
  70322. #define PXP_PS_SCALE_YSCALE_MASK (0x7FFF0000U)
  70323. #define PXP_PS_SCALE_YSCALE_SHIFT (16U)
  70324. #define PXP_PS_SCALE_YSCALE(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_SCALE_YSCALE_SHIFT)) & PXP_PS_SCALE_YSCALE_MASK)
  70325. /*! @} */
  70326. /*! @name PS_OFFSET - PS Scale Offset Register */
  70327. /*! @{ */
  70328. #define PXP_PS_OFFSET_XOFFSET_MASK (0xFFFU)
  70329. #define PXP_PS_OFFSET_XOFFSET_SHIFT (0U)
  70330. #define PXP_PS_OFFSET_XOFFSET(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_OFFSET_XOFFSET_SHIFT)) & PXP_PS_OFFSET_XOFFSET_MASK)
  70331. #define PXP_PS_OFFSET_YOFFSET_MASK (0xFFF0000U)
  70332. #define PXP_PS_OFFSET_YOFFSET_SHIFT (16U)
  70333. #define PXP_PS_OFFSET_YOFFSET(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_OFFSET_YOFFSET_SHIFT)) & PXP_PS_OFFSET_YOFFSET_MASK)
  70334. /*! @} */
  70335. /*! @name PS_CLRKEYLOW - PS Color Key Low */
  70336. /*! @{ */
  70337. #define PXP_PS_CLRKEYLOW_PIXEL_MASK (0xFFFFFFU)
  70338. #define PXP_PS_CLRKEYLOW_PIXEL_SHIFT (0U)
  70339. #define PXP_PS_CLRKEYLOW_PIXEL(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CLRKEYLOW_PIXEL_SHIFT)) & PXP_PS_CLRKEYLOW_PIXEL_MASK)
  70340. /*! @} */
  70341. /*! @name PS_CLRKEYHIGH - PS Color Key High */
  70342. /*! @{ */
  70343. #define PXP_PS_CLRKEYHIGH_PIXEL_MASK (0xFFFFFFU)
  70344. #define PXP_PS_CLRKEYHIGH_PIXEL_SHIFT (0U)
  70345. #define PXP_PS_CLRKEYHIGH_PIXEL(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CLRKEYHIGH_PIXEL_SHIFT)) & PXP_PS_CLRKEYHIGH_PIXEL_MASK)
  70346. /*! @} */
  70347. /*! @name AS_CTRL - Alpha Surface Control */
  70348. /*! @{ */
  70349. #define PXP_AS_CTRL_ALPHA_CTRL_MASK (0x6U)
  70350. #define PXP_AS_CTRL_ALPHA_CTRL_SHIFT (1U)
  70351. /*! ALPHA_CTRL
  70352. * 0b00..Indicates that the AS pixel alpha value will be used to blend the AS with PS. The ALPHA field is ignored.
  70353. * 0b01..Indicates that the value in the ALPHA field should be used instead of the alpha values present in the input pixels.
  70354. * 0b10..Indicates that the value in the ALPHA field should be used to scale all pixel alpha values. Each pixel
  70355. * alpha is multiplied by the value in the ALPHA field.
  70356. * 0b11..Enable ROPs. The ROP field indicates an operation to be performed on the alpha surface and PS pixels.
  70357. */
  70358. #define PXP_AS_CTRL_ALPHA_CTRL(x) (((uint32_t)(((uint32_t)(x)) << PXP_AS_CTRL_ALPHA_CTRL_SHIFT)) & PXP_AS_CTRL_ALPHA_CTRL_MASK)
  70359. #define PXP_AS_CTRL_ENABLE_COLORKEY_MASK (0x8U)
  70360. #define PXP_AS_CTRL_ENABLE_COLORKEY_SHIFT (3U)
  70361. /*! ENABLE_COLORKEY
  70362. * 0b0..Disabled
  70363. * 0b1..Enabled
  70364. */
  70365. #define PXP_AS_CTRL_ENABLE_COLORKEY(x) (((uint32_t)(((uint32_t)(x)) << PXP_AS_CTRL_ENABLE_COLORKEY_SHIFT)) & PXP_AS_CTRL_ENABLE_COLORKEY_MASK)
  70366. #define PXP_AS_CTRL_FORMAT_MASK (0xF0U)
  70367. #define PXP_AS_CTRL_FORMAT_SHIFT (4U)
  70368. /*! FORMAT
  70369. * 0b0000..32-bit pixels with alpha
  70370. * 0b0001..2-bit pixel with alpha at low 8 bits
  70371. * 0b0100..32-bit pixels without alpha (unpacked 24-bit format)
  70372. * 0b1000..16-bit pixels with alpha
  70373. * 0b1001..16-bit pixels with alpha
  70374. * 0b1010..16-bit pixel with alpha at low 1 bit
  70375. * 0b1011..16-bit pixel with alpha at low 4 bits
  70376. * 0b1100..16-bit pixels without alpha
  70377. * 0b1101..16-bit pixels without alpha
  70378. * 0b1110..16-bit pixels without alpha
  70379. */
  70380. #define PXP_AS_CTRL_FORMAT(x) (((uint32_t)(((uint32_t)(x)) << PXP_AS_CTRL_FORMAT_SHIFT)) & PXP_AS_CTRL_FORMAT_MASK)
  70381. #define PXP_AS_CTRL_ALPHA_MASK (0xFF00U)
  70382. #define PXP_AS_CTRL_ALPHA_SHIFT (8U)
  70383. #define PXP_AS_CTRL_ALPHA(x) (((uint32_t)(((uint32_t)(x)) << PXP_AS_CTRL_ALPHA_SHIFT)) & PXP_AS_CTRL_ALPHA_MASK)
  70384. #define PXP_AS_CTRL_ROP_MASK (0xF0000U)
  70385. #define PXP_AS_CTRL_ROP_SHIFT (16U)
  70386. /*! ROP
  70387. * 0b0000..AS AND PS
  70388. * 0b0001..nAS AND PS
  70389. * 0b0010..AS AND nPS
  70390. * 0b0011..AS OR PS
  70391. * 0b0100..nAS OR PS
  70392. * 0b0101..AS OR nPS
  70393. * 0b0110..nAS
  70394. * 0b0111..nPS
  70395. * 0b1000..AS NAND PS
  70396. * 0b1001..AS NOR PS
  70397. * 0b1010..AS XOR PS
  70398. * 0b1011..AS XNOR PS
  70399. */
  70400. #define PXP_AS_CTRL_ROP(x) (((uint32_t)(((uint32_t)(x)) << PXP_AS_CTRL_ROP_SHIFT)) & PXP_AS_CTRL_ROP_MASK)
  70401. #define PXP_AS_CTRL_ALPHA_INVERT_MASK (0x100000U)
  70402. #define PXP_AS_CTRL_ALPHA_INVERT_SHIFT (20U)
  70403. /*! ALPHA_INVERT
  70404. * 0b0..Not inverted
  70405. * 0b1..Inverted
  70406. */
  70407. #define PXP_AS_CTRL_ALPHA_INVERT(x) (((uint32_t)(((uint32_t)(x)) << PXP_AS_CTRL_ALPHA_INVERT_SHIFT)) & PXP_AS_CTRL_ALPHA_INVERT_MASK)
  70408. /*! @} */
  70409. /*! @name AS_BUF - Alpha Surface Buffer Pointer */
  70410. /*! @{ */
  70411. #define PXP_AS_BUF_ADDR_MASK (0xFFFFFFFFU)
  70412. #define PXP_AS_BUF_ADDR_SHIFT (0U)
  70413. #define PXP_AS_BUF_ADDR(x) (((uint32_t)(((uint32_t)(x)) << PXP_AS_BUF_ADDR_SHIFT)) & PXP_AS_BUF_ADDR_MASK)
  70414. /*! @} */
  70415. /*! @name AS_PITCH - Alpha Surface Pitch */
  70416. /*! @{ */
  70417. #define PXP_AS_PITCH_PITCH_MASK (0xFFFFU)
  70418. #define PXP_AS_PITCH_PITCH_SHIFT (0U)
  70419. #define PXP_AS_PITCH_PITCH(x) (((uint32_t)(((uint32_t)(x)) << PXP_AS_PITCH_PITCH_SHIFT)) & PXP_AS_PITCH_PITCH_MASK)
  70420. /*! @} */
  70421. /*! @name AS_CLRKEYLOW - Overlay Color Key Low */
  70422. /*! @{ */
  70423. #define PXP_AS_CLRKEYLOW_PIXEL_MASK (0xFFFFFFU)
  70424. #define PXP_AS_CLRKEYLOW_PIXEL_SHIFT (0U)
  70425. #define PXP_AS_CLRKEYLOW_PIXEL(x) (((uint32_t)(((uint32_t)(x)) << PXP_AS_CLRKEYLOW_PIXEL_SHIFT)) & PXP_AS_CLRKEYLOW_PIXEL_MASK)
  70426. /*! @} */
  70427. /*! @name AS_CLRKEYHIGH - Overlay Color Key High */
  70428. /*! @{ */
  70429. #define PXP_AS_CLRKEYHIGH_PIXEL_MASK (0xFFFFFFU)
  70430. #define PXP_AS_CLRKEYHIGH_PIXEL_SHIFT (0U)
  70431. #define PXP_AS_CLRKEYHIGH_PIXEL(x) (((uint32_t)(((uint32_t)(x)) << PXP_AS_CLRKEYHIGH_PIXEL_SHIFT)) & PXP_AS_CLRKEYHIGH_PIXEL_MASK)
  70432. /*! @} */
  70433. /*! @name CSC1_COEF0 - Color Space Conversion Coefficient Register 0 */
  70434. /*! @{ */
  70435. #define PXP_CSC1_COEF0_Y_OFFSET_MASK (0x1FFU)
  70436. #define PXP_CSC1_COEF0_Y_OFFSET_SHIFT (0U)
  70437. #define PXP_CSC1_COEF0_Y_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << PXP_CSC1_COEF0_Y_OFFSET_SHIFT)) & PXP_CSC1_COEF0_Y_OFFSET_MASK)
  70438. #define PXP_CSC1_COEF0_UV_OFFSET_MASK (0x3FE00U)
  70439. #define PXP_CSC1_COEF0_UV_OFFSET_SHIFT (9U)
  70440. #define PXP_CSC1_COEF0_UV_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << PXP_CSC1_COEF0_UV_OFFSET_SHIFT)) & PXP_CSC1_COEF0_UV_OFFSET_MASK)
  70441. #define PXP_CSC1_COEF0_C0_MASK (0x1FFC0000U)
  70442. #define PXP_CSC1_COEF0_C0_SHIFT (18U)
  70443. #define PXP_CSC1_COEF0_C0(x) (((uint32_t)(((uint32_t)(x)) << PXP_CSC1_COEF0_C0_SHIFT)) & PXP_CSC1_COEF0_C0_MASK)
  70444. #define PXP_CSC1_COEF0_BYPASS_MASK (0x40000000U)
  70445. #define PXP_CSC1_COEF0_BYPASS_SHIFT (30U)
  70446. #define PXP_CSC1_COEF0_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << PXP_CSC1_COEF0_BYPASS_SHIFT)) & PXP_CSC1_COEF0_BYPASS_MASK)
  70447. #define PXP_CSC1_COEF0_YCBCR_MODE_MASK (0x80000000U)
  70448. #define PXP_CSC1_COEF0_YCBCR_MODE_SHIFT (31U)
  70449. /*! YCBCR_MODE
  70450. * 0b0..YUV to RGB
  70451. * 0b1..YCbCr to RGB
  70452. */
  70453. #define PXP_CSC1_COEF0_YCBCR_MODE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CSC1_COEF0_YCBCR_MODE_SHIFT)) & PXP_CSC1_COEF0_YCBCR_MODE_MASK)
  70454. /*! @} */
  70455. /*! @name CSC1_COEF1 - Color Space Conversion Coefficient Register 1 */
  70456. /*! @{ */
  70457. #define PXP_CSC1_COEF1_C4_MASK (0x7FFU)
  70458. #define PXP_CSC1_COEF1_C4_SHIFT (0U)
  70459. #define PXP_CSC1_COEF1_C4(x) (((uint32_t)(((uint32_t)(x)) << PXP_CSC1_COEF1_C4_SHIFT)) & PXP_CSC1_COEF1_C4_MASK)
  70460. #define PXP_CSC1_COEF1_C1_MASK (0x7FF0000U)
  70461. #define PXP_CSC1_COEF1_C1_SHIFT (16U)
  70462. #define PXP_CSC1_COEF1_C1(x) (((uint32_t)(((uint32_t)(x)) << PXP_CSC1_COEF1_C1_SHIFT)) & PXP_CSC1_COEF1_C1_MASK)
  70463. /*! @} */
  70464. /*! @name CSC1_COEF2 - Color Space Conversion Coefficient Register 2 */
  70465. /*! @{ */
  70466. #define PXP_CSC1_COEF2_C3_MASK (0x7FFU)
  70467. #define PXP_CSC1_COEF2_C3_SHIFT (0U)
  70468. #define PXP_CSC1_COEF2_C3(x) (((uint32_t)(((uint32_t)(x)) << PXP_CSC1_COEF2_C3_SHIFT)) & PXP_CSC1_COEF2_C3_MASK)
  70469. #define PXP_CSC1_COEF2_C2_MASK (0x7FF0000U)
  70470. #define PXP_CSC1_COEF2_C2_SHIFT (16U)
  70471. #define PXP_CSC1_COEF2_C2(x) (((uint32_t)(((uint32_t)(x)) << PXP_CSC1_COEF2_C2_SHIFT)) & PXP_CSC1_COEF2_C2_MASK)
  70472. /*! @} */
  70473. /*! @name POWER - PXP Power Control Register */
  70474. /*! @{ */
  70475. #define PXP_POWER_ROT_MEM_LP_STATE_MASK (0xE00U)
  70476. #define PXP_POWER_ROT_MEM_LP_STATE_SHIFT (9U)
  70477. /*! ROT_MEM_LP_STATE
  70478. * 0b000..Memory is not in low power state.
  70479. * 0b001..Light Sleep Mode. Low leakage mode, maintain memory contents.
  70480. * 0b010..Deep Sleep Mode. Low leakage mode, maintain memory contents.
  70481. * 0b100..Shut Down Mode. Shut Down periphery and core, no memory retention.
  70482. */
  70483. #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)
  70484. /*! @} */
  70485. /*! @name NEXT - Next Frame Pointer */
  70486. /*! @{ */
  70487. #define PXP_NEXT_ENABLED_MASK (0x1U)
  70488. #define PXP_NEXT_ENABLED_SHIFT (0U)
  70489. #define PXP_NEXT_ENABLED(x) (((uint32_t)(((uint32_t)(x)) << PXP_NEXT_ENABLED_SHIFT)) & PXP_NEXT_ENABLED_MASK)
  70490. #define PXP_NEXT_POINTER_MASK (0xFFFFFFFCU)
  70491. #define PXP_NEXT_POINTER_SHIFT (2U)
  70492. #define PXP_NEXT_POINTER(x) (((uint32_t)(((uint32_t)(x)) << PXP_NEXT_POINTER_SHIFT)) & PXP_NEXT_POINTER_MASK)
  70493. /*! @} */
  70494. /*! @name PORTER_DUFF_CTRL - PXP Alpha Engine A Control Register. */
  70495. /*! @{ */
  70496. #define PXP_PORTER_DUFF_CTRL_PORTER_DUFF_ENABLE_MASK (0x1U)
  70497. #define PXP_PORTER_DUFF_CTRL_PORTER_DUFF_ENABLE_SHIFT (0U)
  70498. /*! PORTER_DUFF_ENABLE
  70499. * 0b0..Disabled
  70500. * 0b1..Enabled
  70501. */
  70502. #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)
  70503. #define PXP_PORTER_DUFF_CTRL_S0_S1_FACTOR_MODE_MASK (0x6U)
  70504. #define PXP_PORTER_DUFF_CTRL_S0_S1_FACTOR_MODE_SHIFT (1U)
  70505. /*! S0_S1_FACTOR_MODE
  70506. * 0b00..1
  70507. * 0b01..0
  70508. * 0b10..Straight alpha
  70509. * 0b11..Inverse alpha
  70510. */
  70511. #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)
  70512. #define PXP_PORTER_DUFF_CTRL_S0_GLOBAL_ALPHA_MODE_MASK (0x18U)
  70513. #define PXP_PORTER_DUFF_CTRL_S0_GLOBAL_ALPHA_MODE_SHIFT (3U)
  70514. /*! S0_GLOBAL_ALPHA_MODE
  70515. * 0b00..Global alpha
  70516. * 0b01..Local alpha
  70517. * 0b10..Scaled alpha
  70518. * 0b11..Scaled alpha
  70519. */
  70520. #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)
  70521. #define PXP_PORTER_DUFF_CTRL_S0_ALPHA_MODE_MASK (0x20U)
  70522. #define PXP_PORTER_DUFF_CTRL_S0_ALPHA_MODE_SHIFT (5U)
  70523. /*! S0_ALPHA_MODE
  70524. * 0b0..Straight mode
  70525. * 0b1..Inverted mode
  70526. */
  70527. #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)
  70528. #define PXP_PORTER_DUFF_CTRL_S0_COLOR_MODE_MASK (0x40U)
  70529. #define PXP_PORTER_DUFF_CTRL_S0_COLOR_MODE_SHIFT (6U)
  70530. /*! S0_COLOR_MODE
  70531. * 0b0..Original pixel
  70532. * 0b1..Scaled pixel
  70533. */
  70534. #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)
  70535. #define PXP_PORTER_DUFF_CTRL_S1_S0_FACTOR_MODE_MASK (0x300U)
  70536. #define PXP_PORTER_DUFF_CTRL_S1_S0_FACTOR_MODE_SHIFT (8U)
  70537. /*! S1_S0_FACTOR_MODE
  70538. * 0b00..1
  70539. * 0b01..0
  70540. * 0b10..Straight alpha
  70541. * 0b11..Inverse alpha
  70542. */
  70543. #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)
  70544. #define PXP_PORTER_DUFF_CTRL_S1_GLOBAL_ALPHA_MODE_MASK (0xC00U)
  70545. #define PXP_PORTER_DUFF_CTRL_S1_GLOBAL_ALPHA_MODE_SHIFT (10U)
  70546. /*! S1_GLOBAL_ALPHA_MODE
  70547. * 0b00..Global alpha
  70548. * 0b01..Local alpha
  70549. * 0b10..Scaled alpha
  70550. * 0b11..Scaled alpha
  70551. */
  70552. #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)
  70553. #define PXP_PORTER_DUFF_CTRL_S1_ALPHA_MODE_MASK (0x1000U)
  70554. #define PXP_PORTER_DUFF_CTRL_S1_ALPHA_MODE_SHIFT (12U)
  70555. /*! S1_ALPHA_MODE
  70556. * 0b0..Straight mode
  70557. * 0b1..Inverted mode
  70558. */
  70559. #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)
  70560. #define PXP_PORTER_DUFF_CTRL_S1_COLOR_MODE_MASK (0x2000U)
  70561. #define PXP_PORTER_DUFF_CTRL_S1_COLOR_MODE_SHIFT (13U)
  70562. /*! S1_COLOR_MODE
  70563. * 0b0..Original pixel
  70564. * 0b1..Scaled pixel
  70565. */
  70566. #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)
  70567. #define PXP_PORTER_DUFF_CTRL_S0_GLOBAL_ALPHA_MASK (0xFF0000U)
  70568. #define PXP_PORTER_DUFF_CTRL_S0_GLOBAL_ALPHA_SHIFT (16U)
  70569. #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)
  70570. #define PXP_PORTER_DUFF_CTRL_S1_GLOBAL_ALPHA_MASK (0xFF000000U)
  70571. #define PXP_PORTER_DUFF_CTRL_S1_GLOBAL_ALPHA_SHIFT (24U)
  70572. #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)
  70573. /*! @} */
  70574. /*!
  70575. * @}
  70576. */ /* end of group PXP_Register_Masks */
  70577. /* PXP - Peripheral instance base addresses */
  70578. /** Peripheral PXP base address */
  70579. #define PXP_BASE (0x40814000u)
  70580. /** Peripheral PXP base pointer */
  70581. #define PXP ((PXP_Type *)PXP_BASE)
  70582. /** Array initializer of PXP peripheral base addresses */
  70583. #define PXP_BASE_ADDRS { PXP_BASE }
  70584. /** Array initializer of PXP peripheral base pointers */
  70585. #define PXP_BASE_PTRS { PXP }
  70586. /** Interrupt vectors for the PXP peripheral type */
  70587. #define PXP_IRQ0_IRQS { PXP_IRQn }
  70588. /*!
  70589. * @}
  70590. */ /* end of group PXP_Peripheral_Access_Layer */
  70591. /* ----------------------------------------------------------------------------
  70592. -- RDC Peripheral Access Layer
  70593. ---------------------------------------------------------------------------- */
  70594. /*!
  70595. * @addtogroup RDC_Peripheral_Access_Layer RDC Peripheral Access Layer
  70596. * @{
  70597. */
  70598. /** RDC - Register Layout Typedef */
  70599. typedef struct {
  70600. __I uint32_t VIR; /**< Version Information, offset: 0x0 */
  70601. uint8_t RESERVED_0[32];
  70602. __IO uint32_t STAT; /**< Status, offset: 0x24 */
  70603. __IO uint32_t INTCTRL; /**< Interrupt and Control, offset: 0x28 */
  70604. __IO uint32_t INTSTAT; /**< Interrupt Status, offset: 0x2C */
  70605. uint8_t RESERVED_1[464];
  70606. __IO uint32_t MDA[12]; /**< Master Domain Assignment, array offset: 0x200, array step: 0x4 */
  70607. uint8_t RESERVED_2[464];
  70608. __IO uint32_t PDAP[128]; /**< Peripheral Domain Access Permissions, array offset: 0x400, array step: 0x4 */
  70609. uint8_t RESERVED_3[512];
  70610. struct { /* offset: 0x800, array step: 0x10 */
  70611. __IO uint32_t MRSA; /**< Memory Region Start Address, array offset: 0x800, array step: 0x10 */
  70612. __IO uint32_t MREA; /**< Memory Region End Address, array offset: 0x804, array step: 0x10 */
  70613. __IO uint32_t MRC; /**< Memory Region Control, array offset: 0x808, array step: 0x10 */
  70614. __IO uint32_t MRVS; /**< Memory Region Violation Status, array offset: 0x80C, array step: 0x10 */
  70615. } MR[59];
  70616. } RDC_Type;
  70617. /* ----------------------------------------------------------------------------
  70618. -- RDC Register Masks
  70619. ---------------------------------------------------------------------------- */
  70620. /*!
  70621. * @addtogroup RDC_Register_Masks RDC Register Masks
  70622. * @{
  70623. */
  70624. /*! @name VIR - Version Information */
  70625. /*! @{ */
  70626. #define RDC_VIR_NDID_MASK (0xFU)
  70627. #define RDC_VIR_NDID_SHIFT (0U)
  70628. /*! NDID - Number of Domains
  70629. */
  70630. #define RDC_VIR_NDID(x) (((uint32_t)(((uint32_t)(x)) << RDC_VIR_NDID_SHIFT)) & RDC_VIR_NDID_MASK)
  70631. #define RDC_VIR_NMSTR_MASK (0xFF0U)
  70632. #define RDC_VIR_NMSTR_SHIFT (4U)
  70633. /*! NMSTR - Number of Masters
  70634. */
  70635. #define RDC_VIR_NMSTR(x) (((uint32_t)(((uint32_t)(x)) << RDC_VIR_NMSTR_SHIFT)) & RDC_VIR_NMSTR_MASK)
  70636. #define RDC_VIR_NPER_MASK (0xFF000U)
  70637. #define RDC_VIR_NPER_SHIFT (12U)
  70638. /*! NPER - Number of Peripherals
  70639. */
  70640. #define RDC_VIR_NPER(x) (((uint32_t)(((uint32_t)(x)) << RDC_VIR_NPER_SHIFT)) & RDC_VIR_NPER_MASK)
  70641. #define RDC_VIR_NRGN_MASK (0xFF00000U)
  70642. #define RDC_VIR_NRGN_SHIFT (20U)
  70643. /*! NRGN - Number of Memory Regions
  70644. */
  70645. #define RDC_VIR_NRGN(x) (((uint32_t)(((uint32_t)(x)) << RDC_VIR_NRGN_SHIFT)) & RDC_VIR_NRGN_MASK)
  70646. /*! @} */
  70647. /*! @name STAT - Status */
  70648. /*! @{ */
  70649. #define RDC_STAT_DID_MASK (0xFU)
  70650. #define RDC_STAT_DID_SHIFT (0U)
  70651. /*! DID - Domain ID
  70652. */
  70653. #define RDC_STAT_DID(x) (((uint32_t)(((uint32_t)(x)) << RDC_STAT_DID_SHIFT)) & RDC_STAT_DID_MASK)
  70654. #define RDC_STAT_PDS_MASK (0x100U)
  70655. #define RDC_STAT_PDS_SHIFT (8U)
  70656. /*! PDS - Power Domain Status
  70657. * 0b0..Power Down Domain is OFF
  70658. * 0b1..Power Down Domain is ON
  70659. */
  70660. #define RDC_STAT_PDS(x) (((uint32_t)(((uint32_t)(x)) << RDC_STAT_PDS_SHIFT)) & RDC_STAT_PDS_MASK)
  70661. /*! @} */
  70662. /*! @name INTCTRL - Interrupt and Control */
  70663. /*! @{ */
  70664. #define RDC_INTCTRL_RCI_EN_MASK (0x1U)
  70665. #define RDC_INTCTRL_RCI_EN_SHIFT (0U)
  70666. /*! RCI_EN - Restoration Complete Interrupt
  70667. * 0b0..Interrupt Disabled
  70668. * 0b1..Interrupt Enabled
  70669. */
  70670. #define RDC_INTCTRL_RCI_EN(x) (((uint32_t)(((uint32_t)(x)) << RDC_INTCTRL_RCI_EN_SHIFT)) & RDC_INTCTRL_RCI_EN_MASK)
  70671. /*! @} */
  70672. /*! @name INTSTAT - Interrupt Status */
  70673. /*! @{ */
  70674. #define RDC_INTSTAT_INT_MASK (0x1U)
  70675. #define RDC_INTSTAT_INT_SHIFT (0U)
  70676. /*! INT - Interrupt Status
  70677. * 0b0..No Interrupt Pending
  70678. * 0b1..Interrupt Pending
  70679. */
  70680. #define RDC_INTSTAT_INT(x) (((uint32_t)(((uint32_t)(x)) << RDC_INTSTAT_INT_SHIFT)) & RDC_INTSTAT_INT_MASK)
  70681. /*! @} */
  70682. /*! @name MDA - Master Domain Assignment */
  70683. /*! @{ */
  70684. #define RDC_MDA_DID_MASK (0x3U)
  70685. #define RDC_MDA_DID_SHIFT (0U)
  70686. /*! DID - Domain ID
  70687. * 0b00..Master assigned to Processing Domain 0
  70688. * 0b01..Master assigned to Processing Domain 1
  70689. * 0b10..Reserved
  70690. * 0b11..Reserved
  70691. */
  70692. #define RDC_MDA_DID(x) (((uint32_t)(((uint32_t)(x)) << RDC_MDA_DID_SHIFT)) & RDC_MDA_DID_MASK)
  70693. #define RDC_MDA_LCK_MASK (0x80000000U)
  70694. #define RDC_MDA_LCK_SHIFT (31U)
  70695. /*! LCK - Assignment Lock
  70696. * 0b0..Not Locked
  70697. * 0b1..Locked
  70698. */
  70699. #define RDC_MDA_LCK(x) (((uint32_t)(((uint32_t)(x)) << RDC_MDA_LCK_SHIFT)) & RDC_MDA_LCK_MASK)
  70700. /*! @} */
  70701. /* The count of RDC_MDA */
  70702. #define RDC_MDA_COUNT (12U)
  70703. /*! @name PDAP - Peripheral Domain Access Permissions */
  70704. /*! @{ */
  70705. #define RDC_PDAP_D0W_MASK (0x1U)
  70706. #define RDC_PDAP_D0W_SHIFT (0U)
  70707. /*! D0W - Domain 0 Write Access
  70708. * 0b0..No Write Access
  70709. * 0b1..Write Access Allowed
  70710. */
  70711. #define RDC_PDAP_D0W(x) (((uint32_t)(((uint32_t)(x)) << RDC_PDAP_D0W_SHIFT)) & RDC_PDAP_D0W_MASK)
  70712. #define RDC_PDAP_D0R_MASK (0x2U)
  70713. #define RDC_PDAP_D0R_SHIFT (1U)
  70714. /*! D0R - Domain 0 Read Access
  70715. * 0b0..No Read Access
  70716. * 0b1..Read Access Allowed
  70717. */
  70718. #define RDC_PDAP_D0R(x) (((uint32_t)(((uint32_t)(x)) << RDC_PDAP_D0R_SHIFT)) & RDC_PDAP_D0R_MASK)
  70719. #define RDC_PDAP_D1W_MASK (0x4U)
  70720. #define RDC_PDAP_D1W_SHIFT (2U)
  70721. /*! D1W - Domain 1 Write Access
  70722. * 0b0..No Write Access
  70723. * 0b1..Write Access Allowed
  70724. */
  70725. #define RDC_PDAP_D1W(x) (((uint32_t)(((uint32_t)(x)) << RDC_PDAP_D1W_SHIFT)) & RDC_PDAP_D1W_MASK)
  70726. #define RDC_PDAP_D1R_MASK (0x8U)
  70727. #define RDC_PDAP_D1R_SHIFT (3U)
  70728. /*! D1R - Domain 1 Read Access
  70729. * 0b0..No Read Access
  70730. * 0b1..Read Access Allowed
  70731. */
  70732. #define RDC_PDAP_D1R(x) (((uint32_t)(((uint32_t)(x)) << RDC_PDAP_D1R_SHIFT)) & RDC_PDAP_D1R_MASK)
  70733. #define RDC_PDAP_SREQ_MASK (0x40000000U)
  70734. #define RDC_PDAP_SREQ_SHIFT (30U)
  70735. /*! SREQ - Semaphore Required
  70736. * 0b0..Semaphores have no effect
  70737. * 0b1..Semaphores are enforced
  70738. */
  70739. #define RDC_PDAP_SREQ(x) (((uint32_t)(((uint32_t)(x)) << RDC_PDAP_SREQ_SHIFT)) & RDC_PDAP_SREQ_MASK)
  70740. #define RDC_PDAP_LCK_MASK (0x80000000U)
  70741. #define RDC_PDAP_LCK_SHIFT (31U)
  70742. /*! LCK - Peripheral Permissions Lock
  70743. * 0b0..Not Locked
  70744. * 0b1..Locked
  70745. */
  70746. #define RDC_PDAP_LCK(x) (((uint32_t)(((uint32_t)(x)) << RDC_PDAP_LCK_SHIFT)) & RDC_PDAP_LCK_MASK)
  70747. /*! @} */
  70748. /* The count of RDC_PDAP */
  70749. #define RDC_PDAP_COUNT (128U)
  70750. /*! @name MRSA - Memory Region Start Address */
  70751. /*! @{ */
  70752. #define RDC_MRSA_SADR_MASK (0xFFFFFF80U)
  70753. #define RDC_MRSA_SADR_SHIFT (7U)
  70754. /*! SADR - Start address for memory region
  70755. */
  70756. #define RDC_MRSA_SADR(x) (((uint32_t)(((uint32_t)(x)) << RDC_MRSA_SADR_SHIFT)) & RDC_MRSA_SADR_MASK)
  70757. /*! @} */
  70758. /* The count of RDC_MRSA */
  70759. #define RDC_MRSA_COUNT (59U)
  70760. /*! @name MREA - Memory Region End Address */
  70761. /*! @{ */
  70762. #define RDC_MREA_EADR_MASK (0xFFFFFF80U)
  70763. #define RDC_MREA_EADR_SHIFT (7U)
  70764. /*! EADR - Upper bound for memory region
  70765. */
  70766. #define RDC_MREA_EADR(x) (((uint32_t)(((uint32_t)(x)) << RDC_MREA_EADR_SHIFT)) & RDC_MREA_EADR_MASK)
  70767. /*! @} */
  70768. /* The count of RDC_MREA */
  70769. #define RDC_MREA_COUNT (59U)
  70770. /*! @name MRC - Memory Region Control */
  70771. /*! @{ */
  70772. #define RDC_MRC_D0W_MASK (0x1U)
  70773. #define RDC_MRC_D0W_SHIFT (0U)
  70774. /*! D0W - Domain 0 Write Access to Region
  70775. * 0b0..Processing Domain 0 does not have Write access to the memory region
  70776. * 0b1..Processing Domain 0 has Write access to the memory region
  70777. */
  70778. #define RDC_MRC_D0W(x) (((uint32_t)(((uint32_t)(x)) << RDC_MRC_D0W_SHIFT)) & RDC_MRC_D0W_MASK)
  70779. #define RDC_MRC_D0R_MASK (0x2U)
  70780. #define RDC_MRC_D0R_SHIFT (1U)
  70781. /*! D0R - Domain 0 Read Access to Region
  70782. * 0b0..Processing Domain 0 does not have Read access to the memory region
  70783. * 0b1..Processing Domain 0 has Read access to the memory region
  70784. */
  70785. #define RDC_MRC_D0R(x) (((uint32_t)(((uint32_t)(x)) << RDC_MRC_D0R_SHIFT)) & RDC_MRC_D0R_MASK)
  70786. #define RDC_MRC_D1W_MASK (0x4U)
  70787. #define RDC_MRC_D1W_SHIFT (2U)
  70788. /*! D1W - Domain 1 Write Access to Region
  70789. * 0b0..Processing Domain 1 does not have Write access to the memory region
  70790. * 0b1..Processing Domain 1 has Write access to the memory region
  70791. */
  70792. #define RDC_MRC_D1W(x) (((uint32_t)(((uint32_t)(x)) << RDC_MRC_D1W_SHIFT)) & RDC_MRC_D1W_MASK)
  70793. #define RDC_MRC_D1R_MASK (0x8U)
  70794. #define RDC_MRC_D1R_SHIFT (3U)
  70795. /*! D1R - Domain 1 Read Access to Region
  70796. * 0b0..Processing Domain 1 does not have Read access to the memory region
  70797. * 0b1..Processing Domain 1 has Read access to the memory region
  70798. */
  70799. #define RDC_MRC_D1R(x) (((uint32_t)(((uint32_t)(x)) << RDC_MRC_D1R_SHIFT)) & RDC_MRC_D1R_MASK)
  70800. #define RDC_MRC_ENA_MASK (0x40000000U)
  70801. #define RDC_MRC_ENA_SHIFT (30U)
  70802. /*! ENA - Region Enable
  70803. * 0b0..Memory region is not defined or restricted.
  70804. * 0b1..Memory boundaries, domain permissions and controls are in effect.
  70805. */
  70806. #define RDC_MRC_ENA(x) (((uint32_t)(((uint32_t)(x)) << RDC_MRC_ENA_SHIFT)) & RDC_MRC_ENA_MASK)
  70807. #define RDC_MRC_LCK_MASK (0x80000000U)
  70808. #define RDC_MRC_LCK_SHIFT (31U)
  70809. /*! LCK - Region Lock
  70810. * 0b0..No Lock. All fields in this register may be modified.
  70811. * 0b1..Locked. No fields in this register may be modified except ENA, which may be set but not cleared.
  70812. */
  70813. #define RDC_MRC_LCK(x) (((uint32_t)(((uint32_t)(x)) << RDC_MRC_LCK_SHIFT)) & RDC_MRC_LCK_MASK)
  70814. /*! @} */
  70815. /* The count of RDC_MRC */
  70816. #define RDC_MRC_COUNT (59U)
  70817. /*! @name MRVS - Memory Region Violation Status */
  70818. /*! @{ */
  70819. #define RDC_MRVS_VDID_MASK (0x3U)
  70820. #define RDC_MRVS_VDID_SHIFT (0U)
  70821. /*! VDID - Violating Domain ID
  70822. * 0b00..Processing Domain 0
  70823. * 0b01..Processing Domain 1
  70824. * 0b10..Reserved
  70825. * 0b11..Reserved
  70826. */
  70827. #define RDC_MRVS_VDID(x) (((uint32_t)(((uint32_t)(x)) << RDC_MRVS_VDID_SHIFT)) & RDC_MRVS_VDID_MASK)
  70828. #define RDC_MRVS_AD_MASK (0x10U)
  70829. #define RDC_MRVS_AD_SHIFT (4U)
  70830. /*! AD - Access Denied
  70831. */
  70832. #define RDC_MRVS_AD(x) (((uint32_t)(((uint32_t)(x)) << RDC_MRVS_AD_SHIFT)) & RDC_MRVS_AD_MASK)
  70833. #define RDC_MRVS_VADR_MASK (0xFFFFFFE0U)
  70834. #define RDC_MRVS_VADR_SHIFT (5U)
  70835. /*! VADR - Violating Address
  70836. */
  70837. #define RDC_MRVS_VADR(x) (((uint32_t)(((uint32_t)(x)) << RDC_MRVS_VADR_SHIFT)) & RDC_MRVS_VADR_MASK)
  70838. /*! @} */
  70839. /* The count of RDC_MRVS */
  70840. #define RDC_MRVS_COUNT (59U)
  70841. /*!
  70842. * @}
  70843. */ /* end of group RDC_Register_Masks */
  70844. /* RDC - Peripheral instance base addresses */
  70845. /** Peripheral RDC base address */
  70846. #define RDC_BASE (0x40C78000u)
  70847. /** Peripheral RDC base pointer */
  70848. #define RDC ((RDC_Type *)RDC_BASE)
  70849. /** Array initializer of RDC peripheral base addresses */
  70850. #define RDC_BASE_ADDRS { RDC_BASE }
  70851. /** Array initializer of RDC peripheral base pointers */
  70852. #define RDC_BASE_PTRS { RDC }
  70853. /** Interrupt vectors for the RDC peripheral type */
  70854. #define RDC_IRQS { RDC_IRQn }
  70855. /*!
  70856. * @}
  70857. */ /* end of group RDC_Peripheral_Access_Layer */
  70858. /* ----------------------------------------------------------------------------
  70859. -- RDC_SEMAPHORE Peripheral Access Layer
  70860. ---------------------------------------------------------------------------- */
  70861. /*!
  70862. * @addtogroup RDC_SEMAPHORE_Peripheral_Access_Layer RDC_SEMAPHORE Peripheral Access Layer
  70863. * @{
  70864. */
  70865. /** RDC_SEMAPHORE - Register Layout Typedef */
  70866. typedef struct {
  70867. __IO uint8_t GATE[64]; /**< Gate Register, array offset: 0x0, array step: 0x1 */
  70868. uint8_t RESERVED_0[2];
  70869. union { /* offset: 0x42 */
  70870. __IO uint16_t RSTGT_R; /**< Reset Gate Read, offset: 0x42 */
  70871. __IO uint16_t RSTGT_W; /**< Reset Gate Write, offset: 0x42 */
  70872. };
  70873. } RDC_SEMAPHORE_Type;
  70874. /* ----------------------------------------------------------------------------
  70875. -- RDC_SEMAPHORE Register Masks
  70876. ---------------------------------------------------------------------------- */
  70877. /*!
  70878. * @addtogroup RDC_SEMAPHORE_Register_Masks RDC_SEMAPHORE Register Masks
  70879. * @{
  70880. */
  70881. /*! @name GATE - Gate Register */
  70882. /*! @{ */
  70883. #define RDC_SEMAPHORE_GATE_GTFSM_MASK (0xFU)
  70884. #define RDC_SEMAPHORE_GATE_GTFSM_SHIFT (0U)
  70885. /*! GTFSM - Gate Finite State Machine.
  70886. * 0b0000..The gate is unlocked (free).
  70887. * 0b0001..The gate has been locked by processor with master_index = 0.
  70888. * 0b0010..The gate has been locked by processor with master_index = 1.
  70889. * 0b0011..The gate has been locked by processor with master_index = 2.
  70890. * 0b0100..The gate has been locked by processor with master_index = 3.
  70891. * 0b0101..The gate has been locked by processor with master_index = 4.
  70892. * 0b0110..The gate has been locked by processor with master_index = 5.
  70893. * 0b0111..The gate has been locked by processor with master_index = 6.
  70894. * 0b1000..The gate has been locked by processor with master_index = 7.
  70895. * 0b1001..The gate has been locked by processor with master_index = 8.
  70896. * 0b1010..The gate has been locked by processor with master_index = 9.
  70897. * 0b1011..The gate has been locked by processor with master_index = 10.
  70898. * 0b1100..The gate has been locked by processor with master_index = 11.
  70899. * 0b1101..The gate has been locked by processor with master_index = 12.
  70900. * 0b1110..The gate has been locked by processor with master_index = 13.
  70901. * 0b1111..The gate has been locked by processor with master_index = 14.
  70902. */
  70903. #define RDC_SEMAPHORE_GATE_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << RDC_SEMAPHORE_GATE_GTFSM_SHIFT)) & RDC_SEMAPHORE_GATE_GTFSM_MASK)
  70904. #define RDC_SEMAPHORE_GATE_LDOM_MASK (0x30U)
  70905. #define RDC_SEMAPHORE_GATE_LDOM_SHIFT (4U)
  70906. /*! LDOM
  70907. * 0b00..The gate is locked by domain 0. (True if the field GTFSM does not equal to 0000.)
  70908. * 0b01..The gate has been locked by domain 1.
  70909. * 0b10..Reserved
  70910. * 0b11..Reserved
  70911. */
  70912. #define RDC_SEMAPHORE_GATE_LDOM(x) (((uint8_t)(((uint8_t)(x)) << RDC_SEMAPHORE_GATE_LDOM_SHIFT)) & RDC_SEMAPHORE_GATE_LDOM_MASK)
  70913. /*! @} */
  70914. /* The count of RDC_SEMAPHORE_GATE */
  70915. #define RDC_SEMAPHORE_GATE_COUNT (64U)
  70916. /*! @name RSTGT_R - Reset Gate Read */
  70917. /*! @{ */
  70918. #define RDC_SEMAPHORE_RSTGT_R_RSTGMS_MASK (0xFU)
  70919. #define RDC_SEMAPHORE_RSTGT_R_RSTGMS_SHIFT (0U)
  70920. #define RDC_SEMAPHORE_RSTGT_R_RSTGMS(x) (((uint16_t)(((uint16_t)(x)) << RDC_SEMAPHORE_RSTGT_R_RSTGMS_SHIFT)) & RDC_SEMAPHORE_RSTGT_R_RSTGMS_MASK)
  70921. #define RDC_SEMAPHORE_RSTGT_R_RSTGSM_MASK (0x30U)
  70922. #define RDC_SEMAPHORE_RSTGT_R_RSTGSM_SHIFT (4U)
  70923. /*! RSTGSM
  70924. * 0b00..Idle, waiting for the first data pattern write.
  70925. * 0b01..Waiting for the second data pattern write.
  70926. * 0b10..The 2-write sequence has completed. Generate the specified gate reset(s). After the reset is performed,
  70927. * this machine returns to the idle (waiting for first data pattern write) state. The "01" state persists
  70928. * for only one clock cycle. Software will never be able to observe this state.
  70929. * 0b11..This state encoding is never used and therefore reserved.
  70930. */
  70931. #define RDC_SEMAPHORE_RSTGT_R_RSTGSM(x) (((uint16_t)(((uint16_t)(x)) << RDC_SEMAPHORE_RSTGT_R_RSTGSM_SHIFT)) & RDC_SEMAPHORE_RSTGT_R_RSTGSM_MASK)
  70932. #define RDC_SEMAPHORE_RSTGT_R_RSTGTN_MASK (0xFF00U)
  70933. #define RDC_SEMAPHORE_RSTGT_R_RSTGTN_SHIFT (8U)
  70934. #define RDC_SEMAPHORE_RSTGT_R_RSTGTN(x) (((uint16_t)(((uint16_t)(x)) << RDC_SEMAPHORE_RSTGT_R_RSTGTN_SHIFT)) & RDC_SEMAPHORE_RSTGT_R_RSTGTN_MASK)
  70935. /*! @} */
  70936. /*! @name RSTGT_W - Reset Gate Write */
  70937. /*! @{ */
  70938. #define RDC_SEMAPHORE_RSTGT_W_RSTGDP_MASK (0xFFU)
  70939. #define RDC_SEMAPHORE_RSTGT_W_RSTGDP_SHIFT (0U)
  70940. #define RDC_SEMAPHORE_RSTGT_W_RSTGDP(x) (((uint16_t)(((uint16_t)(x)) << RDC_SEMAPHORE_RSTGT_W_RSTGDP_SHIFT)) & RDC_SEMAPHORE_RSTGT_W_RSTGDP_MASK)
  70941. #define RDC_SEMAPHORE_RSTGT_W_RSTGTN_MASK (0xFF00U)
  70942. #define RDC_SEMAPHORE_RSTGT_W_RSTGTN_SHIFT (8U)
  70943. #define RDC_SEMAPHORE_RSTGT_W_RSTGTN(x) (((uint16_t)(((uint16_t)(x)) << RDC_SEMAPHORE_RSTGT_W_RSTGTN_SHIFT)) & RDC_SEMAPHORE_RSTGT_W_RSTGTN_MASK)
  70944. /*! @} */
  70945. /*!
  70946. * @}
  70947. */ /* end of group RDC_SEMAPHORE_Register_Masks */
  70948. /* RDC_SEMAPHORE - Peripheral instance base addresses */
  70949. /** Peripheral RDC_SEMAPHORE1 base address */
  70950. #define RDC_SEMAPHORE1_BASE (0x40C44000u)
  70951. /** Peripheral RDC_SEMAPHORE1 base pointer */
  70952. #define RDC_SEMAPHORE1 ((RDC_SEMAPHORE_Type *)RDC_SEMAPHORE1_BASE)
  70953. /** Peripheral RDC_SEMAPHORE2 base address */
  70954. #define RDC_SEMAPHORE2_BASE (0x40CCC000u)
  70955. /** Peripheral RDC_SEMAPHORE2 base pointer */
  70956. #define RDC_SEMAPHORE2 ((RDC_SEMAPHORE_Type *)RDC_SEMAPHORE2_BASE)
  70957. /** Array initializer of RDC_SEMAPHORE peripheral base addresses */
  70958. #define RDC_SEMAPHORE_BASE_ADDRS { RDC_SEMAPHORE1_BASE, RDC_SEMAPHORE2_BASE }
  70959. /** Array initializer of RDC_SEMAPHORE peripheral base pointers */
  70960. #define RDC_SEMAPHORE_BASE_PTRS { RDC_SEMAPHORE1, RDC_SEMAPHORE2 }
  70961. /*!
  70962. * @}
  70963. */ /* end of group RDC_SEMAPHORE_Peripheral_Access_Layer */
  70964. /* ----------------------------------------------------------------------------
  70965. -- RTWDOG Peripheral Access Layer
  70966. ---------------------------------------------------------------------------- */
  70967. /*!
  70968. * @addtogroup RTWDOG_Peripheral_Access_Layer RTWDOG Peripheral Access Layer
  70969. * @{
  70970. */
  70971. /** RTWDOG - Register Layout Typedef */
  70972. typedef struct {
  70973. __IO uint32_t CS; /**< Watchdog Control and Status Register, offset: 0x0 */
  70974. __IO uint32_t CNT; /**< Watchdog Counter Register, offset: 0x4 */
  70975. __IO uint32_t TOVAL; /**< Watchdog Timeout Value Register, offset: 0x8 */
  70976. __IO uint32_t WIN; /**< Watchdog Window Register, offset: 0xC */
  70977. } RTWDOG_Type;
  70978. /* ----------------------------------------------------------------------------
  70979. -- RTWDOG Register Masks
  70980. ---------------------------------------------------------------------------- */
  70981. /*!
  70982. * @addtogroup RTWDOG_Register_Masks RTWDOG Register Masks
  70983. * @{
  70984. */
  70985. /*! @name CS - Watchdog Control and Status Register */
  70986. /*! @{ */
  70987. #define RTWDOG_CS_STOP_MASK (0x1U)
  70988. #define RTWDOG_CS_STOP_SHIFT (0U)
  70989. /*! STOP - Stop Enable
  70990. * 0b0..Watchdog disabled in chip stop mode.
  70991. * 0b1..Watchdog enabled in chip stop mode.
  70992. */
  70993. #define RTWDOG_CS_STOP(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_STOP_SHIFT)) & RTWDOG_CS_STOP_MASK)
  70994. #define RTWDOG_CS_WAIT_MASK (0x2U)
  70995. #define RTWDOG_CS_WAIT_SHIFT (1U)
  70996. /*! WAIT - Wait Enable
  70997. * 0b0..Watchdog disabled in chip wait mode.
  70998. * 0b1..Watchdog enabled in chip wait mode.
  70999. */
  71000. #define RTWDOG_CS_WAIT(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_WAIT_SHIFT)) & RTWDOG_CS_WAIT_MASK)
  71001. #define RTWDOG_CS_DBG_MASK (0x4U)
  71002. #define RTWDOG_CS_DBG_SHIFT (2U)
  71003. /*! DBG - Debug Enable
  71004. * 0b0..Watchdog disabled in chip debug mode.
  71005. * 0b1..Watchdog enabled in chip debug mode.
  71006. */
  71007. #define RTWDOG_CS_DBG(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_DBG_SHIFT)) & RTWDOG_CS_DBG_MASK)
  71008. #define RTWDOG_CS_TST_MASK (0x18U)
  71009. #define RTWDOG_CS_TST_SHIFT (3U)
  71010. /*! TST - Watchdog Test
  71011. * 0b00..Watchdog test mode disabled.
  71012. * 0b01..Watchdog user mode enabled. (Watchdog test mode disabled.) After testing the watchdog, software should
  71013. * use this setting to indicate that the watchdog is functioning normally in user mode.
  71014. * 0b10..Watchdog test mode enabled, only the low byte is used. CNT[CNTLOW] is compared with TOVAL[TOVALLOW].
  71015. * 0b11..Watchdog test mode enabled, only the high byte is used. CNT[CNTHIGH] is compared with TOVAL[TOVALHIGH].
  71016. */
  71017. #define RTWDOG_CS_TST(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_TST_SHIFT)) & RTWDOG_CS_TST_MASK)
  71018. #define RTWDOG_CS_UPDATE_MASK (0x20U)
  71019. #define RTWDOG_CS_UPDATE_SHIFT (5U)
  71020. /*! UPDATE - Allow updates
  71021. * 0b0..Updates not allowed. After the initial configuration, the watchdog cannot be later modified without forcing a reset.
  71022. * 0b1..Updates allowed. Software can modify the watchdog configuration registers within 255 bus clocks after performing the unlock write sequence.
  71023. */
  71024. #define RTWDOG_CS_UPDATE(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_UPDATE_SHIFT)) & RTWDOG_CS_UPDATE_MASK)
  71025. #define RTWDOG_CS_INT_MASK (0x40U)
  71026. #define RTWDOG_CS_INT_SHIFT (6U)
  71027. /*! INT - Watchdog Interrupt
  71028. * 0b0..Watchdog interrupts are disabled. Watchdog resets are not delayed.
  71029. * 0b1..Watchdog interrupts are enabled. Watchdog resets are delayed by 255 bus clocks from the interrupt vector fetch.
  71030. */
  71031. #define RTWDOG_CS_INT(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_INT_SHIFT)) & RTWDOG_CS_INT_MASK)
  71032. #define RTWDOG_CS_EN_MASK (0x80U)
  71033. #define RTWDOG_CS_EN_SHIFT (7U)
  71034. /*! EN - Watchdog Enable
  71035. * 0b0..Watchdog disabled.
  71036. * 0b1..Watchdog enabled.
  71037. */
  71038. #define RTWDOG_CS_EN(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_EN_SHIFT)) & RTWDOG_CS_EN_MASK)
  71039. #define RTWDOG_CS_CLK_MASK (0x300U)
  71040. #define RTWDOG_CS_CLK_SHIFT (8U)
  71041. /*! CLK - Watchdog Clock
  71042. */
  71043. #define RTWDOG_CS_CLK(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_CLK_SHIFT)) & RTWDOG_CS_CLK_MASK)
  71044. #define RTWDOG_CS_RCS_MASK (0x400U)
  71045. #define RTWDOG_CS_RCS_SHIFT (10U)
  71046. /*! RCS - Reconfiguration Success
  71047. * 0b0..Reconfiguring WDOG.
  71048. * 0b1..Reconfiguration is successful.
  71049. */
  71050. #define RTWDOG_CS_RCS(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_RCS_SHIFT)) & RTWDOG_CS_RCS_MASK)
  71051. #define RTWDOG_CS_ULK_MASK (0x800U)
  71052. #define RTWDOG_CS_ULK_SHIFT (11U)
  71053. /*! ULK - Unlock status
  71054. * 0b0..WDOG is locked.
  71055. * 0b1..WDOG is unlocked.
  71056. */
  71057. #define RTWDOG_CS_ULK(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_ULK_SHIFT)) & RTWDOG_CS_ULK_MASK)
  71058. #define RTWDOG_CS_PRES_MASK (0x1000U)
  71059. #define RTWDOG_CS_PRES_SHIFT (12U)
  71060. /*! PRES - Watchdog prescaler
  71061. * 0b0..256 prescaler disabled.
  71062. * 0b1..256 prescaler enabled.
  71063. */
  71064. #define RTWDOG_CS_PRES(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_PRES_SHIFT)) & RTWDOG_CS_PRES_MASK)
  71065. #define RTWDOG_CS_CMD32EN_MASK (0x2000U)
  71066. #define RTWDOG_CS_CMD32EN_SHIFT (13U)
  71067. /*! CMD32EN - Enables or disables WDOG support for 32-bit (otherwise 16-bit or 8-bit) refresh/unlock command write words
  71068. * 0b0..Disables support for 32-bit refresh/unlock command write words. Only 16-bit or 8-bit is supported.
  71069. * 0b1..Enables support for 32-bit refresh/unlock command write words. 16-bit or 8-bit is NOT supported.
  71070. */
  71071. #define RTWDOG_CS_CMD32EN(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_CMD32EN_SHIFT)) & RTWDOG_CS_CMD32EN_MASK)
  71072. #define RTWDOG_CS_FLG_MASK (0x4000U)
  71073. #define RTWDOG_CS_FLG_SHIFT (14U)
  71074. /*! FLG - Watchdog Interrupt Flag
  71075. * 0b0..No interrupt occurred.
  71076. * 0b1..An interrupt occurred.
  71077. */
  71078. #define RTWDOG_CS_FLG(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_FLG_SHIFT)) & RTWDOG_CS_FLG_MASK)
  71079. #define RTWDOG_CS_WIN_MASK (0x8000U)
  71080. #define RTWDOG_CS_WIN_SHIFT (15U)
  71081. /*! WIN - Watchdog Window
  71082. * 0b0..Window mode disabled.
  71083. * 0b1..Window mode enabled.
  71084. */
  71085. #define RTWDOG_CS_WIN(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_WIN_SHIFT)) & RTWDOG_CS_WIN_MASK)
  71086. /*! @} */
  71087. /*! @name CNT - Watchdog Counter Register */
  71088. /*! @{ */
  71089. #define RTWDOG_CNT_CNTLOW_MASK (0xFFU)
  71090. #define RTWDOG_CNT_CNTLOW_SHIFT (0U)
  71091. /*! CNTLOW - Low byte of the Watchdog Counter
  71092. */
  71093. #define RTWDOG_CNT_CNTLOW(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CNT_CNTLOW_SHIFT)) & RTWDOG_CNT_CNTLOW_MASK)
  71094. #define RTWDOG_CNT_CNTHIGH_MASK (0xFF00U)
  71095. #define RTWDOG_CNT_CNTHIGH_SHIFT (8U)
  71096. /*! CNTHIGH - High byte of the Watchdog Counter
  71097. */
  71098. #define RTWDOG_CNT_CNTHIGH(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CNT_CNTHIGH_SHIFT)) & RTWDOG_CNT_CNTHIGH_MASK)
  71099. /*! @} */
  71100. /*! @name TOVAL - Watchdog Timeout Value Register */
  71101. /*! @{ */
  71102. #define RTWDOG_TOVAL_TOVALLOW_MASK (0xFFU)
  71103. #define RTWDOG_TOVAL_TOVALLOW_SHIFT (0U)
  71104. /*! TOVALLOW - Low byte of the timeout value
  71105. */
  71106. #define RTWDOG_TOVAL_TOVALLOW(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_TOVAL_TOVALLOW_SHIFT)) & RTWDOG_TOVAL_TOVALLOW_MASK)
  71107. #define RTWDOG_TOVAL_TOVALHIGH_MASK (0xFF00U)
  71108. #define RTWDOG_TOVAL_TOVALHIGH_SHIFT (8U)
  71109. /*! TOVALHIGH - High byte of the timeout value
  71110. */
  71111. #define RTWDOG_TOVAL_TOVALHIGH(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_TOVAL_TOVALHIGH_SHIFT)) & RTWDOG_TOVAL_TOVALHIGH_MASK)
  71112. /*! @} */
  71113. /*! @name WIN - Watchdog Window Register */
  71114. /*! @{ */
  71115. #define RTWDOG_WIN_WINLOW_MASK (0xFFU)
  71116. #define RTWDOG_WIN_WINLOW_SHIFT (0U)
  71117. /*! WINLOW - Low byte of Watchdog Window
  71118. */
  71119. #define RTWDOG_WIN_WINLOW(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_WIN_WINLOW_SHIFT)) & RTWDOG_WIN_WINLOW_MASK)
  71120. #define RTWDOG_WIN_WINHIGH_MASK (0xFF00U)
  71121. #define RTWDOG_WIN_WINHIGH_SHIFT (8U)
  71122. /*! WINHIGH - High byte of Watchdog Window
  71123. */
  71124. #define RTWDOG_WIN_WINHIGH(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_WIN_WINHIGH_SHIFT)) & RTWDOG_WIN_WINHIGH_MASK)
  71125. /*! @} */
  71126. /*!
  71127. * @}
  71128. */ /* end of group RTWDOG_Register_Masks */
  71129. /* RTWDOG - Peripheral instance base addresses */
  71130. /** Peripheral RTWDOG3 base address */
  71131. #define RTWDOG3_BASE (0x40038000u)
  71132. /** Peripheral RTWDOG3 base pointer */
  71133. #define RTWDOG3 ((RTWDOG_Type *)RTWDOG3_BASE)
  71134. /** Peripheral RTWDOG4 base address */
  71135. #define RTWDOG4_BASE (0x40C10000u)
  71136. /** Peripheral RTWDOG4 base pointer */
  71137. #define RTWDOG4 ((RTWDOG_Type *)RTWDOG4_BASE)
  71138. /** Array initializer of RTWDOG peripheral base addresses */
  71139. #define RTWDOG_BASE_ADDRS { 0u, 0u, 0u, RTWDOG3_BASE, RTWDOG4_BASE }
  71140. /** Array initializer of RTWDOG peripheral base pointers */
  71141. #define RTWDOG_BASE_PTRS { (RTWDOG_Type *)0u, (RTWDOG_Type *)0u, (RTWDOG_Type *)0u, RTWDOG3, RTWDOG4 }
  71142. /** Interrupt vectors for the RTWDOG peripheral type */
  71143. #define RTWDOG_IRQS { NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, RTWDOG4_IRQn }
  71144. /* Extra definition */
  71145. #define RTWDOG_UPDATE_KEY (0xD928C520U)
  71146. #define RTWDOG_REFRESH_KEY (0xB480A602U)
  71147. /*!
  71148. * @}
  71149. */ /* end of group RTWDOG_Peripheral_Access_Layer */
  71150. /* ----------------------------------------------------------------------------
  71151. -- SEMA4 Peripheral Access Layer
  71152. ---------------------------------------------------------------------------- */
  71153. /*!
  71154. * @addtogroup SEMA4_Peripheral_Access_Layer SEMA4 Peripheral Access Layer
  71155. * @{
  71156. */
  71157. /** SEMA4 - Register Layout Typedef */
  71158. typedef struct {
  71159. __IO uint8_t GATE[16]; /**< Semaphores Gate n Register, array offset: 0x0, array step: 0x1 */
  71160. uint8_t RESERVED_0[48];
  71161. struct { /* offset: 0x40, array step: 0x8 */
  71162. __IO uint16_t CPINE; /**< Semaphores Processor n IRQ Notification Enable, array offset: 0x40, array step: 0x8 */
  71163. uint8_t RESERVED_0[6];
  71164. } CPINE[2];
  71165. uint8_t RESERVED_1[48];
  71166. struct { /* offset: 0x80, array step: 0x8 */
  71167. __I uint16_t CPNTF; /**< Semaphores Processor n IRQ Notification, array offset: 0x80, array step: 0x8 */
  71168. uint8_t RESERVED_0[6];
  71169. } CPNTF[2];
  71170. uint8_t RESERVED_2[112];
  71171. __IO uint16_t RSTGT; /**< Semaphores (Secure) Reset Gate n, offset: 0x100 */
  71172. uint8_t RESERVED_3[2];
  71173. __IO uint16_t RSTNTF; /**< Semaphores (Secure) Reset IRQ Notification, offset: 0x104 */
  71174. } SEMA4_Type;
  71175. /* ----------------------------------------------------------------------------
  71176. -- SEMA4 Register Masks
  71177. ---------------------------------------------------------------------------- */
  71178. /*!
  71179. * @addtogroup SEMA4_Register_Masks SEMA4 Register Masks
  71180. * @{
  71181. */
  71182. /*! @name GATE - Semaphores Gate n Register */
  71183. /*! @{ */
  71184. #define SEMA4_GATE_GTFSM_MASK (0x3U)
  71185. #define SEMA4_GATE_GTFSM_SHIFT (0U)
  71186. /*! GTFSM - Gate Finite State Machine.
  71187. * 0b00..The gate is unlocked (free).
  71188. * 0b01..The gate has been locked by processor 0.
  71189. * 0b10..The gate has been locked by processor 1.
  71190. * 0b11..This state encoding is never used and therefore reserved. Attempted writes of 0x03 are treated as "no
  71191. * operation" and do not affect the gate state machine.
  71192. */
  71193. #define SEMA4_GATE_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA4_GATE_GTFSM_SHIFT)) & SEMA4_GATE_GTFSM_MASK)
  71194. /*! @} */
  71195. /* The count of SEMA4_GATE */
  71196. #define SEMA4_GATE_COUNT (16U)
  71197. /*! @name CPINE - Semaphores Processor n IRQ Notification Enable */
  71198. /*! @{ */
  71199. #define SEMA4_CPINE_INE7_MASK (0x1U)
  71200. #define SEMA4_CPINE_INE7_SHIFT (0U)
  71201. /*! INE7 - Interrupt Request Notification Enable 7. This field is a bitmap to enable the generation
  71202. * of an interrupt notification from a failed attempt to lock gate 7.
  71203. * 0b0..The generation of the notification interrupt is disabled.
  71204. * 0b1..The generation of the notification interrupt is enabled.
  71205. */
  71206. #define SEMA4_CPINE_INE7(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPINE_INE7_SHIFT)) & SEMA4_CPINE_INE7_MASK)
  71207. #define SEMA4_CPINE_INE6_MASK (0x2U)
  71208. #define SEMA4_CPINE_INE6_SHIFT (1U)
  71209. /*! INE6 - Interrupt Request Notification Enable 6. This field is a bitmap to enable the generation
  71210. * of an interrupt notification from a failed attempt to lock gate 6.
  71211. * 0b0..The generation of the notification interrupt is disabled.
  71212. * 0b1..The generation of the notification interrupt is enabled.
  71213. */
  71214. #define SEMA4_CPINE_INE6(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPINE_INE6_SHIFT)) & SEMA4_CPINE_INE6_MASK)
  71215. #define SEMA4_CPINE_INE5_MASK (0x4U)
  71216. #define SEMA4_CPINE_INE5_SHIFT (2U)
  71217. /*! INE5 - Interrupt Request Notification Enable 5. This field is a bitmap to enable the generation
  71218. * of an interrupt notification from a failed attempt to lock gate 5.
  71219. * 0b0..The generation of the notification interrupt is disabled.
  71220. * 0b1..The generation of the notification interrupt is enabled.
  71221. */
  71222. #define SEMA4_CPINE_INE5(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPINE_INE5_SHIFT)) & SEMA4_CPINE_INE5_MASK)
  71223. #define SEMA4_CPINE_INE4_MASK (0x8U)
  71224. #define SEMA4_CPINE_INE4_SHIFT (3U)
  71225. /*! INE4 - Interrupt Request Notification Enable 4. This field is a bitmap to enable the generation
  71226. * of an interrupt notification from a failed attempt to lock gate 4.
  71227. * 0b0..The generation of the notification interrupt is disabled.
  71228. * 0b1..The generation of the notification interrupt is enabled.
  71229. */
  71230. #define SEMA4_CPINE_INE4(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPINE_INE4_SHIFT)) & SEMA4_CPINE_INE4_MASK)
  71231. #define SEMA4_CPINE_INE3_MASK (0x10U)
  71232. #define SEMA4_CPINE_INE3_SHIFT (4U)
  71233. /*! INE3
  71234. * 0b0..The generation of the notification interrupt is disabled.
  71235. * 0b1..The generation of the notification interrupt is enabled.
  71236. */
  71237. #define SEMA4_CPINE_INE3(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPINE_INE3_SHIFT)) & SEMA4_CPINE_INE3_MASK)
  71238. #define SEMA4_CPINE_INE2_MASK (0x20U)
  71239. #define SEMA4_CPINE_INE2_SHIFT (5U)
  71240. /*! INE2
  71241. * 0b0..The generation of the notification interrupt is disabled.
  71242. * 0b1..The generation of the notification interrupt is enabled.
  71243. */
  71244. #define SEMA4_CPINE_INE2(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPINE_INE2_SHIFT)) & SEMA4_CPINE_INE2_MASK)
  71245. #define SEMA4_CPINE_INE1_MASK (0x40U)
  71246. #define SEMA4_CPINE_INE1_SHIFT (6U)
  71247. /*! INE1
  71248. * 0b0..The generation of the notification interrupt is disabled.
  71249. * 0b1..The generation of the notification interrupt is enabled.
  71250. */
  71251. #define SEMA4_CPINE_INE1(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPINE_INE1_SHIFT)) & SEMA4_CPINE_INE1_MASK)
  71252. #define SEMA4_CPINE_INE0_MASK (0x80U)
  71253. #define SEMA4_CPINE_INE0_SHIFT (7U)
  71254. /*! INE0
  71255. * 0b0..The generation of the notification interrupt is disabled.
  71256. * 0b1..The generation of the notification interrupt is enabled.
  71257. */
  71258. #define SEMA4_CPINE_INE0(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPINE_INE0_SHIFT)) & SEMA4_CPINE_INE0_MASK)
  71259. #define SEMA4_CPINE_INE15_MASK (0x100U)
  71260. #define SEMA4_CPINE_INE15_SHIFT (8U)
  71261. /*! INE15 - Interrupt Request Notification Enable 15. This field is a bitmap to enable the
  71262. * generation of an interrupt notification from a failed attempt to lock gate 15.
  71263. * 0b0..The generation of the notification interrupt is disabled.
  71264. * 0b1..The generation of the notification interrupt is enabled.
  71265. */
  71266. #define SEMA4_CPINE_INE15(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPINE_INE15_SHIFT)) & SEMA4_CPINE_INE15_MASK)
  71267. #define SEMA4_CPINE_INE14_MASK (0x200U)
  71268. #define SEMA4_CPINE_INE14_SHIFT (9U)
  71269. /*! INE14 - Interrupt Request Notification Enable 14. This field is a bitmap to enable the
  71270. * generation of an interrupt notification from a failed attempt to lock gate 14.
  71271. * 0b0..The generation of the notification interrupt is disabled.
  71272. * 0b1..The generation of the notification interrupt is enabled.
  71273. */
  71274. #define SEMA4_CPINE_INE14(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPINE_INE14_SHIFT)) & SEMA4_CPINE_INE14_MASK)
  71275. #define SEMA4_CPINE_INE13_MASK (0x400U)
  71276. #define SEMA4_CPINE_INE13_SHIFT (10U)
  71277. /*! INE13 - Interrupt Request Notification Enable 13. This field is a bitmap to enable the
  71278. * generation of an interrupt notification from a failed attempt to lock gate 13.
  71279. * 0b0..The generation of the notification interrupt is disabled.
  71280. * 0b1..The generation of the notification interrupt is enabled.
  71281. */
  71282. #define SEMA4_CPINE_INE13(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPINE_INE13_SHIFT)) & SEMA4_CPINE_INE13_MASK)
  71283. #define SEMA4_CPINE_INE12_MASK (0x800U)
  71284. #define SEMA4_CPINE_INE12_SHIFT (11U)
  71285. /*! INE12 - Interrupt Request Notification Enable 12. This field is a bitmap to enable the
  71286. * generation of an interrupt notification from a failed attempt to lock gate 12.
  71287. * 0b0..The generation of the notification interrupt is disabled.
  71288. * 0b1..The generation of the notification interrupt is enabled.
  71289. */
  71290. #define SEMA4_CPINE_INE12(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPINE_INE12_SHIFT)) & SEMA4_CPINE_INE12_MASK)
  71291. #define SEMA4_CPINE_INE11_MASK (0x1000U)
  71292. #define SEMA4_CPINE_INE11_SHIFT (12U)
  71293. /*! INE11 - Interrupt Request Notification Enable 11. This field is a bitmap to enable the
  71294. * generation of an interrupt notification from a failed attempt to lock gate 11.
  71295. * 0b0..The generation of the notification interrupt is disabled.
  71296. * 0b1..The generation of the notification interrupt is enabled.
  71297. */
  71298. #define SEMA4_CPINE_INE11(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPINE_INE11_SHIFT)) & SEMA4_CPINE_INE11_MASK)
  71299. #define SEMA4_CPINE_INE10_MASK (0x2000U)
  71300. #define SEMA4_CPINE_INE10_SHIFT (13U)
  71301. /*! INE10 - Interrupt Request Notification Enable 10. This field is a bitmap to enable the
  71302. * generation of an interrupt notification from a failed attempt to lock gate 10.
  71303. * 0b0..The generation of the notification interrupt is disabled.
  71304. * 0b1..The generation of the notification interrupt is enabled.
  71305. */
  71306. #define SEMA4_CPINE_INE10(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPINE_INE10_SHIFT)) & SEMA4_CPINE_INE10_MASK)
  71307. #define SEMA4_CPINE_INE9_MASK (0x4000U)
  71308. #define SEMA4_CPINE_INE9_SHIFT (14U)
  71309. /*! INE9 - Interrupt Request Notification Enable 9. This field is a bitmap to enable the generation
  71310. * of an interrupt notification from a failed attempt to lock gate 9.
  71311. * 0b0..The generation of the notification interrupt is disabled.
  71312. * 0b1..The generation of the notification interrupt is enabled.
  71313. */
  71314. #define SEMA4_CPINE_INE9(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPINE_INE9_SHIFT)) & SEMA4_CPINE_INE9_MASK)
  71315. #define SEMA4_CPINE_INE8_MASK (0x8000U)
  71316. #define SEMA4_CPINE_INE8_SHIFT (15U)
  71317. /*! INE8 - Interrupt Request Notification Enable 8. This field is a bitmap to enable the generation
  71318. * of an interrupt notification from a failed attempt to lock gate 8.
  71319. * 0b0..The generation of the notification interrupt is disabled.
  71320. * 0b1..The generation of the notification interrupt is enabled.
  71321. */
  71322. #define SEMA4_CPINE_INE8(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPINE_INE8_SHIFT)) & SEMA4_CPINE_INE8_MASK)
  71323. /*! @} */
  71324. /* The count of SEMA4_CPINE */
  71325. #define SEMA4_CPINE_COUNT (2U)
  71326. /*! @name CPNTF - Semaphores Processor n IRQ Notification */
  71327. /*! @{ */
  71328. #define SEMA4_CPNTF_GN7_MASK (0x1U)
  71329. #define SEMA4_CPNTF_GN7_SHIFT (0U)
  71330. #define SEMA4_CPNTF_GN7(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPNTF_GN7_SHIFT)) & SEMA4_CPNTF_GN7_MASK)
  71331. #define SEMA4_CPNTF_GN6_MASK (0x2U)
  71332. #define SEMA4_CPNTF_GN6_SHIFT (1U)
  71333. #define SEMA4_CPNTF_GN6(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPNTF_GN6_SHIFT)) & SEMA4_CPNTF_GN6_MASK)
  71334. #define SEMA4_CPNTF_GN5_MASK (0x4U)
  71335. #define SEMA4_CPNTF_GN5_SHIFT (2U)
  71336. #define SEMA4_CPNTF_GN5(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPNTF_GN5_SHIFT)) & SEMA4_CPNTF_GN5_MASK)
  71337. #define SEMA4_CPNTF_GN4_MASK (0x8U)
  71338. #define SEMA4_CPNTF_GN4_SHIFT (3U)
  71339. #define SEMA4_CPNTF_GN4(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPNTF_GN4_SHIFT)) & SEMA4_CPNTF_GN4_MASK)
  71340. #define SEMA4_CPNTF_GN3_MASK (0x10U)
  71341. #define SEMA4_CPNTF_GN3_SHIFT (4U)
  71342. #define SEMA4_CPNTF_GN3(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPNTF_GN3_SHIFT)) & SEMA4_CPNTF_GN3_MASK)
  71343. #define SEMA4_CPNTF_GN2_MASK (0x20U)
  71344. #define SEMA4_CPNTF_GN2_SHIFT (5U)
  71345. #define SEMA4_CPNTF_GN2(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPNTF_GN2_SHIFT)) & SEMA4_CPNTF_GN2_MASK)
  71346. #define SEMA4_CPNTF_GN1_MASK (0x40U)
  71347. #define SEMA4_CPNTF_GN1_SHIFT (6U)
  71348. #define SEMA4_CPNTF_GN1(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPNTF_GN1_SHIFT)) & SEMA4_CPNTF_GN1_MASK)
  71349. #define SEMA4_CPNTF_GN0_MASK (0x80U)
  71350. #define SEMA4_CPNTF_GN0_SHIFT (7U)
  71351. #define SEMA4_CPNTF_GN0(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPNTF_GN0_SHIFT)) & SEMA4_CPNTF_GN0_MASK)
  71352. #define SEMA4_CPNTF_GN15_MASK (0x100U)
  71353. #define SEMA4_CPNTF_GN15_SHIFT (8U)
  71354. #define SEMA4_CPNTF_GN15(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPNTF_GN15_SHIFT)) & SEMA4_CPNTF_GN15_MASK)
  71355. #define SEMA4_CPNTF_GN14_MASK (0x200U)
  71356. #define SEMA4_CPNTF_GN14_SHIFT (9U)
  71357. #define SEMA4_CPNTF_GN14(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPNTF_GN14_SHIFT)) & SEMA4_CPNTF_GN14_MASK)
  71358. #define SEMA4_CPNTF_GN13_MASK (0x400U)
  71359. #define SEMA4_CPNTF_GN13_SHIFT (10U)
  71360. #define SEMA4_CPNTF_GN13(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPNTF_GN13_SHIFT)) & SEMA4_CPNTF_GN13_MASK)
  71361. #define SEMA4_CPNTF_GN12_MASK (0x800U)
  71362. #define SEMA4_CPNTF_GN12_SHIFT (11U)
  71363. #define SEMA4_CPNTF_GN12(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPNTF_GN12_SHIFT)) & SEMA4_CPNTF_GN12_MASK)
  71364. #define SEMA4_CPNTF_GN11_MASK (0x1000U)
  71365. #define SEMA4_CPNTF_GN11_SHIFT (12U)
  71366. #define SEMA4_CPNTF_GN11(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPNTF_GN11_SHIFT)) & SEMA4_CPNTF_GN11_MASK)
  71367. #define SEMA4_CPNTF_GN10_MASK (0x2000U)
  71368. #define SEMA4_CPNTF_GN10_SHIFT (13U)
  71369. #define SEMA4_CPNTF_GN10(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPNTF_GN10_SHIFT)) & SEMA4_CPNTF_GN10_MASK)
  71370. #define SEMA4_CPNTF_GN9_MASK (0x4000U)
  71371. #define SEMA4_CPNTF_GN9_SHIFT (14U)
  71372. #define SEMA4_CPNTF_GN9(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPNTF_GN9_SHIFT)) & SEMA4_CPNTF_GN9_MASK)
  71373. #define SEMA4_CPNTF_GN8_MASK (0x8000U)
  71374. #define SEMA4_CPNTF_GN8_SHIFT (15U)
  71375. #define SEMA4_CPNTF_GN8(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPNTF_GN8_SHIFT)) & SEMA4_CPNTF_GN8_MASK)
  71376. /*! @} */
  71377. /* The count of SEMA4_CPNTF */
  71378. #define SEMA4_CPNTF_COUNT (2U)
  71379. /*! @name RSTGT - Semaphores (Secure) Reset Gate n */
  71380. /*! @{ */
  71381. #define SEMA4_RSTGT_RSTGSM_RSTGMS_RSTGDP_MASK (0xFFU)
  71382. #define SEMA4_RSTGT_RSTGSM_RSTGMS_RSTGDP_SHIFT (0U)
  71383. #define SEMA4_RSTGT_RSTGSM_RSTGMS_RSTGDP(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_RSTGT_RSTGSM_RSTGMS_RSTGDP_SHIFT)) & SEMA4_RSTGT_RSTGSM_RSTGMS_RSTGDP_MASK)
  71384. #define SEMA4_RSTGT_RSTGTN_MASK (0xFF00U)
  71385. #define SEMA4_RSTGT_RSTGTN_SHIFT (8U)
  71386. #define SEMA4_RSTGT_RSTGTN(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_RSTGT_RSTGTN_SHIFT)) & SEMA4_RSTGT_RSTGTN_MASK)
  71387. /*! @} */
  71388. /*! @name RSTNTF - Semaphores (Secure) Reset IRQ Notification */
  71389. /*! @{ */
  71390. #define SEMA4_RSTNTF_RSTNSM_RSTNMS_RSTNDP_MASK (0xFFU)
  71391. #define SEMA4_RSTNTF_RSTNSM_RSTNMS_RSTNDP_SHIFT (0U)
  71392. #define SEMA4_RSTNTF_RSTNSM_RSTNMS_RSTNDP(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_RSTNTF_RSTNSM_RSTNMS_RSTNDP_SHIFT)) & SEMA4_RSTNTF_RSTNSM_RSTNMS_RSTNDP_MASK)
  71393. #define SEMA4_RSTNTF_RSTNTN_MASK (0xFF00U)
  71394. #define SEMA4_RSTNTF_RSTNTN_SHIFT (8U)
  71395. #define SEMA4_RSTNTF_RSTNTN(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_RSTNTF_RSTNTN_SHIFT)) & SEMA4_RSTNTF_RSTNTN_MASK)
  71396. /*! @} */
  71397. /*!
  71398. * @}
  71399. */ /* end of group SEMA4_Register_Masks */
  71400. /* SEMA4 - Peripheral instance base addresses */
  71401. /** Peripheral SEMA4 base address */
  71402. #define SEMA4_BASE (0x40CC8000u)
  71403. /** Peripheral SEMA4 base pointer */
  71404. #define SEMA4 ((SEMA4_Type *)SEMA4_BASE)
  71405. /** Array initializer of SEMA4 peripheral base addresses */
  71406. #define SEMA4_BASE_ADDRS { SEMA4_BASE }
  71407. /** Array initializer of SEMA4 peripheral base pointers */
  71408. #define SEMA4_BASE_PTRS { SEMA4 }
  71409. /*!
  71410. * @}
  71411. */ /* end of group SEMA4_Peripheral_Access_Layer */
  71412. /* ----------------------------------------------------------------------------
  71413. -- SEMC Peripheral Access Layer
  71414. ---------------------------------------------------------------------------- */
  71415. /*!
  71416. * @addtogroup SEMC_Peripheral_Access_Layer SEMC Peripheral Access Layer
  71417. * @{
  71418. */
  71419. /** SEMC - Register Layout Typedef */
  71420. typedef struct {
  71421. __IO uint32_t MCR; /**< Module Control Register, offset: 0x0 */
  71422. __IO uint32_t IOCR; /**< IO MUX Control Register, offset: 0x4 */
  71423. __IO uint32_t BMCR0; /**< Bus (AXI) Master Control Register 0, offset: 0x8 */
  71424. __IO uint32_t BMCR1; /**< Bus (AXI) Master Control Register 1, offset: 0xC */
  71425. __IO uint32_t BR[9]; /**< Base Register 0..Base Register 8, array offset: 0x10, array step: 0x4 */
  71426. __IO uint32_t DLLCR; /**< DLL Control Register, offset: 0x34 */
  71427. __IO uint32_t INTEN; /**< Interrupt Enable Register, offset: 0x38 */
  71428. __IO uint32_t INTR; /**< Interrupt Register, offset: 0x3C */
  71429. __IO uint32_t SDRAMCR0; /**< SDRAM Control Register 0, offset: 0x40 */
  71430. __IO uint32_t SDRAMCR1; /**< SDRAM Control Register 1, offset: 0x44 */
  71431. __IO uint32_t SDRAMCR2; /**< SDRAM Control Register 2, offset: 0x48 */
  71432. __IO uint32_t SDRAMCR3; /**< SDRAM Control Register 3, offset: 0x4C */
  71433. __IO uint32_t NANDCR0; /**< NAND Control Register 0, offset: 0x50 */
  71434. __IO uint32_t NANDCR1; /**< NAND Control Register 1, offset: 0x54 */
  71435. __IO uint32_t NANDCR2; /**< NAND Control Register 2, offset: 0x58 */
  71436. __IO uint32_t NANDCR3; /**< NAND Control Register 3, offset: 0x5C */
  71437. __IO uint32_t NORCR0; /**< NOR Control Register 0, offset: 0x60 */
  71438. __IO uint32_t NORCR1; /**< NOR Control Register 1, offset: 0x64 */
  71439. __IO uint32_t NORCR2; /**< NOR Control Register 2, offset: 0x68 */
  71440. __IO uint32_t NORCR3; /**< NOR Control Register 3, offset: 0x6C */
  71441. __IO uint32_t SRAMCR0; /**< SRAM Control Register 0, offset: 0x70 */
  71442. __IO uint32_t SRAMCR1; /**< SRAM Control Register 1, offset: 0x74 */
  71443. __IO uint32_t SRAMCR2; /**< SRAM Control Register 2, offset: 0x78 */
  71444. uint32_t SRAMCR3; /**< SRAM Control Register 3, offset: 0x7C */
  71445. __IO uint32_t DBICR0; /**< DBI-B Control Register 0, offset: 0x80 */
  71446. __IO uint32_t DBICR1; /**< DBI-B Control Register 1, offset: 0x84 */
  71447. __IO uint32_t DBICR2; /**< DBI-B Control Register 2, offset: 0x88 */
  71448. uint8_t RESERVED_0[4];
  71449. __IO uint32_t IPCR0; /**< IP Command Control Register 0, offset: 0x90 */
  71450. __IO uint32_t IPCR1; /**< IP Command Control Register 1, offset: 0x94 */
  71451. __IO uint32_t IPCR2; /**< IP Command Control Register 2, offset: 0x98 */
  71452. __IO uint32_t IPCMD; /**< IP Command Register, offset: 0x9C */
  71453. __IO uint32_t IPTXDAT; /**< TX DATA Register, offset: 0xA0 */
  71454. uint8_t RESERVED_1[12];
  71455. __I uint32_t IPRXDAT; /**< RX DATA Register, offset: 0xB0 */
  71456. uint8_t RESERVED_2[12];
  71457. __I uint32_t STS0; /**< Status Register 0, offset: 0xC0 */
  71458. uint32_t STS1; /**< Status Register 1, offset: 0xC4 */
  71459. __I uint32_t STS2; /**< Status Register 2, offset: 0xC8 */
  71460. uint32_t STS3; /**< Status Register 3, offset: 0xCC */
  71461. uint32_t STS4; /**< Status Register 4, offset: 0xD0 */
  71462. uint32_t STS5; /**< Status Register 5, offset: 0xD4 */
  71463. uint32_t STS6; /**< Status Register 6, offset: 0xD8 */
  71464. uint32_t STS7; /**< Status Register 7, offset: 0xDC */
  71465. uint32_t STS8; /**< Status Register 8, offset: 0xE0 */
  71466. uint32_t STS9; /**< Status Register 9, offset: 0xE4 */
  71467. uint32_t STS10; /**< Status Register 10, offset: 0xE8 */
  71468. uint32_t STS11; /**< Status Register 11, offset: 0xEC */
  71469. __I uint32_t STS12; /**< Status Register 12, offset: 0xF0 */
  71470. __I uint32_t STS13; /**< Status Register 13, offset: 0xF4 */
  71471. uint32_t STS14; /**< Status Register 14, offset: 0xF8 */
  71472. uint32_t STS15; /**< Status Register 15, offset: 0xFC */
  71473. __IO uint32_t BR9; /**< Base Register 9, offset: 0x100 */
  71474. __IO uint32_t BR10; /**< Base Register 10, offset: 0x104 */
  71475. __IO uint32_t BR11; /**< Base Register 11, offset: 0x108 */
  71476. uint8_t RESERVED_3[20];
  71477. __IO uint32_t SRAMCR4; /**< SRAM Control Register 4, offset: 0x120 */
  71478. __IO uint32_t SRAMCR5; /**< SRAM Control Register 5, offset: 0x124 */
  71479. __IO uint32_t SRAMCR6; /**< SRAM Control Register 6, offset: 0x128 */
  71480. uint8_t RESERVED_4[36];
  71481. __IO uint32_t DCCR; /**< Delay Chain Control Register, offset: 0x150 */
  71482. } SEMC_Type;
  71483. /* ----------------------------------------------------------------------------
  71484. -- SEMC Register Masks
  71485. ---------------------------------------------------------------------------- */
  71486. /*!
  71487. * @addtogroup SEMC_Register_Masks SEMC Register Masks
  71488. * @{
  71489. */
  71490. /*! @name MCR - Module Control Register */
  71491. /*! @{ */
  71492. #define SEMC_MCR_SWRST_MASK (0x1U)
  71493. #define SEMC_MCR_SWRST_SHIFT (0U)
  71494. /*! SWRST - Software Reset
  71495. * 0b0..No reset
  71496. * 0b1..Reset
  71497. */
  71498. #define SEMC_MCR_SWRST(x) (((uint32_t)(((uint32_t)(x)) << SEMC_MCR_SWRST_SHIFT)) & SEMC_MCR_SWRST_MASK)
  71499. #define SEMC_MCR_MDIS_MASK (0x2U)
  71500. #define SEMC_MCR_MDIS_SHIFT (1U)
  71501. /*! MDIS - Module Disable
  71502. * 0b0..Module enabled
  71503. * 0b1..Module disabled
  71504. */
  71505. #define SEMC_MCR_MDIS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_MCR_MDIS_SHIFT)) & SEMC_MCR_MDIS_MASK)
  71506. #define SEMC_MCR_DQSMD_MASK (0x4U)
  71507. #define SEMC_MCR_DQSMD_SHIFT (2U)
  71508. /*! DQSMD - DQS (read strobe) mode
  71509. * 0b0..Dummy read strobe loopbacked internally
  71510. * 0b1..Dummy read strobe loopbacked from DQS pad
  71511. */
  71512. #define SEMC_MCR_DQSMD(x) (((uint32_t)(((uint32_t)(x)) << SEMC_MCR_DQSMD_SHIFT)) & SEMC_MCR_DQSMD_MASK)
  71513. #define SEMC_MCR_WPOL0_MASK (0x40U)
  71514. #define SEMC_MCR_WPOL0_SHIFT (6U)
  71515. /*! WPOL0 - WAIT/RDY polarity for SRAM/NOR
  71516. * 0b0..WAIT/RDY polarity is not changed.
  71517. * 0b1..WAIT/RDY polarity is inverted.
  71518. */
  71519. #define SEMC_MCR_WPOL0(x) (((uint32_t)(((uint32_t)(x)) << SEMC_MCR_WPOL0_SHIFT)) & SEMC_MCR_WPOL0_MASK)
  71520. #define SEMC_MCR_WPOL1_MASK (0x80U)
  71521. #define SEMC_MCR_WPOL1_SHIFT (7U)
  71522. /*! WPOL1 - R/B# polarity for NAND device
  71523. * 0b0..R/B# polarity is not changed.
  71524. * 0b1..R/B# polarity is inverted.
  71525. */
  71526. #define SEMC_MCR_WPOL1(x) (((uint32_t)(((uint32_t)(x)) << SEMC_MCR_WPOL1_SHIFT)) & SEMC_MCR_WPOL1_MASK)
  71527. #define SEMC_MCR_CTO_MASK (0xFF0000U)
  71528. #define SEMC_MCR_CTO_SHIFT (16U)
  71529. /*! CTO - Command Execution timeout cycles
  71530. */
  71531. #define SEMC_MCR_CTO(x) (((uint32_t)(((uint32_t)(x)) << SEMC_MCR_CTO_SHIFT)) & SEMC_MCR_CTO_MASK)
  71532. #define SEMC_MCR_BTO_MASK (0x1F000000U)
  71533. #define SEMC_MCR_BTO_SHIFT (24U)
  71534. /*! BTO - Bus timeout cycles
  71535. * 0b00000..255*1
  71536. * 0b00001..255*2
  71537. * 0b11111..255*231
  71538. */
  71539. #define SEMC_MCR_BTO(x) (((uint32_t)(((uint32_t)(x)) << SEMC_MCR_BTO_SHIFT)) & SEMC_MCR_BTO_MASK)
  71540. /*! @} */
  71541. /*! @name IOCR - IO MUX Control Register */
  71542. /*! @{ */
  71543. #define SEMC_IOCR_MUX_A8_MASK (0xFU)
  71544. #define SEMC_IOCR_MUX_A8_SHIFT (0U)
  71545. /*! MUX_A8 - SEMC_ADDR08 output selection
  71546. * 0b0000-0b0011..SDRAM Address bit 8 (A8) or NOR/SRAM Address bit 24 (A24) in ADMUX 16bit mode
  71547. * 0b0100..NAND CE#
  71548. * 0b0101..NOR CE#
  71549. * 0b0110..SRAM CE# 0
  71550. * 0b0111..DBI CSX
  71551. * 0b1000..SRAM CE# 1
  71552. * 0b1001..SRAM CE# 2
  71553. * 0b1010..SRAM CE# 3
  71554. * 0b1011-0b1111..SDRAM Address bit 8 (A8) or NOR/SRAM Address bit 24 (A24) in ADMUX 16bit mode
  71555. */
  71556. #define SEMC_IOCR_MUX_A8(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IOCR_MUX_A8_SHIFT)) & SEMC_IOCR_MUX_A8_MASK)
  71557. #define SEMC_IOCR_MUX_CSX0_MASK (0xF0U)
  71558. #define SEMC_IOCR_MUX_CSX0_SHIFT (4U)
  71559. /*! MUX_CSX0 - SEMC_CSX0 output selection
  71560. * 0b0000..NOR/SRAM Address bit 24 (A24) in Non-ADMUX mode
  71561. * 0b0001..SDRAM CS1
  71562. * 0b0010..SDRAM CS2
  71563. * 0b0011..SDRAM CS3
  71564. * 0b0100..NAND CE#
  71565. * 0b0101..NOR CE#
  71566. * 0b0110..SRAM CE# 0
  71567. * 0b0111..DBI CSX
  71568. * 0b1000..SRAM CE# 1
  71569. * 0b1001..SRAM CE# 2
  71570. * 0b1010..SRAM CE# 3
  71571. * 0b1011-0b1111..NOR/SRAM Address bit 24 (A24)
  71572. */
  71573. #define SEMC_IOCR_MUX_CSX0(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IOCR_MUX_CSX0_SHIFT)) & SEMC_IOCR_MUX_CSX0_MASK)
  71574. #define SEMC_IOCR_MUX_CSX1_MASK (0xF00U)
  71575. #define SEMC_IOCR_MUX_CSX1_SHIFT (8U)
  71576. /*! MUX_CSX1 - SEMC_CSX1 output selection
  71577. * 0b0000..NOR/SRAM Address bit 25 (A25) in Non-ADMUX mode
  71578. * 0b0001..SDRAM CS1
  71579. * 0b0010..SDRAM CS2
  71580. * 0b0011..SDRAM CS3
  71581. * 0b0100..NAND CE#
  71582. * 0b0101..NOR CE#
  71583. * 0b0110..SRAM CE# 0
  71584. * 0b0111..DBI CSX
  71585. * 0b1000..SRAM CE# 1
  71586. * 0b1001..SRAM CE# 2
  71587. * 0b1010..SRAM CE# 3
  71588. * 0b1011-0b1111..NOR/SRAM Address bit 25 (A25)
  71589. */
  71590. #define SEMC_IOCR_MUX_CSX1(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IOCR_MUX_CSX1_SHIFT)) & SEMC_IOCR_MUX_CSX1_MASK)
  71591. #define SEMC_IOCR_MUX_CSX2_MASK (0xF000U)
  71592. #define SEMC_IOCR_MUX_CSX2_SHIFT (12U)
  71593. /*! MUX_CSX2 - SEMC_CSX2 output selection
  71594. * 0b0000..NOR/SRAM Address bit 26 (A26) in Non-ADMUX mode
  71595. * 0b0001..SDRAM CS1
  71596. * 0b0010..SDRAM CS2
  71597. * 0b0011..SDRAM CS3
  71598. * 0b0100..NAND CE#
  71599. * 0b0101..NOR CE#
  71600. * 0b0110..SRAM CE# 0
  71601. * 0b0111..DBI CSX
  71602. * 0b1000..SRAM CE# 1
  71603. * 0b1001..SRAM CE# 2
  71604. * 0b1010..SRAM CE# 3
  71605. * 0b1011-0b1111..NOR/SRAM Address bit 26 (A26)
  71606. */
  71607. #define SEMC_IOCR_MUX_CSX2(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IOCR_MUX_CSX2_SHIFT)) & SEMC_IOCR_MUX_CSX2_MASK)
  71608. #define SEMC_IOCR_MUX_CSX3_MASK (0xF0000U)
  71609. #define SEMC_IOCR_MUX_CSX3_SHIFT (16U)
  71610. /*! MUX_CSX3 - SEMC_CSX3 output selection
  71611. * 0b0000..NOR/SRAM Address bit 27 (A27) in Non-ADMUX mode
  71612. * 0b0001..SDRAM CS1
  71613. * 0b0010..SDRAM CS2
  71614. * 0b0011..SDRAM CS3
  71615. * 0b0100..NAND CE#
  71616. * 0b0101..NOR CE#
  71617. * 0b0110..SRAM CE# 0
  71618. * 0b0111..DBI CSX
  71619. * 0b1000..SRAM CE# 1
  71620. * 0b1001..SRAM CE# 2
  71621. * 0b1010..SRAM CE# 3
  71622. * 0b1011-0b1111..NOR/SRAM Address bit 27 (A27)
  71623. */
  71624. #define SEMC_IOCR_MUX_CSX3(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IOCR_MUX_CSX3_SHIFT)) & SEMC_IOCR_MUX_CSX3_MASK)
  71625. #define SEMC_IOCR_MUX_RDY_MASK (0xF00000U)
  71626. #define SEMC_IOCR_MUX_RDY_SHIFT (20U)
  71627. /*! MUX_RDY - SEMC_RDY function selection
  71628. * 0b0000..NAND R/B# input
  71629. * 0b0001..SDRAM CS1
  71630. * 0b0010..SDRAM CS2
  71631. * 0b0011..SDRAM CS3
  71632. * 0b0100..NOR/SRAM Address bit 27 (A27) in Non-ADMUX mode
  71633. * 0b0101..NOR CE#
  71634. * 0b0110..SRAM CE# 0
  71635. * 0b0111..DBI CSX
  71636. * 0b1000..SRAM CE# 1
  71637. * 0b1001..SRAM CE# 2
  71638. * 0b1010..SRAM CE# 3
  71639. * 0b1011-0b1111..NOR/SRAM Address bit 27
  71640. */
  71641. #define SEMC_IOCR_MUX_RDY(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IOCR_MUX_RDY_SHIFT)) & SEMC_IOCR_MUX_RDY_MASK)
  71642. #define SEMC_IOCR_MUX_CLKX0_MASK (0x3000000U)
  71643. #define SEMC_IOCR_MUX_CLKX0_SHIFT (24U)
  71644. /*! MUX_CLKX0 - SEMC_CLKX0 function selection
  71645. * 0b00..Keep low
  71646. * 0b01..NOR clock
  71647. * 0b10..SRAM clock
  71648. * 0b11..NOR and SRAM clock, suitable for Multi-Chip Product package
  71649. */
  71650. #define SEMC_IOCR_MUX_CLKX0(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IOCR_MUX_CLKX0_SHIFT)) & SEMC_IOCR_MUX_CLKX0_MASK)
  71651. #define SEMC_IOCR_MUX_CLKX1_MASK (0xC000000U)
  71652. #define SEMC_IOCR_MUX_CLKX1_SHIFT (26U)
  71653. /*! MUX_CLKX1 - SEMC_CLKX1 function selection
  71654. * 0b00..Keep low
  71655. * 0b01..NOR clock
  71656. * 0b10..SRAM clock
  71657. * 0b11..NOR and SRAM clock, suitable for Multi-Chip Product package
  71658. */
  71659. #define SEMC_IOCR_MUX_CLKX1(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IOCR_MUX_CLKX1_SHIFT)) & SEMC_IOCR_MUX_CLKX1_MASK)
  71660. #define SEMC_IOCR_CLKX0_AO_MASK (0x10000000U)
  71661. #define SEMC_IOCR_CLKX0_AO_SHIFT (28U)
  71662. /*! CLKX0_AO - SEMC_CLKX0 Always On
  71663. * 0b0..SEMC_CLKX0 is controlled by MUX_CLKX0
  71664. * 0b1..SEMC_CLKX0 is always on
  71665. */
  71666. #define SEMC_IOCR_CLKX0_AO(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IOCR_CLKX0_AO_SHIFT)) & SEMC_IOCR_CLKX0_AO_MASK)
  71667. #define SEMC_IOCR_CLKX1_AO_MASK (0x20000000U)
  71668. #define SEMC_IOCR_CLKX1_AO_SHIFT (29U)
  71669. /*! CLKX1_AO - SEMC_CLKX1 Always On
  71670. * 0b0..SEMC_CLKX1 is controlled by MUX_CLKX1
  71671. * 0b1..SEMC_CLKX1 is always on
  71672. */
  71673. #define SEMC_IOCR_CLKX1_AO(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IOCR_CLKX1_AO_SHIFT)) & SEMC_IOCR_CLKX1_AO_MASK)
  71674. /*! @} */
  71675. /*! @name BMCR0 - Bus (AXI) Master Control Register 0 */
  71676. /*! @{ */
  71677. #define SEMC_BMCR0_WQOS_MASK (0xFU)
  71678. #define SEMC_BMCR0_WQOS_SHIFT (0U)
  71679. /*! WQOS - Weight of QOS
  71680. */
  71681. #define SEMC_BMCR0_WQOS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BMCR0_WQOS_SHIFT)) & SEMC_BMCR0_WQOS_MASK)
  71682. #define SEMC_BMCR0_WAGE_MASK (0xF0U)
  71683. #define SEMC_BMCR0_WAGE_SHIFT (4U)
  71684. /*! WAGE - Weight of AGE
  71685. */
  71686. #define SEMC_BMCR0_WAGE(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BMCR0_WAGE_SHIFT)) & SEMC_BMCR0_WAGE_MASK)
  71687. #define SEMC_BMCR0_WSH_MASK (0xFF00U)
  71688. #define SEMC_BMCR0_WSH_SHIFT (8U)
  71689. /*! WSH - Weight of Slave Hit without read/write switch
  71690. */
  71691. #define SEMC_BMCR0_WSH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BMCR0_WSH_SHIFT)) & SEMC_BMCR0_WSH_MASK)
  71692. #define SEMC_BMCR0_WRWS_MASK (0xFF0000U)
  71693. #define SEMC_BMCR0_WRWS_SHIFT (16U)
  71694. /*! WRWS - Weight of slave hit with Read/Write Switch
  71695. */
  71696. #define SEMC_BMCR0_WRWS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BMCR0_WRWS_SHIFT)) & SEMC_BMCR0_WRWS_MASK)
  71697. /*! @} */
  71698. /*! @name BMCR1 - Bus (AXI) Master Control Register 1 */
  71699. /*! @{ */
  71700. #define SEMC_BMCR1_WQOS_MASK (0xFU)
  71701. #define SEMC_BMCR1_WQOS_SHIFT (0U)
  71702. /*! WQOS - Weight of QOS
  71703. */
  71704. #define SEMC_BMCR1_WQOS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BMCR1_WQOS_SHIFT)) & SEMC_BMCR1_WQOS_MASK)
  71705. #define SEMC_BMCR1_WAGE_MASK (0xF0U)
  71706. #define SEMC_BMCR1_WAGE_SHIFT (4U)
  71707. /*! WAGE - Weight of AGE
  71708. */
  71709. #define SEMC_BMCR1_WAGE(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BMCR1_WAGE_SHIFT)) & SEMC_BMCR1_WAGE_MASK)
  71710. #define SEMC_BMCR1_WPH_MASK (0xFF00U)
  71711. #define SEMC_BMCR1_WPH_SHIFT (8U)
  71712. /*! WPH - Weight of Page Hit
  71713. */
  71714. #define SEMC_BMCR1_WPH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BMCR1_WPH_SHIFT)) & SEMC_BMCR1_WPH_MASK)
  71715. #define SEMC_BMCR1_WRWS_MASK (0xFF0000U)
  71716. #define SEMC_BMCR1_WRWS_SHIFT (16U)
  71717. /*! WRWS - Weight of slave hit without Read/Write Switch
  71718. */
  71719. #define SEMC_BMCR1_WRWS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BMCR1_WRWS_SHIFT)) & SEMC_BMCR1_WRWS_MASK)
  71720. #define SEMC_BMCR1_WBR_MASK (0xFF000000U)
  71721. #define SEMC_BMCR1_WBR_SHIFT (24U)
  71722. /*! WBR - Weight of Bank Rotation
  71723. */
  71724. #define SEMC_BMCR1_WBR(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BMCR1_WBR_SHIFT)) & SEMC_BMCR1_WBR_MASK)
  71725. /*! @} */
  71726. /*! @name BR - Base Register 0..Base Register 8 */
  71727. /*! @{ */
  71728. #define SEMC_BR_VLD_MASK (0x1U)
  71729. #define SEMC_BR_VLD_SHIFT (0U)
  71730. /*! VLD - Valid
  71731. * 0b0..The memory is invalid, can not be accessed.
  71732. * 0b1..The memory is valid, can be accessed.
  71733. */
  71734. #define SEMC_BR_VLD(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BR_VLD_SHIFT)) & SEMC_BR_VLD_MASK)
  71735. #define SEMC_BR_MS_MASK (0x3EU)
  71736. #define SEMC_BR_MS_SHIFT (1U)
  71737. /*! MS - Memory size
  71738. * 0b00000..4KB
  71739. * 0b00001..8KB
  71740. * 0b00010..16KB
  71741. * 0b00011..32KB
  71742. * 0b00100..64KB
  71743. * 0b00101..128KB
  71744. * 0b00110..256KB
  71745. * 0b00111..512KB
  71746. * 0b01000..1MB
  71747. * 0b01001..2MB
  71748. * 0b01010..4MB
  71749. * 0b01011..8MB
  71750. * 0b01100..16MB
  71751. * 0b01101..32MB
  71752. * 0b01110..64MB
  71753. * 0b01111..128MB
  71754. * 0b10000..256MB
  71755. * 0b10001..512MB
  71756. * 0b10010..1GB
  71757. * 0b10011..2GB
  71758. * 0b10100-0b11111..4GB
  71759. */
  71760. #define SEMC_BR_MS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BR_MS_SHIFT)) & SEMC_BR_MS_MASK)
  71761. #define SEMC_BR_BA_MASK (0xFFFFF000U)
  71762. #define SEMC_BR_BA_SHIFT (12U)
  71763. /*! BA - Base Address
  71764. */
  71765. #define SEMC_BR_BA(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BR_BA_SHIFT)) & SEMC_BR_BA_MASK)
  71766. /*! @} */
  71767. /* The count of SEMC_BR */
  71768. #define SEMC_BR_COUNT (9U)
  71769. /*! @name DLLCR - DLL Control Register */
  71770. /*! @{ */
  71771. #define SEMC_DLLCR_DLLEN_MASK (0x1U)
  71772. #define SEMC_DLLCR_DLLEN_SHIFT (0U)
  71773. /*! DLLEN - DLL calibration enable
  71774. * 0b0..DLL calibration is disabled.
  71775. * 0b1..DLL calibration is enabled.
  71776. */
  71777. #define SEMC_DLLCR_DLLEN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DLLCR_DLLEN_SHIFT)) & SEMC_DLLCR_DLLEN_MASK)
  71778. #define SEMC_DLLCR_DLLRESET_MASK (0x2U)
  71779. #define SEMC_DLLCR_DLLRESET_SHIFT (1U)
  71780. /*! DLLRESET - DLL Reset
  71781. * 0b0..DLL is not reset.
  71782. * 0b1..DLL is reset.
  71783. */
  71784. #define SEMC_DLLCR_DLLRESET(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DLLCR_DLLRESET_SHIFT)) & SEMC_DLLCR_DLLRESET_MASK)
  71785. #define SEMC_DLLCR_SLVDLYTARGET_MASK (0x78U)
  71786. #define SEMC_DLLCR_SLVDLYTARGET_SHIFT (3U)
  71787. /*! SLVDLYTARGET - Delay Target for Slave
  71788. */
  71789. #define SEMC_DLLCR_SLVDLYTARGET(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DLLCR_SLVDLYTARGET_SHIFT)) & SEMC_DLLCR_SLVDLYTARGET_MASK)
  71790. #define SEMC_DLLCR_OVRDEN_MASK (0x100U)
  71791. #define SEMC_DLLCR_OVRDEN_SHIFT (8U)
  71792. /*! OVRDEN - Override Enable
  71793. * 0b0..The delay cell number is not overridden.
  71794. * 0b1..The delay cell number is overridden.
  71795. */
  71796. #define SEMC_DLLCR_OVRDEN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DLLCR_OVRDEN_SHIFT)) & SEMC_DLLCR_OVRDEN_MASK)
  71797. #define SEMC_DLLCR_OVRDVAL_MASK (0x7E00U)
  71798. #define SEMC_DLLCR_OVRDVAL_SHIFT (9U)
  71799. /*! OVRDVAL - Override Value
  71800. */
  71801. #define SEMC_DLLCR_OVRDVAL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DLLCR_OVRDVAL_SHIFT)) & SEMC_DLLCR_OVRDVAL_MASK)
  71802. /*! @} */
  71803. /*! @name INTEN - Interrupt Enable Register */
  71804. /*! @{ */
  71805. #define SEMC_INTEN_IPCMDDONEEN_MASK (0x1U)
  71806. #define SEMC_INTEN_IPCMDDONEEN_SHIFT (0U)
  71807. /*! IPCMDDONEEN - IP command done interrupt enable
  71808. * 0b0..Interrupt is disabled
  71809. * 0b1..Interrupt is enabled
  71810. */
  71811. #define SEMC_INTEN_IPCMDDONEEN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_INTEN_IPCMDDONEEN_SHIFT)) & SEMC_INTEN_IPCMDDONEEN_MASK)
  71812. #define SEMC_INTEN_IPCMDERREN_MASK (0x2U)
  71813. #define SEMC_INTEN_IPCMDERREN_SHIFT (1U)
  71814. /*! IPCMDERREN - IP command error interrupt enable
  71815. * 0b0..Interrupt is disabled
  71816. * 0b1..Interrupt is enabled
  71817. */
  71818. #define SEMC_INTEN_IPCMDERREN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_INTEN_IPCMDERREN_SHIFT)) & SEMC_INTEN_IPCMDERREN_MASK)
  71819. #define SEMC_INTEN_AXICMDERREN_MASK (0x4U)
  71820. #define SEMC_INTEN_AXICMDERREN_SHIFT (2U)
  71821. /*! AXICMDERREN - AXI command error interrupt enable
  71822. * 0b0..Interrupt is disabled
  71823. * 0b1..Interrupt is enabled
  71824. */
  71825. #define SEMC_INTEN_AXICMDERREN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_INTEN_AXICMDERREN_SHIFT)) & SEMC_INTEN_AXICMDERREN_MASK)
  71826. #define SEMC_INTEN_AXIBUSERREN_MASK (0x8U)
  71827. #define SEMC_INTEN_AXIBUSERREN_SHIFT (3U)
  71828. /*! AXIBUSERREN - AXI bus error interrupt enable
  71829. * 0b0..Interrupt is disabled
  71830. * 0b1..Interrupt is enabled
  71831. */
  71832. #define SEMC_INTEN_AXIBUSERREN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_INTEN_AXIBUSERREN_SHIFT)) & SEMC_INTEN_AXIBUSERREN_MASK)
  71833. #define SEMC_INTEN_NDPAGEENDEN_MASK (0x10U)
  71834. #define SEMC_INTEN_NDPAGEENDEN_SHIFT (4U)
  71835. /*! NDPAGEENDEN - NAND page end interrupt enable
  71836. * 0b0..Interrupt is disabled
  71837. * 0b1..Interrupt is enabled
  71838. */
  71839. #define SEMC_INTEN_NDPAGEENDEN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_INTEN_NDPAGEENDEN_SHIFT)) & SEMC_INTEN_NDPAGEENDEN_MASK)
  71840. #define SEMC_INTEN_NDNOPENDEN_MASK (0x20U)
  71841. #define SEMC_INTEN_NDNOPENDEN_SHIFT (5U)
  71842. /*! NDNOPENDEN - NAND no pending AXI access interrupt enable
  71843. * 0b0..Interrupt is disabled
  71844. * 0b1..Interrupt is enabled
  71845. */
  71846. #define SEMC_INTEN_NDNOPENDEN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_INTEN_NDNOPENDEN_SHIFT)) & SEMC_INTEN_NDNOPENDEN_MASK)
  71847. /*! @} */
  71848. /*! @name INTR - Interrupt Register */
  71849. /*! @{ */
  71850. #define SEMC_INTR_IPCMDDONE_MASK (0x1U)
  71851. #define SEMC_INTR_IPCMDDONE_SHIFT (0U)
  71852. /*! IPCMDDONE - IP command normal done interrupt
  71853. * 0b0..IP command is not done.
  71854. * 0b1..IP command is done.
  71855. */
  71856. #define SEMC_INTR_IPCMDDONE(x) (((uint32_t)(((uint32_t)(x)) << SEMC_INTR_IPCMDDONE_SHIFT)) & SEMC_INTR_IPCMDDONE_MASK)
  71857. #define SEMC_INTR_IPCMDERR_MASK (0x2U)
  71858. #define SEMC_INTR_IPCMDERR_SHIFT (1U)
  71859. /*! IPCMDERR - IP command error done interrupt
  71860. * 0b0..No IP command error.
  71861. * 0b1..IP command error occurs.
  71862. */
  71863. #define SEMC_INTR_IPCMDERR(x) (((uint32_t)(((uint32_t)(x)) << SEMC_INTR_IPCMDERR_SHIFT)) & SEMC_INTR_IPCMDERR_MASK)
  71864. #define SEMC_INTR_AXICMDERR_MASK (0x4U)
  71865. #define SEMC_INTR_AXICMDERR_SHIFT (2U)
  71866. /*! AXICMDERR - AXI command error interrupt
  71867. * 0b0..No AXI command error.
  71868. * 0b1..AXI command error occurs.
  71869. */
  71870. #define SEMC_INTR_AXICMDERR(x) (((uint32_t)(((uint32_t)(x)) << SEMC_INTR_AXICMDERR_SHIFT)) & SEMC_INTR_AXICMDERR_MASK)
  71871. #define SEMC_INTR_AXIBUSERR_MASK (0x8U)
  71872. #define SEMC_INTR_AXIBUSERR_SHIFT (3U)
  71873. /*! AXIBUSERR - AXI bus error interrupt
  71874. * 0b0..No AXI bus error.
  71875. * 0b1..AXI bus error occurs.
  71876. */
  71877. #define SEMC_INTR_AXIBUSERR(x) (((uint32_t)(((uint32_t)(x)) << SEMC_INTR_AXIBUSERR_SHIFT)) & SEMC_INTR_AXIBUSERR_MASK)
  71878. #define SEMC_INTR_NDPAGEEND_MASK (0x10U)
  71879. #define SEMC_INTR_NDPAGEEND_SHIFT (4U)
  71880. /*! NDPAGEEND - NAND page end interrupt
  71881. * 0b0..The last address of main space in the NAND is not written by AXI command.
  71882. * 0b1..The last address of main space in the NAND is written by AXI command.
  71883. */
  71884. #define SEMC_INTR_NDPAGEEND(x) (((uint32_t)(((uint32_t)(x)) << SEMC_INTR_NDPAGEEND_SHIFT)) & SEMC_INTR_NDPAGEEND_MASK)
  71885. #define SEMC_INTR_NDNOPEND_MASK (0x20U)
  71886. #define SEMC_INTR_NDNOPEND_SHIFT (5U)
  71887. /*! NDNOPEND - NAND no pending AXI write transaction interrupt
  71888. * 0b0..At least one NAND AXI write transaction is pending or no NAND write transaction is sent to the queue.
  71889. * 0b1..All NAND AXI write pending transactions are finished.
  71890. */
  71891. #define SEMC_INTR_NDNOPEND(x) (((uint32_t)(((uint32_t)(x)) << SEMC_INTR_NDNOPEND_SHIFT)) & SEMC_INTR_NDNOPEND_MASK)
  71892. /*! @} */
  71893. /*! @name SDRAMCR0 - SDRAM Control Register 0 */
  71894. /*! @{ */
  71895. #define SEMC_SDRAMCR0_PS_MASK (0x3U)
  71896. #define SEMC_SDRAMCR0_PS_SHIFT (0U)
  71897. /*! PS - Port Size
  71898. * 0b00..8bit
  71899. * 0b01..16bit
  71900. * 0b10..32bit
  71901. * 0b11..Reserved
  71902. */
  71903. #define SEMC_SDRAMCR0_PS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR0_PS_SHIFT)) & SEMC_SDRAMCR0_PS_MASK)
  71904. #define SEMC_SDRAMCR0_BL_MASK (0x70U)
  71905. #define SEMC_SDRAMCR0_BL_SHIFT (4U)
  71906. /*! BL - Burst Length
  71907. * 0b000..1
  71908. * 0b001..2
  71909. * 0b010..4
  71910. * 0b011..8
  71911. * 0b100..8
  71912. * 0b101..8
  71913. * 0b110..8
  71914. * 0b111..8
  71915. */
  71916. #define SEMC_SDRAMCR0_BL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR0_BL_SHIFT)) & SEMC_SDRAMCR0_BL_MASK)
  71917. #define SEMC_SDRAMCR0_COL8_MASK (0x80U)
  71918. #define SEMC_SDRAMCR0_COL8_SHIFT (7U)
  71919. /*! COL8 - Column 8 selection
  71920. * 0b0..Column address bit number is decided by COL field.
  71921. * 0b1..Column address bit number is 8. COL field is ignored.
  71922. */
  71923. #define SEMC_SDRAMCR0_COL8(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR0_COL8_SHIFT)) & SEMC_SDRAMCR0_COL8_MASK)
  71924. #define SEMC_SDRAMCR0_COL_MASK (0x300U)
  71925. #define SEMC_SDRAMCR0_COL_SHIFT (8U)
  71926. /*! COL - Column address bit number
  71927. * 0b00..12
  71928. * 0b01..11
  71929. * 0b10..10
  71930. * 0b11..9
  71931. */
  71932. #define SEMC_SDRAMCR0_COL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR0_COL_SHIFT)) & SEMC_SDRAMCR0_COL_MASK)
  71933. #define SEMC_SDRAMCR0_CL_MASK (0xC00U)
  71934. #define SEMC_SDRAMCR0_CL_SHIFT (10U)
  71935. /*! CL - CAS Latency
  71936. * 0b00..1
  71937. * 0b01..1
  71938. * 0b10..2
  71939. * 0b11..3
  71940. */
  71941. #define SEMC_SDRAMCR0_CL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR0_CL_SHIFT)) & SEMC_SDRAMCR0_CL_MASK)
  71942. #define SEMC_SDRAMCR0_BANK2_MASK (0x4000U)
  71943. #define SEMC_SDRAMCR0_BANK2_SHIFT (14U)
  71944. /*! BANK2 - 2 Bank selection bit
  71945. * 0b0..SDRAM device has 4 banks.
  71946. * 0b1..SDRAM device has 2 banks.
  71947. */
  71948. #define SEMC_SDRAMCR0_BANK2(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR0_BANK2_SHIFT)) & SEMC_SDRAMCR0_BANK2_MASK)
  71949. /*! @} */
  71950. /*! @name SDRAMCR1 - SDRAM Control Register 1 */
  71951. /*! @{ */
  71952. #define SEMC_SDRAMCR1_PRE2ACT_MASK (0xFU)
  71953. #define SEMC_SDRAMCR1_PRE2ACT_SHIFT (0U)
  71954. /*! PRE2ACT - PRECHARGE to ACTIVE/REFRESH command wait time
  71955. */
  71956. #define SEMC_SDRAMCR1_PRE2ACT(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR1_PRE2ACT_SHIFT)) & SEMC_SDRAMCR1_PRE2ACT_MASK)
  71957. #define SEMC_SDRAMCR1_ACT2RW_MASK (0xF0U)
  71958. #define SEMC_SDRAMCR1_ACT2RW_SHIFT (4U)
  71959. /*! ACT2RW - ACTIVE to READ/WRITE delay
  71960. */
  71961. #define SEMC_SDRAMCR1_ACT2RW(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR1_ACT2RW_SHIFT)) & SEMC_SDRAMCR1_ACT2RW_MASK)
  71962. #define SEMC_SDRAMCR1_RFRC_MASK (0x1F00U)
  71963. #define SEMC_SDRAMCR1_RFRC_SHIFT (8U)
  71964. /*! RFRC - REFRESH recovery time
  71965. */
  71966. #define SEMC_SDRAMCR1_RFRC(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR1_RFRC_SHIFT)) & SEMC_SDRAMCR1_RFRC_MASK)
  71967. #define SEMC_SDRAMCR1_WRC_MASK (0xE000U)
  71968. #define SEMC_SDRAMCR1_WRC_SHIFT (13U)
  71969. /*! WRC - WRITE recovery time
  71970. */
  71971. #define SEMC_SDRAMCR1_WRC(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR1_WRC_SHIFT)) & SEMC_SDRAMCR1_WRC_MASK)
  71972. #define SEMC_SDRAMCR1_CKEOFF_MASK (0xF0000U)
  71973. #define SEMC_SDRAMCR1_CKEOFF_SHIFT (16U)
  71974. /*! CKEOFF - CKE off minimum time
  71975. */
  71976. #define SEMC_SDRAMCR1_CKEOFF(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR1_CKEOFF_SHIFT)) & SEMC_SDRAMCR1_CKEOFF_MASK)
  71977. #define SEMC_SDRAMCR1_ACT2PRE_MASK (0xF00000U)
  71978. #define SEMC_SDRAMCR1_ACT2PRE_SHIFT (20U)
  71979. /*! ACT2PRE - ACTIVE to PRECHARGE minimum time
  71980. */
  71981. #define SEMC_SDRAMCR1_ACT2PRE(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR1_ACT2PRE_SHIFT)) & SEMC_SDRAMCR1_ACT2PRE_MASK)
  71982. /*! @} */
  71983. /*! @name SDRAMCR2 - SDRAM Control Register 2 */
  71984. /*! @{ */
  71985. #define SEMC_SDRAMCR2_SRRC_MASK (0xFFU)
  71986. #define SEMC_SDRAMCR2_SRRC_SHIFT (0U)
  71987. /*! SRRC - SELF REFRESH recovery time
  71988. */
  71989. #define SEMC_SDRAMCR2_SRRC(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR2_SRRC_SHIFT)) & SEMC_SDRAMCR2_SRRC_MASK)
  71990. #define SEMC_SDRAMCR2_REF2REF_MASK (0xFF00U)
  71991. #define SEMC_SDRAMCR2_REF2REF_SHIFT (8U)
  71992. /*! REF2REF - REFRESH to REFRESH delay
  71993. */
  71994. #define SEMC_SDRAMCR2_REF2REF(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR2_REF2REF_SHIFT)) & SEMC_SDRAMCR2_REF2REF_MASK)
  71995. #define SEMC_SDRAMCR2_ACT2ACT_MASK (0xFF0000U)
  71996. #define SEMC_SDRAMCR2_ACT2ACT_SHIFT (16U)
  71997. /*! ACT2ACT - ACTIVE to ACTIVE delay
  71998. */
  71999. #define SEMC_SDRAMCR2_ACT2ACT(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR2_ACT2ACT_SHIFT)) & SEMC_SDRAMCR2_ACT2ACT_MASK)
  72000. #define SEMC_SDRAMCR2_ITO_MASK (0xFF000000U)
  72001. #define SEMC_SDRAMCR2_ITO_SHIFT (24U)
  72002. /*! ITO - SDRAM idle timeout
  72003. * 0b00000000..IDLE timeout period is 256*Prescale period.
  72004. * 0b00000001-0b11111111..IDLE timeout period is ITO*Prescale period.
  72005. */
  72006. #define SEMC_SDRAMCR2_ITO(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR2_ITO_SHIFT)) & SEMC_SDRAMCR2_ITO_MASK)
  72007. /*! @} */
  72008. /*! @name SDRAMCR3 - SDRAM Control Register 3 */
  72009. /*! @{ */
  72010. #define SEMC_SDRAMCR3_REN_MASK (0x1U)
  72011. #define SEMC_SDRAMCR3_REN_SHIFT (0U)
  72012. /*! REN - Refresh enable
  72013. * 0b0..The SEMC does not send AUTO REFRESH command automatically
  72014. * 0b1..The SEMC sends AUTO REFRESH command automatically
  72015. */
  72016. #define SEMC_SDRAMCR3_REN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR3_REN_SHIFT)) & SEMC_SDRAMCR3_REN_MASK)
  72017. #define SEMC_SDRAMCR3_REBL_MASK (0xEU)
  72018. #define SEMC_SDRAMCR3_REBL_SHIFT (1U)
  72019. /*! REBL - Refresh burst length
  72020. * 0b000..1
  72021. * 0b001..2
  72022. * 0b010..3
  72023. * 0b011..4
  72024. * 0b100..5
  72025. * 0b101..6
  72026. * 0b110..7
  72027. * 0b111..8
  72028. */
  72029. #define SEMC_SDRAMCR3_REBL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR3_REBL_SHIFT)) & SEMC_SDRAMCR3_REBL_MASK)
  72030. #define SEMC_SDRAMCR3_PRESCALE_MASK (0xFF00U)
  72031. #define SEMC_SDRAMCR3_PRESCALE_SHIFT (8U)
  72032. /*! PRESCALE - Prescaler period
  72033. * 0b00000000..(256*16+1) clock cycles
  72034. * 0b00000001-0b11111111..(PRESCALE*16+1) clock cycles
  72035. */
  72036. #define SEMC_SDRAMCR3_PRESCALE(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR3_PRESCALE_SHIFT)) & SEMC_SDRAMCR3_PRESCALE_MASK)
  72037. #define SEMC_SDRAMCR3_RT_MASK (0xFF0000U)
  72038. #define SEMC_SDRAMCR3_RT_SHIFT (16U)
  72039. /*! RT - Refresh timer period
  72040. * 0b00000000..(256+1)*(Prescaler period)
  72041. * 0b00000001-0b11111111..(RT+1)*(Prescaler period)
  72042. */
  72043. #define SEMC_SDRAMCR3_RT(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR3_RT_SHIFT)) & SEMC_SDRAMCR3_RT_MASK)
  72044. #define SEMC_SDRAMCR3_UT_MASK (0xFF000000U)
  72045. #define SEMC_SDRAMCR3_UT_SHIFT (24U)
  72046. /*! UT - Urgent refresh threshold
  72047. * 0b00000000..256*(Prescaler period)
  72048. * 0b00000001-0b11111111..UT*(Prescaler period)
  72049. */
  72050. #define SEMC_SDRAMCR3_UT(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR3_UT_SHIFT)) & SEMC_SDRAMCR3_UT_MASK)
  72051. /*! @} */
  72052. /*! @name NANDCR0 - NAND Control Register 0 */
  72053. /*! @{ */
  72054. #define SEMC_NANDCR0_PS_MASK (0x1U)
  72055. #define SEMC_NANDCR0_PS_SHIFT (0U)
  72056. /*! PS - Port Size
  72057. * 0b0..8bit
  72058. * 0b1..16bit
  72059. */
  72060. #define SEMC_NANDCR0_PS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR0_PS_SHIFT)) & SEMC_NANDCR0_PS_MASK)
  72061. #define SEMC_NANDCR0_SYNCEN_MASK (0x2U)
  72062. #define SEMC_NANDCR0_SYNCEN_SHIFT (1U)
  72063. /*! SYNCEN - Synchronous Mode Enable
  72064. * 0b0..Asynchronous mode is enabled.
  72065. * 0b1..Synchronous mode is enabled.
  72066. */
  72067. #define SEMC_NANDCR0_SYNCEN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR0_SYNCEN_SHIFT)) & SEMC_NANDCR0_SYNCEN_MASK)
  72068. #define SEMC_NANDCR0_BL_MASK (0x70U)
  72069. #define SEMC_NANDCR0_BL_SHIFT (4U)
  72070. /*! BL - Burst Length
  72071. * 0b000..1
  72072. * 0b001..2
  72073. * 0b010..4
  72074. * 0b011..8
  72075. * 0b100..16
  72076. * 0b101..32
  72077. * 0b110..64
  72078. * 0b111..64
  72079. */
  72080. #define SEMC_NANDCR0_BL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR0_BL_SHIFT)) & SEMC_NANDCR0_BL_MASK)
  72081. #define SEMC_NANDCR0_EDO_MASK (0x80U)
  72082. #define SEMC_NANDCR0_EDO_SHIFT (7U)
  72083. /*! EDO - EDO mode enabled
  72084. * 0b0..EDO mode disabled
  72085. * 0b1..EDO mode enabled
  72086. */
  72087. #define SEMC_NANDCR0_EDO(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR0_EDO_SHIFT)) & SEMC_NANDCR0_EDO_MASK)
  72088. #define SEMC_NANDCR0_COL_MASK (0x700U)
  72089. #define SEMC_NANDCR0_COL_SHIFT (8U)
  72090. /*! COL - Column address bit number
  72091. * 0b000..16
  72092. * 0b001..15
  72093. * 0b010..14
  72094. * 0b011..13
  72095. * 0b100..12
  72096. * 0b101..11
  72097. * 0b110..10
  72098. * 0b111..9
  72099. */
  72100. #define SEMC_NANDCR0_COL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR0_COL_SHIFT)) & SEMC_NANDCR0_COL_MASK)
  72101. /*! @} */
  72102. /*! @name NANDCR1 - NAND Control Register 1 */
  72103. /*! @{ */
  72104. #define SEMC_NANDCR1_CES_MASK (0xFU)
  72105. #define SEMC_NANDCR1_CES_SHIFT (0U)
  72106. /*! CES - CE# setup time
  72107. */
  72108. #define SEMC_NANDCR1_CES(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR1_CES_SHIFT)) & SEMC_NANDCR1_CES_MASK)
  72109. #define SEMC_NANDCR1_CEH_MASK (0xF0U)
  72110. #define SEMC_NANDCR1_CEH_SHIFT (4U)
  72111. /*! CEH - CE# hold time
  72112. */
  72113. #define SEMC_NANDCR1_CEH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR1_CEH_SHIFT)) & SEMC_NANDCR1_CEH_MASK)
  72114. #define SEMC_NANDCR1_WEL_MASK (0xF00U)
  72115. #define SEMC_NANDCR1_WEL_SHIFT (8U)
  72116. /*! WEL - WE# low time
  72117. */
  72118. #define SEMC_NANDCR1_WEL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR1_WEL_SHIFT)) & SEMC_NANDCR1_WEL_MASK)
  72119. #define SEMC_NANDCR1_WEH_MASK (0xF000U)
  72120. #define SEMC_NANDCR1_WEH_SHIFT (12U)
  72121. /*! WEH - WE# high time
  72122. */
  72123. #define SEMC_NANDCR1_WEH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR1_WEH_SHIFT)) & SEMC_NANDCR1_WEH_MASK)
  72124. #define SEMC_NANDCR1_REL_MASK (0xF0000U)
  72125. #define SEMC_NANDCR1_REL_SHIFT (16U)
  72126. /*! REL - RE# low time
  72127. */
  72128. #define SEMC_NANDCR1_REL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR1_REL_SHIFT)) & SEMC_NANDCR1_REL_MASK)
  72129. #define SEMC_NANDCR1_REH_MASK (0xF00000U)
  72130. #define SEMC_NANDCR1_REH_SHIFT (20U)
  72131. /*! REH - RE# high time
  72132. */
  72133. #define SEMC_NANDCR1_REH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR1_REH_SHIFT)) & SEMC_NANDCR1_REH_MASK)
  72134. #define SEMC_NANDCR1_TA_MASK (0xF000000U)
  72135. #define SEMC_NANDCR1_TA_SHIFT (24U)
  72136. /*! TA - Turnaround time
  72137. */
  72138. #define SEMC_NANDCR1_TA(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR1_TA_SHIFT)) & SEMC_NANDCR1_TA_MASK)
  72139. #define SEMC_NANDCR1_CEITV_MASK (0xF0000000U)
  72140. #define SEMC_NANDCR1_CEITV_SHIFT (28U)
  72141. /*! CEITV - CE# interval time
  72142. */
  72143. #define SEMC_NANDCR1_CEITV(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR1_CEITV_SHIFT)) & SEMC_NANDCR1_CEITV_MASK)
  72144. /*! @} */
  72145. /*! @name NANDCR2 - NAND Control Register 2 */
  72146. /*! @{ */
  72147. #define SEMC_NANDCR2_TWHR_MASK (0x3FU)
  72148. #define SEMC_NANDCR2_TWHR_SHIFT (0U)
  72149. /*! TWHR - WE# high to RE# low time
  72150. */
  72151. #define SEMC_NANDCR2_TWHR(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR2_TWHR_SHIFT)) & SEMC_NANDCR2_TWHR_MASK)
  72152. #define SEMC_NANDCR2_TRHW_MASK (0xFC0U)
  72153. #define SEMC_NANDCR2_TRHW_SHIFT (6U)
  72154. /*! TRHW - RE# high to WE# low time
  72155. */
  72156. #define SEMC_NANDCR2_TRHW(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR2_TRHW_SHIFT)) & SEMC_NANDCR2_TRHW_MASK)
  72157. #define SEMC_NANDCR2_TADL_MASK (0x3F000U)
  72158. #define SEMC_NANDCR2_TADL_SHIFT (12U)
  72159. /*! TADL - Address cycle to data loading time
  72160. */
  72161. #define SEMC_NANDCR2_TADL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR2_TADL_SHIFT)) & SEMC_NANDCR2_TADL_MASK)
  72162. #define SEMC_NANDCR2_TRR_MASK (0xFC0000U)
  72163. #define SEMC_NANDCR2_TRR_SHIFT (18U)
  72164. /*! TRR - Ready to RE# low time
  72165. */
  72166. #define SEMC_NANDCR2_TRR(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR2_TRR_SHIFT)) & SEMC_NANDCR2_TRR_MASK)
  72167. #define SEMC_NANDCR2_TWB_MASK (0x3F000000U)
  72168. #define SEMC_NANDCR2_TWB_SHIFT (24U)
  72169. /*! TWB - WE# high to busy time
  72170. */
  72171. #define SEMC_NANDCR2_TWB(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR2_TWB_SHIFT)) & SEMC_NANDCR2_TWB_MASK)
  72172. /*! @} */
  72173. /*! @name NANDCR3 - NAND Control Register 3 */
  72174. /*! @{ */
  72175. #define SEMC_NANDCR3_NDOPT1_MASK (0x1U)
  72176. #define SEMC_NANDCR3_NDOPT1_SHIFT (0U)
  72177. /*! NDOPT1 - NAND option bit 1
  72178. */
  72179. #define SEMC_NANDCR3_NDOPT1(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR3_NDOPT1_SHIFT)) & SEMC_NANDCR3_NDOPT1_MASK)
  72180. #define SEMC_NANDCR3_NDOPT2_MASK (0x2U)
  72181. #define SEMC_NANDCR3_NDOPT2_SHIFT (1U)
  72182. /*! NDOPT2 - NAND option bit 2
  72183. */
  72184. #define SEMC_NANDCR3_NDOPT2(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR3_NDOPT2_SHIFT)) & SEMC_NANDCR3_NDOPT2_MASK)
  72185. #define SEMC_NANDCR3_NDOPT3_MASK (0x4U)
  72186. #define SEMC_NANDCR3_NDOPT3_SHIFT (2U)
  72187. /*! NDOPT3 - NAND option bit 3
  72188. */
  72189. #define SEMC_NANDCR3_NDOPT3(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR3_NDOPT3_SHIFT)) & SEMC_NANDCR3_NDOPT3_MASK)
  72190. #define SEMC_NANDCR3_CLE_MASK (0x8U)
  72191. #define SEMC_NANDCR3_CLE_SHIFT (3U)
  72192. /*! CLE - NAND CLE Option
  72193. */
  72194. #define SEMC_NANDCR3_CLE(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR3_CLE_SHIFT)) & SEMC_NANDCR3_CLE_MASK)
  72195. #define SEMC_NANDCR3_RDS_MASK (0xF0000U)
  72196. #define SEMC_NANDCR3_RDS_SHIFT (16U)
  72197. /*! RDS - Read Data Setup time
  72198. */
  72199. #define SEMC_NANDCR3_RDS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR3_RDS_SHIFT)) & SEMC_NANDCR3_RDS_MASK)
  72200. #define SEMC_NANDCR3_RDH_MASK (0xF00000U)
  72201. #define SEMC_NANDCR3_RDH_SHIFT (20U)
  72202. /*! RDH - Read Data Hold time
  72203. */
  72204. #define SEMC_NANDCR3_RDH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR3_RDH_SHIFT)) & SEMC_NANDCR3_RDH_MASK)
  72205. #define SEMC_NANDCR3_WDS_MASK (0xF000000U)
  72206. #define SEMC_NANDCR3_WDS_SHIFT (24U)
  72207. /*! WDS - Write Data Setup time
  72208. */
  72209. #define SEMC_NANDCR3_WDS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR3_WDS_SHIFT)) & SEMC_NANDCR3_WDS_MASK)
  72210. #define SEMC_NANDCR3_WDH_MASK (0xF0000000U)
  72211. #define SEMC_NANDCR3_WDH_SHIFT (28U)
  72212. /*! WDH - Write Data Hold time
  72213. */
  72214. #define SEMC_NANDCR3_WDH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR3_WDH_SHIFT)) & SEMC_NANDCR3_WDH_MASK)
  72215. /*! @} */
  72216. /*! @name NORCR0 - NOR Control Register 0 */
  72217. /*! @{ */
  72218. #define SEMC_NORCR0_PS_MASK (0x1U)
  72219. #define SEMC_NORCR0_PS_SHIFT (0U)
  72220. /*! PS - Port Size
  72221. * 0b0..8bit
  72222. * 0b1..16bit
  72223. */
  72224. #define SEMC_NORCR0_PS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR0_PS_SHIFT)) & SEMC_NORCR0_PS_MASK)
  72225. #define SEMC_NORCR0_SYNCEN_MASK (0x2U)
  72226. #define SEMC_NORCR0_SYNCEN_SHIFT (1U)
  72227. /*! SYNCEN - Synchronous Mode Enable
  72228. * 0b0..Asynchronous mode is enabled.
  72229. * 0b1..Synchronous mode is enabled. Only fixed latency mode is supported.
  72230. */
  72231. #define SEMC_NORCR0_SYNCEN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR0_SYNCEN_SHIFT)) & SEMC_NORCR0_SYNCEN_MASK)
  72232. #define SEMC_NORCR0_BL_MASK (0x70U)
  72233. #define SEMC_NORCR0_BL_SHIFT (4U)
  72234. /*! BL - Burst Length
  72235. * 0b000..1
  72236. * 0b001..2
  72237. * 0b010..4
  72238. * 0b011..8
  72239. * 0b100..16
  72240. * 0b101..32
  72241. * 0b110..64
  72242. * 0b111..64
  72243. */
  72244. #define SEMC_NORCR0_BL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR0_BL_SHIFT)) & SEMC_NORCR0_BL_MASK)
  72245. #define SEMC_NORCR0_AM_MASK (0x300U)
  72246. #define SEMC_NORCR0_AM_SHIFT (8U)
  72247. /*! AM - Address Mode
  72248. * 0b00..Address/Data MUX mode (ADMUX)
  72249. * 0b01..Advanced Address/Data MUX mode (AADM)
  72250. * 0b10..Address/Data non-MUX mode (Non-ADMUX)
  72251. * 0b11..Address/Data non-MUX mode (Non-ADMUX)
  72252. */
  72253. #define SEMC_NORCR0_AM(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR0_AM_SHIFT)) & SEMC_NORCR0_AM_MASK)
  72254. #define SEMC_NORCR0_ADVP_MASK (0x400U)
  72255. #define SEMC_NORCR0_ADVP_SHIFT (10U)
  72256. /*! ADVP - ADV# Polarity
  72257. * 0b0..ADV# is active low.
  72258. * 0b1..ADV# is active high.
  72259. */
  72260. #define SEMC_NORCR0_ADVP(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR0_ADVP_SHIFT)) & SEMC_NORCR0_ADVP_MASK)
  72261. #define SEMC_NORCR0_ADVH_MASK (0x800U)
  72262. #define SEMC_NORCR0_ADVH_SHIFT (11U)
  72263. /*! ADVH - ADV# level control during address hold state
  72264. * 0b0..ADV# is high during address hold state.
  72265. * 0b1..ADV# is low during address hold state.
  72266. */
  72267. #define SEMC_NORCR0_ADVH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR0_ADVH_SHIFT)) & SEMC_NORCR0_ADVH_MASK)
  72268. #define SEMC_NORCR0_COL_MASK (0xF000U)
  72269. #define SEMC_NORCR0_COL_SHIFT (12U)
  72270. /*! COL - Column Address bit width
  72271. * 0b0000..12 Bits
  72272. * 0b0001..11 Bits
  72273. * 0b0010..10 Bits
  72274. * 0b0011..9 Bits
  72275. * 0b0100..8 Bits
  72276. * 0b0101..7 Bits
  72277. * 0b0110..6 Bits
  72278. * 0b0111..5 Bits
  72279. * 0b1000..4 Bits
  72280. * 0b1001..3 Bits
  72281. * 0b1010..2 Bits
  72282. * 0b1011..12 Bits
  72283. * 0b1100..12 Bits
  72284. * 0b1101..12 Bits
  72285. * 0b1110..12 Bits
  72286. * 0b1111..12 Bits
  72287. */
  72288. #define SEMC_NORCR0_COL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR0_COL_SHIFT)) & SEMC_NORCR0_COL_MASK)
  72289. /*! @} */
  72290. /*! @name NORCR1 - NOR Control Register 1 */
  72291. /*! @{ */
  72292. #define SEMC_NORCR1_CES_MASK (0xFU)
  72293. #define SEMC_NORCR1_CES_SHIFT (0U)
  72294. /*! CES - CE setup time
  72295. */
  72296. #define SEMC_NORCR1_CES(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR1_CES_SHIFT)) & SEMC_NORCR1_CES_MASK)
  72297. #define SEMC_NORCR1_CEH_MASK (0xF0U)
  72298. #define SEMC_NORCR1_CEH_SHIFT (4U)
  72299. /*! CEH - CE hold time
  72300. */
  72301. #define SEMC_NORCR1_CEH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR1_CEH_SHIFT)) & SEMC_NORCR1_CEH_MASK)
  72302. #define SEMC_NORCR1_AS_MASK (0xF00U)
  72303. #define SEMC_NORCR1_AS_SHIFT (8U)
  72304. /*! AS - Address setup time
  72305. */
  72306. #define SEMC_NORCR1_AS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR1_AS_SHIFT)) & SEMC_NORCR1_AS_MASK)
  72307. #define SEMC_NORCR1_AH_MASK (0xF000U)
  72308. #define SEMC_NORCR1_AH_SHIFT (12U)
  72309. /*! AH - Address hold time
  72310. */
  72311. #define SEMC_NORCR1_AH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR1_AH_SHIFT)) & SEMC_NORCR1_AH_MASK)
  72312. #define SEMC_NORCR1_WEL_MASK (0xF0000U)
  72313. #define SEMC_NORCR1_WEL_SHIFT (16U)
  72314. /*! WEL - WE low time
  72315. */
  72316. #define SEMC_NORCR1_WEL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR1_WEL_SHIFT)) & SEMC_NORCR1_WEL_MASK)
  72317. #define SEMC_NORCR1_WEH_MASK (0xF00000U)
  72318. #define SEMC_NORCR1_WEH_SHIFT (20U)
  72319. /*! WEH - WE high time
  72320. */
  72321. #define SEMC_NORCR1_WEH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR1_WEH_SHIFT)) & SEMC_NORCR1_WEH_MASK)
  72322. #define SEMC_NORCR1_REL_MASK (0xF000000U)
  72323. #define SEMC_NORCR1_REL_SHIFT (24U)
  72324. /*! REL - RE low time
  72325. */
  72326. #define SEMC_NORCR1_REL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR1_REL_SHIFT)) & SEMC_NORCR1_REL_MASK)
  72327. #define SEMC_NORCR1_REH_MASK (0xF0000000U)
  72328. #define SEMC_NORCR1_REH_SHIFT (28U)
  72329. /*! REH - RE high time
  72330. */
  72331. #define SEMC_NORCR1_REH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR1_REH_SHIFT)) & SEMC_NORCR1_REH_MASK)
  72332. /*! @} */
  72333. /*! @name NORCR2 - NOR Control Register 2 */
  72334. /*! @{ */
  72335. #define SEMC_NORCR2_TA_MASK (0xF00U)
  72336. #define SEMC_NORCR2_TA_SHIFT (8U)
  72337. /*! TA - Turnaround time
  72338. */
  72339. #define SEMC_NORCR2_TA(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR2_TA_SHIFT)) & SEMC_NORCR2_TA_MASK)
  72340. #define SEMC_NORCR2_AWDH_MASK (0xF000U)
  72341. #define SEMC_NORCR2_AWDH_SHIFT (12U)
  72342. /*! AWDH - Address to write data hold time
  72343. */
  72344. #define SEMC_NORCR2_AWDH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR2_AWDH_SHIFT)) & SEMC_NORCR2_AWDH_MASK)
  72345. #define SEMC_NORCR2_LC_MASK (0xF0000U)
  72346. #define SEMC_NORCR2_LC_SHIFT (16U)
  72347. /*! LC - Latency count
  72348. */
  72349. #define SEMC_NORCR2_LC(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR2_LC_SHIFT)) & SEMC_NORCR2_LC_MASK)
  72350. #define SEMC_NORCR2_RD_MASK (0xF00000U)
  72351. #define SEMC_NORCR2_RD_SHIFT (20U)
  72352. /*! RD - Read time
  72353. */
  72354. #define SEMC_NORCR2_RD(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR2_RD_SHIFT)) & SEMC_NORCR2_RD_MASK)
  72355. #define SEMC_NORCR2_CEITV_MASK (0xF000000U)
  72356. #define SEMC_NORCR2_CEITV_SHIFT (24U)
  72357. /*! CEITV - CE# interval time
  72358. */
  72359. #define SEMC_NORCR2_CEITV(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR2_CEITV_SHIFT)) & SEMC_NORCR2_CEITV_MASK)
  72360. #define SEMC_NORCR2_RDH_MASK (0xF0000000U)
  72361. #define SEMC_NORCR2_RDH_SHIFT (28U)
  72362. /*! RDH - Read hold time
  72363. */
  72364. #define SEMC_NORCR2_RDH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR2_RDH_SHIFT)) & SEMC_NORCR2_RDH_MASK)
  72365. /*! @} */
  72366. /*! @name NORCR3 - NOR Control Register 3 */
  72367. /*! @{ */
  72368. #define SEMC_NORCR3_ASSR_MASK (0xFU)
  72369. #define SEMC_NORCR3_ASSR_SHIFT (0U)
  72370. /*! ASSR - Address setup time for SYNC read
  72371. */
  72372. #define SEMC_NORCR3_ASSR(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR3_ASSR_SHIFT)) & SEMC_NORCR3_ASSR_MASK)
  72373. #define SEMC_NORCR3_AHSR_MASK (0xF0U)
  72374. #define SEMC_NORCR3_AHSR_SHIFT (4U)
  72375. /*! AHSR - Address hold time for SYNC read
  72376. */
  72377. #define SEMC_NORCR3_AHSR(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR3_AHSR_SHIFT)) & SEMC_NORCR3_AHSR_MASK)
  72378. /*! @} */
  72379. /*! @name SRAMCR0 - SRAM Control Register 0 */
  72380. /*! @{ */
  72381. #define SEMC_SRAMCR0_PS_MASK (0x1U)
  72382. #define SEMC_SRAMCR0_PS_SHIFT (0U)
  72383. /*! PS - Port Size
  72384. * 0b0..8bit
  72385. * 0b1..16bit
  72386. */
  72387. #define SEMC_SRAMCR0_PS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR0_PS_SHIFT)) & SEMC_SRAMCR0_PS_MASK)
  72388. #define SEMC_SRAMCR0_SYNCEN_MASK (0x2U)
  72389. #define SEMC_SRAMCR0_SYNCEN_SHIFT (1U)
  72390. /*! SYNCEN - Synchronous Mode Enable
  72391. * 0b0..Asynchronous mode is enabled.
  72392. * 0b1..Synchronous mode is enabled. Only fixed latency mode is supported.
  72393. */
  72394. #define SEMC_SRAMCR0_SYNCEN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR0_SYNCEN_SHIFT)) & SEMC_SRAMCR0_SYNCEN_MASK)
  72395. #define SEMC_SRAMCR0_WAITEN_MASK (0x4U)
  72396. #define SEMC_SRAMCR0_WAITEN_SHIFT (2U)
  72397. /*! WAITEN - Wait Enable
  72398. * 0b0..The SEMC does not monitor wait pin.
  72399. * 0b1..The SEMC monitors wait pin. The SEMC does not transfer/receive data when wait pin is asserted.
  72400. */
  72401. #define SEMC_SRAMCR0_WAITEN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR0_WAITEN_SHIFT)) & SEMC_SRAMCR0_WAITEN_MASK)
  72402. #define SEMC_SRAMCR0_WAITSP_MASK (0x8U)
  72403. #define SEMC_SRAMCR0_WAITSP_SHIFT (3U)
  72404. /*! WAITSP - Wait Sample
  72405. * 0b0..Wait pin is directly used by the SEMC.
  72406. * 0b1..Wait pin is sampled by internal clock before it is used.
  72407. */
  72408. #define SEMC_SRAMCR0_WAITSP(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR0_WAITSP_SHIFT)) & SEMC_SRAMCR0_WAITSP_MASK)
  72409. #define SEMC_SRAMCR0_BL_MASK (0x70U)
  72410. #define SEMC_SRAMCR0_BL_SHIFT (4U)
  72411. /*! BL - Burst Length
  72412. * 0b000..1
  72413. * 0b001..2
  72414. * 0b010..4
  72415. * 0b011..8
  72416. * 0b100..16
  72417. * 0b101..32
  72418. * 0b110..64
  72419. * 0b111..64
  72420. */
  72421. #define SEMC_SRAMCR0_BL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR0_BL_SHIFT)) & SEMC_SRAMCR0_BL_MASK)
  72422. #define SEMC_SRAMCR0_AM_MASK (0x300U)
  72423. #define SEMC_SRAMCR0_AM_SHIFT (8U)
  72424. /*! AM - Address Mode
  72425. * 0b00..Address/Data MUX mode (ADMUX)
  72426. * 0b01..Advanced Address/Data MUX mode (AADM)
  72427. * 0b10..Address/Data non-MUX mode (Non-ADMUX)
  72428. * 0b11..Address/Data non-MUX mode (Non-ADMUX)
  72429. */
  72430. #define SEMC_SRAMCR0_AM(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR0_AM_SHIFT)) & SEMC_SRAMCR0_AM_MASK)
  72431. #define SEMC_SRAMCR0_ADVP_MASK (0x400U)
  72432. #define SEMC_SRAMCR0_ADVP_SHIFT (10U)
  72433. /*! ADVP - ADV# polarity
  72434. * 0b0..ADV# is active low.
  72435. * 0b1..ADV# is active high.
  72436. */
  72437. #define SEMC_SRAMCR0_ADVP(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR0_ADVP_SHIFT)) & SEMC_SRAMCR0_ADVP_MASK)
  72438. #define SEMC_SRAMCR0_ADVH_MASK (0x800U)
  72439. #define SEMC_SRAMCR0_ADVH_SHIFT (11U)
  72440. /*! ADVH - ADV# level control during address hold state
  72441. * 0b0..ADV# is high during address hold state.
  72442. * 0b1..ADV# is low during address hold state.
  72443. */
  72444. #define SEMC_SRAMCR0_ADVH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR0_ADVH_SHIFT)) & SEMC_SRAMCR0_ADVH_MASK)
  72445. #define SEMC_SRAMCR0_COL_MASK (0xF000U)
  72446. #define SEMC_SRAMCR0_COL_SHIFT (12U)
  72447. /*! COL - Column Address bit width
  72448. * 0b0000..12 Bits
  72449. * 0b0001..11 Bits
  72450. * 0b0010..10 Bits
  72451. * 0b0011..9 Bits
  72452. * 0b0100..8 Bits
  72453. * 0b0101..7 Bits
  72454. * 0b0110..6 Bits
  72455. * 0b0111..5 Bits
  72456. * 0b1000..4 Bits
  72457. * 0b1001..3 Bits
  72458. * 0b1010..2 Bits
  72459. * 0b1011..12 Bits
  72460. * 0b1100..12 Bits
  72461. * 0b1101..12 Bits
  72462. * 0b1110..12 Bits
  72463. * 0b1111..12 Bits
  72464. */
  72465. #define SEMC_SRAMCR0_COL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR0_COL_SHIFT)) & SEMC_SRAMCR0_COL_MASK)
  72466. /*! @} */
  72467. /*! @name SRAMCR1 - SRAM Control Register 1 */
  72468. /*! @{ */
  72469. #define SEMC_SRAMCR1_CES_MASK (0xFU)
  72470. #define SEMC_SRAMCR1_CES_SHIFT (0U)
  72471. /*! CES - CE setup time
  72472. */
  72473. #define SEMC_SRAMCR1_CES(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR1_CES_SHIFT)) & SEMC_SRAMCR1_CES_MASK)
  72474. #define SEMC_SRAMCR1_CEH_MASK (0xF0U)
  72475. #define SEMC_SRAMCR1_CEH_SHIFT (4U)
  72476. /*! CEH - CE hold time
  72477. */
  72478. #define SEMC_SRAMCR1_CEH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR1_CEH_SHIFT)) & SEMC_SRAMCR1_CEH_MASK)
  72479. #define SEMC_SRAMCR1_AS_MASK (0xF00U)
  72480. #define SEMC_SRAMCR1_AS_SHIFT (8U)
  72481. /*! AS - Address setup time
  72482. */
  72483. #define SEMC_SRAMCR1_AS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR1_AS_SHIFT)) & SEMC_SRAMCR1_AS_MASK)
  72484. #define SEMC_SRAMCR1_AH_MASK (0xF000U)
  72485. #define SEMC_SRAMCR1_AH_SHIFT (12U)
  72486. /*! AH - Address hold time
  72487. */
  72488. #define SEMC_SRAMCR1_AH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR1_AH_SHIFT)) & SEMC_SRAMCR1_AH_MASK)
  72489. #define SEMC_SRAMCR1_WEL_MASK (0xF0000U)
  72490. #define SEMC_SRAMCR1_WEL_SHIFT (16U)
  72491. /*! WEL - WE low time
  72492. */
  72493. #define SEMC_SRAMCR1_WEL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR1_WEL_SHIFT)) & SEMC_SRAMCR1_WEL_MASK)
  72494. #define SEMC_SRAMCR1_WEH_MASK (0xF00000U)
  72495. #define SEMC_SRAMCR1_WEH_SHIFT (20U)
  72496. /*! WEH - WE high time
  72497. */
  72498. #define SEMC_SRAMCR1_WEH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR1_WEH_SHIFT)) & SEMC_SRAMCR1_WEH_MASK)
  72499. #define SEMC_SRAMCR1_REL_MASK (0xF000000U)
  72500. #define SEMC_SRAMCR1_REL_SHIFT (24U)
  72501. /*! REL - RE low time
  72502. */
  72503. #define SEMC_SRAMCR1_REL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR1_REL_SHIFT)) & SEMC_SRAMCR1_REL_MASK)
  72504. #define SEMC_SRAMCR1_REH_MASK (0xF0000000U)
  72505. #define SEMC_SRAMCR1_REH_SHIFT (28U)
  72506. /*! REH - RE high time
  72507. */
  72508. #define SEMC_SRAMCR1_REH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR1_REH_SHIFT)) & SEMC_SRAMCR1_REH_MASK)
  72509. /*! @} */
  72510. /*! @name SRAMCR2 - SRAM Control Register 2 */
  72511. /*! @{ */
  72512. #define SEMC_SRAMCR2_WDS_MASK (0xFU)
  72513. #define SEMC_SRAMCR2_WDS_SHIFT (0U)
  72514. /*! WDS - Write Data setup time
  72515. */
  72516. #define SEMC_SRAMCR2_WDS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR2_WDS_SHIFT)) & SEMC_SRAMCR2_WDS_MASK)
  72517. #define SEMC_SRAMCR2_WDH_MASK (0xF0U)
  72518. #define SEMC_SRAMCR2_WDH_SHIFT (4U)
  72519. /*! WDH - Write Data hold time
  72520. */
  72521. #define SEMC_SRAMCR2_WDH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR2_WDH_SHIFT)) & SEMC_SRAMCR2_WDH_MASK)
  72522. #define SEMC_SRAMCR2_TA_MASK (0xF00U)
  72523. #define SEMC_SRAMCR2_TA_SHIFT (8U)
  72524. /*! TA - Turnaround time
  72525. */
  72526. #define SEMC_SRAMCR2_TA(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR2_TA_SHIFT)) & SEMC_SRAMCR2_TA_MASK)
  72527. #define SEMC_SRAMCR2_AWDH_MASK (0xF000U)
  72528. #define SEMC_SRAMCR2_AWDH_SHIFT (12U)
  72529. /*! AWDH - Address to write data hold time
  72530. */
  72531. #define SEMC_SRAMCR2_AWDH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR2_AWDH_SHIFT)) & SEMC_SRAMCR2_AWDH_MASK)
  72532. #define SEMC_SRAMCR2_LC_MASK (0xF0000U)
  72533. #define SEMC_SRAMCR2_LC_SHIFT (16U)
  72534. /*! LC - Latency count
  72535. */
  72536. #define SEMC_SRAMCR2_LC(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR2_LC_SHIFT)) & SEMC_SRAMCR2_LC_MASK)
  72537. #define SEMC_SRAMCR2_RD_MASK (0xF00000U)
  72538. #define SEMC_SRAMCR2_RD_SHIFT (20U)
  72539. /*! RD - Read time
  72540. */
  72541. #define SEMC_SRAMCR2_RD(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR2_RD_SHIFT)) & SEMC_SRAMCR2_RD_MASK)
  72542. #define SEMC_SRAMCR2_CEITV_MASK (0xF000000U)
  72543. #define SEMC_SRAMCR2_CEITV_SHIFT (24U)
  72544. /*! CEITV - CE# interval time
  72545. */
  72546. #define SEMC_SRAMCR2_CEITV(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR2_CEITV_SHIFT)) & SEMC_SRAMCR2_CEITV_MASK)
  72547. #define SEMC_SRAMCR2_RDH_MASK (0xF0000000U)
  72548. #define SEMC_SRAMCR2_RDH_SHIFT (28U)
  72549. /*! RDH - Read hold time
  72550. */
  72551. #define SEMC_SRAMCR2_RDH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR2_RDH_SHIFT)) & SEMC_SRAMCR2_RDH_MASK)
  72552. /*! @} */
  72553. /*! @name DBICR0 - DBI-B Control Register 0 */
  72554. /*! @{ */
  72555. #define SEMC_DBICR0_PS_MASK (0x1U)
  72556. #define SEMC_DBICR0_PS_SHIFT (0U)
  72557. /*! PS - Port Size
  72558. * 0b0..8bit
  72559. * 0b1..16bit
  72560. */
  72561. #define SEMC_DBICR0_PS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DBICR0_PS_SHIFT)) & SEMC_DBICR0_PS_MASK)
  72562. #define SEMC_DBICR0_BL_MASK (0x70U)
  72563. #define SEMC_DBICR0_BL_SHIFT (4U)
  72564. /*! BL - Burst Length
  72565. * 0b000..1
  72566. * 0b001..2
  72567. * 0b010..4
  72568. * 0b011..8
  72569. * 0b100..16
  72570. * 0b101..32
  72571. * 0b110..64
  72572. * 0b111..64
  72573. */
  72574. #define SEMC_DBICR0_BL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DBICR0_BL_SHIFT)) & SEMC_DBICR0_BL_MASK)
  72575. #define SEMC_DBICR0_COL_MASK (0xF000U)
  72576. #define SEMC_DBICR0_COL_SHIFT (12U)
  72577. /*! COL - Column Address bit width
  72578. * 0b0000..12 Bits
  72579. * 0b0001..11 Bits
  72580. * 0b0010..10 Bits
  72581. * 0b0011..9 Bits
  72582. * 0b0100..8 Bits
  72583. * 0b0101..7 Bits
  72584. * 0b0110..6 Bits
  72585. * 0b0111..5 Bits
  72586. * 0b1000..4 Bits
  72587. * 0b1001..3 Bits
  72588. * 0b1010..2 Bits
  72589. * 0b1011..12 Bits
  72590. * 0b1100..12 Bits
  72591. * 0b1101..12 Bits
  72592. * 0b1110..12 Bits
  72593. * 0b1111..12 Bits
  72594. */
  72595. #define SEMC_DBICR0_COL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DBICR0_COL_SHIFT)) & SEMC_DBICR0_COL_MASK)
  72596. /*! @} */
  72597. /*! @name DBICR1 - DBI-B Control Register 1 */
  72598. /*! @{ */
  72599. #define SEMC_DBICR1_CES_MASK (0xFU)
  72600. #define SEMC_DBICR1_CES_SHIFT (0U)
  72601. /*! CES - CSX Setup Time
  72602. */
  72603. #define SEMC_DBICR1_CES(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DBICR1_CES_SHIFT)) & SEMC_DBICR1_CES_MASK)
  72604. #define SEMC_DBICR1_CEH_MASK (0xF0U)
  72605. #define SEMC_DBICR1_CEH_SHIFT (4U)
  72606. /*! CEH - CSX Hold Time
  72607. */
  72608. #define SEMC_DBICR1_CEH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DBICR1_CEH_SHIFT)) & SEMC_DBICR1_CEH_MASK)
  72609. #define SEMC_DBICR1_WEL_MASK (0xF00U)
  72610. #define SEMC_DBICR1_WEL_SHIFT (8U)
  72611. /*! WEL - WRX Low Time
  72612. */
  72613. #define SEMC_DBICR1_WEL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DBICR1_WEL_SHIFT)) & SEMC_DBICR1_WEL_MASK)
  72614. #define SEMC_DBICR1_WEH_MASK (0xF000U)
  72615. #define SEMC_DBICR1_WEH_SHIFT (12U)
  72616. /*! WEH - WRX High Time
  72617. */
  72618. #define SEMC_DBICR1_WEH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DBICR1_WEH_SHIFT)) & SEMC_DBICR1_WEH_MASK)
  72619. #define SEMC_DBICR1_REL_MASK (0x7F0000U)
  72620. #define SEMC_DBICR1_REL_SHIFT (16U)
  72621. /*! REL - RDX Low Time
  72622. */
  72623. #define SEMC_DBICR1_REL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DBICR1_REL_SHIFT)) & SEMC_DBICR1_REL_MASK)
  72624. #define SEMC_DBICR1_REH_MASK (0x7F000000U)
  72625. #define SEMC_DBICR1_REH_SHIFT (24U)
  72626. /*! REH - RDX High Time
  72627. */
  72628. #define SEMC_DBICR1_REH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DBICR1_REH_SHIFT)) & SEMC_DBICR1_REH_MASK)
  72629. /*! @} */
  72630. /*! @name DBICR2 - DBI-B Control Register 2 */
  72631. /*! @{ */
  72632. #define SEMC_DBICR2_CEITV_MASK (0xFU)
  72633. #define SEMC_DBICR2_CEITV_SHIFT (0U)
  72634. /*! CEITV - CSX interval time
  72635. */
  72636. #define SEMC_DBICR2_CEITV(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DBICR2_CEITV_SHIFT)) & SEMC_DBICR2_CEITV_MASK)
  72637. /*! @} */
  72638. /*! @name IPCR0 - IP Command Control Register 0 */
  72639. /*! @{ */
  72640. #define SEMC_IPCR0_SA_MASK (0xFFFFFFFFU)
  72641. #define SEMC_IPCR0_SA_SHIFT (0U)
  72642. /*! SA - Slave address
  72643. */
  72644. #define SEMC_IPCR0_SA(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IPCR0_SA_SHIFT)) & SEMC_IPCR0_SA_MASK)
  72645. /*! @} */
  72646. /*! @name IPCR1 - IP Command Control Register 1 */
  72647. /*! @{ */
  72648. #define SEMC_IPCR1_DATSZ_MASK (0x7U)
  72649. #define SEMC_IPCR1_DATSZ_SHIFT (0U)
  72650. /*! DATSZ - Data Size in Byte
  72651. * 0b000..4
  72652. * 0b001..1
  72653. * 0b010..2
  72654. * 0b011..3
  72655. * 0b100..4
  72656. * 0b101..4
  72657. * 0b110..4
  72658. * 0b111..4
  72659. */
  72660. #define SEMC_IPCR1_DATSZ(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IPCR1_DATSZ_SHIFT)) & SEMC_IPCR1_DATSZ_MASK)
  72661. #define SEMC_IPCR1_NAND_EXT_ADDR_MASK (0xFF00U)
  72662. #define SEMC_IPCR1_NAND_EXT_ADDR_SHIFT (8U)
  72663. /*! NAND_EXT_ADDR - NAND Extended Address
  72664. */
  72665. #define SEMC_IPCR1_NAND_EXT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IPCR1_NAND_EXT_ADDR_SHIFT)) & SEMC_IPCR1_NAND_EXT_ADDR_MASK)
  72666. /*! @} */
  72667. /*! @name IPCR2 - IP Command Control Register 2 */
  72668. /*! @{ */
  72669. #define SEMC_IPCR2_BM0_MASK (0x1U)
  72670. #define SEMC_IPCR2_BM0_SHIFT (0U)
  72671. /*! BM0 - Byte Mask for Byte 0 (IPTXDAT bit 7:0)
  72672. * 0b0..Byte is unmasked
  72673. * 0b1..Byte is masked
  72674. */
  72675. #define SEMC_IPCR2_BM0(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IPCR2_BM0_SHIFT)) & SEMC_IPCR2_BM0_MASK)
  72676. #define SEMC_IPCR2_BM1_MASK (0x2U)
  72677. #define SEMC_IPCR2_BM1_SHIFT (1U)
  72678. /*! BM1 - Byte Mask for Byte 1 (IPTXDAT bit 15:8)
  72679. * 0b0..Byte is unmasked
  72680. * 0b1..Byte is masked
  72681. */
  72682. #define SEMC_IPCR2_BM1(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IPCR2_BM1_SHIFT)) & SEMC_IPCR2_BM1_MASK)
  72683. #define SEMC_IPCR2_BM2_MASK (0x4U)
  72684. #define SEMC_IPCR2_BM2_SHIFT (2U)
  72685. /*! BM2 - Byte Mask for Byte 2 (IPTXDAT bit 23:16)
  72686. * 0b0..Byte is unmasked
  72687. * 0b1..Byte is masked
  72688. */
  72689. #define SEMC_IPCR2_BM2(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IPCR2_BM2_SHIFT)) & SEMC_IPCR2_BM2_MASK)
  72690. #define SEMC_IPCR2_BM3_MASK (0x8U)
  72691. #define SEMC_IPCR2_BM3_SHIFT (3U)
  72692. /*! BM3 - Byte Mask for Byte 3 (IPTXDAT bit 31:24)
  72693. * 0b0..Byte is unmasked
  72694. * 0b1..Byte is masked
  72695. */
  72696. #define SEMC_IPCR2_BM3(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IPCR2_BM3_SHIFT)) & SEMC_IPCR2_BM3_MASK)
  72697. /*! @} */
  72698. /*! @name IPCMD - IP Command Register */
  72699. /*! @{ */
  72700. #define SEMC_IPCMD_CMD_MASK (0xFFFFU)
  72701. #define SEMC_IPCMD_CMD_SHIFT (0U)
  72702. #define SEMC_IPCMD_CMD(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IPCMD_CMD_SHIFT)) & SEMC_IPCMD_CMD_MASK)
  72703. #define SEMC_IPCMD_KEY_MASK (0xFFFF0000U)
  72704. #define SEMC_IPCMD_KEY_SHIFT (16U)
  72705. #define SEMC_IPCMD_KEY(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IPCMD_KEY_SHIFT)) & SEMC_IPCMD_KEY_MASK)
  72706. /*! @} */
  72707. /*! @name IPTXDAT - TX DATA Register */
  72708. /*! @{ */
  72709. #define SEMC_IPTXDAT_DAT_MASK (0xFFFFFFFFU)
  72710. #define SEMC_IPTXDAT_DAT_SHIFT (0U)
  72711. #define SEMC_IPTXDAT_DAT(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IPTXDAT_DAT_SHIFT)) & SEMC_IPTXDAT_DAT_MASK)
  72712. /*! @} */
  72713. /*! @name IPRXDAT - RX DATA Register */
  72714. /*! @{ */
  72715. #define SEMC_IPRXDAT_DAT_MASK (0xFFFFFFFFU)
  72716. #define SEMC_IPRXDAT_DAT_SHIFT (0U)
  72717. #define SEMC_IPRXDAT_DAT(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IPRXDAT_DAT_SHIFT)) & SEMC_IPRXDAT_DAT_MASK)
  72718. /*! @} */
  72719. /*! @name STS0 - Status Register 0 */
  72720. /*! @{ */
  72721. #define SEMC_STS0_IDLE_MASK (0x1U)
  72722. #define SEMC_STS0_IDLE_SHIFT (0U)
  72723. /*! IDLE - Indicating whether the SEMC is in idle state.
  72724. */
  72725. #define SEMC_STS0_IDLE(x) (((uint32_t)(((uint32_t)(x)) << SEMC_STS0_IDLE_SHIFT)) & SEMC_STS0_IDLE_MASK)
  72726. #define SEMC_STS0_NARDY_MASK (0x2U)
  72727. #define SEMC_STS0_NARDY_SHIFT (1U)
  72728. /*! NARDY - Indicating NAND device Ready/WAIT# pin level.
  72729. * 0b0..NAND device is not ready
  72730. * 0b1..NAND device is ready
  72731. */
  72732. #define SEMC_STS0_NARDY(x) (((uint32_t)(((uint32_t)(x)) << SEMC_STS0_NARDY_SHIFT)) & SEMC_STS0_NARDY_MASK)
  72733. /*! @} */
  72734. /*! @name STS2 - Status Register 2 */
  72735. /*! @{ */
  72736. #define SEMC_STS2_NDWRPEND_MASK (0x8U)
  72737. #define SEMC_STS2_NDWRPEND_SHIFT (3U)
  72738. /*! NDWRPEND - This field indicating whether there is pending AXI command (write) to NAND device.
  72739. * 0b0..No pending
  72740. * 0b1..Pending
  72741. */
  72742. #define SEMC_STS2_NDWRPEND(x) (((uint32_t)(((uint32_t)(x)) << SEMC_STS2_NDWRPEND_SHIFT)) & SEMC_STS2_NDWRPEND_MASK)
  72743. /*! @} */
  72744. /*! @name STS12 - Status Register 12 */
  72745. /*! @{ */
  72746. #define SEMC_STS12_NDADDR_MASK (0xFFFFFFFFU)
  72747. #define SEMC_STS12_NDADDR_SHIFT (0U)
  72748. /*! NDADDR - This field indicating the last write address (AXI command) to NAND device (without base address in SEMC_BR4).
  72749. */
  72750. #define SEMC_STS12_NDADDR(x) (((uint32_t)(((uint32_t)(x)) << SEMC_STS12_NDADDR_SHIFT)) & SEMC_STS12_NDADDR_MASK)
  72751. /*! @} */
  72752. /*! @name STS13 - Status Register 13 */
  72753. /*! @{ */
  72754. #define SEMC_STS13_SLVLOCK_MASK (0x1U)
  72755. #define SEMC_STS13_SLVLOCK_SHIFT (0U)
  72756. /*! SLVLOCK - Sample clock slave delay line locked.
  72757. * 0b0..Slave delay line is not locked.
  72758. * 0b1..Slave delay line is locked.
  72759. */
  72760. #define SEMC_STS13_SLVLOCK(x) (((uint32_t)(((uint32_t)(x)) << SEMC_STS13_SLVLOCK_SHIFT)) & SEMC_STS13_SLVLOCK_MASK)
  72761. #define SEMC_STS13_REFLOCK_MASK (0x2U)
  72762. #define SEMC_STS13_REFLOCK_SHIFT (1U)
  72763. /*! REFLOCK - Sample clock reference delay line locked.
  72764. * 0b0..Reference delay line is not locked.
  72765. * 0b1..Reference delay line is locked.
  72766. */
  72767. #define SEMC_STS13_REFLOCK(x) (((uint32_t)(((uint32_t)(x)) << SEMC_STS13_REFLOCK_SHIFT)) & SEMC_STS13_REFLOCK_MASK)
  72768. #define SEMC_STS13_SLVSEL_MASK (0xFCU)
  72769. #define SEMC_STS13_SLVSEL_SHIFT (2U)
  72770. /*! SLVSEL - Sample clock slave delay line delay cell number selection.
  72771. */
  72772. #define SEMC_STS13_SLVSEL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_STS13_SLVSEL_SHIFT)) & SEMC_STS13_SLVSEL_MASK)
  72773. #define SEMC_STS13_REFSEL_MASK (0x3F00U)
  72774. #define SEMC_STS13_REFSEL_SHIFT (8U)
  72775. /*! REFSEL - Sample clock reference delay line delay cell number selection.
  72776. */
  72777. #define SEMC_STS13_REFSEL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_STS13_REFSEL_SHIFT)) & SEMC_STS13_REFSEL_MASK)
  72778. /*! @} */
  72779. /*! @name BR9 - Base Register 9 */
  72780. /*! @{ */
  72781. #define SEMC_BR9_VLD_MASK (0x1U)
  72782. #define SEMC_BR9_VLD_SHIFT (0U)
  72783. /*! VLD - Valid
  72784. * 0b0..The memory is invalid, can not be accessed.
  72785. * 0b1..The memory is valid, can be accessed.
  72786. */
  72787. #define SEMC_BR9_VLD(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BR9_VLD_SHIFT)) & SEMC_BR9_VLD_MASK)
  72788. #define SEMC_BR9_MS_MASK (0x3EU)
  72789. #define SEMC_BR9_MS_SHIFT (1U)
  72790. /*! MS - Memory size
  72791. * 0b00000..4KB
  72792. * 0b00001..8KB
  72793. * 0b00010..16KB
  72794. * 0b00011..32KB
  72795. * 0b00100..64KB
  72796. * 0b00101..128KB
  72797. * 0b00110..256KB
  72798. * 0b00111..512KB
  72799. * 0b01000..1MB
  72800. * 0b01001..2MB
  72801. * 0b01010..4MB
  72802. * 0b01011..8MB
  72803. * 0b01100..16MB
  72804. * 0b01101..32MB
  72805. * 0b01110..64MB
  72806. * 0b01111..128MB
  72807. * 0b10000..256MB
  72808. * 0b10001..512MB
  72809. * 0b10010..1GB
  72810. * 0b10011..2GB
  72811. * 0b10100-0b11111..4GB
  72812. */
  72813. #define SEMC_BR9_MS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BR9_MS_SHIFT)) & SEMC_BR9_MS_MASK)
  72814. #define SEMC_BR9_BA_MASK (0xFFFFF000U)
  72815. #define SEMC_BR9_BA_SHIFT (12U)
  72816. /*! BA - Base Address
  72817. */
  72818. #define SEMC_BR9_BA(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BR9_BA_SHIFT)) & SEMC_BR9_BA_MASK)
  72819. /*! @} */
  72820. /*! @name BR10 - Base Register 10 */
  72821. /*! @{ */
  72822. #define SEMC_BR10_VLD_MASK (0x1U)
  72823. #define SEMC_BR10_VLD_SHIFT (0U)
  72824. /*! VLD - Valid
  72825. * 0b0..The memory is invalid, can not be accessed.
  72826. * 0b1..The memory is valid, can be accessed.
  72827. */
  72828. #define SEMC_BR10_VLD(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BR10_VLD_SHIFT)) & SEMC_BR10_VLD_MASK)
  72829. #define SEMC_BR10_MS_MASK (0x3EU)
  72830. #define SEMC_BR10_MS_SHIFT (1U)
  72831. /*! MS - Memory size
  72832. * 0b00000..4KB
  72833. * 0b00001..8KB
  72834. * 0b00010..16KB
  72835. * 0b00011..32KB
  72836. * 0b00100..64KB
  72837. * 0b00101..128KB
  72838. * 0b00110..256KB
  72839. * 0b00111..512KB
  72840. * 0b01000..1MB
  72841. * 0b01001..2MB
  72842. * 0b01010..4MB
  72843. * 0b01011..8MB
  72844. * 0b01100..16MB
  72845. * 0b01101..32MB
  72846. * 0b01110..64MB
  72847. * 0b01111..128MB
  72848. * 0b10000..256MB
  72849. * 0b10001..512MB
  72850. * 0b10010..1GB
  72851. * 0b10011..2GB
  72852. * 0b10100-0b11111..4GB
  72853. */
  72854. #define SEMC_BR10_MS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BR10_MS_SHIFT)) & SEMC_BR10_MS_MASK)
  72855. #define SEMC_BR10_BA_MASK (0xFFFFF000U)
  72856. #define SEMC_BR10_BA_SHIFT (12U)
  72857. /*! BA - Base Address
  72858. */
  72859. #define SEMC_BR10_BA(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BR10_BA_SHIFT)) & SEMC_BR10_BA_MASK)
  72860. /*! @} */
  72861. /*! @name BR11 - Base Register 11 */
  72862. /*! @{ */
  72863. #define SEMC_BR11_VLD_MASK (0x1U)
  72864. #define SEMC_BR11_VLD_SHIFT (0U)
  72865. /*! VLD - Valid
  72866. * 0b0..The memory is invalid, can not be accessed.
  72867. * 0b1..The memory is valid, can be accessed.
  72868. */
  72869. #define SEMC_BR11_VLD(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BR11_VLD_SHIFT)) & SEMC_BR11_VLD_MASK)
  72870. #define SEMC_BR11_MS_MASK (0x3EU)
  72871. #define SEMC_BR11_MS_SHIFT (1U)
  72872. /*! MS - Memory size
  72873. * 0b00000..4KB
  72874. * 0b00001..8KB
  72875. * 0b00010..16KB
  72876. * 0b00011..32KB
  72877. * 0b00100..64KB
  72878. * 0b00101..128KB
  72879. * 0b00110..256KB
  72880. * 0b00111..512KB
  72881. * 0b01000..1MB
  72882. * 0b01001..2MB
  72883. * 0b01010..4MB
  72884. * 0b01011..8MB
  72885. * 0b01100..16MB
  72886. * 0b01101..32MB
  72887. * 0b01110..64MB
  72888. * 0b01111..128MB
  72889. * 0b10000..256MB
  72890. * 0b10001..512MB
  72891. * 0b10010..1GB
  72892. * 0b10011..2GB
  72893. * 0b10100-0b11111..4GB
  72894. */
  72895. #define SEMC_BR11_MS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BR11_MS_SHIFT)) & SEMC_BR11_MS_MASK)
  72896. #define SEMC_BR11_BA_MASK (0xFFFFF000U)
  72897. #define SEMC_BR11_BA_SHIFT (12U)
  72898. /*! BA - Base Address
  72899. */
  72900. #define SEMC_BR11_BA(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BR11_BA_SHIFT)) & SEMC_BR11_BA_MASK)
  72901. /*! @} */
  72902. /*! @name SRAMCR4 - SRAM Control Register 4 */
  72903. /*! @{ */
  72904. #define SEMC_SRAMCR4_PS_MASK (0x1U)
  72905. #define SEMC_SRAMCR4_PS_SHIFT (0U)
  72906. /*! PS - Port Size
  72907. * 0b0..8bit
  72908. * 0b1..16bit
  72909. */
  72910. #define SEMC_SRAMCR4_PS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR4_PS_SHIFT)) & SEMC_SRAMCR4_PS_MASK)
  72911. #define SEMC_SRAMCR4_SYNCEN_MASK (0x2U)
  72912. #define SEMC_SRAMCR4_SYNCEN_SHIFT (1U)
  72913. /*! SYNCEN - Synchronous Mode Enable
  72914. * 0b0..Asynchronous mode is enabled.
  72915. * 0b1..Synchronous mode is enabled. Only fixed latency mode is supported.
  72916. */
  72917. #define SEMC_SRAMCR4_SYNCEN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR4_SYNCEN_SHIFT)) & SEMC_SRAMCR4_SYNCEN_MASK)
  72918. #define SEMC_SRAMCR4_WAITEN_MASK (0x4U)
  72919. #define SEMC_SRAMCR4_WAITEN_SHIFT (2U)
  72920. /*! WAITEN - Wait Enable
  72921. * 0b0..The SEMC does not monitor wait pin.
  72922. * 0b1..The SEMC monitors wait pin. The SEMC does not transfer/receive data when wait pin is asserted.
  72923. */
  72924. #define SEMC_SRAMCR4_WAITEN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR4_WAITEN_SHIFT)) & SEMC_SRAMCR4_WAITEN_MASK)
  72925. #define SEMC_SRAMCR4_WAITSP_MASK (0x8U)
  72926. #define SEMC_SRAMCR4_WAITSP_SHIFT (3U)
  72927. /*! WAITSP - Wait Sample
  72928. * 0b0..Wait pin is directly used by the SEMC.
  72929. * 0b1..Wait pin is sampled by internal clock before it is used.
  72930. */
  72931. #define SEMC_SRAMCR4_WAITSP(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR4_WAITSP_SHIFT)) & SEMC_SRAMCR4_WAITSP_MASK)
  72932. #define SEMC_SRAMCR4_BL_MASK (0x70U)
  72933. #define SEMC_SRAMCR4_BL_SHIFT (4U)
  72934. /*! BL - Burst Length
  72935. * 0b000..1
  72936. * 0b001..2
  72937. * 0b010..4
  72938. * 0b011..8
  72939. * 0b100..16
  72940. * 0b101..32
  72941. * 0b110..64
  72942. * 0b111..64
  72943. */
  72944. #define SEMC_SRAMCR4_BL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR4_BL_SHIFT)) & SEMC_SRAMCR4_BL_MASK)
  72945. #define SEMC_SRAMCR4_AM_MASK (0x300U)
  72946. #define SEMC_SRAMCR4_AM_SHIFT (8U)
  72947. /*! AM - Address Mode
  72948. * 0b00..Address/Data MUX mode (ADMUX)
  72949. * 0b01..Advanced Address/Data MUX mode (AADM)
  72950. * 0b10..Address/Data non-MUX mode (Non-ADMUX)
  72951. * 0b11..Address/Data non-MUX mode (Non-ADMUX)
  72952. */
  72953. #define SEMC_SRAMCR4_AM(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR4_AM_SHIFT)) & SEMC_SRAMCR4_AM_MASK)
  72954. #define SEMC_SRAMCR4_ADVP_MASK (0x400U)
  72955. #define SEMC_SRAMCR4_ADVP_SHIFT (10U)
  72956. /*! ADVP - ADV# polarity
  72957. * 0b0..ADV# is active low.
  72958. * 0b1..ADV# is active high.
  72959. */
  72960. #define SEMC_SRAMCR4_ADVP(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR4_ADVP_SHIFT)) & SEMC_SRAMCR4_ADVP_MASK)
  72961. #define SEMC_SRAMCR4_ADVH_MASK (0x800U)
  72962. #define SEMC_SRAMCR4_ADVH_SHIFT (11U)
  72963. /*! ADVH - ADV# level control during address hold state
  72964. * 0b0..ADV# is high during address hold state.
  72965. * 0b1..ADV# is low during address hold state.
  72966. */
  72967. #define SEMC_SRAMCR4_ADVH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR4_ADVH_SHIFT)) & SEMC_SRAMCR4_ADVH_MASK)
  72968. #define SEMC_SRAMCR4_COL_MASK (0xF000U)
  72969. #define SEMC_SRAMCR4_COL_SHIFT (12U)
  72970. /*! COL - Column Address bit width
  72971. * 0b0000..12 Bits
  72972. * 0b0001..11 Bits
  72973. * 0b0010..10 Bits
  72974. * 0b0011..9 Bits
  72975. * 0b0100..8 Bits
  72976. * 0b0101..7 Bits
  72977. * 0b0110..6 Bits
  72978. * 0b0111..5 Bits
  72979. * 0b1000..4 Bits
  72980. * 0b1001..3 Bits
  72981. * 0b1010..2 Bits
  72982. * 0b1011..12 Bits
  72983. * 0b1100..12 Bits
  72984. * 0b1101..12 Bits
  72985. * 0b1110..12 Bits
  72986. * 0b1111..12 Bits
  72987. */
  72988. #define SEMC_SRAMCR4_COL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR4_COL_SHIFT)) & SEMC_SRAMCR4_COL_MASK)
  72989. /*! @} */
  72990. /*! @name SRAMCR5 - SRAM Control Register 5 */
  72991. /*! @{ */
  72992. #define SEMC_SRAMCR5_CES_MASK (0xFU)
  72993. #define SEMC_SRAMCR5_CES_SHIFT (0U)
  72994. /*! CES - CE setup time
  72995. */
  72996. #define SEMC_SRAMCR5_CES(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR5_CES_SHIFT)) & SEMC_SRAMCR5_CES_MASK)
  72997. #define SEMC_SRAMCR5_CEH_MASK (0xF0U)
  72998. #define SEMC_SRAMCR5_CEH_SHIFT (4U)
  72999. /*! CEH - CE hold time
  73000. */
  73001. #define SEMC_SRAMCR5_CEH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR5_CEH_SHIFT)) & SEMC_SRAMCR5_CEH_MASK)
  73002. #define SEMC_SRAMCR5_AS_MASK (0xF00U)
  73003. #define SEMC_SRAMCR5_AS_SHIFT (8U)
  73004. /*! AS - Address setup time
  73005. */
  73006. #define SEMC_SRAMCR5_AS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR5_AS_SHIFT)) & SEMC_SRAMCR5_AS_MASK)
  73007. #define SEMC_SRAMCR5_AH_MASK (0xF000U)
  73008. #define SEMC_SRAMCR5_AH_SHIFT (12U)
  73009. /*! AH - Address hold time
  73010. */
  73011. #define SEMC_SRAMCR5_AH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR5_AH_SHIFT)) & SEMC_SRAMCR5_AH_MASK)
  73012. #define SEMC_SRAMCR5_WEL_MASK (0xF0000U)
  73013. #define SEMC_SRAMCR5_WEL_SHIFT (16U)
  73014. /*! WEL - WE low time
  73015. */
  73016. #define SEMC_SRAMCR5_WEL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR5_WEL_SHIFT)) & SEMC_SRAMCR5_WEL_MASK)
  73017. #define SEMC_SRAMCR5_WEH_MASK (0xF00000U)
  73018. #define SEMC_SRAMCR5_WEH_SHIFT (20U)
  73019. /*! WEH - WE high time
  73020. */
  73021. #define SEMC_SRAMCR5_WEH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR5_WEH_SHIFT)) & SEMC_SRAMCR5_WEH_MASK)
  73022. #define SEMC_SRAMCR5_REL_MASK (0xF000000U)
  73023. #define SEMC_SRAMCR5_REL_SHIFT (24U)
  73024. /*! REL - RE low time
  73025. */
  73026. #define SEMC_SRAMCR5_REL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR5_REL_SHIFT)) & SEMC_SRAMCR5_REL_MASK)
  73027. #define SEMC_SRAMCR5_REH_MASK (0xF0000000U)
  73028. #define SEMC_SRAMCR5_REH_SHIFT (28U)
  73029. /*! REH - RE high time
  73030. */
  73031. #define SEMC_SRAMCR5_REH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR5_REH_SHIFT)) & SEMC_SRAMCR5_REH_MASK)
  73032. /*! @} */
  73033. /*! @name SRAMCR6 - SRAM Control Register 6 */
  73034. /*! @{ */
  73035. #define SEMC_SRAMCR6_WDS_MASK (0xFU)
  73036. #define SEMC_SRAMCR6_WDS_SHIFT (0U)
  73037. /*! WDS - Write Data setup time
  73038. */
  73039. #define SEMC_SRAMCR6_WDS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR6_WDS_SHIFT)) & SEMC_SRAMCR6_WDS_MASK)
  73040. #define SEMC_SRAMCR6_WDH_MASK (0xF0U)
  73041. #define SEMC_SRAMCR6_WDH_SHIFT (4U)
  73042. /*! WDH - Write Data hold time
  73043. */
  73044. #define SEMC_SRAMCR6_WDH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR6_WDH_SHIFT)) & SEMC_SRAMCR6_WDH_MASK)
  73045. #define SEMC_SRAMCR6_TA_MASK (0xF00U)
  73046. #define SEMC_SRAMCR6_TA_SHIFT (8U)
  73047. /*! TA - Turnaround time
  73048. */
  73049. #define SEMC_SRAMCR6_TA(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR6_TA_SHIFT)) & SEMC_SRAMCR6_TA_MASK)
  73050. #define SEMC_SRAMCR6_AWDH_MASK (0xF000U)
  73051. #define SEMC_SRAMCR6_AWDH_SHIFT (12U)
  73052. /*! AWDH - Address to write data hold time
  73053. */
  73054. #define SEMC_SRAMCR6_AWDH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR6_AWDH_SHIFT)) & SEMC_SRAMCR6_AWDH_MASK)
  73055. #define SEMC_SRAMCR6_LC_MASK (0xF0000U)
  73056. #define SEMC_SRAMCR6_LC_SHIFT (16U)
  73057. /*! LC - Latency count
  73058. */
  73059. #define SEMC_SRAMCR6_LC(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR6_LC_SHIFT)) & SEMC_SRAMCR6_LC_MASK)
  73060. #define SEMC_SRAMCR6_RD_MASK (0xF00000U)
  73061. #define SEMC_SRAMCR6_RD_SHIFT (20U)
  73062. /*! RD - Read time
  73063. */
  73064. #define SEMC_SRAMCR6_RD(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR6_RD_SHIFT)) & SEMC_SRAMCR6_RD_MASK)
  73065. #define SEMC_SRAMCR6_CEITV_MASK (0xF000000U)
  73066. #define SEMC_SRAMCR6_CEITV_SHIFT (24U)
  73067. /*! CEITV - CE# interval time
  73068. */
  73069. #define SEMC_SRAMCR6_CEITV(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR6_CEITV_SHIFT)) & SEMC_SRAMCR6_CEITV_MASK)
  73070. #define SEMC_SRAMCR6_RDH_MASK (0xF0000000U)
  73071. #define SEMC_SRAMCR6_RDH_SHIFT (28U)
  73072. /*! RDH - Read hold time
  73073. */
  73074. #define SEMC_SRAMCR6_RDH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR6_RDH_SHIFT)) & SEMC_SRAMCR6_RDH_MASK)
  73075. /*! @} */
  73076. /*! @name DCCR - Delay Chain Control Register */
  73077. /*! @{ */
  73078. #define SEMC_DCCR_SDRAMEN_MASK (0x1U)
  73079. #define SEMC_DCCR_SDRAMEN_SHIFT (0U)
  73080. /*! SDRAMEN - Delay chain insertion enable for SRAM device.
  73081. * 0b0..Delay chain is not inserted.
  73082. * 0b1..Delay chain is inserted.
  73083. */
  73084. #define SEMC_DCCR_SDRAMEN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DCCR_SDRAMEN_SHIFT)) & SEMC_DCCR_SDRAMEN_MASK)
  73085. #define SEMC_DCCR_SDRAMVAL_MASK (0x3EU)
  73086. #define SEMC_DCCR_SDRAMVAL_SHIFT (1U)
  73087. /*! SDRAMVAL - Clock delay line delay cell number selection value for SDRAM device.
  73088. */
  73089. #define SEMC_DCCR_SDRAMVAL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DCCR_SDRAMVAL_SHIFT)) & SEMC_DCCR_SDRAMVAL_MASK)
  73090. #define SEMC_DCCR_NOREN_MASK (0x100U)
  73091. #define SEMC_DCCR_NOREN_SHIFT (8U)
  73092. /*! NOREN - Delay chain insertion enable for NOR device.
  73093. * 0b0..Delay chain is not inserted.
  73094. * 0b1..Delay chain is inserted.
  73095. */
  73096. #define SEMC_DCCR_NOREN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DCCR_NOREN_SHIFT)) & SEMC_DCCR_NOREN_MASK)
  73097. #define SEMC_DCCR_NORVAL_MASK (0x3E00U)
  73098. #define SEMC_DCCR_NORVAL_SHIFT (9U)
  73099. /*! NORVAL - Clock delay line delay cell number selection value for NOR device.
  73100. */
  73101. #define SEMC_DCCR_NORVAL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DCCR_NORVAL_SHIFT)) & SEMC_DCCR_NORVAL_MASK)
  73102. #define SEMC_DCCR_SRAM0EN_MASK (0x10000U)
  73103. #define SEMC_DCCR_SRAM0EN_SHIFT (16U)
  73104. /*! SRAM0EN - Delay chain insertion enable for SRAM device 0.
  73105. * 0b0..Delay chain is not inserted.
  73106. * 0b1..Delay chain is inserted.
  73107. */
  73108. #define SEMC_DCCR_SRAM0EN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DCCR_SRAM0EN_SHIFT)) & SEMC_DCCR_SRAM0EN_MASK)
  73109. #define SEMC_DCCR_SRAM0VAL_MASK (0x3E0000U)
  73110. #define SEMC_DCCR_SRAM0VAL_SHIFT (17U)
  73111. /*! SRAM0VAL - Clock delay line delay cell number selection value for SRAM device 0.
  73112. */
  73113. #define SEMC_DCCR_SRAM0VAL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DCCR_SRAM0VAL_SHIFT)) & SEMC_DCCR_SRAM0VAL_MASK)
  73114. #define SEMC_DCCR_SRAMXEN_MASK (0x1000000U)
  73115. #define SEMC_DCCR_SRAMXEN_SHIFT (24U)
  73116. /*! SRAMXEN - Delay chain insertion enable for SRAM device 1-3.
  73117. * 0b0..Delay chain is not inserted.
  73118. * 0b1..Delay chain is inserted.
  73119. */
  73120. #define SEMC_DCCR_SRAMXEN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DCCR_SRAMXEN_SHIFT)) & SEMC_DCCR_SRAMXEN_MASK)
  73121. #define SEMC_DCCR_SRAMXVAL_MASK (0x3E000000U)
  73122. #define SEMC_DCCR_SRAMXVAL_SHIFT (25U)
  73123. /*! SRAMXVAL - Clock delay line delay cell number selection value for SRAM device 1-3.
  73124. */
  73125. #define SEMC_DCCR_SRAMXVAL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DCCR_SRAMXVAL_SHIFT)) & SEMC_DCCR_SRAMXVAL_MASK)
  73126. /*! @} */
  73127. /*!
  73128. * @}
  73129. */ /* end of group SEMC_Register_Masks */
  73130. /* SEMC - Peripheral instance base addresses */
  73131. /** Peripheral SEMC base address */
  73132. #define SEMC_BASE (0x400D4000u)
  73133. /** Peripheral SEMC base pointer */
  73134. #define SEMC ((SEMC_Type *)SEMC_BASE)
  73135. /** Array initializer of SEMC peripheral base addresses */
  73136. #define SEMC_BASE_ADDRS { SEMC_BASE }
  73137. /** Array initializer of SEMC peripheral base pointers */
  73138. #define SEMC_BASE_PTRS { SEMC }
  73139. /** Interrupt vectors for the SEMC peripheral type */
  73140. #define SEMC_IRQS { SEMC_IRQn }
  73141. /*!
  73142. * @}
  73143. */ /* end of group SEMC_Peripheral_Access_Layer */
  73144. /* ----------------------------------------------------------------------------
  73145. -- SNVS Peripheral Access Layer
  73146. ---------------------------------------------------------------------------- */
  73147. /*!
  73148. * @addtogroup SNVS_Peripheral_Access_Layer SNVS Peripheral Access Layer
  73149. * @{
  73150. */
  73151. /** SNVS - Register Layout Typedef */
  73152. typedef struct {
  73153. __IO uint32_t HPLR; /**< SNVS_HP Lock Register, offset: 0x0 */
  73154. __IO uint32_t HPCOMR; /**< SNVS_HP Command Register, offset: 0x4 */
  73155. __IO uint32_t HPCR; /**< SNVS_HP Control Register, offset: 0x8 */
  73156. __IO uint32_t HPSICR; /**< SNVS_HP Security Interrupt Control Register, offset: 0xC */
  73157. __IO uint32_t HPSVCR; /**< SNVS_HP Security Violation Control Register, offset: 0x10 */
  73158. __IO uint32_t HPSR; /**< SNVS_HP Status Register, offset: 0x14 */
  73159. __IO uint32_t HPSVSR; /**< SNVS_HP Security Violation Status Register, offset: 0x18 */
  73160. __IO uint32_t HPHACIVR; /**< SNVS_HP High Assurance Counter IV Register, offset: 0x1C */
  73161. __I uint32_t HPHACR; /**< SNVS_HP High Assurance Counter Register, offset: 0x20 */
  73162. __IO uint32_t HPRTCMR; /**< SNVS_HP Real Time Counter MSB Register, offset: 0x24 */
  73163. __IO uint32_t HPRTCLR; /**< SNVS_HP Real Time Counter LSB Register, offset: 0x28 */
  73164. __IO uint32_t HPTAMR; /**< SNVS_HP Time Alarm MSB Register, offset: 0x2C */
  73165. __IO uint32_t HPTALR; /**< SNVS_HP Time Alarm LSB Register, offset: 0x30 */
  73166. __IO uint32_t LPLR; /**< SNVS_LP Lock Register, offset: 0x34 */
  73167. __IO uint32_t LPCR; /**< SNVS_LP Control Register, offset: 0x38 */
  73168. __IO uint32_t LPMKCR; /**< SNVS_LP Master Key Control Register, offset: 0x3C */
  73169. __IO uint32_t LPSVCR; /**< SNVS_LP Security Violation Control Register, offset: 0x40 */
  73170. __IO uint32_t LPTGFCR; /**< SNVS_LP Tamper Glitch Filters Configuration Register, offset: 0x44 */
  73171. __IO uint32_t LPTDCR; /**< SNVS_LP Tamper Detect Configuration Register, offset: 0x48 */
  73172. __IO uint32_t LPSR; /**< SNVS_LP Status Register, offset: 0x4C */
  73173. __IO uint32_t LPSRTCMR; /**< SNVS_LP Secure Real Time Counter MSB Register, offset: 0x50 */
  73174. __IO uint32_t LPSRTCLR; /**< SNVS_LP Secure Real Time Counter LSB Register, offset: 0x54 */
  73175. __IO uint32_t LPTAR; /**< SNVS_LP Time Alarm Register, offset: 0x58 */
  73176. __IO uint32_t LPSMCMR; /**< SNVS_LP Secure Monotonic Counter MSB Register, offset: 0x5C */
  73177. __IO uint32_t LPSMCLR; /**< SNVS_LP Secure Monotonic Counter LSB Register, offset: 0x60 */
  73178. __IO uint32_t LPLVDR; /**< SNVS_LP Digital Low-Voltage Detector Register, offset: 0x64 */
  73179. __IO uint32_t LPGPR0_LEGACY_ALIAS; /**< SNVS_LP General Purpose Register 0 (legacy alias), offset: 0x68 */
  73180. __IO uint32_t LPZMKR[8]; /**< SNVS_LP Zeroizable Master Key Register, array offset: 0x6C, array step: 0x4 */
  73181. uint8_t RESERVED_0[4];
  73182. __IO uint32_t LPGPR_ALIAS[4]; /**< SNVS_LP General Purpose Registers 0 .. 3, array offset: 0x90, array step: 0x4 */
  73183. __IO uint32_t LPTDC2R; /**< SNVS_LP Tamper Detectors Config 2 Register, offset: 0xA0 */
  73184. __IO uint32_t LPTDSR; /**< SNVS_LP Tamper Detectors Status Register, offset: 0xA4 */
  73185. __IO uint32_t LPTGF1CR; /**< SNVS_LP Tamper Glitch Filter 1 Configuration Register, offset: 0xA8 */
  73186. __IO uint32_t LPTGF2CR; /**< SNVS_LP Tamper Glitch Filter 2 Configuration Register, offset: 0xAC */
  73187. uint8_t RESERVED_1[16];
  73188. __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 */
  73189. uint8_t RESERVED_2[12];
  73190. __IO uint32_t LPATCTLR; /**< SNVS_LP Active Tamper Control Register, offset: 0xE0 */
  73191. __IO uint32_t LPATCLKR; /**< SNVS_LP Active Tamper Clock Control Register, offset: 0xE4 */
  73192. __IO uint32_t LPATRC1R; /**< SNVS_LP Active Tamper Routing Control 1 Register, offset: 0xE8 */
  73193. __IO uint32_t LPATRC2R; /**< SNVS_LP Active Tamper Routing Control 2 Register, offset: 0xEC */
  73194. uint8_t RESERVED_3[16];
  73195. __IO uint32_t LPGPR[4]; /**< SNVS_LP General Purpose Registers 0 .. 3, array offset: 0x100, array step: 0x4 */
  73196. uint8_t RESERVED_4[2792];
  73197. __I uint32_t HPVIDR1; /**< SNVS_HP Version ID Register 1, offset: 0xBF8 */
  73198. __I uint32_t HPVIDR2; /**< SNVS_HP Version ID Register 2, offset: 0xBFC */
  73199. } SNVS_Type;
  73200. /* ----------------------------------------------------------------------------
  73201. -- SNVS Register Masks
  73202. ---------------------------------------------------------------------------- */
  73203. /*!
  73204. * @addtogroup SNVS_Register_Masks SNVS Register Masks
  73205. * @{
  73206. */
  73207. /*! @name HPLR - SNVS_HP Lock Register */
  73208. /*! @{ */
  73209. #define SNVS_HPLR_ZMK_WSL_MASK (0x1U)
  73210. #define SNVS_HPLR_ZMK_WSL_SHIFT (0U)
  73211. /*! ZMK_WSL
  73212. * 0b0..Write access is allowed
  73213. * 0b1..Write access is not allowed
  73214. */
  73215. #define SNVS_HPLR_ZMK_WSL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_ZMK_WSL_SHIFT)) & SNVS_HPLR_ZMK_WSL_MASK)
  73216. #define SNVS_HPLR_ZMK_RSL_MASK (0x2U)
  73217. #define SNVS_HPLR_ZMK_RSL_SHIFT (1U)
  73218. /*! ZMK_RSL
  73219. * 0b0..Read access is allowed (only in software Programming mode)
  73220. * 0b1..Read access is not allowed
  73221. */
  73222. #define SNVS_HPLR_ZMK_RSL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_ZMK_RSL_SHIFT)) & SNVS_HPLR_ZMK_RSL_MASK)
  73223. #define SNVS_HPLR_SRTC_SL_MASK (0x4U)
  73224. #define SNVS_HPLR_SRTC_SL_SHIFT (2U)
  73225. /*! SRTC_SL
  73226. * 0b0..Write access is allowed
  73227. * 0b1..Write access is not allowed
  73228. */
  73229. #define SNVS_HPLR_SRTC_SL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_SRTC_SL_SHIFT)) & SNVS_HPLR_SRTC_SL_MASK)
  73230. #define SNVS_HPLR_LPCALB_SL_MASK (0x8U)
  73231. #define SNVS_HPLR_LPCALB_SL_SHIFT (3U)
  73232. /*! LPCALB_SL
  73233. * 0b0..Write access is allowed
  73234. * 0b1..Write access is not allowed
  73235. */
  73236. #define SNVS_HPLR_LPCALB_SL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_LPCALB_SL_SHIFT)) & SNVS_HPLR_LPCALB_SL_MASK)
  73237. #define SNVS_HPLR_MC_SL_MASK (0x10U)
  73238. #define SNVS_HPLR_MC_SL_SHIFT (4U)
  73239. /*! MC_SL
  73240. * 0b0..Write access (increment) is allowed
  73241. * 0b1..Write access (increment) is not allowed
  73242. */
  73243. #define SNVS_HPLR_MC_SL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_MC_SL_SHIFT)) & SNVS_HPLR_MC_SL_MASK)
  73244. #define SNVS_HPLR_GPR_SL_MASK (0x20U)
  73245. #define SNVS_HPLR_GPR_SL_SHIFT (5U)
  73246. /*! GPR_SL
  73247. * 0b0..Write access is allowed
  73248. * 0b1..Write access is not allowed
  73249. */
  73250. #define SNVS_HPLR_GPR_SL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_GPR_SL_SHIFT)) & SNVS_HPLR_GPR_SL_MASK)
  73251. #define SNVS_HPLR_LPSVCR_SL_MASK (0x40U)
  73252. #define SNVS_HPLR_LPSVCR_SL_SHIFT (6U)
  73253. /*! LPSVCR_SL
  73254. * 0b0..Write access is allowed
  73255. * 0b1..Write access is not allowed
  73256. */
  73257. #define SNVS_HPLR_LPSVCR_SL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_LPSVCR_SL_SHIFT)) & SNVS_HPLR_LPSVCR_SL_MASK)
  73258. #define SNVS_HPLR_LPTGFCR_SL_MASK (0x80U)
  73259. #define SNVS_HPLR_LPTGFCR_SL_SHIFT (7U)
  73260. /*! LPTGFCR_SL
  73261. * 0b0..Write access is allowed
  73262. * 0b1..Write access is not allowed
  73263. */
  73264. #define SNVS_HPLR_LPTGFCR_SL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_LPTGFCR_SL_SHIFT)) & SNVS_HPLR_LPTGFCR_SL_MASK)
  73265. #define SNVS_HPLR_LPSECR_SL_MASK (0x100U)
  73266. #define SNVS_HPLR_LPSECR_SL_SHIFT (8U)
  73267. /*! LPSECR_SL
  73268. * 0b0..Write access is allowed
  73269. * 0b1..Write access is not allowed
  73270. */
  73271. #define SNVS_HPLR_LPSECR_SL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_LPSECR_SL_SHIFT)) & SNVS_HPLR_LPSECR_SL_MASK)
  73272. #define SNVS_HPLR_MKS_SL_MASK (0x200U)
  73273. #define SNVS_HPLR_MKS_SL_SHIFT (9U)
  73274. /*! MKS_SL
  73275. * 0b0..Write access is allowed
  73276. * 0b1..Write access is not allowed
  73277. */
  73278. #define SNVS_HPLR_MKS_SL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_MKS_SL_SHIFT)) & SNVS_HPLR_MKS_SL_MASK)
  73279. #define SNVS_HPLR_HPSVCR_L_MASK (0x10000U)
  73280. #define SNVS_HPLR_HPSVCR_L_SHIFT (16U)
  73281. /*! HPSVCR_L
  73282. * 0b0..Write access is allowed
  73283. * 0b1..Write access is not allowed
  73284. */
  73285. #define SNVS_HPLR_HPSVCR_L(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_HPSVCR_L_SHIFT)) & SNVS_HPLR_HPSVCR_L_MASK)
  73286. #define SNVS_HPLR_HPSICR_L_MASK (0x20000U)
  73287. #define SNVS_HPLR_HPSICR_L_SHIFT (17U)
  73288. /*! HPSICR_L
  73289. * 0b0..Write access is allowed
  73290. * 0b1..Write access is not allowed
  73291. */
  73292. #define SNVS_HPLR_HPSICR_L(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_HPSICR_L_SHIFT)) & SNVS_HPLR_HPSICR_L_MASK)
  73293. #define SNVS_HPLR_HAC_L_MASK (0x40000U)
  73294. #define SNVS_HPLR_HAC_L_SHIFT (18U)
  73295. /*! HAC_L
  73296. * 0b0..Write access is allowed
  73297. * 0b1..Write access is not allowed
  73298. */
  73299. #define SNVS_HPLR_HAC_L(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_HAC_L_SHIFT)) & SNVS_HPLR_HAC_L_MASK)
  73300. #define SNVS_HPLR_AT1_SL_MASK (0x1000000U)
  73301. #define SNVS_HPLR_AT1_SL_SHIFT (24U)
  73302. /*! AT1_SL
  73303. * 0b0..Write access is allowed.
  73304. * 0b1..Write access is not allowed.
  73305. */
  73306. #define SNVS_HPLR_AT1_SL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_AT1_SL_SHIFT)) & SNVS_HPLR_AT1_SL_MASK)
  73307. #define SNVS_HPLR_AT2_SL_MASK (0x2000000U)
  73308. #define SNVS_HPLR_AT2_SL_SHIFT (25U)
  73309. /*! AT2_SL
  73310. * 0b0..Write access is allowed.
  73311. * 0b1..Write access is not allowed.
  73312. */
  73313. #define SNVS_HPLR_AT2_SL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_AT2_SL_SHIFT)) & SNVS_HPLR_AT2_SL_MASK)
  73314. #define SNVS_HPLR_AT3_SL_MASK (0x4000000U)
  73315. #define SNVS_HPLR_AT3_SL_SHIFT (26U)
  73316. /*! AT3_SL
  73317. * 0b0..Write access is allowed.
  73318. * 0b1..Write access is not allowed.
  73319. */
  73320. #define SNVS_HPLR_AT3_SL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_AT3_SL_SHIFT)) & SNVS_HPLR_AT3_SL_MASK)
  73321. #define SNVS_HPLR_AT4_SL_MASK (0x8000000U)
  73322. #define SNVS_HPLR_AT4_SL_SHIFT (27U)
  73323. /*! AT4_SL
  73324. * 0b0..Write access is allowed.
  73325. * 0b1..Write access is not allowed.
  73326. */
  73327. #define SNVS_HPLR_AT4_SL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_AT4_SL_SHIFT)) & SNVS_HPLR_AT4_SL_MASK)
  73328. #define SNVS_HPLR_AT5_SL_MASK (0x10000000U)
  73329. #define SNVS_HPLR_AT5_SL_SHIFT (28U)
  73330. /*! AT5_SL
  73331. * 0b0..Write access is allowed.
  73332. * 0b1..Write access is not allowed.
  73333. */
  73334. #define SNVS_HPLR_AT5_SL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_AT5_SL_SHIFT)) & SNVS_HPLR_AT5_SL_MASK)
  73335. /*! @} */
  73336. /*! @name HPCOMR - SNVS_HP Command Register */
  73337. /*! @{ */
  73338. #define SNVS_HPCOMR_SSM_ST_MASK (0x1U)
  73339. #define SNVS_HPCOMR_SSM_ST_SHIFT (0U)
  73340. #define SNVS_HPCOMR_SSM_ST(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_SSM_ST_SHIFT)) & SNVS_HPCOMR_SSM_ST_MASK)
  73341. #define SNVS_HPCOMR_SSM_ST_DIS_MASK (0x2U)
  73342. #define SNVS_HPCOMR_SSM_ST_DIS_SHIFT (1U)
  73343. /*! SSM_ST_DIS
  73344. * 0b0..Secure to Trusted State transition is enabled
  73345. * 0b1..Secure to Trusted State transition is disabled
  73346. */
  73347. #define SNVS_HPCOMR_SSM_ST_DIS(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_SSM_ST_DIS_SHIFT)) & SNVS_HPCOMR_SSM_ST_DIS_MASK)
  73348. #define SNVS_HPCOMR_SSM_SFNS_DIS_MASK (0x4U)
  73349. #define SNVS_HPCOMR_SSM_SFNS_DIS_SHIFT (2U)
  73350. /*! SSM_SFNS_DIS
  73351. * 0b0..Soft Fail to Non-Secure State transition is enabled
  73352. * 0b1..Soft Fail to Non-Secure State transition is disabled
  73353. */
  73354. #define SNVS_HPCOMR_SSM_SFNS_DIS(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_SSM_SFNS_DIS_SHIFT)) & SNVS_HPCOMR_SSM_SFNS_DIS_MASK)
  73355. #define SNVS_HPCOMR_LP_SWR_MASK (0x10U)
  73356. #define SNVS_HPCOMR_LP_SWR_SHIFT (4U)
  73357. /*! LP_SWR
  73358. * 0b0..No Action
  73359. * 0b1..Reset LP section
  73360. */
  73361. #define SNVS_HPCOMR_LP_SWR(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_LP_SWR_SHIFT)) & SNVS_HPCOMR_LP_SWR_MASK)
  73362. #define SNVS_HPCOMR_LP_SWR_DIS_MASK (0x20U)
  73363. #define SNVS_HPCOMR_LP_SWR_DIS_SHIFT (5U)
  73364. /*! LP_SWR_DIS
  73365. * 0b0..LP software reset is enabled
  73366. * 0b1..LP software reset is disabled
  73367. */
  73368. #define SNVS_HPCOMR_LP_SWR_DIS(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_LP_SWR_DIS_SHIFT)) & SNVS_HPCOMR_LP_SWR_DIS_MASK)
  73369. #define SNVS_HPCOMR_SW_SV_MASK (0x100U)
  73370. #define SNVS_HPCOMR_SW_SV_SHIFT (8U)
  73371. #define SNVS_HPCOMR_SW_SV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_SW_SV_SHIFT)) & SNVS_HPCOMR_SW_SV_MASK)
  73372. #define SNVS_HPCOMR_SW_FSV_MASK (0x200U)
  73373. #define SNVS_HPCOMR_SW_FSV_SHIFT (9U)
  73374. #define SNVS_HPCOMR_SW_FSV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_SW_FSV_SHIFT)) & SNVS_HPCOMR_SW_FSV_MASK)
  73375. #define SNVS_HPCOMR_SW_LPSV_MASK (0x400U)
  73376. #define SNVS_HPCOMR_SW_LPSV_SHIFT (10U)
  73377. #define SNVS_HPCOMR_SW_LPSV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_SW_LPSV_SHIFT)) & SNVS_HPCOMR_SW_LPSV_MASK)
  73378. #define SNVS_HPCOMR_PROG_ZMK_MASK (0x1000U)
  73379. #define SNVS_HPCOMR_PROG_ZMK_SHIFT (12U)
  73380. /*! PROG_ZMK
  73381. * 0b0..No Action
  73382. * 0b1..Activate hardware key programming mechanism
  73383. */
  73384. #define SNVS_HPCOMR_PROG_ZMK(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_PROG_ZMK_SHIFT)) & SNVS_HPCOMR_PROG_ZMK_MASK)
  73385. #define SNVS_HPCOMR_MKS_EN_MASK (0x2000U)
  73386. #define SNVS_HPCOMR_MKS_EN_SHIFT (13U)
  73387. /*! MKS_EN
  73388. * 0b0..OTP master key is selected as an SNVS master key
  73389. * 0b1..SNVS master key is selected according to the setting of the MASTER_KEY_SEL field of LPMKCR
  73390. */
  73391. #define SNVS_HPCOMR_MKS_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_MKS_EN_SHIFT)) & SNVS_HPCOMR_MKS_EN_MASK)
  73392. #define SNVS_HPCOMR_HAC_EN_MASK (0x10000U)
  73393. #define SNVS_HPCOMR_HAC_EN_SHIFT (16U)
  73394. /*! HAC_EN
  73395. * 0b0..High Assurance Counter is disabled
  73396. * 0b1..High Assurance Counter is enabled
  73397. */
  73398. #define SNVS_HPCOMR_HAC_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_HAC_EN_SHIFT)) & SNVS_HPCOMR_HAC_EN_MASK)
  73399. #define SNVS_HPCOMR_HAC_LOAD_MASK (0x20000U)
  73400. #define SNVS_HPCOMR_HAC_LOAD_SHIFT (17U)
  73401. /*! HAC_LOAD
  73402. * 0b0..No Action
  73403. * 0b1..Load the HAC
  73404. */
  73405. #define SNVS_HPCOMR_HAC_LOAD(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_HAC_LOAD_SHIFT)) & SNVS_HPCOMR_HAC_LOAD_MASK)
  73406. #define SNVS_HPCOMR_HAC_CLEAR_MASK (0x40000U)
  73407. #define SNVS_HPCOMR_HAC_CLEAR_SHIFT (18U)
  73408. /*! HAC_CLEAR
  73409. * 0b0..No Action
  73410. * 0b1..Clear the HAC
  73411. */
  73412. #define SNVS_HPCOMR_HAC_CLEAR(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_HAC_CLEAR_SHIFT)) & SNVS_HPCOMR_HAC_CLEAR_MASK)
  73413. #define SNVS_HPCOMR_HAC_STOP_MASK (0x80000U)
  73414. #define SNVS_HPCOMR_HAC_STOP_SHIFT (19U)
  73415. #define SNVS_HPCOMR_HAC_STOP(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_HAC_STOP_SHIFT)) & SNVS_HPCOMR_HAC_STOP_MASK)
  73416. #define SNVS_HPCOMR_NPSWA_EN_MASK (0x80000000U)
  73417. #define SNVS_HPCOMR_NPSWA_EN_SHIFT (31U)
  73418. #define SNVS_HPCOMR_NPSWA_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_NPSWA_EN_SHIFT)) & SNVS_HPCOMR_NPSWA_EN_MASK)
  73419. /*! @} */
  73420. /*! @name HPCR - SNVS_HP Control Register */
  73421. /*! @{ */
  73422. #define SNVS_HPCR_RTC_EN_MASK (0x1U)
  73423. #define SNVS_HPCR_RTC_EN_SHIFT (0U)
  73424. /*! RTC_EN
  73425. * 0b0..RTC is disabled
  73426. * 0b1..RTC is enabled
  73427. */
  73428. #define SNVS_HPCR_RTC_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCR_RTC_EN_SHIFT)) & SNVS_HPCR_RTC_EN_MASK)
  73429. #define SNVS_HPCR_HPTA_EN_MASK (0x2U)
  73430. #define SNVS_HPCR_HPTA_EN_SHIFT (1U)
  73431. /*! HPTA_EN
  73432. * 0b0..HP Time Alarm Interrupt is disabled
  73433. * 0b1..HP Time Alarm Interrupt is enabled
  73434. */
  73435. #define SNVS_HPCR_HPTA_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCR_HPTA_EN_SHIFT)) & SNVS_HPCR_HPTA_EN_MASK)
  73436. #define SNVS_HPCR_DIS_PI_MASK (0x4U)
  73437. #define SNVS_HPCR_DIS_PI_SHIFT (2U)
  73438. /*! DIS_PI
  73439. * 0b0..Periodic interrupt will trigger a functional interrupt
  73440. * 0b1..Disable periodic interrupt in the function interrupt
  73441. */
  73442. #define SNVS_HPCR_DIS_PI(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCR_DIS_PI_SHIFT)) & SNVS_HPCR_DIS_PI_MASK)
  73443. #define SNVS_HPCR_PI_EN_MASK (0x8U)
  73444. #define SNVS_HPCR_PI_EN_SHIFT (3U)
  73445. /*! PI_EN
  73446. * 0b0..HP Periodic Interrupt is disabled
  73447. * 0b1..HP Periodic Interrupt is enabled
  73448. */
  73449. #define SNVS_HPCR_PI_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCR_PI_EN_SHIFT)) & SNVS_HPCR_PI_EN_MASK)
  73450. #define SNVS_HPCR_PI_FREQ_MASK (0xF0U)
  73451. #define SNVS_HPCR_PI_FREQ_SHIFT (4U)
  73452. /*! PI_FREQ
  73453. * 0b0000..- bit 0 of the HPRTCLR is selected as a source of the periodic interrupt
  73454. * 0b0001..- bit 1 of the HPRTCLR is selected as a source of the periodic interrupt
  73455. * 0b0010..- bit 2 of the HPRTCLR is selected as a source of the periodic interrupt
  73456. * 0b0011..- bit 3 of the HPRTCLR is selected as a source of the periodic interrupt
  73457. * 0b0100..- bit 4 of the HPRTCLR is selected as a source of the periodic interrupt
  73458. * 0b0101..- bit 5 of the HPRTCLR is selected as a source of the periodic interrupt
  73459. * 0b0110..- bit 6 of the HPRTCLR is selected as a source of the periodic interrupt
  73460. * 0b0111..- bit 7 of the HPRTCLR is selected as a source of the periodic interrupt
  73461. * 0b1000..- bit 8 of the HPRTCLR is selected as a source of the periodic interrupt
  73462. * 0b1001..- bit 9 of the HPRTCLR is selected as a source of the periodic interrupt
  73463. * 0b1010..- bit 10 of the HPRTCLR is selected as a source of the periodic interrupt
  73464. * 0b1011..- bit 11 of the HPRTCLR is selected as a source of the periodic interrupt
  73465. * 0b1100..- bit 12 of the HPRTCLR is selected as a source of the periodic interrupt
  73466. * 0b1101..- bit 13 of the HPRTCLR is selected as a source of the periodic interrupt
  73467. * 0b1110..- bit 14 of the HPRTCLR is selected as a source of the periodic interrupt
  73468. * 0b1111..- bit 15 of the HPRTCLR is selected as a source of the periodic interrupt
  73469. */
  73470. #define SNVS_HPCR_PI_FREQ(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCR_PI_FREQ_SHIFT)) & SNVS_HPCR_PI_FREQ_MASK)
  73471. #define SNVS_HPCR_HPCALB_EN_MASK (0x100U)
  73472. #define SNVS_HPCR_HPCALB_EN_SHIFT (8U)
  73473. /*! HPCALB_EN
  73474. * 0b0..HP Timer calibration disabled
  73475. * 0b1..HP Timer calibration enabled
  73476. */
  73477. #define SNVS_HPCR_HPCALB_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCR_HPCALB_EN_SHIFT)) & SNVS_HPCR_HPCALB_EN_MASK)
  73478. #define SNVS_HPCR_HPCALB_VAL_MASK (0x7C00U)
  73479. #define SNVS_HPCR_HPCALB_VAL_SHIFT (10U)
  73480. /*! HPCALB_VAL
  73481. * 0b00000..+0 counts per each 32768 ticks of the counter
  73482. * 0b00001..+1 counts per each 32768 ticks of the counter
  73483. * 0b00010..+2 counts per each 32768 ticks of the counter
  73484. * 0b01111..+15 counts per each 32768 ticks of the counter
  73485. * 0b10000..-16 counts per each 32768 ticks of the counter
  73486. * 0b10001..-15 counts per each 32768 ticks of the counter
  73487. * 0b11110..-2 counts per each 32768 ticks of the counter
  73488. * 0b11111..-1 counts per each 32768 ticks of the counter
  73489. */
  73490. #define SNVS_HPCR_HPCALB_VAL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCR_HPCALB_VAL_SHIFT)) & SNVS_HPCR_HPCALB_VAL_MASK)
  73491. #define SNVS_HPCR_HP_TS_MASK (0x10000U)
  73492. #define SNVS_HPCR_HP_TS_SHIFT (16U)
  73493. /*! HP_TS
  73494. * 0b0..No Action
  73495. * 0b1..Synchronize the HP Time Counter to the LP Time Counter
  73496. */
  73497. #define SNVS_HPCR_HP_TS(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCR_HP_TS_SHIFT)) & SNVS_HPCR_HP_TS_MASK)
  73498. #define SNVS_HPCR_BTN_CONFIG_MASK (0x7000000U)
  73499. #define SNVS_HPCR_BTN_CONFIG_SHIFT (24U)
  73500. #define SNVS_HPCR_BTN_CONFIG(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCR_BTN_CONFIG_SHIFT)) & SNVS_HPCR_BTN_CONFIG_MASK)
  73501. #define SNVS_HPCR_BTN_MASK_MASK (0x8000000U)
  73502. #define SNVS_HPCR_BTN_MASK_SHIFT (27U)
  73503. #define SNVS_HPCR_BTN_MASK(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCR_BTN_MASK_SHIFT)) & SNVS_HPCR_BTN_MASK_MASK)
  73504. /*! @} */
  73505. /*! @name HPSICR - SNVS_HP Security Interrupt Control Register */
  73506. /*! @{ */
  73507. #define SNVS_HPSICR_CAAM_EN_MASK (0x1U)
  73508. #define SNVS_HPSICR_CAAM_EN_SHIFT (0U)
  73509. /*! CAAM_EN
  73510. * 0b0..CAAM Security Violation Interrupt is Disabled
  73511. * 0b1..CAAM Security Violation Interrupt is Enabled
  73512. */
  73513. #define SNVS_HPSICR_CAAM_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSICR_CAAM_EN_SHIFT)) & SNVS_HPSICR_CAAM_EN_MASK)
  73514. #define SNVS_HPSICR_JTAGC_EN_MASK (0x2U)
  73515. #define SNVS_HPSICR_JTAGC_EN_SHIFT (1U)
  73516. /*! JTAGC_EN
  73517. * 0b0..JTAG Active Interrupt is Disabled
  73518. * 0b1..JTAG Active Interrupt is Enabled
  73519. */
  73520. #define SNVS_HPSICR_JTAGC_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSICR_JTAGC_EN_SHIFT)) & SNVS_HPSICR_JTAGC_EN_MASK)
  73521. #define SNVS_HPSICR_WDOG2_EN_MASK (0x4U)
  73522. #define SNVS_HPSICR_WDOG2_EN_SHIFT (2U)
  73523. /*! WDOG2_EN
  73524. * 0b0..Watchdog 2 Reset Interrupt is Disabled
  73525. * 0b1..Watchdog 2 Reset Interrupt is Enabled
  73526. */
  73527. #define SNVS_HPSICR_WDOG2_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSICR_WDOG2_EN_SHIFT)) & SNVS_HPSICR_WDOG2_EN_MASK)
  73528. #define SNVS_HPSICR_SRC_EN_MASK (0x10U)
  73529. #define SNVS_HPSICR_SRC_EN_SHIFT (4U)
  73530. /*! SRC_EN
  73531. * 0b0..Internal Boot Interrupt is Disabled
  73532. * 0b1..Internal Boot Interrupt is Enabled
  73533. */
  73534. #define SNVS_HPSICR_SRC_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSICR_SRC_EN_SHIFT)) & SNVS_HPSICR_SRC_EN_MASK)
  73535. #define SNVS_HPSICR_OCOTP_EN_MASK (0x20U)
  73536. #define SNVS_HPSICR_OCOTP_EN_SHIFT (5U)
  73537. /*! OCOTP_EN
  73538. * 0b0..OCOTP attack error Interrupt is Disabled
  73539. * 0b1..OCOTP attack error Interrupt is Enabled
  73540. */
  73541. #define SNVS_HPSICR_OCOTP_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSICR_OCOTP_EN_SHIFT)) & SNVS_HPSICR_OCOTP_EN_MASK)
  73542. #define SNVS_HPSICR_LPSVI_EN_MASK (0x80000000U)
  73543. #define SNVS_HPSICR_LPSVI_EN_SHIFT (31U)
  73544. /*! LPSVI_EN
  73545. * 0b0..LP Security Violation Interrupt is Disabled
  73546. * 0b1..LP Security Violation Interrupt is Enabled
  73547. */
  73548. #define SNVS_HPSICR_LPSVI_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSICR_LPSVI_EN_SHIFT)) & SNVS_HPSICR_LPSVI_EN_MASK)
  73549. /*! @} */
  73550. /*! @name HPSVCR - SNVS_HP Security Violation Control Register */
  73551. /*! @{ */
  73552. #define SNVS_HPSVCR_CAAM_CFG_MASK (0x1U)
  73553. #define SNVS_HPSVCR_CAAM_CFG_SHIFT (0U)
  73554. /*! CAAM_CFG
  73555. * 0b0..CAAM Security Violation is a non-fatal violation
  73556. * 0b1..CAAM Security Violation is a fatal violation
  73557. */
  73558. #define SNVS_HPSVCR_CAAM_CFG(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVCR_CAAM_CFG_SHIFT)) & SNVS_HPSVCR_CAAM_CFG_MASK)
  73559. #define SNVS_HPSVCR_JTAGC_CFG_MASK (0x2U)
  73560. #define SNVS_HPSVCR_JTAGC_CFG_SHIFT (1U)
  73561. /*! JTAGC_CFG
  73562. * 0b0..JTAG Active is a non-fatal violation
  73563. * 0b1..JTAG Active is a fatal violation
  73564. */
  73565. #define SNVS_HPSVCR_JTAGC_CFG(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVCR_JTAGC_CFG_SHIFT)) & SNVS_HPSVCR_JTAGC_CFG_MASK)
  73566. #define SNVS_HPSVCR_WDOG2_CFG_MASK (0x4U)
  73567. #define SNVS_HPSVCR_WDOG2_CFG_SHIFT (2U)
  73568. /*! WDOG2_CFG
  73569. * 0b0..Watchdog 2 Reset is a non-fatal violation
  73570. * 0b1..Watchdog 2 Reset is a fatal violation
  73571. */
  73572. #define SNVS_HPSVCR_WDOG2_CFG(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVCR_WDOG2_CFG_SHIFT)) & SNVS_HPSVCR_WDOG2_CFG_MASK)
  73573. #define SNVS_HPSVCR_SRC_CFG_MASK (0x10U)
  73574. #define SNVS_HPSVCR_SRC_CFG_SHIFT (4U)
  73575. /*! SRC_CFG
  73576. * 0b0..Internal Boot is a non-fatal violation
  73577. * 0b1..Internal Boot is a fatal violation
  73578. */
  73579. #define SNVS_HPSVCR_SRC_CFG(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVCR_SRC_CFG_SHIFT)) & SNVS_HPSVCR_SRC_CFG_MASK)
  73580. #define SNVS_HPSVCR_OCOTP_CFG_MASK (0x60U)
  73581. #define SNVS_HPSVCR_OCOTP_CFG_SHIFT (5U)
  73582. /*! OCOTP_CFG
  73583. * 0b00..OCOTP attack error is disabled
  73584. * 0b01..OCOTP attack error is a non-fatal violation
  73585. * 0b1x..OCOTP attack error is a fatal violation
  73586. */
  73587. #define SNVS_HPSVCR_OCOTP_CFG(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVCR_OCOTP_CFG_SHIFT)) & SNVS_HPSVCR_OCOTP_CFG_MASK)
  73588. #define SNVS_HPSVCR_LPSV_CFG_MASK (0xC0000000U)
  73589. #define SNVS_HPSVCR_LPSV_CFG_SHIFT (30U)
  73590. /*! LPSV_CFG
  73591. * 0b00..LP security violation is disabled
  73592. * 0b01..LP security violation is a non-fatal violation
  73593. * 0b1x..LP security violation is a fatal violation
  73594. */
  73595. #define SNVS_HPSVCR_LPSV_CFG(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVCR_LPSV_CFG_SHIFT)) & SNVS_HPSVCR_LPSV_CFG_MASK)
  73596. /*! @} */
  73597. /*! @name HPSR - SNVS_HP Status Register */
  73598. /*! @{ */
  73599. #define SNVS_HPSR_HPTA_MASK (0x1U)
  73600. #define SNVS_HPSR_HPTA_SHIFT (0U)
  73601. /*! HPTA
  73602. * 0b0..No time alarm interrupt occurred.
  73603. * 0b1..A time alarm interrupt occurred.
  73604. */
  73605. #define SNVS_HPSR_HPTA(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSR_HPTA_SHIFT)) & SNVS_HPSR_HPTA_MASK)
  73606. #define SNVS_HPSR_PI_MASK (0x2U)
  73607. #define SNVS_HPSR_PI_SHIFT (1U)
  73608. /*! PI
  73609. * 0b0..No periodic interrupt occurred.
  73610. * 0b1..A periodic interrupt occurred.
  73611. */
  73612. #define SNVS_HPSR_PI(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSR_PI_SHIFT)) & SNVS_HPSR_PI_MASK)
  73613. #define SNVS_HPSR_LPDIS_MASK (0x10U)
  73614. #define SNVS_HPSR_LPDIS_SHIFT (4U)
  73615. #define SNVS_HPSR_LPDIS(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSR_LPDIS_SHIFT)) & SNVS_HPSR_LPDIS_MASK)
  73616. #define SNVS_HPSR_BTN_MASK (0x40U)
  73617. #define SNVS_HPSR_BTN_SHIFT (6U)
  73618. #define SNVS_HPSR_BTN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSR_BTN_SHIFT)) & SNVS_HPSR_BTN_MASK)
  73619. #define SNVS_HPSR_BI_MASK (0x80U)
  73620. #define SNVS_HPSR_BI_SHIFT (7U)
  73621. #define SNVS_HPSR_BI(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSR_BI_SHIFT)) & SNVS_HPSR_BI_MASK)
  73622. #define SNVS_HPSR_SSM_STATE_MASK (0xF00U)
  73623. #define SNVS_HPSR_SSM_STATE_SHIFT (8U)
  73624. /*! SSM_STATE
  73625. * 0b0000..Init
  73626. * 0b0001..Hard Fail
  73627. * 0b0011..Soft Fail
  73628. * 0b1000..Init Intermediate (transition state between Init and Check - SSM stays in this state only one clock cycle)
  73629. * 0b1001..Check
  73630. * 0b1011..Non-Secure
  73631. * 0b1101..Trusted
  73632. * 0b1111..Secure
  73633. */
  73634. #define SNVS_HPSR_SSM_STATE(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSR_SSM_STATE_SHIFT)) & SNVS_HPSR_SSM_STATE_MASK)
  73635. #define SNVS_HPSR_SYS_SECURITY_CFG_MASK (0x7000U)
  73636. #define SNVS_HPSR_SYS_SECURITY_CFG_SHIFT (12U)
  73637. /*! SYS_SECURITY_CFG
  73638. * 0b000..Fab Configuration - the default configuration of newly fabricated chips
  73639. * 0b001..Open Configuration - the configuration after NXP-programmable fuses have been blown
  73640. * 0b011..Closed Configuration - the configuration after OEM-programmable fuses have been blown
  73641. * 0b111..Field Return Configuration - the configuration of chips that are returned to NXP for analysis
  73642. */
  73643. #define SNVS_HPSR_SYS_SECURITY_CFG(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSR_SYS_SECURITY_CFG_SHIFT)) & SNVS_HPSR_SYS_SECURITY_CFG_MASK)
  73644. #define SNVS_HPSR_SYS_SECURE_BOOT_MASK (0x8000U)
  73645. #define SNVS_HPSR_SYS_SECURE_BOOT_SHIFT (15U)
  73646. #define SNVS_HPSR_SYS_SECURE_BOOT(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSR_SYS_SECURE_BOOT_SHIFT)) & SNVS_HPSR_SYS_SECURE_BOOT_MASK)
  73647. #define SNVS_HPSR_OTPMK_ZERO_MASK (0x8000000U)
  73648. #define SNVS_HPSR_OTPMK_ZERO_SHIFT (27U)
  73649. /*! OTPMK_ZERO
  73650. * 0b0..The OTPMK is not zero.
  73651. * 0b1..The OTPMK is zero.
  73652. */
  73653. #define SNVS_HPSR_OTPMK_ZERO(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSR_OTPMK_ZERO_SHIFT)) & SNVS_HPSR_OTPMK_ZERO_MASK)
  73654. #define SNVS_HPSR_ZMK_ZERO_MASK (0x80000000U)
  73655. #define SNVS_HPSR_ZMK_ZERO_SHIFT (31U)
  73656. /*! ZMK_ZERO
  73657. * 0b0..The ZMK is not zero.
  73658. * 0b1..The ZMK is zero.
  73659. */
  73660. #define SNVS_HPSR_ZMK_ZERO(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSR_ZMK_ZERO_SHIFT)) & SNVS_HPSR_ZMK_ZERO_MASK)
  73661. /*! @} */
  73662. /*! @name HPSVSR - SNVS_HP Security Violation Status Register */
  73663. /*! @{ */
  73664. #define SNVS_HPSVSR_CAAM_MASK (0x1U)
  73665. #define SNVS_HPSVSR_CAAM_SHIFT (0U)
  73666. /*! CAAM
  73667. * 0b0..No CAAM Security Violation security violation was detected.
  73668. * 0b1..CAAM Security Violation security violation was detected.
  73669. */
  73670. #define SNVS_HPSVSR_CAAM(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVSR_CAAM_SHIFT)) & SNVS_HPSVSR_CAAM_MASK)
  73671. #define SNVS_HPSVSR_JTAGC_MASK (0x2U)
  73672. #define SNVS_HPSVSR_JTAGC_SHIFT (1U)
  73673. /*! JTAGC
  73674. * 0b0..No JTAG Active security violation was detected.
  73675. * 0b1..JTAG Active security violation was detected.
  73676. */
  73677. #define SNVS_HPSVSR_JTAGC(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVSR_JTAGC_SHIFT)) & SNVS_HPSVSR_JTAGC_MASK)
  73678. #define SNVS_HPSVSR_WDOG2_MASK (0x4U)
  73679. #define SNVS_HPSVSR_WDOG2_SHIFT (2U)
  73680. /*! WDOG2
  73681. * 0b0..No Watchdog 2 Reset security violation was detected.
  73682. * 0b1..Watchdog 2 Reset security violation was detected.
  73683. */
  73684. #define SNVS_HPSVSR_WDOG2(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVSR_WDOG2_SHIFT)) & SNVS_HPSVSR_WDOG2_MASK)
  73685. #define SNVS_HPSVSR_SRC_MASK (0x10U)
  73686. #define SNVS_HPSVSR_SRC_SHIFT (4U)
  73687. /*! SRC
  73688. * 0b0..No Internal Boot security violation was detected.
  73689. * 0b1..Internal Boot security violation was detected.
  73690. */
  73691. #define SNVS_HPSVSR_SRC(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVSR_SRC_SHIFT)) & SNVS_HPSVSR_SRC_MASK)
  73692. #define SNVS_HPSVSR_OCOTP_MASK (0x20U)
  73693. #define SNVS_HPSVSR_OCOTP_SHIFT (5U)
  73694. /*! OCOTP
  73695. * 0b0..No OCOTP attack error security violation was detected.
  73696. * 0b1..OCOTP attack error security violation was detected.
  73697. */
  73698. #define SNVS_HPSVSR_OCOTP(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVSR_OCOTP_SHIFT)) & SNVS_HPSVSR_OCOTP_MASK)
  73699. #define SNVS_HPSVSR_SW_SV_MASK (0x2000U)
  73700. #define SNVS_HPSVSR_SW_SV_SHIFT (13U)
  73701. #define SNVS_HPSVSR_SW_SV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVSR_SW_SV_SHIFT)) & SNVS_HPSVSR_SW_SV_MASK)
  73702. #define SNVS_HPSVSR_SW_FSV_MASK (0x4000U)
  73703. #define SNVS_HPSVSR_SW_FSV_SHIFT (14U)
  73704. #define SNVS_HPSVSR_SW_FSV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVSR_SW_FSV_SHIFT)) & SNVS_HPSVSR_SW_FSV_MASK)
  73705. #define SNVS_HPSVSR_SW_LPSV_MASK (0x8000U)
  73706. #define SNVS_HPSVSR_SW_LPSV_SHIFT (15U)
  73707. #define SNVS_HPSVSR_SW_LPSV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVSR_SW_LPSV_SHIFT)) & SNVS_HPSVSR_SW_LPSV_MASK)
  73708. #define SNVS_HPSVSR_ZMK_SYNDROME_MASK (0x1FF0000U)
  73709. #define SNVS_HPSVSR_ZMK_SYNDROME_SHIFT (16U)
  73710. #define SNVS_HPSVSR_ZMK_SYNDROME(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVSR_ZMK_SYNDROME_SHIFT)) & SNVS_HPSVSR_ZMK_SYNDROME_MASK)
  73711. #define SNVS_HPSVSR_ZMK_ECC_FAIL_MASK (0x8000000U)
  73712. #define SNVS_HPSVSR_ZMK_ECC_FAIL_SHIFT (27U)
  73713. /*! ZMK_ECC_FAIL
  73714. * 0b0..ZMK ECC Failure was not detected.
  73715. * 0b1..ZMK ECC Failure was detected.
  73716. */
  73717. #define SNVS_HPSVSR_ZMK_ECC_FAIL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVSR_ZMK_ECC_FAIL_SHIFT)) & SNVS_HPSVSR_ZMK_ECC_FAIL_MASK)
  73718. #define SNVS_HPSVSR_LP_SEC_VIO_MASK (0x80000000U)
  73719. #define SNVS_HPSVSR_LP_SEC_VIO_SHIFT (31U)
  73720. #define SNVS_HPSVSR_LP_SEC_VIO(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVSR_LP_SEC_VIO_SHIFT)) & SNVS_HPSVSR_LP_SEC_VIO_MASK)
  73721. /*! @} */
  73722. /*! @name HPHACIVR - SNVS_HP High Assurance Counter IV Register */
  73723. /*! @{ */
  73724. #define SNVS_HPHACIVR_HAC_COUNTER_IV_MASK (0xFFFFFFFFU)
  73725. #define SNVS_HPHACIVR_HAC_COUNTER_IV_SHIFT (0U)
  73726. #define SNVS_HPHACIVR_HAC_COUNTER_IV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPHACIVR_HAC_COUNTER_IV_SHIFT)) & SNVS_HPHACIVR_HAC_COUNTER_IV_MASK)
  73727. /*! @} */
  73728. /*! @name HPHACR - SNVS_HP High Assurance Counter Register */
  73729. /*! @{ */
  73730. #define SNVS_HPHACR_HAC_COUNTER_MASK (0xFFFFFFFFU)
  73731. #define SNVS_HPHACR_HAC_COUNTER_SHIFT (0U)
  73732. #define SNVS_HPHACR_HAC_COUNTER(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPHACR_HAC_COUNTER_SHIFT)) & SNVS_HPHACR_HAC_COUNTER_MASK)
  73733. /*! @} */
  73734. /*! @name HPRTCMR - SNVS_HP Real Time Counter MSB Register */
  73735. /*! @{ */
  73736. #define SNVS_HPRTCMR_RTC_MASK (0x7FFFU)
  73737. #define SNVS_HPRTCMR_RTC_SHIFT (0U)
  73738. #define SNVS_HPRTCMR_RTC(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPRTCMR_RTC_SHIFT)) & SNVS_HPRTCMR_RTC_MASK)
  73739. /*! @} */
  73740. /*! @name HPRTCLR - SNVS_HP Real Time Counter LSB Register */
  73741. /*! @{ */
  73742. #define SNVS_HPRTCLR_RTC_MASK (0xFFFFFFFFU)
  73743. #define SNVS_HPRTCLR_RTC_SHIFT (0U)
  73744. #define SNVS_HPRTCLR_RTC(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPRTCLR_RTC_SHIFT)) & SNVS_HPRTCLR_RTC_MASK)
  73745. /*! @} */
  73746. /*! @name HPTAMR - SNVS_HP Time Alarm MSB Register */
  73747. /*! @{ */
  73748. #define SNVS_HPTAMR_HPTA_MS_MASK (0x7FFFU)
  73749. #define SNVS_HPTAMR_HPTA_MS_SHIFT (0U)
  73750. #define SNVS_HPTAMR_HPTA_MS(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPTAMR_HPTA_MS_SHIFT)) & SNVS_HPTAMR_HPTA_MS_MASK)
  73751. /*! @} */
  73752. /*! @name HPTALR - SNVS_HP Time Alarm LSB Register */
  73753. /*! @{ */
  73754. #define SNVS_HPTALR_HPTA_LS_MASK (0xFFFFFFFFU)
  73755. #define SNVS_HPTALR_HPTA_LS_SHIFT (0U)
  73756. #define SNVS_HPTALR_HPTA_LS(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPTALR_HPTA_LS_SHIFT)) & SNVS_HPTALR_HPTA_LS_MASK)
  73757. /*! @} */
  73758. /*! @name LPLR - SNVS_LP Lock Register */
  73759. /*! @{ */
  73760. #define SNVS_LPLR_ZMK_WHL_MASK (0x1U)
  73761. #define SNVS_LPLR_ZMK_WHL_SHIFT (0U)
  73762. /*! ZMK_WHL
  73763. * 0b0..Write access is allowed.
  73764. * 0b1..Write access is not allowed.
  73765. */
  73766. #define SNVS_LPLR_ZMK_WHL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLR_ZMK_WHL_SHIFT)) & SNVS_LPLR_ZMK_WHL_MASK)
  73767. #define SNVS_LPLR_ZMK_RHL_MASK (0x2U)
  73768. #define SNVS_LPLR_ZMK_RHL_SHIFT (1U)
  73769. /*! ZMK_RHL
  73770. * 0b0..Read access is allowed (only in software programming mode).
  73771. * 0b1..Read access is not allowed.
  73772. */
  73773. #define SNVS_LPLR_ZMK_RHL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLR_ZMK_RHL_SHIFT)) & SNVS_LPLR_ZMK_RHL_MASK)
  73774. #define SNVS_LPLR_SRTC_HL_MASK (0x4U)
  73775. #define SNVS_LPLR_SRTC_HL_SHIFT (2U)
  73776. /*! SRTC_HL
  73777. * 0b0..Write access is allowed.
  73778. * 0b1..Write access is not allowed.
  73779. */
  73780. #define SNVS_LPLR_SRTC_HL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLR_SRTC_HL_SHIFT)) & SNVS_LPLR_SRTC_HL_MASK)
  73781. #define SNVS_LPLR_LPCALB_HL_MASK (0x8U)
  73782. #define SNVS_LPLR_LPCALB_HL_SHIFT (3U)
  73783. /*! LPCALB_HL
  73784. * 0b0..Write access is allowed.
  73785. * 0b1..Write access is not allowed.
  73786. */
  73787. #define SNVS_LPLR_LPCALB_HL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLR_LPCALB_HL_SHIFT)) & SNVS_LPLR_LPCALB_HL_MASK)
  73788. #define SNVS_LPLR_MC_HL_MASK (0x10U)
  73789. #define SNVS_LPLR_MC_HL_SHIFT (4U)
  73790. /*! MC_HL
  73791. * 0b0..Write access (increment) is allowed.
  73792. * 0b1..Write access (increment) is not allowed.
  73793. */
  73794. #define SNVS_LPLR_MC_HL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLR_MC_HL_SHIFT)) & SNVS_LPLR_MC_HL_MASK)
  73795. #define SNVS_LPLR_GPR_HL_MASK (0x20U)
  73796. #define SNVS_LPLR_GPR_HL_SHIFT (5U)
  73797. /*! GPR_HL
  73798. * 0b0..Write access is allowed.
  73799. * 0b1..Write access is not allowed.
  73800. */
  73801. #define SNVS_LPLR_GPR_HL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLR_GPR_HL_SHIFT)) & SNVS_LPLR_GPR_HL_MASK)
  73802. #define SNVS_LPLR_LPSVCR_HL_MASK (0x40U)
  73803. #define SNVS_LPLR_LPSVCR_HL_SHIFT (6U)
  73804. /*! LPSVCR_HL
  73805. * 0b0..Write access is allowed.
  73806. * 0b1..Write access is not allowed.
  73807. */
  73808. #define SNVS_LPLR_LPSVCR_HL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLR_LPSVCR_HL_SHIFT)) & SNVS_LPLR_LPSVCR_HL_MASK)
  73809. #define SNVS_LPLR_LPTGFCR_HL_MASK (0x80U)
  73810. #define SNVS_LPLR_LPTGFCR_HL_SHIFT (7U)
  73811. /*! LPTGFCR_HL
  73812. * 0b0..Write access is allowed.
  73813. * 0b1..Write access is not allowed.
  73814. */
  73815. #define SNVS_LPLR_LPTGFCR_HL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLR_LPTGFCR_HL_SHIFT)) & SNVS_LPLR_LPTGFCR_HL_MASK)
  73816. #define SNVS_LPLR_LPSECR_HL_MASK (0x100U)
  73817. #define SNVS_LPLR_LPSECR_HL_SHIFT (8U)
  73818. /*! LPSECR_HL
  73819. * 0b0..Write access is allowed.
  73820. * 0b1..Write access is not allowed.
  73821. */
  73822. #define SNVS_LPLR_LPSECR_HL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLR_LPSECR_HL_SHIFT)) & SNVS_LPLR_LPSECR_HL_MASK)
  73823. #define SNVS_LPLR_MKS_HL_MASK (0x200U)
  73824. #define SNVS_LPLR_MKS_HL_SHIFT (9U)
  73825. /*! MKS_HL
  73826. * 0b0..Write access is allowed.
  73827. * 0b1..Write access is not allowed.
  73828. */
  73829. #define SNVS_LPLR_MKS_HL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLR_MKS_HL_SHIFT)) & SNVS_LPLR_MKS_HL_MASK)
  73830. #define SNVS_LPLR_AT1_HL_MASK (0x1000000U)
  73831. #define SNVS_LPLR_AT1_HL_SHIFT (24U)
  73832. /*! AT1_HL
  73833. * 0b0..Write access is allowed.
  73834. * 0b1..Write access is not allowed.
  73835. */
  73836. #define SNVS_LPLR_AT1_HL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLR_AT1_HL_SHIFT)) & SNVS_LPLR_AT1_HL_MASK)
  73837. #define SNVS_LPLR_AT2_HL_MASK (0x2000000U)
  73838. #define SNVS_LPLR_AT2_HL_SHIFT (25U)
  73839. /*! AT2_HL
  73840. * 0b0..Write access is allowed.
  73841. * 0b1..Write access is not allowed.
  73842. */
  73843. #define SNVS_LPLR_AT2_HL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLR_AT2_HL_SHIFT)) & SNVS_LPLR_AT2_HL_MASK)
  73844. #define SNVS_LPLR_AT3_HL_MASK (0x4000000U)
  73845. #define SNVS_LPLR_AT3_HL_SHIFT (26U)
  73846. /*! AT3_HL
  73847. * 0b0..Write access is allowed.
  73848. * 0b1..Write access is not allowed.
  73849. */
  73850. #define SNVS_LPLR_AT3_HL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLR_AT3_HL_SHIFT)) & SNVS_LPLR_AT3_HL_MASK)
  73851. #define SNVS_LPLR_AT4_HL_MASK (0x8000000U)
  73852. #define SNVS_LPLR_AT4_HL_SHIFT (27U)
  73853. /*! AT4_HL
  73854. * 0b0..Write access is allowed.
  73855. * 0b1..Write access is not allowed.
  73856. */
  73857. #define SNVS_LPLR_AT4_HL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLR_AT4_HL_SHIFT)) & SNVS_LPLR_AT4_HL_MASK)
  73858. #define SNVS_LPLR_AT5_HL_MASK (0x10000000U)
  73859. #define SNVS_LPLR_AT5_HL_SHIFT (28U)
  73860. /*! AT5_HL
  73861. * 0b0..Write access is allowed.
  73862. * 0b1..Write access is not allowed.
  73863. */
  73864. #define SNVS_LPLR_AT5_HL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLR_AT5_HL_SHIFT)) & SNVS_LPLR_AT5_HL_MASK)
  73865. /*! @} */
  73866. /*! @name LPCR - SNVS_LP Control Register */
  73867. /*! @{ */
  73868. #define SNVS_LPCR_SRTC_ENV_MASK (0x1U)
  73869. #define SNVS_LPCR_SRTC_ENV_SHIFT (0U)
  73870. /*! SRTC_ENV
  73871. * 0b0..SRTC is disabled or invalid.
  73872. * 0b1..SRTC is enabled and valid.
  73873. */
  73874. #define SNVS_LPCR_SRTC_ENV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_SRTC_ENV_SHIFT)) & SNVS_LPCR_SRTC_ENV_MASK)
  73875. #define SNVS_LPCR_LPTA_EN_MASK (0x2U)
  73876. #define SNVS_LPCR_LPTA_EN_SHIFT (1U)
  73877. /*! LPTA_EN
  73878. * 0b0..LP time alarm interrupt is disabled.
  73879. * 0b1..LP time alarm interrupt is enabled.
  73880. */
  73881. #define SNVS_LPCR_LPTA_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_LPTA_EN_SHIFT)) & SNVS_LPCR_LPTA_EN_MASK)
  73882. #define SNVS_LPCR_MC_ENV_MASK (0x4U)
  73883. #define SNVS_LPCR_MC_ENV_SHIFT (2U)
  73884. /*! MC_ENV
  73885. * 0b0..MC is disabled or invalid.
  73886. * 0b1..MC is enabled and valid.
  73887. */
  73888. #define SNVS_LPCR_MC_ENV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_MC_ENV_SHIFT)) & SNVS_LPCR_MC_ENV_MASK)
  73889. #define SNVS_LPCR_LPWUI_EN_MASK (0x8U)
  73890. #define SNVS_LPCR_LPWUI_EN_SHIFT (3U)
  73891. #define SNVS_LPCR_LPWUI_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_LPWUI_EN_SHIFT)) & SNVS_LPCR_LPWUI_EN_MASK)
  73892. #define SNVS_LPCR_SRTC_INV_EN_MASK (0x10U)
  73893. #define SNVS_LPCR_SRTC_INV_EN_SHIFT (4U)
  73894. /*! SRTC_INV_EN
  73895. * 0b0..SRTC stays valid in the case of security violation (other than a software violation (HPSVSR[SW_LPSV] = 1 or HPCOMR[SW_LPSV] = 1)).
  73896. * 0b1..SRTC is invalidated in the case of security violation.
  73897. */
  73898. #define SNVS_LPCR_SRTC_INV_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_SRTC_INV_EN_SHIFT)) & SNVS_LPCR_SRTC_INV_EN_MASK)
  73899. #define SNVS_LPCR_DP_EN_MASK (0x20U)
  73900. #define SNVS_LPCR_DP_EN_SHIFT (5U)
  73901. /*! DP_EN
  73902. * 0b0..Smart PMIC enabled.
  73903. * 0b1..Dumb PMIC enabled.
  73904. */
  73905. #define SNVS_LPCR_DP_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_DP_EN_SHIFT)) & SNVS_LPCR_DP_EN_MASK)
  73906. #define SNVS_LPCR_TOP_MASK (0x40U)
  73907. #define SNVS_LPCR_TOP_SHIFT (6U)
  73908. /*! TOP
  73909. * 0b0..Leave system power on.
  73910. * 0b1..Turn off system power.
  73911. */
  73912. #define SNVS_LPCR_TOP(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_TOP_SHIFT)) & SNVS_LPCR_TOP_MASK)
  73913. #define SNVS_LPCR_LVD_EN_MASK (0x80U)
  73914. #define SNVS_LPCR_LVD_EN_SHIFT (7U)
  73915. #define SNVS_LPCR_LVD_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_LVD_EN_SHIFT)) & SNVS_LPCR_LVD_EN_MASK)
  73916. #define SNVS_LPCR_LPCALB_EN_MASK (0x100U)
  73917. #define SNVS_LPCR_LPCALB_EN_SHIFT (8U)
  73918. /*! LPCALB_EN
  73919. * 0b0..SRTC Time calibration is disabled.
  73920. * 0b1..SRTC Time calibration is enabled.
  73921. */
  73922. #define SNVS_LPCR_LPCALB_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_LPCALB_EN_SHIFT)) & SNVS_LPCR_LPCALB_EN_MASK)
  73923. #define SNVS_LPCR_LPCALB_VAL_MASK (0x7C00U)
  73924. #define SNVS_LPCR_LPCALB_VAL_SHIFT (10U)
  73925. /*! LPCALB_VAL
  73926. * 0b00000..+0 counts per each 32768 ticks of the counter clock
  73927. * 0b00001..+1 counts per each 32768 ticks of the counter clock
  73928. * 0b00010..+2 counts per each 32768 ticks of the counter clock
  73929. * 0b01111..+15 counts per each 32768 ticks of the counter clock
  73930. * 0b10000..-16 counts per each 32768 ticks of the counter clock
  73931. * 0b10001..-15 counts per each 32768 ticks of the counter clock
  73932. * 0b11110..-2 counts per each 32768 ticks of the counter clock
  73933. * 0b11111..-1 counts per each 32768 ticks of the counter clock
  73934. */
  73935. #define SNVS_LPCR_LPCALB_VAL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_LPCALB_VAL_SHIFT)) & SNVS_LPCR_LPCALB_VAL_MASK)
  73936. #define SNVS_LPCR_BTN_PRESS_TIME_MASK (0x30000U)
  73937. #define SNVS_LPCR_BTN_PRESS_TIME_SHIFT (16U)
  73938. #define SNVS_LPCR_BTN_PRESS_TIME(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_BTN_PRESS_TIME_SHIFT)) & SNVS_LPCR_BTN_PRESS_TIME_MASK)
  73939. #define SNVS_LPCR_DEBOUNCE_MASK (0xC0000U)
  73940. #define SNVS_LPCR_DEBOUNCE_SHIFT (18U)
  73941. #define SNVS_LPCR_DEBOUNCE(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_DEBOUNCE_SHIFT)) & SNVS_LPCR_DEBOUNCE_MASK)
  73942. #define SNVS_LPCR_ON_TIME_MASK (0x300000U)
  73943. #define SNVS_LPCR_ON_TIME_SHIFT (20U)
  73944. #define SNVS_LPCR_ON_TIME(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_ON_TIME_SHIFT)) & SNVS_LPCR_ON_TIME_MASK)
  73945. #define SNVS_LPCR_PK_EN_MASK (0x400000U)
  73946. #define SNVS_LPCR_PK_EN_SHIFT (22U)
  73947. #define SNVS_LPCR_PK_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_PK_EN_SHIFT)) & SNVS_LPCR_PK_EN_MASK)
  73948. #define SNVS_LPCR_PK_OVERRIDE_MASK (0x800000U)
  73949. #define SNVS_LPCR_PK_OVERRIDE_SHIFT (23U)
  73950. #define SNVS_LPCR_PK_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_PK_OVERRIDE_SHIFT)) & SNVS_LPCR_PK_OVERRIDE_MASK)
  73951. #define SNVS_LPCR_GPR_Z_DIS_MASK (0x1000000U)
  73952. #define SNVS_LPCR_GPR_Z_DIS_SHIFT (24U)
  73953. #define SNVS_LPCR_GPR_Z_DIS(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_GPR_Z_DIS_SHIFT)) & SNVS_LPCR_GPR_Z_DIS_MASK)
  73954. /*! @} */
  73955. /*! @name LPMKCR - SNVS_LP Master Key Control Register */
  73956. /*! @{ */
  73957. #define SNVS_LPMKCR_MASTER_KEY_SEL_MASK (0x3U)
  73958. #define SNVS_LPMKCR_MASTER_KEY_SEL_SHIFT (0U)
  73959. /*! MASTER_KEY_SEL
  73960. * 0b0x..Select one time programmable master key.
  73961. * 0b10..Select zeroizable master key when MKS_EN bit is set .
  73962. * 0b11..Select combined master key when MKS_EN bit is set .
  73963. */
  73964. #define SNVS_LPMKCR_MASTER_KEY_SEL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPMKCR_MASTER_KEY_SEL_SHIFT)) & SNVS_LPMKCR_MASTER_KEY_SEL_MASK)
  73965. #define SNVS_LPMKCR_ZMK_HWP_MASK (0x4U)
  73966. #define SNVS_LPMKCR_ZMK_HWP_SHIFT (2U)
  73967. /*! ZMK_HWP
  73968. * 0b0..ZMK is in the software programming mode.
  73969. * 0b1..ZMK is in the hardware programming mode.
  73970. */
  73971. #define SNVS_LPMKCR_ZMK_HWP(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPMKCR_ZMK_HWP_SHIFT)) & SNVS_LPMKCR_ZMK_HWP_MASK)
  73972. #define SNVS_LPMKCR_ZMK_VAL_MASK (0x8U)
  73973. #define SNVS_LPMKCR_ZMK_VAL_SHIFT (3U)
  73974. /*! ZMK_VAL
  73975. * 0b0..ZMK is not valid.
  73976. * 0b1..ZMK is valid.
  73977. */
  73978. #define SNVS_LPMKCR_ZMK_VAL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPMKCR_ZMK_VAL_SHIFT)) & SNVS_LPMKCR_ZMK_VAL_MASK)
  73979. #define SNVS_LPMKCR_ZMK_ECC_EN_MASK (0x10U)
  73980. #define SNVS_LPMKCR_ZMK_ECC_EN_SHIFT (4U)
  73981. /*! ZMK_ECC_EN
  73982. * 0b0..ZMK ECC check is disabled.
  73983. * 0b1..ZMK ECC check is enabled.
  73984. */
  73985. #define SNVS_LPMKCR_ZMK_ECC_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPMKCR_ZMK_ECC_EN_SHIFT)) & SNVS_LPMKCR_ZMK_ECC_EN_MASK)
  73986. #define SNVS_LPMKCR_ZMK_ECC_VALUE_MASK (0xFF80U)
  73987. #define SNVS_LPMKCR_ZMK_ECC_VALUE_SHIFT (7U)
  73988. #define SNVS_LPMKCR_ZMK_ECC_VALUE(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPMKCR_ZMK_ECC_VALUE_SHIFT)) & SNVS_LPMKCR_ZMK_ECC_VALUE_MASK)
  73989. /*! @} */
  73990. /*! @name LPSVCR - SNVS_LP Security Violation Control Register */
  73991. /*! @{ */
  73992. #define SNVS_LPSVCR_CAAM_EN_MASK (0x1U)
  73993. #define SNVS_LPSVCR_CAAM_EN_SHIFT (0U)
  73994. /*! CAAM_EN
  73995. * 0b0..CAAM Security Violation is disabled in the LP domain.
  73996. * 0b1..CAAM Security Violation is enabled in the LP domain.
  73997. */
  73998. #define SNVS_LPSVCR_CAAM_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSVCR_CAAM_EN_SHIFT)) & SNVS_LPSVCR_CAAM_EN_MASK)
  73999. #define SNVS_LPSVCR_JTAGC_EN_MASK (0x2U)
  74000. #define SNVS_LPSVCR_JTAGC_EN_SHIFT (1U)
  74001. /*! JTAGC_EN
  74002. * 0b0..JTAG Active is disabled in the LP domain.
  74003. * 0b1..JTAG Active is enabled in the LP domain.
  74004. */
  74005. #define SNVS_LPSVCR_JTAGC_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSVCR_JTAGC_EN_SHIFT)) & SNVS_LPSVCR_JTAGC_EN_MASK)
  74006. #define SNVS_LPSVCR_WDOG2_EN_MASK (0x4U)
  74007. #define SNVS_LPSVCR_WDOG2_EN_SHIFT (2U)
  74008. /*! WDOG2_EN
  74009. * 0b0..Watchdog 2 Reset is disabled in the LP domain.
  74010. * 0b1..Watchdog 2 Reset is enabled in the LP domain.
  74011. */
  74012. #define SNVS_LPSVCR_WDOG2_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSVCR_WDOG2_EN_SHIFT)) & SNVS_LPSVCR_WDOG2_EN_MASK)
  74013. #define SNVS_LPSVCR_SRC_EN_MASK (0x10U)
  74014. #define SNVS_LPSVCR_SRC_EN_SHIFT (4U)
  74015. /*! SRC_EN
  74016. * 0b0..Internal Boot is disabled in the LP domain.
  74017. * 0b1..Internal Boot is enabled in the LP domain.
  74018. */
  74019. #define SNVS_LPSVCR_SRC_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSVCR_SRC_EN_SHIFT)) & SNVS_LPSVCR_SRC_EN_MASK)
  74020. #define SNVS_LPSVCR_OCOTP_EN_MASK (0x20U)
  74021. #define SNVS_LPSVCR_OCOTP_EN_SHIFT (5U)
  74022. /*! OCOTP_EN
  74023. * 0b0..OCOTP attack error is disabled in the LP domain.
  74024. * 0b1..OCOTP attack error is enabled in the LP domain.
  74025. */
  74026. #define SNVS_LPSVCR_OCOTP_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSVCR_OCOTP_EN_SHIFT)) & SNVS_LPSVCR_OCOTP_EN_MASK)
  74027. /*! @} */
  74028. /*! @name LPTGFCR - SNVS_LP Tamper Glitch Filters Configuration Register */
  74029. /*! @{ */
  74030. #define SNVS_LPTGFCR_WMTGF_MASK (0x1FU)
  74031. #define SNVS_LPTGFCR_WMTGF_SHIFT (0U)
  74032. #define SNVS_LPTGFCR_WMTGF(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTGFCR_WMTGF_SHIFT)) & SNVS_LPTGFCR_WMTGF_MASK)
  74033. #define SNVS_LPTGFCR_WMTGF_EN_MASK (0x80U)
  74034. #define SNVS_LPTGFCR_WMTGF_EN_SHIFT (7U)
  74035. /*! WMTGF_EN
  74036. * 0b0..Wire-mesh tamper glitch filter is bypassed.
  74037. * 0b1..Wire-mesh tamper glitch filter is enabled.
  74038. */
  74039. #define SNVS_LPTGFCR_WMTGF_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTGFCR_WMTGF_EN_SHIFT)) & SNVS_LPTGFCR_WMTGF_EN_MASK)
  74040. #define SNVS_LPTGFCR_ETGF1_MASK (0x7F0000U)
  74041. #define SNVS_LPTGFCR_ETGF1_SHIFT (16U)
  74042. #define SNVS_LPTGFCR_ETGF1(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTGFCR_ETGF1_SHIFT)) & SNVS_LPTGFCR_ETGF1_MASK)
  74043. #define SNVS_LPTGFCR_ETGF1_EN_MASK (0x800000U)
  74044. #define SNVS_LPTGFCR_ETGF1_EN_SHIFT (23U)
  74045. /*! ETGF1_EN
  74046. * 0b0..External tamper glitch filter 1 is bypassed.
  74047. * 0b1..External tamper glitch filter 1 is enabled.
  74048. */
  74049. #define SNVS_LPTGFCR_ETGF1_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTGFCR_ETGF1_EN_SHIFT)) & SNVS_LPTGFCR_ETGF1_EN_MASK)
  74050. #define SNVS_LPTGFCR_ETGF2_MASK (0x7F000000U)
  74051. #define SNVS_LPTGFCR_ETGF2_SHIFT (24U)
  74052. #define SNVS_LPTGFCR_ETGF2(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTGFCR_ETGF2_SHIFT)) & SNVS_LPTGFCR_ETGF2_MASK)
  74053. #define SNVS_LPTGFCR_ETGF2_EN_MASK (0x80000000U)
  74054. #define SNVS_LPTGFCR_ETGF2_EN_SHIFT (31U)
  74055. /*! ETGF2_EN
  74056. * 0b0..External tamper glitch filter 2 is bypassed.
  74057. * 0b1..External tamper glitch filter 2 is enabled.
  74058. */
  74059. #define SNVS_LPTGFCR_ETGF2_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTGFCR_ETGF2_EN_SHIFT)) & SNVS_LPTGFCR_ETGF2_EN_MASK)
  74060. /*! @} */
  74061. /*! @name LPTDCR - SNVS_LP Tamper Detect Configuration Register */
  74062. /*! @{ */
  74063. #define SNVS_LPTDCR_SRTCR_EN_MASK (0x2U)
  74064. #define SNVS_LPTDCR_SRTCR_EN_SHIFT (1U)
  74065. /*! SRTCR_EN
  74066. * 0b0..SRTC rollover is disabled.
  74067. * 0b1..SRTC rollover is enabled.
  74068. */
  74069. #define SNVS_LPTDCR_SRTCR_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDCR_SRTCR_EN_SHIFT)) & SNVS_LPTDCR_SRTCR_EN_MASK)
  74070. #define SNVS_LPTDCR_MCR_EN_MASK (0x4U)
  74071. #define SNVS_LPTDCR_MCR_EN_SHIFT (2U)
  74072. /*! MCR_EN
  74073. * 0b0..MC rollover is disabled.
  74074. * 0b1..MC rollover is enabled.
  74075. */
  74076. #define SNVS_LPTDCR_MCR_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDCR_MCR_EN_SHIFT)) & SNVS_LPTDCR_MCR_EN_MASK)
  74077. #define SNVS_LPTDCR_CT_EN_MASK (0x10U)
  74078. #define SNVS_LPTDCR_CT_EN_SHIFT (4U)
  74079. /*! CT_EN
  74080. * 0b0..Clock tamper is disabled.
  74081. * 0b1..Clock tamper is enabled.
  74082. */
  74083. #define SNVS_LPTDCR_CT_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDCR_CT_EN_SHIFT)) & SNVS_LPTDCR_CT_EN_MASK)
  74084. #define SNVS_LPTDCR_TT_EN_MASK (0x20U)
  74085. #define SNVS_LPTDCR_TT_EN_SHIFT (5U)
  74086. /*! TT_EN
  74087. * 0b0..Temperature tamper is disabled.
  74088. * 0b1..Temperature tamper is enabled.
  74089. */
  74090. #define SNVS_LPTDCR_TT_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDCR_TT_EN_SHIFT)) & SNVS_LPTDCR_TT_EN_MASK)
  74091. #define SNVS_LPTDCR_VT_EN_MASK (0x40U)
  74092. #define SNVS_LPTDCR_VT_EN_SHIFT (6U)
  74093. /*! VT_EN
  74094. * 0b0..Voltage tamper is disabled.
  74095. * 0b1..Voltage tamper is enabled.
  74096. */
  74097. #define SNVS_LPTDCR_VT_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDCR_VT_EN_SHIFT)) & SNVS_LPTDCR_VT_EN_MASK)
  74098. #define SNVS_LPTDCR_WMT1_EN_MASK (0x80U)
  74099. #define SNVS_LPTDCR_WMT1_EN_SHIFT (7U)
  74100. /*! WMT1_EN
  74101. * 0b0..Wire-mesh tamper 1 is disabled.
  74102. * 0b1..Wire-mesh tamper 1 is enabled.
  74103. */
  74104. #define SNVS_LPTDCR_WMT1_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDCR_WMT1_EN_SHIFT)) & SNVS_LPTDCR_WMT1_EN_MASK)
  74105. #define SNVS_LPTDCR_WMT2_EN_MASK (0x100U)
  74106. #define SNVS_LPTDCR_WMT2_EN_SHIFT (8U)
  74107. /*! WMT2_EN
  74108. * 0b0..Wire-mesh tamper 2 is disabled.
  74109. * 0b1..Wire-mesh tamper 2 is enabled.
  74110. */
  74111. #define SNVS_LPTDCR_WMT2_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDCR_WMT2_EN_SHIFT)) & SNVS_LPTDCR_WMT2_EN_MASK)
  74112. #define SNVS_LPTDCR_ET1_EN_MASK (0x200U)
  74113. #define SNVS_LPTDCR_ET1_EN_SHIFT (9U)
  74114. /*! ET1_EN
  74115. * 0b0..External tamper 1 is disabled.
  74116. * 0b1..External tamper 1 is enabled.
  74117. */
  74118. #define SNVS_LPTDCR_ET1_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDCR_ET1_EN_SHIFT)) & SNVS_LPTDCR_ET1_EN_MASK)
  74119. #define SNVS_LPTDCR_ET2_EN_MASK (0x400U)
  74120. #define SNVS_LPTDCR_ET2_EN_SHIFT (10U)
  74121. /*! ET2_EN
  74122. * 0b0..External tamper 2 is disabled.
  74123. * 0b1..External tamper 2 is enabled.
  74124. */
  74125. #define SNVS_LPTDCR_ET2_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDCR_ET2_EN_SHIFT)) & SNVS_LPTDCR_ET2_EN_MASK)
  74126. #define SNVS_LPTDCR_ET1P_MASK (0x800U)
  74127. #define SNVS_LPTDCR_ET1P_SHIFT (11U)
  74128. /*! ET1P
  74129. * 0b0..External tamper 1 is active low.
  74130. * 0b1..External tamper 1 is active high.
  74131. */
  74132. #define SNVS_LPTDCR_ET1P(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDCR_ET1P_SHIFT)) & SNVS_LPTDCR_ET1P_MASK)
  74133. #define SNVS_LPTDCR_ET2P_MASK (0x1000U)
  74134. #define SNVS_LPTDCR_ET2P_SHIFT (12U)
  74135. /*! ET2P
  74136. * 0b0..External tamper 2 is active low.
  74137. * 0b1..External tamper 2 is active high.
  74138. */
  74139. #define SNVS_LPTDCR_ET2P(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDCR_ET2P_SHIFT)) & SNVS_LPTDCR_ET2P_MASK)
  74140. #define SNVS_LPTDCR_PFD_OBSERV_MASK (0x4000U)
  74141. #define SNVS_LPTDCR_PFD_OBSERV_SHIFT (14U)
  74142. #define SNVS_LPTDCR_PFD_OBSERV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDCR_PFD_OBSERV_SHIFT)) & SNVS_LPTDCR_PFD_OBSERV_MASK)
  74143. #define SNVS_LPTDCR_POR_OBSERV_MASK (0x8000U)
  74144. #define SNVS_LPTDCR_POR_OBSERV_SHIFT (15U)
  74145. #define SNVS_LPTDCR_POR_OBSERV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDCR_POR_OBSERV_SHIFT)) & SNVS_LPTDCR_POR_OBSERV_MASK)
  74146. #define SNVS_LPTDCR_LTDC_MASK (0x70000U)
  74147. #define SNVS_LPTDCR_LTDC_SHIFT (16U)
  74148. #define SNVS_LPTDCR_LTDC(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDCR_LTDC_SHIFT)) & SNVS_LPTDCR_LTDC_MASK)
  74149. #define SNVS_LPTDCR_HTDC_MASK (0x700000U)
  74150. #define SNVS_LPTDCR_HTDC_SHIFT (20U)
  74151. #define SNVS_LPTDCR_HTDC(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDCR_HTDC_SHIFT)) & SNVS_LPTDCR_HTDC_MASK)
  74152. #define SNVS_LPTDCR_VRC_MASK (0x7000000U)
  74153. #define SNVS_LPTDCR_VRC_SHIFT (24U)
  74154. #define SNVS_LPTDCR_VRC(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDCR_VRC_SHIFT)) & SNVS_LPTDCR_VRC_MASK)
  74155. #define SNVS_LPTDCR_OSCB_MASK (0x10000000U)
  74156. #define SNVS_LPTDCR_OSCB_SHIFT (28U)
  74157. /*! OSCB
  74158. * 0b0..Normal SRTC clock oscillator not bypassed.
  74159. * 0b1..Normal SRTC clock oscillator bypassed. Alternate clock can drive the SRTC clock source.
  74160. */
  74161. #define SNVS_LPTDCR_OSCB(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDCR_OSCB_SHIFT)) & SNVS_LPTDCR_OSCB_MASK)
  74162. /*! @} */
  74163. /*! @name LPSR - SNVS_LP Status Register */
  74164. /*! @{ */
  74165. #define SNVS_LPSR_LPTA_MASK (0x1U)
  74166. #define SNVS_LPSR_LPTA_SHIFT (0U)
  74167. /*! LPTA
  74168. * 0b0..No time alarm interrupt occurred.
  74169. * 0b1..A time alarm interrupt occurred.
  74170. */
  74171. #define SNVS_LPSR_LPTA(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_LPTA_SHIFT)) & SNVS_LPSR_LPTA_MASK)
  74172. #define SNVS_LPSR_SRTCR_MASK (0x2U)
  74173. #define SNVS_LPSR_SRTCR_SHIFT (1U)
  74174. /*! SRTCR
  74175. * 0b0..SRTC has not reached its maximum value.
  74176. * 0b1..SRTC has reached its maximum value.
  74177. */
  74178. #define SNVS_LPSR_SRTCR(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_SRTCR_SHIFT)) & SNVS_LPSR_SRTCR_MASK)
  74179. #define SNVS_LPSR_MCR_MASK (0x4U)
  74180. #define SNVS_LPSR_MCR_SHIFT (2U)
  74181. /*! MCR
  74182. * 0b0..MC has not reached its maximum value.
  74183. * 0b1..MC has reached its maximum value.
  74184. */
  74185. #define SNVS_LPSR_MCR(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_MCR_SHIFT)) & SNVS_LPSR_MCR_MASK)
  74186. #define SNVS_LPSR_LVD_MASK (0x8U)
  74187. #define SNVS_LPSR_LVD_SHIFT (3U)
  74188. /*! LVD
  74189. * 0b0..No low voltage event detected.
  74190. * 0b1..Low voltage event is detected.
  74191. */
  74192. #define SNVS_LPSR_LVD(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_LVD_SHIFT)) & SNVS_LPSR_LVD_MASK)
  74193. #define SNVS_LPSR_CTD_MASK (0x10U)
  74194. #define SNVS_LPSR_CTD_SHIFT (4U)
  74195. /*! CTD
  74196. * 0b0..No clock tamper.
  74197. * 0b1..Clock tamper is detected.
  74198. */
  74199. #define SNVS_LPSR_CTD(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_CTD_SHIFT)) & SNVS_LPSR_CTD_MASK)
  74200. #define SNVS_LPSR_TTD_MASK (0x20U)
  74201. #define SNVS_LPSR_TTD_SHIFT (5U)
  74202. /*! TTD
  74203. * 0b0..No temperature tamper.
  74204. * 0b1..Temperature tamper is detected.
  74205. */
  74206. #define SNVS_LPSR_TTD(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_TTD_SHIFT)) & SNVS_LPSR_TTD_MASK)
  74207. #define SNVS_LPSR_VTD_MASK (0x40U)
  74208. #define SNVS_LPSR_VTD_SHIFT (6U)
  74209. /*! VTD
  74210. * 0b0..Voltage tampering not detected.
  74211. * 0b1..Voltage tampering detected.
  74212. */
  74213. #define SNVS_LPSR_VTD(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_VTD_SHIFT)) & SNVS_LPSR_VTD_MASK)
  74214. #define SNVS_LPSR_WMT1D_MASK (0x80U)
  74215. #define SNVS_LPSR_WMT1D_SHIFT (7U)
  74216. /*! WMT1D
  74217. * 0b0..Wire-mesh tampering 1 not detected.
  74218. * 0b1..Wire-mesh tampering 1 detected.
  74219. */
  74220. #define SNVS_LPSR_WMT1D(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_WMT1D_SHIFT)) & SNVS_LPSR_WMT1D_MASK)
  74221. #define SNVS_LPSR_WMT2D_MASK (0x100U)
  74222. #define SNVS_LPSR_WMT2D_SHIFT (8U)
  74223. /*! WMT2D
  74224. * 0b0..Wire-mesh tampering 2 not detected.
  74225. * 0b1..Wire-mesh tampering 2 detected.
  74226. */
  74227. #define SNVS_LPSR_WMT2D(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_WMT2D_SHIFT)) & SNVS_LPSR_WMT2D_MASK)
  74228. #define SNVS_LPSR_ET1D_MASK (0x200U)
  74229. #define SNVS_LPSR_ET1D_SHIFT (9U)
  74230. /*! ET1D
  74231. * 0b0..External tampering 1 not detected.
  74232. * 0b1..External tampering 1 detected.
  74233. */
  74234. #define SNVS_LPSR_ET1D(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_ET1D_SHIFT)) & SNVS_LPSR_ET1D_MASK)
  74235. #define SNVS_LPSR_ET2D_MASK (0x400U)
  74236. #define SNVS_LPSR_ET2D_SHIFT (10U)
  74237. /*! ET2D
  74238. * 0b0..External tampering 2 not detected.
  74239. * 0b1..External tampering 2 detected.
  74240. */
  74241. #define SNVS_LPSR_ET2D(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_ET2D_SHIFT)) & SNVS_LPSR_ET2D_MASK)
  74242. #define SNVS_LPSR_ESVD_MASK (0x10000U)
  74243. #define SNVS_LPSR_ESVD_SHIFT (16U)
  74244. /*! ESVD
  74245. * 0b0..No external security violation.
  74246. * 0b1..External security violation is detected.
  74247. */
  74248. #define SNVS_LPSR_ESVD(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_ESVD_SHIFT)) & SNVS_LPSR_ESVD_MASK)
  74249. #define SNVS_LPSR_EO_MASK (0x20000U)
  74250. #define SNVS_LPSR_EO_SHIFT (17U)
  74251. /*! EO
  74252. * 0b0..Emergency off was not detected.
  74253. * 0b1..Emergency off was detected.
  74254. */
  74255. #define SNVS_LPSR_EO(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_EO_SHIFT)) & SNVS_LPSR_EO_MASK)
  74256. #define SNVS_LPSR_SPOF_MASK (0x40000U)
  74257. #define SNVS_LPSR_SPOF_SHIFT (18U)
  74258. /*! SPOF
  74259. * 0b0..Set Power Off was not detected.
  74260. * 0b1..Set Power Off was detected.
  74261. */
  74262. #define SNVS_LPSR_SPOF(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_SPOF_SHIFT)) & SNVS_LPSR_SPOF_MASK)
  74263. #define SNVS_LPSR_LPNS_MASK (0x40000000U)
  74264. #define SNVS_LPSR_LPNS_SHIFT (30U)
  74265. /*! LPNS
  74266. * 0b0..LP section was not programmed in the non-secure state.
  74267. * 0b1..LP section was programmed in the non-secure state.
  74268. */
  74269. #define SNVS_LPSR_LPNS(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_LPNS_SHIFT)) & SNVS_LPSR_LPNS_MASK)
  74270. #define SNVS_LPSR_LPS_MASK (0x80000000U)
  74271. #define SNVS_LPSR_LPS_SHIFT (31U)
  74272. /*! LPS
  74273. * 0b0..LP section was not programmed in secure or trusted state.
  74274. * 0b1..LP section was programmed in secure or trusted state.
  74275. */
  74276. #define SNVS_LPSR_LPS(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_LPS_SHIFT)) & SNVS_LPSR_LPS_MASK)
  74277. /*! @} */
  74278. /*! @name LPSRTCMR - SNVS_LP Secure Real Time Counter MSB Register */
  74279. /*! @{ */
  74280. #define SNVS_LPSRTCMR_SRTC_MASK (0x7FFFU)
  74281. #define SNVS_LPSRTCMR_SRTC_SHIFT (0U)
  74282. #define SNVS_LPSRTCMR_SRTC(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSRTCMR_SRTC_SHIFT)) & SNVS_LPSRTCMR_SRTC_MASK)
  74283. /*! @} */
  74284. /*! @name LPSRTCLR - SNVS_LP Secure Real Time Counter LSB Register */
  74285. /*! @{ */
  74286. #define SNVS_LPSRTCLR_SRTC_MASK (0xFFFFFFFFU)
  74287. #define SNVS_LPSRTCLR_SRTC_SHIFT (0U)
  74288. #define SNVS_LPSRTCLR_SRTC(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSRTCLR_SRTC_SHIFT)) & SNVS_LPSRTCLR_SRTC_MASK)
  74289. /*! @} */
  74290. /*! @name LPTAR - SNVS_LP Time Alarm Register */
  74291. /*! @{ */
  74292. #define SNVS_LPTAR_LPTA_MASK (0xFFFFFFFFU)
  74293. #define SNVS_LPTAR_LPTA_SHIFT (0U)
  74294. #define SNVS_LPTAR_LPTA(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTAR_LPTA_SHIFT)) & SNVS_LPTAR_LPTA_MASK)
  74295. /*! @} */
  74296. /*! @name LPSMCMR - SNVS_LP Secure Monotonic Counter MSB Register */
  74297. /*! @{ */
  74298. #define SNVS_LPSMCMR_MON_COUNTER_MASK (0xFFFFU)
  74299. #define SNVS_LPSMCMR_MON_COUNTER_SHIFT (0U)
  74300. #define SNVS_LPSMCMR_MON_COUNTER(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSMCMR_MON_COUNTER_SHIFT)) & SNVS_LPSMCMR_MON_COUNTER_MASK)
  74301. #define SNVS_LPSMCMR_MC_ERA_BITS_MASK (0xFFFF0000U)
  74302. #define SNVS_LPSMCMR_MC_ERA_BITS_SHIFT (16U)
  74303. #define SNVS_LPSMCMR_MC_ERA_BITS(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSMCMR_MC_ERA_BITS_SHIFT)) & SNVS_LPSMCMR_MC_ERA_BITS_MASK)
  74304. /*! @} */
  74305. /*! @name LPSMCLR - SNVS_LP Secure Monotonic Counter LSB Register */
  74306. /*! @{ */
  74307. #define SNVS_LPSMCLR_MON_COUNTER_MASK (0xFFFFFFFFU)
  74308. #define SNVS_LPSMCLR_MON_COUNTER_SHIFT (0U)
  74309. #define SNVS_LPSMCLR_MON_COUNTER(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSMCLR_MON_COUNTER_SHIFT)) & SNVS_LPSMCLR_MON_COUNTER_MASK)
  74310. /*! @} */
  74311. /*! @name LPLVDR - SNVS_LP Digital Low-Voltage Detector Register */
  74312. /*! @{ */
  74313. #define SNVS_LPLVDR_LVD_MASK (0xFFFFFFFFU)
  74314. #define SNVS_LPLVDR_LVD_SHIFT (0U)
  74315. #define SNVS_LPLVDR_LVD(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLVDR_LVD_SHIFT)) & SNVS_LPLVDR_LVD_MASK)
  74316. /*! @} */
  74317. /*! @name LPGPR0_LEGACY_ALIAS - SNVS_LP General Purpose Register 0 (legacy alias) */
  74318. /*! @{ */
  74319. #define SNVS_LPGPR0_LEGACY_ALIAS_GPR_MASK (0xFFFFFFFFU)
  74320. #define SNVS_LPGPR0_LEGACY_ALIAS_GPR_SHIFT (0U)
  74321. #define SNVS_LPGPR0_LEGACY_ALIAS_GPR(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPGPR0_LEGACY_ALIAS_GPR_SHIFT)) & SNVS_LPGPR0_LEGACY_ALIAS_GPR_MASK)
  74322. /*! @} */
  74323. /*! @name LPZMKR - SNVS_LP Zeroizable Master Key Register */
  74324. /*! @{ */
  74325. #define SNVS_LPZMKR_ZMK_MASK (0xFFFFFFFFU)
  74326. #define SNVS_LPZMKR_ZMK_SHIFT (0U)
  74327. #define SNVS_LPZMKR_ZMK(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPZMKR_ZMK_SHIFT)) & SNVS_LPZMKR_ZMK_MASK)
  74328. /*! @} */
  74329. /* The count of SNVS_LPZMKR */
  74330. #define SNVS_LPZMKR_COUNT (8U)
  74331. /*! @name LPGPR_ALIAS - SNVS_LP General Purpose Registers 0 .. 3 */
  74332. /*! @{ */
  74333. #define SNVS_LPGPR_ALIAS_GPR_MASK (0xFFFFFFFFU)
  74334. #define SNVS_LPGPR_ALIAS_GPR_SHIFT (0U)
  74335. #define SNVS_LPGPR_ALIAS_GPR(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPGPR_ALIAS_GPR_SHIFT)) & SNVS_LPGPR_ALIAS_GPR_MASK)
  74336. /*! @} */
  74337. /* The count of SNVS_LPGPR_ALIAS */
  74338. #define SNVS_LPGPR_ALIAS_COUNT (4U)
  74339. /*! @name LPTDC2R - SNVS_LP Tamper Detectors Config 2 Register */
  74340. /*! @{ */
  74341. #define SNVS_LPTDC2R_ET3_EN_MASK (0x1U)
  74342. #define SNVS_LPTDC2R_ET3_EN_SHIFT (0U)
  74343. /*! ET3_EN
  74344. * 0b0..External tamper 3 is disabled.
  74345. * 0b1..External tamper 3 is enabled.
  74346. */
  74347. #define SNVS_LPTDC2R_ET3_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDC2R_ET3_EN_SHIFT)) & SNVS_LPTDC2R_ET3_EN_MASK)
  74348. #define SNVS_LPTDC2R_ET4_EN_MASK (0x2U)
  74349. #define SNVS_LPTDC2R_ET4_EN_SHIFT (1U)
  74350. /*! ET4_EN
  74351. * 0b0..External tamper 4 is disabled.
  74352. * 0b1..External tamper 4 is enabled.
  74353. */
  74354. #define SNVS_LPTDC2R_ET4_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDC2R_ET4_EN_SHIFT)) & SNVS_LPTDC2R_ET4_EN_MASK)
  74355. #define SNVS_LPTDC2R_ET5_EN_MASK (0x4U)
  74356. #define SNVS_LPTDC2R_ET5_EN_SHIFT (2U)
  74357. /*! ET5_EN
  74358. * 0b0..External tamper 5 is disabled.
  74359. * 0b1..External tamper 5 is enabled.
  74360. */
  74361. #define SNVS_LPTDC2R_ET5_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDC2R_ET5_EN_SHIFT)) & SNVS_LPTDC2R_ET5_EN_MASK)
  74362. #define SNVS_LPTDC2R_ET6_EN_MASK (0x8U)
  74363. #define SNVS_LPTDC2R_ET6_EN_SHIFT (3U)
  74364. /*! ET6_EN
  74365. * 0b0..External tamper 6 is disabled.
  74366. * 0b1..External tamper 6 is enabled.
  74367. */
  74368. #define SNVS_LPTDC2R_ET6_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDC2R_ET6_EN_SHIFT)) & SNVS_LPTDC2R_ET6_EN_MASK)
  74369. #define SNVS_LPTDC2R_ET7_EN_MASK (0x10U)
  74370. #define SNVS_LPTDC2R_ET7_EN_SHIFT (4U)
  74371. /*! ET7_EN
  74372. * 0b0..External tamper 7 is disabled.
  74373. * 0b1..External tamper 7 is enabled.
  74374. */
  74375. #define SNVS_LPTDC2R_ET7_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDC2R_ET7_EN_SHIFT)) & SNVS_LPTDC2R_ET7_EN_MASK)
  74376. #define SNVS_LPTDC2R_ET8_EN_MASK (0x20U)
  74377. #define SNVS_LPTDC2R_ET8_EN_SHIFT (5U)
  74378. /*! ET8_EN
  74379. * 0b0..External tamper 8 is disabled.
  74380. * 0b1..External tamper 8 is enabled.
  74381. */
  74382. #define SNVS_LPTDC2R_ET8_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDC2R_ET8_EN_SHIFT)) & SNVS_LPTDC2R_ET8_EN_MASK)
  74383. #define SNVS_LPTDC2R_ET9_EN_MASK (0x40U)
  74384. #define SNVS_LPTDC2R_ET9_EN_SHIFT (6U)
  74385. /*! ET9_EN
  74386. * 0b0..External tamper 9 is disabled.
  74387. * 0b1..External tamper 9 is enabled.
  74388. */
  74389. #define SNVS_LPTDC2R_ET9_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDC2R_ET9_EN_SHIFT)) & SNVS_LPTDC2R_ET9_EN_MASK)
  74390. #define SNVS_LPTDC2R_ET10_EN_MASK (0x80U)
  74391. #define SNVS_LPTDC2R_ET10_EN_SHIFT (7U)
  74392. /*! ET10_EN
  74393. * 0b0..External tamper 10 is disabled.
  74394. * 0b1..External tamper 10 is enabled.
  74395. */
  74396. #define SNVS_LPTDC2R_ET10_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDC2R_ET10_EN_SHIFT)) & SNVS_LPTDC2R_ET10_EN_MASK)
  74397. #define SNVS_LPTDC2R_ET3P_MASK (0x10000U)
  74398. #define SNVS_LPTDC2R_ET3P_SHIFT (16U)
  74399. /*! ET3P
  74400. * 0b0..External tamper 3 active low.
  74401. * 0b1..External tamper 3 active high.
  74402. */
  74403. #define SNVS_LPTDC2R_ET3P(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDC2R_ET3P_SHIFT)) & SNVS_LPTDC2R_ET3P_MASK)
  74404. #define SNVS_LPTDC2R_ET4P_MASK (0x20000U)
  74405. #define SNVS_LPTDC2R_ET4P_SHIFT (17U)
  74406. /*! ET4P
  74407. * 0b0..External tamper 4 is active low.
  74408. * 0b1..External tamper 4 is active high.
  74409. */
  74410. #define SNVS_LPTDC2R_ET4P(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDC2R_ET4P_SHIFT)) & SNVS_LPTDC2R_ET4P_MASK)
  74411. #define SNVS_LPTDC2R_ET5P_MASK (0x40000U)
  74412. #define SNVS_LPTDC2R_ET5P_SHIFT (18U)
  74413. /*! ET5P
  74414. * 0b0..External tamper 5 is active low.
  74415. * 0b1..External tamper 5 is active high.
  74416. */
  74417. #define SNVS_LPTDC2R_ET5P(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDC2R_ET5P_SHIFT)) & SNVS_LPTDC2R_ET5P_MASK)
  74418. #define SNVS_LPTDC2R_ET6P_MASK (0x80000U)
  74419. #define SNVS_LPTDC2R_ET6P_SHIFT (19U)
  74420. /*! ET6P
  74421. * 0b0..External tamper 6 is active low.
  74422. * 0b1..External tamper 6 is active high.
  74423. */
  74424. #define SNVS_LPTDC2R_ET6P(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDC2R_ET6P_SHIFT)) & SNVS_LPTDC2R_ET6P_MASK)
  74425. #define SNVS_LPTDC2R_ET7P_MASK (0x100000U)
  74426. #define SNVS_LPTDC2R_ET7P_SHIFT (20U)
  74427. /*! ET7P
  74428. * 0b0..External tamper 7 is active low.
  74429. * 0b1..External tamper 7 is active high.
  74430. */
  74431. #define SNVS_LPTDC2R_ET7P(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDC2R_ET7P_SHIFT)) & SNVS_LPTDC2R_ET7P_MASK)
  74432. #define SNVS_LPTDC2R_ET8P_MASK (0x200000U)
  74433. #define SNVS_LPTDC2R_ET8P_SHIFT (21U)
  74434. /*! ET8P
  74435. * 0b0..External tamper 8 is active low.
  74436. * 0b1..External tamper 8 is active high.
  74437. */
  74438. #define SNVS_LPTDC2R_ET8P(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDC2R_ET8P_SHIFT)) & SNVS_LPTDC2R_ET8P_MASK)
  74439. #define SNVS_LPTDC2R_ET9P_MASK (0x400000U)
  74440. #define SNVS_LPTDC2R_ET9P_SHIFT (22U)
  74441. /*! ET9P
  74442. * 0b0..External tamper 9 is active low.
  74443. * 0b1..External tamper 9 is active high.
  74444. */
  74445. #define SNVS_LPTDC2R_ET9P(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDC2R_ET9P_SHIFT)) & SNVS_LPTDC2R_ET9P_MASK)
  74446. #define SNVS_LPTDC2R_ET10P_MASK (0x800000U)
  74447. #define SNVS_LPTDC2R_ET10P_SHIFT (23U)
  74448. /*! ET10P
  74449. * 0b0..External tamper 10 is active low.
  74450. * 0b1..External tamper 10 is active high.
  74451. */
  74452. #define SNVS_LPTDC2R_ET10P(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDC2R_ET10P_SHIFT)) & SNVS_LPTDC2R_ET10P_MASK)
  74453. /*! @} */
  74454. /*! @name LPTDSR - SNVS_LP Tamper Detectors Status Register */
  74455. /*! @{ */
  74456. #define SNVS_LPTDSR_ET3D_MASK (0x1U)
  74457. #define SNVS_LPTDSR_ET3D_SHIFT (0U)
  74458. /*! ET3D
  74459. * 0b0..External tamper 3 is not detected.
  74460. * 0b1..External tamper 3 is detected.
  74461. */
  74462. #define SNVS_LPTDSR_ET3D(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDSR_ET3D_SHIFT)) & SNVS_LPTDSR_ET3D_MASK)
  74463. #define SNVS_LPTDSR_ET4D_MASK (0x2U)
  74464. #define SNVS_LPTDSR_ET4D_SHIFT (1U)
  74465. /*! ET4D
  74466. * 0b0..External tamper 4 is not detected.
  74467. * 0b1..External tamper 4 is detected.
  74468. */
  74469. #define SNVS_LPTDSR_ET4D(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDSR_ET4D_SHIFT)) & SNVS_LPTDSR_ET4D_MASK)
  74470. #define SNVS_LPTDSR_ET5D_MASK (0x4U)
  74471. #define SNVS_LPTDSR_ET5D_SHIFT (2U)
  74472. /*! ET5D
  74473. * 0b0..External tamper 5 is not detected.
  74474. * 0b1..External tamper 5 is detected.
  74475. */
  74476. #define SNVS_LPTDSR_ET5D(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDSR_ET5D_SHIFT)) & SNVS_LPTDSR_ET5D_MASK)
  74477. #define SNVS_LPTDSR_ET6D_MASK (0x8U)
  74478. #define SNVS_LPTDSR_ET6D_SHIFT (3U)
  74479. /*! ET6D
  74480. * 0b0..External tamper 6 is not detected.
  74481. * 0b1..External tamper 6 is detected.
  74482. */
  74483. #define SNVS_LPTDSR_ET6D(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDSR_ET6D_SHIFT)) & SNVS_LPTDSR_ET6D_MASK)
  74484. #define SNVS_LPTDSR_ET7D_MASK (0x10U)
  74485. #define SNVS_LPTDSR_ET7D_SHIFT (4U)
  74486. /*! ET7D
  74487. * 0b0..External tamper 7 is not detected.
  74488. * 0b1..External tamper 7 is detected.
  74489. */
  74490. #define SNVS_LPTDSR_ET7D(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDSR_ET7D_SHIFT)) & SNVS_LPTDSR_ET7D_MASK)
  74491. #define SNVS_LPTDSR_ET8D_MASK (0x20U)
  74492. #define SNVS_LPTDSR_ET8D_SHIFT (5U)
  74493. /*! ET8D
  74494. * 0b0..External tamper 8 is not detected.
  74495. * 0b1..External tamper 8 is detected.
  74496. */
  74497. #define SNVS_LPTDSR_ET8D(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDSR_ET8D_SHIFT)) & SNVS_LPTDSR_ET8D_MASK)
  74498. #define SNVS_LPTDSR_ET9D_MASK (0x40U)
  74499. #define SNVS_LPTDSR_ET9D_SHIFT (6U)
  74500. /*! ET9D
  74501. * 0b0..External tamper 9 is not detected.
  74502. * 0b1..External tamper 9 is detected.
  74503. */
  74504. #define SNVS_LPTDSR_ET9D(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDSR_ET9D_SHIFT)) & SNVS_LPTDSR_ET9D_MASK)
  74505. #define SNVS_LPTDSR_ET10D_MASK (0x80U)
  74506. #define SNVS_LPTDSR_ET10D_SHIFT (7U)
  74507. /*! ET10D
  74508. * 0b0..External tamper 10 is not detected.
  74509. * 0b1..External tamper 10 is detected.
  74510. */
  74511. #define SNVS_LPTDSR_ET10D(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDSR_ET10D_SHIFT)) & SNVS_LPTDSR_ET10D_MASK)
  74512. /*! @} */
  74513. /*! @name LPTGF1CR - SNVS_LP Tamper Glitch Filter 1 Configuration Register */
  74514. /*! @{ */
  74515. #define SNVS_LPTGF1CR_ETGF3_MASK (0x7FU)
  74516. #define SNVS_LPTGF1CR_ETGF3_SHIFT (0U)
  74517. #define SNVS_LPTGF1CR_ETGF3(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTGF1CR_ETGF3_SHIFT)) & SNVS_LPTGF1CR_ETGF3_MASK)
  74518. #define SNVS_LPTGF1CR_ETGF3_EN_MASK (0x80U)
  74519. #define SNVS_LPTGF1CR_ETGF3_EN_SHIFT (7U)
  74520. /*! ETGF3_EN
  74521. * 0b0..External tamper glitch filter 3 is bypassed.
  74522. * 0b1..External tamper glitch filter 3 is enabled.
  74523. */
  74524. #define SNVS_LPTGF1CR_ETGF3_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTGF1CR_ETGF3_EN_SHIFT)) & SNVS_LPTGF1CR_ETGF3_EN_MASK)
  74525. #define SNVS_LPTGF1CR_ETGF4_MASK (0x7F00U)
  74526. #define SNVS_LPTGF1CR_ETGF4_SHIFT (8U)
  74527. #define SNVS_LPTGF1CR_ETGF4(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTGF1CR_ETGF4_SHIFT)) & SNVS_LPTGF1CR_ETGF4_MASK)
  74528. #define SNVS_LPTGF1CR_ETGF4_EN_MASK (0x8000U)
  74529. #define SNVS_LPTGF1CR_ETGF4_EN_SHIFT (15U)
  74530. /*! ETGF4_EN
  74531. * 0b0..External tamper glitch filter 4 is bypassed.
  74532. * 0b1..External tamper glitch filter 4 is enabled.
  74533. */
  74534. #define SNVS_LPTGF1CR_ETGF4_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTGF1CR_ETGF4_EN_SHIFT)) & SNVS_LPTGF1CR_ETGF4_EN_MASK)
  74535. #define SNVS_LPTGF1CR_ETGF5_MASK (0x7F0000U)
  74536. #define SNVS_LPTGF1CR_ETGF5_SHIFT (16U)
  74537. #define SNVS_LPTGF1CR_ETGF5(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTGF1CR_ETGF5_SHIFT)) & SNVS_LPTGF1CR_ETGF5_MASK)
  74538. #define SNVS_LPTGF1CR_ETGF5_EN_MASK (0x800000U)
  74539. #define SNVS_LPTGF1CR_ETGF5_EN_SHIFT (23U)
  74540. /*! ETGF5_EN
  74541. * 0b0..External tamper glitch filter 5 is bypassed.
  74542. * 0b1..External tamper glitch filter 5 is enabled.
  74543. */
  74544. #define SNVS_LPTGF1CR_ETGF5_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTGF1CR_ETGF5_EN_SHIFT)) & SNVS_LPTGF1CR_ETGF5_EN_MASK)
  74545. #define SNVS_LPTGF1CR_ETGF6_MASK (0x7F000000U)
  74546. #define SNVS_LPTGF1CR_ETGF6_SHIFT (24U)
  74547. #define SNVS_LPTGF1CR_ETGF6(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTGF1CR_ETGF6_SHIFT)) & SNVS_LPTGF1CR_ETGF6_MASK)
  74548. #define SNVS_LPTGF1CR_ETGF6_EN_MASK (0x80000000U)
  74549. #define SNVS_LPTGF1CR_ETGF6_EN_SHIFT (31U)
  74550. /*! ETGF6_EN
  74551. * 0b0..External tamper glitch filter 6 is bypassed.
  74552. * 0b1..External tamper glitch filter 6 is enabled.
  74553. */
  74554. #define SNVS_LPTGF1CR_ETGF6_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTGF1CR_ETGF6_EN_SHIFT)) & SNVS_LPTGF1CR_ETGF6_EN_MASK)
  74555. /*! @} */
  74556. /*! @name LPTGF2CR - SNVS_LP Tamper Glitch Filter 2 Configuration Register */
  74557. /*! @{ */
  74558. #define SNVS_LPTGF2CR_ETGF7_MASK (0x7FU)
  74559. #define SNVS_LPTGF2CR_ETGF7_SHIFT (0U)
  74560. #define SNVS_LPTGF2CR_ETGF7(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTGF2CR_ETGF7_SHIFT)) & SNVS_LPTGF2CR_ETGF7_MASK)
  74561. #define SNVS_LPTGF2CR_ETGF7_EN_MASK (0x80U)
  74562. #define SNVS_LPTGF2CR_ETGF7_EN_SHIFT (7U)
  74563. /*! ETGF7_EN
  74564. * 0b0..External tamper glitch filter 7 is bypassed.
  74565. * 0b1..External tamper glitch filter 7 is enabled.
  74566. */
  74567. #define SNVS_LPTGF2CR_ETGF7_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTGF2CR_ETGF7_EN_SHIFT)) & SNVS_LPTGF2CR_ETGF7_EN_MASK)
  74568. #define SNVS_LPTGF2CR_ETGF8_MASK (0x7F00U)
  74569. #define SNVS_LPTGF2CR_ETGF8_SHIFT (8U)
  74570. #define SNVS_LPTGF2CR_ETGF8(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTGF2CR_ETGF8_SHIFT)) & SNVS_LPTGF2CR_ETGF8_MASK)
  74571. #define SNVS_LPTGF2CR_ETGF8_EN_MASK (0x8000U)
  74572. #define SNVS_LPTGF2CR_ETGF8_EN_SHIFT (15U)
  74573. /*! ETGF8_EN
  74574. * 0b0..External tamper glitch filter 8 is bypassed.
  74575. * 0b1..External tamper glitch filter 8 is enabled.
  74576. */
  74577. #define SNVS_LPTGF2CR_ETGF8_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTGF2CR_ETGF8_EN_SHIFT)) & SNVS_LPTGF2CR_ETGF8_EN_MASK)
  74578. #define SNVS_LPTGF2CR_ETGF9_MASK (0x7F0000U)
  74579. #define SNVS_LPTGF2CR_ETGF9_SHIFT (16U)
  74580. #define SNVS_LPTGF2CR_ETGF9(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTGF2CR_ETGF9_SHIFT)) & SNVS_LPTGF2CR_ETGF9_MASK)
  74581. #define SNVS_LPTGF2CR_ETGF9_EN_MASK (0x800000U)
  74582. #define SNVS_LPTGF2CR_ETGF9_EN_SHIFT (23U)
  74583. /*! ETGF9_EN
  74584. * 0b0..External tamper glitch filter 9 is bypassed.
  74585. * 0b1..External tamper glitch filter 9 is enabled.
  74586. */
  74587. #define SNVS_LPTGF2CR_ETGF9_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTGF2CR_ETGF9_EN_SHIFT)) & SNVS_LPTGF2CR_ETGF9_EN_MASK)
  74588. #define SNVS_LPTGF2CR_ETGF10_MASK (0x7F000000U)
  74589. #define SNVS_LPTGF2CR_ETGF10_SHIFT (24U)
  74590. #define SNVS_LPTGF2CR_ETGF10(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTGF2CR_ETGF10_SHIFT)) & SNVS_LPTGF2CR_ETGF10_MASK)
  74591. #define SNVS_LPTGF2CR_ETGF10_EN_MASK (0x80000000U)
  74592. #define SNVS_LPTGF2CR_ETGF10_EN_SHIFT (31U)
  74593. /*! ETGF10_EN
  74594. * 0b0..External tamper glitch filter 10 is bypassed.
  74595. * 0b1..External tamper glitch filter 10 is enabled.
  74596. */
  74597. #define SNVS_LPTGF2CR_ETGF10_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTGF2CR_ETGF10_EN_SHIFT)) & SNVS_LPTGF2CR_ETGF10_EN_MASK)
  74598. /*! @} */
  74599. /*! @name LPATCR - SNVS_LP Active Tamper 1 Configuration Register..SNVS_LP Active Tamper 5 Configuration Register */
  74600. /*! @{ */
  74601. #define SNVS_LPATCR_Seed_MASK (0xFFFFU)
  74602. #define SNVS_LPATCR_Seed_SHIFT (0U)
  74603. #define SNVS_LPATCR_Seed(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATCR_Seed_SHIFT)) & SNVS_LPATCR_Seed_MASK)
  74604. #define SNVS_LPATCR_Polynomial_MASK (0xFFFF0000U)
  74605. #define SNVS_LPATCR_Polynomial_SHIFT (16U)
  74606. #define SNVS_LPATCR_Polynomial(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATCR_Polynomial_SHIFT)) & SNVS_LPATCR_Polynomial_MASK)
  74607. /*! @} */
  74608. /* The count of SNVS_LPATCR */
  74609. #define SNVS_LPATCR_COUNT (5U)
  74610. /*! @name LPATCTLR - SNVS_LP Active Tamper Control Register */
  74611. /*! @{ */
  74612. #define SNVS_LPATCTLR_AT1_EN_MASK (0x1U)
  74613. #define SNVS_LPATCTLR_AT1_EN_SHIFT (0U)
  74614. /*! AT1_EN
  74615. * 0b0..Active Tamper 1 is disabled.
  74616. * 0b1..Active Tamper 1 is enabled.
  74617. */
  74618. #define SNVS_LPATCTLR_AT1_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATCTLR_AT1_EN_SHIFT)) & SNVS_LPATCTLR_AT1_EN_MASK)
  74619. #define SNVS_LPATCTLR_AT2_EN_MASK (0x2U)
  74620. #define SNVS_LPATCTLR_AT2_EN_SHIFT (1U)
  74621. /*! AT2_EN
  74622. * 0b0..Active Tamper 2 is disabled.
  74623. * 0b1..Active Tamper 2 is enabled.
  74624. */
  74625. #define SNVS_LPATCTLR_AT2_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATCTLR_AT2_EN_SHIFT)) & SNVS_LPATCTLR_AT2_EN_MASK)
  74626. #define SNVS_LPATCTLR_AT3_EN_MASK (0x4U)
  74627. #define SNVS_LPATCTLR_AT3_EN_SHIFT (2U)
  74628. /*! AT3_EN
  74629. * 0b0..Active Tamper 3 is disabled.
  74630. * 0b1..Active Tamper 3 is enabled.
  74631. */
  74632. #define SNVS_LPATCTLR_AT3_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATCTLR_AT3_EN_SHIFT)) & SNVS_LPATCTLR_AT3_EN_MASK)
  74633. #define SNVS_LPATCTLR_AT4_EN_MASK (0x8U)
  74634. #define SNVS_LPATCTLR_AT4_EN_SHIFT (3U)
  74635. /*! AT4_EN
  74636. * 0b0..Active Tamper 4 is disabled.
  74637. * 0b1..Active Tamper 4 is enabled.
  74638. */
  74639. #define SNVS_LPATCTLR_AT4_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATCTLR_AT4_EN_SHIFT)) & SNVS_LPATCTLR_AT4_EN_MASK)
  74640. #define SNVS_LPATCTLR_AT5_EN_MASK (0x10U)
  74641. #define SNVS_LPATCTLR_AT5_EN_SHIFT (4U)
  74642. /*! AT5_EN
  74643. * 0b0..Active Tamper 5 is disabled.
  74644. * 0b1..Active Tamper 5 is enabled.
  74645. */
  74646. #define SNVS_LPATCTLR_AT5_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATCTLR_AT5_EN_SHIFT)) & SNVS_LPATCTLR_AT5_EN_MASK)
  74647. #define SNVS_LPATCTLR_AT1_PAD_EN_MASK (0x10000U)
  74648. #define SNVS_LPATCTLR_AT1_PAD_EN_SHIFT (16U)
  74649. /*! AT1_PAD_EN
  74650. * 0b0..Active Tamper 1 is disabled.
  74651. * 0b1..Active Tamper 1 is enabled.
  74652. */
  74653. #define SNVS_LPATCTLR_AT1_PAD_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATCTLR_AT1_PAD_EN_SHIFT)) & SNVS_LPATCTLR_AT1_PAD_EN_MASK)
  74654. #define SNVS_LPATCTLR_AT2_PAD_EN_MASK (0x20000U)
  74655. #define SNVS_LPATCTLR_AT2_PAD_EN_SHIFT (17U)
  74656. /*! AT2_PAD_EN
  74657. * 0b0..Active Tamper 2 is disabled.
  74658. * 0b1..Active Tamper 2 is enabled.
  74659. */
  74660. #define SNVS_LPATCTLR_AT2_PAD_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATCTLR_AT2_PAD_EN_SHIFT)) & SNVS_LPATCTLR_AT2_PAD_EN_MASK)
  74661. #define SNVS_LPATCTLR_AT3_PAD_EN_MASK (0x40000U)
  74662. #define SNVS_LPATCTLR_AT3_PAD_EN_SHIFT (18U)
  74663. /*! AT3_PAD_EN
  74664. * 0b0..Active Tamper 3 is disabled.
  74665. * 0b1..Active Tamper 3 is enabled
  74666. */
  74667. #define SNVS_LPATCTLR_AT3_PAD_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATCTLR_AT3_PAD_EN_SHIFT)) & SNVS_LPATCTLR_AT3_PAD_EN_MASK)
  74668. #define SNVS_LPATCTLR_AT4_PAD_EN_MASK (0x80000U)
  74669. #define SNVS_LPATCTLR_AT4_PAD_EN_SHIFT (19U)
  74670. /*! AT4_PAD_EN
  74671. * 0b0..Active Tamper 4 is disabled.
  74672. * 0b1..Active Tamper 4 is enabled.
  74673. */
  74674. #define SNVS_LPATCTLR_AT4_PAD_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATCTLR_AT4_PAD_EN_SHIFT)) & SNVS_LPATCTLR_AT4_PAD_EN_MASK)
  74675. #define SNVS_LPATCTLR_AT5_PAD_EN_MASK (0x100000U)
  74676. #define SNVS_LPATCTLR_AT5_PAD_EN_SHIFT (20U)
  74677. /*! AT5_PAD_EN
  74678. * 0b0..Active Tamper 5 is disabled.
  74679. * 0b1..Active Tamper 5 is enabled.
  74680. */
  74681. #define SNVS_LPATCTLR_AT5_PAD_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATCTLR_AT5_PAD_EN_SHIFT)) & SNVS_LPATCTLR_AT5_PAD_EN_MASK)
  74682. /*! @} */
  74683. /*! @name LPATCLKR - SNVS_LP Active Tamper Clock Control Register */
  74684. /*! @{ */
  74685. #define SNVS_LPATCLKR_AT1_CLK_CTL_MASK (0x3U)
  74686. #define SNVS_LPATCLKR_AT1_CLK_CTL_SHIFT (0U)
  74687. #define SNVS_LPATCLKR_AT1_CLK_CTL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATCLKR_AT1_CLK_CTL_SHIFT)) & SNVS_LPATCLKR_AT1_CLK_CTL_MASK)
  74688. #define SNVS_LPATCLKR_AT2_CLK_CTL_MASK (0x30U)
  74689. #define SNVS_LPATCLKR_AT2_CLK_CTL_SHIFT (4U)
  74690. #define SNVS_LPATCLKR_AT2_CLK_CTL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATCLKR_AT2_CLK_CTL_SHIFT)) & SNVS_LPATCLKR_AT2_CLK_CTL_MASK)
  74691. #define SNVS_LPATCLKR_AT3_CLK_CTL_MASK (0x300U)
  74692. #define SNVS_LPATCLKR_AT3_CLK_CTL_SHIFT (8U)
  74693. #define SNVS_LPATCLKR_AT3_CLK_CTL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATCLKR_AT3_CLK_CTL_SHIFT)) & SNVS_LPATCLKR_AT3_CLK_CTL_MASK)
  74694. #define SNVS_LPATCLKR_AT4_CLK_CTL_MASK (0x3000U)
  74695. #define SNVS_LPATCLKR_AT4_CLK_CTL_SHIFT (12U)
  74696. #define SNVS_LPATCLKR_AT4_CLK_CTL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATCLKR_AT4_CLK_CTL_SHIFT)) & SNVS_LPATCLKR_AT4_CLK_CTL_MASK)
  74697. #define SNVS_LPATCLKR_AT5_CLK_CTL_MASK (0x30000U)
  74698. #define SNVS_LPATCLKR_AT5_CLK_CTL_SHIFT (16U)
  74699. #define SNVS_LPATCLKR_AT5_CLK_CTL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATCLKR_AT5_CLK_CTL_SHIFT)) & SNVS_LPATCLKR_AT5_CLK_CTL_MASK)
  74700. /*! @} */
  74701. /*! @name LPATRC1R - SNVS_LP Active Tamper Routing Control 1 Register */
  74702. /*! @{ */
  74703. #define SNVS_LPATRC1R_ET1RCTL_MASK (0x7U)
  74704. #define SNVS_LPATRC1R_ET1RCTL_SHIFT (0U)
  74705. #define SNVS_LPATRC1R_ET1RCTL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATRC1R_ET1RCTL_SHIFT)) & SNVS_LPATRC1R_ET1RCTL_MASK)
  74706. #define SNVS_LPATRC1R_ET2RCTL_MASK (0x70U)
  74707. #define SNVS_LPATRC1R_ET2RCTL_SHIFT (4U)
  74708. #define SNVS_LPATRC1R_ET2RCTL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATRC1R_ET2RCTL_SHIFT)) & SNVS_LPATRC1R_ET2RCTL_MASK)
  74709. #define SNVS_LPATRC1R_ET3RCTL_MASK (0x700U)
  74710. #define SNVS_LPATRC1R_ET3RCTL_SHIFT (8U)
  74711. #define SNVS_LPATRC1R_ET3RCTL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATRC1R_ET3RCTL_SHIFT)) & SNVS_LPATRC1R_ET3RCTL_MASK)
  74712. #define SNVS_LPATRC1R_ET4RCTL_MASK (0x7000U)
  74713. #define SNVS_LPATRC1R_ET4RCTL_SHIFT (12U)
  74714. #define SNVS_LPATRC1R_ET4RCTL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATRC1R_ET4RCTL_SHIFT)) & SNVS_LPATRC1R_ET4RCTL_MASK)
  74715. #define SNVS_LPATRC1R_ET5RCTL_MASK (0x70000U)
  74716. #define SNVS_LPATRC1R_ET5RCTL_SHIFT (16U)
  74717. #define SNVS_LPATRC1R_ET5RCTL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATRC1R_ET5RCTL_SHIFT)) & SNVS_LPATRC1R_ET5RCTL_MASK)
  74718. #define SNVS_LPATRC1R_ET6RCTL_MASK (0x700000U)
  74719. #define SNVS_LPATRC1R_ET6RCTL_SHIFT (20U)
  74720. #define SNVS_LPATRC1R_ET6RCTL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATRC1R_ET6RCTL_SHIFT)) & SNVS_LPATRC1R_ET6RCTL_MASK)
  74721. #define SNVS_LPATRC1R_ET7RCTL_MASK (0x7000000U)
  74722. #define SNVS_LPATRC1R_ET7RCTL_SHIFT (24U)
  74723. #define SNVS_LPATRC1R_ET7RCTL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATRC1R_ET7RCTL_SHIFT)) & SNVS_LPATRC1R_ET7RCTL_MASK)
  74724. #define SNVS_LPATRC1R_ET8RCTL_MASK (0x70000000U)
  74725. #define SNVS_LPATRC1R_ET8RCTL_SHIFT (28U)
  74726. #define SNVS_LPATRC1R_ET8RCTL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATRC1R_ET8RCTL_SHIFT)) & SNVS_LPATRC1R_ET8RCTL_MASK)
  74727. /*! @} */
  74728. /*! @name LPATRC2R - SNVS_LP Active Tamper Routing Control 2 Register */
  74729. /*! @{ */
  74730. #define SNVS_LPATRC2R_ET9RCTL_MASK (0x7U)
  74731. #define SNVS_LPATRC2R_ET9RCTL_SHIFT (0U)
  74732. #define SNVS_LPATRC2R_ET9RCTL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATRC2R_ET9RCTL_SHIFT)) & SNVS_LPATRC2R_ET9RCTL_MASK)
  74733. #define SNVS_LPATRC2R_ET10RCTL_MASK (0x70U)
  74734. #define SNVS_LPATRC2R_ET10RCTL_SHIFT (4U)
  74735. #define SNVS_LPATRC2R_ET10RCTL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATRC2R_ET10RCTL_SHIFT)) & SNVS_LPATRC2R_ET10RCTL_MASK)
  74736. /*! @} */
  74737. /*! @name LPGPR - SNVS_LP General Purpose Registers 0 .. 3 */
  74738. /*! @{ */
  74739. #define SNVS_LPGPR_GPR_MASK (0xFFFFFFFFU)
  74740. #define SNVS_LPGPR_GPR_SHIFT (0U)
  74741. #define SNVS_LPGPR_GPR(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPGPR_GPR_SHIFT)) & SNVS_LPGPR_GPR_MASK)
  74742. /*! @} */
  74743. /* The count of SNVS_LPGPR */
  74744. #define SNVS_LPGPR_COUNT (4U)
  74745. /*! @name HPVIDR1 - SNVS_HP Version ID Register 1 */
  74746. /*! @{ */
  74747. #define SNVS_HPVIDR1_MINOR_REV_MASK (0xFFU)
  74748. #define SNVS_HPVIDR1_MINOR_REV_SHIFT (0U)
  74749. #define SNVS_HPVIDR1_MINOR_REV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPVIDR1_MINOR_REV_SHIFT)) & SNVS_HPVIDR1_MINOR_REV_MASK)
  74750. #define SNVS_HPVIDR1_MAJOR_REV_MASK (0xFF00U)
  74751. #define SNVS_HPVIDR1_MAJOR_REV_SHIFT (8U)
  74752. #define SNVS_HPVIDR1_MAJOR_REV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPVIDR1_MAJOR_REV_SHIFT)) & SNVS_HPVIDR1_MAJOR_REV_MASK)
  74753. #define SNVS_HPVIDR1_IP_ID_MASK (0xFFFF0000U)
  74754. #define SNVS_HPVIDR1_IP_ID_SHIFT (16U)
  74755. #define SNVS_HPVIDR1_IP_ID(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPVIDR1_IP_ID_SHIFT)) & SNVS_HPVIDR1_IP_ID_MASK)
  74756. /*! @} */
  74757. /*! @name HPVIDR2 - SNVS_HP Version ID Register 2 */
  74758. /*! @{ */
  74759. #define SNVS_HPVIDR2_ECO_REV_MASK (0xFF00U)
  74760. #define SNVS_HPVIDR2_ECO_REV_SHIFT (8U)
  74761. #define SNVS_HPVIDR2_ECO_REV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPVIDR2_ECO_REV_SHIFT)) & SNVS_HPVIDR2_ECO_REV_MASK)
  74762. #define SNVS_HPVIDR2_IP_ERA_MASK (0xFF000000U)
  74763. #define SNVS_HPVIDR2_IP_ERA_SHIFT (24U)
  74764. #define SNVS_HPVIDR2_IP_ERA(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPVIDR2_IP_ERA_SHIFT)) & SNVS_HPVIDR2_IP_ERA_MASK)
  74765. /*! @} */
  74766. /*!
  74767. * @}
  74768. */ /* end of group SNVS_Register_Masks */
  74769. /* SNVS - Peripheral instance base addresses */
  74770. /** Peripheral SNVS base address */
  74771. #define SNVS_BASE (0x40C90000u)
  74772. /** Peripheral SNVS base pointer */
  74773. #define SNVS ((SNVS_Type *)SNVS_BASE)
  74774. /** Array initializer of SNVS peripheral base addresses */
  74775. #define SNVS_BASE_ADDRS { SNVS_BASE }
  74776. /** Array initializer of SNVS peripheral base pointers */
  74777. #define SNVS_BASE_PTRS { SNVS }
  74778. /** Interrupt vectors for the SNVS peripheral type */
  74779. #define SNVS_IRQS { SNVS_PULSE_EVENT_IRQn }
  74780. #define SNVS_CONSOLIDATED_IRQS { SNVS_HP_NON_TZ_IRQn }
  74781. #define SNVS_SECURITY_IRQS { SNVS_HP_TZ_IRQn }
  74782. /*!
  74783. * @}
  74784. */ /* end of group SNVS_Peripheral_Access_Layer */
  74785. /* ----------------------------------------------------------------------------
  74786. -- SPDIF Peripheral Access Layer
  74787. ---------------------------------------------------------------------------- */
  74788. /*!
  74789. * @addtogroup SPDIF_Peripheral_Access_Layer SPDIF Peripheral Access Layer
  74790. * @{
  74791. */
  74792. /** SPDIF - Register Layout Typedef */
  74793. typedef struct {
  74794. __IO uint32_t SCR; /**< SPDIF Configuration Register, offset: 0x0 */
  74795. __IO uint32_t SRCD; /**< CDText Control Register, offset: 0x4 */
  74796. __IO uint32_t SRPC; /**< PhaseConfig Register, offset: 0x8 */
  74797. __IO uint32_t SIE; /**< InterruptEn Register, offset: 0xC */
  74798. union { /* offset: 0x10 */
  74799. __O uint32_t SIC; /**< InterruptClear Register, offset: 0x10 */
  74800. __I uint32_t SIS; /**< InterruptStat Register, offset: 0x10 */
  74801. };
  74802. __I uint32_t SRL; /**< SPDIFRxLeft Register, offset: 0x14 */
  74803. __I uint32_t SRR; /**< SPDIFRxRight Register, offset: 0x18 */
  74804. __I uint32_t SRCSH; /**< SPDIFRxCChannel_h Register, offset: 0x1C */
  74805. __I uint32_t SRCSL; /**< SPDIFRxCChannel_l Register, offset: 0x20 */
  74806. __I uint32_t SRU; /**< UchannelRx Register, offset: 0x24 */
  74807. __I uint32_t SRQ; /**< QchannelRx Register, offset: 0x28 */
  74808. __O uint32_t STL; /**< SPDIFTxLeft Register, offset: 0x2C */
  74809. __O uint32_t STR; /**< SPDIFTxRight Register, offset: 0x30 */
  74810. __IO uint32_t STCSCH; /**< SPDIFTxCChannelCons_h Register, offset: 0x34 */
  74811. __IO uint32_t STCSCL; /**< SPDIFTxCChannelCons_l Register, offset: 0x38 */
  74812. uint8_t RESERVED_0[8];
  74813. __I uint32_t SRFM; /**< FreqMeas Register, offset: 0x44 */
  74814. uint8_t RESERVED_1[8];
  74815. __IO uint32_t STC; /**< SPDIFTxClk Register, offset: 0x50 */
  74816. } SPDIF_Type;
  74817. /* ----------------------------------------------------------------------------
  74818. -- SPDIF Register Masks
  74819. ---------------------------------------------------------------------------- */
  74820. /*!
  74821. * @addtogroup SPDIF_Register_Masks SPDIF Register Masks
  74822. * @{
  74823. */
  74824. /*! @name SCR - SPDIF Configuration Register */
  74825. /*! @{ */
  74826. #define SPDIF_SCR_USRC_SEL_MASK (0x3U)
  74827. #define SPDIF_SCR_USRC_SEL_SHIFT (0U)
  74828. /*! USrc_Sel - USrc_Sel
  74829. * 0b00..No embedded U channel
  74830. * 0b01..U channel from SPDIF receive block (CD mode)
  74831. * 0b10..Reserved
  74832. * 0b11..U channel from on chip transmitter
  74833. */
  74834. #define SPDIF_SCR_USRC_SEL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_USRC_SEL_SHIFT)) & SPDIF_SCR_USRC_SEL_MASK)
  74835. #define SPDIF_SCR_TXSEL_MASK (0x1CU)
  74836. #define SPDIF_SCR_TXSEL_SHIFT (2U)
  74837. /*! TxSel - TxSel
  74838. * 0b000..Off and output 0
  74839. * 0b001..Feed-through SPDIFIN
  74840. * 0b101..Tx Normal operation
  74841. */
  74842. #define SPDIF_SCR_TXSEL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_TXSEL_SHIFT)) & SPDIF_SCR_TXSEL_MASK)
  74843. #define SPDIF_SCR_VALCTRL_MASK (0x20U)
  74844. #define SPDIF_SCR_VALCTRL_SHIFT (5U)
  74845. /*! ValCtrl - ValCtrl
  74846. * 0b0..Outgoing Validity always set
  74847. * 0b1..Outgoing Validity always clear
  74848. */
  74849. #define SPDIF_SCR_VALCTRL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_VALCTRL_SHIFT)) & SPDIF_SCR_VALCTRL_MASK)
  74850. #define SPDIF_SCR_INPUTSRCSEL_MASK (0xC0U)
  74851. #define SPDIF_SCR_INPUTSRCSEL_SHIFT (6U)
  74852. /*! InputSrcSel - InputSrcSel
  74853. * 0b00..SPDIF_IN
  74854. * 0b01-0b11..None
  74855. */
  74856. #define SPDIF_SCR_INPUTSRCSEL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_INPUTSRCSEL_SHIFT)) & SPDIF_SCR_INPUTSRCSEL_MASK)
  74857. #define SPDIF_SCR_DMA_TX_EN_MASK (0x100U)
  74858. #define SPDIF_SCR_DMA_TX_EN_SHIFT (8U)
  74859. /*! DMA_TX_En - DMA_TX_En
  74860. */
  74861. #define SPDIF_SCR_DMA_TX_EN(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_DMA_TX_EN_SHIFT)) & SPDIF_SCR_DMA_TX_EN_MASK)
  74862. #define SPDIF_SCR_DMA_RX_EN_MASK (0x200U)
  74863. #define SPDIF_SCR_DMA_RX_EN_SHIFT (9U)
  74864. /*! DMA_Rx_En - DMA_Rx_En
  74865. */
  74866. #define SPDIF_SCR_DMA_RX_EN(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_DMA_RX_EN_SHIFT)) & SPDIF_SCR_DMA_RX_EN_MASK)
  74867. #define SPDIF_SCR_TXFIFO_CTRL_MASK (0xC00U)
  74868. #define SPDIF_SCR_TXFIFO_CTRL_SHIFT (10U)
  74869. /*! TxFIFO_Ctrl - TxFIFO_Ctrl
  74870. * 0b00..Send out digital zero on SPDIF Tx
  74871. * 0b01..Tx Normal operation
  74872. * 0b10..Reset to 1 sample remaining
  74873. * 0b11..Reserved
  74874. */
  74875. #define SPDIF_SCR_TXFIFO_CTRL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_TXFIFO_CTRL_SHIFT)) & SPDIF_SCR_TXFIFO_CTRL_MASK)
  74876. #define SPDIF_SCR_SOFT_RESET_MASK (0x1000U)
  74877. #define SPDIF_SCR_SOFT_RESET_SHIFT (12U)
  74878. /*! soft_reset - soft_reset
  74879. */
  74880. #define SPDIF_SCR_SOFT_RESET(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_SOFT_RESET_SHIFT)) & SPDIF_SCR_SOFT_RESET_MASK)
  74881. #define SPDIF_SCR_LOW_POWER_MASK (0x2000U)
  74882. #define SPDIF_SCR_LOW_POWER_SHIFT (13U)
  74883. /*! LOW_POWER - LOW_POWER
  74884. */
  74885. #define SPDIF_SCR_LOW_POWER(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_LOW_POWER_SHIFT)) & SPDIF_SCR_LOW_POWER_MASK)
  74886. #define SPDIF_SCR_TXFIFOEMPTY_SEL_MASK (0x18000U)
  74887. #define SPDIF_SCR_TXFIFOEMPTY_SEL_SHIFT (15U)
  74888. /*! TxFIFOEmpty_Sel - TxFIFOEmpty_Sel
  74889. * 0b00..Empty interrupt if 0 sample in Tx left and right FIFOs
  74890. * 0b01..Empty interrupt if at most 4 sample in Tx left and right FIFOs
  74891. * 0b10..Empty interrupt if at most 8 sample in Tx left and right FIFOs
  74892. * 0b11..Empty interrupt if at most 12 sample in Tx left and right FIFOs
  74893. */
  74894. #define SPDIF_SCR_TXFIFOEMPTY_SEL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_TXFIFOEMPTY_SEL_SHIFT)) & SPDIF_SCR_TXFIFOEMPTY_SEL_MASK)
  74895. #define SPDIF_SCR_TXAUTOSYNC_MASK (0x20000U)
  74896. #define SPDIF_SCR_TXAUTOSYNC_SHIFT (17U)
  74897. /*! TxAutoSync - TxAutoSync
  74898. * 0b0..Tx FIFO auto sync off
  74899. * 0b1..Tx FIFO auto sync on
  74900. */
  74901. #define SPDIF_SCR_TXAUTOSYNC(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_TXAUTOSYNC_SHIFT)) & SPDIF_SCR_TXAUTOSYNC_MASK)
  74902. #define SPDIF_SCR_RXAUTOSYNC_MASK (0x40000U)
  74903. #define SPDIF_SCR_RXAUTOSYNC_SHIFT (18U)
  74904. /*! RxAutoSync - RxAutoSync
  74905. * 0b0..Rx FIFO auto sync off
  74906. * 0b1..RxFIFO auto sync on
  74907. */
  74908. #define SPDIF_SCR_RXAUTOSYNC(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_RXAUTOSYNC_SHIFT)) & SPDIF_SCR_RXAUTOSYNC_MASK)
  74909. #define SPDIF_SCR_RXFIFOFULL_SEL_MASK (0x180000U)
  74910. #define SPDIF_SCR_RXFIFOFULL_SEL_SHIFT (19U)
  74911. /*! RxFIFOFull_Sel - RxFIFOFull_Sel
  74912. * 0b00..Full interrupt if at least 1 sample in Rx left and right FIFOs
  74913. * 0b01..Full interrupt if at least 4 sample in Rx left and right FIFOs
  74914. * 0b10..Full interrupt if at least 8 sample in Rx left and right FIFOs
  74915. * 0b11..Full interrupt if at least 16 sample in Rx left and right FIFO
  74916. */
  74917. #define SPDIF_SCR_RXFIFOFULL_SEL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_RXFIFOFULL_SEL_SHIFT)) & SPDIF_SCR_RXFIFOFULL_SEL_MASK)
  74918. #define SPDIF_SCR_RXFIFO_RST_MASK (0x200000U)
  74919. #define SPDIF_SCR_RXFIFO_RST_SHIFT (21U)
  74920. /*! RxFIFO_Rst - RxFIFO_Rst
  74921. * 0b0..Normal operation
  74922. * 0b1..Reset register to 1 sample remaining
  74923. */
  74924. #define SPDIF_SCR_RXFIFO_RST(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_RXFIFO_RST_SHIFT)) & SPDIF_SCR_RXFIFO_RST_MASK)
  74925. #define SPDIF_SCR_RXFIFO_OFF_ON_MASK (0x400000U)
  74926. #define SPDIF_SCR_RXFIFO_OFF_ON_SHIFT (22U)
  74927. /*! RxFIFO_Off_On - RxFIFO_Off_On
  74928. * 0b0..SPDIF Rx FIFO is on
  74929. * 0b1..SPDIF Rx FIFO is off. Does not accept data from interface
  74930. */
  74931. #define SPDIF_SCR_RXFIFO_OFF_ON(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_RXFIFO_OFF_ON_SHIFT)) & SPDIF_SCR_RXFIFO_OFF_ON_MASK)
  74932. #define SPDIF_SCR_RXFIFO_CTRL_MASK (0x800000U)
  74933. #define SPDIF_SCR_RXFIFO_CTRL_SHIFT (23U)
  74934. /*! RxFIFO_Ctrl - RxFIFO_Ctrl
  74935. * 0b0..Normal operation
  74936. * 0b1..Always read zero from Rx data register
  74937. */
  74938. #define SPDIF_SCR_RXFIFO_CTRL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_RXFIFO_CTRL_SHIFT)) & SPDIF_SCR_RXFIFO_CTRL_MASK)
  74939. /*! @} */
  74940. /*! @name SRCD - CDText Control Register */
  74941. /*! @{ */
  74942. #define SPDIF_SRCD_USYNCMODE_MASK (0x2U)
  74943. #define SPDIF_SRCD_USYNCMODE_SHIFT (1U)
  74944. /*! USyncMode - USyncMode
  74945. * 0b0..Non-CD data
  74946. * 0b1..CD user channel subcode
  74947. */
  74948. #define SPDIF_SRCD_USYNCMODE(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SRCD_USYNCMODE_SHIFT)) & SPDIF_SRCD_USYNCMODE_MASK)
  74949. /*! @} */
  74950. /*! @name SRPC - PhaseConfig Register */
  74951. /*! @{ */
  74952. #define SPDIF_SRPC_GAINSEL_MASK (0x38U)
  74953. #define SPDIF_SRPC_GAINSEL_SHIFT (3U)
  74954. /*! GainSel - GainSel
  74955. * 0b000..24*(2**10)
  74956. * 0b001..16*(2**10)
  74957. * 0b010..12*(2**10)
  74958. * 0b011..8*(2**10)
  74959. * 0b100..6*(2**10)
  74960. * 0b101..4*(2**10)
  74961. * 0b110..3*(2**10)
  74962. */
  74963. #define SPDIF_SRPC_GAINSEL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SRPC_GAINSEL_SHIFT)) & SPDIF_SRPC_GAINSEL_MASK)
  74964. #define SPDIF_SRPC_LOCK_MASK (0x40U)
  74965. #define SPDIF_SRPC_LOCK_SHIFT (6U)
  74966. /*! LOCK - LOCK
  74967. */
  74968. #define SPDIF_SRPC_LOCK(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SRPC_LOCK_SHIFT)) & SPDIF_SRPC_LOCK_MASK)
  74969. #define SPDIF_SRPC_CLKSRC_SEL_MASK (0x780U)
  74970. #define SPDIF_SRPC_CLKSRC_SEL_SHIFT (7U)
  74971. /*! ClkSrc_Sel - ClkSrc_Sel
  74972. * 0b0000..if (DPLL Locked) SPDIF_RxClk else REF_CLK_32K (XTALOSC)
  74973. * 0b0001..if (DPLL Locked) SPDIF_RxClk else tx_clk (SPDIF0_CLK_ROOT)
  74974. * 0b0011..if (DPLL Locked) SPDIF_RxClk else SPDIF_EXT_CLK
  74975. * 0b0101..REF_CLK_32K (XTALOSC)
  74976. * 0b0110..tx_clk (SPDIF0_CLK_ROOT)
  74977. * 0b1000..SPDIF_EXT_CLK
  74978. */
  74979. #define SPDIF_SRPC_CLKSRC_SEL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SRPC_CLKSRC_SEL_SHIFT)) & SPDIF_SRPC_CLKSRC_SEL_MASK)
  74980. /*! @} */
  74981. /*! @name SIE - InterruptEn Register */
  74982. /*! @{ */
  74983. #define SPDIF_SIE_RXFIFOFUL_MASK (0x1U)
  74984. #define SPDIF_SIE_RXFIFOFUL_SHIFT (0U)
  74985. /*! RxFIFOFul - RxFIFOFul
  74986. */
  74987. #define SPDIF_SIE_RXFIFOFUL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_RXFIFOFUL_SHIFT)) & SPDIF_SIE_RXFIFOFUL_MASK)
  74988. #define SPDIF_SIE_TXEM_MASK (0x2U)
  74989. #define SPDIF_SIE_TXEM_SHIFT (1U)
  74990. /*! TxEm - TxEm
  74991. */
  74992. #define SPDIF_SIE_TXEM(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_TXEM_SHIFT)) & SPDIF_SIE_TXEM_MASK)
  74993. #define SPDIF_SIE_LOCKLOSS_MASK (0x4U)
  74994. #define SPDIF_SIE_LOCKLOSS_SHIFT (2U)
  74995. /*! LockLoss - LockLoss
  74996. */
  74997. #define SPDIF_SIE_LOCKLOSS(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_LOCKLOSS_SHIFT)) & SPDIF_SIE_LOCKLOSS_MASK)
  74998. #define SPDIF_SIE_RXFIFORESYN_MASK (0x8U)
  74999. #define SPDIF_SIE_RXFIFORESYN_SHIFT (3U)
  75000. /*! RxFIFOResyn - RxFIFOResyn
  75001. */
  75002. #define SPDIF_SIE_RXFIFORESYN(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_RXFIFORESYN_SHIFT)) & SPDIF_SIE_RXFIFORESYN_MASK)
  75003. #define SPDIF_SIE_RXFIFOUNOV_MASK (0x10U)
  75004. #define SPDIF_SIE_RXFIFOUNOV_SHIFT (4U)
  75005. /*! RxFIFOUnOv - RxFIFOUnOv
  75006. */
  75007. #define SPDIF_SIE_RXFIFOUNOV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_RXFIFOUNOV_SHIFT)) & SPDIF_SIE_RXFIFOUNOV_MASK)
  75008. #define SPDIF_SIE_UQERR_MASK (0x20U)
  75009. #define SPDIF_SIE_UQERR_SHIFT (5U)
  75010. /*! UQErr - UQErr
  75011. */
  75012. #define SPDIF_SIE_UQERR(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_UQERR_SHIFT)) & SPDIF_SIE_UQERR_MASK)
  75013. #define SPDIF_SIE_UQSYNC_MASK (0x40U)
  75014. #define SPDIF_SIE_UQSYNC_SHIFT (6U)
  75015. /*! UQSync - UQSync
  75016. */
  75017. #define SPDIF_SIE_UQSYNC(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_UQSYNC_SHIFT)) & SPDIF_SIE_UQSYNC_MASK)
  75018. #define SPDIF_SIE_QRXOV_MASK (0x80U)
  75019. #define SPDIF_SIE_QRXOV_SHIFT (7U)
  75020. /*! QRxOv - QRxOv
  75021. */
  75022. #define SPDIF_SIE_QRXOV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_QRXOV_SHIFT)) & SPDIF_SIE_QRXOV_MASK)
  75023. #define SPDIF_SIE_QRXFUL_MASK (0x100U)
  75024. #define SPDIF_SIE_QRXFUL_SHIFT (8U)
  75025. /*! QRxFul - QRxFul
  75026. */
  75027. #define SPDIF_SIE_QRXFUL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_QRXFUL_SHIFT)) & SPDIF_SIE_QRXFUL_MASK)
  75028. #define SPDIF_SIE_URXOV_MASK (0x200U)
  75029. #define SPDIF_SIE_URXOV_SHIFT (9U)
  75030. /*! URxOv - URxOv
  75031. */
  75032. #define SPDIF_SIE_URXOV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_URXOV_SHIFT)) & SPDIF_SIE_URXOV_MASK)
  75033. #define SPDIF_SIE_URXFUL_MASK (0x400U)
  75034. #define SPDIF_SIE_URXFUL_SHIFT (10U)
  75035. /*! URxFul - URxFul
  75036. */
  75037. #define SPDIF_SIE_URXFUL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_URXFUL_SHIFT)) & SPDIF_SIE_URXFUL_MASK)
  75038. #define SPDIF_SIE_BITERR_MASK (0x4000U)
  75039. #define SPDIF_SIE_BITERR_SHIFT (14U)
  75040. /*! BitErr - BitErr
  75041. */
  75042. #define SPDIF_SIE_BITERR(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_BITERR_SHIFT)) & SPDIF_SIE_BITERR_MASK)
  75043. #define SPDIF_SIE_SYMERR_MASK (0x8000U)
  75044. #define SPDIF_SIE_SYMERR_SHIFT (15U)
  75045. /*! SymErr - SymErr
  75046. */
  75047. #define SPDIF_SIE_SYMERR(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_SYMERR_SHIFT)) & SPDIF_SIE_SYMERR_MASK)
  75048. #define SPDIF_SIE_VALNOGOOD_MASK (0x10000U)
  75049. #define SPDIF_SIE_VALNOGOOD_SHIFT (16U)
  75050. /*! ValNoGood - ValNoGood
  75051. */
  75052. #define SPDIF_SIE_VALNOGOOD(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_VALNOGOOD_SHIFT)) & SPDIF_SIE_VALNOGOOD_MASK)
  75053. #define SPDIF_SIE_CNEW_MASK (0x20000U)
  75054. #define SPDIF_SIE_CNEW_SHIFT (17U)
  75055. /*! CNew - CNew
  75056. */
  75057. #define SPDIF_SIE_CNEW(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_CNEW_SHIFT)) & SPDIF_SIE_CNEW_MASK)
  75058. #define SPDIF_SIE_TXRESYN_MASK (0x40000U)
  75059. #define SPDIF_SIE_TXRESYN_SHIFT (18U)
  75060. /*! TxResyn - TxResyn
  75061. */
  75062. #define SPDIF_SIE_TXRESYN(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_TXRESYN_SHIFT)) & SPDIF_SIE_TXRESYN_MASK)
  75063. #define SPDIF_SIE_TXUNOV_MASK (0x80000U)
  75064. #define SPDIF_SIE_TXUNOV_SHIFT (19U)
  75065. /*! TxUnOv - TxUnOv
  75066. */
  75067. #define SPDIF_SIE_TXUNOV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_TXUNOV_SHIFT)) & SPDIF_SIE_TXUNOV_MASK)
  75068. #define SPDIF_SIE_LOCK_MASK (0x100000U)
  75069. #define SPDIF_SIE_LOCK_SHIFT (20U)
  75070. /*! Lock - Lock
  75071. */
  75072. #define SPDIF_SIE_LOCK(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_LOCK_SHIFT)) & SPDIF_SIE_LOCK_MASK)
  75073. /*! @} */
  75074. /*! @name SIC - InterruptClear Register */
  75075. /*! @{ */
  75076. #define SPDIF_SIC_LOCKLOSS_MASK (0x4U)
  75077. #define SPDIF_SIC_LOCKLOSS_SHIFT (2U)
  75078. /*! LockLoss - LockLoss
  75079. */
  75080. #define SPDIF_SIC_LOCKLOSS(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_LOCKLOSS_SHIFT)) & SPDIF_SIC_LOCKLOSS_MASK)
  75081. #define SPDIF_SIC_RXFIFORESYN_MASK (0x8U)
  75082. #define SPDIF_SIC_RXFIFORESYN_SHIFT (3U)
  75083. /*! RxFIFOResyn - RxFIFOResyn
  75084. */
  75085. #define SPDIF_SIC_RXFIFORESYN(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_RXFIFORESYN_SHIFT)) & SPDIF_SIC_RXFIFORESYN_MASK)
  75086. #define SPDIF_SIC_RXFIFOUNOV_MASK (0x10U)
  75087. #define SPDIF_SIC_RXFIFOUNOV_SHIFT (4U)
  75088. /*! RxFIFOUnOv - RxFIFOUnOv
  75089. */
  75090. #define SPDIF_SIC_RXFIFOUNOV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_RXFIFOUNOV_SHIFT)) & SPDIF_SIC_RXFIFOUNOV_MASK)
  75091. #define SPDIF_SIC_UQERR_MASK (0x20U)
  75092. #define SPDIF_SIC_UQERR_SHIFT (5U)
  75093. /*! UQErr - UQErr
  75094. */
  75095. #define SPDIF_SIC_UQERR(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_UQERR_SHIFT)) & SPDIF_SIC_UQERR_MASK)
  75096. #define SPDIF_SIC_UQSYNC_MASK (0x40U)
  75097. #define SPDIF_SIC_UQSYNC_SHIFT (6U)
  75098. /*! UQSync - UQSync
  75099. */
  75100. #define SPDIF_SIC_UQSYNC(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_UQSYNC_SHIFT)) & SPDIF_SIC_UQSYNC_MASK)
  75101. #define SPDIF_SIC_QRXOV_MASK (0x80U)
  75102. #define SPDIF_SIC_QRXOV_SHIFT (7U)
  75103. /*! QRxOv - QRxOv
  75104. */
  75105. #define SPDIF_SIC_QRXOV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_QRXOV_SHIFT)) & SPDIF_SIC_QRXOV_MASK)
  75106. #define SPDIF_SIC_URXOV_MASK (0x200U)
  75107. #define SPDIF_SIC_URXOV_SHIFT (9U)
  75108. /*! URxOv - URxOv
  75109. */
  75110. #define SPDIF_SIC_URXOV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_URXOV_SHIFT)) & SPDIF_SIC_URXOV_MASK)
  75111. #define SPDIF_SIC_BITERR_MASK (0x4000U)
  75112. #define SPDIF_SIC_BITERR_SHIFT (14U)
  75113. /*! BitErr - BitErr
  75114. */
  75115. #define SPDIF_SIC_BITERR(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_BITERR_SHIFT)) & SPDIF_SIC_BITERR_MASK)
  75116. #define SPDIF_SIC_SYMERR_MASK (0x8000U)
  75117. #define SPDIF_SIC_SYMERR_SHIFT (15U)
  75118. /*! SymErr - SymErr
  75119. */
  75120. #define SPDIF_SIC_SYMERR(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_SYMERR_SHIFT)) & SPDIF_SIC_SYMERR_MASK)
  75121. #define SPDIF_SIC_VALNOGOOD_MASK (0x10000U)
  75122. #define SPDIF_SIC_VALNOGOOD_SHIFT (16U)
  75123. /*! ValNoGood - ValNoGood
  75124. */
  75125. #define SPDIF_SIC_VALNOGOOD(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_VALNOGOOD_SHIFT)) & SPDIF_SIC_VALNOGOOD_MASK)
  75126. #define SPDIF_SIC_CNEW_MASK (0x20000U)
  75127. #define SPDIF_SIC_CNEW_SHIFT (17U)
  75128. /*! CNew - CNew
  75129. */
  75130. #define SPDIF_SIC_CNEW(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_CNEW_SHIFT)) & SPDIF_SIC_CNEW_MASK)
  75131. #define SPDIF_SIC_TXRESYN_MASK (0x40000U)
  75132. #define SPDIF_SIC_TXRESYN_SHIFT (18U)
  75133. /*! TxResyn - TxResyn
  75134. */
  75135. #define SPDIF_SIC_TXRESYN(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_TXRESYN_SHIFT)) & SPDIF_SIC_TXRESYN_MASK)
  75136. #define SPDIF_SIC_TXUNOV_MASK (0x80000U)
  75137. #define SPDIF_SIC_TXUNOV_SHIFT (19U)
  75138. /*! TxUnOv - TxUnOv
  75139. */
  75140. #define SPDIF_SIC_TXUNOV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_TXUNOV_SHIFT)) & SPDIF_SIC_TXUNOV_MASK)
  75141. #define SPDIF_SIC_LOCK_MASK (0x100000U)
  75142. #define SPDIF_SIC_LOCK_SHIFT (20U)
  75143. /*! Lock - Lock
  75144. */
  75145. #define SPDIF_SIC_LOCK(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_LOCK_SHIFT)) & SPDIF_SIC_LOCK_MASK)
  75146. /*! @} */
  75147. /*! @name SIS - InterruptStat Register */
  75148. /*! @{ */
  75149. #define SPDIF_SIS_RXFIFOFUL_MASK (0x1U)
  75150. #define SPDIF_SIS_RXFIFOFUL_SHIFT (0U)
  75151. /*! RxFIFOFul - RxFIFOFul
  75152. */
  75153. #define SPDIF_SIS_RXFIFOFUL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_RXFIFOFUL_SHIFT)) & SPDIF_SIS_RXFIFOFUL_MASK)
  75154. #define SPDIF_SIS_TXEM_MASK (0x2U)
  75155. #define SPDIF_SIS_TXEM_SHIFT (1U)
  75156. /*! TxEm - TxEm
  75157. */
  75158. #define SPDIF_SIS_TXEM(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_TXEM_SHIFT)) & SPDIF_SIS_TXEM_MASK)
  75159. #define SPDIF_SIS_LOCKLOSS_MASK (0x4U)
  75160. #define SPDIF_SIS_LOCKLOSS_SHIFT (2U)
  75161. /*! LockLoss - LockLoss
  75162. */
  75163. #define SPDIF_SIS_LOCKLOSS(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_LOCKLOSS_SHIFT)) & SPDIF_SIS_LOCKLOSS_MASK)
  75164. #define SPDIF_SIS_RXFIFORESYN_MASK (0x8U)
  75165. #define SPDIF_SIS_RXFIFORESYN_SHIFT (3U)
  75166. /*! RxFIFOResyn - RxFIFOResyn
  75167. */
  75168. #define SPDIF_SIS_RXFIFORESYN(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_RXFIFORESYN_SHIFT)) & SPDIF_SIS_RXFIFORESYN_MASK)
  75169. #define SPDIF_SIS_RXFIFOUNOV_MASK (0x10U)
  75170. #define SPDIF_SIS_RXFIFOUNOV_SHIFT (4U)
  75171. /*! RxFIFOUnOv - RxFIFOUnOv
  75172. */
  75173. #define SPDIF_SIS_RXFIFOUNOV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_RXFIFOUNOV_SHIFT)) & SPDIF_SIS_RXFIFOUNOV_MASK)
  75174. #define SPDIF_SIS_UQERR_MASK (0x20U)
  75175. #define SPDIF_SIS_UQERR_SHIFT (5U)
  75176. /*! UQErr - UQErr
  75177. */
  75178. #define SPDIF_SIS_UQERR(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_UQERR_SHIFT)) & SPDIF_SIS_UQERR_MASK)
  75179. #define SPDIF_SIS_UQSYNC_MASK (0x40U)
  75180. #define SPDIF_SIS_UQSYNC_SHIFT (6U)
  75181. /*! UQSync - UQSync
  75182. */
  75183. #define SPDIF_SIS_UQSYNC(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_UQSYNC_SHIFT)) & SPDIF_SIS_UQSYNC_MASK)
  75184. #define SPDIF_SIS_QRXOV_MASK (0x80U)
  75185. #define SPDIF_SIS_QRXOV_SHIFT (7U)
  75186. /*! QRxOv - QRxOv
  75187. */
  75188. #define SPDIF_SIS_QRXOV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_QRXOV_SHIFT)) & SPDIF_SIS_QRXOV_MASK)
  75189. #define SPDIF_SIS_QRXFUL_MASK (0x100U)
  75190. #define SPDIF_SIS_QRXFUL_SHIFT (8U)
  75191. /*! QRxFul - QRxFul
  75192. */
  75193. #define SPDIF_SIS_QRXFUL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_QRXFUL_SHIFT)) & SPDIF_SIS_QRXFUL_MASK)
  75194. #define SPDIF_SIS_URXOV_MASK (0x200U)
  75195. #define SPDIF_SIS_URXOV_SHIFT (9U)
  75196. /*! URxOv - URxOv
  75197. */
  75198. #define SPDIF_SIS_URXOV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_URXOV_SHIFT)) & SPDIF_SIS_URXOV_MASK)
  75199. #define SPDIF_SIS_URXFUL_MASK (0x400U)
  75200. #define SPDIF_SIS_URXFUL_SHIFT (10U)
  75201. /*! URxFul - URxFul
  75202. */
  75203. #define SPDIF_SIS_URXFUL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_URXFUL_SHIFT)) & SPDIF_SIS_URXFUL_MASK)
  75204. #define SPDIF_SIS_BITERR_MASK (0x4000U)
  75205. #define SPDIF_SIS_BITERR_SHIFT (14U)
  75206. /*! BitErr - BitErr
  75207. */
  75208. #define SPDIF_SIS_BITERR(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_BITERR_SHIFT)) & SPDIF_SIS_BITERR_MASK)
  75209. #define SPDIF_SIS_SYMERR_MASK (0x8000U)
  75210. #define SPDIF_SIS_SYMERR_SHIFT (15U)
  75211. /*! SymErr - SymErr
  75212. */
  75213. #define SPDIF_SIS_SYMERR(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_SYMERR_SHIFT)) & SPDIF_SIS_SYMERR_MASK)
  75214. #define SPDIF_SIS_VALNOGOOD_MASK (0x10000U)
  75215. #define SPDIF_SIS_VALNOGOOD_SHIFT (16U)
  75216. /*! ValNoGood - ValNoGood
  75217. */
  75218. #define SPDIF_SIS_VALNOGOOD(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_VALNOGOOD_SHIFT)) & SPDIF_SIS_VALNOGOOD_MASK)
  75219. #define SPDIF_SIS_CNEW_MASK (0x20000U)
  75220. #define SPDIF_SIS_CNEW_SHIFT (17U)
  75221. /*! CNew - CNew
  75222. */
  75223. #define SPDIF_SIS_CNEW(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_CNEW_SHIFT)) & SPDIF_SIS_CNEW_MASK)
  75224. #define SPDIF_SIS_TXRESYN_MASK (0x40000U)
  75225. #define SPDIF_SIS_TXRESYN_SHIFT (18U)
  75226. /*! TxResyn - TxResyn
  75227. */
  75228. #define SPDIF_SIS_TXRESYN(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_TXRESYN_SHIFT)) & SPDIF_SIS_TXRESYN_MASK)
  75229. #define SPDIF_SIS_TXUNOV_MASK (0x80000U)
  75230. #define SPDIF_SIS_TXUNOV_SHIFT (19U)
  75231. /*! TxUnOv - TxUnOv
  75232. */
  75233. #define SPDIF_SIS_TXUNOV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_TXUNOV_SHIFT)) & SPDIF_SIS_TXUNOV_MASK)
  75234. #define SPDIF_SIS_LOCK_MASK (0x100000U)
  75235. #define SPDIF_SIS_LOCK_SHIFT (20U)
  75236. /*! Lock - Lock
  75237. */
  75238. #define SPDIF_SIS_LOCK(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_LOCK_SHIFT)) & SPDIF_SIS_LOCK_MASK)
  75239. /*! @} */
  75240. /*! @name SRL - SPDIFRxLeft Register */
  75241. /*! @{ */
  75242. #define SPDIF_SRL_RXDATALEFT_MASK (0xFFFFFFU)
  75243. #define SPDIF_SRL_RXDATALEFT_SHIFT (0U)
  75244. /*! RxDataLeft - RxDataLeft
  75245. */
  75246. #define SPDIF_SRL_RXDATALEFT(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SRL_RXDATALEFT_SHIFT)) & SPDIF_SRL_RXDATALEFT_MASK)
  75247. /*! @} */
  75248. /*! @name SRR - SPDIFRxRight Register */
  75249. /*! @{ */
  75250. #define SPDIF_SRR_RXDATARIGHT_MASK (0xFFFFFFU)
  75251. #define SPDIF_SRR_RXDATARIGHT_SHIFT (0U)
  75252. /*! RxDataRight - RxDataRight
  75253. */
  75254. #define SPDIF_SRR_RXDATARIGHT(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SRR_RXDATARIGHT_SHIFT)) & SPDIF_SRR_RXDATARIGHT_MASK)
  75255. /*! @} */
  75256. /*! @name SRCSH - SPDIFRxCChannel_h Register */
  75257. /*! @{ */
  75258. #define SPDIF_SRCSH_RXCCHANNEL_H_MASK (0xFFFFFFU)
  75259. #define SPDIF_SRCSH_RXCCHANNEL_H_SHIFT (0U)
  75260. /*! RxCChannel_h - RxCChannel_h
  75261. */
  75262. #define SPDIF_SRCSH_RXCCHANNEL_H(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SRCSH_RXCCHANNEL_H_SHIFT)) & SPDIF_SRCSH_RXCCHANNEL_H_MASK)
  75263. /*! @} */
  75264. /*! @name SRCSL - SPDIFRxCChannel_l Register */
  75265. /*! @{ */
  75266. #define SPDIF_SRCSL_RXCCHANNEL_L_MASK (0xFFFFFFU)
  75267. #define SPDIF_SRCSL_RXCCHANNEL_L_SHIFT (0U)
  75268. /*! RxCChannel_l - RxCChannel_l
  75269. */
  75270. #define SPDIF_SRCSL_RXCCHANNEL_L(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SRCSL_RXCCHANNEL_L_SHIFT)) & SPDIF_SRCSL_RXCCHANNEL_L_MASK)
  75271. /*! @} */
  75272. /*! @name SRU - UchannelRx Register */
  75273. /*! @{ */
  75274. #define SPDIF_SRU_RXUCHANNEL_MASK (0xFFFFFFU)
  75275. #define SPDIF_SRU_RXUCHANNEL_SHIFT (0U)
  75276. /*! RxUChannel - RxUChannel
  75277. */
  75278. #define SPDIF_SRU_RXUCHANNEL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SRU_RXUCHANNEL_SHIFT)) & SPDIF_SRU_RXUCHANNEL_MASK)
  75279. /*! @} */
  75280. /*! @name SRQ - QchannelRx Register */
  75281. /*! @{ */
  75282. #define SPDIF_SRQ_RXQCHANNEL_MASK (0xFFFFFFU)
  75283. #define SPDIF_SRQ_RXQCHANNEL_SHIFT (0U)
  75284. /*! RxQChannel - RxQChannel
  75285. */
  75286. #define SPDIF_SRQ_RXQCHANNEL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SRQ_RXQCHANNEL_SHIFT)) & SPDIF_SRQ_RXQCHANNEL_MASK)
  75287. /*! @} */
  75288. /*! @name STL - SPDIFTxLeft Register */
  75289. /*! @{ */
  75290. #define SPDIF_STL_TXDATALEFT_MASK (0xFFFFFFU)
  75291. #define SPDIF_STL_TXDATALEFT_SHIFT (0U)
  75292. /*! TxDataLeft - TxDataLeft
  75293. */
  75294. #define SPDIF_STL_TXDATALEFT(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_STL_TXDATALEFT_SHIFT)) & SPDIF_STL_TXDATALEFT_MASK)
  75295. /*! @} */
  75296. /*! @name STR - SPDIFTxRight Register */
  75297. /*! @{ */
  75298. #define SPDIF_STR_TXDATARIGHT_MASK (0xFFFFFFU)
  75299. #define SPDIF_STR_TXDATARIGHT_SHIFT (0U)
  75300. /*! TxDataRight - TxDataRight
  75301. */
  75302. #define SPDIF_STR_TXDATARIGHT(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_STR_TXDATARIGHT_SHIFT)) & SPDIF_STR_TXDATARIGHT_MASK)
  75303. /*! @} */
  75304. /*! @name STCSCH - SPDIFTxCChannelCons_h Register */
  75305. /*! @{ */
  75306. #define SPDIF_STCSCH_TXCCHANNELCONS_H_MASK (0xFFFFFFU)
  75307. #define SPDIF_STCSCH_TXCCHANNELCONS_H_SHIFT (0U)
  75308. /*! TxCChannelCons_h - TxCChannelCons_h
  75309. */
  75310. #define SPDIF_STCSCH_TXCCHANNELCONS_H(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_STCSCH_TXCCHANNELCONS_H_SHIFT)) & SPDIF_STCSCH_TXCCHANNELCONS_H_MASK)
  75311. /*! @} */
  75312. /*! @name STCSCL - SPDIFTxCChannelCons_l Register */
  75313. /*! @{ */
  75314. #define SPDIF_STCSCL_TXCCHANNELCONS_L_MASK (0xFFFFFFU)
  75315. #define SPDIF_STCSCL_TXCCHANNELCONS_L_SHIFT (0U)
  75316. /*! TxCChannelCons_l - TxCChannelCons_l
  75317. */
  75318. #define SPDIF_STCSCL_TXCCHANNELCONS_L(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_STCSCL_TXCCHANNELCONS_L_SHIFT)) & SPDIF_STCSCL_TXCCHANNELCONS_L_MASK)
  75319. /*! @} */
  75320. /*! @name SRFM - FreqMeas Register */
  75321. /*! @{ */
  75322. #define SPDIF_SRFM_FREQMEAS_MASK (0xFFFFFFU)
  75323. #define SPDIF_SRFM_FREQMEAS_SHIFT (0U)
  75324. /*! FreqMeas - FreqMeas
  75325. */
  75326. #define SPDIF_SRFM_FREQMEAS(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SRFM_FREQMEAS_SHIFT)) & SPDIF_SRFM_FREQMEAS_MASK)
  75327. /*! @} */
  75328. /*! @name STC - SPDIFTxClk Register */
  75329. /*! @{ */
  75330. #define SPDIF_STC_TXCLK_DF_MASK (0x7FU)
  75331. #define SPDIF_STC_TXCLK_DF_SHIFT (0U)
  75332. /*! TxClk_DF - TxClk_DF
  75333. * 0b0000000..divider factor is 1
  75334. * 0b0000001..divider factor is 2
  75335. * 0b1111111..divider factor is 128
  75336. */
  75337. #define SPDIF_STC_TXCLK_DF(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_STC_TXCLK_DF_SHIFT)) & SPDIF_STC_TXCLK_DF_MASK)
  75338. #define SPDIF_STC_TX_ALL_CLK_EN_MASK (0x80U)
  75339. #define SPDIF_STC_TX_ALL_CLK_EN_SHIFT (7U)
  75340. /*! tx_all_clk_en - tx_all_clk_en
  75341. * 0b0..disable transfer clock.
  75342. * 0b1..enable transfer clock.
  75343. */
  75344. #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)
  75345. #define SPDIF_STC_TXCLK_SOURCE_MASK (0x700U)
  75346. #define SPDIF_STC_TXCLK_SOURCE_SHIFT (8U)
  75347. /*! TxClk_Source - TxClk_Source
  75348. * 0b000..REF_CLK_32K input (XTALOSC 32 kHz clock)
  75349. * 0b001..tx_clk input (from SPDIF0_CLK_ROOT. See clock control block for more information.)
  75350. * 0b011..SPDIF_EXT_CLK, from pads
  75351. * 0b101..ipg_clk input (frequency divided)
  75352. */
  75353. #define SPDIF_STC_TXCLK_SOURCE(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_STC_TXCLK_SOURCE_SHIFT)) & SPDIF_STC_TXCLK_SOURCE_MASK)
  75354. #define SPDIF_STC_SYSCLK_DF_MASK (0xFF800U)
  75355. #define SPDIF_STC_SYSCLK_DF_SHIFT (11U)
  75356. /*! SYSCLK_DF - SYSCLK_DF
  75357. * 0b000000000..no clock signal
  75358. * 0b000000001..divider factor is 2
  75359. * 0b111111111..divider factor is 512
  75360. */
  75361. #define SPDIF_STC_SYSCLK_DF(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_STC_SYSCLK_DF_SHIFT)) & SPDIF_STC_SYSCLK_DF_MASK)
  75362. /*! @} */
  75363. /*!
  75364. * @}
  75365. */ /* end of group SPDIF_Register_Masks */
  75366. /* SPDIF - Peripheral instance base addresses */
  75367. /** Peripheral SPDIF base address */
  75368. #define SPDIF_BASE (0x40400000u)
  75369. /** Peripheral SPDIF base pointer */
  75370. #define SPDIF ((SPDIF_Type *)SPDIF_BASE)
  75371. /** Array initializer of SPDIF peripheral base addresses */
  75372. #define SPDIF_BASE_ADDRS { SPDIF_BASE }
  75373. /** Array initializer of SPDIF peripheral base pointers */
  75374. #define SPDIF_BASE_PTRS { SPDIF }
  75375. /** Interrupt vectors for the SPDIF peripheral type */
  75376. #define SPDIF_IRQS { SPDIF_IRQn }
  75377. /*!
  75378. * @}
  75379. */ /* end of group SPDIF_Peripheral_Access_Layer */
  75380. /* ----------------------------------------------------------------------------
  75381. -- SRAM Peripheral Access Layer
  75382. ---------------------------------------------------------------------------- */
  75383. /*!
  75384. * @addtogroup SRAM_Peripheral_Access_Layer SRAM Peripheral Access Layer
  75385. * @{
  75386. */
  75387. /** SRAM - Register Layout Typedef */
  75388. typedef struct {
  75389. uint8_t RESERVED_0[12288];
  75390. __IO uint32_t CTRL; /**< Control Register, offset: 0x3000 */
  75391. } SRAM_Type;
  75392. /* ----------------------------------------------------------------------------
  75393. -- SRAM Register Masks
  75394. ---------------------------------------------------------------------------- */
  75395. /*!
  75396. * @addtogroup SRAM_Register_Masks SRAM Register Masks
  75397. * @{
  75398. */
  75399. /*! @name CTRL - Control Register */
  75400. /*! @{ */
  75401. #define SRAM_CTRL_RAM_RD_EN_MASK (0x1U)
  75402. #define SRAM_CTRL_RAM_RD_EN_SHIFT (0U)
  75403. /*! RAM_RD_EN - RAM Read Enable (with lock)
  75404. * 0b0..Disable read access
  75405. * 0b1..Enable read access
  75406. */
  75407. #define SRAM_CTRL_RAM_RD_EN(x) (((uint32_t)(((uint32_t)(x)) << SRAM_CTRL_RAM_RD_EN_SHIFT)) & SRAM_CTRL_RAM_RD_EN_MASK)
  75408. #define SRAM_CTRL_RAM_WR_EN_MASK (0x2U)
  75409. #define SRAM_CTRL_RAM_WR_EN_SHIFT (1U)
  75410. /*! RAM_WR_EN - RAM Write Enable (with lock)
  75411. * 0b0..Disable write access
  75412. * 0b1..Enable write access
  75413. */
  75414. #define SRAM_CTRL_RAM_WR_EN(x) (((uint32_t)(((uint32_t)(x)) << SRAM_CTRL_RAM_WR_EN_SHIFT)) & SRAM_CTRL_RAM_WR_EN_MASK)
  75415. #define SRAM_CTRL_PWR_EN_MASK (0x3CU)
  75416. #define SRAM_CTRL_PWR_EN_SHIFT (2U)
  75417. /*! PWR_EN - Power Enable (with lock)
  75418. */
  75419. #define SRAM_CTRL_PWR_EN(x) (((uint32_t)(((uint32_t)(x)) << SRAM_CTRL_PWR_EN_SHIFT)) & SRAM_CTRL_PWR_EN_MASK)
  75420. #define SRAM_CTRL_TAMPER_BLOCK_EN_MASK (0x40U)
  75421. #define SRAM_CTRL_TAMPER_BLOCK_EN_SHIFT (6U)
  75422. /*! TAMPER_BLOCK_EN - Tamper Block Enable (with lock)
  75423. * 0b0..Allow R/W access to secure RAM when tamper is detected
  75424. * 0b1..Block R/W access to secure RAM when tamper is detected
  75425. */
  75426. #define SRAM_CTRL_TAMPER_BLOCK_EN(x) (((uint32_t)(((uint32_t)(x)) << SRAM_CTRL_TAMPER_BLOCK_EN_SHIFT)) & SRAM_CTRL_TAMPER_BLOCK_EN_MASK)
  75427. #define SRAM_CTRL_TAMPER_PWR_OFF_EN_MASK (0x80U)
  75428. #define SRAM_CTRL_TAMPER_PWR_OFF_EN_SHIFT (7U)
  75429. /*! TAMPER_PWR_OFF_EN - Turn off power on tamper event (with lock)
  75430. * 0b0..Disable the turn off function when tamper is detected
  75431. * 0b1..Turn off power for all secure RAM banks when tamper is detected
  75432. */
  75433. #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)
  75434. #define SRAM_CTRL_LOCK_BIT_MASK (0xFF0000U)
  75435. #define SRAM_CTRL_LOCK_BIT_SHIFT (16U)
  75436. /*! LOCK_BIT - Lock bits
  75437. */
  75438. #define SRAM_CTRL_LOCK_BIT(x) (((uint32_t)(((uint32_t)(x)) << SRAM_CTRL_LOCK_BIT_SHIFT)) & SRAM_CTRL_LOCK_BIT_MASK)
  75439. /*! @} */
  75440. /*!
  75441. * @}
  75442. */ /* end of group SRAM_Register_Masks */
  75443. /* SRAM - Peripheral instance base addresses */
  75444. /** Peripheral SRAM base address */
  75445. #define SRAM_BASE (0x40C9C000u)
  75446. /** Peripheral SRAM base pointer */
  75447. #define SRAM ((SRAM_Type *)SRAM_BASE)
  75448. /** Array initializer of SRAM peripheral base addresses */
  75449. #define SRAM_BASE_ADDRS { SRAM_BASE }
  75450. /** Array initializer of SRAM peripheral base pointers */
  75451. #define SRAM_BASE_PTRS { SRAM }
  75452. /*!
  75453. * @}
  75454. */ /* end of group SRAM_Peripheral_Access_Layer */
  75455. /* ----------------------------------------------------------------------------
  75456. -- SRC Peripheral Access Layer
  75457. ---------------------------------------------------------------------------- */
  75458. /*!
  75459. * @addtogroup SRC_Peripheral_Access_Layer SRC Peripheral Access Layer
  75460. * @{
  75461. */
  75462. /** SRC - Register Layout Typedef */
  75463. typedef struct {
  75464. __IO uint32_t SCR; /**< SRC Control Register, offset: 0x0 */
  75465. __IO uint32_t SRMR; /**< SRC Reset Mode Register, offset: 0x4 */
  75466. __I uint32_t SBMR1; /**< SRC Boot Mode Register 1, offset: 0x8 */
  75467. __I uint32_t SBMR2; /**< SRC Boot Mode Register 2, offset: 0xC */
  75468. __IO uint32_t SRSR; /**< SRC Reset Status Register, offset: 0x10 */
  75469. __IO uint32_t GPR[20]; /**< SRC General Purpose Register, array offset: 0x14, array step: 0x4 */
  75470. uint8_t RESERVED_0[412];
  75471. __IO uint32_t AUTHEN_MEGA; /**< Slice Authentication Register, offset: 0x200 */
  75472. __IO uint32_t CTRL_MEGA; /**< Slice Control Register, offset: 0x204 */
  75473. __IO uint32_t SETPOINT_MEGA; /**< Slice Setpoint Config Register, offset: 0x208 */
  75474. __IO uint32_t DOMAIN_MEGA; /**< Slice Domain Config Register, offset: 0x20C */
  75475. __IO uint32_t STAT_MEGA; /**< Slice Status Register, offset: 0x210 */
  75476. uint8_t RESERVED_1[12];
  75477. __IO uint32_t AUTHEN_DISPLAY; /**< Slice Authentication Register, offset: 0x220 */
  75478. __IO uint32_t CTRL_DISPLAY; /**< Slice Control Register, offset: 0x224 */
  75479. __IO uint32_t SETPOINT_DISPLAY; /**< Slice Setpoint Config Register, offset: 0x228 */
  75480. __IO uint32_t DOMAIN_DISPLAY; /**< Slice Domain Config Register, offset: 0x22C */
  75481. __IO uint32_t STAT_DISPLAY; /**< Slice Status Register, offset: 0x230 */
  75482. uint8_t RESERVED_2[12];
  75483. __IO uint32_t AUTHEN_WAKEUP; /**< Slice Authentication Register, offset: 0x240 */
  75484. __IO uint32_t CTRL_WAKEUP; /**< Slice Control Register, offset: 0x244 */
  75485. __IO uint32_t SETPOINT_WAKEUP; /**< Slice Setpoint Config Register, offset: 0x248 */
  75486. __IO uint32_t DOMAIN_WAKEUP; /**< Slice Domain Config Register, offset: 0x24C */
  75487. __IO uint32_t STAT_WAKEUP; /**< Slice Status Register, offset: 0x250 */
  75488. uint8_t RESERVED_3[44];
  75489. __IO uint32_t AUTHEN_M4CORE; /**< Slice Authentication Register, offset: 0x280 */
  75490. __IO uint32_t CTRL_M4CORE; /**< Slice Control Register, offset: 0x284 */
  75491. __IO uint32_t SETPOINT_M4CORE; /**< Slice Setpoint Config Register, offset: 0x288 */
  75492. __IO uint32_t DOMAIN_M4CORE; /**< Slice Domain Config Register, offset: 0x28C */
  75493. __IO uint32_t STAT_M4CORE; /**< Slice Status Register, offset: 0x290 */
  75494. uint8_t RESERVED_4[12];
  75495. __IO uint32_t AUTHEN_M7CORE; /**< Slice Authentication Register, offset: 0x2A0 */
  75496. __IO uint32_t CTRL_M7CORE; /**< Slice Control Register, offset: 0x2A4 */
  75497. __IO uint32_t SETPOINT_M7CORE; /**< Slice Setpoint Config Register, offset: 0x2A8 */
  75498. __IO uint32_t DOMAIN_M7CORE; /**< Slice Domain Config Register, offset: 0x2AC */
  75499. __IO uint32_t STAT_M7CORE; /**< Slice Status Register, offset: 0x2B0 */
  75500. uint8_t RESERVED_5[12];
  75501. __IO uint32_t AUTHEN_M4DEBUG; /**< Slice Authentication Register, offset: 0x2C0 */
  75502. __IO uint32_t CTRL_M4DEBUG; /**< Slice Control Register, offset: 0x2C4 */
  75503. __IO uint32_t SETPOINT_M4DEBUG; /**< Slice Setpoint Config Register, offset: 0x2C8 */
  75504. __IO uint32_t DOMAIN_M4DEBUG; /**< Slice Domain Config Register, offset: 0x2CC */
  75505. __IO uint32_t STAT_M4DEBUG; /**< Slice Status Register, offset: 0x2D0 */
  75506. uint8_t RESERVED_6[12];
  75507. __IO uint32_t AUTHEN_M7DEBUG; /**< Slice Authentication Register, offset: 0x2E0 */
  75508. __IO uint32_t CTRL_M7DEBUG; /**< Slice Control Register, offset: 0x2E4 */
  75509. __IO uint32_t SETPOINT_M7DEBUG; /**< Slice Setpoint Config Register, offset: 0x2E8 */
  75510. __IO uint32_t DOMAIN_M7DEBUG; /**< Slice Domain Config Register, offset: 0x2EC */
  75511. __IO uint32_t STAT_M7DEBUG; /**< Slice Status Register, offset: 0x2F0 */
  75512. uint8_t RESERVED_7[12];
  75513. __IO uint32_t AUTHEN_USBPHY1; /**< Slice Authentication Register, offset: 0x300 */
  75514. __IO uint32_t CTRL_USBPHY1; /**< Slice Control Register, offset: 0x304 */
  75515. __IO uint32_t SETPOINT_USBPHY1; /**< Slice Setpoint Config Register, offset: 0x308 */
  75516. __IO uint32_t DOMAIN_USBPHY1; /**< Slice Domain Config Register, offset: 0x30C */
  75517. __IO uint32_t STAT_USBPHY1; /**< Slice Status Register, offset: 0x310 */
  75518. uint8_t RESERVED_8[12];
  75519. __IO uint32_t AUTHEN_USBPHY2; /**< Slice Authentication Register, offset: 0x320 */
  75520. __IO uint32_t CTRL_USBPHY2; /**< Slice Control Register, offset: 0x324 */
  75521. __IO uint32_t SETPOINT_USBPHY2; /**< Slice Setpoint Config Register, offset: 0x328 */
  75522. __IO uint32_t DOMAIN_USBPHY2; /**< Slice Domain Config Register, offset: 0x32C */
  75523. __IO uint32_t STAT_USBPHY2; /**< Slice Status Register, offset: 0x330 */
  75524. } SRC_Type;
  75525. /* ----------------------------------------------------------------------------
  75526. -- SRC Register Masks
  75527. ---------------------------------------------------------------------------- */
  75528. /*!
  75529. * @addtogroup SRC_Register_Masks SRC Register Masks
  75530. * @{
  75531. */
  75532. /*! @name SCR - SRC Control Register */
  75533. /*! @{ */
  75534. #define SRC_SCR_BT_RELEASE_M4_MASK (0x1U)
  75535. #define SRC_SCR_BT_RELEASE_M4_SHIFT (0U)
  75536. /*! BT_RELEASE_M4
  75537. * 0b0..cm4 core reset is asserted
  75538. * 0b1..cm4 core reset is released
  75539. */
  75540. #define SRC_SCR_BT_RELEASE_M4(x) (((uint32_t)(((uint32_t)(x)) << SRC_SCR_BT_RELEASE_M4_SHIFT)) & SRC_SCR_BT_RELEASE_M4_MASK)
  75541. #define SRC_SCR_BT_RELEASE_M7_MASK (0x2U)
  75542. #define SRC_SCR_BT_RELEASE_M7_SHIFT (1U)
  75543. /*! BT_RELEASE_M7
  75544. * 0b0..cm7 core reset is asserted
  75545. * 0b1..cm7 core reset is released
  75546. */
  75547. #define SRC_SCR_BT_RELEASE_M7(x) (((uint32_t)(((uint32_t)(x)) << SRC_SCR_BT_RELEASE_M7_SHIFT)) & SRC_SCR_BT_RELEASE_M7_MASK)
  75548. /*! @} */
  75549. /*! @name SRMR - SRC Reset Mode Register */
  75550. /*! @{ */
  75551. #define SRC_SRMR_WDOG_RESET_MODE_MASK (0x3U)
  75552. #define SRC_SRMR_WDOG_RESET_MODE_SHIFT (0U)
  75553. /*! WDOG_RESET_MODE - Wdog reset mode configuration
  75554. * 0b00..reset system
  75555. * 0b01..reserved
  75556. * 0b10..reserved
  75557. * 0b11..do not reset anything
  75558. */
  75559. #define SRC_SRMR_WDOG_RESET_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRMR_WDOG_RESET_MODE_SHIFT)) & SRC_SRMR_WDOG_RESET_MODE_MASK)
  75560. #define SRC_SRMR_WDOG3_RESET_MODE_MASK (0xCU)
  75561. #define SRC_SRMR_WDOG3_RESET_MODE_SHIFT (2U)
  75562. /*! WDOG3_RESET_MODE - Wdog3 reset mode configuration
  75563. * 0b00..reset system
  75564. * 0b01..reserved
  75565. * 0b10..reserved
  75566. * 0b11..do not reset anything
  75567. */
  75568. #define SRC_SRMR_WDOG3_RESET_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRMR_WDOG3_RESET_MODE_SHIFT)) & SRC_SRMR_WDOG3_RESET_MODE_MASK)
  75569. #define SRC_SRMR_WDOG4_RESET_MODE_MASK (0x30U)
  75570. #define SRC_SRMR_WDOG4_RESET_MODE_SHIFT (4U)
  75571. /*! WDOG4_RESET_MODE - Wdog4 reset mode configuration
  75572. * 0b00..reset system
  75573. * 0b01..reserved
  75574. * 0b10..reserved
  75575. * 0b11..do not reset anything
  75576. */
  75577. #define SRC_SRMR_WDOG4_RESET_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRMR_WDOG4_RESET_MODE_SHIFT)) & SRC_SRMR_WDOG4_RESET_MODE_MASK)
  75578. #define SRC_SRMR_M4LOCKUP_RESET_MODE_MASK (0xC0U)
  75579. #define SRC_SRMR_M4LOCKUP_RESET_MODE_SHIFT (6U)
  75580. /*! M4LOCKUP_RESET_MODE - M4 core lockup reset mode configuration
  75581. * 0b00..reset system
  75582. * 0b01..reserved
  75583. * 0b10..reserved
  75584. * 0b11..do not reset anything
  75585. */
  75586. #define SRC_SRMR_M4LOCKUP_RESET_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRMR_M4LOCKUP_RESET_MODE_SHIFT)) & SRC_SRMR_M4LOCKUP_RESET_MODE_MASK)
  75587. #define SRC_SRMR_M7LOCKUP_RESET_MODE_MASK (0x300U)
  75588. #define SRC_SRMR_M7LOCKUP_RESET_MODE_SHIFT (8U)
  75589. /*! M7LOCKUP_RESET_MODE - M7 core lockup reset mode configuration
  75590. * 0b00..reset system
  75591. * 0b01..reserved
  75592. * 0b10..reserved
  75593. * 0b11..do not reset anything
  75594. */
  75595. #define SRC_SRMR_M7LOCKUP_RESET_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRMR_M7LOCKUP_RESET_MODE_SHIFT)) & SRC_SRMR_M7LOCKUP_RESET_MODE_MASK)
  75596. #define SRC_SRMR_M4REQ_RESET_MODE_MASK (0xC00U)
  75597. #define SRC_SRMR_M4REQ_RESET_MODE_SHIFT (10U)
  75598. /*! M4REQ_RESET_MODE - M4 request reset configuration
  75599. * 0b00..reset system
  75600. * 0b01..reserved
  75601. * 0b10..reserved
  75602. * 0b11..do not reset anything
  75603. */
  75604. #define SRC_SRMR_M4REQ_RESET_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRMR_M4REQ_RESET_MODE_SHIFT)) & SRC_SRMR_M4REQ_RESET_MODE_MASK)
  75605. #define SRC_SRMR_M7REQ_RESET_MODE_MASK (0x3000U)
  75606. #define SRC_SRMR_M7REQ_RESET_MODE_SHIFT (12U)
  75607. /*! M7REQ_RESET_MODE - M7 request reset configuration
  75608. * 0b00..reset system
  75609. * 0b01..reserved
  75610. * 0b10..reserved
  75611. * 0b11..do not reset anything
  75612. */
  75613. #define SRC_SRMR_M7REQ_RESET_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRMR_M7REQ_RESET_MODE_SHIFT)) & SRC_SRMR_M7REQ_RESET_MODE_MASK)
  75614. #define SRC_SRMR_TEMPSENSE_RESET_MODE_MASK (0xC000U)
  75615. #define SRC_SRMR_TEMPSENSE_RESET_MODE_SHIFT (14U)
  75616. /*! TEMPSENSE_RESET_MODE - Tempsense reset mode configuration
  75617. * 0b00..reset system
  75618. * 0b01..reserved
  75619. * 0b10..reserved
  75620. * 0b11..do not reset anything
  75621. */
  75622. #define SRC_SRMR_TEMPSENSE_RESET_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRMR_TEMPSENSE_RESET_MODE_SHIFT)) & SRC_SRMR_TEMPSENSE_RESET_MODE_MASK)
  75623. #define SRC_SRMR_CSU_RESET_MODE_MASK (0x30000U)
  75624. #define SRC_SRMR_CSU_RESET_MODE_SHIFT (16U)
  75625. /*! CSU_RESET_MODE - CSU reset mode configuration
  75626. * 0b00..reset system
  75627. * 0b01..reserved
  75628. * 0b10..reserved
  75629. * 0b11..do not reset anything
  75630. */
  75631. #define SRC_SRMR_CSU_RESET_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRMR_CSU_RESET_MODE_SHIFT)) & SRC_SRMR_CSU_RESET_MODE_MASK)
  75632. #define SRC_SRMR_JTAGSW_RESET_MODE_MASK (0xC0000U)
  75633. #define SRC_SRMR_JTAGSW_RESET_MODE_SHIFT (18U)
  75634. /*! JTAGSW_RESET_MODE - Jtag SW reset mode configuration
  75635. * 0b00..reset system
  75636. * 0b01..reserved
  75637. * 0b10..reserved
  75638. * 0b11..do not reset anything
  75639. */
  75640. #define SRC_SRMR_JTAGSW_RESET_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRMR_JTAGSW_RESET_MODE_SHIFT)) & SRC_SRMR_JTAGSW_RESET_MODE_MASK)
  75641. #define SRC_SRMR_OVERVOLT_RESET_MODE_MASK (0x300000U)
  75642. #define SRC_SRMR_OVERVOLT_RESET_MODE_SHIFT (20U)
  75643. /*! OVERVOLT_RESET_MODE - Jtag SW reset mode configuration
  75644. * 0b00..reset system
  75645. * 0b01..reserved
  75646. * 0b10..reserved
  75647. * 0b11..do not reset anything
  75648. */
  75649. #define SRC_SRMR_OVERVOLT_RESET_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRMR_OVERVOLT_RESET_MODE_SHIFT)) & SRC_SRMR_OVERVOLT_RESET_MODE_MASK)
  75650. /*! @} */
  75651. /*! @name SBMR1 - SRC Boot Mode Register 1 */
  75652. /*! @{ */
  75653. #define SRC_SBMR1_BOOT_CFG1_MASK (0xFFU)
  75654. #define SRC_SBMR1_BOOT_CFG1_SHIFT (0U)
  75655. #define SRC_SBMR1_BOOT_CFG1(x) (((uint32_t)(((uint32_t)(x)) << SRC_SBMR1_BOOT_CFG1_SHIFT)) & SRC_SBMR1_BOOT_CFG1_MASK)
  75656. #define SRC_SBMR1_BOOT_CFG2_MASK (0xFF00U)
  75657. #define SRC_SBMR1_BOOT_CFG2_SHIFT (8U)
  75658. #define SRC_SBMR1_BOOT_CFG2(x) (((uint32_t)(((uint32_t)(x)) << SRC_SBMR1_BOOT_CFG2_SHIFT)) & SRC_SBMR1_BOOT_CFG2_MASK)
  75659. #define SRC_SBMR1_BOOT_CFG3_MASK (0xFF0000U)
  75660. #define SRC_SBMR1_BOOT_CFG3_SHIFT (16U)
  75661. #define SRC_SBMR1_BOOT_CFG3(x) (((uint32_t)(((uint32_t)(x)) << SRC_SBMR1_BOOT_CFG3_SHIFT)) & SRC_SBMR1_BOOT_CFG3_MASK)
  75662. #define SRC_SBMR1_BOOT_CFG4_MASK (0xFF000000U)
  75663. #define SRC_SBMR1_BOOT_CFG4_SHIFT (24U)
  75664. #define SRC_SBMR1_BOOT_CFG4(x) (((uint32_t)(((uint32_t)(x)) << SRC_SBMR1_BOOT_CFG4_SHIFT)) & SRC_SBMR1_BOOT_CFG4_MASK)
  75665. /*! @} */
  75666. /*! @name SBMR2 - SRC Boot Mode Register 2 */
  75667. /*! @{ */
  75668. #define SRC_SBMR2_SEC_CONFIG_MASK (0x3U)
  75669. #define SRC_SBMR2_SEC_CONFIG_SHIFT (0U)
  75670. #define SRC_SBMR2_SEC_CONFIG(x) (((uint32_t)(((uint32_t)(x)) << SRC_SBMR2_SEC_CONFIG_SHIFT)) & SRC_SBMR2_SEC_CONFIG_MASK)
  75671. #define SRC_SBMR2_BT_FUSE_SEL_MASK (0x10U)
  75672. #define SRC_SBMR2_BT_FUSE_SEL_SHIFT (4U)
  75673. #define SRC_SBMR2_BT_FUSE_SEL(x) (((uint32_t)(((uint32_t)(x)) << SRC_SBMR2_BT_FUSE_SEL_SHIFT)) & SRC_SBMR2_BT_FUSE_SEL_MASK)
  75674. #define SRC_SBMR2_BMOD_MASK (0x3000000U)
  75675. #define SRC_SBMR2_BMOD_SHIFT (24U)
  75676. #define SRC_SBMR2_BMOD(x) (((uint32_t)(((uint32_t)(x)) << SRC_SBMR2_BMOD_SHIFT)) & SRC_SBMR2_BMOD_MASK)
  75677. /*! @} */
  75678. /*! @name SRSR - SRC Reset Status Register */
  75679. /*! @{ */
  75680. #define SRC_SRSR_IPP_RESET_B_M7_MASK (0x1U)
  75681. #define SRC_SRSR_IPP_RESET_B_M7_SHIFT (0U)
  75682. /*! IPP_RESET_B_M7
  75683. * 0b0..Reset is not a result of ipp_reset_b pin.
  75684. * 0b1..Reset is a result of ipp_reset_b pin.
  75685. */
  75686. #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)
  75687. #define SRC_SRSR_M7_REQUEST_M7_MASK (0x2U)
  75688. #define SRC_SRSR_M7_REQUEST_M7_SHIFT (1U)
  75689. /*! M7_REQUEST_M7
  75690. * 0b0..Reset is not a result of m7 reset request.
  75691. * 0b1..Reset is a result of m7 reset request.
  75692. */
  75693. #define SRC_SRSR_M7_REQUEST_M7(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_M7_REQUEST_M7_SHIFT)) & SRC_SRSR_M7_REQUEST_M7_MASK)
  75694. #define SRC_SRSR_M7_LOCKUP_M7_MASK (0x4U)
  75695. #define SRC_SRSR_M7_LOCKUP_M7_SHIFT (2U)
  75696. /*! M7_LOCKUP_M7
  75697. * 0b0..Reset is not a result of the mentioned case.
  75698. * 0b1..Reset is a result of the mentioned case.
  75699. */
  75700. #define SRC_SRSR_M7_LOCKUP_M7(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_M7_LOCKUP_M7_SHIFT)) & SRC_SRSR_M7_LOCKUP_M7_MASK)
  75701. #define SRC_SRSR_CSU_RESET_B_M7_MASK (0x8U)
  75702. #define SRC_SRSR_CSU_RESET_B_M7_SHIFT (3U)
  75703. /*! CSU_RESET_B_M7
  75704. * 0b0..Reset is not a result of the csu_reset_b event.
  75705. * 0b1..Reset is a result of the csu_reset_b event.
  75706. */
  75707. #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)
  75708. #define SRC_SRSR_IPP_USER_RESET_B_M7_MASK (0x10U)
  75709. #define SRC_SRSR_IPP_USER_RESET_B_M7_SHIFT (4U)
  75710. /*! IPP_USER_RESET_B_M7
  75711. * 0b0..Reset is not a result of the ipp_user_reset_b qualified as COLD reset event.
  75712. * 0b1..Reset is a result of the ipp_user_reset_b qualified as COLD reset event.
  75713. */
  75714. #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)
  75715. #define SRC_SRSR_WDOG_RST_B_M7_MASK (0x20U)
  75716. #define SRC_SRSR_WDOG_RST_B_M7_SHIFT (5U)
  75717. /*! WDOG_RST_B_M7
  75718. * 0b0..Reset is not a result of the watchdog time-out event.
  75719. * 0b1..Reset is a result of the watchdog time-out event.
  75720. */
  75721. #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)
  75722. #define SRC_SRSR_JTAG_RST_B_M7_MASK (0x40U)
  75723. #define SRC_SRSR_JTAG_RST_B_M7_SHIFT (6U)
  75724. /*! JTAG_RST_B_M7
  75725. * 0b0..Reset is not a result of HIGH-Z reset from JTAG.
  75726. * 0b1..Reset is a result of HIGH-Z reset from JTAG.
  75727. */
  75728. #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)
  75729. #define SRC_SRSR_JTAG_SW_RST_M7_MASK (0x80U)
  75730. #define SRC_SRSR_JTAG_SW_RST_M7_SHIFT (7U)
  75731. /*! JTAG_SW_RST_M7
  75732. * 0b0..Reset is not a result of software reset from JTAG.
  75733. * 0b1..Reset is a result of software reset from JTAG.
  75734. */
  75735. #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)
  75736. #define SRC_SRSR_WDOG3_RST_B_M7_MASK (0x100U)
  75737. #define SRC_SRSR_WDOG3_RST_B_M7_SHIFT (8U)
  75738. /*! WDOG3_RST_B_M7
  75739. * 0b0..Reset is not a result of the watchdog3 time-out event.
  75740. * 0b1..Reset is a result of the watchdog3 time-out event.
  75741. */
  75742. #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)
  75743. #define SRC_SRSR_WDOG4_RST_B_M7_MASK (0x200U)
  75744. #define SRC_SRSR_WDOG4_RST_B_M7_SHIFT (9U)
  75745. /*! WDOG4_RST_B_M7
  75746. * 0b0..Reset is not a result of the watchdog4 time-out event.
  75747. * 0b1..Reset is a result of the watchdog4 time-out event.
  75748. */
  75749. #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)
  75750. #define SRC_SRSR_TEMPSENSE_RST_B_M7_MASK (0x400U)
  75751. #define SRC_SRSR_TEMPSENSE_RST_B_M7_SHIFT (10U)
  75752. /*! TEMPSENSE_RST_B_M7
  75753. * 0b0..Reset is not a result of software reset from Temperature Sensor.
  75754. * 0b1..Reset is a result of software reset from Temperature Sensor.
  75755. */
  75756. #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)
  75757. #define SRC_SRSR_M4_REQUEST_M7_MASK (0x800U)
  75758. #define SRC_SRSR_M4_REQUEST_M7_SHIFT (11U)
  75759. /*! M4_REQUEST_M7
  75760. * 0b0..Reset is not a result of m4 reset request.
  75761. * 0b1..Reset is a result of m4 reset request.
  75762. */
  75763. #define SRC_SRSR_M4_REQUEST_M7(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_M4_REQUEST_M7_SHIFT)) & SRC_SRSR_M4_REQUEST_M7_MASK)
  75764. #define SRC_SRSR_M4_LOCKUP_M7_MASK (0x1000U)
  75765. #define SRC_SRSR_M4_LOCKUP_M7_SHIFT (12U)
  75766. /*! M4_LOCKUP_M7
  75767. * 0b0..Reset is not a result of the mentioned case.
  75768. * 0b1..Reset is a result of the mentioned case.
  75769. */
  75770. #define SRC_SRSR_M4_LOCKUP_M7(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_M4_LOCKUP_M7_SHIFT)) & SRC_SRSR_M4_LOCKUP_M7_MASK)
  75771. #define SRC_SRSR_OVERVOLT_RST_M7_MASK (0x2000U)
  75772. #define SRC_SRSR_OVERVOLT_RST_M7_SHIFT (13U)
  75773. /*! OVERVOLT_RST_M7
  75774. * 0b0..Reset is not a result of the mentioned case.
  75775. * 0b1..Reset is a result of the mentioned case.
  75776. */
  75777. #define SRC_SRSR_OVERVOLT_RST_M7(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_OVERVOLT_RST_M7_SHIFT)) & SRC_SRSR_OVERVOLT_RST_M7_MASK)
  75778. #define SRC_SRSR_CDOG_RST_M7_MASK (0x4000U)
  75779. #define SRC_SRSR_CDOG_RST_M7_SHIFT (14U)
  75780. /*! CDOG_RST_M7
  75781. * 0b0..Reset is not a result of the mentioned case.
  75782. * 0b1..Reset is a result of the mentioned case.
  75783. */
  75784. #define SRC_SRSR_CDOG_RST_M7(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_CDOG_RST_M7_SHIFT)) & SRC_SRSR_CDOG_RST_M7_MASK)
  75785. #define SRC_SRSR_IPP_RESET_B_M4_MASK (0x10000U)
  75786. #define SRC_SRSR_IPP_RESET_B_M4_SHIFT (16U)
  75787. /*! IPP_RESET_B_M4
  75788. * 0b0..Reset is not a result of ipp_reset_b pin.
  75789. * 0b1..Reset is a result of ipp_reset_b pin.
  75790. */
  75791. #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)
  75792. #define SRC_SRSR_M4_REQUEST_M4_MASK (0x20000U)
  75793. #define SRC_SRSR_M4_REQUEST_M4_SHIFT (17U)
  75794. /*! M4_REQUEST_M4
  75795. * 0b0..Reset is not a result of m4 reset request.
  75796. * 0b1..Reset is a result of m4 reset request.
  75797. */
  75798. #define SRC_SRSR_M4_REQUEST_M4(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_M4_REQUEST_M4_SHIFT)) & SRC_SRSR_M4_REQUEST_M4_MASK)
  75799. #define SRC_SRSR_M4_LOCKUP_M4_MASK (0x40000U)
  75800. #define SRC_SRSR_M4_LOCKUP_M4_SHIFT (18U)
  75801. /*! M4_LOCKUP_M4
  75802. * 0b0..Reset is not a result of the mentioned case.
  75803. * 0b1..Reset is a result of the mentioned case.
  75804. */
  75805. #define SRC_SRSR_M4_LOCKUP_M4(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_M4_LOCKUP_M4_SHIFT)) & SRC_SRSR_M4_LOCKUP_M4_MASK)
  75806. #define SRC_SRSR_CSU_RESET_B_M4_MASK (0x80000U)
  75807. #define SRC_SRSR_CSU_RESET_B_M4_SHIFT (19U)
  75808. /*! CSU_RESET_B_M4
  75809. * 0b0..Reset is not a result of the csu_reset_b event.
  75810. * 0b1..Reset is a result of the csu_reset_b event.
  75811. */
  75812. #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)
  75813. #define SRC_SRSR_IPP_USER_RESET_B_M4_MASK (0x100000U)
  75814. #define SRC_SRSR_IPP_USER_RESET_B_M4_SHIFT (20U)
  75815. /*! IPP_USER_RESET_B_M4
  75816. * 0b0..Reset is not a result of the ipp_user_reset_b qualified as COLD reset event.
  75817. * 0b1..Reset is a result of the ipp_user_reset_b qualified as COLD reset event.
  75818. */
  75819. #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)
  75820. #define SRC_SRSR_WDOG_RST_B_M4_MASK (0x200000U)
  75821. #define SRC_SRSR_WDOG_RST_B_M4_SHIFT (21U)
  75822. /*! WDOG_RST_B_M4
  75823. * 0b0..Reset is not a result of the watchdog time-out event.
  75824. * 0b1..Reset is a result of the watchdog time-out event.
  75825. */
  75826. #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)
  75827. #define SRC_SRSR_JTAG_RST_B_M4_MASK (0x400000U)
  75828. #define SRC_SRSR_JTAG_RST_B_M4_SHIFT (22U)
  75829. /*! JTAG_RST_B_M4
  75830. * 0b0..Reset is not a result of HIGH-Z reset from JTAG.
  75831. * 0b1..Reset is a result of HIGH-Z reset from JTAG.
  75832. */
  75833. #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)
  75834. #define SRC_SRSR_JTAG_SW_RST_M4_MASK (0x800000U)
  75835. #define SRC_SRSR_JTAG_SW_RST_M4_SHIFT (23U)
  75836. /*! JTAG_SW_RST_M4
  75837. * 0b0..Reset is not a result of software reset from JTAG.
  75838. * 0b1..Reset is a result of software reset from JTAG.
  75839. */
  75840. #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)
  75841. #define SRC_SRSR_WDOG3_RST_B_M4_MASK (0x1000000U)
  75842. #define SRC_SRSR_WDOG3_RST_B_M4_SHIFT (24U)
  75843. /*! WDOG3_RST_B_M4
  75844. * 0b0..Reset is not a result of the watchdog3 time-out event.
  75845. * 0b1..Reset is a result of the watchdog3 time-out event.
  75846. */
  75847. #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)
  75848. #define SRC_SRSR_WDOG4_RST_B_M4_MASK (0x2000000U)
  75849. #define SRC_SRSR_WDOG4_RST_B_M4_SHIFT (25U)
  75850. /*! WDOG4_RST_B_M4
  75851. * 0b0..Reset is not a result of the watchdog4 time-out event.
  75852. * 0b1..Reset is a result of the watchdog4 time-out event.
  75853. */
  75854. #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)
  75855. #define SRC_SRSR_TEMPSENSE_RST_B_M4_MASK (0x4000000U)
  75856. #define SRC_SRSR_TEMPSENSE_RST_B_M4_SHIFT (26U)
  75857. /*! TEMPSENSE_RST_B_M4
  75858. * 0b0..Reset is not a result of software reset from Temperature Sensor.
  75859. * 0b1..Reset is a result of software reset from Temperature Sensor.
  75860. */
  75861. #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)
  75862. #define SRC_SRSR_M7_REQUEST_M4_MASK (0x8000000U)
  75863. #define SRC_SRSR_M7_REQUEST_M4_SHIFT (27U)
  75864. /*! M7_REQUEST_M4
  75865. * 0b0..Reset is not a result of m7 reset request.
  75866. * 0b1..Reset is a result of m7 reset request.
  75867. */
  75868. #define SRC_SRSR_M7_REQUEST_M4(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_M7_REQUEST_M4_SHIFT)) & SRC_SRSR_M7_REQUEST_M4_MASK)
  75869. #define SRC_SRSR_M7_LOCKUP_M4_MASK (0x10000000U)
  75870. #define SRC_SRSR_M7_LOCKUP_M4_SHIFT (28U)
  75871. /*! M7_LOCKUP_M4
  75872. * 0b0..Reset is not a result of the mentioned case.
  75873. * 0b1..Reset is a result of the mentioned case.
  75874. */
  75875. #define SRC_SRSR_M7_LOCKUP_M4(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_M7_LOCKUP_M4_SHIFT)) & SRC_SRSR_M7_LOCKUP_M4_MASK)
  75876. #define SRC_SRSR_OVERVOLT_RST_M4_MASK (0x20000000U)
  75877. #define SRC_SRSR_OVERVOLT_RST_M4_SHIFT (29U)
  75878. /*! OVERVOLT_RST_M4
  75879. * 0b0..Reset is not a result of the mentioned case.
  75880. * 0b1..Reset is a result of the mentioned case.
  75881. */
  75882. #define SRC_SRSR_OVERVOLT_RST_M4(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_OVERVOLT_RST_M4_SHIFT)) & SRC_SRSR_OVERVOLT_RST_M4_MASK)
  75883. #define SRC_SRSR_CDOG_RST_M4_MASK (0x40000000U)
  75884. #define SRC_SRSR_CDOG_RST_M4_SHIFT (30U)
  75885. /*! CDOG_RST_M4
  75886. * 0b0..Reset is not a result of the mentioned case.
  75887. * 0b1..Reset is a result of the mentioned case.
  75888. */
  75889. #define SRC_SRSR_CDOG_RST_M4(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_CDOG_RST_M4_SHIFT)) & SRC_SRSR_CDOG_RST_M4_MASK)
  75890. /*! @} */
  75891. /*! @name GPR - SRC General Purpose Register */
  75892. /*! @{ */
  75893. #define SRC_GPR_GPR_MASK (0xFFFFFFFFU)
  75894. #define SRC_GPR_GPR_SHIFT (0U)
  75895. /*! GPR - General Purpose Register.
  75896. */
  75897. #define SRC_GPR_GPR(x) (((uint32_t)(((uint32_t)(x)) << SRC_GPR_GPR_SHIFT)) & SRC_GPR_GPR_MASK)
  75898. /*! @} */
  75899. /* The count of SRC_GPR */
  75900. #define SRC_GPR_COUNT (20U)
  75901. /*! @name AUTHEN_MEGA - Slice Authentication Register */
  75902. /*! @{ */
  75903. #define SRC_AUTHEN_MEGA_DOMAIN_MODE_MASK (0x1U)
  75904. #define SRC_AUTHEN_MEGA_DOMAIN_MODE_SHIFT (0U)
  75905. /*! DOMAIN_MODE
  75906. * 0b0..slice hardware reset will NOT be triggered by CPU power mode transition
  75907. * 0b1..slice hardware reset will be triggered by CPU power mode transition. Do not set this bit and SETPOINT_MODE at the same time.
  75908. */
  75909. #define SRC_AUTHEN_MEGA_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_MEGA_DOMAIN_MODE_SHIFT)) & SRC_AUTHEN_MEGA_DOMAIN_MODE_MASK)
  75910. #define SRC_AUTHEN_MEGA_SETPOINT_MODE_MASK (0x2U)
  75911. #define SRC_AUTHEN_MEGA_SETPOINT_MODE_SHIFT (1U)
  75912. /*! SETPOINT_MODE
  75913. * 0b0..slice hardware reset will NOT be triggered by Setpoint transition
  75914. * 0b1..slice hardware reset will be triggered by Setpoint transition. Do not set this bit and DOMAIN_MODE at the same time.
  75915. */
  75916. #define SRC_AUTHEN_MEGA_SETPOINT_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_MEGA_SETPOINT_MODE_SHIFT)) & SRC_AUTHEN_MEGA_SETPOINT_MODE_MASK)
  75917. #define SRC_AUTHEN_MEGA_LOCK_MODE_MASK (0x80U)
  75918. #define SRC_AUTHEN_MEGA_LOCK_MODE_SHIFT (7U)
  75919. /*! LOCK_MODE - Domain/Setpoint mode lock
  75920. */
  75921. #define SRC_AUTHEN_MEGA_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_MEGA_LOCK_MODE_SHIFT)) & SRC_AUTHEN_MEGA_LOCK_MODE_MASK)
  75922. #define SRC_AUTHEN_MEGA_ASSIGN_LIST_MASK (0xF00U)
  75923. #define SRC_AUTHEN_MEGA_ASSIGN_LIST_SHIFT (8U)
  75924. #define SRC_AUTHEN_MEGA_ASSIGN_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_MEGA_ASSIGN_LIST_SHIFT)) & SRC_AUTHEN_MEGA_ASSIGN_LIST_MASK)
  75925. #define SRC_AUTHEN_MEGA_LOCK_ASSIGN_MASK (0x8000U)
  75926. #define SRC_AUTHEN_MEGA_LOCK_ASSIGN_SHIFT (15U)
  75927. /*! LOCK_ASSIGN - Assign list lock
  75928. */
  75929. #define SRC_AUTHEN_MEGA_LOCK_ASSIGN(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_MEGA_LOCK_ASSIGN_SHIFT)) & SRC_AUTHEN_MEGA_LOCK_ASSIGN_MASK)
  75930. #define SRC_AUTHEN_MEGA_WHITE_LIST_MASK (0xF0000U)
  75931. #define SRC_AUTHEN_MEGA_WHITE_LIST_SHIFT (16U)
  75932. /*! WHITE_LIST - Domain ID white list
  75933. */
  75934. #define SRC_AUTHEN_MEGA_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_MEGA_WHITE_LIST_SHIFT)) & SRC_AUTHEN_MEGA_WHITE_LIST_MASK)
  75935. #define SRC_AUTHEN_MEGA_LOCK_LIST_MASK (0x800000U)
  75936. #define SRC_AUTHEN_MEGA_LOCK_LIST_SHIFT (23U)
  75937. /*! LOCK_LIST - White list lock
  75938. */
  75939. #define SRC_AUTHEN_MEGA_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_MEGA_LOCK_LIST_SHIFT)) & SRC_AUTHEN_MEGA_LOCK_LIST_MASK)
  75940. #define SRC_AUTHEN_MEGA_USER_MASK (0x1000000U)
  75941. #define SRC_AUTHEN_MEGA_USER_SHIFT (24U)
  75942. /*! USER - Allow user mode access
  75943. */
  75944. #define SRC_AUTHEN_MEGA_USER(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_MEGA_USER_SHIFT)) & SRC_AUTHEN_MEGA_USER_MASK)
  75945. #define SRC_AUTHEN_MEGA_NONSECURE_MASK (0x2000000U)
  75946. #define SRC_AUTHEN_MEGA_NONSECURE_SHIFT (25U)
  75947. /*! NONSECURE - Allow non-secure mode access
  75948. */
  75949. #define SRC_AUTHEN_MEGA_NONSECURE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_MEGA_NONSECURE_SHIFT)) & SRC_AUTHEN_MEGA_NONSECURE_MASK)
  75950. #define SRC_AUTHEN_MEGA_LOCK_SETTING_MASK (0x80000000U)
  75951. #define SRC_AUTHEN_MEGA_LOCK_SETTING_SHIFT (31U)
  75952. /*! LOCK_SETTING - Lock NONSECURE and USER
  75953. */
  75954. #define SRC_AUTHEN_MEGA_LOCK_SETTING(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_MEGA_LOCK_SETTING_SHIFT)) & SRC_AUTHEN_MEGA_LOCK_SETTING_MASK)
  75955. /*! @} */
  75956. /*! @name CTRL_MEGA - Slice Control Register */
  75957. /*! @{ */
  75958. #define SRC_CTRL_MEGA_SW_RESET_MASK (0x1U)
  75959. #define SRC_CTRL_MEGA_SW_RESET_SHIFT (0U)
  75960. /*! SW_RESET
  75961. * 0b0..do not assert slice software reset
  75962. * 0b1..assert slice software reset
  75963. */
  75964. #define SRC_CTRL_MEGA_SW_RESET(x) (((uint32_t)(((uint32_t)(x)) << SRC_CTRL_MEGA_SW_RESET_SHIFT)) & SRC_CTRL_MEGA_SW_RESET_MASK)
  75965. /*! @} */
  75966. /*! @name SETPOINT_MEGA - Slice Setpoint Config Register */
  75967. /*! @{ */
  75968. #define SRC_SETPOINT_MEGA_SETPOINT0_MASK (0x1U)
  75969. #define SRC_SETPOINT_MEGA_SETPOINT0_SHIFT (0U)
  75970. /*! SETPOINT0 - SETPOINT0
  75971. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75972. * 0b1..Slice reset will be asserted when system in Setpoint n
  75973. */
  75974. #define SRC_SETPOINT_MEGA_SETPOINT0(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_MEGA_SETPOINT0_SHIFT)) & SRC_SETPOINT_MEGA_SETPOINT0_MASK)
  75975. #define SRC_SETPOINT_MEGA_SETPOINT1_MASK (0x2U)
  75976. #define SRC_SETPOINT_MEGA_SETPOINT1_SHIFT (1U)
  75977. /*! SETPOINT1 - SETPOINT1
  75978. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75979. * 0b1..Slice reset will be asserted when system in Setpoint n
  75980. */
  75981. #define SRC_SETPOINT_MEGA_SETPOINT1(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_MEGA_SETPOINT1_SHIFT)) & SRC_SETPOINT_MEGA_SETPOINT1_MASK)
  75982. #define SRC_SETPOINT_MEGA_SETPOINT2_MASK (0x4U)
  75983. #define SRC_SETPOINT_MEGA_SETPOINT2_SHIFT (2U)
  75984. /*! SETPOINT2 - SETPOINT2
  75985. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75986. * 0b1..Slice reset will be asserted when system in Setpoint n
  75987. */
  75988. #define SRC_SETPOINT_MEGA_SETPOINT2(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_MEGA_SETPOINT2_SHIFT)) & SRC_SETPOINT_MEGA_SETPOINT2_MASK)
  75989. #define SRC_SETPOINT_MEGA_SETPOINT3_MASK (0x8U)
  75990. #define SRC_SETPOINT_MEGA_SETPOINT3_SHIFT (3U)
  75991. /*! SETPOINT3 - SETPOINT3
  75992. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75993. * 0b1..Slice reset will be asserted when system in Setpoint n
  75994. */
  75995. #define SRC_SETPOINT_MEGA_SETPOINT3(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_MEGA_SETPOINT3_SHIFT)) & SRC_SETPOINT_MEGA_SETPOINT3_MASK)
  75996. #define SRC_SETPOINT_MEGA_SETPOINT4_MASK (0x10U)
  75997. #define SRC_SETPOINT_MEGA_SETPOINT4_SHIFT (4U)
  75998. /*! SETPOINT4 - SETPOINT4
  75999. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76000. * 0b1..Slice reset will be asserted when system in Setpoint n
  76001. */
  76002. #define SRC_SETPOINT_MEGA_SETPOINT4(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_MEGA_SETPOINT4_SHIFT)) & SRC_SETPOINT_MEGA_SETPOINT4_MASK)
  76003. #define SRC_SETPOINT_MEGA_SETPOINT5_MASK (0x20U)
  76004. #define SRC_SETPOINT_MEGA_SETPOINT5_SHIFT (5U)
  76005. /*! SETPOINT5 - SETPOINT5
  76006. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76007. * 0b1..Slice reset will be asserted when system in Setpoint n
  76008. */
  76009. #define SRC_SETPOINT_MEGA_SETPOINT5(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_MEGA_SETPOINT5_SHIFT)) & SRC_SETPOINT_MEGA_SETPOINT5_MASK)
  76010. #define SRC_SETPOINT_MEGA_SETPOINT6_MASK (0x40U)
  76011. #define SRC_SETPOINT_MEGA_SETPOINT6_SHIFT (6U)
  76012. /*! SETPOINT6 - SETPOINT6
  76013. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76014. * 0b1..Slice reset will be asserted when system in Setpoint n
  76015. */
  76016. #define SRC_SETPOINT_MEGA_SETPOINT6(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_MEGA_SETPOINT6_SHIFT)) & SRC_SETPOINT_MEGA_SETPOINT6_MASK)
  76017. #define SRC_SETPOINT_MEGA_SETPOINT7_MASK (0x80U)
  76018. #define SRC_SETPOINT_MEGA_SETPOINT7_SHIFT (7U)
  76019. /*! SETPOINT7 - SETPOINT7
  76020. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76021. * 0b1..Slice reset will be asserted when system in Setpoint n
  76022. */
  76023. #define SRC_SETPOINT_MEGA_SETPOINT7(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_MEGA_SETPOINT7_SHIFT)) & SRC_SETPOINT_MEGA_SETPOINT7_MASK)
  76024. #define SRC_SETPOINT_MEGA_SETPOINT8_MASK (0x100U)
  76025. #define SRC_SETPOINT_MEGA_SETPOINT8_SHIFT (8U)
  76026. /*! SETPOINT8 - SETPOINT8
  76027. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76028. * 0b1..Slice reset will be asserted when system in Setpoint n
  76029. */
  76030. #define SRC_SETPOINT_MEGA_SETPOINT8(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_MEGA_SETPOINT8_SHIFT)) & SRC_SETPOINT_MEGA_SETPOINT8_MASK)
  76031. #define SRC_SETPOINT_MEGA_SETPOINT9_MASK (0x200U)
  76032. #define SRC_SETPOINT_MEGA_SETPOINT9_SHIFT (9U)
  76033. /*! SETPOINT9 - SETPOINT9
  76034. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76035. * 0b1..Slice reset will be asserted when system in Setpoint n
  76036. */
  76037. #define SRC_SETPOINT_MEGA_SETPOINT9(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_MEGA_SETPOINT9_SHIFT)) & SRC_SETPOINT_MEGA_SETPOINT9_MASK)
  76038. #define SRC_SETPOINT_MEGA_SETPOINT10_MASK (0x400U)
  76039. #define SRC_SETPOINT_MEGA_SETPOINT10_SHIFT (10U)
  76040. /*! SETPOINT10 - SETPOINT10
  76041. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76042. * 0b1..Slice reset will be asserted when system in Setpoint n
  76043. */
  76044. #define SRC_SETPOINT_MEGA_SETPOINT10(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_MEGA_SETPOINT10_SHIFT)) & SRC_SETPOINT_MEGA_SETPOINT10_MASK)
  76045. #define SRC_SETPOINT_MEGA_SETPOINT11_MASK (0x800U)
  76046. #define SRC_SETPOINT_MEGA_SETPOINT11_SHIFT (11U)
  76047. /*! SETPOINT11 - SETPOINT11
  76048. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76049. * 0b1..Slice reset will be asserted when system in Setpoint n
  76050. */
  76051. #define SRC_SETPOINT_MEGA_SETPOINT11(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_MEGA_SETPOINT11_SHIFT)) & SRC_SETPOINT_MEGA_SETPOINT11_MASK)
  76052. #define SRC_SETPOINT_MEGA_SETPOINT12_MASK (0x1000U)
  76053. #define SRC_SETPOINT_MEGA_SETPOINT12_SHIFT (12U)
  76054. /*! SETPOINT12 - SETPOINT12
  76055. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76056. * 0b1..Slice reset will be asserted when system in Setpoint n
  76057. */
  76058. #define SRC_SETPOINT_MEGA_SETPOINT12(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_MEGA_SETPOINT12_SHIFT)) & SRC_SETPOINT_MEGA_SETPOINT12_MASK)
  76059. #define SRC_SETPOINT_MEGA_SETPOINT13_MASK (0x2000U)
  76060. #define SRC_SETPOINT_MEGA_SETPOINT13_SHIFT (13U)
  76061. /*! SETPOINT13 - SETPOINT13
  76062. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76063. * 0b1..Slice reset will be asserted when system in Setpoint n
  76064. */
  76065. #define SRC_SETPOINT_MEGA_SETPOINT13(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_MEGA_SETPOINT13_SHIFT)) & SRC_SETPOINT_MEGA_SETPOINT13_MASK)
  76066. #define SRC_SETPOINT_MEGA_SETPOINT14_MASK (0x4000U)
  76067. #define SRC_SETPOINT_MEGA_SETPOINT14_SHIFT (14U)
  76068. /*! SETPOINT14 - SETPOINT14
  76069. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76070. * 0b1..Slice reset will be asserted when system in Setpoint n
  76071. */
  76072. #define SRC_SETPOINT_MEGA_SETPOINT14(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_MEGA_SETPOINT14_SHIFT)) & SRC_SETPOINT_MEGA_SETPOINT14_MASK)
  76073. #define SRC_SETPOINT_MEGA_SETPOINT15_MASK (0x8000U)
  76074. #define SRC_SETPOINT_MEGA_SETPOINT15_SHIFT (15U)
  76075. /*! SETPOINT15 - SETPOINT15
  76076. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76077. * 0b1..Slice reset will be asserted when system in Setpoint n
  76078. */
  76079. #define SRC_SETPOINT_MEGA_SETPOINT15(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_MEGA_SETPOINT15_SHIFT)) & SRC_SETPOINT_MEGA_SETPOINT15_MASK)
  76080. /*! @} */
  76081. /*! @name DOMAIN_MEGA - Slice Domain Config Register */
  76082. /*! @{ */
  76083. #define SRC_DOMAIN_MEGA_CPU0_RUN_MASK (0x1U)
  76084. #define SRC_DOMAIN_MEGA_CPU0_RUN_SHIFT (0U)
  76085. /*! CPU0_RUN - CPU mode setting for RUN
  76086. * 0b0..Slice reset will be de-asserted when CPU0 in RUN mode
  76087. * 0b1..Slice reset will be asserted when CPU0 in RUN mode
  76088. */
  76089. #define SRC_DOMAIN_MEGA_CPU0_RUN(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_MEGA_CPU0_RUN_SHIFT)) & SRC_DOMAIN_MEGA_CPU0_RUN_MASK)
  76090. #define SRC_DOMAIN_MEGA_CPU0_WAIT_MASK (0x2U)
  76091. #define SRC_DOMAIN_MEGA_CPU0_WAIT_SHIFT (1U)
  76092. /*! CPU0_WAIT - CPU mode setting for WAIT
  76093. * 0b0..Slice reset will be de-asserted when CPU0 in WAIT mode
  76094. * 0b1..Slice reset will be asserted when CPU0 in WAIT mode
  76095. */
  76096. #define SRC_DOMAIN_MEGA_CPU0_WAIT(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_MEGA_CPU0_WAIT_SHIFT)) & SRC_DOMAIN_MEGA_CPU0_WAIT_MASK)
  76097. #define SRC_DOMAIN_MEGA_CPU0_STOP_MASK (0x4U)
  76098. #define SRC_DOMAIN_MEGA_CPU0_STOP_SHIFT (2U)
  76099. /*! CPU0_STOP - CPU mode setting for STOP
  76100. * 0b0..Slice reset will be de-asserted when CPU0 in STOP mode
  76101. * 0b1..Slice reset will be asserted when CPU0 in STOP mode
  76102. */
  76103. #define SRC_DOMAIN_MEGA_CPU0_STOP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_MEGA_CPU0_STOP_SHIFT)) & SRC_DOMAIN_MEGA_CPU0_STOP_MASK)
  76104. #define SRC_DOMAIN_MEGA_CPU0_SUSP_MASK (0x8U)
  76105. #define SRC_DOMAIN_MEGA_CPU0_SUSP_SHIFT (3U)
  76106. /*! CPU0_SUSP - CPU mode setting for SUSPEND
  76107. * 0b0..Slice reset will be de-asserted when CPU0 in SUSPEND mode
  76108. * 0b1..Slice reset will be asserted when CPU0 in SUSPEND mode
  76109. */
  76110. #define SRC_DOMAIN_MEGA_CPU0_SUSP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_MEGA_CPU0_SUSP_SHIFT)) & SRC_DOMAIN_MEGA_CPU0_SUSP_MASK)
  76111. #define SRC_DOMAIN_MEGA_CPU1_RUN_MASK (0x10U)
  76112. #define SRC_DOMAIN_MEGA_CPU1_RUN_SHIFT (4U)
  76113. /*! CPU1_RUN - CPU mode setting for RUN
  76114. * 0b0..Slice reset will be de-asserted when CPU1 in RUN mode
  76115. * 0b1..Slice reset will be asserted when CPU1 in RUN mode
  76116. */
  76117. #define SRC_DOMAIN_MEGA_CPU1_RUN(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_MEGA_CPU1_RUN_SHIFT)) & SRC_DOMAIN_MEGA_CPU1_RUN_MASK)
  76118. #define SRC_DOMAIN_MEGA_CPU1_WAIT_MASK (0x20U)
  76119. #define SRC_DOMAIN_MEGA_CPU1_WAIT_SHIFT (5U)
  76120. /*! CPU1_WAIT - CPU mode setting for WAIT
  76121. * 0b0..Slice reset will be de-asserted when CPU1 in WAIT mode
  76122. * 0b1..Slice reset will be asserted when CPU1 in WAIT mode
  76123. */
  76124. #define SRC_DOMAIN_MEGA_CPU1_WAIT(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_MEGA_CPU1_WAIT_SHIFT)) & SRC_DOMAIN_MEGA_CPU1_WAIT_MASK)
  76125. #define SRC_DOMAIN_MEGA_CPU1_STOP_MASK (0x40U)
  76126. #define SRC_DOMAIN_MEGA_CPU1_STOP_SHIFT (6U)
  76127. /*! CPU1_STOP - CPU mode setting for STOP
  76128. * 0b0..Slice reset will be de-asserted when CPU1 in STOP mode
  76129. * 0b1..Slice reset will be asserted when CPU1 in STOP mode
  76130. */
  76131. #define SRC_DOMAIN_MEGA_CPU1_STOP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_MEGA_CPU1_STOP_SHIFT)) & SRC_DOMAIN_MEGA_CPU1_STOP_MASK)
  76132. #define SRC_DOMAIN_MEGA_CPU1_SUSP_MASK (0x80U)
  76133. #define SRC_DOMAIN_MEGA_CPU1_SUSP_SHIFT (7U)
  76134. /*! CPU1_SUSP - CPU mode setting for SUSPEND
  76135. * 0b0..Slice reset will be de-asserted when CPU1 in SUSPEND mode
  76136. * 0b1..Slice reset will be asserted when CPU1 in SUSPEND mode
  76137. */
  76138. #define SRC_DOMAIN_MEGA_CPU1_SUSP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_MEGA_CPU1_SUSP_SHIFT)) & SRC_DOMAIN_MEGA_CPU1_SUSP_MASK)
  76139. /*! @} */
  76140. /*! @name STAT_MEGA - Slice Status Register */
  76141. /*! @{ */
  76142. #define SRC_STAT_MEGA_UNDER_RST_MASK (0x1U)
  76143. #define SRC_STAT_MEGA_UNDER_RST_SHIFT (0U)
  76144. /*! UNDER_RST
  76145. * 0b0..the reset is finished
  76146. * 0b1..the reset is in process
  76147. */
  76148. #define SRC_STAT_MEGA_UNDER_RST(x) (((uint32_t)(((uint32_t)(x)) << SRC_STAT_MEGA_UNDER_RST_SHIFT)) & SRC_STAT_MEGA_UNDER_RST_MASK)
  76149. #define SRC_STAT_MEGA_RST_BY_HW_MASK (0x4U)
  76150. #define SRC_STAT_MEGA_RST_BY_HW_SHIFT (2U)
  76151. /*! RST_BY_HW
  76152. * 0b0..the reset is not caused by the power mode transfer
  76153. * 0b1..the reset is caused by the power mode transfer
  76154. */
  76155. #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)
  76156. #define SRC_STAT_MEGA_RST_BY_SW_MASK (0x8U)
  76157. #define SRC_STAT_MEGA_RST_BY_SW_SHIFT (3U)
  76158. /*! RST_BY_SW
  76159. * 0b0..the reset is not caused by software setting
  76160. * 0b1..the reset is caused by software setting
  76161. */
  76162. #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)
  76163. /*! @} */
  76164. /*! @name AUTHEN_DISPLAY - Slice Authentication Register */
  76165. /*! @{ */
  76166. #define SRC_AUTHEN_DISPLAY_DOMAIN_MODE_MASK (0x1U)
  76167. #define SRC_AUTHEN_DISPLAY_DOMAIN_MODE_SHIFT (0U)
  76168. /*! DOMAIN_MODE
  76169. * 0b0..slice hardware reset will NOT be triggered by CPU power mode transition
  76170. * 0b1..slice hardware reset will be triggered by CPU power mode transition. Do not set this bit and SETPOINT_MODE at the same time.
  76171. */
  76172. #define SRC_AUTHEN_DISPLAY_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_DISPLAY_DOMAIN_MODE_SHIFT)) & SRC_AUTHEN_DISPLAY_DOMAIN_MODE_MASK)
  76173. #define SRC_AUTHEN_DISPLAY_SETPOINT_MODE_MASK (0x2U)
  76174. #define SRC_AUTHEN_DISPLAY_SETPOINT_MODE_SHIFT (1U)
  76175. /*! SETPOINT_MODE
  76176. * 0b0..slice hardware reset will NOT be triggered by Setpoint transition
  76177. * 0b1..slice hardware reset will be triggered by Setpoint transition. Do not set this bit and DOMAIN_MODE at the same time.
  76178. */
  76179. #define SRC_AUTHEN_DISPLAY_SETPOINT_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_DISPLAY_SETPOINT_MODE_SHIFT)) & SRC_AUTHEN_DISPLAY_SETPOINT_MODE_MASK)
  76180. #define SRC_AUTHEN_DISPLAY_LOCK_MODE_MASK (0x80U)
  76181. #define SRC_AUTHEN_DISPLAY_LOCK_MODE_SHIFT (7U)
  76182. /*! LOCK_MODE - Domain/Setpoint mode lock
  76183. */
  76184. #define SRC_AUTHEN_DISPLAY_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_DISPLAY_LOCK_MODE_SHIFT)) & SRC_AUTHEN_DISPLAY_LOCK_MODE_MASK)
  76185. #define SRC_AUTHEN_DISPLAY_ASSIGN_LIST_MASK (0xF00U)
  76186. #define SRC_AUTHEN_DISPLAY_ASSIGN_LIST_SHIFT (8U)
  76187. #define SRC_AUTHEN_DISPLAY_ASSIGN_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_DISPLAY_ASSIGN_LIST_SHIFT)) & SRC_AUTHEN_DISPLAY_ASSIGN_LIST_MASK)
  76188. #define SRC_AUTHEN_DISPLAY_LOCK_ASSIGN_MASK (0x8000U)
  76189. #define SRC_AUTHEN_DISPLAY_LOCK_ASSIGN_SHIFT (15U)
  76190. /*! LOCK_ASSIGN - Assign list lock
  76191. */
  76192. #define SRC_AUTHEN_DISPLAY_LOCK_ASSIGN(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_DISPLAY_LOCK_ASSIGN_SHIFT)) & SRC_AUTHEN_DISPLAY_LOCK_ASSIGN_MASK)
  76193. #define SRC_AUTHEN_DISPLAY_WHITE_LIST_MASK (0xF0000U)
  76194. #define SRC_AUTHEN_DISPLAY_WHITE_LIST_SHIFT (16U)
  76195. /*! WHITE_LIST - Domain ID white list
  76196. */
  76197. #define SRC_AUTHEN_DISPLAY_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_DISPLAY_WHITE_LIST_SHIFT)) & SRC_AUTHEN_DISPLAY_WHITE_LIST_MASK)
  76198. #define SRC_AUTHEN_DISPLAY_LOCK_LIST_MASK (0x800000U)
  76199. #define SRC_AUTHEN_DISPLAY_LOCK_LIST_SHIFT (23U)
  76200. /*! LOCK_LIST - White list lock
  76201. */
  76202. #define SRC_AUTHEN_DISPLAY_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_DISPLAY_LOCK_LIST_SHIFT)) & SRC_AUTHEN_DISPLAY_LOCK_LIST_MASK)
  76203. #define SRC_AUTHEN_DISPLAY_USER_MASK (0x1000000U)
  76204. #define SRC_AUTHEN_DISPLAY_USER_SHIFT (24U)
  76205. /*! USER - Allow user mode access
  76206. */
  76207. #define SRC_AUTHEN_DISPLAY_USER(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_DISPLAY_USER_SHIFT)) & SRC_AUTHEN_DISPLAY_USER_MASK)
  76208. #define SRC_AUTHEN_DISPLAY_NONSECURE_MASK (0x2000000U)
  76209. #define SRC_AUTHEN_DISPLAY_NONSECURE_SHIFT (25U)
  76210. /*! NONSECURE - Allow non-secure mode access
  76211. */
  76212. #define SRC_AUTHEN_DISPLAY_NONSECURE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_DISPLAY_NONSECURE_SHIFT)) & SRC_AUTHEN_DISPLAY_NONSECURE_MASK)
  76213. #define SRC_AUTHEN_DISPLAY_LOCK_SETTING_MASK (0x80000000U)
  76214. #define SRC_AUTHEN_DISPLAY_LOCK_SETTING_SHIFT (31U)
  76215. /*! LOCK_SETTING - Lock NONSECURE and USER
  76216. */
  76217. #define SRC_AUTHEN_DISPLAY_LOCK_SETTING(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_DISPLAY_LOCK_SETTING_SHIFT)) & SRC_AUTHEN_DISPLAY_LOCK_SETTING_MASK)
  76218. /*! @} */
  76219. /*! @name CTRL_DISPLAY - Slice Control Register */
  76220. /*! @{ */
  76221. #define SRC_CTRL_DISPLAY_SW_RESET_MASK (0x1U)
  76222. #define SRC_CTRL_DISPLAY_SW_RESET_SHIFT (0U)
  76223. /*! SW_RESET
  76224. * 0b0..do not assert slice software reset
  76225. * 0b1..assert slice software reset
  76226. */
  76227. #define SRC_CTRL_DISPLAY_SW_RESET(x) (((uint32_t)(((uint32_t)(x)) << SRC_CTRL_DISPLAY_SW_RESET_SHIFT)) & SRC_CTRL_DISPLAY_SW_RESET_MASK)
  76228. /*! @} */
  76229. /*! @name SETPOINT_DISPLAY - Slice Setpoint Config Register */
  76230. /*! @{ */
  76231. #define SRC_SETPOINT_DISPLAY_SETPOINT0_MASK (0x1U)
  76232. #define SRC_SETPOINT_DISPLAY_SETPOINT0_SHIFT (0U)
  76233. /*! SETPOINT0 - SETPOINT0
  76234. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76235. * 0b1..Slice reset will be asserted when system in Setpoint n
  76236. */
  76237. #define SRC_SETPOINT_DISPLAY_SETPOINT0(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_DISPLAY_SETPOINT0_SHIFT)) & SRC_SETPOINT_DISPLAY_SETPOINT0_MASK)
  76238. #define SRC_SETPOINT_DISPLAY_SETPOINT1_MASK (0x2U)
  76239. #define SRC_SETPOINT_DISPLAY_SETPOINT1_SHIFT (1U)
  76240. /*! SETPOINT1 - SETPOINT1
  76241. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76242. * 0b1..Slice reset will be asserted when system in Setpoint n
  76243. */
  76244. #define SRC_SETPOINT_DISPLAY_SETPOINT1(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_DISPLAY_SETPOINT1_SHIFT)) & SRC_SETPOINT_DISPLAY_SETPOINT1_MASK)
  76245. #define SRC_SETPOINT_DISPLAY_SETPOINT2_MASK (0x4U)
  76246. #define SRC_SETPOINT_DISPLAY_SETPOINT2_SHIFT (2U)
  76247. /*! SETPOINT2 - SETPOINT2
  76248. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76249. * 0b1..Slice reset will be asserted when system in Setpoint n
  76250. */
  76251. #define SRC_SETPOINT_DISPLAY_SETPOINT2(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_DISPLAY_SETPOINT2_SHIFT)) & SRC_SETPOINT_DISPLAY_SETPOINT2_MASK)
  76252. #define SRC_SETPOINT_DISPLAY_SETPOINT3_MASK (0x8U)
  76253. #define SRC_SETPOINT_DISPLAY_SETPOINT3_SHIFT (3U)
  76254. /*! SETPOINT3 - SETPOINT3
  76255. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76256. * 0b1..Slice reset will be asserted when system in Setpoint n
  76257. */
  76258. #define SRC_SETPOINT_DISPLAY_SETPOINT3(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_DISPLAY_SETPOINT3_SHIFT)) & SRC_SETPOINT_DISPLAY_SETPOINT3_MASK)
  76259. #define SRC_SETPOINT_DISPLAY_SETPOINT4_MASK (0x10U)
  76260. #define SRC_SETPOINT_DISPLAY_SETPOINT4_SHIFT (4U)
  76261. /*! SETPOINT4 - SETPOINT4
  76262. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76263. * 0b1..Slice reset will be asserted when system in Setpoint n
  76264. */
  76265. #define SRC_SETPOINT_DISPLAY_SETPOINT4(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_DISPLAY_SETPOINT4_SHIFT)) & SRC_SETPOINT_DISPLAY_SETPOINT4_MASK)
  76266. #define SRC_SETPOINT_DISPLAY_SETPOINT5_MASK (0x20U)
  76267. #define SRC_SETPOINT_DISPLAY_SETPOINT5_SHIFT (5U)
  76268. /*! SETPOINT5 - SETPOINT5
  76269. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76270. * 0b1..Slice reset will be asserted when system in Setpoint n
  76271. */
  76272. #define SRC_SETPOINT_DISPLAY_SETPOINT5(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_DISPLAY_SETPOINT5_SHIFT)) & SRC_SETPOINT_DISPLAY_SETPOINT5_MASK)
  76273. #define SRC_SETPOINT_DISPLAY_SETPOINT6_MASK (0x40U)
  76274. #define SRC_SETPOINT_DISPLAY_SETPOINT6_SHIFT (6U)
  76275. /*! SETPOINT6 - SETPOINT6
  76276. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76277. * 0b1..Slice reset will be asserted when system in Setpoint n
  76278. */
  76279. #define SRC_SETPOINT_DISPLAY_SETPOINT6(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_DISPLAY_SETPOINT6_SHIFT)) & SRC_SETPOINT_DISPLAY_SETPOINT6_MASK)
  76280. #define SRC_SETPOINT_DISPLAY_SETPOINT7_MASK (0x80U)
  76281. #define SRC_SETPOINT_DISPLAY_SETPOINT7_SHIFT (7U)
  76282. /*! SETPOINT7 - SETPOINT7
  76283. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76284. * 0b1..Slice reset will be asserted when system in Setpoint n
  76285. */
  76286. #define SRC_SETPOINT_DISPLAY_SETPOINT7(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_DISPLAY_SETPOINT7_SHIFT)) & SRC_SETPOINT_DISPLAY_SETPOINT7_MASK)
  76287. #define SRC_SETPOINT_DISPLAY_SETPOINT8_MASK (0x100U)
  76288. #define SRC_SETPOINT_DISPLAY_SETPOINT8_SHIFT (8U)
  76289. /*! SETPOINT8 - SETPOINT8
  76290. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76291. * 0b1..Slice reset will be asserted when system in Setpoint n
  76292. */
  76293. #define SRC_SETPOINT_DISPLAY_SETPOINT8(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_DISPLAY_SETPOINT8_SHIFT)) & SRC_SETPOINT_DISPLAY_SETPOINT8_MASK)
  76294. #define SRC_SETPOINT_DISPLAY_SETPOINT9_MASK (0x200U)
  76295. #define SRC_SETPOINT_DISPLAY_SETPOINT9_SHIFT (9U)
  76296. /*! SETPOINT9 - SETPOINT9
  76297. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76298. * 0b1..Slice reset will be asserted when system in Setpoint n
  76299. */
  76300. #define SRC_SETPOINT_DISPLAY_SETPOINT9(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_DISPLAY_SETPOINT9_SHIFT)) & SRC_SETPOINT_DISPLAY_SETPOINT9_MASK)
  76301. #define SRC_SETPOINT_DISPLAY_SETPOINT10_MASK (0x400U)
  76302. #define SRC_SETPOINT_DISPLAY_SETPOINT10_SHIFT (10U)
  76303. /*! SETPOINT10 - SETPOINT10
  76304. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76305. * 0b1..Slice reset will be asserted when system in Setpoint n
  76306. */
  76307. #define SRC_SETPOINT_DISPLAY_SETPOINT10(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_DISPLAY_SETPOINT10_SHIFT)) & SRC_SETPOINT_DISPLAY_SETPOINT10_MASK)
  76308. #define SRC_SETPOINT_DISPLAY_SETPOINT11_MASK (0x800U)
  76309. #define SRC_SETPOINT_DISPLAY_SETPOINT11_SHIFT (11U)
  76310. /*! SETPOINT11 - SETPOINT11
  76311. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76312. * 0b1..Slice reset will be asserted when system in Setpoint n
  76313. */
  76314. #define SRC_SETPOINT_DISPLAY_SETPOINT11(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_DISPLAY_SETPOINT11_SHIFT)) & SRC_SETPOINT_DISPLAY_SETPOINT11_MASK)
  76315. #define SRC_SETPOINT_DISPLAY_SETPOINT12_MASK (0x1000U)
  76316. #define SRC_SETPOINT_DISPLAY_SETPOINT12_SHIFT (12U)
  76317. /*! SETPOINT12 - SETPOINT12
  76318. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76319. * 0b1..Slice reset will be asserted when system in Setpoint n
  76320. */
  76321. #define SRC_SETPOINT_DISPLAY_SETPOINT12(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_DISPLAY_SETPOINT12_SHIFT)) & SRC_SETPOINT_DISPLAY_SETPOINT12_MASK)
  76322. #define SRC_SETPOINT_DISPLAY_SETPOINT13_MASK (0x2000U)
  76323. #define SRC_SETPOINT_DISPLAY_SETPOINT13_SHIFT (13U)
  76324. /*! SETPOINT13 - SETPOINT13
  76325. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76326. * 0b1..Slice reset will be asserted when system in Setpoint n
  76327. */
  76328. #define SRC_SETPOINT_DISPLAY_SETPOINT13(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_DISPLAY_SETPOINT13_SHIFT)) & SRC_SETPOINT_DISPLAY_SETPOINT13_MASK)
  76329. #define SRC_SETPOINT_DISPLAY_SETPOINT14_MASK (0x4000U)
  76330. #define SRC_SETPOINT_DISPLAY_SETPOINT14_SHIFT (14U)
  76331. /*! SETPOINT14 - SETPOINT14
  76332. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76333. * 0b1..Slice reset will be asserted when system in Setpoint n
  76334. */
  76335. #define SRC_SETPOINT_DISPLAY_SETPOINT14(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_DISPLAY_SETPOINT14_SHIFT)) & SRC_SETPOINT_DISPLAY_SETPOINT14_MASK)
  76336. #define SRC_SETPOINT_DISPLAY_SETPOINT15_MASK (0x8000U)
  76337. #define SRC_SETPOINT_DISPLAY_SETPOINT15_SHIFT (15U)
  76338. /*! SETPOINT15 - SETPOINT15
  76339. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76340. * 0b1..Slice reset will be asserted when system in Setpoint n
  76341. */
  76342. #define SRC_SETPOINT_DISPLAY_SETPOINT15(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_DISPLAY_SETPOINT15_SHIFT)) & SRC_SETPOINT_DISPLAY_SETPOINT15_MASK)
  76343. /*! @} */
  76344. /*! @name DOMAIN_DISPLAY - Slice Domain Config Register */
  76345. /*! @{ */
  76346. #define SRC_DOMAIN_DISPLAY_CPU0_RUN_MASK (0x1U)
  76347. #define SRC_DOMAIN_DISPLAY_CPU0_RUN_SHIFT (0U)
  76348. /*! CPU0_RUN - CPU mode setting for RUN
  76349. * 0b0..Slice reset will be de-asserted when CPU0 in RUN mode
  76350. * 0b1..Slice reset will be asserted when CPU0 in RUN mode
  76351. */
  76352. #define SRC_DOMAIN_DISPLAY_CPU0_RUN(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_DISPLAY_CPU0_RUN_SHIFT)) & SRC_DOMAIN_DISPLAY_CPU0_RUN_MASK)
  76353. #define SRC_DOMAIN_DISPLAY_CPU0_WAIT_MASK (0x2U)
  76354. #define SRC_DOMAIN_DISPLAY_CPU0_WAIT_SHIFT (1U)
  76355. /*! CPU0_WAIT - CPU mode setting for WAIT
  76356. * 0b0..Slice reset will be de-asserted when CPU0 in WAIT mode
  76357. * 0b1..Slice reset will be asserted when CPU0 in WAIT mode
  76358. */
  76359. #define SRC_DOMAIN_DISPLAY_CPU0_WAIT(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_DISPLAY_CPU0_WAIT_SHIFT)) & SRC_DOMAIN_DISPLAY_CPU0_WAIT_MASK)
  76360. #define SRC_DOMAIN_DISPLAY_CPU0_STOP_MASK (0x4U)
  76361. #define SRC_DOMAIN_DISPLAY_CPU0_STOP_SHIFT (2U)
  76362. /*! CPU0_STOP - CPU mode setting for STOP
  76363. * 0b0..Slice reset will be de-asserted when CPU0 in STOP mode
  76364. * 0b1..Slice reset will be asserted when CPU0 in STOP mode
  76365. */
  76366. #define SRC_DOMAIN_DISPLAY_CPU0_STOP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_DISPLAY_CPU0_STOP_SHIFT)) & SRC_DOMAIN_DISPLAY_CPU0_STOP_MASK)
  76367. #define SRC_DOMAIN_DISPLAY_CPU0_SUSP_MASK (0x8U)
  76368. #define SRC_DOMAIN_DISPLAY_CPU0_SUSP_SHIFT (3U)
  76369. /*! CPU0_SUSP - CPU mode setting for SUSPEND
  76370. * 0b0..Slice reset will be de-asserted when CPU0 in SUSPEND mode
  76371. * 0b1..Slice reset will be asserted when CPU0 in SUSPEND mode
  76372. */
  76373. #define SRC_DOMAIN_DISPLAY_CPU0_SUSP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_DISPLAY_CPU0_SUSP_SHIFT)) & SRC_DOMAIN_DISPLAY_CPU0_SUSP_MASK)
  76374. #define SRC_DOMAIN_DISPLAY_CPU1_RUN_MASK (0x10U)
  76375. #define SRC_DOMAIN_DISPLAY_CPU1_RUN_SHIFT (4U)
  76376. /*! CPU1_RUN - CPU mode setting for RUN
  76377. * 0b0..Slice reset will be de-asserted when CPU1 in RUN mode
  76378. * 0b1..Slice reset will be asserted when CPU1 in RUN mode
  76379. */
  76380. #define SRC_DOMAIN_DISPLAY_CPU1_RUN(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_DISPLAY_CPU1_RUN_SHIFT)) & SRC_DOMAIN_DISPLAY_CPU1_RUN_MASK)
  76381. #define SRC_DOMAIN_DISPLAY_CPU1_WAIT_MASK (0x20U)
  76382. #define SRC_DOMAIN_DISPLAY_CPU1_WAIT_SHIFT (5U)
  76383. /*! CPU1_WAIT - CPU mode setting for WAIT
  76384. * 0b0..Slice reset will be de-asserted when CPU1 in WAIT mode
  76385. * 0b1..Slice reset will be asserted when CPU1 in WAIT mode
  76386. */
  76387. #define SRC_DOMAIN_DISPLAY_CPU1_WAIT(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_DISPLAY_CPU1_WAIT_SHIFT)) & SRC_DOMAIN_DISPLAY_CPU1_WAIT_MASK)
  76388. #define SRC_DOMAIN_DISPLAY_CPU1_STOP_MASK (0x40U)
  76389. #define SRC_DOMAIN_DISPLAY_CPU1_STOP_SHIFT (6U)
  76390. /*! CPU1_STOP - CPU mode setting for STOP
  76391. * 0b0..Slice reset will be de-asserted when CPU1 in STOP mode
  76392. * 0b1..Slice reset will be asserted when CPU1 in STOP mode
  76393. */
  76394. #define SRC_DOMAIN_DISPLAY_CPU1_STOP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_DISPLAY_CPU1_STOP_SHIFT)) & SRC_DOMAIN_DISPLAY_CPU1_STOP_MASK)
  76395. #define SRC_DOMAIN_DISPLAY_CPU1_SUSP_MASK (0x80U)
  76396. #define SRC_DOMAIN_DISPLAY_CPU1_SUSP_SHIFT (7U)
  76397. /*! CPU1_SUSP - CPU mode setting for SUSPEND
  76398. * 0b0..Slice reset will be de-asserted when CPU1 in SUSPEND mode
  76399. * 0b1..Slice reset will be asserted when CPU1 in SUSPEND mode
  76400. */
  76401. #define SRC_DOMAIN_DISPLAY_CPU1_SUSP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_DISPLAY_CPU1_SUSP_SHIFT)) & SRC_DOMAIN_DISPLAY_CPU1_SUSP_MASK)
  76402. /*! @} */
  76403. /*! @name STAT_DISPLAY - Slice Status Register */
  76404. /*! @{ */
  76405. #define SRC_STAT_DISPLAY_UNDER_RST_MASK (0x1U)
  76406. #define SRC_STAT_DISPLAY_UNDER_RST_SHIFT (0U)
  76407. /*! UNDER_RST
  76408. * 0b0..the reset is finished
  76409. * 0b1..the reset is in process
  76410. */
  76411. #define SRC_STAT_DISPLAY_UNDER_RST(x) (((uint32_t)(((uint32_t)(x)) << SRC_STAT_DISPLAY_UNDER_RST_SHIFT)) & SRC_STAT_DISPLAY_UNDER_RST_MASK)
  76412. #define SRC_STAT_DISPLAY_RST_BY_HW_MASK (0x4U)
  76413. #define SRC_STAT_DISPLAY_RST_BY_HW_SHIFT (2U)
  76414. /*! RST_BY_HW
  76415. * 0b0..the reset is not caused by the power mode transfer
  76416. * 0b1..the reset is caused by the power mode transfer
  76417. */
  76418. #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)
  76419. #define SRC_STAT_DISPLAY_RST_BY_SW_MASK (0x8U)
  76420. #define SRC_STAT_DISPLAY_RST_BY_SW_SHIFT (3U)
  76421. /*! RST_BY_SW
  76422. * 0b0..the reset is not caused by software setting
  76423. * 0b1..the reset is caused by software setting
  76424. */
  76425. #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)
  76426. /*! @} */
  76427. /*! @name AUTHEN_WAKEUP - Slice Authentication Register */
  76428. /*! @{ */
  76429. #define SRC_AUTHEN_WAKEUP_DOMAIN_MODE_MASK (0x1U)
  76430. #define SRC_AUTHEN_WAKEUP_DOMAIN_MODE_SHIFT (0U)
  76431. /*! DOMAIN_MODE
  76432. * 0b0..slice hardware reset will NOT be triggered by CPU power mode transition
  76433. * 0b1..slice hardware reset will be triggered by CPU power mode transition. Do not set this bit and SETPOINT_MODE at the same time.
  76434. */
  76435. #define SRC_AUTHEN_WAKEUP_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_WAKEUP_DOMAIN_MODE_SHIFT)) & SRC_AUTHEN_WAKEUP_DOMAIN_MODE_MASK)
  76436. #define SRC_AUTHEN_WAKEUP_SETPOINT_MODE_MASK (0x2U)
  76437. #define SRC_AUTHEN_WAKEUP_SETPOINT_MODE_SHIFT (1U)
  76438. /*! SETPOINT_MODE
  76439. * 0b0..slice hardware reset will NOT be triggered by Setpoint transition
  76440. * 0b1..slice hardware reset will be triggered by Setpoint transition. Do not set this bit and DOMAIN_MODE at the same time.
  76441. */
  76442. #define SRC_AUTHEN_WAKEUP_SETPOINT_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_WAKEUP_SETPOINT_MODE_SHIFT)) & SRC_AUTHEN_WAKEUP_SETPOINT_MODE_MASK)
  76443. #define SRC_AUTHEN_WAKEUP_LOCK_MODE_MASK (0x80U)
  76444. #define SRC_AUTHEN_WAKEUP_LOCK_MODE_SHIFT (7U)
  76445. /*! LOCK_MODE - Domain/Setpoint mode lock
  76446. */
  76447. #define SRC_AUTHEN_WAKEUP_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_WAKEUP_LOCK_MODE_SHIFT)) & SRC_AUTHEN_WAKEUP_LOCK_MODE_MASK)
  76448. #define SRC_AUTHEN_WAKEUP_ASSIGN_LIST_MASK (0xF00U)
  76449. #define SRC_AUTHEN_WAKEUP_ASSIGN_LIST_SHIFT (8U)
  76450. #define SRC_AUTHEN_WAKEUP_ASSIGN_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_WAKEUP_ASSIGN_LIST_SHIFT)) & SRC_AUTHEN_WAKEUP_ASSIGN_LIST_MASK)
  76451. #define SRC_AUTHEN_WAKEUP_LOCK_ASSIGN_MASK (0x8000U)
  76452. #define SRC_AUTHEN_WAKEUP_LOCK_ASSIGN_SHIFT (15U)
  76453. /*! LOCK_ASSIGN - Assign list lock
  76454. */
  76455. #define SRC_AUTHEN_WAKEUP_LOCK_ASSIGN(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_WAKEUP_LOCK_ASSIGN_SHIFT)) & SRC_AUTHEN_WAKEUP_LOCK_ASSIGN_MASK)
  76456. #define SRC_AUTHEN_WAKEUP_WHITE_LIST_MASK (0xF0000U)
  76457. #define SRC_AUTHEN_WAKEUP_WHITE_LIST_SHIFT (16U)
  76458. /*! WHITE_LIST - Domain ID white list
  76459. */
  76460. #define SRC_AUTHEN_WAKEUP_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_WAKEUP_WHITE_LIST_SHIFT)) & SRC_AUTHEN_WAKEUP_WHITE_LIST_MASK)
  76461. #define SRC_AUTHEN_WAKEUP_LOCK_LIST_MASK (0x800000U)
  76462. #define SRC_AUTHEN_WAKEUP_LOCK_LIST_SHIFT (23U)
  76463. /*! LOCK_LIST - White list lock
  76464. */
  76465. #define SRC_AUTHEN_WAKEUP_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_WAKEUP_LOCK_LIST_SHIFT)) & SRC_AUTHEN_WAKEUP_LOCK_LIST_MASK)
  76466. #define SRC_AUTHEN_WAKEUP_USER_MASK (0x1000000U)
  76467. #define SRC_AUTHEN_WAKEUP_USER_SHIFT (24U)
  76468. /*! USER - Allow user mode access
  76469. */
  76470. #define SRC_AUTHEN_WAKEUP_USER(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_WAKEUP_USER_SHIFT)) & SRC_AUTHEN_WAKEUP_USER_MASK)
  76471. #define SRC_AUTHEN_WAKEUP_NONSECURE_MASK (0x2000000U)
  76472. #define SRC_AUTHEN_WAKEUP_NONSECURE_SHIFT (25U)
  76473. /*! NONSECURE - Allow non-secure mode access
  76474. */
  76475. #define SRC_AUTHEN_WAKEUP_NONSECURE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_WAKEUP_NONSECURE_SHIFT)) & SRC_AUTHEN_WAKEUP_NONSECURE_MASK)
  76476. #define SRC_AUTHEN_WAKEUP_LOCK_SETTING_MASK (0x80000000U)
  76477. #define SRC_AUTHEN_WAKEUP_LOCK_SETTING_SHIFT (31U)
  76478. /*! LOCK_SETTING - Lock NONSECURE and USER
  76479. */
  76480. #define SRC_AUTHEN_WAKEUP_LOCK_SETTING(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_WAKEUP_LOCK_SETTING_SHIFT)) & SRC_AUTHEN_WAKEUP_LOCK_SETTING_MASK)
  76481. /*! @} */
  76482. /*! @name CTRL_WAKEUP - Slice Control Register */
  76483. /*! @{ */
  76484. #define SRC_CTRL_WAKEUP_SW_RESET_MASK (0x1U)
  76485. #define SRC_CTRL_WAKEUP_SW_RESET_SHIFT (0U)
  76486. /*! SW_RESET
  76487. * 0b0..do not assert slice software reset
  76488. * 0b1..assert slice software reset
  76489. */
  76490. #define SRC_CTRL_WAKEUP_SW_RESET(x) (((uint32_t)(((uint32_t)(x)) << SRC_CTRL_WAKEUP_SW_RESET_SHIFT)) & SRC_CTRL_WAKEUP_SW_RESET_MASK)
  76491. /*! @} */
  76492. /*! @name SETPOINT_WAKEUP - Slice Setpoint Config Register */
  76493. /*! @{ */
  76494. #define SRC_SETPOINT_WAKEUP_SETPOINT0_MASK (0x1U)
  76495. #define SRC_SETPOINT_WAKEUP_SETPOINT0_SHIFT (0U)
  76496. /*! SETPOINT0 - SETPOINT0
  76497. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76498. * 0b1..Slice reset will be asserted when system in Setpoint n
  76499. */
  76500. #define SRC_SETPOINT_WAKEUP_SETPOINT0(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_WAKEUP_SETPOINT0_SHIFT)) & SRC_SETPOINT_WAKEUP_SETPOINT0_MASK)
  76501. #define SRC_SETPOINT_WAKEUP_SETPOINT1_MASK (0x2U)
  76502. #define SRC_SETPOINT_WAKEUP_SETPOINT1_SHIFT (1U)
  76503. /*! SETPOINT1 - SETPOINT1
  76504. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76505. * 0b1..Slice reset will be asserted when system in Setpoint n
  76506. */
  76507. #define SRC_SETPOINT_WAKEUP_SETPOINT1(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_WAKEUP_SETPOINT1_SHIFT)) & SRC_SETPOINT_WAKEUP_SETPOINT1_MASK)
  76508. #define SRC_SETPOINT_WAKEUP_SETPOINT2_MASK (0x4U)
  76509. #define SRC_SETPOINT_WAKEUP_SETPOINT2_SHIFT (2U)
  76510. /*! SETPOINT2 - SETPOINT2
  76511. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76512. * 0b1..Slice reset will be asserted when system in Setpoint n
  76513. */
  76514. #define SRC_SETPOINT_WAKEUP_SETPOINT2(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_WAKEUP_SETPOINT2_SHIFT)) & SRC_SETPOINT_WAKEUP_SETPOINT2_MASK)
  76515. #define SRC_SETPOINT_WAKEUP_SETPOINT3_MASK (0x8U)
  76516. #define SRC_SETPOINT_WAKEUP_SETPOINT3_SHIFT (3U)
  76517. /*! SETPOINT3 - SETPOINT3
  76518. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76519. * 0b1..Slice reset will be asserted when system in Setpoint n
  76520. */
  76521. #define SRC_SETPOINT_WAKEUP_SETPOINT3(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_WAKEUP_SETPOINT3_SHIFT)) & SRC_SETPOINT_WAKEUP_SETPOINT3_MASK)
  76522. #define SRC_SETPOINT_WAKEUP_SETPOINT4_MASK (0x10U)
  76523. #define SRC_SETPOINT_WAKEUP_SETPOINT4_SHIFT (4U)
  76524. /*! SETPOINT4 - SETPOINT4
  76525. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76526. * 0b1..Slice reset will be asserted when system in Setpoint n
  76527. */
  76528. #define SRC_SETPOINT_WAKEUP_SETPOINT4(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_WAKEUP_SETPOINT4_SHIFT)) & SRC_SETPOINT_WAKEUP_SETPOINT4_MASK)
  76529. #define SRC_SETPOINT_WAKEUP_SETPOINT5_MASK (0x20U)
  76530. #define SRC_SETPOINT_WAKEUP_SETPOINT5_SHIFT (5U)
  76531. /*! SETPOINT5 - SETPOINT5
  76532. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76533. * 0b1..Slice reset will be asserted when system in Setpoint n
  76534. */
  76535. #define SRC_SETPOINT_WAKEUP_SETPOINT5(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_WAKEUP_SETPOINT5_SHIFT)) & SRC_SETPOINT_WAKEUP_SETPOINT5_MASK)
  76536. #define SRC_SETPOINT_WAKEUP_SETPOINT6_MASK (0x40U)
  76537. #define SRC_SETPOINT_WAKEUP_SETPOINT6_SHIFT (6U)
  76538. /*! SETPOINT6 - SETPOINT6
  76539. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76540. * 0b1..Slice reset will be asserted when system in Setpoint n
  76541. */
  76542. #define SRC_SETPOINT_WAKEUP_SETPOINT6(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_WAKEUP_SETPOINT6_SHIFT)) & SRC_SETPOINT_WAKEUP_SETPOINT6_MASK)
  76543. #define SRC_SETPOINT_WAKEUP_SETPOINT7_MASK (0x80U)
  76544. #define SRC_SETPOINT_WAKEUP_SETPOINT7_SHIFT (7U)
  76545. /*! SETPOINT7 - SETPOINT7
  76546. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76547. * 0b1..Slice reset will be asserted when system in Setpoint n
  76548. */
  76549. #define SRC_SETPOINT_WAKEUP_SETPOINT7(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_WAKEUP_SETPOINT7_SHIFT)) & SRC_SETPOINT_WAKEUP_SETPOINT7_MASK)
  76550. #define SRC_SETPOINT_WAKEUP_SETPOINT8_MASK (0x100U)
  76551. #define SRC_SETPOINT_WAKEUP_SETPOINT8_SHIFT (8U)
  76552. /*! SETPOINT8 - SETPOINT8
  76553. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76554. * 0b1..Slice reset will be asserted when system in Setpoint n
  76555. */
  76556. #define SRC_SETPOINT_WAKEUP_SETPOINT8(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_WAKEUP_SETPOINT8_SHIFT)) & SRC_SETPOINT_WAKEUP_SETPOINT8_MASK)
  76557. #define SRC_SETPOINT_WAKEUP_SETPOINT9_MASK (0x200U)
  76558. #define SRC_SETPOINT_WAKEUP_SETPOINT9_SHIFT (9U)
  76559. /*! SETPOINT9 - SETPOINT9
  76560. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76561. * 0b1..Slice reset will be asserted when system in Setpoint n
  76562. */
  76563. #define SRC_SETPOINT_WAKEUP_SETPOINT9(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_WAKEUP_SETPOINT9_SHIFT)) & SRC_SETPOINT_WAKEUP_SETPOINT9_MASK)
  76564. #define SRC_SETPOINT_WAKEUP_SETPOINT10_MASK (0x400U)
  76565. #define SRC_SETPOINT_WAKEUP_SETPOINT10_SHIFT (10U)
  76566. /*! SETPOINT10 - SETPOINT10
  76567. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76568. * 0b1..Slice reset will be asserted when system in Setpoint n
  76569. */
  76570. #define SRC_SETPOINT_WAKEUP_SETPOINT10(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_WAKEUP_SETPOINT10_SHIFT)) & SRC_SETPOINT_WAKEUP_SETPOINT10_MASK)
  76571. #define SRC_SETPOINT_WAKEUP_SETPOINT11_MASK (0x800U)
  76572. #define SRC_SETPOINT_WAKEUP_SETPOINT11_SHIFT (11U)
  76573. /*! SETPOINT11 - SETPOINT11
  76574. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76575. * 0b1..Slice reset will be asserted when system in Setpoint n
  76576. */
  76577. #define SRC_SETPOINT_WAKEUP_SETPOINT11(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_WAKEUP_SETPOINT11_SHIFT)) & SRC_SETPOINT_WAKEUP_SETPOINT11_MASK)
  76578. #define SRC_SETPOINT_WAKEUP_SETPOINT12_MASK (0x1000U)
  76579. #define SRC_SETPOINT_WAKEUP_SETPOINT12_SHIFT (12U)
  76580. /*! SETPOINT12 - SETPOINT12
  76581. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76582. * 0b1..Slice reset will be asserted when system in Setpoint n
  76583. */
  76584. #define SRC_SETPOINT_WAKEUP_SETPOINT12(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_WAKEUP_SETPOINT12_SHIFT)) & SRC_SETPOINT_WAKEUP_SETPOINT12_MASK)
  76585. #define SRC_SETPOINT_WAKEUP_SETPOINT13_MASK (0x2000U)
  76586. #define SRC_SETPOINT_WAKEUP_SETPOINT13_SHIFT (13U)
  76587. /*! SETPOINT13 - SETPOINT13
  76588. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76589. * 0b1..Slice reset will be asserted when system in Setpoint n
  76590. */
  76591. #define SRC_SETPOINT_WAKEUP_SETPOINT13(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_WAKEUP_SETPOINT13_SHIFT)) & SRC_SETPOINT_WAKEUP_SETPOINT13_MASK)
  76592. #define SRC_SETPOINT_WAKEUP_SETPOINT14_MASK (0x4000U)
  76593. #define SRC_SETPOINT_WAKEUP_SETPOINT14_SHIFT (14U)
  76594. /*! SETPOINT14 - SETPOINT14
  76595. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76596. * 0b1..Slice reset will be asserted when system in Setpoint n
  76597. */
  76598. #define SRC_SETPOINT_WAKEUP_SETPOINT14(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_WAKEUP_SETPOINT14_SHIFT)) & SRC_SETPOINT_WAKEUP_SETPOINT14_MASK)
  76599. #define SRC_SETPOINT_WAKEUP_SETPOINT15_MASK (0x8000U)
  76600. #define SRC_SETPOINT_WAKEUP_SETPOINT15_SHIFT (15U)
  76601. /*! SETPOINT15 - SETPOINT15
  76602. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76603. * 0b1..Slice reset will be asserted when system in Setpoint n
  76604. */
  76605. #define SRC_SETPOINT_WAKEUP_SETPOINT15(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_WAKEUP_SETPOINT15_SHIFT)) & SRC_SETPOINT_WAKEUP_SETPOINT15_MASK)
  76606. /*! @} */
  76607. /*! @name DOMAIN_WAKEUP - Slice Domain Config Register */
  76608. /*! @{ */
  76609. #define SRC_DOMAIN_WAKEUP_CPU0_RUN_MASK (0x1U)
  76610. #define SRC_DOMAIN_WAKEUP_CPU0_RUN_SHIFT (0U)
  76611. /*! CPU0_RUN - CPU mode setting for RUN
  76612. * 0b0..Slice reset will be de-asserted when CPU0 in RUN mode
  76613. * 0b1..Slice reset will be asserted when CPU0 in RUN mode
  76614. */
  76615. #define SRC_DOMAIN_WAKEUP_CPU0_RUN(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_WAKEUP_CPU0_RUN_SHIFT)) & SRC_DOMAIN_WAKEUP_CPU0_RUN_MASK)
  76616. #define SRC_DOMAIN_WAKEUP_CPU0_WAIT_MASK (0x2U)
  76617. #define SRC_DOMAIN_WAKEUP_CPU0_WAIT_SHIFT (1U)
  76618. /*! CPU0_WAIT - CPU mode setting for WAIT
  76619. * 0b0..Slice reset will be de-asserted when CPU0 in WAIT mode
  76620. * 0b1..Slice reset will be asserted when CPU0 in WAIT mode
  76621. */
  76622. #define SRC_DOMAIN_WAKEUP_CPU0_WAIT(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_WAKEUP_CPU0_WAIT_SHIFT)) & SRC_DOMAIN_WAKEUP_CPU0_WAIT_MASK)
  76623. #define SRC_DOMAIN_WAKEUP_CPU0_STOP_MASK (0x4U)
  76624. #define SRC_DOMAIN_WAKEUP_CPU0_STOP_SHIFT (2U)
  76625. /*! CPU0_STOP - CPU mode setting for STOP
  76626. * 0b0..Slice reset will be de-asserted when CPU0 in STOP mode
  76627. * 0b1..Slice reset will be asserted when CPU0 in STOP mode
  76628. */
  76629. #define SRC_DOMAIN_WAKEUP_CPU0_STOP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_WAKEUP_CPU0_STOP_SHIFT)) & SRC_DOMAIN_WAKEUP_CPU0_STOP_MASK)
  76630. #define SRC_DOMAIN_WAKEUP_CPU0_SUSP_MASK (0x8U)
  76631. #define SRC_DOMAIN_WAKEUP_CPU0_SUSP_SHIFT (3U)
  76632. /*! CPU0_SUSP - CPU mode setting for SUSPEND
  76633. * 0b0..Slice reset will be de-asserted when CPU0 in SUSPEND mode
  76634. * 0b1..Slice reset will be asserted when CPU0 in SUSPEND mode
  76635. */
  76636. #define SRC_DOMAIN_WAKEUP_CPU0_SUSP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_WAKEUP_CPU0_SUSP_SHIFT)) & SRC_DOMAIN_WAKEUP_CPU0_SUSP_MASK)
  76637. #define SRC_DOMAIN_WAKEUP_CPU1_RUN_MASK (0x10U)
  76638. #define SRC_DOMAIN_WAKEUP_CPU1_RUN_SHIFT (4U)
  76639. /*! CPU1_RUN - CPU mode setting for RUN
  76640. * 0b0..Slice reset will be de-asserted when CPU1 in RUN mode
  76641. * 0b1..Slice reset will be asserted when CPU1 in RUN mode
  76642. */
  76643. #define SRC_DOMAIN_WAKEUP_CPU1_RUN(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_WAKEUP_CPU1_RUN_SHIFT)) & SRC_DOMAIN_WAKEUP_CPU1_RUN_MASK)
  76644. #define SRC_DOMAIN_WAKEUP_CPU1_WAIT_MASK (0x20U)
  76645. #define SRC_DOMAIN_WAKEUP_CPU1_WAIT_SHIFT (5U)
  76646. /*! CPU1_WAIT - CPU mode setting for WAIT
  76647. * 0b0..Slice reset will be de-asserted when CPU1 in WAIT mode
  76648. * 0b1..Slice reset will be asserted when CPU1 in WAIT mode
  76649. */
  76650. #define SRC_DOMAIN_WAKEUP_CPU1_WAIT(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_WAKEUP_CPU1_WAIT_SHIFT)) & SRC_DOMAIN_WAKEUP_CPU1_WAIT_MASK)
  76651. #define SRC_DOMAIN_WAKEUP_CPU1_STOP_MASK (0x40U)
  76652. #define SRC_DOMAIN_WAKEUP_CPU1_STOP_SHIFT (6U)
  76653. /*! CPU1_STOP - CPU mode setting for STOP
  76654. * 0b0..Slice reset will be de-asserted when CPU1 in STOP mode
  76655. * 0b1..Slice reset will be asserted when CPU1 in STOP mode
  76656. */
  76657. #define SRC_DOMAIN_WAKEUP_CPU1_STOP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_WAKEUP_CPU1_STOP_SHIFT)) & SRC_DOMAIN_WAKEUP_CPU1_STOP_MASK)
  76658. #define SRC_DOMAIN_WAKEUP_CPU1_SUSP_MASK (0x80U)
  76659. #define SRC_DOMAIN_WAKEUP_CPU1_SUSP_SHIFT (7U)
  76660. /*! CPU1_SUSP - CPU mode setting for SUSPEND
  76661. * 0b0..Slice reset will be de-asserted when CPU1 in SUSPEND mode
  76662. * 0b1..Slice reset will be asserted when CPU1 in SUSPEND mode
  76663. */
  76664. #define SRC_DOMAIN_WAKEUP_CPU1_SUSP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_WAKEUP_CPU1_SUSP_SHIFT)) & SRC_DOMAIN_WAKEUP_CPU1_SUSP_MASK)
  76665. /*! @} */
  76666. /*! @name STAT_WAKEUP - Slice Status Register */
  76667. /*! @{ */
  76668. #define SRC_STAT_WAKEUP_UNDER_RST_MASK (0x1U)
  76669. #define SRC_STAT_WAKEUP_UNDER_RST_SHIFT (0U)
  76670. /*! UNDER_RST
  76671. * 0b0..the reset is finished
  76672. * 0b1..the reset is in process
  76673. */
  76674. #define SRC_STAT_WAKEUP_UNDER_RST(x) (((uint32_t)(((uint32_t)(x)) << SRC_STAT_WAKEUP_UNDER_RST_SHIFT)) & SRC_STAT_WAKEUP_UNDER_RST_MASK)
  76675. #define SRC_STAT_WAKEUP_RST_BY_HW_MASK (0x4U)
  76676. #define SRC_STAT_WAKEUP_RST_BY_HW_SHIFT (2U)
  76677. /*! RST_BY_HW
  76678. * 0b0..the reset is not caused by the power mode transfer
  76679. * 0b1..the reset is caused by the power mode transfer
  76680. */
  76681. #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)
  76682. #define SRC_STAT_WAKEUP_RST_BY_SW_MASK (0x8U)
  76683. #define SRC_STAT_WAKEUP_RST_BY_SW_SHIFT (3U)
  76684. /*! RST_BY_SW
  76685. * 0b0..the reset is not caused by software setting
  76686. * 0b1..the reset is caused by software setting
  76687. */
  76688. #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)
  76689. /*! @} */
  76690. /*! @name AUTHEN_M4CORE - Slice Authentication Register */
  76691. /*! @{ */
  76692. #define SRC_AUTHEN_M4CORE_DOMAIN_MODE_MASK (0x1U)
  76693. #define SRC_AUTHEN_M4CORE_DOMAIN_MODE_SHIFT (0U)
  76694. /*! DOMAIN_MODE
  76695. * 0b0..slice hardware reset will NOT be triggered by CPU power mode transition
  76696. * 0b1..slice hardware reset will be triggered by CPU power mode transition. Do not set this bit and SETPOINT_MODE at the same time.
  76697. */
  76698. #define SRC_AUTHEN_M4CORE_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M4CORE_DOMAIN_MODE_SHIFT)) & SRC_AUTHEN_M4CORE_DOMAIN_MODE_MASK)
  76699. #define SRC_AUTHEN_M4CORE_SETPOINT_MODE_MASK (0x2U)
  76700. #define SRC_AUTHEN_M4CORE_SETPOINT_MODE_SHIFT (1U)
  76701. /*! SETPOINT_MODE
  76702. * 0b0..slice hardware reset will NOT be triggered by Setpoint transition
  76703. * 0b1..slice hardware reset will be triggered by Setpoint transition. Do not set this bit and DOMAIN_MODE at the same time.
  76704. */
  76705. #define SRC_AUTHEN_M4CORE_SETPOINT_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M4CORE_SETPOINT_MODE_SHIFT)) & SRC_AUTHEN_M4CORE_SETPOINT_MODE_MASK)
  76706. #define SRC_AUTHEN_M4CORE_LOCK_MODE_MASK (0x80U)
  76707. #define SRC_AUTHEN_M4CORE_LOCK_MODE_SHIFT (7U)
  76708. /*! LOCK_MODE - Domain/Setpoint mode lock
  76709. */
  76710. #define SRC_AUTHEN_M4CORE_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M4CORE_LOCK_MODE_SHIFT)) & SRC_AUTHEN_M4CORE_LOCK_MODE_MASK)
  76711. #define SRC_AUTHEN_M4CORE_ASSIGN_LIST_MASK (0xF00U)
  76712. #define SRC_AUTHEN_M4CORE_ASSIGN_LIST_SHIFT (8U)
  76713. #define SRC_AUTHEN_M4CORE_ASSIGN_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M4CORE_ASSIGN_LIST_SHIFT)) & SRC_AUTHEN_M4CORE_ASSIGN_LIST_MASK)
  76714. #define SRC_AUTHEN_M4CORE_LOCK_ASSIGN_MASK (0x8000U)
  76715. #define SRC_AUTHEN_M4CORE_LOCK_ASSIGN_SHIFT (15U)
  76716. /*! LOCK_ASSIGN - Assign list lock
  76717. */
  76718. #define SRC_AUTHEN_M4CORE_LOCK_ASSIGN(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M4CORE_LOCK_ASSIGN_SHIFT)) & SRC_AUTHEN_M4CORE_LOCK_ASSIGN_MASK)
  76719. #define SRC_AUTHEN_M4CORE_WHITE_LIST_MASK (0xF0000U)
  76720. #define SRC_AUTHEN_M4CORE_WHITE_LIST_SHIFT (16U)
  76721. /*! WHITE_LIST - Domain ID white list
  76722. */
  76723. #define SRC_AUTHEN_M4CORE_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M4CORE_WHITE_LIST_SHIFT)) & SRC_AUTHEN_M4CORE_WHITE_LIST_MASK)
  76724. #define SRC_AUTHEN_M4CORE_LOCK_LIST_MASK (0x800000U)
  76725. #define SRC_AUTHEN_M4CORE_LOCK_LIST_SHIFT (23U)
  76726. /*! LOCK_LIST - White list lock
  76727. */
  76728. #define SRC_AUTHEN_M4CORE_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M4CORE_LOCK_LIST_SHIFT)) & SRC_AUTHEN_M4CORE_LOCK_LIST_MASK)
  76729. #define SRC_AUTHEN_M4CORE_USER_MASK (0x1000000U)
  76730. #define SRC_AUTHEN_M4CORE_USER_SHIFT (24U)
  76731. /*! USER - Allow user mode access
  76732. */
  76733. #define SRC_AUTHEN_M4CORE_USER(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M4CORE_USER_SHIFT)) & SRC_AUTHEN_M4CORE_USER_MASK)
  76734. #define SRC_AUTHEN_M4CORE_NONSECURE_MASK (0x2000000U)
  76735. #define SRC_AUTHEN_M4CORE_NONSECURE_SHIFT (25U)
  76736. /*! NONSECURE - Allow non-secure mode access
  76737. */
  76738. #define SRC_AUTHEN_M4CORE_NONSECURE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M4CORE_NONSECURE_SHIFT)) & SRC_AUTHEN_M4CORE_NONSECURE_MASK)
  76739. #define SRC_AUTHEN_M4CORE_LOCK_SETTING_MASK (0x80000000U)
  76740. #define SRC_AUTHEN_M4CORE_LOCK_SETTING_SHIFT (31U)
  76741. /*! LOCK_SETTING - Lock NONSECURE and USER
  76742. */
  76743. #define SRC_AUTHEN_M4CORE_LOCK_SETTING(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M4CORE_LOCK_SETTING_SHIFT)) & SRC_AUTHEN_M4CORE_LOCK_SETTING_MASK)
  76744. /*! @} */
  76745. /*! @name CTRL_M4CORE - Slice Control Register */
  76746. /*! @{ */
  76747. #define SRC_CTRL_M4CORE_SW_RESET_MASK (0x1U)
  76748. #define SRC_CTRL_M4CORE_SW_RESET_SHIFT (0U)
  76749. /*! SW_RESET
  76750. * 0b0..do not assert slice software reset
  76751. * 0b1..assert slice software reset
  76752. */
  76753. #define SRC_CTRL_M4CORE_SW_RESET(x) (((uint32_t)(((uint32_t)(x)) << SRC_CTRL_M4CORE_SW_RESET_SHIFT)) & SRC_CTRL_M4CORE_SW_RESET_MASK)
  76754. /*! @} */
  76755. /*! @name SETPOINT_M4CORE - Slice Setpoint Config Register */
  76756. /*! @{ */
  76757. #define SRC_SETPOINT_M4CORE_SETPOINT0_MASK (0x1U)
  76758. #define SRC_SETPOINT_M4CORE_SETPOINT0_SHIFT (0U)
  76759. /*! SETPOINT0 - SETPOINT0
  76760. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76761. * 0b1..Slice reset will be asserted when system in Setpoint n
  76762. */
  76763. #define SRC_SETPOINT_M4CORE_SETPOINT0(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4CORE_SETPOINT0_SHIFT)) & SRC_SETPOINT_M4CORE_SETPOINT0_MASK)
  76764. #define SRC_SETPOINT_M4CORE_SETPOINT1_MASK (0x2U)
  76765. #define SRC_SETPOINT_M4CORE_SETPOINT1_SHIFT (1U)
  76766. /*! SETPOINT1 - SETPOINT1
  76767. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76768. * 0b1..Slice reset will be asserted when system in Setpoint n
  76769. */
  76770. #define SRC_SETPOINT_M4CORE_SETPOINT1(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4CORE_SETPOINT1_SHIFT)) & SRC_SETPOINT_M4CORE_SETPOINT1_MASK)
  76771. #define SRC_SETPOINT_M4CORE_SETPOINT2_MASK (0x4U)
  76772. #define SRC_SETPOINT_M4CORE_SETPOINT2_SHIFT (2U)
  76773. /*! SETPOINT2 - SETPOINT2
  76774. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76775. * 0b1..Slice reset will be asserted when system in Setpoint n
  76776. */
  76777. #define SRC_SETPOINT_M4CORE_SETPOINT2(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4CORE_SETPOINT2_SHIFT)) & SRC_SETPOINT_M4CORE_SETPOINT2_MASK)
  76778. #define SRC_SETPOINT_M4CORE_SETPOINT3_MASK (0x8U)
  76779. #define SRC_SETPOINT_M4CORE_SETPOINT3_SHIFT (3U)
  76780. /*! SETPOINT3 - SETPOINT3
  76781. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76782. * 0b1..Slice reset will be asserted when system in Setpoint n
  76783. */
  76784. #define SRC_SETPOINT_M4CORE_SETPOINT3(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4CORE_SETPOINT3_SHIFT)) & SRC_SETPOINT_M4CORE_SETPOINT3_MASK)
  76785. #define SRC_SETPOINT_M4CORE_SETPOINT4_MASK (0x10U)
  76786. #define SRC_SETPOINT_M4CORE_SETPOINT4_SHIFT (4U)
  76787. /*! SETPOINT4 - SETPOINT4
  76788. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76789. * 0b1..Slice reset will be asserted when system in Setpoint n
  76790. */
  76791. #define SRC_SETPOINT_M4CORE_SETPOINT4(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4CORE_SETPOINT4_SHIFT)) & SRC_SETPOINT_M4CORE_SETPOINT4_MASK)
  76792. #define SRC_SETPOINT_M4CORE_SETPOINT5_MASK (0x20U)
  76793. #define SRC_SETPOINT_M4CORE_SETPOINT5_SHIFT (5U)
  76794. /*! SETPOINT5 - SETPOINT5
  76795. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76796. * 0b1..Slice reset will be asserted when system in Setpoint n
  76797. */
  76798. #define SRC_SETPOINT_M4CORE_SETPOINT5(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4CORE_SETPOINT5_SHIFT)) & SRC_SETPOINT_M4CORE_SETPOINT5_MASK)
  76799. #define SRC_SETPOINT_M4CORE_SETPOINT6_MASK (0x40U)
  76800. #define SRC_SETPOINT_M4CORE_SETPOINT6_SHIFT (6U)
  76801. /*! SETPOINT6 - SETPOINT6
  76802. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76803. * 0b1..Slice reset will be asserted when system in Setpoint n
  76804. */
  76805. #define SRC_SETPOINT_M4CORE_SETPOINT6(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4CORE_SETPOINT6_SHIFT)) & SRC_SETPOINT_M4CORE_SETPOINT6_MASK)
  76806. #define SRC_SETPOINT_M4CORE_SETPOINT7_MASK (0x80U)
  76807. #define SRC_SETPOINT_M4CORE_SETPOINT7_SHIFT (7U)
  76808. /*! SETPOINT7 - SETPOINT7
  76809. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76810. * 0b1..Slice reset will be asserted when system in Setpoint n
  76811. */
  76812. #define SRC_SETPOINT_M4CORE_SETPOINT7(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4CORE_SETPOINT7_SHIFT)) & SRC_SETPOINT_M4CORE_SETPOINT7_MASK)
  76813. #define SRC_SETPOINT_M4CORE_SETPOINT8_MASK (0x100U)
  76814. #define SRC_SETPOINT_M4CORE_SETPOINT8_SHIFT (8U)
  76815. /*! SETPOINT8 - SETPOINT8
  76816. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76817. * 0b1..Slice reset will be asserted when system in Setpoint n
  76818. */
  76819. #define SRC_SETPOINT_M4CORE_SETPOINT8(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4CORE_SETPOINT8_SHIFT)) & SRC_SETPOINT_M4CORE_SETPOINT8_MASK)
  76820. #define SRC_SETPOINT_M4CORE_SETPOINT9_MASK (0x200U)
  76821. #define SRC_SETPOINT_M4CORE_SETPOINT9_SHIFT (9U)
  76822. /*! SETPOINT9 - SETPOINT9
  76823. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76824. * 0b1..Slice reset will be asserted when system in Setpoint n
  76825. */
  76826. #define SRC_SETPOINT_M4CORE_SETPOINT9(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4CORE_SETPOINT9_SHIFT)) & SRC_SETPOINT_M4CORE_SETPOINT9_MASK)
  76827. #define SRC_SETPOINT_M4CORE_SETPOINT10_MASK (0x400U)
  76828. #define SRC_SETPOINT_M4CORE_SETPOINT10_SHIFT (10U)
  76829. /*! SETPOINT10 - SETPOINT10
  76830. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76831. * 0b1..Slice reset will be asserted when system in Setpoint n
  76832. */
  76833. #define SRC_SETPOINT_M4CORE_SETPOINT10(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4CORE_SETPOINT10_SHIFT)) & SRC_SETPOINT_M4CORE_SETPOINT10_MASK)
  76834. #define SRC_SETPOINT_M4CORE_SETPOINT11_MASK (0x800U)
  76835. #define SRC_SETPOINT_M4CORE_SETPOINT11_SHIFT (11U)
  76836. /*! SETPOINT11 - SETPOINT11
  76837. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76838. * 0b1..Slice reset will be asserted when system in Setpoint n
  76839. */
  76840. #define SRC_SETPOINT_M4CORE_SETPOINT11(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4CORE_SETPOINT11_SHIFT)) & SRC_SETPOINT_M4CORE_SETPOINT11_MASK)
  76841. #define SRC_SETPOINT_M4CORE_SETPOINT12_MASK (0x1000U)
  76842. #define SRC_SETPOINT_M4CORE_SETPOINT12_SHIFT (12U)
  76843. /*! SETPOINT12 - SETPOINT12
  76844. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76845. * 0b1..Slice reset will be asserted when system in Setpoint n
  76846. */
  76847. #define SRC_SETPOINT_M4CORE_SETPOINT12(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4CORE_SETPOINT12_SHIFT)) & SRC_SETPOINT_M4CORE_SETPOINT12_MASK)
  76848. #define SRC_SETPOINT_M4CORE_SETPOINT13_MASK (0x2000U)
  76849. #define SRC_SETPOINT_M4CORE_SETPOINT13_SHIFT (13U)
  76850. /*! SETPOINT13 - SETPOINT13
  76851. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76852. * 0b1..Slice reset will be asserted when system in Setpoint n
  76853. */
  76854. #define SRC_SETPOINT_M4CORE_SETPOINT13(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4CORE_SETPOINT13_SHIFT)) & SRC_SETPOINT_M4CORE_SETPOINT13_MASK)
  76855. #define SRC_SETPOINT_M4CORE_SETPOINT14_MASK (0x4000U)
  76856. #define SRC_SETPOINT_M4CORE_SETPOINT14_SHIFT (14U)
  76857. /*! SETPOINT14 - SETPOINT14
  76858. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76859. * 0b1..Slice reset will be asserted when system in Setpoint n
  76860. */
  76861. #define SRC_SETPOINT_M4CORE_SETPOINT14(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4CORE_SETPOINT14_SHIFT)) & SRC_SETPOINT_M4CORE_SETPOINT14_MASK)
  76862. #define SRC_SETPOINT_M4CORE_SETPOINT15_MASK (0x8000U)
  76863. #define SRC_SETPOINT_M4CORE_SETPOINT15_SHIFT (15U)
  76864. /*! SETPOINT15 - SETPOINT15
  76865. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76866. * 0b1..Slice reset will be asserted when system in Setpoint n
  76867. */
  76868. #define SRC_SETPOINT_M4CORE_SETPOINT15(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4CORE_SETPOINT15_SHIFT)) & SRC_SETPOINT_M4CORE_SETPOINT15_MASK)
  76869. /*! @} */
  76870. /*! @name DOMAIN_M4CORE - Slice Domain Config Register */
  76871. /*! @{ */
  76872. #define SRC_DOMAIN_M4CORE_CPU0_RUN_MASK (0x1U)
  76873. #define SRC_DOMAIN_M4CORE_CPU0_RUN_SHIFT (0U)
  76874. /*! CPU0_RUN - CPU mode setting for RUN
  76875. * 0b0..Slice reset will be de-asserted when CPU0 in RUN mode
  76876. * 0b1..Slice reset will be asserted when CPU0 in RUN mode
  76877. */
  76878. #define SRC_DOMAIN_M4CORE_CPU0_RUN(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M4CORE_CPU0_RUN_SHIFT)) & SRC_DOMAIN_M4CORE_CPU0_RUN_MASK)
  76879. #define SRC_DOMAIN_M4CORE_CPU0_WAIT_MASK (0x2U)
  76880. #define SRC_DOMAIN_M4CORE_CPU0_WAIT_SHIFT (1U)
  76881. /*! CPU0_WAIT - CPU mode setting for WAIT
  76882. * 0b0..Slice reset will be de-asserted when CPU0 in WAIT mode
  76883. * 0b1..Slice reset will be asserted when CPU0 in WAIT mode
  76884. */
  76885. #define SRC_DOMAIN_M4CORE_CPU0_WAIT(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M4CORE_CPU0_WAIT_SHIFT)) & SRC_DOMAIN_M4CORE_CPU0_WAIT_MASK)
  76886. #define SRC_DOMAIN_M4CORE_CPU0_STOP_MASK (0x4U)
  76887. #define SRC_DOMAIN_M4CORE_CPU0_STOP_SHIFT (2U)
  76888. /*! CPU0_STOP - CPU mode setting for STOP
  76889. * 0b0..Slice reset will be de-asserted when CPU0 in STOP mode
  76890. * 0b1..Slice reset will be asserted when CPU0 in STOP mode
  76891. */
  76892. #define SRC_DOMAIN_M4CORE_CPU0_STOP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M4CORE_CPU0_STOP_SHIFT)) & SRC_DOMAIN_M4CORE_CPU0_STOP_MASK)
  76893. #define SRC_DOMAIN_M4CORE_CPU0_SUSP_MASK (0x8U)
  76894. #define SRC_DOMAIN_M4CORE_CPU0_SUSP_SHIFT (3U)
  76895. /*! CPU0_SUSP - CPU mode setting for SUSPEND
  76896. * 0b0..Slice reset will be de-asserted when CPU0 in SUSPEND mode
  76897. * 0b1..Slice reset will be asserted when CPU0 in SUSPEND mode
  76898. */
  76899. #define SRC_DOMAIN_M4CORE_CPU0_SUSP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M4CORE_CPU0_SUSP_SHIFT)) & SRC_DOMAIN_M4CORE_CPU0_SUSP_MASK)
  76900. #define SRC_DOMAIN_M4CORE_CPU1_RUN_MASK (0x10U)
  76901. #define SRC_DOMAIN_M4CORE_CPU1_RUN_SHIFT (4U)
  76902. /*! CPU1_RUN - CPU mode setting for RUN
  76903. * 0b0..Slice reset will be de-asserted when CPU1 in RUN mode
  76904. * 0b1..Slice reset will be asserted when CPU1 in RUN mode
  76905. */
  76906. #define SRC_DOMAIN_M4CORE_CPU1_RUN(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M4CORE_CPU1_RUN_SHIFT)) & SRC_DOMAIN_M4CORE_CPU1_RUN_MASK)
  76907. #define SRC_DOMAIN_M4CORE_CPU1_WAIT_MASK (0x20U)
  76908. #define SRC_DOMAIN_M4CORE_CPU1_WAIT_SHIFT (5U)
  76909. /*! CPU1_WAIT - CPU mode setting for WAIT
  76910. * 0b0..Slice reset will be de-asserted when CPU1 in WAIT mode
  76911. * 0b1..Slice reset will be asserted when CPU1 in WAIT mode
  76912. */
  76913. #define SRC_DOMAIN_M4CORE_CPU1_WAIT(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M4CORE_CPU1_WAIT_SHIFT)) & SRC_DOMAIN_M4CORE_CPU1_WAIT_MASK)
  76914. #define SRC_DOMAIN_M4CORE_CPU1_STOP_MASK (0x40U)
  76915. #define SRC_DOMAIN_M4CORE_CPU1_STOP_SHIFT (6U)
  76916. /*! CPU1_STOP - CPU mode setting for STOP
  76917. * 0b0..Slice reset will be de-asserted when CPU1 in STOP mode
  76918. * 0b1..Slice reset will be asserted when CPU1 in STOP mode
  76919. */
  76920. #define SRC_DOMAIN_M4CORE_CPU1_STOP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M4CORE_CPU1_STOP_SHIFT)) & SRC_DOMAIN_M4CORE_CPU1_STOP_MASK)
  76921. #define SRC_DOMAIN_M4CORE_CPU1_SUSP_MASK (0x80U)
  76922. #define SRC_DOMAIN_M4CORE_CPU1_SUSP_SHIFT (7U)
  76923. /*! CPU1_SUSP - CPU mode setting for SUSPEND
  76924. * 0b0..Slice reset will be de-asserted when CPU1 in SUSPEND mode
  76925. * 0b1..Slice reset will be asserted when CPU1 in SUSPEND mode
  76926. */
  76927. #define SRC_DOMAIN_M4CORE_CPU1_SUSP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M4CORE_CPU1_SUSP_SHIFT)) & SRC_DOMAIN_M4CORE_CPU1_SUSP_MASK)
  76928. /*! @} */
  76929. /*! @name STAT_M4CORE - Slice Status Register */
  76930. /*! @{ */
  76931. #define SRC_STAT_M4CORE_UNDER_RST_MASK (0x1U)
  76932. #define SRC_STAT_M4CORE_UNDER_RST_SHIFT (0U)
  76933. /*! UNDER_RST
  76934. * 0b0..the reset is finished
  76935. * 0b1..the reset is in process
  76936. */
  76937. #define SRC_STAT_M4CORE_UNDER_RST(x) (((uint32_t)(((uint32_t)(x)) << SRC_STAT_M4CORE_UNDER_RST_SHIFT)) & SRC_STAT_M4CORE_UNDER_RST_MASK)
  76938. #define SRC_STAT_M4CORE_RST_BY_HW_MASK (0x4U)
  76939. #define SRC_STAT_M4CORE_RST_BY_HW_SHIFT (2U)
  76940. /*! RST_BY_HW
  76941. * 0b0..the reset is not caused by the power mode transfer
  76942. * 0b1..the reset is caused by the power mode transfer
  76943. */
  76944. #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)
  76945. #define SRC_STAT_M4CORE_RST_BY_SW_MASK (0x8U)
  76946. #define SRC_STAT_M4CORE_RST_BY_SW_SHIFT (3U)
  76947. /*! RST_BY_SW
  76948. * 0b0..the reset is not caused by software setting
  76949. * 0b1..the reset is caused by software setting
  76950. */
  76951. #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)
  76952. /*! @} */
  76953. /*! @name AUTHEN_M7CORE - Slice Authentication Register */
  76954. /*! @{ */
  76955. #define SRC_AUTHEN_M7CORE_DOMAIN_MODE_MASK (0x1U)
  76956. #define SRC_AUTHEN_M7CORE_DOMAIN_MODE_SHIFT (0U)
  76957. /*! DOMAIN_MODE
  76958. * 0b0..slice hardware reset will NOT be triggered by CPU power mode transition
  76959. * 0b1..slice hardware reset will be triggered by CPU power mode transition. Do not set this bit and SETPOINT_MODE at the same time.
  76960. */
  76961. #define SRC_AUTHEN_M7CORE_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M7CORE_DOMAIN_MODE_SHIFT)) & SRC_AUTHEN_M7CORE_DOMAIN_MODE_MASK)
  76962. #define SRC_AUTHEN_M7CORE_SETPOINT_MODE_MASK (0x2U)
  76963. #define SRC_AUTHEN_M7CORE_SETPOINT_MODE_SHIFT (1U)
  76964. /*! SETPOINT_MODE
  76965. * 0b0..slice hardware reset will NOT be triggered by Setpoint transition
  76966. * 0b1..slice hardware reset will be triggered by Setpoint transition. Do not set this bit and DOMAIN_MODE at the same time.
  76967. */
  76968. #define SRC_AUTHEN_M7CORE_SETPOINT_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M7CORE_SETPOINT_MODE_SHIFT)) & SRC_AUTHEN_M7CORE_SETPOINT_MODE_MASK)
  76969. #define SRC_AUTHEN_M7CORE_LOCK_MODE_MASK (0x80U)
  76970. #define SRC_AUTHEN_M7CORE_LOCK_MODE_SHIFT (7U)
  76971. /*! LOCK_MODE - Domain/Setpoint mode lock
  76972. */
  76973. #define SRC_AUTHEN_M7CORE_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M7CORE_LOCK_MODE_SHIFT)) & SRC_AUTHEN_M7CORE_LOCK_MODE_MASK)
  76974. #define SRC_AUTHEN_M7CORE_ASSIGN_LIST_MASK (0xF00U)
  76975. #define SRC_AUTHEN_M7CORE_ASSIGN_LIST_SHIFT (8U)
  76976. #define SRC_AUTHEN_M7CORE_ASSIGN_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M7CORE_ASSIGN_LIST_SHIFT)) & SRC_AUTHEN_M7CORE_ASSIGN_LIST_MASK)
  76977. #define SRC_AUTHEN_M7CORE_LOCK_ASSIGN_MASK (0x8000U)
  76978. #define SRC_AUTHEN_M7CORE_LOCK_ASSIGN_SHIFT (15U)
  76979. /*! LOCK_ASSIGN - Assign list lock
  76980. */
  76981. #define SRC_AUTHEN_M7CORE_LOCK_ASSIGN(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M7CORE_LOCK_ASSIGN_SHIFT)) & SRC_AUTHEN_M7CORE_LOCK_ASSIGN_MASK)
  76982. #define SRC_AUTHEN_M7CORE_WHITE_LIST_MASK (0xF0000U)
  76983. #define SRC_AUTHEN_M7CORE_WHITE_LIST_SHIFT (16U)
  76984. /*! WHITE_LIST - Domain ID white list
  76985. */
  76986. #define SRC_AUTHEN_M7CORE_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M7CORE_WHITE_LIST_SHIFT)) & SRC_AUTHEN_M7CORE_WHITE_LIST_MASK)
  76987. #define SRC_AUTHEN_M7CORE_LOCK_LIST_MASK (0x800000U)
  76988. #define SRC_AUTHEN_M7CORE_LOCK_LIST_SHIFT (23U)
  76989. /*! LOCK_LIST - White list lock
  76990. */
  76991. #define SRC_AUTHEN_M7CORE_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M7CORE_LOCK_LIST_SHIFT)) & SRC_AUTHEN_M7CORE_LOCK_LIST_MASK)
  76992. #define SRC_AUTHEN_M7CORE_USER_MASK (0x1000000U)
  76993. #define SRC_AUTHEN_M7CORE_USER_SHIFT (24U)
  76994. /*! USER - Allow user mode access
  76995. */
  76996. #define SRC_AUTHEN_M7CORE_USER(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M7CORE_USER_SHIFT)) & SRC_AUTHEN_M7CORE_USER_MASK)
  76997. #define SRC_AUTHEN_M7CORE_NONSECURE_MASK (0x2000000U)
  76998. #define SRC_AUTHEN_M7CORE_NONSECURE_SHIFT (25U)
  76999. /*! NONSECURE - Allow non-secure mode access
  77000. */
  77001. #define SRC_AUTHEN_M7CORE_NONSECURE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M7CORE_NONSECURE_SHIFT)) & SRC_AUTHEN_M7CORE_NONSECURE_MASK)
  77002. #define SRC_AUTHEN_M7CORE_LOCK_SETTING_MASK (0x80000000U)
  77003. #define SRC_AUTHEN_M7CORE_LOCK_SETTING_SHIFT (31U)
  77004. /*! LOCK_SETTING - Lock NONSECURE and USER
  77005. */
  77006. #define SRC_AUTHEN_M7CORE_LOCK_SETTING(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M7CORE_LOCK_SETTING_SHIFT)) & SRC_AUTHEN_M7CORE_LOCK_SETTING_MASK)
  77007. /*! @} */
  77008. /*! @name CTRL_M7CORE - Slice Control Register */
  77009. /*! @{ */
  77010. #define SRC_CTRL_M7CORE_SW_RESET_MASK (0x1U)
  77011. #define SRC_CTRL_M7CORE_SW_RESET_SHIFT (0U)
  77012. /*! SW_RESET
  77013. * 0b0..do not assert slice software reset
  77014. * 0b1..assert slice software reset
  77015. */
  77016. #define SRC_CTRL_M7CORE_SW_RESET(x) (((uint32_t)(((uint32_t)(x)) << SRC_CTRL_M7CORE_SW_RESET_SHIFT)) & SRC_CTRL_M7CORE_SW_RESET_MASK)
  77017. /*! @} */
  77018. /*! @name SETPOINT_M7CORE - Slice Setpoint Config Register */
  77019. /*! @{ */
  77020. #define SRC_SETPOINT_M7CORE_SETPOINT0_MASK (0x1U)
  77021. #define SRC_SETPOINT_M7CORE_SETPOINT0_SHIFT (0U)
  77022. /*! SETPOINT0 - SETPOINT0
  77023. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77024. * 0b1..Slice reset will be asserted when system in Setpoint n
  77025. */
  77026. #define SRC_SETPOINT_M7CORE_SETPOINT0(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7CORE_SETPOINT0_SHIFT)) & SRC_SETPOINT_M7CORE_SETPOINT0_MASK)
  77027. #define SRC_SETPOINT_M7CORE_SETPOINT1_MASK (0x2U)
  77028. #define SRC_SETPOINT_M7CORE_SETPOINT1_SHIFT (1U)
  77029. /*! SETPOINT1 - SETPOINT1
  77030. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77031. * 0b1..Slice reset will be asserted when system in Setpoint n
  77032. */
  77033. #define SRC_SETPOINT_M7CORE_SETPOINT1(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7CORE_SETPOINT1_SHIFT)) & SRC_SETPOINT_M7CORE_SETPOINT1_MASK)
  77034. #define SRC_SETPOINT_M7CORE_SETPOINT2_MASK (0x4U)
  77035. #define SRC_SETPOINT_M7CORE_SETPOINT2_SHIFT (2U)
  77036. /*! SETPOINT2 - SETPOINT2
  77037. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77038. * 0b1..Slice reset will be asserted when system in Setpoint n
  77039. */
  77040. #define SRC_SETPOINT_M7CORE_SETPOINT2(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7CORE_SETPOINT2_SHIFT)) & SRC_SETPOINT_M7CORE_SETPOINT2_MASK)
  77041. #define SRC_SETPOINT_M7CORE_SETPOINT3_MASK (0x8U)
  77042. #define SRC_SETPOINT_M7CORE_SETPOINT3_SHIFT (3U)
  77043. /*! SETPOINT3 - SETPOINT3
  77044. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77045. * 0b1..Slice reset will be asserted when system in Setpoint n
  77046. */
  77047. #define SRC_SETPOINT_M7CORE_SETPOINT3(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7CORE_SETPOINT3_SHIFT)) & SRC_SETPOINT_M7CORE_SETPOINT3_MASK)
  77048. #define SRC_SETPOINT_M7CORE_SETPOINT4_MASK (0x10U)
  77049. #define SRC_SETPOINT_M7CORE_SETPOINT4_SHIFT (4U)
  77050. /*! SETPOINT4 - SETPOINT4
  77051. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77052. * 0b1..Slice reset will be asserted when system in Setpoint n
  77053. */
  77054. #define SRC_SETPOINT_M7CORE_SETPOINT4(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7CORE_SETPOINT4_SHIFT)) & SRC_SETPOINT_M7CORE_SETPOINT4_MASK)
  77055. #define SRC_SETPOINT_M7CORE_SETPOINT5_MASK (0x20U)
  77056. #define SRC_SETPOINT_M7CORE_SETPOINT5_SHIFT (5U)
  77057. /*! SETPOINT5 - SETPOINT5
  77058. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77059. * 0b1..Slice reset will be asserted when system in Setpoint n
  77060. */
  77061. #define SRC_SETPOINT_M7CORE_SETPOINT5(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7CORE_SETPOINT5_SHIFT)) & SRC_SETPOINT_M7CORE_SETPOINT5_MASK)
  77062. #define SRC_SETPOINT_M7CORE_SETPOINT6_MASK (0x40U)
  77063. #define SRC_SETPOINT_M7CORE_SETPOINT6_SHIFT (6U)
  77064. /*! SETPOINT6 - SETPOINT6
  77065. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77066. * 0b1..Slice reset will be asserted when system in Setpoint n
  77067. */
  77068. #define SRC_SETPOINT_M7CORE_SETPOINT6(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7CORE_SETPOINT6_SHIFT)) & SRC_SETPOINT_M7CORE_SETPOINT6_MASK)
  77069. #define SRC_SETPOINT_M7CORE_SETPOINT7_MASK (0x80U)
  77070. #define SRC_SETPOINT_M7CORE_SETPOINT7_SHIFT (7U)
  77071. /*! SETPOINT7 - SETPOINT7
  77072. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77073. * 0b1..Slice reset will be asserted when system in Setpoint n
  77074. */
  77075. #define SRC_SETPOINT_M7CORE_SETPOINT7(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7CORE_SETPOINT7_SHIFT)) & SRC_SETPOINT_M7CORE_SETPOINT7_MASK)
  77076. #define SRC_SETPOINT_M7CORE_SETPOINT8_MASK (0x100U)
  77077. #define SRC_SETPOINT_M7CORE_SETPOINT8_SHIFT (8U)
  77078. /*! SETPOINT8 - SETPOINT8
  77079. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77080. * 0b1..Slice reset will be asserted when system in Setpoint n
  77081. */
  77082. #define SRC_SETPOINT_M7CORE_SETPOINT8(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7CORE_SETPOINT8_SHIFT)) & SRC_SETPOINT_M7CORE_SETPOINT8_MASK)
  77083. #define SRC_SETPOINT_M7CORE_SETPOINT9_MASK (0x200U)
  77084. #define SRC_SETPOINT_M7CORE_SETPOINT9_SHIFT (9U)
  77085. /*! SETPOINT9 - SETPOINT9
  77086. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77087. * 0b1..Slice reset will be asserted when system in Setpoint n
  77088. */
  77089. #define SRC_SETPOINT_M7CORE_SETPOINT9(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7CORE_SETPOINT9_SHIFT)) & SRC_SETPOINT_M7CORE_SETPOINT9_MASK)
  77090. #define SRC_SETPOINT_M7CORE_SETPOINT10_MASK (0x400U)
  77091. #define SRC_SETPOINT_M7CORE_SETPOINT10_SHIFT (10U)
  77092. /*! SETPOINT10 - SETPOINT10
  77093. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77094. * 0b1..Slice reset will be asserted when system in Setpoint n
  77095. */
  77096. #define SRC_SETPOINT_M7CORE_SETPOINT10(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7CORE_SETPOINT10_SHIFT)) & SRC_SETPOINT_M7CORE_SETPOINT10_MASK)
  77097. #define SRC_SETPOINT_M7CORE_SETPOINT11_MASK (0x800U)
  77098. #define SRC_SETPOINT_M7CORE_SETPOINT11_SHIFT (11U)
  77099. /*! SETPOINT11 - SETPOINT11
  77100. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77101. * 0b1..Slice reset will be asserted when system in Setpoint n
  77102. */
  77103. #define SRC_SETPOINT_M7CORE_SETPOINT11(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7CORE_SETPOINT11_SHIFT)) & SRC_SETPOINT_M7CORE_SETPOINT11_MASK)
  77104. #define SRC_SETPOINT_M7CORE_SETPOINT12_MASK (0x1000U)
  77105. #define SRC_SETPOINT_M7CORE_SETPOINT12_SHIFT (12U)
  77106. /*! SETPOINT12 - SETPOINT12
  77107. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77108. * 0b1..Slice reset will be asserted when system in Setpoint n
  77109. */
  77110. #define SRC_SETPOINT_M7CORE_SETPOINT12(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7CORE_SETPOINT12_SHIFT)) & SRC_SETPOINT_M7CORE_SETPOINT12_MASK)
  77111. #define SRC_SETPOINT_M7CORE_SETPOINT13_MASK (0x2000U)
  77112. #define SRC_SETPOINT_M7CORE_SETPOINT13_SHIFT (13U)
  77113. /*! SETPOINT13 - SETPOINT13
  77114. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77115. * 0b1..Slice reset will be asserted when system in Setpoint n
  77116. */
  77117. #define SRC_SETPOINT_M7CORE_SETPOINT13(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7CORE_SETPOINT13_SHIFT)) & SRC_SETPOINT_M7CORE_SETPOINT13_MASK)
  77118. #define SRC_SETPOINT_M7CORE_SETPOINT14_MASK (0x4000U)
  77119. #define SRC_SETPOINT_M7CORE_SETPOINT14_SHIFT (14U)
  77120. /*! SETPOINT14 - SETPOINT14
  77121. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77122. * 0b1..Slice reset will be asserted when system in Setpoint n
  77123. */
  77124. #define SRC_SETPOINT_M7CORE_SETPOINT14(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7CORE_SETPOINT14_SHIFT)) & SRC_SETPOINT_M7CORE_SETPOINT14_MASK)
  77125. #define SRC_SETPOINT_M7CORE_SETPOINT15_MASK (0x8000U)
  77126. #define SRC_SETPOINT_M7CORE_SETPOINT15_SHIFT (15U)
  77127. /*! SETPOINT15 - SETPOINT15
  77128. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77129. * 0b1..Slice reset will be asserted when system in Setpoint n
  77130. */
  77131. #define SRC_SETPOINT_M7CORE_SETPOINT15(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7CORE_SETPOINT15_SHIFT)) & SRC_SETPOINT_M7CORE_SETPOINT15_MASK)
  77132. /*! @} */
  77133. /*! @name DOMAIN_M7CORE - Slice Domain Config Register */
  77134. /*! @{ */
  77135. #define SRC_DOMAIN_M7CORE_CPU0_RUN_MASK (0x1U)
  77136. #define SRC_DOMAIN_M7CORE_CPU0_RUN_SHIFT (0U)
  77137. /*! CPU0_RUN - CPU mode setting for RUN
  77138. * 0b0..Slice reset will be de-asserted when CPU0 in RUN mode
  77139. * 0b1..Slice reset will be asserted when CPU0 in RUN mode
  77140. */
  77141. #define SRC_DOMAIN_M7CORE_CPU0_RUN(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M7CORE_CPU0_RUN_SHIFT)) & SRC_DOMAIN_M7CORE_CPU0_RUN_MASK)
  77142. #define SRC_DOMAIN_M7CORE_CPU0_WAIT_MASK (0x2U)
  77143. #define SRC_DOMAIN_M7CORE_CPU0_WAIT_SHIFT (1U)
  77144. /*! CPU0_WAIT - CPU mode setting for WAIT
  77145. * 0b0..Slice reset will be de-asserted when CPU0 in WAIT mode
  77146. * 0b1..Slice reset will be asserted when CPU0 in WAIT mode
  77147. */
  77148. #define SRC_DOMAIN_M7CORE_CPU0_WAIT(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M7CORE_CPU0_WAIT_SHIFT)) & SRC_DOMAIN_M7CORE_CPU0_WAIT_MASK)
  77149. #define SRC_DOMAIN_M7CORE_CPU0_STOP_MASK (0x4U)
  77150. #define SRC_DOMAIN_M7CORE_CPU0_STOP_SHIFT (2U)
  77151. /*! CPU0_STOP - CPU mode setting for STOP
  77152. * 0b0..Slice reset will be de-asserted when CPU0 in STOP mode
  77153. * 0b1..Slice reset will be asserted when CPU0 in STOP mode
  77154. */
  77155. #define SRC_DOMAIN_M7CORE_CPU0_STOP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M7CORE_CPU0_STOP_SHIFT)) & SRC_DOMAIN_M7CORE_CPU0_STOP_MASK)
  77156. #define SRC_DOMAIN_M7CORE_CPU0_SUSP_MASK (0x8U)
  77157. #define SRC_DOMAIN_M7CORE_CPU0_SUSP_SHIFT (3U)
  77158. /*! CPU0_SUSP - CPU mode setting for SUSPEND
  77159. * 0b0..Slice reset will be de-asserted when CPU0 in SUSPEND mode
  77160. * 0b1..Slice reset will be asserted when CPU0 in SUSPEND mode
  77161. */
  77162. #define SRC_DOMAIN_M7CORE_CPU0_SUSP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M7CORE_CPU0_SUSP_SHIFT)) & SRC_DOMAIN_M7CORE_CPU0_SUSP_MASK)
  77163. #define SRC_DOMAIN_M7CORE_CPU1_RUN_MASK (0x10U)
  77164. #define SRC_DOMAIN_M7CORE_CPU1_RUN_SHIFT (4U)
  77165. /*! CPU1_RUN - CPU mode setting for RUN
  77166. * 0b0..Slice reset will be de-asserted when CPU1 in RUN mode
  77167. * 0b1..Slice reset will be asserted when CPU1 in RUN mode
  77168. */
  77169. #define SRC_DOMAIN_M7CORE_CPU1_RUN(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M7CORE_CPU1_RUN_SHIFT)) & SRC_DOMAIN_M7CORE_CPU1_RUN_MASK)
  77170. #define SRC_DOMAIN_M7CORE_CPU1_WAIT_MASK (0x20U)
  77171. #define SRC_DOMAIN_M7CORE_CPU1_WAIT_SHIFT (5U)
  77172. /*! CPU1_WAIT - CPU mode setting for WAIT
  77173. * 0b0..Slice reset will be de-asserted when CPU1 in WAIT mode
  77174. * 0b1..Slice reset will be asserted when CPU1 in WAIT mode
  77175. */
  77176. #define SRC_DOMAIN_M7CORE_CPU1_WAIT(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M7CORE_CPU1_WAIT_SHIFT)) & SRC_DOMAIN_M7CORE_CPU1_WAIT_MASK)
  77177. #define SRC_DOMAIN_M7CORE_CPU1_STOP_MASK (0x40U)
  77178. #define SRC_DOMAIN_M7CORE_CPU1_STOP_SHIFT (6U)
  77179. /*! CPU1_STOP - CPU mode setting for STOP
  77180. * 0b0..Slice reset will be de-asserted when CPU1 in STOP mode
  77181. * 0b1..Slice reset will be asserted when CPU1 in STOP mode
  77182. */
  77183. #define SRC_DOMAIN_M7CORE_CPU1_STOP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M7CORE_CPU1_STOP_SHIFT)) & SRC_DOMAIN_M7CORE_CPU1_STOP_MASK)
  77184. #define SRC_DOMAIN_M7CORE_CPU1_SUSP_MASK (0x80U)
  77185. #define SRC_DOMAIN_M7CORE_CPU1_SUSP_SHIFT (7U)
  77186. /*! CPU1_SUSP - CPU mode setting for SUSPEND
  77187. * 0b0..Slice reset will be de-asserted when CPU1 in SUSPEND mode
  77188. * 0b1..Slice reset will be asserted when CPU1 in SUSPEND mode
  77189. */
  77190. #define SRC_DOMAIN_M7CORE_CPU1_SUSP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M7CORE_CPU1_SUSP_SHIFT)) & SRC_DOMAIN_M7CORE_CPU1_SUSP_MASK)
  77191. /*! @} */
  77192. /*! @name STAT_M7CORE - Slice Status Register */
  77193. /*! @{ */
  77194. #define SRC_STAT_M7CORE_UNDER_RST_MASK (0x1U)
  77195. #define SRC_STAT_M7CORE_UNDER_RST_SHIFT (0U)
  77196. /*! UNDER_RST
  77197. * 0b0..the reset is finished
  77198. * 0b1..the reset is in process
  77199. */
  77200. #define SRC_STAT_M7CORE_UNDER_RST(x) (((uint32_t)(((uint32_t)(x)) << SRC_STAT_M7CORE_UNDER_RST_SHIFT)) & SRC_STAT_M7CORE_UNDER_RST_MASK)
  77201. #define SRC_STAT_M7CORE_RST_BY_HW_MASK (0x4U)
  77202. #define SRC_STAT_M7CORE_RST_BY_HW_SHIFT (2U)
  77203. /*! RST_BY_HW
  77204. * 0b0..the reset is not caused by the power mode transfer
  77205. * 0b1..the reset is caused by the power mode transfer
  77206. */
  77207. #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)
  77208. #define SRC_STAT_M7CORE_RST_BY_SW_MASK (0x8U)
  77209. #define SRC_STAT_M7CORE_RST_BY_SW_SHIFT (3U)
  77210. /*! RST_BY_SW
  77211. * 0b0..the reset is not caused by software setting
  77212. * 0b1..the reset is caused by software setting
  77213. */
  77214. #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)
  77215. /*! @} */
  77216. /*! @name AUTHEN_M4DEBUG - Slice Authentication Register */
  77217. /*! @{ */
  77218. #define SRC_AUTHEN_M4DEBUG_DOMAIN_MODE_MASK (0x1U)
  77219. #define SRC_AUTHEN_M4DEBUG_DOMAIN_MODE_SHIFT (0U)
  77220. /*! DOMAIN_MODE
  77221. * 0b0..slice hardware reset will NOT be triggered by CPU power mode transition
  77222. * 0b1..slice hardware reset will be triggered by CPU power mode transition. Do not set this bit and SETPOINT_MODE at the same time.
  77223. */
  77224. #define SRC_AUTHEN_M4DEBUG_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M4DEBUG_DOMAIN_MODE_SHIFT)) & SRC_AUTHEN_M4DEBUG_DOMAIN_MODE_MASK)
  77225. #define SRC_AUTHEN_M4DEBUG_SETPOINT_MODE_MASK (0x2U)
  77226. #define SRC_AUTHEN_M4DEBUG_SETPOINT_MODE_SHIFT (1U)
  77227. /*! SETPOINT_MODE
  77228. * 0b0..slice hardware reset will NOT be triggered by Setpoint transition
  77229. * 0b1..slice hardware reset will be triggered by Setpoint transition. Do not set this bit and DOMAIN_MODE at the same time.
  77230. */
  77231. #define SRC_AUTHEN_M4DEBUG_SETPOINT_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M4DEBUG_SETPOINT_MODE_SHIFT)) & SRC_AUTHEN_M4DEBUG_SETPOINT_MODE_MASK)
  77232. #define SRC_AUTHEN_M4DEBUG_LOCK_MODE_MASK (0x80U)
  77233. #define SRC_AUTHEN_M4DEBUG_LOCK_MODE_SHIFT (7U)
  77234. /*! LOCK_MODE - Domain/Setpoint mode lock
  77235. */
  77236. #define SRC_AUTHEN_M4DEBUG_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M4DEBUG_LOCK_MODE_SHIFT)) & SRC_AUTHEN_M4DEBUG_LOCK_MODE_MASK)
  77237. #define SRC_AUTHEN_M4DEBUG_ASSIGN_LIST_MASK (0xF00U)
  77238. #define SRC_AUTHEN_M4DEBUG_ASSIGN_LIST_SHIFT (8U)
  77239. #define SRC_AUTHEN_M4DEBUG_ASSIGN_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M4DEBUG_ASSIGN_LIST_SHIFT)) & SRC_AUTHEN_M4DEBUG_ASSIGN_LIST_MASK)
  77240. #define SRC_AUTHEN_M4DEBUG_LOCK_ASSIGN_MASK (0x8000U)
  77241. #define SRC_AUTHEN_M4DEBUG_LOCK_ASSIGN_SHIFT (15U)
  77242. /*! LOCK_ASSIGN - Assign list lock
  77243. */
  77244. #define SRC_AUTHEN_M4DEBUG_LOCK_ASSIGN(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M4DEBUG_LOCK_ASSIGN_SHIFT)) & SRC_AUTHEN_M4DEBUG_LOCK_ASSIGN_MASK)
  77245. #define SRC_AUTHEN_M4DEBUG_WHITE_LIST_MASK (0xF0000U)
  77246. #define SRC_AUTHEN_M4DEBUG_WHITE_LIST_SHIFT (16U)
  77247. /*! WHITE_LIST - Domain ID white list
  77248. */
  77249. #define SRC_AUTHEN_M4DEBUG_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M4DEBUG_WHITE_LIST_SHIFT)) & SRC_AUTHEN_M4DEBUG_WHITE_LIST_MASK)
  77250. #define SRC_AUTHEN_M4DEBUG_LOCK_LIST_MASK (0x800000U)
  77251. #define SRC_AUTHEN_M4DEBUG_LOCK_LIST_SHIFT (23U)
  77252. /*! LOCK_LIST - White list lock
  77253. */
  77254. #define SRC_AUTHEN_M4DEBUG_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M4DEBUG_LOCK_LIST_SHIFT)) & SRC_AUTHEN_M4DEBUG_LOCK_LIST_MASK)
  77255. #define SRC_AUTHEN_M4DEBUG_USER_MASK (0x1000000U)
  77256. #define SRC_AUTHEN_M4DEBUG_USER_SHIFT (24U)
  77257. /*! USER - Allow user mode access
  77258. */
  77259. #define SRC_AUTHEN_M4DEBUG_USER(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M4DEBUG_USER_SHIFT)) & SRC_AUTHEN_M4DEBUG_USER_MASK)
  77260. #define SRC_AUTHEN_M4DEBUG_NONSECURE_MASK (0x2000000U)
  77261. #define SRC_AUTHEN_M4DEBUG_NONSECURE_SHIFT (25U)
  77262. /*! NONSECURE - Allow non-secure mode access
  77263. */
  77264. #define SRC_AUTHEN_M4DEBUG_NONSECURE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M4DEBUG_NONSECURE_SHIFT)) & SRC_AUTHEN_M4DEBUG_NONSECURE_MASK)
  77265. #define SRC_AUTHEN_M4DEBUG_LOCK_SETTING_MASK (0x80000000U)
  77266. #define SRC_AUTHEN_M4DEBUG_LOCK_SETTING_SHIFT (31U)
  77267. /*! LOCK_SETTING - Lock NONSECURE and USER
  77268. */
  77269. #define SRC_AUTHEN_M4DEBUG_LOCK_SETTING(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M4DEBUG_LOCK_SETTING_SHIFT)) & SRC_AUTHEN_M4DEBUG_LOCK_SETTING_MASK)
  77270. /*! @} */
  77271. /*! @name CTRL_M4DEBUG - Slice Control Register */
  77272. /*! @{ */
  77273. #define SRC_CTRL_M4DEBUG_SW_RESET_MASK (0x1U)
  77274. #define SRC_CTRL_M4DEBUG_SW_RESET_SHIFT (0U)
  77275. /*! SW_RESET
  77276. * 0b0..do not assert slice software reset
  77277. * 0b1..assert slice software reset
  77278. */
  77279. #define SRC_CTRL_M4DEBUG_SW_RESET(x) (((uint32_t)(((uint32_t)(x)) << SRC_CTRL_M4DEBUG_SW_RESET_SHIFT)) & SRC_CTRL_M4DEBUG_SW_RESET_MASK)
  77280. /*! @} */
  77281. /*! @name SETPOINT_M4DEBUG - Slice Setpoint Config Register */
  77282. /*! @{ */
  77283. #define SRC_SETPOINT_M4DEBUG_SETPOINT0_MASK (0x1U)
  77284. #define SRC_SETPOINT_M4DEBUG_SETPOINT0_SHIFT (0U)
  77285. /*! SETPOINT0 - SETPOINT0
  77286. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77287. * 0b1..Slice reset will be asserted when system in Setpoint n
  77288. */
  77289. #define SRC_SETPOINT_M4DEBUG_SETPOINT0(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4DEBUG_SETPOINT0_SHIFT)) & SRC_SETPOINT_M4DEBUG_SETPOINT0_MASK)
  77290. #define SRC_SETPOINT_M4DEBUG_SETPOINT1_MASK (0x2U)
  77291. #define SRC_SETPOINT_M4DEBUG_SETPOINT1_SHIFT (1U)
  77292. /*! SETPOINT1 - SETPOINT1
  77293. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77294. * 0b1..Slice reset will be asserted when system in Setpoint n
  77295. */
  77296. #define SRC_SETPOINT_M4DEBUG_SETPOINT1(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4DEBUG_SETPOINT1_SHIFT)) & SRC_SETPOINT_M4DEBUG_SETPOINT1_MASK)
  77297. #define SRC_SETPOINT_M4DEBUG_SETPOINT2_MASK (0x4U)
  77298. #define SRC_SETPOINT_M4DEBUG_SETPOINT2_SHIFT (2U)
  77299. /*! SETPOINT2 - SETPOINT2
  77300. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77301. * 0b1..Slice reset will be asserted when system in Setpoint n
  77302. */
  77303. #define SRC_SETPOINT_M4DEBUG_SETPOINT2(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4DEBUG_SETPOINT2_SHIFT)) & SRC_SETPOINT_M4DEBUG_SETPOINT2_MASK)
  77304. #define SRC_SETPOINT_M4DEBUG_SETPOINT3_MASK (0x8U)
  77305. #define SRC_SETPOINT_M4DEBUG_SETPOINT3_SHIFT (3U)
  77306. /*! SETPOINT3 - SETPOINT3
  77307. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77308. * 0b1..Slice reset will be asserted when system in Setpoint n
  77309. */
  77310. #define SRC_SETPOINT_M4DEBUG_SETPOINT3(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4DEBUG_SETPOINT3_SHIFT)) & SRC_SETPOINT_M4DEBUG_SETPOINT3_MASK)
  77311. #define SRC_SETPOINT_M4DEBUG_SETPOINT4_MASK (0x10U)
  77312. #define SRC_SETPOINT_M4DEBUG_SETPOINT4_SHIFT (4U)
  77313. /*! SETPOINT4 - SETPOINT4
  77314. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77315. * 0b1..Slice reset will be asserted when system in Setpoint n
  77316. */
  77317. #define SRC_SETPOINT_M4DEBUG_SETPOINT4(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4DEBUG_SETPOINT4_SHIFT)) & SRC_SETPOINT_M4DEBUG_SETPOINT4_MASK)
  77318. #define SRC_SETPOINT_M4DEBUG_SETPOINT5_MASK (0x20U)
  77319. #define SRC_SETPOINT_M4DEBUG_SETPOINT5_SHIFT (5U)
  77320. /*! SETPOINT5 - SETPOINT5
  77321. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77322. * 0b1..Slice reset will be asserted when system in Setpoint n
  77323. */
  77324. #define SRC_SETPOINT_M4DEBUG_SETPOINT5(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4DEBUG_SETPOINT5_SHIFT)) & SRC_SETPOINT_M4DEBUG_SETPOINT5_MASK)
  77325. #define SRC_SETPOINT_M4DEBUG_SETPOINT6_MASK (0x40U)
  77326. #define SRC_SETPOINT_M4DEBUG_SETPOINT6_SHIFT (6U)
  77327. /*! SETPOINT6 - SETPOINT6
  77328. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77329. * 0b1..Slice reset will be asserted when system in Setpoint n
  77330. */
  77331. #define SRC_SETPOINT_M4DEBUG_SETPOINT6(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4DEBUG_SETPOINT6_SHIFT)) & SRC_SETPOINT_M4DEBUG_SETPOINT6_MASK)
  77332. #define SRC_SETPOINT_M4DEBUG_SETPOINT7_MASK (0x80U)
  77333. #define SRC_SETPOINT_M4DEBUG_SETPOINT7_SHIFT (7U)
  77334. /*! SETPOINT7 - SETPOINT7
  77335. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77336. * 0b1..Slice reset will be asserted when system in Setpoint n
  77337. */
  77338. #define SRC_SETPOINT_M4DEBUG_SETPOINT7(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4DEBUG_SETPOINT7_SHIFT)) & SRC_SETPOINT_M4DEBUG_SETPOINT7_MASK)
  77339. #define SRC_SETPOINT_M4DEBUG_SETPOINT8_MASK (0x100U)
  77340. #define SRC_SETPOINT_M4DEBUG_SETPOINT8_SHIFT (8U)
  77341. /*! SETPOINT8 - SETPOINT8
  77342. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77343. * 0b1..Slice reset will be asserted when system in Setpoint n
  77344. */
  77345. #define SRC_SETPOINT_M4DEBUG_SETPOINT8(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4DEBUG_SETPOINT8_SHIFT)) & SRC_SETPOINT_M4DEBUG_SETPOINT8_MASK)
  77346. #define SRC_SETPOINT_M4DEBUG_SETPOINT9_MASK (0x200U)
  77347. #define SRC_SETPOINT_M4DEBUG_SETPOINT9_SHIFT (9U)
  77348. /*! SETPOINT9 - SETPOINT9
  77349. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77350. * 0b1..Slice reset will be asserted when system in Setpoint n
  77351. */
  77352. #define SRC_SETPOINT_M4DEBUG_SETPOINT9(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4DEBUG_SETPOINT9_SHIFT)) & SRC_SETPOINT_M4DEBUG_SETPOINT9_MASK)
  77353. #define SRC_SETPOINT_M4DEBUG_SETPOINT10_MASK (0x400U)
  77354. #define SRC_SETPOINT_M4DEBUG_SETPOINT10_SHIFT (10U)
  77355. /*! SETPOINT10 - SETPOINT10
  77356. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77357. * 0b1..Slice reset will be asserted when system in Setpoint n
  77358. */
  77359. #define SRC_SETPOINT_M4DEBUG_SETPOINT10(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4DEBUG_SETPOINT10_SHIFT)) & SRC_SETPOINT_M4DEBUG_SETPOINT10_MASK)
  77360. #define SRC_SETPOINT_M4DEBUG_SETPOINT11_MASK (0x800U)
  77361. #define SRC_SETPOINT_M4DEBUG_SETPOINT11_SHIFT (11U)
  77362. /*! SETPOINT11 - SETPOINT11
  77363. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77364. * 0b1..Slice reset will be asserted when system in Setpoint n
  77365. */
  77366. #define SRC_SETPOINT_M4DEBUG_SETPOINT11(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4DEBUG_SETPOINT11_SHIFT)) & SRC_SETPOINT_M4DEBUG_SETPOINT11_MASK)
  77367. #define SRC_SETPOINT_M4DEBUG_SETPOINT12_MASK (0x1000U)
  77368. #define SRC_SETPOINT_M4DEBUG_SETPOINT12_SHIFT (12U)
  77369. /*! SETPOINT12 - SETPOINT12
  77370. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77371. * 0b1..Slice reset will be asserted when system in Setpoint n
  77372. */
  77373. #define SRC_SETPOINT_M4DEBUG_SETPOINT12(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4DEBUG_SETPOINT12_SHIFT)) & SRC_SETPOINT_M4DEBUG_SETPOINT12_MASK)
  77374. #define SRC_SETPOINT_M4DEBUG_SETPOINT13_MASK (0x2000U)
  77375. #define SRC_SETPOINT_M4DEBUG_SETPOINT13_SHIFT (13U)
  77376. /*! SETPOINT13 - SETPOINT13
  77377. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77378. * 0b1..Slice reset will be asserted when system in Setpoint n
  77379. */
  77380. #define SRC_SETPOINT_M4DEBUG_SETPOINT13(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4DEBUG_SETPOINT13_SHIFT)) & SRC_SETPOINT_M4DEBUG_SETPOINT13_MASK)
  77381. #define SRC_SETPOINT_M4DEBUG_SETPOINT14_MASK (0x4000U)
  77382. #define SRC_SETPOINT_M4DEBUG_SETPOINT14_SHIFT (14U)
  77383. /*! SETPOINT14 - SETPOINT14
  77384. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77385. * 0b1..Slice reset will be asserted when system in Setpoint n
  77386. */
  77387. #define SRC_SETPOINT_M4DEBUG_SETPOINT14(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4DEBUG_SETPOINT14_SHIFT)) & SRC_SETPOINT_M4DEBUG_SETPOINT14_MASK)
  77388. #define SRC_SETPOINT_M4DEBUG_SETPOINT15_MASK (0x8000U)
  77389. #define SRC_SETPOINT_M4DEBUG_SETPOINT15_SHIFT (15U)
  77390. /*! SETPOINT15 - SETPOINT15
  77391. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77392. * 0b1..Slice reset will be asserted when system in Setpoint n
  77393. */
  77394. #define SRC_SETPOINT_M4DEBUG_SETPOINT15(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4DEBUG_SETPOINT15_SHIFT)) & SRC_SETPOINT_M4DEBUG_SETPOINT15_MASK)
  77395. /*! @} */
  77396. /*! @name DOMAIN_M4DEBUG - Slice Domain Config Register */
  77397. /*! @{ */
  77398. #define SRC_DOMAIN_M4DEBUG_CPU0_RUN_MASK (0x1U)
  77399. #define SRC_DOMAIN_M4DEBUG_CPU0_RUN_SHIFT (0U)
  77400. /*! CPU0_RUN - CPU mode setting for RUN
  77401. * 0b0..Slice reset will be de-asserted when CPU0 in RUN mode
  77402. * 0b1..Slice reset will be asserted when CPU0 in RUN mode
  77403. */
  77404. #define SRC_DOMAIN_M4DEBUG_CPU0_RUN(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M4DEBUG_CPU0_RUN_SHIFT)) & SRC_DOMAIN_M4DEBUG_CPU0_RUN_MASK)
  77405. #define SRC_DOMAIN_M4DEBUG_CPU0_WAIT_MASK (0x2U)
  77406. #define SRC_DOMAIN_M4DEBUG_CPU0_WAIT_SHIFT (1U)
  77407. /*! CPU0_WAIT - CPU mode setting for WAIT
  77408. * 0b0..Slice reset will be de-asserted when CPU0 in WAIT mode
  77409. * 0b1..Slice reset will be asserted when CPU0 in WAIT mode
  77410. */
  77411. #define SRC_DOMAIN_M4DEBUG_CPU0_WAIT(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M4DEBUG_CPU0_WAIT_SHIFT)) & SRC_DOMAIN_M4DEBUG_CPU0_WAIT_MASK)
  77412. #define SRC_DOMAIN_M4DEBUG_CPU0_STOP_MASK (0x4U)
  77413. #define SRC_DOMAIN_M4DEBUG_CPU0_STOP_SHIFT (2U)
  77414. /*! CPU0_STOP - CPU mode setting for STOP
  77415. * 0b0..Slice reset will be de-asserted when CPU0 in STOP mode
  77416. * 0b1..Slice reset will be asserted when CPU0 in STOP mode
  77417. */
  77418. #define SRC_DOMAIN_M4DEBUG_CPU0_STOP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M4DEBUG_CPU0_STOP_SHIFT)) & SRC_DOMAIN_M4DEBUG_CPU0_STOP_MASK)
  77419. #define SRC_DOMAIN_M4DEBUG_CPU0_SUSP_MASK (0x8U)
  77420. #define SRC_DOMAIN_M4DEBUG_CPU0_SUSP_SHIFT (3U)
  77421. /*! CPU0_SUSP - CPU mode setting for SUSPEND
  77422. * 0b0..Slice reset will be de-asserted when CPU0 in SUSPEND mode
  77423. * 0b1..Slice reset will be asserted when CPU0 in SUSPEND mode
  77424. */
  77425. #define SRC_DOMAIN_M4DEBUG_CPU0_SUSP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M4DEBUG_CPU0_SUSP_SHIFT)) & SRC_DOMAIN_M4DEBUG_CPU0_SUSP_MASK)
  77426. #define SRC_DOMAIN_M4DEBUG_CPU1_RUN_MASK (0x10U)
  77427. #define SRC_DOMAIN_M4DEBUG_CPU1_RUN_SHIFT (4U)
  77428. /*! CPU1_RUN - CPU mode setting for RUN
  77429. * 0b0..Slice reset will be de-asserted when CPU1 in RUN mode
  77430. * 0b1..Slice reset will be asserted when CPU1 in RUN mode
  77431. */
  77432. #define SRC_DOMAIN_M4DEBUG_CPU1_RUN(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M4DEBUG_CPU1_RUN_SHIFT)) & SRC_DOMAIN_M4DEBUG_CPU1_RUN_MASK)
  77433. #define SRC_DOMAIN_M4DEBUG_CPU1_WAIT_MASK (0x20U)
  77434. #define SRC_DOMAIN_M4DEBUG_CPU1_WAIT_SHIFT (5U)
  77435. /*! CPU1_WAIT - CPU mode setting for WAIT
  77436. * 0b0..Slice reset will be de-asserted when CPU1 in WAIT mode
  77437. * 0b1..Slice reset will be asserted when CPU1 in WAIT mode
  77438. */
  77439. #define SRC_DOMAIN_M4DEBUG_CPU1_WAIT(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M4DEBUG_CPU1_WAIT_SHIFT)) & SRC_DOMAIN_M4DEBUG_CPU1_WAIT_MASK)
  77440. #define SRC_DOMAIN_M4DEBUG_CPU1_STOP_MASK (0x40U)
  77441. #define SRC_DOMAIN_M4DEBUG_CPU1_STOP_SHIFT (6U)
  77442. /*! CPU1_STOP - CPU mode setting for STOP
  77443. * 0b0..Slice reset will be de-asserted when CPU1 in STOP mode
  77444. * 0b1..Slice reset will be asserted when CPU1 in STOP mode
  77445. */
  77446. #define SRC_DOMAIN_M4DEBUG_CPU1_STOP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M4DEBUG_CPU1_STOP_SHIFT)) & SRC_DOMAIN_M4DEBUG_CPU1_STOP_MASK)
  77447. #define SRC_DOMAIN_M4DEBUG_CPU1_SUSP_MASK (0x80U)
  77448. #define SRC_DOMAIN_M4DEBUG_CPU1_SUSP_SHIFT (7U)
  77449. /*! CPU1_SUSP - CPU mode setting for SUSPEND
  77450. * 0b0..Slice reset will be de-asserted when CPU1 in SUSPEND mode
  77451. * 0b1..Slice reset will be asserted when CPU1 in SUSPEND mode
  77452. */
  77453. #define SRC_DOMAIN_M4DEBUG_CPU1_SUSP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M4DEBUG_CPU1_SUSP_SHIFT)) & SRC_DOMAIN_M4DEBUG_CPU1_SUSP_MASK)
  77454. /*! @} */
  77455. /*! @name STAT_M4DEBUG - Slice Status Register */
  77456. /*! @{ */
  77457. #define SRC_STAT_M4DEBUG_UNDER_RST_MASK (0x1U)
  77458. #define SRC_STAT_M4DEBUG_UNDER_RST_SHIFT (0U)
  77459. /*! UNDER_RST
  77460. * 0b0..the reset is finished
  77461. * 0b1..the reset is in process
  77462. */
  77463. #define SRC_STAT_M4DEBUG_UNDER_RST(x) (((uint32_t)(((uint32_t)(x)) << SRC_STAT_M4DEBUG_UNDER_RST_SHIFT)) & SRC_STAT_M4DEBUG_UNDER_RST_MASK)
  77464. #define SRC_STAT_M4DEBUG_RST_BY_HW_MASK (0x4U)
  77465. #define SRC_STAT_M4DEBUG_RST_BY_HW_SHIFT (2U)
  77466. /*! RST_BY_HW
  77467. * 0b0..the reset is not caused by the power mode transfer
  77468. * 0b1..the reset is caused by the power mode transfer
  77469. */
  77470. #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)
  77471. #define SRC_STAT_M4DEBUG_RST_BY_SW_MASK (0x8U)
  77472. #define SRC_STAT_M4DEBUG_RST_BY_SW_SHIFT (3U)
  77473. /*! RST_BY_SW
  77474. * 0b0..the reset is not caused by software setting
  77475. * 0b1..the reset is caused by software setting
  77476. */
  77477. #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)
  77478. /*! @} */
  77479. /*! @name AUTHEN_M7DEBUG - Slice Authentication Register */
  77480. /*! @{ */
  77481. #define SRC_AUTHEN_M7DEBUG_DOMAIN_MODE_MASK (0x1U)
  77482. #define SRC_AUTHEN_M7DEBUG_DOMAIN_MODE_SHIFT (0U)
  77483. /*! DOMAIN_MODE
  77484. * 0b0..slice hardware reset will NOT be triggered by CPU power mode transition
  77485. * 0b1..slice hardware reset will be triggered by CPU power mode transition. Do not set this bit and SETPOINT_MODE at the same time.
  77486. */
  77487. #define SRC_AUTHEN_M7DEBUG_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M7DEBUG_DOMAIN_MODE_SHIFT)) & SRC_AUTHEN_M7DEBUG_DOMAIN_MODE_MASK)
  77488. #define SRC_AUTHEN_M7DEBUG_SETPOINT_MODE_MASK (0x2U)
  77489. #define SRC_AUTHEN_M7DEBUG_SETPOINT_MODE_SHIFT (1U)
  77490. /*! SETPOINT_MODE
  77491. * 0b0..slice hardware reset will NOT be triggered by Setpoint transition
  77492. * 0b1..slice hardware reset will be triggered by Setpoint transition. Do not set this bit and DOMAIN_MODE at the same time.
  77493. */
  77494. #define SRC_AUTHEN_M7DEBUG_SETPOINT_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M7DEBUG_SETPOINT_MODE_SHIFT)) & SRC_AUTHEN_M7DEBUG_SETPOINT_MODE_MASK)
  77495. #define SRC_AUTHEN_M7DEBUG_LOCK_MODE_MASK (0x80U)
  77496. #define SRC_AUTHEN_M7DEBUG_LOCK_MODE_SHIFT (7U)
  77497. /*! LOCK_MODE - Domain/Setpoint mode lock
  77498. */
  77499. #define SRC_AUTHEN_M7DEBUG_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M7DEBUG_LOCK_MODE_SHIFT)) & SRC_AUTHEN_M7DEBUG_LOCK_MODE_MASK)
  77500. #define SRC_AUTHEN_M7DEBUG_ASSIGN_LIST_MASK (0xF00U)
  77501. #define SRC_AUTHEN_M7DEBUG_ASSIGN_LIST_SHIFT (8U)
  77502. #define SRC_AUTHEN_M7DEBUG_ASSIGN_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M7DEBUG_ASSIGN_LIST_SHIFT)) & SRC_AUTHEN_M7DEBUG_ASSIGN_LIST_MASK)
  77503. #define SRC_AUTHEN_M7DEBUG_LOCK_ASSIGN_MASK (0x8000U)
  77504. #define SRC_AUTHEN_M7DEBUG_LOCK_ASSIGN_SHIFT (15U)
  77505. /*! LOCK_ASSIGN - Assign list lock
  77506. */
  77507. #define SRC_AUTHEN_M7DEBUG_LOCK_ASSIGN(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M7DEBUG_LOCK_ASSIGN_SHIFT)) & SRC_AUTHEN_M7DEBUG_LOCK_ASSIGN_MASK)
  77508. #define SRC_AUTHEN_M7DEBUG_WHITE_LIST_MASK (0xF0000U)
  77509. #define SRC_AUTHEN_M7DEBUG_WHITE_LIST_SHIFT (16U)
  77510. /*! WHITE_LIST - Domain ID white list
  77511. */
  77512. #define SRC_AUTHEN_M7DEBUG_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M7DEBUG_WHITE_LIST_SHIFT)) & SRC_AUTHEN_M7DEBUG_WHITE_LIST_MASK)
  77513. #define SRC_AUTHEN_M7DEBUG_LOCK_LIST_MASK (0x800000U)
  77514. #define SRC_AUTHEN_M7DEBUG_LOCK_LIST_SHIFT (23U)
  77515. /*! LOCK_LIST - White list lock
  77516. */
  77517. #define SRC_AUTHEN_M7DEBUG_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M7DEBUG_LOCK_LIST_SHIFT)) & SRC_AUTHEN_M7DEBUG_LOCK_LIST_MASK)
  77518. #define SRC_AUTHEN_M7DEBUG_USER_MASK (0x1000000U)
  77519. #define SRC_AUTHEN_M7DEBUG_USER_SHIFT (24U)
  77520. /*! USER - Allow user mode access
  77521. */
  77522. #define SRC_AUTHEN_M7DEBUG_USER(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M7DEBUG_USER_SHIFT)) & SRC_AUTHEN_M7DEBUG_USER_MASK)
  77523. #define SRC_AUTHEN_M7DEBUG_NONSECURE_MASK (0x2000000U)
  77524. #define SRC_AUTHEN_M7DEBUG_NONSECURE_SHIFT (25U)
  77525. /*! NONSECURE - Allow non-secure mode access
  77526. */
  77527. #define SRC_AUTHEN_M7DEBUG_NONSECURE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M7DEBUG_NONSECURE_SHIFT)) & SRC_AUTHEN_M7DEBUG_NONSECURE_MASK)
  77528. #define SRC_AUTHEN_M7DEBUG_LOCK_SETTING_MASK (0x80000000U)
  77529. #define SRC_AUTHEN_M7DEBUG_LOCK_SETTING_SHIFT (31U)
  77530. /*! LOCK_SETTING - Lock NONSECURE and USER
  77531. */
  77532. #define SRC_AUTHEN_M7DEBUG_LOCK_SETTING(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M7DEBUG_LOCK_SETTING_SHIFT)) & SRC_AUTHEN_M7DEBUG_LOCK_SETTING_MASK)
  77533. /*! @} */
  77534. /*! @name CTRL_M7DEBUG - Slice Control Register */
  77535. /*! @{ */
  77536. #define SRC_CTRL_M7DEBUG_SW_RESET_MASK (0x1U)
  77537. #define SRC_CTRL_M7DEBUG_SW_RESET_SHIFT (0U)
  77538. /*! SW_RESET
  77539. * 0b0..do not assert slice software reset
  77540. * 0b1..assert slice software reset
  77541. */
  77542. #define SRC_CTRL_M7DEBUG_SW_RESET(x) (((uint32_t)(((uint32_t)(x)) << SRC_CTRL_M7DEBUG_SW_RESET_SHIFT)) & SRC_CTRL_M7DEBUG_SW_RESET_MASK)
  77543. /*! @} */
  77544. /*! @name SETPOINT_M7DEBUG - Slice Setpoint Config Register */
  77545. /*! @{ */
  77546. #define SRC_SETPOINT_M7DEBUG_SETPOINT0_MASK (0x1U)
  77547. #define SRC_SETPOINT_M7DEBUG_SETPOINT0_SHIFT (0U)
  77548. /*! SETPOINT0 - SETPOINT0
  77549. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77550. * 0b1..Slice reset will be asserted when system in Setpoint n
  77551. */
  77552. #define SRC_SETPOINT_M7DEBUG_SETPOINT0(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7DEBUG_SETPOINT0_SHIFT)) & SRC_SETPOINT_M7DEBUG_SETPOINT0_MASK)
  77553. #define SRC_SETPOINT_M7DEBUG_SETPOINT1_MASK (0x2U)
  77554. #define SRC_SETPOINT_M7DEBUG_SETPOINT1_SHIFT (1U)
  77555. /*! SETPOINT1 - SETPOINT1
  77556. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77557. * 0b1..Slice reset will be asserted when system in Setpoint n
  77558. */
  77559. #define SRC_SETPOINT_M7DEBUG_SETPOINT1(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7DEBUG_SETPOINT1_SHIFT)) & SRC_SETPOINT_M7DEBUG_SETPOINT1_MASK)
  77560. #define SRC_SETPOINT_M7DEBUG_SETPOINT2_MASK (0x4U)
  77561. #define SRC_SETPOINT_M7DEBUG_SETPOINT2_SHIFT (2U)
  77562. /*! SETPOINT2 - SETPOINT2
  77563. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77564. * 0b1..Slice reset will be asserted when system in Setpoint n
  77565. */
  77566. #define SRC_SETPOINT_M7DEBUG_SETPOINT2(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7DEBUG_SETPOINT2_SHIFT)) & SRC_SETPOINT_M7DEBUG_SETPOINT2_MASK)
  77567. #define SRC_SETPOINT_M7DEBUG_SETPOINT3_MASK (0x8U)
  77568. #define SRC_SETPOINT_M7DEBUG_SETPOINT3_SHIFT (3U)
  77569. /*! SETPOINT3 - SETPOINT3
  77570. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77571. * 0b1..Slice reset will be asserted when system in Setpoint n
  77572. */
  77573. #define SRC_SETPOINT_M7DEBUG_SETPOINT3(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7DEBUG_SETPOINT3_SHIFT)) & SRC_SETPOINT_M7DEBUG_SETPOINT3_MASK)
  77574. #define SRC_SETPOINT_M7DEBUG_SETPOINT4_MASK (0x10U)
  77575. #define SRC_SETPOINT_M7DEBUG_SETPOINT4_SHIFT (4U)
  77576. /*! SETPOINT4 - SETPOINT4
  77577. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77578. * 0b1..Slice reset will be asserted when system in Setpoint n
  77579. */
  77580. #define SRC_SETPOINT_M7DEBUG_SETPOINT4(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7DEBUG_SETPOINT4_SHIFT)) & SRC_SETPOINT_M7DEBUG_SETPOINT4_MASK)
  77581. #define SRC_SETPOINT_M7DEBUG_SETPOINT5_MASK (0x20U)
  77582. #define SRC_SETPOINT_M7DEBUG_SETPOINT5_SHIFT (5U)
  77583. /*! SETPOINT5 - SETPOINT5
  77584. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77585. * 0b1..Slice reset will be asserted when system in Setpoint n
  77586. */
  77587. #define SRC_SETPOINT_M7DEBUG_SETPOINT5(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7DEBUG_SETPOINT5_SHIFT)) & SRC_SETPOINT_M7DEBUG_SETPOINT5_MASK)
  77588. #define SRC_SETPOINT_M7DEBUG_SETPOINT6_MASK (0x40U)
  77589. #define SRC_SETPOINT_M7DEBUG_SETPOINT6_SHIFT (6U)
  77590. /*! SETPOINT6 - SETPOINT6
  77591. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77592. * 0b1..Slice reset will be asserted when system in Setpoint n
  77593. */
  77594. #define SRC_SETPOINT_M7DEBUG_SETPOINT6(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7DEBUG_SETPOINT6_SHIFT)) & SRC_SETPOINT_M7DEBUG_SETPOINT6_MASK)
  77595. #define SRC_SETPOINT_M7DEBUG_SETPOINT7_MASK (0x80U)
  77596. #define SRC_SETPOINT_M7DEBUG_SETPOINT7_SHIFT (7U)
  77597. /*! SETPOINT7 - SETPOINT7
  77598. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77599. * 0b1..Slice reset will be asserted when system in Setpoint n
  77600. */
  77601. #define SRC_SETPOINT_M7DEBUG_SETPOINT7(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7DEBUG_SETPOINT7_SHIFT)) & SRC_SETPOINT_M7DEBUG_SETPOINT7_MASK)
  77602. #define SRC_SETPOINT_M7DEBUG_SETPOINT8_MASK (0x100U)
  77603. #define SRC_SETPOINT_M7DEBUG_SETPOINT8_SHIFT (8U)
  77604. /*! SETPOINT8 - SETPOINT8
  77605. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77606. * 0b1..Slice reset will be asserted when system in Setpoint n
  77607. */
  77608. #define SRC_SETPOINT_M7DEBUG_SETPOINT8(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7DEBUG_SETPOINT8_SHIFT)) & SRC_SETPOINT_M7DEBUG_SETPOINT8_MASK)
  77609. #define SRC_SETPOINT_M7DEBUG_SETPOINT9_MASK (0x200U)
  77610. #define SRC_SETPOINT_M7DEBUG_SETPOINT9_SHIFT (9U)
  77611. /*! SETPOINT9 - SETPOINT9
  77612. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77613. * 0b1..Slice reset will be asserted when system in Setpoint n
  77614. */
  77615. #define SRC_SETPOINT_M7DEBUG_SETPOINT9(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7DEBUG_SETPOINT9_SHIFT)) & SRC_SETPOINT_M7DEBUG_SETPOINT9_MASK)
  77616. #define SRC_SETPOINT_M7DEBUG_SETPOINT10_MASK (0x400U)
  77617. #define SRC_SETPOINT_M7DEBUG_SETPOINT10_SHIFT (10U)
  77618. /*! SETPOINT10 - SETPOINT10
  77619. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77620. * 0b1..Slice reset will be asserted when system in Setpoint n
  77621. */
  77622. #define SRC_SETPOINT_M7DEBUG_SETPOINT10(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7DEBUG_SETPOINT10_SHIFT)) & SRC_SETPOINT_M7DEBUG_SETPOINT10_MASK)
  77623. #define SRC_SETPOINT_M7DEBUG_SETPOINT11_MASK (0x800U)
  77624. #define SRC_SETPOINT_M7DEBUG_SETPOINT11_SHIFT (11U)
  77625. /*! SETPOINT11 - SETPOINT11
  77626. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77627. * 0b1..Slice reset will be asserted when system in Setpoint n
  77628. */
  77629. #define SRC_SETPOINT_M7DEBUG_SETPOINT11(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7DEBUG_SETPOINT11_SHIFT)) & SRC_SETPOINT_M7DEBUG_SETPOINT11_MASK)
  77630. #define SRC_SETPOINT_M7DEBUG_SETPOINT12_MASK (0x1000U)
  77631. #define SRC_SETPOINT_M7DEBUG_SETPOINT12_SHIFT (12U)
  77632. /*! SETPOINT12 - SETPOINT12
  77633. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77634. * 0b1..Slice reset will be asserted when system in Setpoint n
  77635. */
  77636. #define SRC_SETPOINT_M7DEBUG_SETPOINT12(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7DEBUG_SETPOINT12_SHIFT)) & SRC_SETPOINT_M7DEBUG_SETPOINT12_MASK)
  77637. #define SRC_SETPOINT_M7DEBUG_SETPOINT13_MASK (0x2000U)
  77638. #define SRC_SETPOINT_M7DEBUG_SETPOINT13_SHIFT (13U)
  77639. /*! SETPOINT13 - SETPOINT13
  77640. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77641. * 0b1..Slice reset will be asserted when system in Setpoint n
  77642. */
  77643. #define SRC_SETPOINT_M7DEBUG_SETPOINT13(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7DEBUG_SETPOINT13_SHIFT)) & SRC_SETPOINT_M7DEBUG_SETPOINT13_MASK)
  77644. #define SRC_SETPOINT_M7DEBUG_SETPOINT14_MASK (0x4000U)
  77645. #define SRC_SETPOINT_M7DEBUG_SETPOINT14_SHIFT (14U)
  77646. /*! SETPOINT14 - SETPOINT14
  77647. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77648. * 0b1..Slice reset will be asserted when system in Setpoint n
  77649. */
  77650. #define SRC_SETPOINT_M7DEBUG_SETPOINT14(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7DEBUG_SETPOINT14_SHIFT)) & SRC_SETPOINT_M7DEBUG_SETPOINT14_MASK)
  77651. #define SRC_SETPOINT_M7DEBUG_SETPOINT15_MASK (0x8000U)
  77652. #define SRC_SETPOINT_M7DEBUG_SETPOINT15_SHIFT (15U)
  77653. /*! SETPOINT15 - SETPOINT15
  77654. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77655. * 0b1..Slice reset will be asserted when system in Setpoint n
  77656. */
  77657. #define SRC_SETPOINT_M7DEBUG_SETPOINT15(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7DEBUG_SETPOINT15_SHIFT)) & SRC_SETPOINT_M7DEBUG_SETPOINT15_MASK)
  77658. /*! @} */
  77659. /*! @name DOMAIN_M7DEBUG - Slice Domain Config Register */
  77660. /*! @{ */
  77661. #define SRC_DOMAIN_M7DEBUG_CPU0_RUN_MASK (0x1U)
  77662. #define SRC_DOMAIN_M7DEBUG_CPU0_RUN_SHIFT (0U)
  77663. /*! CPU0_RUN - CPU mode setting for RUN
  77664. * 0b0..Slice reset will be de-asserted when CPU0 in RUN mode
  77665. * 0b1..Slice reset will be asserted when CPU0 in RUN mode
  77666. */
  77667. #define SRC_DOMAIN_M7DEBUG_CPU0_RUN(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M7DEBUG_CPU0_RUN_SHIFT)) & SRC_DOMAIN_M7DEBUG_CPU0_RUN_MASK)
  77668. #define SRC_DOMAIN_M7DEBUG_CPU0_WAIT_MASK (0x2U)
  77669. #define SRC_DOMAIN_M7DEBUG_CPU0_WAIT_SHIFT (1U)
  77670. /*! CPU0_WAIT - CPU mode setting for WAIT
  77671. * 0b0..Slice reset will be de-asserted when CPU0 in WAIT mode
  77672. * 0b1..Slice reset will be asserted when CPU0 in WAIT mode
  77673. */
  77674. #define SRC_DOMAIN_M7DEBUG_CPU0_WAIT(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M7DEBUG_CPU0_WAIT_SHIFT)) & SRC_DOMAIN_M7DEBUG_CPU0_WAIT_MASK)
  77675. #define SRC_DOMAIN_M7DEBUG_CPU0_STOP_MASK (0x4U)
  77676. #define SRC_DOMAIN_M7DEBUG_CPU0_STOP_SHIFT (2U)
  77677. /*! CPU0_STOP - CPU mode setting for STOP
  77678. * 0b0..Slice reset will be de-asserted when CPU0 in STOP mode
  77679. * 0b1..Slice reset will be asserted when CPU0 in STOP mode
  77680. */
  77681. #define SRC_DOMAIN_M7DEBUG_CPU0_STOP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M7DEBUG_CPU0_STOP_SHIFT)) & SRC_DOMAIN_M7DEBUG_CPU0_STOP_MASK)
  77682. #define SRC_DOMAIN_M7DEBUG_CPU0_SUSP_MASK (0x8U)
  77683. #define SRC_DOMAIN_M7DEBUG_CPU0_SUSP_SHIFT (3U)
  77684. /*! CPU0_SUSP - CPU mode setting for SUSPEND
  77685. * 0b0..Slice reset will be de-asserted when CPU0 in SUSPEND mode
  77686. * 0b1..Slice reset will be asserted when CPU0 in SUSPEND mode
  77687. */
  77688. #define SRC_DOMAIN_M7DEBUG_CPU0_SUSP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M7DEBUG_CPU0_SUSP_SHIFT)) & SRC_DOMAIN_M7DEBUG_CPU0_SUSP_MASK)
  77689. #define SRC_DOMAIN_M7DEBUG_CPU1_RUN_MASK (0x10U)
  77690. #define SRC_DOMAIN_M7DEBUG_CPU1_RUN_SHIFT (4U)
  77691. /*! CPU1_RUN - CPU mode setting for RUN
  77692. * 0b0..Slice reset will be de-asserted when CPU1 in RUN mode
  77693. * 0b1..Slice reset will be asserted when CPU1 in RUN mode
  77694. */
  77695. #define SRC_DOMAIN_M7DEBUG_CPU1_RUN(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M7DEBUG_CPU1_RUN_SHIFT)) & SRC_DOMAIN_M7DEBUG_CPU1_RUN_MASK)
  77696. #define SRC_DOMAIN_M7DEBUG_CPU1_WAIT_MASK (0x20U)
  77697. #define SRC_DOMAIN_M7DEBUG_CPU1_WAIT_SHIFT (5U)
  77698. /*! CPU1_WAIT - CPU mode setting for WAIT
  77699. * 0b0..Slice reset will be de-asserted when CPU1 in WAIT mode
  77700. * 0b1..Slice reset will be asserted when CPU1 in WAIT mode
  77701. */
  77702. #define SRC_DOMAIN_M7DEBUG_CPU1_WAIT(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M7DEBUG_CPU1_WAIT_SHIFT)) & SRC_DOMAIN_M7DEBUG_CPU1_WAIT_MASK)
  77703. #define SRC_DOMAIN_M7DEBUG_CPU1_STOP_MASK (0x40U)
  77704. #define SRC_DOMAIN_M7DEBUG_CPU1_STOP_SHIFT (6U)
  77705. /*! CPU1_STOP - CPU mode setting for STOP
  77706. * 0b0..Slice reset will be de-asserted when CPU1 in STOP mode
  77707. * 0b1..Slice reset will be asserted when CPU1 in STOP mode
  77708. */
  77709. #define SRC_DOMAIN_M7DEBUG_CPU1_STOP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M7DEBUG_CPU1_STOP_SHIFT)) & SRC_DOMAIN_M7DEBUG_CPU1_STOP_MASK)
  77710. #define SRC_DOMAIN_M7DEBUG_CPU1_SUSP_MASK (0x80U)
  77711. #define SRC_DOMAIN_M7DEBUG_CPU1_SUSP_SHIFT (7U)
  77712. /*! CPU1_SUSP - CPU mode setting for SUSPEND
  77713. * 0b0..Slice reset will be de-asserted when CPU1 in SUSPEND mode
  77714. * 0b1..Slice reset will be asserted when CPU1 in SUSPEND mode
  77715. */
  77716. #define SRC_DOMAIN_M7DEBUG_CPU1_SUSP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M7DEBUG_CPU1_SUSP_SHIFT)) & SRC_DOMAIN_M7DEBUG_CPU1_SUSP_MASK)
  77717. /*! @} */
  77718. /*! @name STAT_M7DEBUG - Slice Status Register */
  77719. /*! @{ */
  77720. #define SRC_STAT_M7DEBUG_UNDER_RST_MASK (0x1U)
  77721. #define SRC_STAT_M7DEBUG_UNDER_RST_SHIFT (0U)
  77722. /*! UNDER_RST
  77723. * 0b0..the reset is finished
  77724. * 0b1..the reset is in process
  77725. */
  77726. #define SRC_STAT_M7DEBUG_UNDER_RST(x) (((uint32_t)(((uint32_t)(x)) << SRC_STAT_M7DEBUG_UNDER_RST_SHIFT)) & SRC_STAT_M7DEBUG_UNDER_RST_MASK)
  77727. #define SRC_STAT_M7DEBUG_RST_BY_HW_MASK (0x4U)
  77728. #define SRC_STAT_M7DEBUG_RST_BY_HW_SHIFT (2U)
  77729. /*! RST_BY_HW
  77730. * 0b0..the reset is not caused by the power mode transfer
  77731. * 0b1..the reset is caused by the power mode transfer
  77732. */
  77733. #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)
  77734. #define SRC_STAT_M7DEBUG_RST_BY_SW_MASK (0x8U)
  77735. #define SRC_STAT_M7DEBUG_RST_BY_SW_SHIFT (3U)
  77736. /*! RST_BY_SW
  77737. * 0b0..the reset is not caused by software setting
  77738. * 0b1..the reset is caused by software setting
  77739. */
  77740. #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)
  77741. /*! @} */
  77742. /*! @name AUTHEN_USBPHY1 - Slice Authentication Register */
  77743. /*! @{ */
  77744. #define SRC_AUTHEN_USBPHY1_DOMAIN_MODE_MASK (0x1U)
  77745. #define SRC_AUTHEN_USBPHY1_DOMAIN_MODE_SHIFT (0U)
  77746. /*! DOMAIN_MODE
  77747. * 0b0..slice hardware reset will NOT be triggered by CPU power mode transition
  77748. * 0b1..slice hardware reset will be triggered by CPU power mode transition. Do not set this bit and SETPOINT_MODE at the same time.
  77749. */
  77750. #define SRC_AUTHEN_USBPHY1_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_USBPHY1_DOMAIN_MODE_SHIFT)) & SRC_AUTHEN_USBPHY1_DOMAIN_MODE_MASK)
  77751. #define SRC_AUTHEN_USBPHY1_SETPOINT_MODE_MASK (0x2U)
  77752. #define SRC_AUTHEN_USBPHY1_SETPOINT_MODE_SHIFT (1U)
  77753. /*! SETPOINT_MODE
  77754. * 0b0..slice hardware reset will NOT be triggered by Setpoint transition
  77755. * 0b1..slice hardware reset will be triggered by Setpoint transition. Do not set this bit and DOMAIN_MODE at the same time.
  77756. */
  77757. #define SRC_AUTHEN_USBPHY1_SETPOINT_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_USBPHY1_SETPOINT_MODE_SHIFT)) & SRC_AUTHEN_USBPHY1_SETPOINT_MODE_MASK)
  77758. #define SRC_AUTHEN_USBPHY1_LOCK_MODE_MASK (0x80U)
  77759. #define SRC_AUTHEN_USBPHY1_LOCK_MODE_SHIFT (7U)
  77760. /*! LOCK_MODE - Domain/Setpoint mode lock
  77761. */
  77762. #define SRC_AUTHEN_USBPHY1_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_USBPHY1_LOCK_MODE_SHIFT)) & SRC_AUTHEN_USBPHY1_LOCK_MODE_MASK)
  77763. #define SRC_AUTHEN_USBPHY1_ASSIGN_LIST_MASK (0xF00U)
  77764. #define SRC_AUTHEN_USBPHY1_ASSIGN_LIST_SHIFT (8U)
  77765. #define SRC_AUTHEN_USBPHY1_ASSIGN_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_USBPHY1_ASSIGN_LIST_SHIFT)) & SRC_AUTHEN_USBPHY1_ASSIGN_LIST_MASK)
  77766. #define SRC_AUTHEN_USBPHY1_LOCK_ASSIGN_MASK (0x8000U)
  77767. #define SRC_AUTHEN_USBPHY1_LOCK_ASSIGN_SHIFT (15U)
  77768. /*! LOCK_ASSIGN - Assign list lock
  77769. */
  77770. #define SRC_AUTHEN_USBPHY1_LOCK_ASSIGN(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_USBPHY1_LOCK_ASSIGN_SHIFT)) & SRC_AUTHEN_USBPHY1_LOCK_ASSIGN_MASK)
  77771. #define SRC_AUTHEN_USBPHY1_WHITE_LIST_MASK (0xF0000U)
  77772. #define SRC_AUTHEN_USBPHY1_WHITE_LIST_SHIFT (16U)
  77773. /*! WHITE_LIST - Domain ID white list
  77774. */
  77775. #define SRC_AUTHEN_USBPHY1_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_USBPHY1_WHITE_LIST_SHIFT)) & SRC_AUTHEN_USBPHY1_WHITE_LIST_MASK)
  77776. #define SRC_AUTHEN_USBPHY1_LOCK_LIST_MASK (0x800000U)
  77777. #define SRC_AUTHEN_USBPHY1_LOCK_LIST_SHIFT (23U)
  77778. /*! LOCK_LIST - White list lock
  77779. */
  77780. #define SRC_AUTHEN_USBPHY1_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_USBPHY1_LOCK_LIST_SHIFT)) & SRC_AUTHEN_USBPHY1_LOCK_LIST_MASK)
  77781. #define SRC_AUTHEN_USBPHY1_USER_MASK (0x1000000U)
  77782. #define SRC_AUTHEN_USBPHY1_USER_SHIFT (24U)
  77783. /*! USER - Allow user mode access
  77784. */
  77785. #define SRC_AUTHEN_USBPHY1_USER(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_USBPHY1_USER_SHIFT)) & SRC_AUTHEN_USBPHY1_USER_MASK)
  77786. #define SRC_AUTHEN_USBPHY1_NONSECURE_MASK (0x2000000U)
  77787. #define SRC_AUTHEN_USBPHY1_NONSECURE_SHIFT (25U)
  77788. /*! NONSECURE - Allow non-secure mode access
  77789. */
  77790. #define SRC_AUTHEN_USBPHY1_NONSECURE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_USBPHY1_NONSECURE_SHIFT)) & SRC_AUTHEN_USBPHY1_NONSECURE_MASK)
  77791. #define SRC_AUTHEN_USBPHY1_LOCK_SETTING_MASK (0x80000000U)
  77792. #define SRC_AUTHEN_USBPHY1_LOCK_SETTING_SHIFT (31U)
  77793. /*! LOCK_SETTING - Lock NONSECURE and USER
  77794. */
  77795. #define SRC_AUTHEN_USBPHY1_LOCK_SETTING(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_USBPHY1_LOCK_SETTING_SHIFT)) & SRC_AUTHEN_USBPHY1_LOCK_SETTING_MASK)
  77796. /*! @} */
  77797. /*! @name CTRL_USBPHY1 - Slice Control Register */
  77798. /*! @{ */
  77799. #define SRC_CTRL_USBPHY1_SW_RESET_MASK (0x1U)
  77800. #define SRC_CTRL_USBPHY1_SW_RESET_SHIFT (0U)
  77801. /*! SW_RESET
  77802. * 0b0..do not assert slice software reset
  77803. * 0b1..assert slice software reset
  77804. */
  77805. #define SRC_CTRL_USBPHY1_SW_RESET(x) (((uint32_t)(((uint32_t)(x)) << SRC_CTRL_USBPHY1_SW_RESET_SHIFT)) & SRC_CTRL_USBPHY1_SW_RESET_MASK)
  77806. /*! @} */
  77807. /*! @name SETPOINT_USBPHY1 - Slice Setpoint Config Register */
  77808. /*! @{ */
  77809. #define SRC_SETPOINT_USBPHY1_SETPOINT0_MASK (0x1U)
  77810. #define SRC_SETPOINT_USBPHY1_SETPOINT0_SHIFT (0U)
  77811. /*! SETPOINT0 - SETPOINT0
  77812. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77813. * 0b1..Slice reset will be asserted when system in Setpoint n
  77814. */
  77815. #define SRC_SETPOINT_USBPHY1_SETPOINT0(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY1_SETPOINT0_SHIFT)) & SRC_SETPOINT_USBPHY1_SETPOINT0_MASK)
  77816. #define SRC_SETPOINT_USBPHY1_SETPOINT1_MASK (0x2U)
  77817. #define SRC_SETPOINT_USBPHY1_SETPOINT1_SHIFT (1U)
  77818. /*! SETPOINT1 - SETPOINT1
  77819. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77820. * 0b1..Slice reset will be asserted when system in Setpoint n
  77821. */
  77822. #define SRC_SETPOINT_USBPHY1_SETPOINT1(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY1_SETPOINT1_SHIFT)) & SRC_SETPOINT_USBPHY1_SETPOINT1_MASK)
  77823. #define SRC_SETPOINT_USBPHY1_SETPOINT2_MASK (0x4U)
  77824. #define SRC_SETPOINT_USBPHY1_SETPOINT2_SHIFT (2U)
  77825. /*! SETPOINT2 - SETPOINT2
  77826. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77827. * 0b1..Slice reset will be asserted when system in Setpoint n
  77828. */
  77829. #define SRC_SETPOINT_USBPHY1_SETPOINT2(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY1_SETPOINT2_SHIFT)) & SRC_SETPOINT_USBPHY1_SETPOINT2_MASK)
  77830. #define SRC_SETPOINT_USBPHY1_SETPOINT3_MASK (0x8U)
  77831. #define SRC_SETPOINT_USBPHY1_SETPOINT3_SHIFT (3U)
  77832. /*! SETPOINT3 - SETPOINT3
  77833. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77834. * 0b1..Slice reset will be asserted when system in Setpoint n
  77835. */
  77836. #define SRC_SETPOINT_USBPHY1_SETPOINT3(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY1_SETPOINT3_SHIFT)) & SRC_SETPOINT_USBPHY1_SETPOINT3_MASK)
  77837. #define SRC_SETPOINT_USBPHY1_SETPOINT4_MASK (0x10U)
  77838. #define SRC_SETPOINT_USBPHY1_SETPOINT4_SHIFT (4U)
  77839. /*! SETPOINT4 - SETPOINT4
  77840. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77841. * 0b1..Slice reset will be asserted when system in Setpoint n
  77842. */
  77843. #define SRC_SETPOINT_USBPHY1_SETPOINT4(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY1_SETPOINT4_SHIFT)) & SRC_SETPOINT_USBPHY1_SETPOINT4_MASK)
  77844. #define SRC_SETPOINT_USBPHY1_SETPOINT5_MASK (0x20U)
  77845. #define SRC_SETPOINT_USBPHY1_SETPOINT5_SHIFT (5U)
  77846. /*! SETPOINT5 - SETPOINT5
  77847. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77848. * 0b1..Slice reset will be asserted when system in Setpoint n
  77849. */
  77850. #define SRC_SETPOINT_USBPHY1_SETPOINT5(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY1_SETPOINT5_SHIFT)) & SRC_SETPOINT_USBPHY1_SETPOINT5_MASK)
  77851. #define SRC_SETPOINT_USBPHY1_SETPOINT6_MASK (0x40U)
  77852. #define SRC_SETPOINT_USBPHY1_SETPOINT6_SHIFT (6U)
  77853. /*! SETPOINT6 - SETPOINT6
  77854. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77855. * 0b1..Slice reset will be asserted when system in Setpoint n
  77856. */
  77857. #define SRC_SETPOINT_USBPHY1_SETPOINT6(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY1_SETPOINT6_SHIFT)) & SRC_SETPOINT_USBPHY1_SETPOINT6_MASK)
  77858. #define SRC_SETPOINT_USBPHY1_SETPOINT7_MASK (0x80U)
  77859. #define SRC_SETPOINT_USBPHY1_SETPOINT7_SHIFT (7U)
  77860. /*! SETPOINT7 - SETPOINT7
  77861. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77862. * 0b1..Slice reset will be asserted when system in Setpoint n
  77863. */
  77864. #define SRC_SETPOINT_USBPHY1_SETPOINT7(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY1_SETPOINT7_SHIFT)) & SRC_SETPOINT_USBPHY1_SETPOINT7_MASK)
  77865. #define SRC_SETPOINT_USBPHY1_SETPOINT8_MASK (0x100U)
  77866. #define SRC_SETPOINT_USBPHY1_SETPOINT8_SHIFT (8U)
  77867. /*! SETPOINT8 - SETPOINT8
  77868. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77869. * 0b1..Slice reset will be asserted when system in Setpoint n
  77870. */
  77871. #define SRC_SETPOINT_USBPHY1_SETPOINT8(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY1_SETPOINT8_SHIFT)) & SRC_SETPOINT_USBPHY1_SETPOINT8_MASK)
  77872. #define SRC_SETPOINT_USBPHY1_SETPOINT9_MASK (0x200U)
  77873. #define SRC_SETPOINT_USBPHY1_SETPOINT9_SHIFT (9U)
  77874. /*! SETPOINT9 - SETPOINT9
  77875. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77876. * 0b1..Slice reset will be asserted when system in Setpoint n
  77877. */
  77878. #define SRC_SETPOINT_USBPHY1_SETPOINT9(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY1_SETPOINT9_SHIFT)) & SRC_SETPOINT_USBPHY1_SETPOINT9_MASK)
  77879. #define SRC_SETPOINT_USBPHY1_SETPOINT10_MASK (0x400U)
  77880. #define SRC_SETPOINT_USBPHY1_SETPOINT10_SHIFT (10U)
  77881. /*! SETPOINT10 - SETPOINT10
  77882. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77883. * 0b1..Slice reset will be asserted when system in Setpoint n
  77884. */
  77885. #define SRC_SETPOINT_USBPHY1_SETPOINT10(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY1_SETPOINT10_SHIFT)) & SRC_SETPOINT_USBPHY1_SETPOINT10_MASK)
  77886. #define SRC_SETPOINT_USBPHY1_SETPOINT11_MASK (0x800U)
  77887. #define SRC_SETPOINT_USBPHY1_SETPOINT11_SHIFT (11U)
  77888. /*! SETPOINT11 - SETPOINT11
  77889. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77890. * 0b1..Slice reset will be asserted when system in Setpoint n
  77891. */
  77892. #define SRC_SETPOINT_USBPHY1_SETPOINT11(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY1_SETPOINT11_SHIFT)) & SRC_SETPOINT_USBPHY1_SETPOINT11_MASK)
  77893. #define SRC_SETPOINT_USBPHY1_SETPOINT12_MASK (0x1000U)
  77894. #define SRC_SETPOINT_USBPHY1_SETPOINT12_SHIFT (12U)
  77895. /*! SETPOINT12 - SETPOINT12
  77896. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77897. * 0b1..Slice reset will be asserted when system in Setpoint n
  77898. */
  77899. #define SRC_SETPOINT_USBPHY1_SETPOINT12(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY1_SETPOINT12_SHIFT)) & SRC_SETPOINT_USBPHY1_SETPOINT12_MASK)
  77900. #define SRC_SETPOINT_USBPHY1_SETPOINT13_MASK (0x2000U)
  77901. #define SRC_SETPOINT_USBPHY1_SETPOINT13_SHIFT (13U)
  77902. /*! SETPOINT13 - SETPOINT13
  77903. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77904. * 0b1..Slice reset will be asserted when system in Setpoint n
  77905. */
  77906. #define SRC_SETPOINT_USBPHY1_SETPOINT13(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY1_SETPOINT13_SHIFT)) & SRC_SETPOINT_USBPHY1_SETPOINT13_MASK)
  77907. #define SRC_SETPOINT_USBPHY1_SETPOINT14_MASK (0x4000U)
  77908. #define SRC_SETPOINT_USBPHY1_SETPOINT14_SHIFT (14U)
  77909. /*! SETPOINT14 - SETPOINT14
  77910. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77911. * 0b1..Slice reset will be asserted when system in Setpoint n
  77912. */
  77913. #define SRC_SETPOINT_USBPHY1_SETPOINT14(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY1_SETPOINT14_SHIFT)) & SRC_SETPOINT_USBPHY1_SETPOINT14_MASK)
  77914. #define SRC_SETPOINT_USBPHY1_SETPOINT15_MASK (0x8000U)
  77915. #define SRC_SETPOINT_USBPHY1_SETPOINT15_SHIFT (15U)
  77916. /*! SETPOINT15 - SETPOINT15
  77917. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77918. * 0b1..Slice reset will be asserted when system in Setpoint n
  77919. */
  77920. #define SRC_SETPOINT_USBPHY1_SETPOINT15(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY1_SETPOINT15_SHIFT)) & SRC_SETPOINT_USBPHY1_SETPOINT15_MASK)
  77921. /*! @} */
  77922. /*! @name DOMAIN_USBPHY1 - Slice Domain Config Register */
  77923. /*! @{ */
  77924. #define SRC_DOMAIN_USBPHY1_CPU0_RUN_MASK (0x1U)
  77925. #define SRC_DOMAIN_USBPHY1_CPU0_RUN_SHIFT (0U)
  77926. /*! CPU0_RUN - CPU mode setting for RUN
  77927. * 0b0..Slice reset will be de-asserted when CPU0 in RUN mode
  77928. * 0b1..Slice reset will be asserted when CPU0 in RUN mode
  77929. */
  77930. #define SRC_DOMAIN_USBPHY1_CPU0_RUN(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_USBPHY1_CPU0_RUN_SHIFT)) & SRC_DOMAIN_USBPHY1_CPU0_RUN_MASK)
  77931. #define SRC_DOMAIN_USBPHY1_CPU0_WAIT_MASK (0x2U)
  77932. #define SRC_DOMAIN_USBPHY1_CPU0_WAIT_SHIFT (1U)
  77933. /*! CPU0_WAIT - CPU mode setting for WAIT
  77934. * 0b0..Slice reset will be de-asserted when CPU0 in WAIT mode
  77935. * 0b1..Slice reset will be asserted when CPU0 in WAIT mode
  77936. */
  77937. #define SRC_DOMAIN_USBPHY1_CPU0_WAIT(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_USBPHY1_CPU0_WAIT_SHIFT)) & SRC_DOMAIN_USBPHY1_CPU0_WAIT_MASK)
  77938. #define SRC_DOMAIN_USBPHY1_CPU0_STOP_MASK (0x4U)
  77939. #define SRC_DOMAIN_USBPHY1_CPU0_STOP_SHIFT (2U)
  77940. /*! CPU0_STOP - CPU mode setting for STOP
  77941. * 0b0..Slice reset will be de-asserted when CPU0 in STOP mode
  77942. * 0b1..Slice reset will be asserted when CPU0 in STOP mode
  77943. */
  77944. #define SRC_DOMAIN_USBPHY1_CPU0_STOP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_USBPHY1_CPU0_STOP_SHIFT)) & SRC_DOMAIN_USBPHY1_CPU0_STOP_MASK)
  77945. #define SRC_DOMAIN_USBPHY1_CPU0_SUSP_MASK (0x8U)
  77946. #define SRC_DOMAIN_USBPHY1_CPU0_SUSP_SHIFT (3U)
  77947. /*! CPU0_SUSP - CPU mode setting for SUSPEND
  77948. * 0b0..Slice reset will be de-asserted when CPU0 in SUSPEND mode
  77949. * 0b1..Slice reset will be asserted when CPU0 in SUSPEND mode
  77950. */
  77951. #define SRC_DOMAIN_USBPHY1_CPU0_SUSP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_USBPHY1_CPU0_SUSP_SHIFT)) & SRC_DOMAIN_USBPHY1_CPU0_SUSP_MASK)
  77952. #define SRC_DOMAIN_USBPHY1_CPU1_RUN_MASK (0x10U)
  77953. #define SRC_DOMAIN_USBPHY1_CPU1_RUN_SHIFT (4U)
  77954. /*! CPU1_RUN - CPU mode setting for RUN
  77955. * 0b0..Slice reset will be de-asserted when CPU1 in RUN mode
  77956. * 0b1..Slice reset will be asserted when CPU1 in RUN mode
  77957. */
  77958. #define SRC_DOMAIN_USBPHY1_CPU1_RUN(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_USBPHY1_CPU1_RUN_SHIFT)) & SRC_DOMAIN_USBPHY1_CPU1_RUN_MASK)
  77959. #define SRC_DOMAIN_USBPHY1_CPU1_WAIT_MASK (0x20U)
  77960. #define SRC_DOMAIN_USBPHY1_CPU1_WAIT_SHIFT (5U)
  77961. /*! CPU1_WAIT - CPU mode setting for WAIT
  77962. * 0b0..Slice reset will be de-asserted when CPU1 in WAIT mode
  77963. * 0b1..Slice reset will be asserted when CPU1 in WAIT mode
  77964. */
  77965. #define SRC_DOMAIN_USBPHY1_CPU1_WAIT(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_USBPHY1_CPU1_WAIT_SHIFT)) & SRC_DOMAIN_USBPHY1_CPU1_WAIT_MASK)
  77966. #define SRC_DOMAIN_USBPHY1_CPU1_STOP_MASK (0x40U)
  77967. #define SRC_DOMAIN_USBPHY1_CPU1_STOP_SHIFT (6U)
  77968. /*! CPU1_STOP - CPU mode setting for STOP
  77969. * 0b0..Slice reset will be de-asserted when CPU1 in STOP mode
  77970. * 0b1..Slice reset will be asserted when CPU1 in STOP mode
  77971. */
  77972. #define SRC_DOMAIN_USBPHY1_CPU1_STOP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_USBPHY1_CPU1_STOP_SHIFT)) & SRC_DOMAIN_USBPHY1_CPU1_STOP_MASK)
  77973. #define SRC_DOMAIN_USBPHY1_CPU1_SUSP_MASK (0x80U)
  77974. #define SRC_DOMAIN_USBPHY1_CPU1_SUSP_SHIFT (7U)
  77975. /*! CPU1_SUSP - CPU mode setting for SUSPEND
  77976. * 0b0..Slice reset will be de-asserted when CPU1 in SUSPEND mode
  77977. * 0b1..Slice reset will be asserted when CPU1 in SUSPEND mode
  77978. */
  77979. #define SRC_DOMAIN_USBPHY1_CPU1_SUSP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_USBPHY1_CPU1_SUSP_SHIFT)) & SRC_DOMAIN_USBPHY1_CPU1_SUSP_MASK)
  77980. /*! @} */
  77981. /*! @name STAT_USBPHY1 - Slice Status Register */
  77982. /*! @{ */
  77983. #define SRC_STAT_USBPHY1_UNDER_RST_MASK (0x1U)
  77984. #define SRC_STAT_USBPHY1_UNDER_RST_SHIFT (0U)
  77985. /*! UNDER_RST
  77986. * 0b0..the reset is finished
  77987. * 0b1..the reset is in process
  77988. */
  77989. #define SRC_STAT_USBPHY1_UNDER_RST(x) (((uint32_t)(((uint32_t)(x)) << SRC_STAT_USBPHY1_UNDER_RST_SHIFT)) & SRC_STAT_USBPHY1_UNDER_RST_MASK)
  77990. #define SRC_STAT_USBPHY1_RST_BY_HW_MASK (0x4U)
  77991. #define SRC_STAT_USBPHY1_RST_BY_HW_SHIFT (2U)
  77992. /*! RST_BY_HW
  77993. * 0b0..the reset is not caused by the power mode transfer
  77994. * 0b1..the reset is caused by the power mode transfer
  77995. */
  77996. #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)
  77997. #define SRC_STAT_USBPHY1_RST_BY_SW_MASK (0x8U)
  77998. #define SRC_STAT_USBPHY1_RST_BY_SW_SHIFT (3U)
  77999. /*! RST_BY_SW
  78000. * 0b0..the reset is not caused by software setting
  78001. * 0b1..the reset is caused by software setting
  78002. */
  78003. #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)
  78004. /*! @} */
  78005. /*! @name AUTHEN_USBPHY2 - Slice Authentication Register */
  78006. /*! @{ */
  78007. #define SRC_AUTHEN_USBPHY2_DOMAIN_MODE_MASK (0x1U)
  78008. #define SRC_AUTHEN_USBPHY2_DOMAIN_MODE_SHIFT (0U)
  78009. /*! DOMAIN_MODE
  78010. * 0b0..slice hardware reset will NOT be triggered by CPU power mode transition
  78011. * 0b1..slice hardware reset will be triggered by CPU power mode transition. Do not set this bit and SETPOINT_MODE at the same time.
  78012. */
  78013. #define SRC_AUTHEN_USBPHY2_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_USBPHY2_DOMAIN_MODE_SHIFT)) & SRC_AUTHEN_USBPHY2_DOMAIN_MODE_MASK)
  78014. #define SRC_AUTHEN_USBPHY2_SETPOINT_MODE_MASK (0x2U)
  78015. #define SRC_AUTHEN_USBPHY2_SETPOINT_MODE_SHIFT (1U)
  78016. /*! SETPOINT_MODE
  78017. * 0b0..slice hardware reset will NOT be triggered by Setpoint transition
  78018. * 0b1..slice hardware reset will be triggered by Setpoint transition. Do not set this bit and DOMAIN_MODE at the same time.
  78019. */
  78020. #define SRC_AUTHEN_USBPHY2_SETPOINT_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_USBPHY2_SETPOINT_MODE_SHIFT)) & SRC_AUTHEN_USBPHY2_SETPOINT_MODE_MASK)
  78021. #define SRC_AUTHEN_USBPHY2_LOCK_MODE_MASK (0x80U)
  78022. #define SRC_AUTHEN_USBPHY2_LOCK_MODE_SHIFT (7U)
  78023. /*! LOCK_MODE - Domain/Setpoint mode lock
  78024. */
  78025. #define SRC_AUTHEN_USBPHY2_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_USBPHY2_LOCK_MODE_SHIFT)) & SRC_AUTHEN_USBPHY2_LOCK_MODE_MASK)
  78026. #define SRC_AUTHEN_USBPHY2_ASSIGN_LIST_MASK (0xF00U)
  78027. #define SRC_AUTHEN_USBPHY2_ASSIGN_LIST_SHIFT (8U)
  78028. #define SRC_AUTHEN_USBPHY2_ASSIGN_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_USBPHY2_ASSIGN_LIST_SHIFT)) & SRC_AUTHEN_USBPHY2_ASSIGN_LIST_MASK)
  78029. #define SRC_AUTHEN_USBPHY2_LOCK_ASSIGN_MASK (0x8000U)
  78030. #define SRC_AUTHEN_USBPHY2_LOCK_ASSIGN_SHIFT (15U)
  78031. /*! LOCK_ASSIGN - Assign list lock
  78032. */
  78033. #define SRC_AUTHEN_USBPHY2_LOCK_ASSIGN(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_USBPHY2_LOCK_ASSIGN_SHIFT)) & SRC_AUTHEN_USBPHY2_LOCK_ASSIGN_MASK)
  78034. #define SRC_AUTHEN_USBPHY2_WHITE_LIST_MASK (0xF0000U)
  78035. #define SRC_AUTHEN_USBPHY2_WHITE_LIST_SHIFT (16U)
  78036. /*! WHITE_LIST - Domain ID white list
  78037. */
  78038. #define SRC_AUTHEN_USBPHY2_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_USBPHY2_WHITE_LIST_SHIFT)) & SRC_AUTHEN_USBPHY2_WHITE_LIST_MASK)
  78039. #define SRC_AUTHEN_USBPHY2_LOCK_LIST_MASK (0x800000U)
  78040. #define SRC_AUTHEN_USBPHY2_LOCK_LIST_SHIFT (23U)
  78041. /*! LOCK_LIST - White list lock
  78042. */
  78043. #define SRC_AUTHEN_USBPHY2_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_USBPHY2_LOCK_LIST_SHIFT)) & SRC_AUTHEN_USBPHY2_LOCK_LIST_MASK)
  78044. #define SRC_AUTHEN_USBPHY2_USER_MASK (0x1000000U)
  78045. #define SRC_AUTHEN_USBPHY2_USER_SHIFT (24U)
  78046. /*! USER - Allow user mode access
  78047. */
  78048. #define SRC_AUTHEN_USBPHY2_USER(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_USBPHY2_USER_SHIFT)) & SRC_AUTHEN_USBPHY2_USER_MASK)
  78049. #define SRC_AUTHEN_USBPHY2_NONSECURE_MASK (0x2000000U)
  78050. #define SRC_AUTHEN_USBPHY2_NONSECURE_SHIFT (25U)
  78051. /*! NONSECURE - Allow non-secure mode access
  78052. */
  78053. #define SRC_AUTHEN_USBPHY2_NONSECURE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_USBPHY2_NONSECURE_SHIFT)) & SRC_AUTHEN_USBPHY2_NONSECURE_MASK)
  78054. #define SRC_AUTHEN_USBPHY2_LOCK_SETTING_MASK (0x80000000U)
  78055. #define SRC_AUTHEN_USBPHY2_LOCK_SETTING_SHIFT (31U)
  78056. /*! LOCK_SETTING - Lock NONSECURE and USER
  78057. */
  78058. #define SRC_AUTHEN_USBPHY2_LOCK_SETTING(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_USBPHY2_LOCK_SETTING_SHIFT)) & SRC_AUTHEN_USBPHY2_LOCK_SETTING_MASK)
  78059. /*! @} */
  78060. /*! @name CTRL_USBPHY2 - Slice Control Register */
  78061. /*! @{ */
  78062. #define SRC_CTRL_USBPHY2_SW_RESET_MASK (0x1U)
  78063. #define SRC_CTRL_USBPHY2_SW_RESET_SHIFT (0U)
  78064. /*! SW_RESET
  78065. * 0b0..do not assert slice software reset
  78066. * 0b1..assert slice software reset
  78067. */
  78068. #define SRC_CTRL_USBPHY2_SW_RESET(x) (((uint32_t)(((uint32_t)(x)) << SRC_CTRL_USBPHY2_SW_RESET_SHIFT)) & SRC_CTRL_USBPHY2_SW_RESET_MASK)
  78069. /*! @} */
  78070. /*! @name SETPOINT_USBPHY2 - Slice Setpoint Config Register */
  78071. /*! @{ */
  78072. #define SRC_SETPOINT_USBPHY2_SETPOINT0_MASK (0x1U)
  78073. #define SRC_SETPOINT_USBPHY2_SETPOINT0_SHIFT (0U)
  78074. /*! SETPOINT0 - SETPOINT0
  78075. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  78076. * 0b1..Slice reset will be asserted when system in Setpoint n
  78077. */
  78078. #define SRC_SETPOINT_USBPHY2_SETPOINT0(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY2_SETPOINT0_SHIFT)) & SRC_SETPOINT_USBPHY2_SETPOINT0_MASK)
  78079. #define SRC_SETPOINT_USBPHY2_SETPOINT1_MASK (0x2U)
  78080. #define SRC_SETPOINT_USBPHY2_SETPOINT1_SHIFT (1U)
  78081. /*! SETPOINT1 - SETPOINT1
  78082. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  78083. * 0b1..Slice reset will be asserted when system in Setpoint n
  78084. */
  78085. #define SRC_SETPOINT_USBPHY2_SETPOINT1(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY2_SETPOINT1_SHIFT)) & SRC_SETPOINT_USBPHY2_SETPOINT1_MASK)
  78086. #define SRC_SETPOINT_USBPHY2_SETPOINT2_MASK (0x4U)
  78087. #define SRC_SETPOINT_USBPHY2_SETPOINT2_SHIFT (2U)
  78088. /*! SETPOINT2 - SETPOINT2
  78089. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  78090. * 0b1..Slice reset will be asserted when system in Setpoint n
  78091. */
  78092. #define SRC_SETPOINT_USBPHY2_SETPOINT2(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY2_SETPOINT2_SHIFT)) & SRC_SETPOINT_USBPHY2_SETPOINT2_MASK)
  78093. #define SRC_SETPOINT_USBPHY2_SETPOINT3_MASK (0x8U)
  78094. #define SRC_SETPOINT_USBPHY2_SETPOINT3_SHIFT (3U)
  78095. /*! SETPOINT3 - SETPOINT3
  78096. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  78097. * 0b1..Slice reset will be asserted when system in Setpoint n
  78098. */
  78099. #define SRC_SETPOINT_USBPHY2_SETPOINT3(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY2_SETPOINT3_SHIFT)) & SRC_SETPOINT_USBPHY2_SETPOINT3_MASK)
  78100. #define SRC_SETPOINT_USBPHY2_SETPOINT4_MASK (0x10U)
  78101. #define SRC_SETPOINT_USBPHY2_SETPOINT4_SHIFT (4U)
  78102. /*! SETPOINT4 - SETPOINT4
  78103. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  78104. * 0b1..Slice reset will be asserted when system in Setpoint n
  78105. */
  78106. #define SRC_SETPOINT_USBPHY2_SETPOINT4(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY2_SETPOINT4_SHIFT)) & SRC_SETPOINT_USBPHY2_SETPOINT4_MASK)
  78107. #define SRC_SETPOINT_USBPHY2_SETPOINT5_MASK (0x20U)
  78108. #define SRC_SETPOINT_USBPHY2_SETPOINT5_SHIFT (5U)
  78109. /*! SETPOINT5 - SETPOINT5
  78110. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  78111. * 0b1..Slice reset will be asserted when system in Setpoint n
  78112. */
  78113. #define SRC_SETPOINT_USBPHY2_SETPOINT5(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY2_SETPOINT5_SHIFT)) & SRC_SETPOINT_USBPHY2_SETPOINT5_MASK)
  78114. #define SRC_SETPOINT_USBPHY2_SETPOINT6_MASK (0x40U)
  78115. #define SRC_SETPOINT_USBPHY2_SETPOINT6_SHIFT (6U)
  78116. /*! SETPOINT6 - SETPOINT6
  78117. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  78118. * 0b1..Slice reset will be asserted when system in Setpoint n
  78119. */
  78120. #define SRC_SETPOINT_USBPHY2_SETPOINT6(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY2_SETPOINT6_SHIFT)) & SRC_SETPOINT_USBPHY2_SETPOINT6_MASK)
  78121. #define SRC_SETPOINT_USBPHY2_SETPOINT7_MASK (0x80U)
  78122. #define SRC_SETPOINT_USBPHY2_SETPOINT7_SHIFT (7U)
  78123. /*! SETPOINT7 - SETPOINT7
  78124. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  78125. * 0b1..Slice reset will be asserted when system in Setpoint n
  78126. */
  78127. #define SRC_SETPOINT_USBPHY2_SETPOINT7(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY2_SETPOINT7_SHIFT)) & SRC_SETPOINT_USBPHY2_SETPOINT7_MASK)
  78128. #define SRC_SETPOINT_USBPHY2_SETPOINT8_MASK (0x100U)
  78129. #define SRC_SETPOINT_USBPHY2_SETPOINT8_SHIFT (8U)
  78130. /*! SETPOINT8 - SETPOINT8
  78131. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  78132. * 0b1..Slice reset will be asserted when system in Setpoint n
  78133. */
  78134. #define SRC_SETPOINT_USBPHY2_SETPOINT8(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY2_SETPOINT8_SHIFT)) & SRC_SETPOINT_USBPHY2_SETPOINT8_MASK)
  78135. #define SRC_SETPOINT_USBPHY2_SETPOINT9_MASK (0x200U)
  78136. #define SRC_SETPOINT_USBPHY2_SETPOINT9_SHIFT (9U)
  78137. /*! SETPOINT9 - SETPOINT9
  78138. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  78139. * 0b1..Slice reset will be asserted when system in Setpoint n
  78140. */
  78141. #define SRC_SETPOINT_USBPHY2_SETPOINT9(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY2_SETPOINT9_SHIFT)) & SRC_SETPOINT_USBPHY2_SETPOINT9_MASK)
  78142. #define SRC_SETPOINT_USBPHY2_SETPOINT10_MASK (0x400U)
  78143. #define SRC_SETPOINT_USBPHY2_SETPOINT10_SHIFT (10U)
  78144. /*! SETPOINT10 - SETPOINT10
  78145. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  78146. * 0b1..Slice reset will be asserted when system in Setpoint n
  78147. */
  78148. #define SRC_SETPOINT_USBPHY2_SETPOINT10(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY2_SETPOINT10_SHIFT)) & SRC_SETPOINT_USBPHY2_SETPOINT10_MASK)
  78149. #define SRC_SETPOINT_USBPHY2_SETPOINT11_MASK (0x800U)
  78150. #define SRC_SETPOINT_USBPHY2_SETPOINT11_SHIFT (11U)
  78151. /*! SETPOINT11 - SETPOINT11
  78152. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  78153. * 0b1..Slice reset will be asserted when system in Setpoint n
  78154. */
  78155. #define SRC_SETPOINT_USBPHY2_SETPOINT11(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY2_SETPOINT11_SHIFT)) & SRC_SETPOINT_USBPHY2_SETPOINT11_MASK)
  78156. #define SRC_SETPOINT_USBPHY2_SETPOINT12_MASK (0x1000U)
  78157. #define SRC_SETPOINT_USBPHY2_SETPOINT12_SHIFT (12U)
  78158. /*! SETPOINT12 - SETPOINT12
  78159. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  78160. * 0b1..Slice reset will be asserted when system in Setpoint n
  78161. */
  78162. #define SRC_SETPOINT_USBPHY2_SETPOINT12(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY2_SETPOINT12_SHIFT)) & SRC_SETPOINT_USBPHY2_SETPOINT12_MASK)
  78163. #define SRC_SETPOINT_USBPHY2_SETPOINT13_MASK (0x2000U)
  78164. #define SRC_SETPOINT_USBPHY2_SETPOINT13_SHIFT (13U)
  78165. /*! SETPOINT13 - SETPOINT13
  78166. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  78167. * 0b1..Slice reset will be asserted when system in Setpoint n
  78168. */
  78169. #define SRC_SETPOINT_USBPHY2_SETPOINT13(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY2_SETPOINT13_SHIFT)) & SRC_SETPOINT_USBPHY2_SETPOINT13_MASK)
  78170. #define SRC_SETPOINT_USBPHY2_SETPOINT14_MASK (0x4000U)
  78171. #define SRC_SETPOINT_USBPHY2_SETPOINT14_SHIFT (14U)
  78172. /*! SETPOINT14 - SETPOINT14
  78173. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  78174. * 0b1..Slice reset will be asserted when system in Setpoint n
  78175. */
  78176. #define SRC_SETPOINT_USBPHY2_SETPOINT14(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY2_SETPOINT14_SHIFT)) & SRC_SETPOINT_USBPHY2_SETPOINT14_MASK)
  78177. #define SRC_SETPOINT_USBPHY2_SETPOINT15_MASK (0x8000U)
  78178. #define SRC_SETPOINT_USBPHY2_SETPOINT15_SHIFT (15U)
  78179. /*! SETPOINT15 - SETPOINT15
  78180. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  78181. * 0b1..Slice reset will be asserted when system in Setpoint n
  78182. */
  78183. #define SRC_SETPOINT_USBPHY2_SETPOINT15(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY2_SETPOINT15_SHIFT)) & SRC_SETPOINT_USBPHY2_SETPOINT15_MASK)
  78184. /*! @} */
  78185. /*! @name DOMAIN_USBPHY2 - Slice Domain Config Register */
  78186. /*! @{ */
  78187. #define SRC_DOMAIN_USBPHY2_CPU0_RUN_MASK (0x1U)
  78188. #define SRC_DOMAIN_USBPHY2_CPU0_RUN_SHIFT (0U)
  78189. /*! CPU0_RUN - CPU mode setting for RUN
  78190. * 0b0..Slice reset will be de-asserted when CPU0 in RUN mode
  78191. * 0b1..Slice reset will be asserted when CPU0 in RUN mode
  78192. */
  78193. #define SRC_DOMAIN_USBPHY2_CPU0_RUN(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_USBPHY2_CPU0_RUN_SHIFT)) & SRC_DOMAIN_USBPHY2_CPU0_RUN_MASK)
  78194. #define SRC_DOMAIN_USBPHY2_CPU0_WAIT_MASK (0x2U)
  78195. #define SRC_DOMAIN_USBPHY2_CPU0_WAIT_SHIFT (1U)
  78196. /*! CPU0_WAIT - CPU mode setting for WAIT
  78197. * 0b0..Slice reset will be de-asserted when CPU0 in WAIT mode
  78198. * 0b1..Slice reset will be asserted when CPU0 in WAIT mode
  78199. */
  78200. #define SRC_DOMAIN_USBPHY2_CPU0_WAIT(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_USBPHY2_CPU0_WAIT_SHIFT)) & SRC_DOMAIN_USBPHY2_CPU0_WAIT_MASK)
  78201. #define SRC_DOMAIN_USBPHY2_CPU0_STOP_MASK (0x4U)
  78202. #define SRC_DOMAIN_USBPHY2_CPU0_STOP_SHIFT (2U)
  78203. /*! CPU0_STOP - CPU mode setting for STOP
  78204. * 0b0..Slice reset will be de-asserted when CPU0 in STOP mode
  78205. * 0b1..Slice reset will be asserted when CPU0 in STOP mode
  78206. */
  78207. #define SRC_DOMAIN_USBPHY2_CPU0_STOP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_USBPHY2_CPU0_STOP_SHIFT)) & SRC_DOMAIN_USBPHY2_CPU0_STOP_MASK)
  78208. #define SRC_DOMAIN_USBPHY2_CPU0_SUSP_MASK (0x8U)
  78209. #define SRC_DOMAIN_USBPHY2_CPU0_SUSP_SHIFT (3U)
  78210. /*! CPU0_SUSP - CPU mode setting for SUSPEND
  78211. * 0b0..Slice reset will be de-asserted when CPU0 in SUSPEND mode
  78212. * 0b1..Slice reset will be asserted when CPU0 in SUSPEND mode
  78213. */
  78214. #define SRC_DOMAIN_USBPHY2_CPU0_SUSP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_USBPHY2_CPU0_SUSP_SHIFT)) & SRC_DOMAIN_USBPHY2_CPU0_SUSP_MASK)
  78215. #define SRC_DOMAIN_USBPHY2_CPU1_RUN_MASK (0x10U)
  78216. #define SRC_DOMAIN_USBPHY2_CPU1_RUN_SHIFT (4U)
  78217. /*! CPU1_RUN - CPU mode setting for RUN
  78218. * 0b0..Slice reset will be de-asserted when CPU1 in RUN mode
  78219. * 0b1..Slice reset will be asserted when CPU1 in RUN mode
  78220. */
  78221. #define SRC_DOMAIN_USBPHY2_CPU1_RUN(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_USBPHY2_CPU1_RUN_SHIFT)) & SRC_DOMAIN_USBPHY2_CPU1_RUN_MASK)
  78222. #define SRC_DOMAIN_USBPHY2_CPU1_WAIT_MASK (0x20U)
  78223. #define SRC_DOMAIN_USBPHY2_CPU1_WAIT_SHIFT (5U)
  78224. /*! CPU1_WAIT - CPU mode setting for WAIT
  78225. * 0b0..Slice reset will be de-asserted when CPU1 in WAIT mode
  78226. * 0b1..Slice reset will be asserted when CPU1 in WAIT mode
  78227. */
  78228. #define SRC_DOMAIN_USBPHY2_CPU1_WAIT(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_USBPHY2_CPU1_WAIT_SHIFT)) & SRC_DOMAIN_USBPHY2_CPU1_WAIT_MASK)
  78229. #define SRC_DOMAIN_USBPHY2_CPU1_STOP_MASK (0x40U)
  78230. #define SRC_DOMAIN_USBPHY2_CPU1_STOP_SHIFT (6U)
  78231. /*! CPU1_STOP - CPU mode setting for STOP
  78232. * 0b0..Slice reset will be de-asserted when CPU1 in STOP mode
  78233. * 0b1..Slice reset will be asserted when CPU1 in STOP mode
  78234. */
  78235. #define SRC_DOMAIN_USBPHY2_CPU1_STOP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_USBPHY2_CPU1_STOP_SHIFT)) & SRC_DOMAIN_USBPHY2_CPU1_STOP_MASK)
  78236. #define SRC_DOMAIN_USBPHY2_CPU1_SUSP_MASK (0x80U)
  78237. #define SRC_DOMAIN_USBPHY2_CPU1_SUSP_SHIFT (7U)
  78238. /*! CPU1_SUSP - CPU mode setting for SUSPEND
  78239. * 0b0..Slice reset will be de-asserted when CPU1 in SUSPEND mode
  78240. * 0b1..Slice reset will be asserted when CPU1 in SUSPEND mode
  78241. */
  78242. #define SRC_DOMAIN_USBPHY2_CPU1_SUSP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_USBPHY2_CPU1_SUSP_SHIFT)) & SRC_DOMAIN_USBPHY2_CPU1_SUSP_MASK)
  78243. /*! @} */
  78244. /*! @name STAT_USBPHY2 - Slice Status Register */
  78245. /*! @{ */
  78246. #define SRC_STAT_USBPHY2_UNDER_RST_MASK (0x1U)
  78247. #define SRC_STAT_USBPHY2_UNDER_RST_SHIFT (0U)
  78248. /*! UNDER_RST
  78249. * 0b0..the reset is finished
  78250. * 0b1..the reset is in process
  78251. */
  78252. #define SRC_STAT_USBPHY2_UNDER_RST(x) (((uint32_t)(((uint32_t)(x)) << SRC_STAT_USBPHY2_UNDER_RST_SHIFT)) & SRC_STAT_USBPHY2_UNDER_RST_MASK)
  78253. #define SRC_STAT_USBPHY2_RST_BY_HW_MASK (0x4U)
  78254. #define SRC_STAT_USBPHY2_RST_BY_HW_SHIFT (2U)
  78255. /*! RST_BY_HW
  78256. * 0b0..the reset is not caused by the power mode transfer
  78257. * 0b1..the reset is caused by the power mode transfer
  78258. */
  78259. #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)
  78260. #define SRC_STAT_USBPHY2_RST_BY_SW_MASK (0x8U)
  78261. #define SRC_STAT_USBPHY2_RST_BY_SW_SHIFT (3U)
  78262. /*! RST_BY_SW
  78263. * 0b0..the reset is not caused by software setting
  78264. * 0b1..the reset is caused by software setting
  78265. */
  78266. #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)
  78267. /*! @} */
  78268. /*!
  78269. * @}
  78270. */ /* end of group SRC_Register_Masks */
  78271. /* SRC - Peripheral instance base addresses */
  78272. /** Peripheral SRC base address */
  78273. #define SRC_BASE (0x40C04000u)
  78274. /** Peripheral SRC base pointer */
  78275. #define SRC ((SRC_Type *)SRC_BASE)
  78276. /** Array initializer of SRC peripheral base addresses */
  78277. #define SRC_BASE_ADDRS { SRC_BASE }
  78278. /** Array initializer of SRC peripheral base pointers */
  78279. #define SRC_BASE_PTRS { SRC }
  78280. /*!
  78281. * @}
  78282. */ /* end of group SRC_Peripheral_Access_Layer */
  78283. /* ----------------------------------------------------------------------------
  78284. -- SSARC_HP Peripheral Access Layer
  78285. ---------------------------------------------------------------------------- */
  78286. /*!
  78287. * @addtogroup SSARC_HP_Peripheral_Access_Layer SSARC_HP Peripheral Access Layer
  78288. * @{
  78289. */
  78290. /** SSARC_HP - Register Layout Typedef */
  78291. typedef struct {
  78292. struct { /* offset: 0x0, array step: 0x10 */
  78293. __IO uint32_t SRAM0; /**< Description Address Register, array offset: 0x0, array step: 0x10 */
  78294. __IO uint32_t SRAM1; /**< Description Data Register, array offset: 0x4, array step: 0x10 */
  78295. __IO uint32_t SRAM2; /**< Description Control Register, array offset: 0x8, array step: 0x10 */
  78296. uint8_t RESERVED_0[4];
  78297. } DESC[1024];
  78298. } SSARC_HP_Type;
  78299. /* ----------------------------------------------------------------------------
  78300. -- SSARC_HP Register Masks
  78301. ---------------------------------------------------------------------------- */
  78302. /*!
  78303. * @addtogroup SSARC_HP_Register_Masks SSARC_HP Register Masks
  78304. * @{
  78305. */
  78306. /*! @name SRAM0 - Description Address Register */
  78307. /*! @{ */
  78308. #define SSARC_HP_SRAM0_ADDR_MASK (0xFFFFFFFFU)
  78309. #define SSARC_HP_SRAM0_ADDR_SHIFT (0U)
  78310. /*! ADDR - Address field
  78311. */
  78312. #define SSARC_HP_SRAM0_ADDR(x) (((uint32_t)(((uint32_t)(x)) << SSARC_HP_SRAM0_ADDR_SHIFT)) & SSARC_HP_SRAM0_ADDR_MASK)
  78313. /*! @} */
  78314. /* The count of SSARC_HP_SRAM0 */
  78315. #define SSARC_HP_SRAM0_COUNT (1024U)
  78316. /*! @name SRAM1 - Description Data Register */
  78317. /*! @{ */
  78318. #define SSARC_HP_SRAM1_DATA_MASK (0xFFFFFFFFU)
  78319. #define SSARC_HP_SRAM1_DATA_SHIFT (0U)
  78320. /*! DATA - Data field
  78321. */
  78322. #define SSARC_HP_SRAM1_DATA(x) (((uint32_t)(((uint32_t)(x)) << SSARC_HP_SRAM1_DATA_SHIFT)) & SSARC_HP_SRAM1_DATA_MASK)
  78323. /*! @} */
  78324. /* The count of SSARC_HP_SRAM1 */
  78325. #define SSARC_HP_SRAM1_COUNT (1024U)
  78326. /*! @name SRAM2 - Description Control Register */
  78327. /*! @{ */
  78328. #define SSARC_HP_SRAM2_TYPE_MASK (0x7U)
  78329. #define SSARC_HP_SRAM2_TYPE_SHIFT (0U)
  78330. /*! TYPE - Type field
  78331. * 0b000..SR
  78332. * 0b001..WO
  78333. * 0b010..RMW_OR
  78334. * 0b011..RMW_AND
  78335. * 0b100..DELAY
  78336. * 0b101..POLLING_0
  78337. * 0b110..POLLING_1
  78338. * 0b111..Reserved
  78339. */
  78340. #define SSARC_HP_SRAM2_TYPE(x) (((uint32_t)(((uint32_t)(x)) << SSARC_HP_SRAM2_TYPE_SHIFT)) & SSARC_HP_SRAM2_TYPE_MASK)
  78341. #define SSARC_HP_SRAM2_SV_EN_MASK (0x10U)
  78342. #define SSARC_HP_SRAM2_SV_EN_SHIFT (4U)
  78343. /*! SV_EN - Save Enable
  78344. * 0b0..Do not use this descriptor in the save operation
  78345. * 0b1..Use this descriptor in the save operation
  78346. */
  78347. #define SSARC_HP_SRAM2_SV_EN(x) (((uint32_t)(((uint32_t)(x)) << SSARC_HP_SRAM2_SV_EN_SHIFT)) & SSARC_HP_SRAM2_SV_EN_MASK)
  78348. #define SSARC_HP_SRAM2_RT_EN_MASK (0x20U)
  78349. #define SSARC_HP_SRAM2_RT_EN_SHIFT (5U)
  78350. /*! RT_EN - Restore Enable
  78351. * 0b0..Do not use this descriptor for the restore operation
  78352. * 0b1..Use this descriptor for the restore operation
  78353. */
  78354. #define SSARC_HP_SRAM2_RT_EN(x) (((uint32_t)(((uint32_t)(x)) << SSARC_HP_SRAM2_RT_EN_SHIFT)) & SSARC_HP_SRAM2_RT_EN_MASK)
  78355. #define SSARC_HP_SRAM2_SIZE_MASK (0xC0U)
  78356. #define SSARC_HP_SRAM2_SIZE_SHIFT (6U)
  78357. /*! SIZE - Size field
  78358. * 0b00..8-bit
  78359. * 0b01..16-bit
  78360. * 0b10..32-bit
  78361. * 0b11..Reserved
  78362. */
  78363. #define SSARC_HP_SRAM2_SIZE(x) (((uint32_t)(((uint32_t)(x)) << SSARC_HP_SRAM2_SIZE_SHIFT)) & SSARC_HP_SRAM2_SIZE_MASK)
  78364. /*! @} */
  78365. /* The count of SSARC_HP_SRAM2 */
  78366. #define SSARC_HP_SRAM2_COUNT (1024U)
  78367. /*!
  78368. * @}
  78369. */ /* end of group SSARC_HP_Register_Masks */
  78370. /* SSARC_HP - Peripheral instance base addresses */
  78371. /** Peripheral SSARC_HP base address */
  78372. #define SSARC_HP_BASE (0x40CB4000u)
  78373. /** Peripheral SSARC_HP base pointer */
  78374. #define SSARC_HP ((SSARC_HP_Type *)SSARC_HP_BASE)
  78375. /** Array initializer of SSARC_HP peripheral base addresses */
  78376. #define SSARC_HP_BASE_ADDRS { SSARC_HP_BASE }
  78377. /** Array initializer of SSARC_HP peripheral base pointers */
  78378. #define SSARC_HP_BASE_PTRS { SSARC_HP }
  78379. /*!
  78380. * @}
  78381. */ /* end of group SSARC_HP_Peripheral_Access_Layer */
  78382. /* ----------------------------------------------------------------------------
  78383. -- SSARC_LP Peripheral Access Layer
  78384. ---------------------------------------------------------------------------- */
  78385. /*!
  78386. * @addtogroup SSARC_LP_Peripheral_Access_Layer SSARC_LP Peripheral Access Layer
  78387. * @{
  78388. */
  78389. /** SSARC_LP - Register Layout Typedef */
  78390. typedef struct {
  78391. struct { /* offset: 0x0, array step: 0x20 */
  78392. __IO uint32_t DESC_CTRL0; /**< Descriptor Control0 0 Register..Descriptor Control0 15 Register, array offset: 0x0, array step: 0x20 */
  78393. __IO uint32_t DESC_CTRL1; /**< Descriptor Control1 0 Register..Descriptor Control1 15 Register, array offset: 0x4, array step: 0x20 */
  78394. __IO uint32_t DESC_ADDR_UP; /**< Descriptor Address Up 0 Register..Descriptor Address Up 15 Register, array offset: 0x8, array step: 0x20 */
  78395. __IO uint32_t DESC_ADDR_DOWN; /**< Descriptor Address Down 0 Register..Descriptor Address Down 15 Register, array offset: 0xC, array step: 0x20 */
  78396. uint8_t RESERVED_0[16];
  78397. } GROUPS[16];
  78398. __IO uint32_t CTRL; /**< Control Register, offset: 0x200 */
  78399. __IO uint32_t INT_STATUS; /**< Interrupt Status Register, offset: 0x204 */
  78400. uint8_t RESERVED_0[4];
  78401. __IO uint32_t HP_TIMEOUT; /**< HP Timeout Register, offset: 0x20C */
  78402. uint8_t RESERVED_1[12];
  78403. __I uint32_t HW_GROUP_PENDING; /**< Hardware Request Pending Register, offset: 0x21C */
  78404. __I uint32_t SW_GROUP_PENDING; /**< Software Request Pending Register, offset: 0x220 */
  78405. } SSARC_LP_Type;
  78406. /* ----------------------------------------------------------------------------
  78407. -- SSARC_LP Register Masks
  78408. ---------------------------------------------------------------------------- */
  78409. /*!
  78410. * @addtogroup SSARC_LP_Register_Masks SSARC_LP Register Masks
  78411. * @{
  78412. */
  78413. /*! @name DESC_CTRL0 - Descriptor Control0 0 Register..Descriptor Control0 15 Register */
  78414. /*! @{ */
  78415. #define SSARC_LP_DESC_CTRL0_START_MASK (0x3FFU)
  78416. #define SSARC_LP_DESC_CTRL0_START_SHIFT (0U)
  78417. /*! START - Start index
  78418. */
  78419. #define SSARC_LP_DESC_CTRL0_START(x) (((uint32_t)(((uint32_t)(x)) << SSARC_LP_DESC_CTRL0_START_SHIFT)) & SSARC_LP_DESC_CTRL0_START_MASK)
  78420. #define SSARC_LP_DESC_CTRL0_END_MASK (0xFFC00U)
  78421. #define SSARC_LP_DESC_CTRL0_END_SHIFT (10U)
  78422. /*! END - End index
  78423. */
  78424. #define SSARC_LP_DESC_CTRL0_END(x) (((uint32_t)(((uint32_t)(x)) << SSARC_LP_DESC_CTRL0_END_SHIFT)) & SSARC_LP_DESC_CTRL0_END_MASK)
  78425. #define SSARC_LP_DESC_CTRL0_SV_ORDER_MASK (0x100000U)
  78426. #define SSARC_LP_DESC_CTRL0_SV_ORDER_SHIFT (20U)
  78427. /*! SV_ORDER - Save Order
  78428. * 0b0..Descriptors within the group are processed from start to end
  78429. * 0b1..Descriptors within the group are processed from end to start
  78430. */
  78431. #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)
  78432. #define SSARC_LP_DESC_CTRL0_RT_ORDER_MASK (0x200000U)
  78433. #define SSARC_LP_DESC_CTRL0_RT_ORDER_SHIFT (21U)
  78434. /*! RT_ORDER - Restore order
  78435. * 0b0..Descriptors within the group are processed from start to end
  78436. * 0b1..Descriptors within the group are processed from end to start
  78437. */
  78438. #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)
  78439. /*! @} */
  78440. /* The count of SSARC_LP_DESC_CTRL0 */
  78441. #define SSARC_LP_DESC_CTRL0_COUNT (16U)
  78442. /*! @name DESC_CTRL1 - Descriptor Control1 0 Register..Descriptor Control1 15 Register */
  78443. /*! @{ */
  78444. #define SSARC_LP_DESC_CTRL1_SW_TRIG_SV_MASK (0x1U)
  78445. #define SSARC_LP_DESC_CTRL1_SW_TRIG_SV_SHIFT (0U)
  78446. /*! SW_TRIG_SV - Software trigger save
  78447. * 0b1..Request a software save operation/software restore operation in progress
  78448. * 0b0..No software save request/software restore request complete
  78449. */
  78450. #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)
  78451. #define SSARC_LP_DESC_CTRL1_SW_TRIG_RT_MASK (0x2U)
  78452. #define SSARC_LP_DESC_CTRL1_SW_TRIG_RT_SHIFT (1U)
  78453. /*! SW_TRIG_RT - Software trigger restore
  78454. * 0b1..Request a software restore operation/software restore operation in progress
  78455. * 0b0..No software restore request/software restore request complete
  78456. */
  78457. #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)
  78458. #define SSARC_LP_DESC_CTRL1_POWER_DOMAIN_MASK (0x70U)
  78459. #define SSARC_LP_DESC_CTRL1_POWER_DOMAIN_SHIFT (4U)
  78460. /*! POWER_DOMAIN
  78461. * 0b000..PGMC_BPC0
  78462. * 0b001..PGMC_BPC1
  78463. * 0b010..PGMC_BPC2
  78464. * 0b011..PGMC_BPC3
  78465. * 0b100..PGMC_BPC4
  78466. * 0b101..PGMC_BPC5
  78467. * 0b110..PGMC_BPC6
  78468. * 0b111..PGMC_BPC7
  78469. */
  78470. #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)
  78471. #define SSARC_LP_DESC_CTRL1_GP_EN_MASK (0x80U)
  78472. #define SSARC_LP_DESC_CTRL1_GP_EN_SHIFT (7U)
  78473. /*! GP_EN - Group Enable
  78474. * 0b0..Group disabled
  78475. * 0b1..Group enabled
  78476. */
  78477. #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)
  78478. #define SSARC_LP_DESC_CTRL1_SV_PRIORITY_MASK (0xF00U)
  78479. #define SSARC_LP_DESC_CTRL1_SV_PRIORITY_SHIFT (8U)
  78480. /*! SV_PRIORITY - Save Priority
  78481. */
  78482. #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)
  78483. #define SSARC_LP_DESC_CTRL1_RT_PRIORITY_MASK (0xF000U)
  78484. #define SSARC_LP_DESC_CTRL1_RT_PRIORITY_SHIFT (12U)
  78485. /*! RT_PRIORITY - Restore Priority
  78486. */
  78487. #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)
  78488. #define SSARC_LP_DESC_CTRL1_CPUD_MASK (0x30000U)
  78489. #define SSARC_LP_DESC_CTRL1_CPUD_SHIFT (16U)
  78490. /*! CPUD - CPU Domain
  78491. */
  78492. #define SSARC_LP_DESC_CTRL1_CPUD(x) (((uint32_t)(((uint32_t)(x)) << SSARC_LP_DESC_CTRL1_CPUD_SHIFT)) & SSARC_LP_DESC_CTRL1_CPUD_MASK)
  78493. #define SSARC_LP_DESC_CTRL1_RL_MASK (0x40000U)
  78494. #define SSARC_LP_DESC_CTRL1_RL_SHIFT (18U)
  78495. /*! RL - Read Lock
  78496. * 0b1..Group is locked (read access not allowed)
  78497. * 0b0..Group is unlocked (read access allowed)
  78498. */
  78499. #define SSARC_LP_DESC_CTRL1_RL(x) (((uint32_t)(((uint32_t)(x)) << SSARC_LP_DESC_CTRL1_RL_SHIFT)) & SSARC_LP_DESC_CTRL1_RL_MASK)
  78500. #define SSARC_LP_DESC_CTRL1_WL_MASK (0x80000U)
  78501. #define SSARC_LP_DESC_CTRL1_WL_SHIFT (19U)
  78502. /*! WL - Write Lock
  78503. * 0b1..Group is locked (write access not allowed)
  78504. * 0b0..Group is unlocked (write access allowed)
  78505. */
  78506. #define SSARC_LP_DESC_CTRL1_WL(x) (((uint32_t)(((uint32_t)(x)) << SSARC_LP_DESC_CTRL1_WL_SHIFT)) & SSARC_LP_DESC_CTRL1_WL_MASK)
  78507. #define SSARC_LP_DESC_CTRL1_DL_MASK (0x100000U)
  78508. #define SSARC_LP_DESC_CTRL1_DL_SHIFT (20U)
  78509. /*! DL - Domain lock
  78510. * 0b1..Lock
  78511. * 0b0..Unlock
  78512. */
  78513. #define SSARC_LP_DESC_CTRL1_DL(x) (((uint32_t)(((uint32_t)(x)) << SSARC_LP_DESC_CTRL1_DL_SHIFT)) & SSARC_LP_DESC_CTRL1_DL_MASK)
  78514. /*! @} */
  78515. /* The count of SSARC_LP_DESC_CTRL1 */
  78516. #define SSARC_LP_DESC_CTRL1_COUNT (16U)
  78517. /*! @name DESC_ADDR_UP - Descriptor Address Up 0 Register..Descriptor Address Up 15 Register */
  78518. /*! @{ */
  78519. #define SSARC_LP_DESC_ADDR_UP_ADDR_UP_MASK (0xFFFFFFFFU)
  78520. #define SSARC_LP_DESC_ADDR_UP_ADDR_UP_SHIFT (0U)
  78521. /*! ADDR_UP - Address field (High)
  78522. */
  78523. #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)
  78524. /*! @} */
  78525. /* The count of SSARC_LP_DESC_ADDR_UP */
  78526. #define SSARC_LP_DESC_ADDR_UP_COUNT (16U)
  78527. /*! @name DESC_ADDR_DOWN - Descriptor Address Down 0 Register..Descriptor Address Down 15 Register */
  78528. /*! @{ */
  78529. #define SSARC_LP_DESC_ADDR_DOWN_ADDR_DOWN_MASK (0xFFFFFFFFU)
  78530. #define SSARC_LP_DESC_ADDR_DOWN_ADDR_DOWN_SHIFT (0U)
  78531. /*! ADDR_DOWN - Address field (Low)
  78532. */
  78533. #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)
  78534. /*! @} */
  78535. /* The count of SSARC_LP_DESC_ADDR_DOWN */
  78536. #define SSARC_LP_DESC_ADDR_DOWN_COUNT (16U)
  78537. /*! @name CTRL - Control Register */
  78538. /*! @{ */
  78539. #define SSARC_LP_CTRL_DIS_HW_REQ_MASK (0x8000000U)
  78540. #define SSARC_LP_CTRL_DIS_HW_REQ_SHIFT (27U)
  78541. /*! DIS_HW_REQ - Save/Restore request disable
  78542. * 0b0..PGMC save/restore requests enabled
  78543. * 0b1..PGMC save/restore requests disabled
  78544. */
  78545. #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)
  78546. #define SSARC_LP_CTRL_SW_RESET_MASK (0x80000000U)
  78547. #define SSARC_LP_CTRL_SW_RESET_SHIFT (31U)
  78548. /*! SW_RESET - Software reset
  78549. */
  78550. #define SSARC_LP_CTRL_SW_RESET(x) (((uint32_t)(((uint32_t)(x)) << SSARC_LP_CTRL_SW_RESET_SHIFT)) & SSARC_LP_CTRL_SW_RESET_MASK)
  78551. /*! @} */
  78552. /*! @name INT_STATUS - Interrupt Status Register */
  78553. /*! @{ */
  78554. #define SSARC_LP_INT_STATUS_ERR_INDEX_MASK (0x3FFU)
  78555. #define SSARC_LP_INT_STATUS_ERR_INDEX_SHIFT (0U)
  78556. /*! ERR_INDEX - Error Index
  78557. */
  78558. #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)
  78559. #define SSARC_LP_INT_STATUS_AHB_RESP_MASK (0xC00U)
  78560. #define SSARC_LP_INT_STATUS_AHB_RESP_SHIFT (10U)
  78561. /*! AHB_RESP - AHB Bus response field
  78562. */
  78563. #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)
  78564. #define SSARC_LP_INT_STATUS_GROUP_CONFLICT_MASK (0x8000000U)
  78565. #define SSARC_LP_INT_STATUS_GROUP_CONFLICT_SHIFT (27U)
  78566. /*! GROUP_CONFLICT - Group Conflict field
  78567. * 0b1..A group conflict error has occurred
  78568. * 0b0..No group conflict error
  78569. */
  78570. #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)
  78571. #define SSARC_LP_INT_STATUS_TIMEOUT_MASK (0x10000000U)
  78572. #define SSARC_LP_INT_STATUS_TIMEOUT_SHIFT (28U)
  78573. /*! TIMEOUT - Timeout field
  78574. * 0b1..A timeout event has occurred
  78575. * 0b0..No timeout event
  78576. */
  78577. #define SSARC_LP_INT_STATUS_TIMEOUT(x) (((uint32_t)(((uint32_t)(x)) << SSARC_LP_INT_STATUS_TIMEOUT_SHIFT)) & SSARC_LP_INT_STATUS_TIMEOUT_MASK)
  78578. #define SSARC_LP_INT_STATUS_SW_REQ_DONE_MASK (0x20000000U)
  78579. #define SSARC_LP_INT_STATUS_SW_REQ_DONE_SHIFT (29U)
  78580. /*! SW_REQ_DONE - Software Request Done
  78581. * 0b1..Atleast one software triggered has been complete
  78582. * 0b0..No software triggered requests or software triggered request still in progress
  78583. */
  78584. #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)
  78585. #define SSARC_LP_INT_STATUS_AHB_ERR_MASK (0x40000000U)
  78586. #define SSARC_LP_INT_STATUS_AHB_ERR_SHIFT (30U)
  78587. /*! AHB_ERR - AHB Error field
  78588. * 0b1..An AHB error has occurred
  78589. * 0b0..No AHB error
  78590. */
  78591. #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)
  78592. #define SSARC_LP_INT_STATUS_ADDR_ERR_MASK (0x80000000U)
  78593. #define SSARC_LP_INT_STATUS_ADDR_ERR_SHIFT (31U)
  78594. /*! ADDR_ERR - Address Error field
  78595. * 0b1..An address error has occurred
  78596. * 0b0..No address error
  78597. */
  78598. #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)
  78599. /*! @} */
  78600. /*! @name HP_TIMEOUT - HP Timeout Register */
  78601. /*! @{ */
  78602. #define SSARC_LP_HP_TIMEOUT_TIMEOUT_VALUE_MASK (0xFFFFFFFFU)
  78603. #define SSARC_LP_HP_TIMEOUT_TIMEOUT_VALUE_SHIFT (0U)
  78604. /*! TIMEOUT_VALUE - Time out value
  78605. */
  78606. #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)
  78607. /*! @} */
  78608. /*! @name HW_GROUP_PENDING - Hardware Request Pending Register */
  78609. /*! @{ */
  78610. #define SSARC_LP_HW_GROUP_PENDING_HW_SAVE_PENDING_MASK (0xFFFFU)
  78611. #define SSARC_LP_HW_GROUP_PENDING_HW_SAVE_PENDING_SHIFT (0U)
  78612. /*! HW_SAVE_PENDING - This field indicates which groups are pending for save from hardware request
  78613. */
  78614. #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)
  78615. #define SSARC_LP_HW_GROUP_PENDING_HW_RESTORE_PENDING_MASK (0xFFFF0000U)
  78616. #define SSARC_LP_HW_GROUP_PENDING_HW_RESTORE_PENDING_SHIFT (16U)
  78617. /*! HW_RESTORE_PENDING - This field indicates which groups are pending for restore from hardware request
  78618. */
  78619. #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)
  78620. /*! @} */
  78621. /*! @name SW_GROUP_PENDING - Software Request Pending Register */
  78622. /*! @{ */
  78623. #define SSARC_LP_SW_GROUP_PENDING_SW_SAVE_PENDING_MASK (0xFFFFU)
  78624. #define SSARC_LP_SW_GROUP_PENDING_SW_SAVE_PENDING_SHIFT (0U)
  78625. /*! SW_SAVE_PENDING - This field indicates which groups are pending for save from software request
  78626. */
  78627. #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)
  78628. #define SSARC_LP_SW_GROUP_PENDING_SW_RESTORE_PENDING_MASK (0xFFFF0000U)
  78629. #define SSARC_LP_SW_GROUP_PENDING_SW_RESTORE_PENDING_SHIFT (16U)
  78630. /*! SW_RESTORE_PENDING - This field indicates which groups are pending for restore from software request
  78631. */
  78632. #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)
  78633. /*! @} */
  78634. /*!
  78635. * @}
  78636. */ /* end of group SSARC_LP_Register_Masks */
  78637. /* SSARC_LP - Peripheral instance base addresses */
  78638. /** Peripheral SSARC_LP base address */
  78639. #define SSARC_LP_BASE (0x40CB8000u)
  78640. /** Peripheral SSARC_LP base pointer */
  78641. #define SSARC_LP ((SSARC_LP_Type *)SSARC_LP_BASE)
  78642. /** Array initializer of SSARC_LP peripheral base addresses */
  78643. #define SSARC_LP_BASE_ADDRS { SSARC_LP_BASE }
  78644. /** Array initializer of SSARC_LP peripheral base pointers */
  78645. #define SSARC_LP_BASE_PTRS { SSARC_LP }
  78646. /*!
  78647. * @}
  78648. */ /* end of group SSARC_LP_Peripheral_Access_Layer */
  78649. /* ----------------------------------------------------------------------------
  78650. -- TMPSNS Peripheral Access Layer
  78651. ---------------------------------------------------------------------------- */
  78652. /*!
  78653. * @addtogroup TMPSNS_Peripheral_Access_Layer TMPSNS Peripheral Access Layer
  78654. * @{
  78655. */
  78656. /** TMPSNS - Register Layout Typedef */
  78657. typedef struct {
  78658. __IO uint32_t CTRL0; /**< Temperature Sensor Control Register 0, offset: 0x0 */
  78659. __IO uint32_t CTRL0_SET; /**< Temperature Sensor Control Register 0, offset: 0x4 */
  78660. __IO uint32_t CTRL0_CLR; /**< Temperature Sensor Control Register 0, offset: 0x8 */
  78661. __IO uint32_t CTRL0_TOG; /**< Temperature Sensor Control Register 0, offset: 0xC */
  78662. __IO uint32_t CTRL1; /**< Temperature Sensor Control Register 1, offset: 0x10 */
  78663. __IO uint32_t CTRL1_SET; /**< Temperature Sensor Control Register 1, offset: 0x14 */
  78664. __IO uint32_t CTRL1_CLR; /**< Temperature Sensor Control Register 1, offset: 0x18 */
  78665. __IO uint32_t CTRL1_TOG; /**< Temperature Sensor Control Register 1, offset: 0x1C */
  78666. __IO uint32_t RANGE0; /**< Temperature Sensor Range Register 0, offset: 0x20 */
  78667. __IO uint32_t RANGE0_SET; /**< Temperature Sensor Range Register 0, offset: 0x24 */
  78668. __IO uint32_t RANGE0_CLR; /**< Temperature Sensor Range Register 0, offset: 0x28 */
  78669. __IO uint32_t RANGE0_TOG; /**< Temperature Sensor Range Register 0, offset: 0x2C */
  78670. __IO uint32_t RANGE1; /**< Temperature Sensor Range Register 1, offset: 0x30 */
  78671. __IO uint32_t RANGE1_SET; /**< Temperature Sensor Range Register 1, offset: 0x34 */
  78672. __IO uint32_t RANGE1_CLR; /**< Temperature Sensor Range Register 1, offset: 0x38 */
  78673. __IO uint32_t RANGE1_TOG; /**< Temperature Sensor Range Register 1, offset: 0x3C */
  78674. uint8_t RESERVED_0[16];
  78675. __IO uint32_t STATUS0; /**< Temperature Sensor Status Register 0, offset: 0x50 */
  78676. } TMPSNS_Type;
  78677. /* ----------------------------------------------------------------------------
  78678. -- TMPSNS Register Masks
  78679. ---------------------------------------------------------------------------- */
  78680. /*!
  78681. * @addtogroup TMPSNS_Register_Masks TMPSNS Register Masks
  78682. * @{
  78683. */
  78684. /*! @name CTRL0 - Temperature Sensor Control Register 0 */
  78685. /*! @{ */
  78686. #define TMPSNS_CTRL0_SLOPE_CAL_MASK (0x3FU)
  78687. #define TMPSNS_CTRL0_SLOPE_CAL_SHIFT (0U)
  78688. /*! SLOPE_CAL - Ramp slope calibration control
  78689. */
  78690. #define TMPSNS_CTRL0_SLOPE_CAL(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL0_SLOPE_CAL_SHIFT)) & TMPSNS_CTRL0_SLOPE_CAL_MASK)
  78691. #define TMPSNS_CTRL0_V_SEL_MASK (0x300U)
  78692. #define TMPSNS_CTRL0_V_SEL_SHIFT (8U)
  78693. /*! V_SEL - Voltage Select
  78694. * 0b00..Normal temperature measuring mode
  78695. * 0b01-0b10..Reserved
  78696. */
  78697. #define TMPSNS_CTRL0_V_SEL(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL0_V_SEL_SHIFT)) & TMPSNS_CTRL0_V_SEL_MASK)
  78698. #define TMPSNS_CTRL0_IBIAS_TRIM_MASK (0xF000U)
  78699. #define TMPSNS_CTRL0_IBIAS_TRIM_SHIFT (12U)
  78700. /*! IBIAS_TRIM - Current bias trim value
  78701. */
  78702. #define TMPSNS_CTRL0_IBIAS_TRIM(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL0_IBIAS_TRIM_SHIFT)) & TMPSNS_CTRL0_IBIAS_TRIM_MASK)
  78703. /*! @} */
  78704. /*! @name CTRL0_SET - Temperature Sensor Control Register 0 */
  78705. /*! @{ */
  78706. #define TMPSNS_CTRL0_SET_SLOPE_CAL_MASK (0x3FU)
  78707. #define TMPSNS_CTRL0_SET_SLOPE_CAL_SHIFT (0U)
  78708. /*! SLOPE_CAL - Ramp slope calibration control
  78709. */
  78710. #define TMPSNS_CTRL0_SET_SLOPE_CAL(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL0_SET_SLOPE_CAL_SHIFT)) & TMPSNS_CTRL0_SET_SLOPE_CAL_MASK)
  78711. #define TMPSNS_CTRL0_SET_V_SEL_MASK (0x300U)
  78712. #define TMPSNS_CTRL0_SET_V_SEL_SHIFT (8U)
  78713. /*! V_SEL - Voltage Select
  78714. */
  78715. #define TMPSNS_CTRL0_SET_V_SEL(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL0_SET_V_SEL_SHIFT)) & TMPSNS_CTRL0_SET_V_SEL_MASK)
  78716. #define TMPSNS_CTRL0_SET_IBIAS_TRIM_MASK (0xF000U)
  78717. #define TMPSNS_CTRL0_SET_IBIAS_TRIM_SHIFT (12U)
  78718. /*! IBIAS_TRIM - Current bias trim value
  78719. */
  78720. #define TMPSNS_CTRL0_SET_IBIAS_TRIM(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL0_SET_IBIAS_TRIM_SHIFT)) & TMPSNS_CTRL0_SET_IBIAS_TRIM_MASK)
  78721. /*! @} */
  78722. /*! @name CTRL0_CLR - Temperature Sensor Control Register 0 */
  78723. /*! @{ */
  78724. #define TMPSNS_CTRL0_CLR_SLOPE_CAL_MASK (0x3FU)
  78725. #define TMPSNS_CTRL0_CLR_SLOPE_CAL_SHIFT (0U)
  78726. /*! SLOPE_CAL - Ramp slope calibration control
  78727. */
  78728. #define TMPSNS_CTRL0_CLR_SLOPE_CAL(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL0_CLR_SLOPE_CAL_SHIFT)) & TMPSNS_CTRL0_CLR_SLOPE_CAL_MASK)
  78729. #define TMPSNS_CTRL0_CLR_V_SEL_MASK (0x300U)
  78730. #define TMPSNS_CTRL0_CLR_V_SEL_SHIFT (8U)
  78731. /*! V_SEL - Voltage Select
  78732. */
  78733. #define TMPSNS_CTRL0_CLR_V_SEL(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL0_CLR_V_SEL_SHIFT)) & TMPSNS_CTRL0_CLR_V_SEL_MASK)
  78734. #define TMPSNS_CTRL0_CLR_IBIAS_TRIM_MASK (0xF000U)
  78735. #define TMPSNS_CTRL0_CLR_IBIAS_TRIM_SHIFT (12U)
  78736. /*! IBIAS_TRIM - Current bias trim value
  78737. */
  78738. #define TMPSNS_CTRL0_CLR_IBIAS_TRIM(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL0_CLR_IBIAS_TRIM_SHIFT)) & TMPSNS_CTRL0_CLR_IBIAS_TRIM_MASK)
  78739. /*! @} */
  78740. /*! @name CTRL0_TOG - Temperature Sensor Control Register 0 */
  78741. /*! @{ */
  78742. #define TMPSNS_CTRL0_TOG_SLOPE_CAL_MASK (0x3FU)
  78743. #define TMPSNS_CTRL0_TOG_SLOPE_CAL_SHIFT (0U)
  78744. /*! SLOPE_CAL - Ramp slope calibration control
  78745. */
  78746. #define TMPSNS_CTRL0_TOG_SLOPE_CAL(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL0_TOG_SLOPE_CAL_SHIFT)) & TMPSNS_CTRL0_TOG_SLOPE_CAL_MASK)
  78747. #define TMPSNS_CTRL0_TOG_V_SEL_MASK (0x300U)
  78748. #define TMPSNS_CTRL0_TOG_V_SEL_SHIFT (8U)
  78749. /*! V_SEL - Voltage Select
  78750. */
  78751. #define TMPSNS_CTRL0_TOG_V_SEL(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL0_TOG_V_SEL_SHIFT)) & TMPSNS_CTRL0_TOG_V_SEL_MASK)
  78752. #define TMPSNS_CTRL0_TOG_IBIAS_TRIM_MASK (0xF000U)
  78753. #define TMPSNS_CTRL0_TOG_IBIAS_TRIM_SHIFT (12U)
  78754. /*! IBIAS_TRIM - Current bias trim value
  78755. */
  78756. #define TMPSNS_CTRL0_TOG_IBIAS_TRIM(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL0_TOG_IBIAS_TRIM_SHIFT)) & TMPSNS_CTRL0_TOG_IBIAS_TRIM_MASK)
  78757. /*! @} */
  78758. /*! @name CTRL1 - Temperature Sensor Control Register 1 */
  78759. /*! @{ */
  78760. #define TMPSNS_CTRL1_FREQ_MASK (0xFFFFU)
  78761. #define TMPSNS_CTRL1_FREQ_SHIFT (0U)
  78762. /*! FREQ - Temperature Measurement Frequency
  78763. * 0b0000000000000000..Single Reading Mode. New reading available every time CTRL1[START] bit is set to 1 from 0.
  78764. * 0b0000000000000001-0b1111111111111111..Continuous Reading Mode. Next temperature reading taken after programmed number of cycles after current reading is complete.
  78765. */
  78766. #define TMPSNS_CTRL1_FREQ(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_FREQ_SHIFT)) & TMPSNS_CTRL1_FREQ_MASK)
  78767. #define TMPSNS_CTRL1_FINISH_IE_MASK (0x10000U)
  78768. #define TMPSNS_CTRL1_FINISH_IE_SHIFT (16U)
  78769. /*! FINISH_IE - Measurement finished interrupt enable
  78770. * 0b0..Interrupt is disabled
  78771. * 0b1..Interrupt is enabled
  78772. */
  78773. #define TMPSNS_CTRL1_FINISH_IE(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_FINISH_IE_SHIFT)) & TMPSNS_CTRL1_FINISH_IE_MASK)
  78774. #define TMPSNS_CTRL1_LOW_TEMP_IE_MASK (0x20000U)
  78775. #define TMPSNS_CTRL1_LOW_TEMP_IE_SHIFT (17U)
  78776. /*! LOW_TEMP_IE - Low temperature interrupt enable
  78777. * 0b0..Interrupt is disabled
  78778. * 0b1..Interrupt is enabled
  78779. */
  78780. #define TMPSNS_CTRL1_LOW_TEMP_IE(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_LOW_TEMP_IE_SHIFT)) & TMPSNS_CTRL1_LOW_TEMP_IE_MASK)
  78781. #define TMPSNS_CTRL1_HIGH_TEMP_IE_MASK (0x40000U)
  78782. #define TMPSNS_CTRL1_HIGH_TEMP_IE_SHIFT (18U)
  78783. /*! HIGH_TEMP_IE - High temperature interrupt enable
  78784. * 0b0..Interrupt is disabled
  78785. * 0b1..Interrupt is enabled
  78786. */
  78787. #define TMPSNS_CTRL1_HIGH_TEMP_IE(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_HIGH_TEMP_IE_SHIFT)) & TMPSNS_CTRL1_HIGH_TEMP_IE_MASK)
  78788. #define TMPSNS_CTRL1_PANIC_TEMP_IE_MASK (0x80000U)
  78789. #define TMPSNS_CTRL1_PANIC_TEMP_IE_SHIFT (19U)
  78790. /*! PANIC_TEMP_IE - Panic temperature interrupt enable
  78791. * 0b0..Interrupt is disabled
  78792. * 0b1..Interrupt is enabled
  78793. */
  78794. #define TMPSNS_CTRL1_PANIC_TEMP_IE(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_PANIC_TEMP_IE_SHIFT)) & TMPSNS_CTRL1_PANIC_TEMP_IE_MASK)
  78795. #define TMPSNS_CTRL1_START_MASK (0x400000U)
  78796. #define TMPSNS_CTRL1_START_SHIFT (22U)
  78797. /*! START - Start Temperature Measurement
  78798. * 0b0..No new temperature reading taken
  78799. * 0b1..Initiate a new temperature reading
  78800. */
  78801. #define TMPSNS_CTRL1_START(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_START_SHIFT)) & TMPSNS_CTRL1_START_MASK)
  78802. #define TMPSNS_CTRL1_PWD_MASK (0x800000U)
  78803. #define TMPSNS_CTRL1_PWD_SHIFT (23U)
  78804. /*! PWD - Temperature Sensor Power Down
  78805. * 0b0..Sensor is active
  78806. * 0b1..Sensor is powered down
  78807. */
  78808. #define TMPSNS_CTRL1_PWD(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_PWD_SHIFT)) & TMPSNS_CTRL1_PWD_MASK)
  78809. #define TMPSNS_CTRL1_RFU_MASK (0x7F000000U)
  78810. #define TMPSNS_CTRL1_RFU_SHIFT (24U)
  78811. /*! RFU - Read/Writeable field. Reserved for future use
  78812. */
  78813. #define TMPSNS_CTRL1_RFU(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_RFU_SHIFT)) & TMPSNS_CTRL1_RFU_MASK)
  78814. #define TMPSNS_CTRL1_PWD_FULL_MASK (0x80000000U)
  78815. #define TMPSNS_CTRL1_PWD_FULL_SHIFT (31U)
  78816. /*! PWD_FULL - Temperature Sensor Full Power Down
  78817. * 0b0..Sensor is active
  78818. * 0b1..Sensor is powered down
  78819. */
  78820. #define TMPSNS_CTRL1_PWD_FULL(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_PWD_FULL_SHIFT)) & TMPSNS_CTRL1_PWD_FULL_MASK)
  78821. /*! @} */
  78822. /*! @name CTRL1_SET - Temperature Sensor Control Register 1 */
  78823. /*! @{ */
  78824. #define TMPSNS_CTRL1_SET_FREQ_MASK (0xFFFFU)
  78825. #define TMPSNS_CTRL1_SET_FREQ_SHIFT (0U)
  78826. /*! FREQ - Temperature Measurement Frequency
  78827. */
  78828. #define TMPSNS_CTRL1_SET_FREQ(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_SET_FREQ_SHIFT)) & TMPSNS_CTRL1_SET_FREQ_MASK)
  78829. #define TMPSNS_CTRL1_SET_FINISH_IE_MASK (0x10000U)
  78830. #define TMPSNS_CTRL1_SET_FINISH_IE_SHIFT (16U)
  78831. /*! FINISH_IE - Measurement finished interrupt enable
  78832. */
  78833. #define TMPSNS_CTRL1_SET_FINISH_IE(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_SET_FINISH_IE_SHIFT)) & TMPSNS_CTRL1_SET_FINISH_IE_MASK)
  78834. #define TMPSNS_CTRL1_SET_LOW_TEMP_IE_MASK (0x20000U)
  78835. #define TMPSNS_CTRL1_SET_LOW_TEMP_IE_SHIFT (17U)
  78836. /*! LOW_TEMP_IE - Low temperature interrupt enable
  78837. */
  78838. #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)
  78839. #define TMPSNS_CTRL1_SET_HIGH_TEMP_IE_MASK (0x40000U)
  78840. #define TMPSNS_CTRL1_SET_HIGH_TEMP_IE_SHIFT (18U)
  78841. /*! HIGH_TEMP_IE - High temperature interrupt enable
  78842. */
  78843. #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)
  78844. #define TMPSNS_CTRL1_SET_PANIC_TEMP_IE_MASK (0x80000U)
  78845. #define TMPSNS_CTRL1_SET_PANIC_TEMP_IE_SHIFT (19U)
  78846. /*! PANIC_TEMP_IE - Panic temperature interrupt enable
  78847. */
  78848. #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)
  78849. #define TMPSNS_CTRL1_SET_START_MASK (0x400000U)
  78850. #define TMPSNS_CTRL1_SET_START_SHIFT (22U)
  78851. /*! START - Start Temperature Measurement
  78852. */
  78853. #define TMPSNS_CTRL1_SET_START(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_SET_START_SHIFT)) & TMPSNS_CTRL1_SET_START_MASK)
  78854. #define TMPSNS_CTRL1_SET_PWD_MASK (0x800000U)
  78855. #define TMPSNS_CTRL1_SET_PWD_SHIFT (23U)
  78856. /*! PWD - Temperature Sensor Power Down
  78857. */
  78858. #define TMPSNS_CTRL1_SET_PWD(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_SET_PWD_SHIFT)) & TMPSNS_CTRL1_SET_PWD_MASK)
  78859. #define TMPSNS_CTRL1_SET_RFU_MASK (0x7F000000U)
  78860. #define TMPSNS_CTRL1_SET_RFU_SHIFT (24U)
  78861. /*! RFU - Read/Writeable field. Reserved for future use
  78862. */
  78863. #define TMPSNS_CTRL1_SET_RFU(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_SET_RFU_SHIFT)) & TMPSNS_CTRL1_SET_RFU_MASK)
  78864. #define TMPSNS_CTRL1_SET_PWD_FULL_MASK (0x80000000U)
  78865. #define TMPSNS_CTRL1_SET_PWD_FULL_SHIFT (31U)
  78866. /*! PWD_FULL - Temperature Sensor Full Power Down
  78867. */
  78868. #define TMPSNS_CTRL1_SET_PWD_FULL(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_SET_PWD_FULL_SHIFT)) & TMPSNS_CTRL1_SET_PWD_FULL_MASK)
  78869. /*! @} */
  78870. /*! @name CTRL1_CLR - Temperature Sensor Control Register 1 */
  78871. /*! @{ */
  78872. #define TMPSNS_CTRL1_CLR_FREQ_MASK (0xFFFFU)
  78873. #define TMPSNS_CTRL1_CLR_FREQ_SHIFT (0U)
  78874. /*! FREQ - Temperature Measurement Frequency
  78875. */
  78876. #define TMPSNS_CTRL1_CLR_FREQ(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_CLR_FREQ_SHIFT)) & TMPSNS_CTRL1_CLR_FREQ_MASK)
  78877. #define TMPSNS_CTRL1_CLR_FINISH_IE_MASK (0x10000U)
  78878. #define TMPSNS_CTRL1_CLR_FINISH_IE_SHIFT (16U)
  78879. /*! FINISH_IE - Measurement finished interrupt enable
  78880. */
  78881. #define TMPSNS_CTRL1_CLR_FINISH_IE(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_CLR_FINISH_IE_SHIFT)) & TMPSNS_CTRL1_CLR_FINISH_IE_MASK)
  78882. #define TMPSNS_CTRL1_CLR_LOW_TEMP_IE_MASK (0x20000U)
  78883. #define TMPSNS_CTRL1_CLR_LOW_TEMP_IE_SHIFT (17U)
  78884. /*! LOW_TEMP_IE - Low temperature interrupt enable
  78885. */
  78886. #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)
  78887. #define TMPSNS_CTRL1_CLR_HIGH_TEMP_IE_MASK (0x40000U)
  78888. #define TMPSNS_CTRL1_CLR_HIGH_TEMP_IE_SHIFT (18U)
  78889. /*! HIGH_TEMP_IE - High temperature interrupt enable
  78890. */
  78891. #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)
  78892. #define TMPSNS_CTRL1_CLR_PANIC_TEMP_IE_MASK (0x80000U)
  78893. #define TMPSNS_CTRL1_CLR_PANIC_TEMP_IE_SHIFT (19U)
  78894. /*! PANIC_TEMP_IE - Panic temperature interrupt enable
  78895. */
  78896. #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)
  78897. #define TMPSNS_CTRL1_CLR_START_MASK (0x400000U)
  78898. #define TMPSNS_CTRL1_CLR_START_SHIFT (22U)
  78899. /*! START - Start Temperature Measurement
  78900. */
  78901. #define TMPSNS_CTRL1_CLR_START(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_CLR_START_SHIFT)) & TMPSNS_CTRL1_CLR_START_MASK)
  78902. #define TMPSNS_CTRL1_CLR_PWD_MASK (0x800000U)
  78903. #define TMPSNS_CTRL1_CLR_PWD_SHIFT (23U)
  78904. /*! PWD - Temperature Sensor Power Down
  78905. */
  78906. #define TMPSNS_CTRL1_CLR_PWD(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_CLR_PWD_SHIFT)) & TMPSNS_CTRL1_CLR_PWD_MASK)
  78907. #define TMPSNS_CTRL1_CLR_RFU_MASK (0x7F000000U)
  78908. #define TMPSNS_CTRL1_CLR_RFU_SHIFT (24U)
  78909. /*! RFU - Read/Writeable field. Reserved for future use
  78910. */
  78911. #define TMPSNS_CTRL1_CLR_RFU(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_CLR_RFU_SHIFT)) & TMPSNS_CTRL1_CLR_RFU_MASK)
  78912. #define TMPSNS_CTRL1_CLR_PWD_FULL_MASK (0x80000000U)
  78913. #define TMPSNS_CTRL1_CLR_PWD_FULL_SHIFT (31U)
  78914. /*! PWD_FULL - Temperature Sensor Full Power Down
  78915. */
  78916. #define TMPSNS_CTRL1_CLR_PWD_FULL(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_CLR_PWD_FULL_SHIFT)) & TMPSNS_CTRL1_CLR_PWD_FULL_MASK)
  78917. /*! @} */
  78918. /*! @name CTRL1_TOG - Temperature Sensor Control Register 1 */
  78919. /*! @{ */
  78920. #define TMPSNS_CTRL1_TOG_FREQ_MASK (0xFFFFU)
  78921. #define TMPSNS_CTRL1_TOG_FREQ_SHIFT (0U)
  78922. /*! FREQ - Temperature Measurement Frequency
  78923. */
  78924. #define TMPSNS_CTRL1_TOG_FREQ(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_TOG_FREQ_SHIFT)) & TMPSNS_CTRL1_TOG_FREQ_MASK)
  78925. #define TMPSNS_CTRL1_TOG_FINISH_IE_MASK (0x10000U)
  78926. #define TMPSNS_CTRL1_TOG_FINISH_IE_SHIFT (16U)
  78927. /*! FINISH_IE - Measurement finished interrupt enable
  78928. */
  78929. #define TMPSNS_CTRL1_TOG_FINISH_IE(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_TOG_FINISH_IE_SHIFT)) & TMPSNS_CTRL1_TOG_FINISH_IE_MASK)
  78930. #define TMPSNS_CTRL1_TOG_LOW_TEMP_IE_MASK (0x20000U)
  78931. #define TMPSNS_CTRL1_TOG_LOW_TEMP_IE_SHIFT (17U)
  78932. /*! LOW_TEMP_IE - Low temperature interrupt enable
  78933. */
  78934. #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)
  78935. #define TMPSNS_CTRL1_TOG_HIGH_TEMP_IE_MASK (0x40000U)
  78936. #define TMPSNS_CTRL1_TOG_HIGH_TEMP_IE_SHIFT (18U)
  78937. /*! HIGH_TEMP_IE - High temperature interrupt enable
  78938. */
  78939. #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)
  78940. #define TMPSNS_CTRL1_TOG_PANIC_TEMP_IE_MASK (0x80000U)
  78941. #define TMPSNS_CTRL1_TOG_PANIC_TEMP_IE_SHIFT (19U)
  78942. /*! PANIC_TEMP_IE - Panic temperature interrupt enable
  78943. */
  78944. #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)
  78945. #define TMPSNS_CTRL1_TOG_START_MASK (0x400000U)
  78946. #define TMPSNS_CTRL1_TOG_START_SHIFT (22U)
  78947. /*! START - Start Temperature Measurement
  78948. */
  78949. #define TMPSNS_CTRL1_TOG_START(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_TOG_START_SHIFT)) & TMPSNS_CTRL1_TOG_START_MASK)
  78950. #define TMPSNS_CTRL1_TOG_PWD_MASK (0x800000U)
  78951. #define TMPSNS_CTRL1_TOG_PWD_SHIFT (23U)
  78952. /*! PWD - Temperature Sensor Power Down
  78953. */
  78954. #define TMPSNS_CTRL1_TOG_PWD(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_TOG_PWD_SHIFT)) & TMPSNS_CTRL1_TOG_PWD_MASK)
  78955. #define TMPSNS_CTRL1_TOG_RFU_MASK (0x7F000000U)
  78956. #define TMPSNS_CTRL1_TOG_RFU_SHIFT (24U)
  78957. /*! RFU - Read/Writeable field. Reserved for future use
  78958. */
  78959. #define TMPSNS_CTRL1_TOG_RFU(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_TOG_RFU_SHIFT)) & TMPSNS_CTRL1_TOG_RFU_MASK)
  78960. #define TMPSNS_CTRL1_TOG_PWD_FULL_MASK (0x80000000U)
  78961. #define TMPSNS_CTRL1_TOG_PWD_FULL_SHIFT (31U)
  78962. /*! PWD_FULL - Temperature Sensor Full Power Down
  78963. */
  78964. #define TMPSNS_CTRL1_TOG_PWD_FULL(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_TOG_PWD_FULL_SHIFT)) & TMPSNS_CTRL1_TOG_PWD_FULL_MASK)
  78965. /*! @} */
  78966. /*! @name RANGE0 - Temperature Sensor Range Register 0 */
  78967. /*! @{ */
  78968. #define TMPSNS_RANGE0_LOW_TEMP_VAL_MASK (0xFFFU)
  78969. #define TMPSNS_RANGE0_LOW_TEMP_VAL_SHIFT (0U)
  78970. /*! LOW_TEMP_VAL - Low temperature threshold value
  78971. */
  78972. #define TMPSNS_RANGE0_LOW_TEMP_VAL(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_RANGE0_LOW_TEMP_VAL_SHIFT)) & TMPSNS_RANGE0_LOW_TEMP_VAL_MASK)
  78973. #define TMPSNS_RANGE0_HIGH_TEMP_VAL_MASK (0xFFF0000U)
  78974. #define TMPSNS_RANGE0_HIGH_TEMP_VAL_SHIFT (16U)
  78975. /*! HIGH_TEMP_VAL - High temperature threshold value
  78976. */
  78977. #define TMPSNS_RANGE0_HIGH_TEMP_VAL(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_RANGE0_HIGH_TEMP_VAL_SHIFT)) & TMPSNS_RANGE0_HIGH_TEMP_VAL_MASK)
  78978. /*! @} */
  78979. /*! @name RANGE0_SET - Temperature Sensor Range Register 0 */
  78980. /*! @{ */
  78981. #define TMPSNS_RANGE0_SET_LOW_TEMP_VAL_MASK (0xFFFU)
  78982. #define TMPSNS_RANGE0_SET_LOW_TEMP_VAL_SHIFT (0U)
  78983. /*! LOW_TEMP_VAL - Low temperature threshold value
  78984. */
  78985. #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)
  78986. #define TMPSNS_RANGE0_SET_HIGH_TEMP_VAL_MASK (0xFFF0000U)
  78987. #define TMPSNS_RANGE0_SET_HIGH_TEMP_VAL_SHIFT (16U)
  78988. /*! HIGH_TEMP_VAL - High temperature threshold value
  78989. */
  78990. #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)
  78991. /*! @} */
  78992. /*! @name RANGE0_CLR - Temperature Sensor Range Register 0 */
  78993. /*! @{ */
  78994. #define TMPSNS_RANGE0_CLR_LOW_TEMP_VAL_MASK (0xFFFU)
  78995. #define TMPSNS_RANGE0_CLR_LOW_TEMP_VAL_SHIFT (0U)
  78996. /*! LOW_TEMP_VAL - Low temperature threshold value
  78997. */
  78998. #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)
  78999. #define TMPSNS_RANGE0_CLR_HIGH_TEMP_VAL_MASK (0xFFF0000U)
  79000. #define TMPSNS_RANGE0_CLR_HIGH_TEMP_VAL_SHIFT (16U)
  79001. /*! HIGH_TEMP_VAL - High temperature threshold value
  79002. */
  79003. #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)
  79004. /*! @} */
  79005. /*! @name RANGE0_TOG - Temperature Sensor Range Register 0 */
  79006. /*! @{ */
  79007. #define TMPSNS_RANGE0_TOG_LOW_TEMP_VAL_MASK (0xFFFU)
  79008. #define TMPSNS_RANGE0_TOG_LOW_TEMP_VAL_SHIFT (0U)
  79009. /*! LOW_TEMP_VAL - Low temperature threshold value
  79010. */
  79011. #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)
  79012. #define TMPSNS_RANGE0_TOG_HIGH_TEMP_VAL_MASK (0xFFF0000U)
  79013. #define TMPSNS_RANGE0_TOG_HIGH_TEMP_VAL_SHIFT (16U)
  79014. /*! HIGH_TEMP_VAL - High temperature threshold value
  79015. */
  79016. #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)
  79017. /*! @} */
  79018. /*! @name RANGE1 - Temperature Sensor Range Register 1 */
  79019. /*! @{ */
  79020. #define TMPSNS_RANGE1_PANIC_TEMP_VAL_MASK (0xFFFU)
  79021. #define TMPSNS_RANGE1_PANIC_TEMP_VAL_SHIFT (0U)
  79022. /*! PANIC_TEMP_VAL - Panic temperature threshold value
  79023. */
  79024. #define TMPSNS_RANGE1_PANIC_TEMP_VAL(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_RANGE1_PANIC_TEMP_VAL_SHIFT)) & TMPSNS_RANGE1_PANIC_TEMP_VAL_MASK)
  79025. /*! @} */
  79026. /*! @name RANGE1_SET - Temperature Sensor Range Register 1 */
  79027. /*! @{ */
  79028. #define TMPSNS_RANGE1_SET_PANIC_TEMP_VAL_MASK (0xFFFU)
  79029. #define TMPSNS_RANGE1_SET_PANIC_TEMP_VAL_SHIFT (0U)
  79030. /*! PANIC_TEMP_VAL - Panic temperature threshold value
  79031. */
  79032. #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)
  79033. /*! @} */
  79034. /*! @name RANGE1_CLR - Temperature Sensor Range Register 1 */
  79035. /*! @{ */
  79036. #define TMPSNS_RANGE1_CLR_PANIC_TEMP_VAL_MASK (0xFFFU)
  79037. #define TMPSNS_RANGE1_CLR_PANIC_TEMP_VAL_SHIFT (0U)
  79038. /*! PANIC_TEMP_VAL - Panic temperature threshold value
  79039. */
  79040. #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)
  79041. /*! @} */
  79042. /*! @name RANGE1_TOG - Temperature Sensor Range Register 1 */
  79043. /*! @{ */
  79044. #define TMPSNS_RANGE1_TOG_PANIC_TEMP_VAL_MASK (0xFFFU)
  79045. #define TMPSNS_RANGE1_TOG_PANIC_TEMP_VAL_SHIFT (0U)
  79046. /*! PANIC_TEMP_VAL - Panic temperature threshold value
  79047. */
  79048. #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)
  79049. /*! @} */
  79050. /*! @name STATUS0 - Temperature Sensor Status Register 0 */
  79051. /*! @{ */
  79052. #define TMPSNS_STATUS0_TEMP_VAL_MASK (0xFFFU)
  79053. #define TMPSNS_STATUS0_TEMP_VAL_SHIFT (0U)
  79054. /*! TEMP_VAL - Measured temperature value
  79055. */
  79056. #define TMPSNS_STATUS0_TEMP_VAL(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_STATUS0_TEMP_VAL_SHIFT)) & TMPSNS_STATUS0_TEMP_VAL_MASK)
  79057. #define TMPSNS_STATUS0_FINISH_MASK (0x10000U)
  79058. #define TMPSNS_STATUS0_FINISH_SHIFT (16U)
  79059. /*! FINISH - Temperature measurement complete
  79060. * 0b0..Temperature sensor is busy (if CTRL1[START] = 1)or no new reading has been initiated (if CTRL1[START] = 0)
  79061. * 0b1..Temperature reading is complete and new temperature value available for reading
  79062. */
  79063. #define TMPSNS_STATUS0_FINISH(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_STATUS0_FINISH_SHIFT)) & TMPSNS_STATUS0_FINISH_MASK)
  79064. #define TMPSNS_STATUS0_LOW_TEMP_MASK (0x20000U)
  79065. #define TMPSNS_STATUS0_LOW_TEMP_SHIFT (17U)
  79066. /*! LOW_TEMP - Low temperature alarm bit
  79067. * 0b0..No Low temperature alert
  79068. * 0b1..Low temperature alert
  79069. */
  79070. #define TMPSNS_STATUS0_LOW_TEMP(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_STATUS0_LOW_TEMP_SHIFT)) & TMPSNS_STATUS0_LOW_TEMP_MASK)
  79071. #define TMPSNS_STATUS0_HIGH_TEMP_MASK (0x40000U)
  79072. #define TMPSNS_STATUS0_HIGH_TEMP_SHIFT (18U)
  79073. /*! HIGH_TEMP - High temperature alarm bit
  79074. * 0b0..No High temperature alert
  79075. * 0b1..High temperature alert
  79076. */
  79077. #define TMPSNS_STATUS0_HIGH_TEMP(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_STATUS0_HIGH_TEMP_SHIFT)) & TMPSNS_STATUS0_HIGH_TEMP_MASK)
  79078. #define TMPSNS_STATUS0_PANIC_TEMP_MASK (0x80000U)
  79079. #define TMPSNS_STATUS0_PANIC_TEMP_SHIFT (19U)
  79080. /*! PANIC_TEMP - Panic temperature alarm bit
  79081. * 0b0..No Panic temperature alert
  79082. * 0b1..Panic temperature alert
  79083. */
  79084. #define TMPSNS_STATUS0_PANIC_TEMP(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_STATUS0_PANIC_TEMP_SHIFT)) & TMPSNS_STATUS0_PANIC_TEMP_MASK)
  79085. /*! @} */
  79086. /*!
  79087. * @}
  79088. */ /* end of group TMPSNS_Register_Masks */
  79089. /* TMPSNS - Peripheral instance base addresses */
  79090. /** Peripheral TMPSNS base address */
  79091. #define TMPSNS_BASE (0u)
  79092. /** Peripheral TMPSNS base pointer */
  79093. #define TMPSNS ((TMPSNS_Type *)TMPSNS_BASE)
  79094. /** Array initializer of TMPSNS peripheral base addresses */
  79095. #define TMPSNS_BASE_ADDRS { TMPSNS_BASE }
  79096. /** Array initializer of TMPSNS peripheral base pointers */
  79097. #define TMPSNS_BASE_PTRS { TMPSNS }
  79098. /*!
  79099. * @}
  79100. */ /* end of group TMPSNS_Peripheral_Access_Layer */
  79101. /* ----------------------------------------------------------------------------
  79102. -- TMR Peripheral Access Layer
  79103. ---------------------------------------------------------------------------- */
  79104. /*!
  79105. * @addtogroup TMR_Peripheral_Access_Layer TMR Peripheral Access Layer
  79106. * @{
  79107. */
  79108. /** TMR - Register Layout Typedef */
  79109. typedef struct {
  79110. struct { /* offset: 0x0, array step: 0x20 */
  79111. __IO uint16_t COMP1; /**< Timer Channel Compare Register 1, array offset: 0x0, array step: 0x20 */
  79112. __IO uint16_t COMP2; /**< Timer Channel Compare Register 2, array offset: 0x2, array step: 0x20 */
  79113. __IO uint16_t CAPT; /**< Timer Channel Capture Register, array offset: 0x4, array step: 0x20 */
  79114. __IO uint16_t LOAD; /**< Timer Channel Load Register, array offset: 0x6, array step: 0x20 */
  79115. __IO uint16_t HOLD; /**< Timer Channel Hold Register, array offset: 0x8, array step: 0x20 */
  79116. __IO uint16_t CNTR; /**< Timer Channel Counter Register, array offset: 0xA, array step: 0x20 */
  79117. __IO uint16_t CTRL; /**< Timer Channel Control Register, array offset: 0xC, array step: 0x20 */
  79118. __IO uint16_t SCTRL; /**< Timer Channel Status and Control Register, array offset: 0xE, array step: 0x20 */
  79119. __IO uint16_t CMPLD1; /**< Timer Channel Comparator Load Register 1, array offset: 0x10, array step: 0x20 */
  79120. __IO uint16_t CMPLD2; /**< Timer Channel Comparator Load Register 2, array offset: 0x12, array step: 0x20 */
  79121. __IO uint16_t CSCTRL; /**< Timer Channel Comparator Status and Control Register, array offset: 0x14, array step: 0x20 */
  79122. __IO uint16_t FILT; /**< Timer Channel Input Filter Register, array offset: 0x16, array step: 0x20 */
  79123. __IO uint16_t DMA; /**< Timer Channel DMA Enable Register, array offset: 0x18, array step: 0x20 */
  79124. uint8_t RESERVED_0[4];
  79125. __IO uint16_t ENBL; /**< Timer Channel Enable Register, array offset: 0x1E, array step: 0x20, this item is not available for all array instances */
  79126. } CHANNEL[4];
  79127. } TMR_Type;
  79128. /* ----------------------------------------------------------------------------
  79129. -- TMR Register Masks
  79130. ---------------------------------------------------------------------------- */
  79131. /*!
  79132. * @addtogroup TMR_Register_Masks TMR Register Masks
  79133. * @{
  79134. */
  79135. /*! @name COMP1 - Timer Channel Compare Register 1 */
  79136. /*! @{ */
  79137. #define TMR_COMP1_COMPARISON_1_MASK (0xFFFFU)
  79138. #define TMR_COMP1_COMPARISON_1_SHIFT (0U)
  79139. /*! COMPARISON_1 - Comparison Value 1
  79140. */
  79141. #define TMR_COMP1_COMPARISON_1(x) (((uint16_t)(((uint16_t)(x)) << TMR_COMP1_COMPARISON_1_SHIFT)) & TMR_COMP1_COMPARISON_1_MASK)
  79142. /*! @} */
  79143. /* The count of TMR_COMP1 */
  79144. #define TMR_COMP1_COUNT (4U)
  79145. /*! @name COMP2 - Timer Channel Compare Register 2 */
  79146. /*! @{ */
  79147. #define TMR_COMP2_COMPARISON_2_MASK (0xFFFFU)
  79148. #define TMR_COMP2_COMPARISON_2_SHIFT (0U)
  79149. /*! COMPARISON_2 - Comparison Value 2
  79150. */
  79151. #define TMR_COMP2_COMPARISON_2(x) (((uint16_t)(((uint16_t)(x)) << TMR_COMP2_COMPARISON_2_SHIFT)) & TMR_COMP2_COMPARISON_2_MASK)
  79152. /*! @} */
  79153. /* The count of TMR_COMP2 */
  79154. #define TMR_COMP2_COUNT (4U)
  79155. /*! @name CAPT - Timer Channel Capture Register */
  79156. /*! @{ */
  79157. #define TMR_CAPT_CAPTURE_MASK (0xFFFFU)
  79158. #define TMR_CAPT_CAPTURE_SHIFT (0U)
  79159. /*! CAPTURE - Capture Value
  79160. */
  79161. #define TMR_CAPT_CAPTURE(x) (((uint16_t)(((uint16_t)(x)) << TMR_CAPT_CAPTURE_SHIFT)) & TMR_CAPT_CAPTURE_MASK)
  79162. /*! @} */
  79163. /* The count of TMR_CAPT */
  79164. #define TMR_CAPT_COUNT (4U)
  79165. /*! @name LOAD - Timer Channel Load Register */
  79166. /*! @{ */
  79167. #define TMR_LOAD_LOAD_MASK (0xFFFFU)
  79168. #define TMR_LOAD_LOAD_SHIFT (0U)
  79169. /*! LOAD - Timer Load Register
  79170. */
  79171. #define TMR_LOAD_LOAD(x) (((uint16_t)(((uint16_t)(x)) << TMR_LOAD_LOAD_SHIFT)) & TMR_LOAD_LOAD_MASK)
  79172. /*! @} */
  79173. /* The count of TMR_LOAD */
  79174. #define TMR_LOAD_COUNT (4U)
  79175. /*! @name HOLD - Timer Channel Hold Register */
  79176. /*! @{ */
  79177. #define TMR_HOLD_HOLD_MASK (0xFFFFU)
  79178. #define TMR_HOLD_HOLD_SHIFT (0U)
  79179. /*! HOLD - HOLD
  79180. */
  79181. #define TMR_HOLD_HOLD(x) (((uint16_t)(((uint16_t)(x)) << TMR_HOLD_HOLD_SHIFT)) & TMR_HOLD_HOLD_MASK)
  79182. /*! @} */
  79183. /* The count of TMR_HOLD */
  79184. #define TMR_HOLD_COUNT (4U)
  79185. /*! @name CNTR - Timer Channel Counter Register */
  79186. /*! @{ */
  79187. #define TMR_CNTR_COUNTER_MASK (0xFFFFU)
  79188. #define TMR_CNTR_COUNTER_SHIFT (0U)
  79189. /*! COUNTER - COUNTER
  79190. */
  79191. #define TMR_CNTR_COUNTER(x) (((uint16_t)(((uint16_t)(x)) << TMR_CNTR_COUNTER_SHIFT)) & TMR_CNTR_COUNTER_MASK)
  79192. /*! @} */
  79193. /* The count of TMR_CNTR */
  79194. #define TMR_CNTR_COUNT (4U)
  79195. /*! @name CTRL - Timer Channel Control Register */
  79196. /*! @{ */
  79197. #define TMR_CTRL_OUTMODE_MASK (0x7U)
  79198. #define TMR_CTRL_OUTMODE_SHIFT (0U)
  79199. /*! OUTMODE - Output Mode
  79200. * 0b000..Asserted while counter is active
  79201. * 0b001..Clear OFLAG output on successful compare
  79202. * 0b010..Set OFLAG output on successful compare
  79203. * 0b011..Toggle OFLAG output on successful compare
  79204. * 0b100..Toggle OFLAG output using alternating compare registers
  79205. * 0b101..Set on compare, cleared on secondary source input edge
  79206. * 0b110..Set on compare, cleared on counter rollover
  79207. * 0b111..Enable gated clock output while counter is active
  79208. */
  79209. #define TMR_CTRL_OUTMODE(x) (((uint16_t)(((uint16_t)(x)) << TMR_CTRL_OUTMODE_SHIFT)) & TMR_CTRL_OUTMODE_MASK)
  79210. #define TMR_CTRL_COINIT_MASK (0x8U)
  79211. #define TMR_CTRL_COINIT_SHIFT (3U)
  79212. /*! COINIT - Co-Channel Initialization
  79213. * 0b0..Co-channel counter/timers cannot force a re-initialization of this counter/timer
  79214. * 0b1..Co-channel counter/timers may force a re-initialization of this counter/timer
  79215. */
  79216. #define TMR_CTRL_COINIT(x) (((uint16_t)(((uint16_t)(x)) << TMR_CTRL_COINIT_SHIFT)) & TMR_CTRL_COINIT_MASK)
  79217. #define TMR_CTRL_DIR_MASK (0x10U)
  79218. #define TMR_CTRL_DIR_SHIFT (4U)
  79219. /*! DIR - Count Direction
  79220. * 0b0..Count up.
  79221. * 0b1..Count down.
  79222. */
  79223. #define TMR_CTRL_DIR(x) (((uint16_t)(((uint16_t)(x)) << TMR_CTRL_DIR_SHIFT)) & TMR_CTRL_DIR_MASK)
  79224. #define TMR_CTRL_LENGTH_MASK (0x20U)
  79225. #define TMR_CTRL_LENGTH_SHIFT (5U)
  79226. /*! LENGTH - Count Length
  79227. * 0b0..Count until roll over at $FFFF and continue from $0000.
  79228. * 0b1..Count until compare, then re-initialize. If counting up, a successful compare occurs when the counter
  79229. * reaches a COMP1 value. If counting down, a successful compare occurs when the counter reaches a COMP2 value.
  79230. * When output mode $4 is used, alternating values of COMP1 and COMP2 are used to generate successful
  79231. * comparisons. For example, the counter counts until a COMP1 value is reached, re-initializes, counts until COMP2
  79232. * value is reached, re-initializes, counts until COMP1 value is reached, and so on.
  79233. */
  79234. #define TMR_CTRL_LENGTH(x) (((uint16_t)(((uint16_t)(x)) << TMR_CTRL_LENGTH_SHIFT)) & TMR_CTRL_LENGTH_MASK)
  79235. #define TMR_CTRL_ONCE_MASK (0x40U)
  79236. #define TMR_CTRL_ONCE_SHIFT (6U)
  79237. /*! ONCE - Count Once
  79238. * 0b0..Count repeatedly.
  79239. * 0b1..Count until compare and then stop. If counting up, a successful compare occurs when the counter reaches a
  79240. * COMP1 value. If counting down, a successful compare occurs when the counter reaches a COMP2 value. When
  79241. * output mode $4 is used, the counter re-initializes after reaching the COMP1 value, continues to count to
  79242. * the COMP2 value, and then stops.
  79243. */
  79244. #define TMR_CTRL_ONCE(x) (((uint16_t)(((uint16_t)(x)) << TMR_CTRL_ONCE_SHIFT)) & TMR_CTRL_ONCE_MASK)
  79245. #define TMR_CTRL_SCS_MASK (0x180U)
  79246. #define TMR_CTRL_SCS_SHIFT (7U)
  79247. /*! SCS - Secondary Count Source
  79248. * 0b00..Counter 0 input pin
  79249. * 0b01..Counter 1 input pin
  79250. * 0b10..Counter 2 input pin
  79251. * 0b11..Counter 3 input pin
  79252. */
  79253. #define TMR_CTRL_SCS(x) (((uint16_t)(((uint16_t)(x)) << TMR_CTRL_SCS_SHIFT)) & TMR_CTRL_SCS_MASK)
  79254. #define TMR_CTRL_PCS_MASK (0x1E00U)
  79255. #define TMR_CTRL_PCS_SHIFT (9U)
  79256. /*! PCS - Primary Count Source
  79257. * 0b0000..Counter 0 input pin
  79258. * 0b0001..Counter 1 input pin
  79259. * 0b0010..Counter 2 input pin
  79260. * 0b0011..Counter 3 input pin
  79261. * 0b0100..Counter 0 output
  79262. * 0b0101..Counter 1 output
  79263. * 0b0110..Counter 2 output
  79264. * 0b0111..Counter 3 output
  79265. * 0b1000..IP bus clock divide by 1 prescaler
  79266. * 0b1001..IP bus clock divide by 2 prescaler
  79267. * 0b1010..IP bus clock divide by 4 prescaler
  79268. * 0b1011..IP bus clock divide by 8 prescaler
  79269. * 0b1100..IP bus clock divide by 16 prescaler
  79270. * 0b1101..IP bus clock divide by 32 prescaler
  79271. * 0b1110..IP bus clock divide by 64 prescaler
  79272. * 0b1111..IP bus clock divide by 128 prescaler
  79273. */
  79274. #define TMR_CTRL_PCS(x) (((uint16_t)(((uint16_t)(x)) << TMR_CTRL_PCS_SHIFT)) & TMR_CTRL_PCS_MASK)
  79275. #define TMR_CTRL_CM_MASK (0xE000U)
  79276. #define TMR_CTRL_CM_SHIFT (13U)
  79277. /*! CM - Count Mode
  79278. * 0b000..No operation
  79279. * 0b001..Count rising edges of primary sourceRising edges are counted only when SCTRL[IPS] = 0. Falling edges
  79280. * are counted when SCTRL[IPS] = 1. If the primary count source is IP bus clock divide by 1, only rising
  79281. * edges are counted regardless of the value of SCTRL[IPS].
  79282. * 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.
  79283. * 0b011..Count rising edges of primary source while secondary input high active
  79284. * 0b100..Quadrature count mode, uses primary and secondary sources
  79285. * 0b101..Count rising edges of primary source; secondary source specifies directionRising edges are counted only
  79286. * when SCTRL[IPS] = 0. Falling edges are counted when SCTRL[IPS] = 1.
  79287. * 0b110..Edge of secondary source triggers primary count until compare
  79288. * 0b111..Cascaded counter mode (up/down)The primary count source must be set to one of the counter outputs.
  79289. */
  79290. #define TMR_CTRL_CM(x) (((uint16_t)(((uint16_t)(x)) << TMR_CTRL_CM_SHIFT)) & TMR_CTRL_CM_MASK)
  79291. /*! @} */
  79292. /* The count of TMR_CTRL */
  79293. #define TMR_CTRL_COUNT (4U)
  79294. /*! @name SCTRL - Timer Channel Status and Control Register */
  79295. /*! @{ */
  79296. #define TMR_SCTRL_OEN_MASK (0x1U)
  79297. #define TMR_SCTRL_OEN_SHIFT (0U)
  79298. /*! OEN - Output Enable
  79299. * 0b0..The external pin is configured as an input.
  79300. * 0b1..The OFLAG output signal is driven on the external pin. Other timer groups using this external pin as
  79301. * their input see the driven value. The polarity of the signal is determined by OPS.
  79302. */
  79303. #define TMR_SCTRL_OEN(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_OEN_SHIFT)) & TMR_SCTRL_OEN_MASK)
  79304. #define TMR_SCTRL_OPS_MASK (0x2U)
  79305. #define TMR_SCTRL_OPS_SHIFT (1U)
  79306. /*! OPS - Output Polarity Select
  79307. * 0b0..True polarity.
  79308. * 0b1..Inverted polarity.
  79309. */
  79310. #define TMR_SCTRL_OPS(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_OPS_SHIFT)) & TMR_SCTRL_OPS_MASK)
  79311. #define TMR_SCTRL_FORCE_MASK (0x4U)
  79312. #define TMR_SCTRL_FORCE_SHIFT (2U)
  79313. /*! FORCE - Force OFLAG Output
  79314. */
  79315. #define TMR_SCTRL_FORCE(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_FORCE_SHIFT)) & TMR_SCTRL_FORCE_MASK)
  79316. #define TMR_SCTRL_VAL_MASK (0x8U)
  79317. #define TMR_SCTRL_VAL_SHIFT (3U)
  79318. /*! VAL - Forced OFLAG Value
  79319. */
  79320. #define TMR_SCTRL_VAL(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_VAL_SHIFT)) & TMR_SCTRL_VAL_MASK)
  79321. #define TMR_SCTRL_EEOF_MASK (0x10U)
  79322. #define TMR_SCTRL_EEOF_SHIFT (4U)
  79323. /*! EEOF - Enable External OFLAG Force
  79324. */
  79325. #define TMR_SCTRL_EEOF(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_EEOF_SHIFT)) & TMR_SCTRL_EEOF_MASK)
  79326. #define TMR_SCTRL_MSTR_MASK (0x20U)
  79327. #define TMR_SCTRL_MSTR_SHIFT (5U)
  79328. /*! MSTR - Master Mode
  79329. */
  79330. #define TMR_SCTRL_MSTR(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_MSTR_SHIFT)) & TMR_SCTRL_MSTR_MASK)
  79331. #define TMR_SCTRL_CAPTURE_MODE_MASK (0xC0U)
  79332. #define TMR_SCTRL_CAPTURE_MODE_SHIFT (6U)
  79333. /*! CAPTURE_MODE - Input Capture Mode
  79334. * 0b00..Capture function is disabled
  79335. * 0b01..Load capture register on rising edge (when IPS=0) or falling edge (when IPS=1) of input
  79336. * 0b10..Load capture register on falling edge (when IPS=0) or rising edge (when IPS=1) of input
  79337. * 0b11..Load capture register on both edges of input
  79338. */
  79339. #define TMR_SCTRL_CAPTURE_MODE(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_CAPTURE_MODE_SHIFT)) & TMR_SCTRL_CAPTURE_MODE_MASK)
  79340. #define TMR_SCTRL_INPUT_MASK (0x100U)
  79341. #define TMR_SCTRL_INPUT_SHIFT (8U)
  79342. /*! INPUT - External Input Signal
  79343. */
  79344. #define TMR_SCTRL_INPUT(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_INPUT_SHIFT)) & TMR_SCTRL_INPUT_MASK)
  79345. #define TMR_SCTRL_IPS_MASK (0x200U)
  79346. #define TMR_SCTRL_IPS_SHIFT (9U)
  79347. /*! IPS - Input Polarity Select
  79348. */
  79349. #define TMR_SCTRL_IPS(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_IPS_SHIFT)) & TMR_SCTRL_IPS_MASK)
  79350. #define TMR_SCTRL_IEFIE_MASK (0x400U)
  79351. #define TMR_SCTRL_IEFIE_SHIFT (10U)
  79352. /*! IEFIE - Input Edge Flag Interrupt Enable
  79353. */
  79354. #define TMR_SCTRL_IEFIE(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_IEFIE_SHIFT)) & TMR_SCTRL_IEFIE_MASK)
  79355. #define TMR_SCTRL_IEF_MASK (0x800U)
  79356. #define TMR_SCTRL_IEF_SHIFT (11U)
  79357. /*! IEF - Input Edge Flag
  79358. */
  79359. #define TMR_SCTRL_IEF(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_IEF_SHIFT)) & TMR_SCTRL_IEF_MASK)
  79360. #define TMR_SCTRL_TOFIE_MASK (0x1000U)
  79361. #define TMR_SCTRL_TOFIE_SHIFT (12U)
  79362. /*! TOFIE - Timer Overflow Flag Interrupt Enable
  79363. */
  79364. #define TMR_SCTRL_TOFIE(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_TOFIE_SHIFT)) & TMR_SCTRL_TOFIE_MASK)
  79365. #define TMR_SCTRL_TOF_MASK (0x2000U)
  79366. #define TMR_SCTRL_TOF_SHIFT (13U)
  79367. /*! TOF - Timer Overflow Flag
  79368. */
  79369. #define TMR_SCTRL_TOF(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_TOF_SHIFT)) & TMR_SCTRL_TOF_MASK)
  79370. #define TMR_SCTRL_TCFIE_MASK (0x4000U)
  79371. #define TMR_SCTRL_TCFIE_SHIFT (14U)
  79372. /*! TCFIE - Timer Compare Flag Interrupt Enable
  79373. */
  79374. #define TMR_SCTRL_TCFIE(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_TCFIE_SHIFT)) & TMR_SCTRL_TCFIE_MASK)
  79375. #define TMR_SCTRL_TCF_MASK (0x8000U)
  79376. #define TMR_SCTRL_TCF_SHIFT (15U)
  79377. /*! TCF - Timer Compare Flag
  79378. */
  79379. #define TMR_SCTRL_TCF(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_TCF_SHIFT)) & TMR_SCTRL_TCF_MASK)
  79380. /*! @} */
  79381. /* The count of TMR_SCTRL */
  79382. #define TMR_SCTRL_COUNT (4U)
  79383. /*! @name CMPLD1 - Timer Channel Comparator Load Register 1 */
  79384. /*! @{ */
  79385. #define TMR_CMPLD1_COMPARATOR_LOAD_1_MASK (0xFFFFU)
  79386. #define TMR_CMPLD1_COMPARATOR_LOAD_1_SHIFT (0U)
  79387. /*! COMPARATOR_LOAD_1 - COMPARATOR_LOAD_1
  79388. */
  79389. #define TMR_CMPLD1_COMPARATOR_LOAD_1(x) (((uint16_t)(((uint16_t)(x)) << TMR_CMPLD1_COMPARATOR_LOAD_1_SHIFT)) & TMR_CMPLD1_COMPARATOR_LOAD_1_MASK)
  79390. /*! @} */
  79391. /* The count of TMR_CMPLD1 */
  79392. #define TMR_CMPLD1_COUNT (4U)
  79393. /*! @name CMPLD2 - Timer Channel Comparator Load Register 2 */
  79394. /*! @{ */
  79395. #define TMR_CMPLD2_COMPARATOR_LOAD_2_MASK (0xFFFFU)
  79396. #define TMR_CMPLD2_COMPARATOR_LOAD_2_SHIFT (0U)
  79397. /*! COMPARATOR_LOAD_2 - COMPARATOR_LOAD_2
  79398. */
  79399. #define TMR_CMPLD2_COMPARATOR_LOAD_2(x) (((uint16_t)(((uint16_t)(x)) << TMR_CMPLD2_COMPARATOR_LOAD_2_SHIFT)) & TMR_CMPLD2_COMPARATOR_LOAD_2_MASK)
  79400. /*! @} */
  79401. /* The count of TMR_CMPLD2 */
  79402. #define TMR_CMPLD2_COUNT (4U)
  79403. /*! @name CSCTRL - Timer Channel Comparator Status and Control Register */
  79404. /*! @{ */
  79405. #define TMR_CSCTRL_CL1_MASK (0x3U)
  79406. #define TMR_CSCTRL_CL1_SHIFT (0U)
  79407. /*! CL1 - Compare Load Control 1
  79408. * 0b00..Never preload
  79409. * 0b01..Load upon successful compare with the value in COMP1
  79410. * 0b10..Load upon successful compare with the value in COMP2
  79411. * 0b11..Reserved
  79412. */
  79413. #define TMR_CSCTRL_CL1(x) (((uint16_t)(((uint16_t)(x)) << TMR_CSCTRL_CL1_SHIFT)) & TMR_CSCTRL_CL1_MASK)
  79414. #define TMR_CSCTRL_CL2_MASK (0xCU)
  79415. #define TMR_CSCTRL_CL2_SHIFT (2U)
  79416. /*! CL2 - Compare Load Control 2
  79417. * 0b00..Never preload
  79418. * 0b01..Load upon successful compare with the value in COMP1
  79419. * 0b10..Load upon successful compare with the value in COMP2
  79420. * 0b11..Reserved
  79421. */
  79422. #define TMR_CSCTRL_CL2(x) (((uint16_t)(((uint16_t)(x)) << TMR_CSCTRL_CL2_SHIFT)) & TMR_CSCTRL_CL2_MASK)
  79423. #define TMR_CSCTRL_TCF1_MASK (0x10U)
  79424. #define TMR_CSCTRL_TCF1_SHIFT (4U)
  79425. /*! TCF1 - Timer Compare 1 Interrupt Flag
  79426. */
  79427. #define TMR_CSCTRL_TCF1(x) (((uint16_t)(((uint16_t)(x)) << TMR_CSCTRL_TCF1_SHIFT)) & TMR_CSCTRL_TCF1_MASK)
  79428. #define TMR_CSCTRL_TCF2_MASK (0x20U)
  79429. #define TMR_CSCTRL_TCF2_SHIFT (5U)
  79430. /*! TCF2 - Timer Compare 2 Interrupt Flag
  79431. */
  79432. #define TMR_CSCTRL_TCF2(x) (((uint16_t)(((uint16_t)(x)) << TMR_CSCTRL_TCF2_SHIFT)) & TMR_CSCTRL_TCF2_MASK)
  79433. #define TMR_CSCTRL_TCF1EN_MASK (0x40U)
  79434. #define TMR_CSCTRL_TCF1EN_SHIFT (6U)
  79435. /*! TCF1EN - Timer Compare 1 Interrupt Enable
  79436. */
  79437. #define TMR_CSCTRL_TCF1EN(x) (((uint16_t)(((uint16_t)(x)) << TMR_CSCTRL_TCF1EN_SHIFT)) & TMR_CSCTRL_TCF1EN_MASK)
  79438. #define TMR_CSCTRL_TCF2EN_MASK (0x80U)
  79439. #define TMR_CSCTRL_TCF2EN_SHIFT (7U)
  79440. /*! TCF2EN - Timer Compare 2 Interrupt Enable
  79441. */
  79442. #define TMR_CSCTRL_TCF2EN(x) (((uint16_t)(((uint16_t)(x)) << TMR_CSCTRL_TCF2EN_SHIFT)) & TMR_CSCTRL_TCF2EN_MASK)
  79443. #define TMR_CSCTRL_UP_MASK (0x200U)
  79444. #define TMR_CSCTRL_UP_SHIFT (9U)
  79445. /*! UP - Counting Direction Indicator
  79446. * 0b0..The last count was in the DOWN direction.
  79447. * 0b1..The last count was in the UP direction.
  79448. */
  79449. #define TMR_CSCTRL_UP(x) (((uint16_t)(((uint16_t)(x)) << TMR_CSCTRL_UP_SHIFT)) & TMR_CSCTRL_UP_MASK)
  79450. #define TMR_CSCTRL_TCI_MASK (0x400U)
  79451. #define TMR_CSCTRL_TCI_SHIFT (10U)
  79452. /*! TCI - Triggered Count Initialization Control
  79453. * 0b0..Stop counter upon receiving a second trigger event while still counting from the first trigger event.
  79454. * 0b1..Reload the counter upon receiving a second trigger event while still counting from the first trigger event.
  79455. */
  79456. #define TMR_CSCTRL_TCI(x) (((uint16_t)(((uint16_t)(x)) << TMR_CSCTRL_TCI_SHIFT)) & TMR_CSCTRL_TCI_MASK)
  79457. #define TMR_CSCTRL_ROC_MASK (0x800U)
  79458. #define TMR_CSCTRL_ROC_SHIFT (11U)
  79459. /*! ROC - Reload on Capture
  79460. * 0b0..Do not reload the counter on a capture event.
  79461. * 0b1..Reload the counter on a capture event.
  79462. */
  79463. #define TMR_CSCTRL_ROC(x) (((uint16_t)(((uint16_t)(x)) << TMR_CSCTRL_ROC_SHIFT)) & TMR_CSCTRL_ROC_MASK)
  79464. #define TMR_CSCTRL_ALT_LOAD_MASK (0x1000U)
  79465. #define TMR_CSCTRL_ALT_LOAD_SHIFT (12U)
  79466. /*! ALT_LOAD - Alternative Load Enable
  79467. * 0b0..Counter can be re-initialized only with the LOAD register.
  79468. * 0b1..Counter can be re-initialized with the LOAD or CMPLD2 registers depending on count direction.
  79469. */
  79470. #define TMR_CSCTRL_ALT_LOAD(x) (((uint16_t)(((uint16_t)(x)) << TMR_CSCTRL_ALT_LOAD_SHIFT)) & TMR_CSCTRL_ALT_LOAD_MASK)
  79471. #define TMR_CSCTRL_FAULT_MASK (0x2000U)
  79472. #define TMR_CSCTRL_FAULT_SHIFT (13U)
  79473. /*! FAULT - Fault Enable
  79474. * 0b0..Fault function disabled.
  79475. * 0b1..Fault function enabled.
  79476. */
  79477. #define TMR_CSCTRL_FAULT(x) (((uint16_t)(((uint16_t)(x)) << TMR_CSCTRL_FAULT_SHIFT)) & TMR_CSCTRL_FAULT_MASK)
  79478. #define TMR_CSCTRL_DBG_EN_MASK (0xC000U)
  79479. #define TMR_CSCTRL_DBG_EN_SHIFT (14U)
  79480. /*! DBG_EN - Debug Actions Enable
  79481. * 0b00..Continue with normal operation during debug mode. (default)
  79482. * 0b01..Halt TMR counter during debug mode.
  79483. * 0b10..Force TMR output to logic 0 (prior to consideration of SCTRL[OPS]).
  79484. * 0b11..Both halt counter and force output to 0 during debug mode.
  79485. */
  79486. #define TMR_CSCTRL_DBG_EN(x) (((uint16_t)(((uint16_t)(x)) << TMR_CSCTRL_DBG_EN_SHIFT)) & TMR_CSCTRL_DBG_EN_MASK)
  79487. /*! @} */
  79488. /* The count of TMR_CSCTRL */
  79489. #define TMR_CSCTRL_COUNT (4U)
  79490. /*! @name FILT - Timer Channel Input Filter Register */
  79491. /*! @{ */
  79492. #define TMR_FILT_FILT_PER_MASK (0xFFU)
  79493. #define TMR_FILT_FILT_PER_SHIFT (0U)
  79494. /*! FILT_PER - Input Filter Sample Period
  79495. */
  79496. #define TMR_FILT_FILT_PER(x) (((uint16_t)(((uint16_t)(x)) << TMR_FILT_FILT_PER_SHIFT)) & TMR_FILT_FILT_PER_MASK)
  79497. #define TMR_FILT_FILT_CNT_MASK (0x700U)
  79498. #define TMR_FILT_FILT_CNT_SHIFT (8U)
  79499. /*! FILT_CNT - Input Filter Sample Count
  79500. */
  79501. #define TMR_FILT_FILT_CNT(x) (((uint16_t)(((uint16_t)(x)) << TMR_FILT_FILT_CNT_SHIFT)) & TMR_FILT_FILT_CNT_MASK)
  79502. /*! @} */
  79503. /* The count of TMR_FILT */
  79504. #define TMR_FILT_COUNT (4U)
  79505. /*! @name DMA - Timer Channel DMA Enable Register */
  79506. /*! @{ */
  79507. #define TMR_DMA_IEFDE_MASK (0x1U)
  79508. #define TMR_DMA_IEFDE_SHIFT (0U)
  79509. /*! IEFDE - Input Edge Flag DMA Enable
  79510. */
  79511. #define TMR_DMA_IEFDE(x) (((uint16_t)(((uint16_t)(x)) << TMR_DMA_IEFDE_SHIFT)) & TMR_DMA_IEFDE_MASK)
  79512. #define TMR_DMA_CMPLD1DE_MASK (0x2U)
  79513. #define TMR_DMA_CMPLD1DE_SHIFT (1U)
  79514. /*! CMPLD1DE - Comparator Preload Register 1 DMA Enable
  79515. */
  79516. #define TMR_DMA_CMPLD1DE(x) (((uint16_t)(((uint16_t)(x)) << TMR_DMA_CMPLD1DE_SHIFT)) & TMR_DMA_CMPLD1DE_MASK)
  79517. #define TMR_DMA_CMPLD2DE_MASK (0x4U)
  79518. #define TMR_DMA_CMPLD2DE_SHIFT (2U)
  79519. /*! CMPLD2DE - Comparator Preload Register 2 DMA Enable
  79520. */
  79521. #define TMR_DMA_CMPLD2DE(x) (((uint16_t)(((uint16_t)(x)) << TMR_DMA_CMPLD2DE_SHIFT)) & TMR_DMA_CMPLD2DE_MASK)
  79522. /*! @} */
  79523. /* The count of TMR_DMA */
  79524. #define TMR_DMA_COUNT (4U)
  79525. /*! @name ENBL - Timer Channel Enable Register */
  79526. /*! @{ */
  79527. #define TMR_ENBL_ENBL_MASK (0xFU)
  79528. #define TMR_ENBL_ENBL_SHIFT (0U)
  79529. /*! ENBL - Timer Channel Enable
  79530. * 0b0000..Timer channel is disabled.
  79531. * 0b0001..Timer channel is enabled. (default)
  79532. */
  79533. #define TMR_ENBL_ENBL(x) (((uint16_t)(((uint16_t)(x)) << TMR_ENBL_ENBL_SHIFT)) & TMR_ENBL_ENBL_MASK)
  79534. /*! @} */
  79535. /* The count of TMR_ENBL */
  79536. #define TMR_ENBL_COUNT (4U)
  79537. /*!
  79538. * @}
  79539. */ /* end of group TMR_Register_Masks */
  79540. /* TMR - Peripheral instance base addresses */
  79541. /** Peripheral TMR1 base address */
  79542. #define TMR1_BASE (0x4015C000u)
  79543. /** Peripheral TMR1 base pointer */
  79544. #define TMR1 ((TMR_Type *)TMR1_BASE)
  79545. /** Peripheral TMR2 base address */
  79546. #define TMR2_BASE (0x40160000u)
  79547. /** Peripheral TMR2 base pointer */
  79548. #define TMR2 ((TMR_Type *)TMR2_BASE)
  79549. /** Peripheral TMR3 base address */
  79550. #define TMR3_BASE (0x40164000u)
  79551. /** Peripheral TMR3 base pointer */
  79552. #define TMR3 ((TMR_Type *)TMR3_BASE)
  79553. /** Peripheral TMR4 base address */
  79554. #define TMR4_BASE (0x40168000u)
  79555. /** Peripheral TMR4 base pointer */
  79556. #define TMR4 ((TMR_Type *)TMR4_BASE)
  79557. /** Array initializer of TMR peripheral base addresses */
  79558. #define TMR_BASE_ADDRS { 0u, TMR1_BASE, TMR2_BASE, TMR3_BASE, TMR4_BASE }
  79559. /** Array initializer of TMR peripheral base pointers */
  79560. #define TMR_BASE_PTRS { (TMR_Type *)0u, TMR1, TMR2, TMR3, TMR4 }
  79561. /** Interrupt vectors for the TMR peripheral type */
  79562. #define TMR_IRQS { NotAvail_IRQn, TMR1_IRQn, TMR2_IRQn, TMR3_IRQn, TMR4_IRQn }
  79563. /*!
  79564. * @}
  79565. */ /* end of group TMR_Peripheral_Access_Layer */
  79566. /* ----------------------------------------------------------------------------
  79567. -- USB Peripheral Access Layer
  79568. ---------------------------------------------------------------------------- */
  79569. /*!
  79570. * @addtogroup USB_Peripheral_Access_Layer USB Peripheral Access Layer
  79571. * @{
  79572. */
  79573. /** USB - Register Layout Typedef */
  79574. typedef struct {
  79575. __I uint32_t ID; /**< Identification register, offset: 0x0 */
  79576. __I uint32_t HWGENERAL; /**< Hardware General, offset: 0x4 */
  79577. __I uint32_t HWHOST; /**< Host Hardware Parameters, offset: 0x8 */
  79578. __I uint32_t HWDEVICE; /**< Device Hardware Parameters, offset: 0xC */
  79579. __I uint32_t HWTXBUF; /**< TX Buffer Hardware Parameters, offset: 0x10 */
  79580. __I uint32_t HWRXBUF; /**< RX Buffer Hardware Parameters, offset: 0x14 */
  79581. uint8_t RESERVED_0[104];
  79582. __IO uint32_t GPTIMER0LD; /**< General Purpose Timer #0 Load, offset: 0x80 */
  79583. __IO uint32_t GPTIMER0CTRL; /**< General Purpose Timer #0 Controller, offset: 0x84 */
  79584. __IO uint32_t GPTIMER1LD; /**< General Purpose Timer #1 Load, offset: 0x88 */
  79585. __IO uint32_t GPTIMER1CTRL; /**< General Purpose Timer #1 Controller, offset: 0x8C */
  79586. __IO uint32_t SBUSCFG; /**< System Bus Config, offset: 0x90 */
  79587. uint8_t RESERVED_1[108];
  79588. __I uint8_t CAPLENGTH; /**< Capability Registers Length, offset: 0x100 */
  79589. uint8_t RESERVED_2[1];
  79590. __I uint16_t HCIVERSION; /**< Host Controller Interface Version, offset: 0x102 */
  79591. __I uint32_t HCSPARAMS; /**< Host Controller Structural Parameters, offset: 0x104 */
  79592. __I uint32_t HCCPARAMS; /**< Host Controller Capability Parameters, offset: 0x108 */
  79593. uint8_t RESERVED_3[20];
  79594. __I uint16_t DCIVERSION; /**< Device Controller Interface Version, offset: 0x120 */
  79595. uint8_t RESERVED_4[2];
  79596. __I uint32_t DCCPARAMS; /**< Device Controller Capability Parameters, offset: 0x124 */
  79597. uint8_t RESERVED_5[24];
  79598. __IO uint32_t USBCMD; /**< USB Command Register, offset: 0x140 */
  79599. __IO uint32_t USBSTS; /**< USB Status Register, offset: 0x144 */
  79600. __IO uint32_t USBINTR; /**< Interrupt Enable Register, offset: 0x148 */
  79601. __IO uint32_t FRINDEX; /**< USB Frame Index, offset: 0x14C */
  79602. uint8_t RESERVED_6[4];
  79603. union { /* offset: 0x154 */
  79604. __IO uint32_t DEVICEADDR; /**< Device Address, offset: 0x154 */
  79605. __IO uint32_t PERIODICLISTBASE; /**< Frame List Base Address, offset: 0x154 */
  79606. };
  79607. union { /* offset: 0x158 */
  79608. __IO uint32_t ASYNCLISTADDR; /**< Next Asynch. Address, offset: 0x158 */
  79609. __IO uint32_t ENDPTLISTADDR; /**< Endpoint List Address, offset: 0x158 */
  79610. };
  79611. uint8_t RESERVED_7[4];
  79612. __IO uint32_t BURSTSIZE; /**< Programmable Burst Size, offset: 0x160 */
  79613. __IO uint32_t TXFILLTUNING; /**< TX FIFO Fill Tuning, offset: 0x164 */
  79614. uint8_t RESERVED_8[16];
  79615. __IO uint32_t ENDPTNAK; /**< Endpoint NAK, offset: 0x178 */
  79616. __IO uint32_t ENDPTNAKEN; /**< Endpoint NAK Enable, offset: 0x17C */
  79617. __I uint32_t CONFIGFLAG; /**< Configure Flag Register, offset: 0x180 */
  79618. __IO uint32_t PORTSC1; /**< Port Status & Control, offset: 0x184 */
  79619. uint8_t RESERVED_9[28];
  79620. __IO uint32_t OTGSC; /**< On-The-Go Status & control, offset: 0x1A4 */
  79621. __IO uint32_t USBMODE; /**< USB Device Mode, offset: 0x1A8 */
  79622. __IO uint32_t ENDPTSETUPSTAT; /**< Endpoint Setup Status, offset: 0x1AC */
  79623. __IO uint32_t ENDPTPRIME; /**< Endpoint Prime, offset: 0x1B0 */
  79624. __IO uint32_t ENDPTFLUSH; /**< Endpoint Flush, offset: 0x1B4 */
  79625. __I uint32_t ENDPTSTAT; /**< Endpoint Status, offset: 0x1B8 */
  79626. __IO uint32_t ENDPTCOMPLETE; /**< Endpoint Complete, offset: 0x1BC */
  79627. __IO uint32_t ENDPTCTRL0; /**< Endpoint Control0, offset: 0x1C0 */
  79628. __IO uint32_t ENDPTCTRL[7]; /**< Endpoint Control 1..Endpoint Control 7, array offset: 0x1C4, array step: 0x4 */
  79629. } USB_Type;
  79630. /* ----------------------------------------------------------------------------
  79631. -- USB Register Masks
  79632. ---------------------------------------------------------------------------- */
  79633. /*!
  79634. * @addtogroup USB_Register_Masks USB Register Masks
  79635. * @{
  79636. */
  79637. /*! @name ID - Identification register */
  79638. /*! @{ */
  79639. #define USB_ID_ID_MASK (0x3FU)
  79640. #define USB_ID_ID_SHIFT (0U)
  79641. /*! ID - ID
  79642. */
  79643. #define USB_ID_ID(x) (((uint32_t)(((uint32_t)(x)) << USB_ID_ID_SHIFT)) & USB_ID_ID_MASK)
  79644. #define USB_ID_NID_MASK (0x3F00U)
  79645. #define USB_ID_NID_SHIFT (8U)
  79646. /*! NID - NID
  79647. */
  79648. #define USB_ID_NID(x) (((uint32_t)(((uint32_t)(x)) << USB_ID_NID_SHIFT)) & USB_ID_NID_MASK)
  79649. #define USB_ID_REVISION_MASK (0xFF0000U)
  79650. #define USB_ID_REVISION_SHIFT (16U)
  79651. /*! REVISION - REVISION
  79652. */
  79653. #define USB_ID_REVISION(x) (((uint32_t)(((uint32_t)(x)) << USB_ID_REVISION_SHIFT)) & USB_ID_REVISION_MASK)
  79654. /*! @} */
  79655. /*! @name HWGENERAL - Hardware General */
  79656. /*! @{ */
  79657. #define USB_HWGENERAL_PHYW_MASK (0x30U)
  79658. #define USB_HWGENERAL_PHYW_SHIFT (4U)
  79659. /*! PHYW - PHYW
  79660. * 0b00..8 bit wide data bus (Software non-programmable)
  79661. * 0b01..16 bit wide data bus (Software non-programmable)
  79662. * 0b10..Reset to 8 bit wide data bus (Software programmable)
  79663. * 0b11..Reset to 16 bit wide data bus (Software programmable)
  79664. */
  79665. #define USB_HWGENERAL_PHYW(x) (((uint32_t)(((uint32_t)(x)) << USB_HWGENERAL_PHYW_SHIFT)) & USB_HWGENERAL_PHYW_MASK)
  79666. #define USB_HWGENERAL_PHYM_MASK (0x1C0U)
  79667. #define USB_HWGENERAL_PHYM_SHIFT (6U)
  79668. /*! PHYM - PHYM
  79669. * 0b000..UTMI/UMTI+
  79670. * 0b001..ULPI DDR
  79671. * 0b010..ULPI
  79672. * 0b011..Serial Only
  79673. * 0b100..Software programmable - reset to UTMI/UTMI+
  79674. * 0b101..Software programmable - reset to ULPI DDR
  79675. * 0b110..Software programmable - reset to ULPI
  79676. * 0b111..Software programmable - reset to Serial
  79677. */
  79678. #define USB_HWGENERAL_PHYM(x) (((uint32_t)(((uint32_t)(x)) << USB_HWGENERAL_PHYM_SHIFT)) & USB_HWGENERAL_PHYM_MASK)
  79679. #define USB_HWGENERAL_SM_MASK (0x600U)
  79680. #define USB_HWGENERAL_SM_SHIFT (9U)
  79681. /*! SM - SM
  79682. * 0b00..No Serial Engine, always use parallel signalling.
  79683. * 0b01..Serial Engine present, always use serial signalling for FS/LS.
  79684. * 0b10..Software programmable - Reset to use parallel signalling for FS/LS
  79685. * 0b11..Software programmable - Reset to use serial signalling for FS/LS
  79686. */
  79687. #define USB_HWGENERAL_SM(x) (((uint32_t)(((uint32_t)(x)) << USB_HWGENERAL_SM_SHIFT)) & USB_HWGENERAL_SM_MASK)
  79688. /*! @} */
  79689. /*! @name HWHOST - Host Hardware Parameters */
  79690. /*! @{ */
  79691. #define USB_HWHOST_HC_MASK (0x1U)
  79692. #define USB_HWHOST_HC_SHIFT (0U)
  79693. /*! HC - HC
  79694. * 0b1..Supported
  79695. * 0b0..Not supported
  79696. */
  79697. #define USB_HWHOST_HC(x) (((uint32_t)(((uint32_t)(x)) << USB_HWHOST_HC_SHIFT)) & USB_HWHOST_HC_MASK)
  79698. #define USB_HWHOST_NPORT_MASK (0xEU)
  79699. #define USB_HWHOST_NPORT_SHIFT (1U)
  79700. /*! NPORT - NPORT
  79701. */
  79702. #define USB_HWHOST_NPORT(x) (((uint32_t)(((uint32_t)(x)) << USB_HWHOST_NPORT_SHIFT)) & USB_HWHOST_NPORT_MASK)
  79703. /*! @} */
  79704. /*! @name HWDEVICE - Device Hardware Parameters */
  79705. /*! @{ */
  79706. #define USB_HWDEVICE_DC_MASK (0x1U)
  79707. #define USB_HWDEVICE_DC_SHIFT (0U)
  79708. /*! DC - DC
  79709. * 0b1..Supported
  79710. * 0b0..Not supported
  79711. */
  79712. #define USB_HWDEVICE_DC(x) (((uint32_t)(((uint32_t)(x)) << USB_HWDEVICE_DC_SHIFT)) & USB_HWDEVICE_DC_MASK)
  79713. #define USB_HWDEVICE_DEVEP_MASK (0x3EU)
  79714. #define USB_HWDEVICE_DEVEP_SHIFT (1U)
  79715. /*! DEVEP - DEVEP
  79716. */
  79717. #define USB_HWDEVICE_DEVEP(x) (((uint32_t)(((uint32_t)(x)) << USB_HWDEVICE_DEVEP_SHIFT)) & USB_HWDEVICE_DEVEP_MASK)
  79718. /*! @} */
  79719. /*! @name HWTXBUF - TX Buffer Hardware Parameters */
  79720. /*! @{ */
  79721. #define USB_HWTXBUF_TXBURST_MASK (0xFFU)
  79722. #define USB_HWTXBUF_TXBURST_SHIFT (0U)
  79723. /*! TXBURST - TXBURST
  79724. */
  79725. #define USB_HWTXBUF_TXBURST(x) (((uint32_t)(((uint32_t)(x)) << USB_HWTXBUF_TXBURST_SHIFT)) & USB_HWTXBUF_TXBURST_MASK)
  79726. #define USB_HWTXBUF_TXCHANADD_MASK (0xFF0000U)
  79727. #define USB_HWTXBUF_TXCHANADD_SHIFT (16U)
  79728. /*! TXCHANADD - TXCHANADD
  79729. */
  79730. #define USB_HWTXBUF_TXCHANADD(x) (((uint32_t)(((uint32_t)(x)) << USB_HWTXBUF_TXCHANADD_SHIFT)) & USB_HWTXBUF_TXCHANADD_MASK)
  79731. /*! @} */
  79732. /*! @name HWRXBUF - RX Buffer Hardware Parameters */
  79733. /*! @{ */
  79734. #define USB_HWRXBUF_RXBURST_MASK (0xFFU)
  79735. #define USB_HWRXBUF_RXBURST_SHIFT (0U)
  79736. /*! RXBURST - RXBURST
  79737. */
  79738. #define USB_HWRXBUF_RXBURST(x) (((uint32_t)(((uint32_t)(x)) << USB_HWRXBUF_RXBURST_SHIFT)) & USB_HWRXBUF_RXBURST_MASK)
  79739. #define USB_HWRXBUF_RXADD_MASK (0xFF00U)
  79740. #define USB_HWRXBUF_RXADD_SHIFT (8U)
  79741. /*! RXADD - RXADD
  79742. */
  79743. #define USB_HWRXBUF_RXADD(x) (((uint32_t)(((uint32_t)(x)) << USB_HWRXBUF_RXADD_SHIFT)) & USB_HWRXBUF_RXADD_MASK)
  79744. /*! @} */
  79745. /*! @name GPTIMER0LD - General Purpose Timer #0 Load */
  79746. /*! @{ */
  79747. #define USB_GPTIMER0LD_GPTLD_MASK (0xFFFFFFU)
  79748. #define USB_GPTIMER0LD_GPTLD_SHIFT (0U)
  79749. /*! GPTLD - GPTLD
  79750. */
  79751. #define USB_GPTIMER0LD_GPTLD(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER0LD_GPTLD_SHIFT)) & USB_GPTIMER0LD_GPTLD_MASK)
  79752. /*! @} */
  79753. /*! @name GPTIMER0CTRL - General Purpose Timer #0 Controller */
  79754. /*! @{ */
  79755. #define USB_GPTIMER0CTRL_GPTCNT_MASK (0xFFFFFFU)
  79756. #define USB_GPTIMER0CTRL_GPTCNT_SHIFT (0U)
  79757. /*! GPTCNT - GPTCNT
  79758. */
  79759. #define USB_GPTIMER0CTRL_GPTCNT(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER0CTRL_GPTCNT_SHIFT)) & USB_GPTIMER0CTRL_GPTCNT_MASK)
  79760. #define USB_GPTIMER0CTRL_GPTMODE_MASK (0x1000000U)
  79761. #define USB_GPTIMER0CTRL_GPTMODE_SHIFT (24U)
  79762. /*! GPTMODE - GPTMODE
  79763. * 0b0..One Shot Mode
  79764. * 0b1..Repeat Mode
  79765. */
  79766. #define USB_GPTIMER0CTRL_GPTMODE(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER0CTRL_GPTMODE_SHIFT)) & USB_GPTIMER0CTRL_GPTMODE_MASK)
  79767. #define USB_GPTIMER0CTRL_GPTRST_MASK (0x40000000U)
  79768. #define USB_GPTIMER0CTRL_GPTRST_SHIFT (30U)
  79769. /*! GPTRST - GPTRST
  79770. * 0b0..No action
  79771. * 0b1..Load counter value from GPTLD bits in n_GPTIMER0LD
  79772. */
  79773. #define USB_GPTIMER0CTRL_GPTRST(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER0CTRL_GPTRST_SHIFT)) & USB_GPTIMER0CTRL_GPTRST_MASK)
  79774. #define USB_GPTIMER0CTRL_GPTRUN_MASK (0x80000000U)
  79775. #define USB_GPTIMER0CTRL_GPTRUN_SHIFT (31U)
  79776. /*! GPTRUN - GPTRUN
  79777. * 0b0..Stop counting
  79778. * 0b1..Run
  79779. */
  79780. #define USB_GPTIMER0CTRL_GPTRUN(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER0CTRL_GPTRUN_SHIFT)) & USB_GPTIMER0CTRL_GPTRUN_MASK)
  79781. /*! @} */
  79782. /*! @name GPTIMER1LD - General Purpose Timer #1 Load */
  79783. /*! @{ */
  79784. #define USB_GPTIMER1LD_GPTLD_MASK (0xFFFFFFU)
  79785. #define USB_GPTIMER1LD_GPTLD_SHIFT (0U)
  79786. /*! GPTLD - GPTLD
  79787. */
  79788. #define USB_GPTIMER1LD_GPTLD(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER1LD_GPTLD_SHIFT)) & USB_GPTIMER1LD_GPTLD_MASK)
  79789. /*! @} */
  79790. /*! @name GPTIMER1CTRL - General Purpose Timer #1 Controller */
  79791. /*! @{ */
  79792. #define USB_GPTIMER1CTRL_GPTCNT_MASK (0xFFFFFFU)
  79793. #define USB_GPTIMER1CTRL_GPTCNT_SHIFT (0U)
  79794. /*! GPTCNT - GPTCNT
  79795. */
  79796. #define USB_GPTIMER1CTRL_GPTCNT(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER1CTRL_GPTCNT_SHIFT)) & USB_GPTIMER1CTRL_GPTCNT_MASK)
  79797. #define USB_GPTIMER1CTRL_GPTMODE_MASK (0x1000000U)
  79798. #define USB_GPTIMER1CTRL_GPTMODE_SHIFT (24U)
  79799. /*! GPTMODE - GPTMODE
  79800. * 0b0..One Shot Mode
  79801. * 0b1..Repeat Mode
  79802. */
  79803. #define USB_GPTIMER1CTRL_GPTMODE(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER1CTRL_GPTMODE_SHIFT)) & USB_GPTIMER1CTRL_GPTMODE_MASK)
  79804. #define USB_GPTIMER1CTRL_GPTRST_MASK (0x40000000U)
  79805. #define USB_GPTIMER1CTRL_GPTRST_SHIFT (30U)
  79806. /*! GPTRST - GPTRST
  79807. * 0b0..No action
  79808. * 0b1..Load counter value from GPTLD bits in USB_n_GPTIMER0LD
  79809. */
  79810. #define USB_GPTIMER1CTRL_GPTRST(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER1CTRL_GPTRST_SHIFT)) & USB_GPTIMER1CTRL_GPTRST_MASK)
  79811. #define USB_GPTIMER1CTRL_GPTRUN_MASK (0x80000000U)
  79812. #define USB_GPTIMER1CTRL_GPTRUN_SHIFT (31U)
  79813. /*! GPTRUN - GPTRUN
  79814. * 0b0..Stop counting
  79815. * 0b1..Run
  79816. */
  79817. #define USB_GPTIMER1CTRL_GPTRUN(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER1CTRL_GPTRUN_SHIFT)) & USB_GPTIMER1CTRL_GPTRUN_MASK)
  79818. /*! @} */
  79819. /*! @name SBUSCFG - System Bus Config */
  79820. /*! @{ */
  79821. #define USB_SBUSCFG_AHBBRST_MASK (0x7U)
  79822. #define USB_SBUSCFG_AHBBRST_SHIFT (0U)
  79823. /*! AHBBRST - AHBBRST
  79824. * 0b000..Incremental burst of unspecified length only
  79825. * 0b001..INCR4 burst, then single transfer
  79826. * 0b010..INCR8 burst, INCR4 burst, then single transfer
  79827. * 0b011..INCR16 burst, INCR8 burst, INCR4 burst, then single transfer
  79828. * 0b100..Reserved, don't use
  79829. * 0b101..INCR4 burst, then incremental burst of unspecified length
  79830. * 0b110..INCR8 burst, INCR4 burst, then incremental burst of unspecified length
  79831. * 0b111..INCR16 burst, INCR8 burst, INCR4 burst, then incremental burst of unspecified length
  79832. */
  79833. #define USB_SBUSCFG_AHBBRST(x) (((uint32_t)(((uint32_t)(x)) << USB_SBUSCFG_AHBBRST_SHIFT)) & USB_SBUSCFG_AHBBRST_MASK)
  79834. /*! @} */
  79835. /*! @name CAPLENGTH - Capability Registers Length */
  79836. /*! @{ */
  79837. #define USB_CAPLENGTH_CAPLENGTH_MASK (0xFFU)
  79838. #define USB_CAPLENGTH_CAPLENGTH_SHIFT (0U)
  79839. /*! CAPLENGTH - CAPLENGTH
  79840. */
  79841. #define USB_CAPLENGTH_CAPLENGTH(x) (((uint8_t)(((uint8_t)(x)) << USB_CAPLENGTH_CAPLENGTH_SHIFT)) & USB_CAPLENGTH_CAPLENGTH_MASK)
  79842. /*! @} */
  79843. /*! @name HCIVERSION - Host Controller Interface Version */
  79844. /*! @{ */
  79845. #define USB_HCIVERSION_HCIVERSION_MASK (0xFFFFU)
  79846. #define USB_HCIVERSION_HCIVERSION_SHIFT (0U)
  79847. /*! HCIVERSION - HCIVERSION
  79848. */
  79849. #define USB_HCIVERSION_HCIVERSION(x) (((uint16_t)(((uint16_t)(x)) << USB_HCIVERSION_HCIVERSION_SHIFT)) & USB_HCIVERSION_HCIVERSION_MASK)
  79850. /*! @} */
  79851. /*! @name HCSPARAMS - Host Controller Structural Parameters */
  79852. /*! @{ */
  79853. #define USB_HCSPARAMS_N_PORTS_MASK (0xFU)
  79854. #define USB_HCSPARAMS_N_PORTS_SHIFT (0U)
  79855. /*! N_PORTS - N_PORTS
  79856. */
  79857. #define USB_HCSPARAMS_N_PORTS(x) (((uint32_t)(((uint32_t)(x)) << USB_HCSPARAMS_N_PORTS_SHIFT)) & USB_HCSPARAMS_N_PORTS_MASK)
  79858. #define USB_HCSPARAMS_PPC_MASK (0x10U)
  79859. #define USB_HCSPARAMS_PPC_SHIFT (4U)
  79860. /*! PPC - PPC
  79861. */
  79862. #define USB_HCSPARAMS_PPC(x) (((uint32_t)(((uint32_t)(x)) << USB_HCSPARAMS_PPC_SHIFT)) & USB_HCSPARAMS_PPC_MASK)
  79863. #define USB_HCSPARAMS_N_PCC_MASK (0xF00U)
  79864. #define USB_HCSPARAMS_N_PCC_SHIFT (8U)
  79865. /*! N_PCC - N_PCC
  79866. */
  79867. #define USB_HCSPARAMS_N_PCC(x) (((uint32_t)(((uint32_t)(x)) << USB_HCSPARAMS_N_PCC_SHIFT)) & USB_HCSPARAMS_N_PCC_MASK)
  79868. #define USB_HCSPARAMS_N_CC_MASK (0xF000U)
  79869. #define USB_HCSPARAMS_N_CC_SHIFT (12U)
  79870. /*! N_CC - N_CC
  79871. * 0b0000..There is no internal Companion Controller and port-ownership hand-off is not supported.
  79872. * 0b0001..There are internal companion controller(s) and port-ownership hand-offs is supported.
  79873. */
  79874. #define USB_HCSPARAMS_N_CC(x) (((uint32_t)(((uint32_t)(x)) << USB_HCSPARAMS_N_CC_SHIFT)) & USB_HCSPARAMS_N_CC_MASK)
  79875. #define USB_HCSPARAMS_PI_MASK (0x10000U)
  79876. #define USB_HCSPARAMS_PI_SHIFT (16U)
  79877. /*! PI - PI
  79878. */
  79879. #define USB_HCSPARAMS_PI(x) (((uint32_t)(((uint32_t)(x)) << USB_HCSPARAMS_PI_SHIFT)) & USB_HCSPARAMS_PI_MASK)
  79880. #define USB_HCSPARAMS_N_PTT_MASK (0xF00000U)
  79881. #define USB_HCSPARAMS_N_PTT_SHIFT (20U)
  79882. /*! N_PTT - N_PTT
  79883. */
  79884. #define USB_HCSPARAMS_N_PTT(x) (((uint32_t)(((uint32_t)(x)) << USB_HCSPARAMS_N_PTT_SHIFT)) & USB_HCSPARAMS_N_PTT_MASK)
  79885. #define USB_HCSPARAMS_N_TT_MASK (0xF000000U)
  79886. #define USB_HCSPARAMS_N_TT_SHIFT (24U)
  79887. /*! N_TT - N_TT
  79888. */
  79889. #define USB_HCSPARAMS_N_TT(x) (((uint32_t)(((uint32_t)(x)) << USB_HCSPARAMS_N_TT_SHIFT)) & USB_HCSPARAMS_N_TT_MASK)
  79890. /*! @} */
  79891. /*! @name HCCPARAMS - Host Controller Capability Parameters */
  79892. /*! @{ */
  79893. #define USB_HCCPARAMS_ADC_MASK (0x1U)
  79894. #define USB_HCCPARAMS_ADC_SHIFT (0U)
  79895. /*! ADC - ADC
  79896. */
  79897. #define USB_HCCPARAMS_ADC(x) (((uint32_t)(((uint32_t)(x)) << USB_HCCPARAMS_ADC_SHIFT)) & USB_HCCPARAMS_ADC_MASK)
  79898. #define USB_HCCPARAMS_PFL_MASK (0x2U)
  79899. #define USB_HCCPARAMS_PFL_SHIFT (1U)
  79900. /*! PFL - PFL
  79901. */
  79902. #define USB_HCCPARAMS_PFL(x) (((uint32_t)(((uint32_t)(x)) << USB_HCCPARAMS_PFL_SHIFT)) & USB_HCCPARAMS_PFL_MASK)
  79903. #define USB_HCCPARAMS_ASP_MASK (0x4U)
  79904. #define USB_HCCPARAMS_ASP_SHIFT (2U)
  79905. /*! ASP - ASP
  79906. */
  79907. #define USB_HCCPARAMS_ASP(x) (((uint32_t)(((uint32_t)(x)) << USB_HCCPARAMS_ASP_SHIFT)) & USB_HCCPARAMS_ASP_MASK)
  79908. #define USB_HCCPARAMS_IST_MASK (0xF0U)
  79909. #define USB_HCCPARAMS_IST_SHIFT (4U)
  79910. /*! IST - IST
  79911. */
  79912. #define USB_HCCPARAMS_IST(x) (((uint32_t)(((uint32_t)(x)) << USB_HCCPARAMS_IST_SHIFT)) & USB_HCCPARAMS_IST_MASK)
  79913. #define USB_HCCPARAMS_EECP_MASK (0xFF00U)
  79914. #define USB_HCCPARAMS_EECP_SHIFT (8U)
  79915. /*! EECP - EECP
  79916. */
  79917. #define USB_HCCPARAMS_EECP(x) (((uint32_t)(((uint32_t)(x)) << USB_HCCPARAMS_EECP_SHIFT)) & USB_HCCPARAMS_EECP_MASK)
  79918. /*! @} */
  79919. /*! @name DCIVERSION - Device Controller Interface Version */
  79920. /*! @{ */
  79921. #define USB_DCIVERSION_DCIVERSION_MASK (0xFFFFU)
  79922. #define USB_DCIVERSION_DCIVERSION_SHIFT (0U)
  79923. /*! DCIVERSION - DCIVERSION
  79924. */
  79925. #define USB_DCIVERSION_DCIVERSION(x) (((uint16_t)(((uint16_t)(x)) << USB_DCIVERSION_DCIVERSION_SHIFT)) & USB_DCIVERSION_DCIVERSION_MASK)
  79926. /*! @} */
  79927. /*! @name DCCPARAMS - Device Controller Capability Parameters */
  79928. /*! @{ */
  79929. #define USB_DCCPARAMS_DEN_MASK (0x1FU)
  79930. #define USB_DCCPARAMS_DEN_SHIFT (0U)
  79931. /*! DEN - DEN
  79932. */
  79933. #define USB_DCCPARAMS_DEN(x) (((uint32_t)(((uint32_t)(x)) << USB_DCCPARAMS_DEN_SHIFT)) & USB_DCCPARAMS_DEN_MASK)
  79934. #define USB_DCCPARAMS_DC_MASK (0x80U)
  79935. #define USB_DCCPARAMS_DC_SHIFT (7U)
  79936. /*! DC - DC
  79937. */
  79938. #define USB_DCCPARAMS_DC(x) (((uint32_t)(((uint32_t)(x)) << USB_DCCPARAMS_DC_SHIFT)) & USB_DCCPARAMS_DC_MASK)
  79939. #define USB_DCCPARAMS_HC_MASK (0x100U)
  79940. #define USB_DCCPARAMS_HC_SHIFT (8U)
  79941. /*! HC - HC
  79942. */
  79943. #define USB_DCCPARAMS_HC(x) (((uint32_t)(((uint32_t)(x)) << USB_DCCPARAMS_HC_SHIFT)) & USB_DCCPARAMS_HC_MASK)
  79944. /*! @} */
  79945. /*! @name USBCMD - USB Command Register */
  79946. /*! @{ */
  79947. #define USB_USBCMD_RS_MASK (0x1U)
  79948. #define USB_USBCMD_RS_SHIFT (0U)
  79949. /*! RS - RS
  79950. */
  79951. #define USB_USBCMD_RS(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_RS_SHIFT)) & USB_USBCMD_RS_MASK)
  79952. #define USB_USBCMD_RST_MASK (0x2U)
  79953. #define USB_USBCMD_RST_SHIFT (1U)
  79954. /*! RST - RST
  79955. */
  79956. #define USB_USBCMD_RST(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_RST_SHIFT)) & USB_USBCMD_RST_MASK)
  79957. #define USB_USBCMD_FS_1_MASK (0xCU)
  79958. #define USB_USBCMD_FS_1_SHIFT (2U)
  79959. /*! FS_1 - FS_1
  79960. */
  79961. #define USB_USBCMD_FS_1(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_FS_1_SHIFT)) & USB_USBCMD_FS_1_MASK)
  79962. #define USB_USBCMD_PSE_MASK (0x10U)
  79963. #define USB_USBCMD_PSE_SHIFT (4U)
  79964. /*! PSE - PSE
  79965. * 0b0..Do not process the Periodic Schedule
  79966. * 0b1..Use the PERIODICLISTBASE register to access the Periodic Schedule.
  79967. */
  79968. #define USB_USBCMD_PSE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_PSE_SHIFT)) & USB_USBCMD_PSE_MASK)
  79969. #define USB_USBCMD_ASE_MASK (0x20U)
  79970. #define USB_USBCMD_ASE_SHIFT (5U)
  79971. /*! ASE - ASE
  79972. * 0b0..Do not process the Asynchronous Schedule.
  79973. * 0b1..Use the ASYNCLISTADDR register to access the Asynchronous Schedule.
  79974. */
  79975. #define USB_USBCMD_ASE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_ASE_SHIFT)) & USB_USBCMD_ASE_MASK)
  79976. #define USB_USBCMD_IAA_MASK (0x40U)
  79977. #define USB_USBCMD_IAA_SHIFT (6U)
  79978. /*! IAA - IAA
  79979. */
  79980. #define USB_USBCMD_IAA(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_IAA_SHIFT)) & USB_USBCMD_IAA_MASK)
  79981. #define USB_USBCMD_ASP_MASK (0x300U)
  79982. #define USB_USBCMD_ASP_SHIFT (8U)
  79983. /*! ASP - ASP
  79984. */
  79985. #define USB_USBCMD_ASP(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_ASP_SHIFT)) & USB_USBCMD_ASP_MASK)
  79986. #define USB_USBCMD_ASPE_MASK (0x800U)
  79987. #define USB_USBCMD_ASPE_SHIFT (11U)
  79988. /*! ASPE - ASPE
  79989. */
  79990. #define USB_USBCMD_ASPE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_ASPE_SHIFT)) & USB_USBCMD_ASPE_MASK)
  79991. #define USB_USBCMD_SUTW_MASK (0x2000U)
  79992. #define USB_USBCMD_SUTW_SHIFT (13U)
  79993. /*! SUTW - SUTW
  79994. */
  79995. #define USB_USBCMD_SUTW(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_SUTW_SHIFT)) & USB_USBCMD_SUTW_MASK)
  79996. #define USB_USBCMD_ATDTW_MASK (0x4000U)
  79997. #define USB_USBCMD_ATDTW_SHIFT (14U)
  79998. /*! ATDTW - ATDTW
  79999. */
  80000. #define USB_USBCMD_ATDTW(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_ATDTW_SHIFT)) & USB_USBCMD_ATDTW_MASK)
  80001. #define USB_USBCMD_FS_2_MASK (0x8000U)
  80002. #define USB_USBCMD_FS_2_SHIFT (15U)
  80003. /*! FS_2 - FS_2
  80004. */
  80005. #define USB_USBCMD_FS_2(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_FS_2_SHIFT)) & USB_USBCMD_FS_2_MASK)
  80006. #define USB_USBCMD_ITC_MASK (0xFF0000U)
  80007. #define USB_USBCMD_ITC_SHIFT (16U)
  80008. /*! ITC - ITC
  80009. * 0b00000000..Immediate (no threshold)
  80010. * 0b00000001..1 micro-frame
  80011. * 0b00000010..2 micro-frames
  80012. * 0b00000100..4 micro-frames
  80013. * 0b00001000..8 micro-frames
  80014. * 0b00010000..16 micro-frames
  80015. * 0b00100000..32 micro-frames
  80016. * 0b01000000..64 micro-frames
  80017. */
  80018. #define USB_USBCMD_ITC(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_ITC_SHIFT)) & USB_USBCMD_ITC_MASK)
  80019. /*! @} */
  80020. /*! @name USBSTS - USB Status Register */
  80021. /*! @{ */
  80022. #define USB_USBSTS_UI_MASK (0x1U)
  80023. #define USB_USBSTS_UI_SHIFT (0U)
  80024. /*! UI - UI
  80025. */
  80026. #define USB_USBSTS_UI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_UI_SHIFT)) & USB_USBSTS_UI_MASK)
  80027. #define USB_USBSTS_UEI_MASK (0x2U)
  80028. #define USB_USBSTS_UEI_SHIFT (1U)
  80029. /*! UEI - UEI
  80030. */
  80031. #define USB_USBSTS_UEI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_UEI_SHIFT)) & USB_USBSTS_UEI_MASK)
  80032. #define USB_USBSTS_PCI_MASK (0x4U)
  80033. #define USB_USBSTS_PCI_SHIFT (2U)
  80034. /*! PCI - PCI
  80035. */
  80036. #define USB_USBSTS_PCI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_PCI_SHIFT)) & USB_USBSTS_PCI_MASK)
  80037. #define USB_USBSTS_FRI_MASK (0x8U)
  80038. #define USB_USBSTS_FRI_SHIFT (3U)
  80039. /*! FRI - FRI
  80040. */
  80041. #define USB_USBSTS_FRI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_FRI_SHIFT)) & USB_USBSTS_FRI_MASK)
  80042. #define USB_USBSTS_SEI_MASK (0x10U)
  80043. #define USB_USBSTS_SEI_SHIFT (4U)
  80044. /*! SEI - SEI
  80045. */
  80046. #define USB_USBSTS_SEI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_SEI_SHIFT)) & USB_USBSTS_SEI_MASK)
  80047. #define USB_USBSTS_AAI_MASK (0x20U)
  80048. #define USB_USBSTS_AAI_SHIFT (5U)
  80049. /*! AAI - AAI
  80050. */
  80051. #define USB_USBSTS_AAI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_AAI_SHIFT)) & USB_USBSTS_AAI_MASK)
  80052. #define USB_USBSTS_URI_MASK (0x40U)
  80053. #define USB_USBSTS_URI_SHIFT (6U)
  80054. /*! URI - URI
  80055. */
  80056. #define USB_USBSTS_URI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_URI_SHIFT)) & USB_USBSTS_URI_MASK)
  80057. #define USB_USBSTS_SRI_MASK (0x80U)
  80058. #define USB_USBSTS_SRI_SHIFT (7U)
  80059. /*! SRI - SRI
  80060. */
  80061. #define USB_USBSTS_SRI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_SRI_SHIFT)) & USB_USBSTS_SRI_MASK)
  80062. #define USB_USBSTS_SLI_MASK (0x100U)
  80063. #define USB_USBSTS_SLI_SHIFT (8U)
  80064. /*! SLI - SLI
  80065. */
  80066. #define USB_USBSTS_SLI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_SLI_SHIFT)) & USB_USBSTS_SLI_MASK)
  80067. #define USB_USBSTS_ULPII_MASK (0x400U)
  80068. #define USB_USBSTS_ULPII_SHIFT (10U)
  80069. /*! ULPII - ULPII
  80070. */
  80071. #define USB_USBSTS_ULPII(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_ULPII_SHIFT)) & USB_USBSTS_ULPII_MASK)
  80072. #define USB_USBSTS_HCH_MASK (0x1000U)
  80073. #define USB_USBSTS_HCH_SHIFT (12U)
  80074. /*! HCH - HCH
  80075. */
  80076. #define USB_USBSTS_HCH(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_HCH_SHIFT)) & USB_USBSTS_HCH_MASK)
  80077. #define USB_USBSTS_RCL_MASK (0x2000U)
  80078. #define USB_USBSTS_RCL_SHIFT (13U)
  80079. /*! RCL - RCL
  80080. */
  80081. #define USB_USBSTS_RCL(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_RCL_SHIFT)) & USB_USBSTS_RCL_MASK)
  80082. #define USB_USBSTS_PS_MASK (0x4000U)
  80083. #define USB_USBSTS_PS_SHIFT (14U)
  80084. /*! PS - PS
  80085. */
  80086. #define USB_USBSTS_PS(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_PS_SHIFT)) & USB_USBSTS_PS_MASK)
  80087. #define USB_USBSTS_AS_MASK (0x8000U)
  80088. #define USB_USBSTS_AS_SHIFT (15U)
  80089. /*! AS - AS
  80090. */
  80091. #define USB_USBSTS_AS(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_AS_SHIFT)) & USB_USBSTS_AS_MASK)
  80092. #define USB_USBSTS_NAKI_MASK (0x10000U)
  80093. #define USB_USBSTS_NAKI_SHIFT (16U)
  80094. /*! NAKI - NAKI
  80095. */
  80096. #define USB_USBSTS_NAKI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_NAKI_SHIFT)) & USB_USBSTS_NAKI_MASK)
  80097. #define USB_USBSTS_TI0_MASK (0x1000000U)
  80098. #define USB_USBSTS_TI0_SHIFT (24U)
  80099. /*! TI0 - TI0
  80100. */
  80101. #define USB_USBSTS_TI0(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_TI0_SHIFT)) & USB_USBSTS_TI0_MASK)
  80102. #define USB_USBSTS_TI1_MASK (0x2000000U)
  80103. #define USB_USBSTS_TI1_SHIFT (25U)
  80104. /*! TI1 - TI1
  80105. */
  80106. #define USB_USBSTS_TI1(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_TI1_SHIFT)) & USB_USBSTS_TI1_MASK)
  80107. /*! @} */
  80108. /*! @name USBINTR - Interrupt Enable Register */
  80109. /*! @{ */
  80110. #define USB_USBINTR_UE_MASK (0x1U)
  80111. #define USB_USBINTR_UE_SHIFT (0U)
  80112. /*! UE - UE
  80113. */
  80114. #define USB_USBINTR_UE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_UE_SHIFT)) & USB_USBINTR_UE_MASK)
  80115. #define USB_USBINTR_UEE_MASK (0x2U)
  80116. #define USB_USBINTR_UEE_SHIFT (1U)
  80117. /*! UEE - UEE
  80118. */
  80119. #define USB_USBINTR_UEE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_UEE_SHIFT)) & USB_USBINTR_UEE_MASK)
  80120. #define USB_USBINTR_PCE_MASK (0x4U)
  80121. #define USB_USBINTR_PCE_SHIFT (2U)
  80122. /*! PCE - PCE
  80123. */
  80124. #define USB_USBINTR_PCE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_PCE_SHIFT)) & USB_USBINTR_PCE_MASK)
  80125. #define USB_USBINTR_FRE_MASK (0x8U)
  80126. #define USB_USBINTR_FRE_SHIFT (3U)
  80127. /*! FRE - FRE
  80128. */
  80129. #define USB_USBINTR_FRE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_FRE_SHIFT)) & USB_USBINTR_FRE_MASK)
  80130. #define USB_USBINTR_SEE_MASK (0x10U)
  80131. #define USB_USBINTR_SEE_SHIFT (4U)
  80132. /*! SEE - SEE
  80133. */
  80134. #define USB_USBINTR_SEE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_SEE_SHIFT)) & USB_USBINTR_SEE_MASK)
  80135. #define USB_USBINTR_AAE_MASK (0x20U)
  80136. #define USB_USBINTR_AAE_SHIFT (5U)
  80137. /*! AAE - AAE
  80138. */
  80139. #define USB_USBINTR_AAE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_AAE_SHIFT)) & USB_USBINTR_AAE_MASK)
  80140. #define USB_USBINTR_URE_MASK (0x40U)
  80141. #define USB_USBINTR_URE_SHIFT (6U)
  80142. /*! URE - URE
  80143. */
  80144. #define USB_USBINTR_URE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_URE_SHIFT)) & USB_USBINTR_URE_MASK)
  80145. #define USB_USBINTR_SRE_MASK (0x80U)
  80146. #define USB_USBINTR_SRE_SHIFT (7U)
  80147. /*! SRE - SRE
  80148. */
  80149. #define USB_USBINTR_SRE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_SRE_SHIFT)) & USB_USBINTR_SRE_MASK)
  80150. #define USB_USBINTR_SLE_MASK (0x100U)
  80151. #define USB_USBINTR_SLE_SHIFT (8U)
  80152. /*! SLE - SLE
  80153. */
  80154. #define USB_USBINTR_SLE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_SLE_SHIFT)) & USB_USBINTR_SLE_MASK)
  80155. #define USB_USBINTR_ULPIE_MASK (0x400U)
  80156. #define USB_USBINTR_ULPIE_SHIFT (10U)
  80157. /*! ULPIE - ULPIE
  80158. */
  80159. #define USB_USBINTR_ULPIE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_ULPIE_SHIFT)) & USB_USBINTR_ULPIE_MASK)
  80160. #define USB_USBINTR_NAKE_MASK (0x10000U)
  80161. #define USB_USBINTR_NAKE_SHIFT (16U)
  80162. /*! NAKE - NAKE
  80163. */
  80164. #define USB_USBINTR_NAKE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_NAKE_SHIFT)) & USB_USBINTR_NAKE_MASK)
  80165. #define USB_USBINTR_UAIE_MASK (0x40000U)
  80166. #define USB_USBINTR_UAIE_SHIFT (18U)
  80167. /*! UAIE - UAIE
  80168. */
  80169. #define USB_USBINTR_UAIE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_UAIE_SHIFT)) & USB_USBINTR_UAIE_MASK)
  80170. #define USB_USBINTR_UPIE_MASK (0x80000U)
  80171. #define USB_USBINTR_UPIE_SHIFT (19U)
  80172. /*! UPIE - UPIE
  80173. */
  80174. #define USB_USBINTR_UPIE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_UPIE_SHIFT)) & USB_USBINTR_UPIE_MASK)
  80175. #define USB_USBINTR_TIE0_MASK (0x1000000U)
  80176. #define USB_USBINTR_TIE0_SHIFT (24U)
  80177. /*! TIE0 - TIE0
  80178. */
  80179. #define USB_USBINTR_TIE0(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_TIE0_SHIFT)) & USB_USBINTR_TIE0_MASK)
  80180. #define USB_USBINTR_TIE1_MASK (0x2000000U)
  80181. #define USB_USBINTR_TIE1_SHIFT (25U)
  80182. /*! TIE1 - TIE1
  80183. */
  80184. #define USB_USBINTR_TIE1(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_TIE1_SHIFT)) & USB_USBINTR_TIE1_MASK)
  80185. /*! @} */
  80186. /*! @name FRINDEX - USB Frame Index */
  80187. /*! @{ */
  80188. #define USB_FRINDEX_FRINDEX_MASK (0x3FFFU)
  80189. #define USB_FRINDEX_FRINDEX_SHIFT (0U)
  80190. /*! FRINDEX - FRINDEX
  80191. * 0b00000000000000..(1024) 12
  80192. * 0b00000000000001..(512) 11
  80193. * 0b00000000000010..(256) 10
  80194. * 0b00000000000011..(128) 9
  80195. * 0b00000000000100..(64) 8
  80196. * 0b00000000000101..(32) 7
  80197. * 0b00000000000110..(16) 6
  80198. * 0b00000000000111..(8) 5
  80199. */
  80200. #define USB_FRINDEX_FRINDEX(x) (((uint32_t)(((uint32_t)(x)) << USB_FRINDEX_FRINDEX_SHIFT)) & USB_FRINDEX_FRINDEX_MASK)
  80201. /*! @} */
  80202. /*! @name DEVICEADDR - Device Address */
  80203. /*! @{ */
  80204. #define USB_DEVICEADDR_USBADRA_MASK (0x1000000U)
  80205. #define USB_DEVICEADDR_USBADRA_SHIFT (24U)
  80206. /*! USBADRA - USBADRA
  80207. */
  80208. #define USB_DEVICEADDR_USBADRA(x) (((uint32_t)(((uint32_t)(x)) << USB_DEVICEADDR_USBADRA_SHIFT)) & USB_DEVICEADDR_USBADRA_MASK)
  80209. #define USB_DEVICEADDR_USBADR_MASK (0xFE000000U)
  80210. #define USB_DEVICEADDR_USBADR_SHIFT (25U)
  80211. /*! USBADR - USBADR
  80212. */
  80213. #define USB_DEVICEADDR_USBADR(x) (((uint32_t)(((uint32_t)(x)) << USB_DEVICEADDR_USBADR_SHIFT)) & USB_DEVICEADDR_USBADR_MASK)
  80214. /*! @} */
  80215. /*! @name PERIODICLISTBASE - Frame List Base Address */
  80216. /*! @{ */
  80217. #define USB_PERIODICLISTBASE_BASEADR_MASK (0xFFFFF000U)
  80218. #define USB_PERIODICLISTBASE_BASEADR_SHIFT (12U)
  80219. /*! BASEADR - BASEADR
  80220. */
  80221. #define USB_PERIODICLISTBASE_BASEADR(x) (((uint32_t)(((uint32_t)(x)) << USB_PERIODICLISTBASE_BASEADR_SHIFT)) & USB_PERIODICLISTBASE_BASEADR_MASK)
  80222. /*! @} */
  80223. /*! @name ASYNCLISTADDR - Next Asynch. Address */
  80224. /*! @{ */
  80225. #define USB_ASYNCLISTADDR_ASYBASE_MASK (0xFFFFFFE0U)
  80226. #define USB_ASYNCLISTADDR_ASYBASE_SHIFT (5U)
  80227. /*! ASYBASE - ASYBASE
  80228. */
  80229. #define USB_ASYNCLISTADDR_ASYBASE(x) (((uint32_t)(((uint32_t)(x)) << USB_ASYNCLISTADDR_ASYBASE_SHIFT)) & USB_ASYNCLISTADDR_ASYBASE_MASK)
  80230. /*! @} */
  80231. /*! @name ENDPTLISTADDR - Endpoint List Address */
  80232. /*! @{ */
  80233. #define USB_ENDPTLISTADDR_EPBASE_MASK (0xFFFFF800U)
  80234. #define USB_ENDPTLISTADDR_EPBASE_SHIFT (11U)
  80235. /*! EPBASE - EPBASE
  80236. */
  80237. #define USB_ENDPTLISTADDR_EPBASE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTLISTADDR_EPBASE_SHIFT)) & USB_ENDPTLISTADDR_EPBASE_MASK)
  80238. /*! @} */
  80239. /*! @name BURSTSIZE - Programmable Burst Size */
  80240. /*! @{ */
  80241. #define USB_BURSTSIZE_RXPBURST_MASK (0xFFU)
  80242. #define USB_BURSTSIZE_RXPBURST_SHIFT (0U)
  80243. /*! RXPBURST - RXPBURST
  80244. */
  80245. #define USB_BURSTSIZE_RXPBURST(x) (((uint32_t)(((uint32_t)(x)) << USB_BURSTSIZE_RXPBURST_SHIFT)) & USB_BURSTSIZE_RXPBURST_MASK)
  80246. #define USB_BURSTSIZE_TXPBURST_MASK (0x1FF00U)
  80247. #define USB_BURSTSIZE_TXPBURST_SHIFT (8U)
  80248. /*! TXPBURST - TXPBURST
  80249. */
  80250. #define USB_BURSTSIZE_TXPBURST(x) (((uint32_t)(((uint32_t)(x)) << USB_BURSTSIZE_TXPBURST_SHIFT)) & USB_BURSTSIZE_TXPBURST_MASK)
  80251. /*! @} */
  80252. /*! @name TXFILLTUNING - TX FIFO Fill Tuning */
  80253. /*! @{ */
  80254. #define USB_TXFILLTUNING_TXSCHOH_MASK (0xFFU)
  80255. #define USB_TXFILLTUNING_TXSCHOH_SHIFT (0U)
  80256. /*! TXSCHOH - TXSCHOH
  80257. */
  80258. #define USB_TXFILLTUNING_TXSCHOH(x) (((uint32_t)(((uint32_t)(x)) << USB_TXFILLTUNING_TXSCHOH_SHIFT)) & USB_TXFILLTUNING_TXSCHOH_MASK)
  80259. #define USB_TXFILLTUNING_TXSCHHEALTH_MASK (0x1F00U)
  80260. #define USB_TXFILLTUNING_TXSCHHEALTH_SHIFT (8U)
  80261. /*! TXSCHHEALTH - TXSCHHEALTH
  80262. */
  80263. #define USB_TXFILLTUNING_TXSCHHEALTH(x) (((uint32_t)(((uint32_t)(x)) << USB_TXFILLTUNING_TXSCHHEALTH_SHIFT)) & USB_TXFILLTUNING_TXSCHHEALTH_MASK)
  80264. #define USB_TXFILLTUNING_TXFIFOTHRES_MASK (0x3F0000U)
  80265. #define USB_TXFILLTUNING_TXFIFOTHRES_SHIFT (16U)
  80266. /*! TXFIFOTHRES - TXFIFOTHRES
  80267. */
  80268. #define USB_TXFILLTUNING_TXFIFOTHRES(x) (((uint32_t)(((uint32_t)(x)) << USB_TXFILLTUNING_TXFIFOTHRES_SHIFT)) & USB_TXFILLTUNING_TXFIFOTHRES_MASK)
  80269. /*! @} */
  80270. /*! @name ENDPTNAK - Endpoint NAK */
  80271. /*! @{ */
  80272. #define USB_ENDPTNAK_EPRN_MASK (0xFFU)
  80273. #define USB_ENDPTNAK_EPRN_SHIFT (0U)
  80274. /*! EPRN - EPRN
  80275. */
  80276. #define USB_ENDPTNAK_EPRN(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTNAK_EPRN_SHIFT)) & USB_ENDPTNAK_EPRN_MASK)
  80277. #define USB_ENDPTNAK_EPTN_MASK (0xFF0000U)
  80278. #define USB_ENDPTNAK_EPTN_SHIFT (16U)
  80279. /*! EPTN - EPTN
  80280. */
  80281. #define USB_ENDPTNAK_EPTN(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTNAK_EPTN_SHIFT)) & USB_ENDPTNAK_EPTN_MASK)
  80282. /*! @} */
  80283. /*! @name ENDPTNAKEN - Endpoint NAK Enable */
  80284. /*! @{ */
  80285. #define USB_ENDPTNAKEN_EPRNE_MASK (0xFFU)
  80286. #define USB_ENDPTNAKEN_EPRNE_SHIFT (0U)
  80287. /*! EPRNE - EPRNE
  80288. */
  80289. #define USB_ENDPTNAKEN_EPRNE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTNAKEN_EPRNE_SHIFT)) & USB_ENDPTNAKEN_EPRNE_MASK)
  80290. #define USB_ENDPTNAKEN_EPTNE_MASK (0xFF0000U)
  80291. #define USB_ENDPTNAKEN_EPTNE_SHIFT (16U)
  80292. /*! EPTNE - EPTNE
  80293. */
  80294. #define USB_ENDPTNAKEN_EPTNE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTNAKEN_EPTNE_SHIFT)) & USB_ENDPTNAKEN_EPTNE_MASK)
  80295. /*! @} */
  80296. /*! @name CONFIGFLAG - Configure Flag Register */
  80297. /*! @{ */
  80298. #define USB_CONFIGFLAG_CF_MASK (0x1U)
  80299. #define USB_CONFIGFLAG_CF_SHIFT (0U)
  80300. /*! CF - CF
  80301. * 0b0..Port routing control logic default-routes each port to an implementation dependent classic host controller.
  80302. * 0b1..Port routing control logic default-routes all ports to this host controller.
  80303. */
  80304. #define USB_CONFIGFLAG_CF(x) (((uint32_t)(((uint32_t)(x)) << USB_CONFIGFLAG_CF_SHIFT)) & USB_CONFIGFLAG_CF_MASK)
  80305. /*! @} */
  80306. /*! @name PORTSC1 - Port Status & Control */
  80307. /*! @{ */
  80308. #define USB_PORTSC1_CCS_MASK (0x1U)
  80309. #define USB_PORTSC1_CCS_SHIFT (0U)
  80310. /*! CCS - CCS
  80311. */
  80312. #define USB_PORTSC1_CCS(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_CCS_SHIFT)) & USB_PORTSC1_CCS_MASK)
  80313. #define USB_PORTSC1_CSC_MASK (0x2U)
  80314. #define USB_PORTSC1_CSC_SHIFT (1U)
  80315. /*! CSC - CSC
  80316. */
  80317. #define USB_PORTSC1_CSC(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_CSC_SHIFT)) & USB_PORTSC1_CSC_MASK)
  80318. #define USB_PORTSC1_PE_MASK (0x4U)
  80319. #define USB_PORTSC1_PE_SHIFT (2U)
  80320. /*! PE - PE
  80321. */
  80322. #define USB_PORTSC1_PE(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PE_SHIFT)) & USB_PORTSC1_PE_MASK)
  80323. #define USB_PORTSC1_PEC_MASK (0x8U)
  80324. #define USB_PORTSC1_PEC_SHIFT (3U)
  80325. /*! PEC - PEC
  80326. */
  80327. #define USB_PORTSC1_PEC(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PEC_SHIFT)) & USB_PORTSC1_PEC_MASK)
  80328. #define USB_PORTSC1_OCA_MASK (0x10U)
  80329. #define USB_PORTSC1_OCA_SHIFT (4U)
  80330. /*! OCA - OCA
  80331. * 0b1..This port currently has an over-current condition
  80332. * 0b0..This port does not have an over-current condition.
  80333. */
  80334. #define USB_PORTSC1_OCA(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_OCA_SHIFT)) & USB_PORTSC1_OCA_MASK)
  80335. #define USB_PORTSC1_OCC_MASK (0x20U)
  80336. #define USB_PORTSC1_OCC_SHIFT (5U)
  80337. /*! OCC - OCC
  80338. */
  80339. #define USB_PORTSC1_OCC(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_OCC_SHIFT)) & USB_PORTSC1_OCC_MASK)
  80340. #define USB_PORTSC1_FPR_MASK (0x40U)
  80341. #define USB_PORTSC1_FPR_SHIFT (6U)
  80342. /*! FPR - FPR
  80343. */
  80344. #define USB_PORTSC1_FPR(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_FPR_SHIFT)) & USB_PORTSC1_FPR_MASK)
  80345. #define USB_PORTSC1_SUSP_MASK (0x80U)
  80346. #define USB_PORTSC1_SUSP_SHIFT (7U)
  80347. /*! SUSP - SUSP
  80348. */
  80349. #define USB_PORTSC1_SUSP(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_SUSP_SHIFT)) & USB_PORTSC1_SUSP_MASK)
  80350. #define USB_PORTSC1_PR_MASK (0x100U)
  80351. #define USB_PORTSC1_PR_SHIFT (8U)
  80352. /*! PR - PR
  80353. */
  80354. #define USB_PORTSC1_PR(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PR_SHIFT)) & USB_PORTSC1_PR_MASK)
  80355. #define USB_PORTSC1_HSP_MASK (0x200U)
  80356. #define USB_PORTSC1_HSP_SHIFT (9U)
  80357. /*! HSP - HSP
  80358. */
  80359. #define USB_PORTSC1_HSP(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_HSP_SHIFT)) & USB_PORTSC1_HSP_MASK)
  80360. #define USB_PORTSC1_LS_MASK (0xC00U)
  80361. #define USB_PORTSC1_LS_SHIFT (10U)
  80362. /*! LS - LS
  80363. * 0b00..SE0
  80364. * 0b10..J-state
  80365. * 0b01..K-state
  80366. * 0b11..Undefined
  80367. */
  80368. #define USB_PORTSC1_LS(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_LS_SHIFT)) & USB_PORTSC1_LS_MASK)
  80369. #define USB_PORTSC1_PP_MASK (0x1000U)
  80370. #define USB_PORTSC1_PP_SHIFT (12U)
  80371. /*! PP - PP
  80372. */
  80373. #define USB_PORTSC1_PP(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PP_SHIFT)) & USB_PORTSC1_PP_MASK)
  80374. #define USB_PORTSC1_PO_MASK (0x2000U)
  80375. #define USB_PORTSC1_PO_SHIFT (13U)
  80376. /*! PO - PO
  80377. */
  80378. #define USB_PORTSC1_PO(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PO_SHIFT)) & USB_PORTSC1_PO_MASK)
  80379. #define USB_PORTSC1_PIC_MASK (0xC000U)
  80380. #define USB_PORTSC1_PIC_SHIFT (14U)
  80381. /*! PIC - PIC
  80382. * 0b00..Port indicators are off
  80383. * 0b01..Amber
  80384. * 0b10..Green
  80385. * 0b11..Undefined
  80386. */
  80387. #define USB_PORTSC1_PIC(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PIC_SHIFT)) & USB_PORTSC1_PIC_MASK)
  80388. #define USB_PORTSC1_PTC_MASK (0xF0000U)
  80389. #define USB_PORTSC1_PTC_SHIFT (16U)
  80390. /*! PTC - PTC
  80391. * 0b0000..TEST_MODE_DISABLE
  80392. * 0b0001..J_STATE
  80393. * 0b0010..K_STATE
  80394. * 0b0011..SE0 (host) / NAK (device)
  80395. * 0b0100..Packet
  80396. * 0b0101..FORCE_ENABLE_HS
  80397. * 0b0110..FORCE_ENABLE_FS
  80398. * 0b0111..FORCE_ENABLE_LS
  80399. * 0b1000-0b1111..Reserved
  80400. */
  80401. #define USB_PORTSC1_PTC(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PTC_SHIFT)) & USB_PORTSC1_PTC_MASK)
  80402. #define USB_PORTSC1_WKCN_MASK (0x100000U)
  80403. #define USB_PORTSC1_WKCN_SHIFT (20U)
  80404. /*! WKCN - WKCN
  80405. */
  80406. #define USB_PORTSC1_WKCN(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_WKCN_SHIFT)) & USB_PORTSC1_WKCN_MASK)
  80407. #define USB_PORTSC1_WKDC_MASK (0x200000U)
  80408. #define USB_PORTSC1_WKDC_SHIFT (21U)
  80409. /*! WKDC - WKDC
  80410. */
  80411. #define USB_PORTSC1_WKDC(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_WKDC_SHIFT)) & USB_PORTSC1_WKDC_MASK)
  80412. #define USB_PORTSC1_WKOC_MASK (0x400000U)
  80413. #define USB_PORTSC1_WKOC_SHIFT (22U)
  80414. /*! WKOC - WKOC
  80415. */
  80416. #define USB_PORTSC1_WKOC(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_WKOC_SHIFT)) & USB_PORTSC1_WKOC_MASK)
  80417. #define USB_PORTSC1_PHCD_MASK (0x800000U)
  80418. #define USB_PORTSC1_PHCD_SHIFT (23U)
  80419. /*! PHCD - PHCD
  80420. * 0b1..Disable PHY clock
  80421. * 0b0..Enable PHY clock
  80422. */
  80423. #define USB_PORTSC1_PHCD(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PHCD_SHIFT)) & USB_PORTSC1_PHCD_MASK)
  80424. #define USB_PORTSC1_PFSC_MASK (0x1000000U)
  80425. #define USB_PORTSC1_PFSC_SHIFT (24U)
  80426. /*! PFSC - PFSC
  80427. * 0b1..Forced to full speed
  80428. * 0b0..Normal operation
  80429. */
  80430. #define USB_PORTSC1_PFSC(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PFSC_SHIFT)) & USB_PORTSC1_PFSC_MASK)
  80431. #define USB_PORTSC1_PTS_2_MASK (0x2000000U)
  80432. #define USB_PORTSC1_PTS_2_SHIFT (25U)
  80433. /*! PTS_2 - PTS_2
  80434. */
  80435. #define USB_PORTSC1_PTS_2(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PTS_2_SHIFT)) & USB_PORTSC1_PTS_2_MASK)
  80436. #define USB_PORTSC1_PSPD_MASK (0xC000000U)
  80437. #define USB_PORTSC1_PSPD_SHIFT (26U)
  80438. /*! PSPD - PSPD
  80439. * 0b00..Full Speed
  80440. * 0b01..Low Speed
  80441. * 0b10..High Speed
  80442. * 0b11..Undefined
  80443. */
  80444. #define USB_PORTSC1_PSPD(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PSPD_SHIFT)) & USB_PORTSC1_PSPD_MASK)
  80445. #define USB_PORTSC1_PTW_MASK (0x10000000U)
  80446. #define USB_PORTSC1_PTW_SHIFT (28U)
  80447. /*! PTW - PTW
  80448. * 0b0..Select the 8-bit UTMI interface [60MHz]
  80449. * 0b1..Select the 16-bit UTMI interface [30MHz]
  80450. */
  80451. #define USB_PORTSC1_PTW(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PTW_SHIFT)) & USB_PORTSC1_PTW_MASK)
  80452. #define USB_PORTSC1_STS_MASK (0x20000000U)
  80453. #define USB_PORTSC1_STS_SHIFT (29U)
  80454. /*! STS - STS
  80455. */
  80456. #define USB_PORTSC1_STS(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_STS_SHIFT)) & USB_PORTSC1_STS_MASK)
  80457. #define USB_PORTSC1_PTS_1_MASK (0xC0000000U)
  80458. #define USB_PORTSC1_PTS_1_SHIFT (30U)
  80459. /*! PTS_1 - PTS_1
  80460. */
  80461. #define USB_PORTSC1_PTS_1(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PTS_1_SHIFT)) & USB_PORTSC1_PTS_1_MASK)
  80462. /*! @} */
  80463. /*! @name OTGSC - On-The-Go Status & control */
  80464. /*! @{ */
  80465. #define USB_OTGSC_VD_MASK (0x1U)
  80466. #define USB_OTGSC_VD_SHIFT (0U)
  80467. /*! VD - VD
  80468. */
  80469. #define USB_OTGSC_VD(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_VD_SHIFT)) & USB_OTGSC_VD_MASK)
  80470. #define USB_OTGSC_VC_MASK (0x2U)
  80471. #define USB_OTGSC_VC_SHIFT (1U)
  80472. /*! VC - VC
  80473. */
  80474. #define USB_OTGSC_VC(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_VC_SHIFT)) & USB_OTGSC_VC_MASK)
  80475. #define USB_OTGSC_OT_MASK (0x8U)
  80476. #define USB_OTGSC_OT_SHIFT (3U)
  80477. /*! OT - OT
  80478. */
  80479. #define USB_OTGSC_OT(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_OT_SHIFT)) & USB_OTGSC_OT_MASK)
  80480. #define USB_OTGSC_DP_MASK (0x10U)
  80481. #define USB_OTGSC_DP_SHIFT (4U)
  80482. /*! DP - DP
  80483. */
  80484. #define USB_OTGSC_DP(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_DP_SHIFT)) & USB_OTGSC_DP_MASK)
  80485. #define USB_OTGSC_IDPU_MASK (0x20U)
  80486. #define USB_OTGSC_IDPU_SHIFT (5U)
  80487. /*! IDPU - IDPU
  80488. */
  80489. #define USB_OTGSC_IDPU(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_IDPU_SHIFT)) & USB_OTGSC_IDPU_MASK)
  80490. #define USB_OTGSC_ID_MASK (0x100U)
  80491. #define USB_OTGSC_ID_SHIFT (8U)
  80492. /*! ID - ID
  80493. */
  80494. #define USB_OTGSC_ID(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_ID_SHIFT)) & USB_OTGSC_ID_MASK)
  80495. #define USB_OTGSC_AVV_MASK (0x200U)
  80496. #define USB_OTGSC_AVV_SHIFT (9U)
  80497. /*! AVV - AVV
  80498. */
  80499. #define USB_OTGSC_AVV(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_AVV_SHIFT)) & USB_OTGSC_AVV_MASK)
  80500. #define USB_OTGSC_ASV_MASK (0x400U)
  80501. #define USB_OTGSC_ASV_SHIFT (10U)
  80502. /*! ASV - ASV
  80503. */
  80504. #define USB_OTGSC_ASV(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_ASV_SHIFT)) & USB_OTGSC_ASV_MASK)
  80505. #define USB_OTGSC_BSV_MASK (0x800U)
  80506. #define USB_OTGSC_BSV_SHIFT (11U)
  80507. /*! BSV - BSV
  80508. */
  80509. #define USB_OTGSC_BSV(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_BSV_SHIFT)) & USB_OTGSC_BSV_MASK)
  80510. #define USB_OTGSC_BSE_MASK (0x1000U)
  80511. #define USB_OTGSC_BSE_SHIFT (12U)
  80512. /*! BSE - BSE
  80513. */
  80514. #define USB_OTGSC_BSE(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_BSE_SHIFT)) & USB_OTGSC_BSE_MASK)
  80515. #define USB_OTGSC_TOG_1MS_MASK (0x2000U)
  80516. #define USB_OTGSC_TOG_1MS_SHIFT (13U)
  80517. /*! TOG_1MS - TOG_1MS
  80518. */
  80519. #define USB_OTGSC_TOG_1MS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_TOG_1MS_SHIFT)) & USB_OTGSC_TOG_1MS_MASK)
  80520. #define USB_OTGSC_DPS_MASK (0x4000U)
  80521. #define USB_OTGSC_DPS_SHIFT (14U)
  80522. /*! DPS - DPS
  80523. */
  80524. #define USB_OTGSC_DPS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_DPS_SHIFT)) & USB_OTGSC_DPS_MASK)
  80525. #define USB_OTGSC_IDIS_MASK (0x10000U)
  80526. #define USB_OTGSC_IDIS_SHIFT (16U)
  80527. /*! IDIS - IDIS
  80528. */
  80529. #define USB_OTGSC_IDIS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_IDIS_SHIFT)) & USB_OTGSC_IDIS_MASK)
  80530. #define USB_OTGSC_AVVIS_MASK (0x20000U)
  80531. #define USB_OTGSC_AVVIS_SHIFT (17U)
  80532. /*! AVVIS - AVVIS
  80533. */
  80534. #define USB_OTGSC_AVVIS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_AVVIS_SHIFT)) & USB_OTGSC_AVVIS_MASK)
  80535. #define USB_OTGSC_ASVIS_MASK (0x40000U)
  80536. #define USB_OTGSC_ASVIS_SHIFT (18U)
  80537. /*! ASVIS - ASVIS
  80538. */
  80539. #define USB_OTGSC_ASVIS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_ASVIS_SHIFT)) & USB_OTGSC_ASVIS_MASK)
  80540. #define USB_OTGSC_BSVIS_MASK (0x80000U)
  80541. #define USB_OTGSC_BSVIS_SHIFT (19U)
  80542. /*! BSVIS - BSVIS
  80543. */
  80544. #define USB_OTGSC_BSVIS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_BSVIS_SHIFT)) & USB_OTGSC_BSVIS_MASK)
  80545. #define USB_OTGSC_BSEIS_MASK (0x100000U)
  80546. #define USB_OTGSC_BSEIS_SHIFT (20U)
  80547. /*! BSEIS - BSEIS
  80548. */
  80549. #define USB_OTGSC_BSEIS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_BSEIS_SHIFT)) & USB_OTGSC_BSEIS_MASK)
  80550. #define USB_OTGSC_STATUS_1MS_MASK (0x200000U)
  80551. #define USB_OTGSC_STATUS_1MS_SHIFT (21U)
  80552. /*! STATUS_1MS - STATUS_1MS
  80553. */
  80554. #define USB_OTGSC_STATUS_1MS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_STATUS_1MS_SHIFT)) & USB_OTGSC_STATUS_1MS_MASK)
  80555. #define USB_OTGSC_DPIS_MASK (0x400000U)
  80556. #define USB_OTGSC_DPIS_SHIFT (22U)
  80557. /*! DPIS - DPIS
  80558. */
  80559. #define USB_OTGSC_DPIS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_DPIS_SHIFT)) & USB_OTGSC_DPIS_MASK)
  80560. #define USB_OTGSC_IDIE_MASK (0x1000000U)
  80561. #define USB_OTGSC_IDIE_SHIFT (24U)
  80562. /*! IDIE - IDIE
  80563. */
  80564. #define USB_OTGSC_IDIE(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_IDIE_SHIFT)) & USB_OTGSC_IDIE_MASK)
  80565. #define USB_OTGSC_AVVIE_MASK (0x2000000U)
  80566. #define USB_OTGSC_AVVIE_SHIFT (25U)
  80567. /*! AVVIE - AVVIE
  80568. */
  80569. #define USB_OTGSC_AVVIE(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_AVVIE_SHIFT)) & USB_OTGSC_AVVIE_MASK)
  80570. #define USB_OTGSC_ASVIE_MASK (0x4000000U)
  80571. #define USB_OTGSC_ASVIE_SHIFT (26U)
  80572. /*! ASVIE - ASVIE
  80573. */
  80574. #define USB_OTGSC_ASVIE(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_ASVIE_SHIFT)) & USB_OTGSC_ASVIE_MASK)
  80575. #define USB_OTGSC_BSVIE_MASK (0x8000000U)
  80576. #define USB_OTGSC_BSVIE_SHIFT (27U)
  80577. /*! BSVIE - BSVIE
  80578. */
  80579. #define USB_OTGSC_BSVIE(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_BSVIE_SHIFT)) & USB_OTGSC_BSVIE_MASK)
  80580. #define USB_OTGSC_BSEIE_MASK (0x10000000U)
  80581. #define USB_OTGSC_BSEIE_SHIFT (28U)
  80582. /*! BSEIE - BSEIE
  80583. */
  80584. #define USB_OTGSC_BSEIE(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_BSEIE_SHIFT)) & USB_OTGSC_BSEIE_MASK)
  80585. #define USB_OTGSC_EN_1MS_MASK (0x20000000U)
  80586. #define USB_OTGSC_EN_1MS_SHIFT (29U)
  80587. /*! EN_1MS - EN_1MS
  80588. */
  80589. #define USB_OTGSC_EN_1MS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_EN_1MS_SHIFT)) & USB_OTGSC_EN_1MS_MASK)
  80590. #define USB_OTGSC_DPIE_MASK (0x40000000U)
  80591. #define USB_OTGSC_DPIE_SHIFT (30U)
  80592. /*! DPIE - DPIE
  80593. */
  80594. #define USB_OTGSC_DPIE(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_DPIE_SHIFT)) & USB_OTGSC_DPIE_MASK)
  80595. /*! @} */
  80596. /*! @name USBMODE - USB Device Mode */
  80597. /*! @{ */
  80598. #define USB_USBMODE_CM_MASK (0x3U)
  80599. #define USB_USBMODE_CM_SHIFT (0U)
  80600. /*! CM - CM
  80601. * 0b00..Idle [Default for combination host/device]
  80602. * 0b01..Reserved
  80603. * 0b10..Device Controller [Default for device only controller]
  80604. * 0b11..Host Controller [Default for host only controller]
  80605. */
  80606. #define USB_USBMODE_CM(x) (((uint32_t)(((uint32_t)(x)) << USB_USBMODE_CM_SHIFT)) & USB_USBMODE_CM_MASK)
  80607. #define USB_USBMODE_ES_MASK (0x4U)
  80608. #define USB_USBMODE_ES_SHIFT (2U)
  80609. /*! ES - ES
  80610. * 0b0..Little Endian [Default]
  80611. * 0b1..Big Endian
  80612. */
  80613. #define USB_USBMODE_ES(x) (((uint32_t)(((uint32_t)(x)) << USB_USBMODE_ES_SHIFT)) & USB_USBMODE_ES_MASK)
  80614. #define USB_USBMODE_SLOM_MASK (0x8U)
  80615. #define USB_USBMODE_SLOM_SHIFT (3U)
  80616. /*! SLOM - SLOM
  80617. * 0b0..Setup Lockouts On (default);
  80618. * 0b1..Setup Lockouts Off
  80619. */
  80620. #define USB_USBMODE_SLOM(x) (((uint32_t)(((uint32_t)(x)) << USB_USBMODE_SLOM_SHIFT)) & USB_USBMODE_SLOM_MASK)
  80621. #define USB_USBMODE_SDIS_MASK (0x10U)
  80622. #define USB_USBMODE_SDIS_SHIFT (4U)
  80623. /*! SDIS - SDIS
  80624. */
  80625. #define USB_USBMODE_SDIS(x) (((uint32_t)(((uint32_t)(x)) << USB_USBMODE_SDIS_SHIFT)) & USB_USBMODE_SDIS_MASK)
  80626. /*! @} */
  80627. /*! @name ENDPTSETUPSTAT - Endpoint Setup Status */
  80628. /*! @{ */
  80629. #define USB_ENDPTSETUPSTAT_ENDPTSETUPSTAT_MASK (0xFFFFU)
  80630. #define USB_ENDPTSETUPSTAT_ENDPTSETUPSTAT_SHIFT (0U)
  80631. /*! ENDPTSETUPSTAT - ENDPTSETUPSTAT
  80632. */
  80633. #define USB_ENDPTSETUPSTAT_ENDPTSETUPSTAT(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTSETUPSTAT_ENDPTSETUPSTAT_SHIFT)) & USB_ENDPTSETUPSTAT_ENDPTSETUPSTAT_MASK)
  80634. /*! @} */
  80635. /*! @name ENDPTPRIME - Endpoint Prime */
  80636. /*! @{ */
  80637. #define USB_ENDPTPRIME_PERB_MASK (0xFFU)
  80638. #define USB_ENDPTPRIME_PERB_SHIFT (0U)
  80639. /*! PERB - PERB
  80640. */
  80641. #define USB_ENDPTPRIME_PERB(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTPRIME_PERB_SHIFT)) & USB_ENDPTPRIME_PERB_MASK)
  80642. #define USB_ENDPTPRIME_PETB_MASK (0xFF0000U)
  80643. #define USB_ENDPTPRIME_PETB_SHIFT (16U)
  80644. /*! PETB - PETB
  80645. */
  80646. #define USB_ENDPTPRIME_PETB(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTPRIME_PETB_SHIFT)) & USB_ENDPTPRIME_PETB_MASK)
  80647. /*! @} */
  80648. /*! @name ENDPTFLUSH - Endpoint Flush */
  80649. /*! @{ */
  80650. #define USB_ENDPTFLUSH_FERB_MASK (0xFFU)
  80651. #define USB_ENDPTFLUSH_FERB_SHIFT (0U)
  80652. /*! FERB - FERB
  80653. */
  80654. #define USB_ENDPTFLUSH_FERB(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTFLUSH_FERB_SHIFT)) & USB_ENDPTFLUSH_FERB_MASK)
  80655. #define USB_ENDPTFLUSH_FETB_MASK (0xFF0000U)
  80656. #define USB_ENDPTFLUSH_FETB_SHIFT (16U)
  80657. /*! FETB - FETB
  80658. */
  80659. #define USB_ENDPTFLUSH_FETB(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTFLUSH_FETB_SHIFT)) & USB_ENDPTFLUSH_FETB_MASK)
  80660. /*! @} */
  80661. /*! @name ENDPTSTAT - Endpoint Status */
  80662. /*! @{ */
  80663. #define USB_ENDPTSTAT_ERBR_MASK (0xFFU)
  80664. #define USB_ENDPTSTAT_ERBR_SHIFT (0U)
  80665. /*! ERBR - ERBR
  80666. */
  80667. #define USB_ENDPTSTAT_ERBR(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTSTAT_ERBR_SHIFT)) & USB_ENDPTSTAT_ERBR_MASK)
  80668. #define USB_ENDPTSTAT_ETBR_MASK (0xFF0000U)
  80669. #define USB_ENDPTSTAT_ETBR_SHIFT (16U)
  80670. /*! ETBR - ETBR
  80671. */
  80672. #define USB_ENDPTSTAT_ETBR(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTSTAT_ETBR_SHIFT)) & USB_ENDPTSTAT_ETBR_MASK)
  80673. /*! @} */
  80674. /*! @name ENDPTCOMPLETE - Endpoint Complete */
  80675. /*! @{ */
  80676. #define USB_ENDPTCOMPLETE_ERCE_MASK (0xFFU)
  80677. #define USB_ENDPTCOMPLETE_ERCE_SHIFT (0U)
  80678. /*! ERCE - ERCE
  80679. */
  80680. #define USB_ENDPTCOMPLETE_ERCE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCOMPLETE_ERCE_SHIFT)) & USB_ENDPTCOMPLETE_ERCE_MASK)
  80681. #define USB_ENDPTCOMPLETE_ETCE_MASK (0xFF0000U)
  80682. #define USB_ENDPTCOMPLETE_ETCE_SHIFT (16U)
  80683. /*! ETCE - ETCE
  80684. */
  80685. #define USB_ENDPTCOMPLETE_ETCE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCOMPLETE_ETCE_SHIFT)) & USB_ENDPTCOMPLETE_ETCE_MASK)
  80686. /*! @} */
  80687. /*! @name ENDPTCTRL0 - Endpoint Control0 */
  80688. /*! @{ */
  80689. #define USB_ENDPTCTRL0_RXS_MASK (0x1U)
  80690. #define USB_ENDPTCTRL0_RXS_SHIFT (0U)
  80691. /*! RXS - RXS
  80692. */
  80693. #define USB_ENDPTCTRL0_RXS(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL0_RXS_SHIFT)) & USB_ENDPTCTRL0_RXS_MASK)
  80694. #define USB_ENDPTCTRL0_RXT_MASK (0xCU)
  80695. #define USB_ENDPTCTRL0_RXT_SHIFT (2U)
  80696. /*! RXT - RXT
  80697. */
  80698. #define USB_ENDPTCTRL0_RXT(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL0_RXT_SHIFT)) & USB_ENDPTCTRL0_RXT_MASK)
  80699. #define USB_ENDPTCTRL0_RXE_MASK (0x80U)
  80700. #define USB_ENDPTCTRL0_RXE_SHIFT (7U)
  80701. /*! RXE - RXE
  80702. */
  80703. #define USB_ENDPTCTRL0_RXE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL0_RXE_SHIFT)) & USB_ENDPTCTRL0_RXE_MASK)
  80704. #define USB_ENDPTCTRL0_TXS_MASK (0x10000U)
  80705. #define USB_ENDPTCTRL0_TXS_SHIFT (16U)
  80706. /*! TXS - TXS
  80707. */
  80708. #define USB_ENDPTCTRL0_TXS(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL0_TXS_SHIFT)) & USB_ENDPTCTRL0_TXS_MASK)
  80709. #define USB_ENDPTCTRL0_TXT_MASK (0xC0000U)
  80710. #define USB_ENDPTCTRL0_TXT_SHIFT (18U)
  80711. /*! TXT - TXT
  80712. */
  80713. #define USB_ENDPTCTRL0_TXT(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL0_TXT_SHIFT)) & USB_ENDPTCTRL0_TXT_MASK)
  80714. #define USB_ENDPTCTRL0_TXE_MASK (0x800000U)
  80715. #define USB_ENDPTCTRL0_TXE_SHIFT (23U)
  80716. /*! TXE - TXE
  80717. */
  80718. #define USB_ENDPTCTRL0_TXE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL0_TXE_SHIFT)) & USB_ENDPTCTRL0_TXE_MASK)
  80719. /*! @} */
  80720. /*! @name ENDPTCTRL - Endpoint Control 1..Endpoint Control 7 */
  80721. /*! @{ */
  80722. #define USB_ENDPTCTRL_RXS_MASK (0x1U)
  80723. #define USB_ENDPTCTRL_RXS_SHIFT (0U)
  80724. /*! RXS - RXS
  80725. */
  80726. #define USB_ENDPTCTRL_RXS(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL_RXS_SHIFT)) & USB_ENDPTCTRL_RXS_MASK)
  80727. #define USB_ENDPTCTRL_RXD_MASK (0x2U)
  80728. #define USB_ENDPTCTRL_RXD_SHIFT (1U)
  80729. /*! RXD - RXD
  80730. */
  80731. #define USB_ENDPTCTRL_RXD(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL_RXD_SHIFT)) & USB_ENDPTCTRL_RXD_MASK)
  80732. #define USB_ENDPTCTRL_RXT_MASK (0xCU)
  80733. #define USB_ENDPTCTRL_RXT_SHIFT (2U)
  80734. /*! RXT - RXT
  80735. */
  80736. #define USB_ENDPTCTRL_RXT(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL_RXT_SHIFT)) & USB_ENDPTCTRL_RXT_MASK)
  80737. #define USB_ENDPTCTRL_RXI_MASK (0x20U)
  80738. #define USB_ENDPTCTRL_RXI_SHIFT (5U)
  80739. /*! RXI - RXI
  80740. */
  80741. #define USB_ENDPTCTRL_RXI(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL_RXI_SHIFT)) & USB_ENDPTCTRL_RXI_MASK)
  80742. #define USB_ENDPTCTRL_RXR_MASK (0x40U)
  80743. #define USB_ENDPTCTRL_RXR_SHIFT (6U)
  80744. /*! RXR - RXR
  80745. */
  80746. #define USB_ENDPTCTRL_RXR(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL_RXR_SHIFT)) & USB_ENDPTCTRL_RXR_MASK)
  80747. #define USB_ENDPTCTRL_RXE_MASK (0x80U)
  80748. #define USB_ENDPTCTRL_RXE_SHIFT (7U)
  80749. /*! RXE - RXE
  80750. */
  80751. #define USB_ENDPTCTRL_RXE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL_RXE_SHIFT)) & USB_ENDPTCTRL_RXE_MASK)
  80752. #define USB_ENDPTCTRL_TXS_MASK (0x10000U)
  80753. #define USB_ENDPTCTRL_TXS_SHIFT (16U)
  80754. /*! TXS - TXS
  80755. */
  80756. #define USB_ENDPTCTRL_TXS(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL_TXS_SHIFT)) & USB_ENDPTCTRL_TXS_MASK)
  80757. #define USB_ENDPTCTRL_TXD_MASK (0x20000U)
  80758. #define USB_ENDPTCTRL_TXD_SHIFT (17U)
  80759. /*! TXD - TXD
  80760. */
  80761. #define USB_ENDPTCTRL_TXD(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL_TXD_SHIFT)) & USB_ENDPTCTRL_TXD_MASK)
  80762. #define USB_ENDPTCTRL_TXT_MASK (0xC0000U)
  80763. #define USB_ENDPTCTRL_TXT_SHIFT (18U)
  80764. /*! TXT - TXT
  80765. */
  80766. #define USB_ENDPTCTRL_TXT(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL_TXT_SHIFT)) & USB_ENDPTCTRL_TXT_MASK)
  80767. #define USB_ENDPTCTRL_TXI_MASK (0x200000U)
  80768. #define USB_ENDPTCTRL_TXI_SHIFT (21U)
  80769. /*! TXI - TXI
  80770. */
  80771. #define USB_ENDPTCTRL_TXI(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL_TXI_SHIFT)) & USB_ENDPTCTRL_TXI_MASK)
  80772. #define USB_ENDPTCTRL_TXR_MASK (0x400000U)
  80773. #define USB_ENDPTCTRL_TXR_SHIFT (22U)
  80774. /*! TXR - TXR
  80775. */
  80776. #define USB_ENDPTCTRL_TXR(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL_TXR_SHIFT)) & USB_ENDPTCTRL_TXR_MASK)
  80777. #define USB_ENDPTCTRL_TXE_MASK (0x800000U)
  80778. #define USB_ENDPTCTRL_TXE_SHIFT (23U)
  80779. /*! TXE - TXE
  80780. */
  80781. #define USB_ENDPTCTRL_TXE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL_TXE_SHIFT)) & USB_ENDPTCTRL_TXE_MASK)
  80782. /*! @} */
  80783. /* The count of USB_ENDPTCTRL */
  80784. #define USB_ENDPTCTRL_COUNT (7U)
  80785. /*!
  80786. * @}
  80787. */ /* end of group USB_Register_Masks */
  80788. /* USB - Peripheral instance base addresses */
  80789. /** Peripheral USB_OTG1 base address */
  80790. #define USB_OTG1_BASE (0x40430000u)
  80791. /** Peripheral USB_OTG1 base pointer */
  80792. #define USB_OTG1 ((USB_Type *)USB_OTG1_BASE)
  80793. /** Peripheral USB_OTG2 base address */
  80794. #define USB_OTG2_BASE (0x4042C000u)
  80795. /** Peripheral USB_OTG2 base pointer */
  80796. #define USB_OTG2 ((USB_Type *)USB_OTG2_BASE)
  80797. /** Array initializer of USB peripheral base addresses */
  80798. #define USB_BASE_ADDRS { 0u, USB_OTG1_BASE, USB_OTG2_BASE }
  80799. /** Array initializer of USB peripheral base pointers */
  80800. #define USB_BASE_PTRS { (USB_Type *)0u, USB_OTG1, USB_OTG2 }
  80801. /** Interrupt vectors for the USB peripheral type */
  80802. #define USB_IRQS { NotAvail_IRQn, USB_OTG1_IRQn, USB_OTG2_IRQn }
  80803. /* Backward compatibility */
  80804. #define GPTIMER0CTL GPTIMER0CTRL
  80805. #define GPTIMER1CTL GPTIMER1CTRL
  80806. #define USB_SBUSCFG SBUSCFG
  80807. #define EPLISTADDR ENDPTLISTADDR
  80808. #define EPSETUPSR ENDPTSETUPSTAT
  80809. #define EPPRIME ENDPTPRIME
  80810. #define EPFLUSH ENDPTFLUSH
  80811. #define EPSR ENDPTSTAT
  80812. #define EPCOMPLETE ENDPTCOMPLETE
  80813. #define EPCR ENDPTCTRL
  80814. #define EPCR0 ENDPTCTRL0
  80815. #define USBHS_ID_ID_MASK USB_ID_ID_MASK
  80816. #define USBHS_ID_ID_SHIFT USB_ID_ID_SHIFT
  80817. #define USBHS_ID_ID(x) USB_ID_ID(x)
  80818. #define USBHS_ID_NID_MASK USB_ID_NID_MASK
  80819. #define USBHS_ID_NID_SHIFT USB_ID_NID_SHIFT
  80820. #define USBHS_ID_NID(x) USB_ID_NID(x)
  80821. #define USBHS_ID_REVISION_MASK USB_ID_REVISION_MASK
  80822. #define USBHS_ID_REVISION_SHIFT USB_ID_REVISION_SHIFT
  80823. #define USBHS_ID_REVISION(x) USB_ID_REVISION(x)
  80824. #define USBHS_HWGENERAL_PHYW_MASK USB_HWGENERAL_PHYW_MASK
  80825. #define USBHS_HWGENERAL_PHYW_SHIFT USB_HWGENERAL_PHYW_SHIFT
  80826. #define USBHS_HWGENERAL_PHYW(x) USB_HWGENERAL_PHYW(x)
  80827. #define USBHS_HWGENERAL_PHYM_MASK USB_HWGENERAL_PHYM_MASK
  80828. #define USBHS_HWGENERAL_PHYM_SHIFT USB_HWGENERAL_PHYM_SHIFT
  80829. #define USBHS_HWGENERAL_PHYM(x) USB_HWGENERAL_PHYM(x)
  80830. #define USBHS_HWGENERAL_SM_MASK USB_HWGENERAL_SM_MASK
  80831. #define USBHS_HWGENERAL_SM_SHIFT USB_HWGENERAL_SM_SHIFT
  80832. #define USBHS_HWGENERAL_SM(x) USB_HWGENERAL_SM(x)
  80833. #define USBHS_HWHOST_HC_MASK USB_HWHOST_HC_MASK
  80834. #define USBHS_HWHOST_HC_SHIFT USB_HWHOST_HC_SHIFT
  80835. #define USBHS_HWHOST_HC(x) USB_HWHOST_HC(x)
  80836. #define USBHS_HWHOST_NPORT_MASK USB_HWHOST_NPORT_MASK
  80837. #define USBHS_HWHOST_NPORT_SHIFT USB_HWHOST_NPORT_SHIFT
  80838. #define USBHS_HWHOST_NPORT(x) USB_HWHOST_NPORT(x)
  80839. #define USBHS_HWDEVICE_DC_MASK USB_HWDEVICE_DC_MASK
  80840. #define USBHS_HWDEVICE_DC_SHIFT USB_HWDEVICE_DC_SHIFT
  80841. #define USBHS_HWDEVICE_DC(x) USB_HWDEVICE_DC(x)
  80842. #define USBHS_HWDEVICE_DEVEP_MASK USB_HWDEVICE_DEVEP_MASK
  80843. #define USBHS_HWDEVICE_DEVEP_SHIFT USB_HWDEVICE_DEVEP_SHIFT
  80844. #define USBHS_HWDEVICE_DEVEP(x) USB_HWDEVICE_DEVEP(x)
  80845. #define USBHS_HWTXBUF_TXBURST_MASK USB_HWTXBUF_TXBURST_MASK
  80846. #define USBHS_HWTXBUF_TXBURST_SHIFT USB_HWTXBUF_TXBURST_SHIFT
  80847. #define USBHS_HWTXBUF_TXBURST(x) USB_HWTXBUF_TXBURST(x)
  80848. #define USBHS_HWTXBUF_TXCHANADD_MASK USB_HWTXBUF_TXCHANADD_MASK
  80849. #define USBHS_HWTXBUF_TXCHANADD_SHIFT USB_HWTXBUF_TXCHANADD_SHIFT
  80850. #define USBHS_HWTXBUF_TXCHANADD(x) USB_HWTXBUF_TXCHANADD(x)
  80851. #define USBHS_HWRXBUF_RXBURST_MASK USB_HWRXBUF_RXBURST_MASK
  80852. #define USBHS_HWRXBUF_RXBURST_SHIFT USB_HWRXBUF_RXBURST_SHIFT
  80853. #define USBHS_HWRXBUF_RXBURST(x) USB_HWRXBUF_RXBURST(x)
  80854. #define USBHS_HWRXBUF_RXADD_MASK USB_HWRXBUF_RXADD_MASK
  80855. #define USBHS_HWRXBUF_RXADD_SHIFT USB_HWRXBUF_RXADD_SHIFT
  80856. #define USBHS_HWRXBUF_RXADD(x) USB_HWRXBUF_RXADD(x)
  80857. #define USBHS_GPTIMER0LD_GPTLD_MASK USB_GPTIMER0LD_GPTLD_MASK
  80858. #define USBHS_GPTIMER0LD_GPTLD_SHIFT USB_GPTIMER0LD_GPTLD_SHIFT
  80859. #define USBHS_GPTIMER0LD_GPTLD(x) USB_GPTIMER0LD_GPTLD(x)
  80860. #define USBHS_GPTIMER0CTL_GPTCNT_MASK USB_GPTIMER0CTRL_GPTCNT_MASK
  80861. #define USBHS_GPTIMER0CTL_GPTCNT_SHIFT USB_GPTIMER0CTRL_GPTCNT_SHIFT
  80862. #define USBHS_GPTIMER0CTL_GPTCNT(x) USB_GPTIMER0CTRL_GPTCNT(x)
  80863. #define USBHS_GPTIMER0CTL_MODE_MASK USB_GPTIMER0CTRL_GPTMODE_MASK
  80864. #define USBHS_GPTIMER0CTL_MODE_SHIFT USB_GPTIMER0CTRL_GPTMODE_SHIFT
  80865. #define USBHS_GPTIMER0CTL_MODE(x) USB_GPTIMER0CTRL_GPTMODE(x)
  80866. #define USBHS_GPTIMER0CTL_RST_MASK USB_GPTIMER0CTRL_GPTRST_MASK
  80867. #define USBHS_GPTIMER0CTL_RST_SHIFT USB_GPTIMER0CTRL_GPTRST_SHIFT
  80868. #define USBHS_GPTIMER0CTL_RST(x) USB_GPTIMER0CTRL_GPTRST(x)
  80869. #define USBHS_GPTIMER0CTL_RUN_MASK USB_GPTIMER0CTRL_GPTRUN_MASK
  80870. #define USBHS_GPTIMER0CTL_RUN_SHIFT USB_GPTIMER0CTRL_GPTRUN_SHIFT
  80871. #define USBHS_GPTIMER0CTL_RUN(x) USB_GPTIMER0CTRL_GPTRUN(x)
  80872. #define USBHS_GPTIMER1LD_GPTLD_MASK USB_GPTIMER1LD_GPTLD_MASK
  80873. #define USBHS_GPTIMER1LD_GPTLD_SHIFT USB_GPTIMER1LD_GPTLD_SHIFT
  80874. #define USBHS_GPTIMER1LD_GPTLD(x) USB_GPTIMER1LD_GPTLD(x)
  80875. #define USBHS_GPTIMER1CTL_GPTCNT_MASK USB_GPTIMER1CTRL_GPTCNT_MASK
  80876. #define USBHS_GPTIMER1CTL_GPTCNT_SHIFT USB_GPTIMER1CTRL_GPTCNT_SHIFT
  80877. #define USBHS_GPTIMER1CTL_GPTCNT(x) USB_GPTIMER1CTRL_GPTCNT(x)
  80878. #define USBHS_GPTIMER1CTL_MODE_MASK USB_GPTIMER1CTRL_GPTMODE_MASK
  80879. #define USBHS_GPTIMER1CTL_MODE_SHIFT USB_GPTIMER1CTRL_GPTMODE_SHIFT
  80880. #define USBHS_GPTIMER1CTL_MODE(x) USB_GPTIMER1CTRL_GPTMODE(x)
  80881. #define USBHS_GPTIMER1CTL_RST_MASK USB_GPTIMER1CTRL_GPTRST_MASK
  80882. #define USBHS_GPTIMER1CTL_RST_SHIFT USB_GPTIMER1CTRL_GPTRST_SHIFT
  80883. #define USBHS_GPTIMER1CTL_RST(x) USB_GPTIMER1CTRL_GPTRST(x)
  80884. #define USBHS_GPTIMER1CTL_RUN_MASK USB_GPTIMER1CTRL_GPTRUN_MASK
  80885. #define USBHS_GPTIMER1CTL_RUN_SHIFT USB_GPTIMER1CTRL_GPTRUN_SHIFT
  80886. #define USBHS_GPTIMER1CTL_RUN(x) USB_GPTIMER1CTRL_GPTRUN(x)
  80887. #define USBHS_USB_SBUSCFG_BURSTMODE_MASK USB_SBUSCFG_AHBBRST_MASK
  80888. #define USBHS_USB_SBUSCFG_BURSTMODE_SHIFT USB_SBUSCFG_AHBBRST_SHIFT
  80889. #define USBHS_USB_SBUSCFG_BURSTMODE(x) USB_SBUSCFG_AHBBRST(x)
  80890. #define USBHS_HCIVERSION_CAPLENGTH(x) USB_HCIVERSION_CAPLENGTH(x)
  80891. #define USBHS_HCIVERSION_HCIVERSION_MASK USB_HCIVERSION_HCIVERSION_MASK
  80892. #define USBHS_HCIVERSION_HCIVERSION_SHIFT USB_HCIVERSION_HCIVERSION_SHIFT
  80893. #define USBHS_HCIVERSION_HCIVERSION(x) USB_HCIVERSION_HCIVERSION(x)
  80894. #define USBHS_HCSPARAMS_N_PORTS_MASK USB_HCSPARAMS_N_PORTS_MASK
  80895. #define USBHS_HCSPARAMS_N_PORTS_SHIFT USB_HCSPARAMS_N_PORTS_SHIFT
  80896. #define USBHS_HCSPARAMS_N_PORTS(x) USB_HCSPARAMS_N_PORTS(x)
  80897. #define USBHS_HCSPARAMS_PPC_MASK USB_HCSPARAMS_PPC_MASK
  80898. #define USBHS_HCSPARAMS_PPC_SHIFT USB_HCSPARAMS_PPC_SHIFT
  80899. #define USBHS_HCSPARAMS_PPC(x) USB_HCSPARAMS_PPC(x)
  80900. #define USBHS_HCSPARAMS_N_PCC_MASK USB_HCSPARAMS_N_PCC_MASK
  80901. #define USBHS_HCSPARAMS_N_PCC_SHIFT USB_HCSPARAMS_N_PCC_SHIFT
  80902. #define USBHS_HCSPARAMS_N_PCC(x) USB_HCSPARAMS_N_PCC(x)
  80903. #define USBHS_HCSPARAMS_N_CC_MASK USB_HCSPARAMS_N_CC_MASK
  80904. #define USBHS_HCSPARAMS_N_CC_SHIFT USB_HCSPARAMS_N_CC_SHIFT
  80905. #define USBHS_HCSPARAMS_N_CC(x) USB_HCSPARAMS_N_CC(x)
  80906. #define USBHS_HCSPARAMS_PI_MASK USB_HCSPARAMS_PI_MASK
  80907. #define USBHS_HCSPARAMS_PI_SHIFT USB_HCSPARAMS_PI_SHIFT
  80908. #define USBHS_HCSPARAMS_PI(x) USB_HCSPARAMS_PI(x)
  80909. #define USBHS_HCSPARAMS_N_PTT_MASK USB_HCSPARAMS_N_PTT_MASK
  80910. #define USBHS_HCSPARAMS_N_PTT_SHIFT USB_HCSPARAMS_N_PTT_SHIFT
  80911. #define USBHS_HCSPARAMS_N_PTT(x) USB_HCSPARAMS_N_PTT(x)
  80912. #define USBHS_HCSPARAMS_N_TT_MASK USB_HCSPARAMS_N_TT_MASK
  80913. #define USBHS_HCSPARAMS_N_TT_SHIFT USB_HCSPARAMS_N_TT_SHIFT
  80914. #define USBHS_HCSPARAMS_N_TT(x) USB_HCSPARAMS_N_TT(x)
  80915. #define USBHS_HCCPARAMS_ADC_MASK USB_HCCPARAMS_ADC_MASK
  80916. #define USBHS_HCCPARAMS_ADC_SHIFT USB_HCCPARAMS_ADC_SHIFT
  80917. #define USBHS_HCCPARAMS_ADC(x) USB_HCCPARAMS_ADC(x)
  80918. #define USBHS_HCCPARAMS_PFL_MASK USB_HCCPARAMS_PFL_MASK
  80919. #define USBHS_HCCPARAMS_PFL_SHIFT USB_HCCPARAMS_PFL_SHIFT
  80920. #define USBHS_HCCPARAMS_PFL(x) USB_HCCPARAMS_PFL(x)
  80921. #define USBHS_HCCPARAMS_ASP_MASK USB_HCCPARAMS_ASP_MASK
  80922. #define USBHS_HCCPARAMS_ASP_SHIFT USB_HCCPARAMS_ASP_SHIFT
  80923. #define USBHS_HCCPARAMS_ASP(x) USB_HCCPARAMS_ASP(x)
  80924. #define USBHS_HCCPARAMS_IST_MASK USB_HCCPARAMS_IST_MASK
  80925. #define USBHS_HCCPARAMS_IST_SHIFT USB_HCCPARAMS_IST_SHIFT
  80926. #define USBHS_HCCPARAMS_IST(x) USB_HCCPARAMS_IST(x)
  80927. #define USBHS_HCCPARAMS_EECP_MASK USB_HCCPARAMS_EECP_MASK
  80928. #define USBHS_HCCPARAMS_EECP_SHIFT USB_HCCPARAMS_EECP_SHIFT
  80929. #define USBHS_HCCPARAMS_EECP(x) USB_HCCPARAMS_EECP(x)
  80930. #define USBHS_DCIVERSION_DCIVERSION_MASK USB_DCIVERSION_DCIVERSION_MASK
  80931. #define USBHS_DCIVERSION_DCIVERSION_SHIFT USB_DCIVERSION_DCIVERSION_SHIFT
  80932. #define USBHS_DCIVERSION_DCIVERSION(x) USB_DCIVERSION_DCIVERSION(x)
  80933. #define USBHS_DCCPARAMS_DEN_MASK USB_DCCPARAMS_DEN_MASK
  80934. #define USBHS_DCCPARAMS_DEN_SHIFT USB_DCCPARAMS_DEN_SHIFT
  80935. #define USBHS_DCCPARAMS_DEN(x) USB_DCCPARAMS_DEN(x)
  80936. #define USBHS_DCCPARAMS_DC_MASK USB_DCCPARAMS_DC_MASK
  80937. #define USBHS_DCCPARAMS_DC_SHIFT USB_DCCPARAMS_DC_SHIFT
  80938. #define USBHS_DCCPARAMS_DC(x) USB_DCCPARAMS_DC(x)
  80939. #define USBHS_DCCPARAMS_HC_MASK USB_DCCPARAMS_HC_MASK
  80940. #define USBHS_DCCPARAMS_HC_SHIFT USB_DCCPARAMS_HC_SHIFT
  80941. #define USBHS_DCCPARAMS_HC(x) USB_DCCPARAMS_HC(x)
  80942. #define USBHS_USBCMD_RS_MASK USB_USBCMD_RS_MASK
  80943. #define USBHS_USBCMD_RS_SHIFT USB_USBCMD_RS_SHIFT
  80944. #define USBHS_USBCMD_RS(x) USB_USBCMD_RS(x)
  80945. #define USBHS_USBCMD_RST_MASK USB_USBCMD_RST_MASK
  80946. #define USBHS_USBCMD_RST_SHIFT USB_USBCMD_RST_SHIFT
  80947. #define USBHS_USBCMD_RST(x) USB_USBCMD_RST(x)
  80948. #define USBHS_USBCMD_FS_MASK USB_USBCMD_FS_1_MASK
  80949. #define USBHS_USBCMD_FS_SHIFT USB_USBCMD_FS_1_SHIFT
  80950. #define USBHS_USBCMD_FS(x) USB_USBCMD_FS_1(x)
  80951. #define USBHS_USBCMD_PSE_MASK USB_USBCMD_PSE_MASK
  80952. #define USBHS_USBCMD_PSE_SHIFT USB_USBCMD_PSE_SHIFT
  80953. #define USBHS_USBCMD_PSE(x) USB_USBCMD_PSE(x)
  80954. #define USBHS_USBCMD_ASE_MASK USB_USBCMD_ASE_MASK
  80955. #define USBHS_USBCMD_ASE_SHIFT USB_USBCMD_ASE_SHIFT
  80956. #define USBHS_USBCMD_ASE(x) USB_USBCMD_ASE(x)
  80957. #define USBHS_USBCMD_IAA_MASK USB_USBCMD_IAA_MASK
  80958. #define USBHS_USBCMD_IAA_SHIFT USB_USBCMD_IAA_SHIFT
  80959. #define USBHS_USBCMD_IAA(x) USB_USBCMD_IAA(x)
  80960. #define USBHS_USBCMD_ASP_MASK USB_USBCMD_ASP_MASK
  80961. #define USBHS_USBCMD_ASP_SHIFT USB_USBCMD_ASP_SHIFT
  80962. #define USBHS_USBCMD_ASP(x) USB_USBCMD_ASP(x)
  80963. #define USBHS_USBCMD_ASPE_MASK USB_USBCMD_ASPE_MASK
  80964. #define USBHS_USBCMD_ASPE_SHIFT USB_USBCMD_ASPE_SHIFT
  80965. #define USBHS_USBCMD_ASPE(x) USB_USBCMD_ASPE(x)
  80966. #define USBHS_USBCMD_ATDTW_MASK USB_USBCMD_ATDTW_MASK
  80967. #define USBHS_USBCMD_ATDTW_SHIFT USB_USBCMD_ATDTW_SHIFT
  80968. #define USBHS_USBCMD_ATDTW(x) USB_USBCMD_ATDTW(x)
  80969. #define USBHS_USBCMD_SUTW_MASK USB_USBCMD_SUTW_MASK
  80970. #define USBHS_USBCMD_SUTW_SHIFT USB_USBCMD_SUTW_SHIFT
  80971. #define USBHS_USBCMD_SUTW(x) USB_USBCMD_SUTW(x)
  80972. #define USBHS_USBCMD_FS2_MASK USB_USBCMD_FS_2_MASK
  80973. #define USBHS_USBCMD_FS2_SHIFT USB_USBCMD_FS_2_SHIFT
  80974. #define USBHS_USBCMD_FS2(x) USB_USBCMD_FS_2(x)
  80975. #define USBHS_USBCMD_ITC_MASK USB_USBCMD_ITC_MASK
  80976. #define USBHS_USBCMD_ITC_SHIFT USB_USBCMD_ITC_SHIFT
  80977. #define USBHS_USBCMD_ITC(x) USB_USBCMD_ITC(x)
  80978. #define USBHS_USBSTS_UI_MASK USB_USBSTS_UI_MASK
  80979. #define USBHS_USBSTS_UI_SHIFT USB_USBSTS_UI_SHIFT
  80980. #define USBHS_USBSTS_UI(x) USB_USBSTS_UI(x)
  80981. #define USBHS_USBSTS_UEI_MASK USB_USBSTS_UEI_MASK
  80982. #define USBHS_USBSTS_UEI_SHIFT USB_USBSTS_UEI_SHIFT
  80983. #define USBHS_USBSTS_UEI(x) USB_USBSTS_UEI(x)
  80984. #define USBHS_USBSTS_PCI_MASK USB_USBSTS_PCI_MASK
  80985. #define USBHS_USBSTS_PCI_SHIFT USB_USBSTS_PCI_SHIFT
  80986. #define USBHS_USBSTS_PCI(x) USB_USBSTS_PCI(x)
  80987. #define USBHS_USBSTS_FRI_MASK USB_USBSTS_FRI_MASK
  80988. #define USBHS_USBSTS_FRI_SHIFT USB_USBSTS_FRI_SHIFT
  80989. #define USBHS_USBSTS_FRI(x) USB_USBSTS_FRI(x)
  80990. #define USBHS_USBSTS_SEI_MASK USB_USBSTS_SEI_MASK
  80991. #define USBHS_USBSTS_SEI_SHIFT USB_USBSTS_SEI_SHIFT
  80992. #define USBHS_USBSTS_SEI(x) USB_USBSTS_SEI(x)
  80993. #define USBHS_USBSTS_AAI_MASK USB_USBSTS_AAI_MASK
  80994. #define USBHS_USBSTS_AAI_SHIFT USB_USBSTS_AAI_SHIFT
  80995. #define USBHS_USBSTS_AAI(x) USB_USBSTS_AAI(x)
  80996. #define USBHS_USBSTS_URI_MASK USB_USBSTS_URI_MASK
  80997. #define USBHS_USBSTS_URI_SHIFT USB_USBSTS_URI_SHIFT
  80998. #define USBHS_USBSTS_URI(x) USB_USBSTS_URI(x)
  80999. #define USBHS_USBSTS_SRI_MASK USB_USBSTS_SRI_MASK
  81000. #define USBHS_USBSTS_SRI_SHIFT USB_USBSTS_SRI_SHIFT
  81001. #define USBHS_USBSTS_SRI(x) USB_USBSTS_SRI(x)
  81002. #define USBHS_USBSTS_SLI_MASK USB_USBSTS_SLI_MASK
  81003. #define USBHS_USBSTS_SLI_SHIFT USB_USBSTS_SLI_SHIFT
  81004. #define USBHS_USBSTS_SLI(x) USB_USBSTS_SLI(x)
  81005. #define USBHS_USBSTS_ULPII_MASK USB_USBSTS_ULPII_MASK
  81006. #define USBHS_USBSTS_ULPII_SHIFT USB_USBSTS_ULPII_SHIFT
  81007. #define USBHS_USBSTS_ULPII(x) USB_USBSTS_ULPII(x)
  81008. #define USBHS_USBSTS_HCH_MASK USB_USBSTS_HCH_MASK
  81009. #define USBHS_USBSTS_HCH_SHIFT USB_USBSTS_HCH_SHIFT
  81010. #define USBHS_USBSTS_HCH(x) USB_USBSTS_HCH(x)
  81011. #define USBHS_USBSTS_RCL_MASK USB_USBSTS_RCL_MASK
  81012. #define USBHS_USBSTS_RCL_SHIFT USB_USBSTS_RCL_SHIFT
  81013. #define USBHS_USBSTS_RCL(x) USB_USBSTS_RCL(x)
  81014. #define USBHS_USBSTS_PS_MASK USB_USBSTS_PS_MASK
  81015. #define USBHS_USBSTS_PS_SHIFT USB_USBSTS_PS_SHIFT
  81016. #define USBHS_USBSTS_PS(x) USB_USBSTS_PS(x)
  81017. #define USBHS_USBSTS_AS_MASK USB_USBSTS_AS_MASK
  81018. #define USBHS_USBSTS_AS_SHIFT USB_USBSTS_AS_SHIFT
  81019. #define USBHS_USBSTS_AS(x) USB_USBSTS_AS(x)
  81020. #define USBHS_USBSTS_NAKI_MASK USB_USBSTS_NAKI_MASK
  81021. #define USBHS_USBSTS_NAKI_SHIFT USB_USBSTS_NAKI_SHIFT
  81022. #define USBHS_USBSTS_NAKI(x) USB_USBSTS_NAKI(x)
  81023. #define USBHS_USBSTS_TI0_MASK USB_USBSTS_TI0_MASK
  81024. #define USBHS_USBSTS_TI0_SHIFT USB_USBSTS_TI0_SHIFT
  81025. #define USBHS_USBSTS_TI0(x) USB_USBSTS_TI0(x)
  81026. #define USBHS_USBSTS_TI1_MASK USB_USBSTS_TI1_MASK
  81027. #define USBHS_USBSTS_TI1_SHIFT USB_USBSTS_TI1_SHIFT
  81028. #define USBHS_USBSTS_TI1(x) USB_USBSTS_TI1(x)
  81029. #define USBHS_USBINTR_UE_MASK USB_USBINTR_UE_MASK
  81030. #define USBHS_USBINTR_UE_SHIFT USB_USBINTR_UE_SHIFT
  81031. #define USBHS_USBINTR_UE(x) USB_USBINTR_UE(x)
  81032. #define USBHS_USBINTR_UEE_MASK USB_USBINTR_UEE_MASK
  81033. #define USBHS_USBINTR_UEE_SHIFT USB_USBINTR_UEE_SHIFT
  81034. #define USBHS_USBINTR_UEE(x) USB_USBINTR_UEE(x)
  81035. #define USBHS_USBINTR_PCE_MASK USB_USBINTR_PCE_MASK
  81036. #define USBHS_USBINTR_PCE_SHIFT USB_USBINTR_PCE_SHIFT
  81037. #define USBHS_USBINTR_PCE(x) USB_USBINTR_PCE(x)
  81038. #define USBHS_USBINTR_FRE_MASK USB_USBINTR_FRE_MASK
  81039. #define USBHS_USBINTR_FRE_SHIFT USB_USBINTR_FRE_SHIFT
  81040. #define USBHS_USBINTR_FRE(x) USB_USBINTR_FRE(x)
  81041. #define USBHS_USBINTR_SEE_MASK USB_USBINTR_SEE_MASK
  81042. #define USBHS_USBINTR_SEE_SHIFT USB_USBINTR_SEE_SHIFT
  81043. #define USBHS_USBINTR_SEE(x) USB_USBINTR_SEE(x)
  81044. #define USBHS_USBINTR_AAE_MASK USB_USBINTR_AAE_MASK
  81045. #define USBHS_USBINTR_AAE_SHIFT USB_USBINTR_AAE_SHIFT
  81046. #define USBHS_USBINTR_AAE(x) USB_USBINTR_AAE(x)
  81047. #define USBHS_USBINTR_URE_MASK USB_USBINTR_URE_MASK
  81048. #define USBHS_USBINTR_URE_SHIFT USB_USBINTR_URE_SHIFT
  81049. #define USBHS_USBINTR_URE(x) USB_USBINTR_URE(x)
  81050. #define USBHS_USBINTR_SRE_MASK USB_USBINTR_SRE_MASK
  81051. #define USBHS_USBINTR_SRE_SHIFT USB_USBINTR_SRE_SHIFT
  81052. #define USBHS_USBINTR_SRE(x) USB_USBINTR_SRE(x)
  81053. #define USBHS_USBINTR_SLE_MASK USB_USBINTR_SLE_MASK
  81054. #define USBHS_USBINTR_SLE_SHIFT USB_USBINTR_SLE_SHIFT
  81055. #define USBHS_USBINTR_SLE(x) USB_USBINTR_SLE(x)
  81056. #define USBHS_USBINTR_ULPIE_MASK USB_USBINTR_ULPIE_MASK
  81057. #define USBHS_USBINTR_ULPIE_SHIFT USB_USBINTR_ULPIE_SHIFT
  81058. #define USBHS_USBINTR_ULPIE(x) USB_USBINTR_ULPIE(x)
  81059. #define USBHS_USBINTR_NAKE_MASK USB_USBINTR_NAKE_MASK
  81060. #define USBHS_USBINTR_NAKE_SHIFT USB_USBINTR_NAKE_SHIFT
  81061. #define USBHS_USBINTR_NAKE(x) USB_USBINTR_NAKE(x)
  81062. #define USBHS_USBINTR_UAIE_MASK USB_USBINTR_UAIE_MASK
  81063. #define USBHS_USBINTR_UAIE_SHIFT USB_USBINTR_UAIE_SHIFT
  81064. #define USBHS_USBINTR_UAIE(x) USB_USBINTR_UAIE(x)
  81065. #define USBHS_USBINTR_UPIE_MASK USB_USBINTR_UPIE_MASK
  81066. #define USBHS_USBINTR_UPIE_SHIFT USB_USBINTR_UPIE_SHIFT
  81067. #define USBHS_USBINTR_UPIE(x) USB_USBINTR_UPIE(x)
  81068. #define USBHS_USBINTR_TIE0_MASK USB_USBINTR_TIE0_MASK
  81069. #define USBHS_USBINTR_TIE0_SHIFT USB_USBINTR_TIE0_SHIFT
  81070. #define USBHS_USBINTR_TIE0(x) USB_USBINTR_TIE0(x)
  81071. #define USBHS_USBINTR_TIE1_MASK USB_USBINTR_TIE1_MASK
  81072. #define USBHS_USBINTR_TIE1_SHIFT USB_USBINTR_TIE1_SHIFT
  81073. #define USBHS_USBINTR_TIE1(x) USB_USBINTR_TIE1(x)
  81074. #define USBHS_FRINDEX_FRINDEX_MASK USB_FRINDEX_FRINDEX_MASK
  81075. #define USBHS_FRINDEX_FRINDEX_SHIFT USB_FRINDEX_FRINDEX_SHIFT
  81076. #define USBHS_FRINDEX_FRINDEX(x) USB_FRINDEX_FRINDEX(x)
  81077. #define USBHS_DEVICEADDR_USBADRA_MASK USB_DEVICEADDR_USBADRA_MASK
  81078. #define USBHS_DEVICEADDR_USBADRA_SHIFT USB_DEVICEADDR_USBADRA_SHIFT
  81079. #define USBHS_DEVICEADDR_USBADRA(x) USB_DEVICEADDR_USBADRA(x)
  81080. #define USBHS_DEVICEADDR_USBADR_MASK USB_DEVICEADDR_USBADR_MASK
  81081. #define USBHS_DEVICEADDR_USBADR_SHIFT USB_DEVICEADDR_USBADR_SHIFT
  81082. #define USBHS_DEVICEADDR_USBADR(x) USB_DEVICEADDR_USBADR(x)
  81083. #define USBHS_PERIODICLISTBASE_PERBASE_MASK USB_PERIODICLISTBASE_BASEADR_MASK
  81084. #define USBHS_PERIODICLISTBASE_PERBASE_SHIFT USB_PERIODICLISTBASE_BASEADR_SHIFT
  81085. #define USBHS_PERIODICLISTBASE_PERBASE(x) USB_PERIODICLISTBASE_BASEADR(x)
  81086. #define USBHS_ASYNCLISTADDR_ASYBASE_MASK USB_ASYNCLISTADDR_ASYBASE_MASK
  81087. #define USBHS_ASYNCLISTADDR_ASYBASE_SHIFT USB_ASYNCLISTADDR_ASYBASE_SHIFT
  81088. #define USBHS_ASYNCLISTADDR_ASYBASE(x) USB_ASYNCLISTADDR_ASYBASE(x)
  81089. #define USBHS_EPLISTADDR_EPBASE_MASK USB_ENDPTLISTADDR_EPBASE_MASK
  81090. #define USBHS_EPLISTADDR_EPBASE_SHIFT USB_ENDPTLISTADDR_EPBASE_SHIFT
  81091. #define USBHS_EPLISTADDR_EPBASE(x) USB_ENDPTLISTADDR_EPBASE(x)
  81092. #define USBHS_BURSTSIZE_RXPBURST_MASK USB_BURSTSIZE_RXPBURST_MASK
  81093. #define USBHS_BURSTSIZE_RXPBURST_SHIFT USB_BURSTSIZE_RXPBURST_SHIFT
  81094. #define USBHS_BURSTSIZE_RXPBURST(x) USB_BURSTSIZE_RXPBURST(x)
  81095. #define USBHS_BURSTSIZE_TXPBURST_MASK USB_BURSTSIZE_TXPBURST_MASK
  81096. #define USBHS_BURSTSIZE_TXPBURST_SHIFT USB_BURSTSIZE_TXPBURST_SHIFT
  81097. #define USBHS_BURSTSIZE_TXPBURST(x) USB_BURSTSIZE_TXPBURST(x)
  81098. #define USBHS_TXFILLTUNING_TXSCHOH_MASK USB_TXFILLTUNING_TXSCHOH_MASK
  81099. #define USBHS_TXFILLTUNING_TXSCHOH_SHIFT USB_TXFILLTUNING_TXSCHOH_SHIFT
  81100. #define USBHS_TXFILLTUNING_TXSCHOH(x) USB_TXFILLTUNING_TXSCHOH(x)
  81101. #define USBHS_TXFILLTUNING_TXSCHHEALTH_MASK USB_TXFILLTUNING_TXSCHHEALTH_MASK
  81102. #define USBHS_TXFILLTUNING_TXSCHHEALTH_SHIFT USB_TXFILLTUNING_TXSCHHEALTH_SHIFT
  81103. #define USBHS_TXFILLTUNING_TXSCHHEALTH(x) USB_TXFILLTUNING_TXSCHHEALTH(x)
  81104. #define USBHS_TXFILLTUNING_TXFIFOTHRES_MASK USB_TXFILLTUNING_TXFIFOTHRES_MASK
  81105. #define USBHS_TXFILLTUNING_TXFIFOTHRES_SHIFT USB_TXFILLTUNING_TXFIFOTHRES_SHIFT
  81106. #define USBHS_TXFILLTUNING_TXFIFOTHRES(x) USB_TXFILLTUNING_TXFIFOTHRES(x)
  81107. #define USBHS_ENDPTNAK_EPRN_MASK USB_ENDPTNAK_EPRN_MASK
  81108. #define USBHS_ENDPTNAK_EPRN_SHIFT USB_ENDPTNAK_EPRN_SHIFT
  81109. #define USBHS_ENDPTNAK_EPRN(x) USB_ENDPTNAK_EPRN(x)
  81110. #define USBHS_ENDPTNAK_EPTN_MASK USB_ENDPTNAK_EPTN_MASK
  81111. #define USBHS_ENDPTNAK_EPTN_SHIFT USB_ENDPTNAK_EPTN_SHIFT
  81112. #define USBHS_ENDPTNAK_EPTN(x) USB_ENDPTNAK_EPTN(x)
  81113. #define USBHS_ENDPTNAKEN_EPRNE_MASK USB_ENDPTNAKEN_EPRNE_MASK
  81114. #define USBHS_ENDPTNAKEN_EPRNE_SHIFT USB_ENDPTNAKEN_EPRNE_SHIFT
  81115. #define USBHS_ENDPTNAKEN_EPRNE(x) USB_ENDPTNAKEN_EPRNE(x)
  81116. #define USBHS_ENDPTNAKEN_EPTNE_MASK USB_ENDPTNAKEN_EPTNE_MASK
  81117. #define USBHS_ENDPTNAKEN_EPTNE_SHIFT USB_ENDPTNAKEN_EPTNE_SHIFT
  81118. #define USBHS_ENDPTNAKEN_EPTNE(x) USB_ENDPTNAKEN_EPTNE(x)
  81119. #define USBHS_CONFIGFLAG_CF_MASK USB_CONFIGFLAG_CF_MASK
  81120. #define USBHS_CONFIGFLAG_CF_SHIFT USB_CONFIGFLAG_CF_SHIFT
  81121. #define USBHS_CONFIGFLAG_CF(x) USB_CONFIGFLAG_CF(x)
  81122. #define USBHS_PORTSC1_CCS_MASK USB_PORTSC1_CCS_MASK
  81123. #define USBHS_PORTSC1_CCS_SHIFT USB_PORTSC1_CCS_SHIFT
  81124. #define USBHS_PORTSC1_CCS(x) USB_PORTSC1_CCS(x)
  81125. #define USBHS_PORTSC1_CSC_MASK USB_PORTSC1_CSC_MASK
  81126. #define USBHS_PORTSC1_CSC_SHIFT USB_PORTSC1_CSC_SHIFT
  81127. #define USBHS_PORTSC1_CSC(x) USB_PORTSC1_CSC(x)
  81128. #define USBHS_PORTSC1_PE_MASK USB_PORTSC1_PE_MASK
  81129. #define USBHS_PORTSC1_PE_SHIFT USB_PORTSC1_PE_SHIFT
  81130. #define USBHS_PORTSC1_PE(x) USB_PORTSC1_PE(x)
  81131. #define USBHS_PORTSC1_PEC_MASK USB_PORTSC1_PEC_MASK
  81132. #define USBHS_PORTSC1_PEC_SHIFT USB_PORTSC1_PEC_SHIFT
  81133. #define USBHS_PORTSC1_PEC(x) USB_PORTSC1_PEC(x)
  81134. #define USBHS_PORTSC1_OCA_MASK USB_PORTSC1_OCA_MASK
  81135. #define USBHS_PORTSC1_OCA_SHIFT USB_PORTSC1_OCA_SHIFT
  81136. #define USBHS_PORTSC1_OCA(x) USB_PORTSC1_OCA(x)
  81137. #define USBHS_PORTSC1_OCC_MASK USB_PORTSC1_OCC_MASK
  81138. #define USBHS_PORTSC1_OCC_SHIFT USB_PORTSC1_OCC_SHIFT
  81139. #define USBHS_PORTSC1_OCC(x) USB_PORTSC1_OCC(x)
  81140. #define USBHS_PORTSC1_FPR_MASK USB_PORTSC1_FPR_MASK
  81141. #define USBHS_PORTSC1_FPR_SHIFT USB_PORTSC1_FPR_SHIFT
  81142. #define USBHS_PORTSC1_FPR(x) USB_PORTSC1_FPR(x)
  81143. #define USBHS_PORTSC1_SUSP_MASK USB_PORTSC1_SUSP_MASK
  81144. #define USBHS_PORTSC1_SUSP_SHIFT USB_PORTSC1_SUSP_SHIFT
  81145. #define USBHS_PORTSC1_SUSP(x) USB_PORTSC1_SUSP(x)
  81146. #define USBHS_PORTSC1_PR_MASK USB_PORTSC1_PR_MASK
  81147. #define USBHS_PORTSC1_PR_SHIFT USB_PORTSC1_PR_SHIFT
  81148. #define USBHS_PORTSC1_PR(x) USB_PORTSC1_PR(x)
  81149. #define USBHS_PORTSC1_HSP_MASK USB_PORTSC1_HSP_MASK
  81150. #define USBHS_PORTSC1_HSP_SHIFT USB_PORTSC1_HSP_SHIFT
  81151. #define USBHS_PORTSC1_HSP(x) USB_PORTSC1_HSP(x)
  81152. #define USBHS_PORTSC1_LS_MASK USB_PORTSC1_LS_MASK
  81153. #define USBHS_PORTSC1_LS_SHIFT USB_PORTSC1_LS_SHIFT
  81154. #define USBHS_PORTSC1_LS(x) USB_PORTSC1_LS(x)
  81155. #define USBHS_PORTSC1_PP_MASK USB_PORTSC1_PP_MASK
  81156. #define USBHS_PORTSC1_PP_SHIFT USB_PORTSC1_PP_SHIFT
  81157. #define USBHS_PORTSC1_PP(x) USB_PORTSC1_PP(x)
  81158. #define USBHS_PORTSC1_PO_MASK USB_PORTSC1_PO_MASK
  81159. #define USBHS_PORTSC1_PO_SHIFT USB_PORTSC1_PO_SHIFT
  81160. #define USBHS_PORTSC1_PO(x) USB_PORTSC1_PO(x)
  81161. #define USBHS_PORTSC1_PIC_MASK USB_PORTSC1_PIC_MASK
  81162. #define USBHS_PORTSC1_PIC_SHIFT USB_PORTSC1_PIC_SHIFT
  81163. #define USBHS_PORTSC1_PIC(x) USB_PORTSC1_PIC(x)
  81164. #define USBHS_PORTSC1_PTC_MASK USB_PORTSC1_PTC_MASK
  81165. #define USBHS_PORTSC1_PTC_SHIFT USB_PORTSC1_PTC_SHIFT
  81166. #define USBHS_PORTSC1_PTC(x) USB_PORTSC1_PTC(x)
  81167. #define USBHS_PORTSC1_WKCN_MASK USB_PORTSC1_WKCN_MASK
  81168. #define USBHS_PORTSC1_WKCN_SHIFT USB_PORTSC1_WKCN_SHIFT
  81169. #define USBHS_PORTSC1_WKCN(x) USB_PORTSC1_WKCN(x)
  81170. #define USBHS_PORTSC1_WKDS_MASK USB_PORTSC1_WKDC_MASK
  81171. #define USBHS_PORTSC1_WKDS_SHIFT USB_PORTSC1_WKDC_SHIFT
  81172. #define USBHS_PORTSC1_WKDS(x) USB_PORTSC1_WKDC(x)
  81173. #define USBHS_PORTSC1_WKOC_MASK USB_PORTSC1_WKOC_MASK
  81174. #define USBHS_PORTSC1_WKOC_SHIFT USB_PORTSC1_WKOC_SHIFT
  81175. #define USBHS_PORTSC1_WKOC(x) USB_PORTSC1_WKOC(x)
  81176. #define USBHS_PORTSC1_PHCD_MASK USB_PORTSC1_PHCD_MASK
  81177. #define USBHS_PORTSC1_PHCD_SHIFT USB_PORTSC1_PHCD_SHIFT
  81178. #define USBHS_PORTSC1_PHCD(x) USB_PORTSC1_PHCD(x)
  81179. #define USBHS_PORTSC1_PFSC_MASK USB_PORTSC1_PFSC_MASK
  81180. #define USBHS_PORTSC1_PFSC_SHIFT USB_PORTSC1_PFSC_SHIFT
  81181. #define USBHS_PORTSC1_PFSC(x) USB_PORTSC1_PFSC(x)
  81182. #define USBHS_PORTSC1_PTS2_MASK USB_PORTSC1_PTS_2_MASK
  81183. #define USBHS_PORTSC1_PTS2_SHIFT USB_PORTSC1_PTS_2_SHIFT
  81184. #define USBHS_PORTSC1_PTS2(x) USB_PORTSC1_PTS_2(x)
  81185. #define USBHS_PORTSC1_PSPD_MASK USB_PORTSC1_PSPD_MASK
  81186. #define USBHS_PORTSC1_PSPD_SHIFT USB_PORTSC1_PSPD_SHIFT
  81187. #define USBHS_PORTSC1_PSPD(x) USB_PORTSC1_PSPD(x)
  81188. #define USBHS_PORTSC1_PTW_MASK USB_PORTSC1_PTW_MASK
  81189. #define USBHS_PORTSC1_PTW_SHIFT USB_PORTSC1_PTW_SHIFT
  81190. #define USBHS_PORTSC1_PTW(x) USB_PORTSC1_PTW(x)
  81191. #define USBHS_PORTSC1_STS_MASK USB_PORTSC1_STS_MASK
  81192. #define USBHS_PORTSC1_STS_SHIFT USB_PORTSC1_STS_SHIFT
  81193. #define USBHS_PORTSC1_STS(x) USB_PORTSC1_STS(x)
  81194. #define USBHS_PORTSC1_PTS_MASK USB_PORTSC1_PTS_1_MASK
  81195. #define USBHS_PORTSC1_PTS_SHIFT USB_PORTSC1_PTS_1_SHIFT
  81196. #define USBHS_PORTSC1_PTS(x) USB_PORTSC1_PTS_1(x)
  81197. #define USBHS_OTGSC_VD_MASK USB_OTGSC_VD_MASK
  81198. #define USBHS_OTGSC_VD_SHIFT USB_OTGSC_VD_SHIFT
  81199. #define USBHS_OTGSC_VD(x) USB_OTGSC_VD(x)
  81200. #define USBHS_OTGSC_VC_MASK USB_OTGSC_VC_MASK
  81201. #define USBHS_OTGSC_VC_SHIFT USB_OTGSC_VC_SHIFT
  81202. #define USBHS_OTGSC_VC(x) USB_OTGSC_VC(x)
  81203. #define USBHS_OTGSC_OT_MASK USB_OTGSC_OT_MASK
  81204. #define USBHS_OTGSC_OT_SHIFT USB_OTGSC_OT_SHIFT
  81205. #define USBHS_OTGSC_OT(x) USB_OTGSC_OT(x)
  81206. #define USBHS_OTGSC_DP_MASK USB_OTGSC_DP_MASK
  81207. #define USBHS_OTGSC_DP_SHIFT USB_OTGSC_DP_SHIFT
  81208. #define USBHS_OTGSC_DP(x) USB_OTGSC_DP(x)
  81209. #define USBHS_OTGSC_IDPU_MASK USB_OTGSC_IDPU_MASK
  81210. #define USBHS_OTGSC_IDPU_SHIFT USB_OTGSC_IDPU_SHIFT
  81211. #define USBHS_OTGSC_IDPU(x) USB_OTGSC_IDPU(x)
  81212. #define USBHS_OTGSC_ID_MASK USB_OTGSC_ID_MASK
  81213. #define USBHS_OTGSC_ID_SHIFT USB_OTGSC_ID_SHIFT
  81214. #define USBHS_OTGSC_ID(x) USB_OTGSC_ID(x)
  81215. #define USBHS_OTGSC_AVV_MASK USB_OTGSC_AVV_MASK
  81216. #define USBHS_OTGSC_AVV_SHIFT USB_OTGSC_AVV_SHIFT
  81217. #define USBHS_OTGSC_AVV(x) USB_OTGSC_AVV(x)
  81218. #define USBHS_OTGSC_ASV_MASK USB_OTGSC_ASV_MASK
  81219. #define USBHS_OTGSC_ASV_SHIFT USB_OTGSC_ASV_SHIFT
  81220. #define USBHS_OTGSC_ASV(x) USB_OTGSC_ASV(x)
  81221. #define USBHS_OTGSC_BSV_MASK USB_OTGSC_BSV_MASK
  81222. #define USBHS_OTGSC_BSV_SHIFT USB_OTGSC_BSV_SHIFT
  81223. #define USBHS_OTGSC_BSV(x) USB_OTGSC_BSV(x)
  81224. #define USBHS_OTGSC_BSE_MASK USB_OTGSC_BSE_MASK
  81225. #define USBHS_OTGSC_BSE_SHIFT USB_OTGSC_BSE_SHIFT
  81226. #define USBHS_OTGSC_BSE(x) USB_OTGSC_BSE(x)
  81227. #define USBHS_OTGSC_MST_MASK USB_OTGSC_TOG_1MS_MASK
  81228. #define USBHS_OTGSC_MST_SHIFT USB_OTGSC_TOG_1MS_SHIFT
  81229. #define USBHS_OTGSC_MST(x) USB_OTGSC_TOG_1MS(x)
  81230. #define USBHS_OTGSC_DPS_MASK USB_OTGSC_DPS_MASK
  81231. #define USBHS_OTGSC_DPS_SHIFT USB_OTGSC_DPS_SHIFT
  81232. #define USBHS_OTGSC_DPS(x) USB_OTGSC_DPS(x)
  81233. #define USBHS_OTGSC_IDIS_MASK USB_OTGSC_IDIS_MASK
  81234. #define USBHS_OTGSC_IDIS_SHIFT USB_OTGSC_IDIS_SHIFT
  81235. #define USBHS_OTGSC_IDIS(x) USB_OTGSC_IDIS(x)
  81236. #define USBHS_OTGSC_AVVIS_MASK USB_OTGSC_AVVIS_MASK
  81237. #define USBHS_OTGSC_AVVIS_SHIFT USB_OTGSC_AVVIS_SHIFT
  81238. #define USBHS_OTGSC_AVVIS(x) USB_OTGSC_AVVIS(x)
  81239. #define USBHS_OTGSC_ASVIS_MASK USB_OTGSC_ASVIS_MASK
  81240. #define USBHS_OTGSC_ASVIS_SHIFT USB_OTGSC_ASVIS_SHIFT
  81241. #define USBHS_OTGSC_ASVIS(x) USB_OTGSC_ASVIS(x)
  81242. #define USBHS_OTGSC_BSVIS_MASK USB_OTGSC_BSVIS_MASK
  81243. #define USBHS_OTGSC_BSVIS_SHIFT USB_OTGSC_BSVIS_SHIFT
  81244. #define USBHS_OTGSC_BSVIS(x) USB_OTGSC_BSVIS(x)
  81245. #define USBHS_OTGSC_BSEIS_MASK USB_OTGSC_BSEIS_MASK
  81246. #define USBHS_OTGSC_BSEIS_SHIFT USB_OTGSC_BSEIS_SHIFT
  81247. #define USBHS_OTGSC_BSEIS(x) USB_OTGSC_BSEIS(x)
  81248. #define USBHS_OTGSC_MSS_MASK USB_OTGSC_STATUS_1MS_MASK
  81249. #define USBHS_OTGSC_MSS_SHIFT USB_OTGSC_STATUS_1MS_SHIFT
  81250. #define USBHS_OTGSC_MSS(x) USB_OTGSC_STATUS_1MS(x)
  81251. #define USBHS_OTGSC_DPIS_MASK USB_OTGSC_DPIS_MASK
  81252. #define USBHS_OTGSC_DPIS_SHIFT USB_OTGSC_DPIS_SHIFT
  81253. #define USBHS_OTGSC_DPIS(x) USB_OTGSC_DPIS(x)
  81254. #define USBHS_OTGSC_IDIE_MASK USB_OTGSC_IDIE_MASK
  81255. #define USBHS_OTGSC_IDIE_SHIFT USB_OTGSC_IDIE_SHIFT
  81256. #define USBHS_OTGSC_IDIE(x) USB_OTGSC_IDIE(x)
  81257. #define USBHS_OTGSC_AVVIE_MASK USB_OTGSC_AVVIE_MASK
  81258. #define USBHS_OTGSC_AVVIE_SHIFT USB_OTGSC_AVVIE_SHIFT
  81259. #define USBHS_OTGSC_AVVIE(x) USB_OTGSC_AVVIE(x)
  81260. #define USBHS_OTGSC_ASVIE_MASK USB_OTGSC_ASVIE_MASK
  81261. #define USBHS_OTGSC_ASVIE_SHIFT USB_OTGSC_ASVIE_SHIFT
  81262. #define USBHS_OTGSC_ASVIE(x) USB_OTGSC_ASVIE(x)
  81263. #define USBHS_OTGSC_BSVIE_MASK USB_OTGSC_BSVIE_MASK
  81264. #define USBHS_OTGSC_BSVIE_SHIFT USB_OTGSC_BSVIE_SHIFT
  81265. #define USBHS_OTGSC_BSVIE(x) USB_OTGSC_BSVIE(x)
  81266. #define USBHS_OTGSC_BSEIE_MASK USB_OTGSC_BSEIE_MASK
  81267. #define USBHS_OTGSC_BSEIE_SHIFT USB_OTGSC_BSEIE_SHIFT
  81268. #define USBHS_OTGSC_BSEIE(x) USB_OTGSC_BSEIE(x)
  81269. #define USBHS_OTGSC_MSE_MASK USB_OTGSC_EN_1MS_MASK
  81270. #define USBHS_OTGSC_MSE_SHIFT USB_OTGSC_EN_1MS_SHIFT
  81271. #define USBHS_OTGSC_MSE(x) USB_OTGSC_EN_1MS(x)
  81272. #define USBHS_OTGSC_DPIE_MASK USB_OTGSC_DPIE_MASK
  81273. #define USBHS_OTGSC_DPIE_SHIFT USB_OTGSC_DPIE_SHIFT
  81274. #define USBHS_OTGSC_DPIE(x) USB_OTGSC_DPIE(x)
  81275. #define USBHS_USBMODE_CM_MASK USB_USBMODE_CM_MASK
  81276. #define USBHS_USBMODE_CM_SHIFT USB_USBMODE_CM_SHIFT
  81277. #define USBHS_USBMODE_CM(x) USB_USBMODE_CM(x)
  81278. #define USBHS_USBMODE_ES_MASK USB_USBMODE_ES_MASK
  81279. #define USBHS_USBMODE_ES_SHIFT USB_USBMODE_ES_SHIFT
  81280. #define USBHS_USBMODE_ES(x) USB_USBMODE_ES(x)
  81281. #define USBHS_USBMODE_SLOM_MASK USB_USBMODE_SLOM_MASK
  81282. #define USBHS_USBMODE_SLOM_SHIFT USB_USBMODE_SLOM_SHIFT
  81283. #define USBHS_USBMODE_SLOM(x) USB_USBMODE_SLOM(x)
  81284. #define USBHS_USBMODE_SDIS_MASK USB_USBMODE_SDIS_MASK
  81285. #define USBHS_USBMODE_SDIS_SHIFT USB_USBMODE_SDIS_SHIFT
  81286. #define USBHS_USBMODE_SDIS(x) USB_USBMODE_SDIS(x)
  81287. #define USBHS_EPSETUPSR_EPSETUPSTAT_MASK USB_ENDPTSETUPSTAT_ENDPTSETUPSTAT_MASK
  81288. #define USBHS_EPSETUPSR_EPSETUPSTAT_SHIFT USB_ENDPTSETUPSTAT_ENDPTSETUPSTAT_SHIFT
  81289. #define USBHS_EPSETUPSR_EPSETUPSTAT(x) USB_ENDPTSETUPSTAT_ENDPTSETUPSTAT(x)
  81290. #define USBHS_EPPRIME_PERB_MASK USB_ENDPTPRIME_PERB_MASK
  81291. #define USBHS_EPPRIME_PERB_SHIFT USB_ENDPTPRIME_PERB_SHIFT
  81292. #define USBHS_EPPRIME_PERB(x) USB_ENDPTPRIME_PERB(x)
  81293. #define USBHS_EPPRIME_PETB_MASK USB_ENDPTPRIME_PETB_MASK
  81294. #define USBHS_EPPRIME_PETB_SHIFT USB_ENDPTPRIME_PETB_SHIFT
  81295. #define USBHS_EPPRIME_PETB(x) USB_ENDPTPRIME_PETB(x)
  81296. #define USBHS_EPFLUSH_FERB_MASK USB_ENDPTFLUSH_FERB_MASK
  81297. #define USBHS_EPFLUSH_FERB_SHIFT USB_ENDPTFLUSH_FERB_SHIFT
  81298. #define USBHS_EPFLUSH_FERB(x) USB_ENDPTFLUSH_FERB(x)
  81299. #define USBHS_EPFLUSH_FETB_MASK USB_ENDPTFLUSH_FETB_MASK
  81300. #define USBHS_EPFLUSH_FETB_SHIFT USB_ENDPTFLUSH_FETB_SHIFT
  81301. #define USBHS_EPFLUSH_FETB(x) USB_ENDPTFLUSH_FETB(x)
  81302. #define USBHS_EPSR_ERBR_MASK USB_ENDPTSTAT_ERBR_MASK
  81303. #define USBHS_EPSR_ERBR_SHIFT USB_ENDPTSTAT_ERBR_SHIFT
  81304. #define USBHS_EPSR_ERBR(x) USB_ENDPTSTAT_ERBR(x)
  81305. #define USBHS_EPSR_ETBR_MASK USB_ENDPTSTAT_ETBR_MASK
  81306. #define USBHS_EPSR_ETBR_SHIFT USB_ENDPTSTAT_ETBR_SHIFT
  81307. #define USBHS_EPSR_ETBR(x) USB_ENDPTSTAT_ETBR(x)
  81308. #define USBHS_EPCOMPLETE_ERCE_MASK USB_ENDPTCOMPLETE_ERCE_MASK
  81309. #define USBHS_EPCOMPLETE_ERCE_SHIFT USB_ENDPTCOMPLETE_ERCE_SHIFT
  81310. #define USBHS_EPCOMPLETE_ERCE(x) USB_ENDPTCOMPLETE_ERCE(x)
  81311. #define USBHS_EPCOMPLETE_ETCE_MASK USB_ENDPTCOMPLETE_ETCE_MASK
  81312. #define USBHS_EPCOMPLETE_ETCE_SHIFT USB_ENDPTCOMPLETE_ETCE_SHIFT
  81313. #define USBHS_EPCOMPLETE_ETCE(x) USB_ENDPTCOMPLETE_ETCE(x)
  81314. #define USBHS_EPCR0_RXS_MASK USB_ENDPTCTRL0_RXS_MASK
  81315. #define USBHS_EPCR0_RXS_SHIFT USB_ENDPTCTRL0_RXS_SHIFT
  81316. #define USBHS_EPCR0_RXS(x) USB_ENDPTCTRL0_RXS(x)
  81317. #define USBHS_EPCR0_RXT_MASK USB_ENDPTCTRL0_RXT_MASK
  81318. #define USBHS_EPCR0_RXT_SHIFT USB_ENDPTCTRL0_RXT_SHIFT
  81319. #define USBHS_EPCR0_RXT(x) USB_ENDPTCTRL0_RXT(x)
  81320. #define USBHS_EPCR0_RXE_MASK USB_ENDPTCTRL0_RXE_MASK
  81321. #define USBHS_EPCR0_RXE_SHIFT USB_ENDPTCTRL0_RXE_SHIFT
  81322. #define USBHS_EPCR0_RXE(x) USB_ENDPTCTRL0_RXE(x)
  81323. #define USBHS_EPCR0_TXS_MASK USB_ENDPTCTRL0_TXS_MASK
  81324. #define USBHS_EPCR0_TXS_SHIFT USB_ENDPTCTRL0_TXS_SHIFT
  81325. #define USBHS_EPCR0_TXS(x) USB_ENDPTCTRL0_TXS(x)
  81326. #define USBHS_EPCR0_TXT_MASK USB_ENDPTCTRL0_TXT_MASK
  81327. #define USBHS_EPCR0_TXT_SHIFT USB_ENDPTCTRL0_TXT_SHIFT
  81328. #define USBHS_EPCR0_TXT(x) USB_ENDPTCTRL0_TXT(x)
  81329. #define USBHS_EPCR0_TXE_MASK USB_ENDPTCTRL0_TXE_MASK
  81330. #define USBHS_EPCR0_TXE_SHIFT USB_ENDPTCTRL0_TXE_SHIFT
  81331. #define USBHS_EPCR0_TXE(x) USB_ENDPTCTRL0_TXE(x)
  81332. #define USBHS_EPCR_RXS_MASK USB_ENDPTCTRL_RXS_MASK
  81333. #define USBHS_EPCR_RXS_SHIFT USB_ENDPTCTRL_RXS_SHIFT
  81334. #define USBHS_EPCR_RXS(x) USB_ENDPTCTRL_RXS(x)
  81335. #define USBHS_EPCR_RXD_MASK USB_ENDPTCTRL_RXD_MASK
  81336. #define USBHS_EPCR_RXD_SHIFT USB_ENDPTCTRL_RXD_SHIFT
  81337. #define USBHS_EPCR_RXD(x) USB_ENDPTCTRL_RXD(x)
  81338. #define USBHS_EPCR_RXT_MASK USB_ENDPTCTRL_RXT_MASK
  81339. #define USBHS_EPCR_RXT_SHIFT USB_ENDPTCTRL_RXT_SHIFT
  81340. #define USBHS_EPCR_RXT(x) USB_ENDPTCTRL_RXT(x)
  81341. #define USBHS_EPCR_RXI_MASK USB_ENDPTCTRL_RXI_MASK
  81342. #define USBHS_EPCR_RXI_SHIFT USB_ENDPTCTRL_RXI_SHIFT
  81343. #define USBHS_EPCR_RXI(x) USB_ENDPTCTRL_RXI(x)
  81344. #define USBHS_EPCR_RXR_MASK USB_ENDPTCTRL_RXR_MASK
  81345. #define USBHS_EPCR_RXR_SHIFT USB_ENDPTCTRL_RXR_SHIFT
  81346. #define USBHS_EPCR_RXR(x) USB_ENDPTCTRL_RXR(x)
  81347. #define USBHS_EPCR_RXE_MASK USB_ENDPTCTRL_RXE_MASK
  81348. #define USBHS_EPCR_RXE_SHIFT USB_ENDPTCTRL_RXE_SHIFT
  81349. #define USBHS_EPCR_RXE(x) USB_ENDPTCTRL_RXE(x)
  81350. #define USBHS_EPCR_TXS_MASK USB_ENDPTCTRL_TXS_MASK
  81351. #define USBHS_EPCR_TXS_SHIFT USB_ENDPTCTRL_TXS_SHIFT
  81352. #define USBHS_EPCR_TXS(x) USB_ENDPTCTRL_TXS(x)
  81353. #define USBHS_EPCR_TXD_MASK USB_ENDPTCTRL_TXD_MASK
  81354. #define USBHS_EPCR_TXD_SHIFT USB_ENDPTCTRL_TXD_SHIFT
  81355. #define USBHS_EPCR_TXD(x) USB_ENDPTCTRL_TXD(x)
  81356. #define USBHS_EPCR_TXT_MASK USB_ENDPTCTRL_TXT_MASK
  81357. #define USBHS_EPCR_TXT_SHIFT USB_ENDPTCTRL_TXT_SHIFT
  81358. #define USBHS_EPCR_TXT(x) USB_ENDPTCTRL_TXT(x)
  81359. #define USBHS_EPCR_TXI_MASK USB_ENDPTCTRL_TXI_MASK
  81360. #define USBHS_EPCR_TXI_SHIFT USB_ENDPTCTRL_TXI_SHIFT
  81361. #define USBHS_EPCR_TXI(x) USB_ENDPTCTRL_TXI(x)
  81362. #define USBHS_EPCR_TXR_MASK USB_ENDPTCTRL_TXR_MASK
  81363. #define USBHS_EPCR_TXR_SHIFT USB_ENDPTCTRL_TXR_SHIFT
  81364. #define USBHS_EPCR_TXR(x) USB_ENDPTCTRL_TXR(x)
  81365. #define USBHS_EPCR_TXE_MASK USB_ENDPTCTRL_TXE_MASK
  81366. #define USBHS_EPCR_TXE_SHIFT USB_ENDPTCTRL_TXE_SHIFT
  81367. #define USBHS_EPCR_TXE(x) USB_ENDPTCTRL_TXE(x)
  81368. #define USBHS_EPCR_COUNT USB_ENDPTCTRL_COUNT
  81369. #define USBHS_Type USB_Type
  81370. #define USBHS_BASE_ADDRS { USB_OTG1_BASE, USB_OTG2_BASE }
  81371. #define USBHS_IRQS { USB_OTG1_IRQn, USB_OTG2_IRQn }
  81372. #define USBHS_IRQHandler USB_OTG1_IRQHandler
  81373. /*!
  81374. * @}
  81375. */ /* end of group USB_Peripheral_Access_Layer */
  81376. /* ----------------------------------------------------------------------------
  81377. -- USBHSDCD Peripheral Access Layer
  81378. ---------------------------------------------------------------------------- */
  81379. /*!
  81380. * @addtogroup USBHSDCD_Peripheral_Access_Layer USBHSDCD Peripheral Access Layer
  81381. * @{
  81382. */
  81383. /** USBHSDCD - Register Layout Typedef */
  81384. typedef struct {
  81385. __IO uint32_t CONTROL; /**< Control register, offset: 0x0 */
  81386. __IO uint32_t CLOCK; /**< Clock register, offset: 0x4 */
  81387. __I uint32_t STATUS; /**< Status register, offset: 0x8 */
  81388. __IO uint32_t SIGNAL_OVERRIDE; /**< Signal Override Register, offset: 0xC */
  81389. __IO uint32_t TIMER0; /**< TIMER0 register, offset: 0x10 */
  81390. __IO uint32_t TIMER1; /**< TIMER1 register, offset: 0x14 */
  81391. union { /* offset: 0x18 */
  81392. __IO uint32_t TIMER2_BC11; /**< TIMER2_BC11 register, offset: 0x18 */
  81393. __IO uint32_t TIMER2_BC12; /**< TIMER2_BC12 register, offset: 0x18 */
  81394. };
  81395. } USBHSDCD_Type;
  81396. /* ----------------------------------------------------------------------------
  81397. -- USBHSDCD Register Masks
  81398. ---------------------------------------------------------------------------- */
  81399. /*!
  81400. * @addtogroup USBHSDCD_Register_Masks USBHSDCD Register Masks
  81401. * @{
  81402. */
  81403. /*! @name CONTROL - Control register */
  81404. /*! @{ */
  81405. #define USBHSDCD_CONTROL_IACK_MASK (0x1U)
  81406. #define USBHSDCD_CONTROL_IACK_SHIFT (0U)
  81407. /*! IACK - Interrupt Acknowledge
  81408. * 0b0..Do not clear the interrupt.
  81409. * 0b1..Clear the IF bit (interrupt flag).
  81410. */
  81411. #define USBHSDCD_CONTROL_IACK(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_CONTROL_IACK_SHIFT)) & USBHSDCD_CONTROL_IACK_MASK)
  81412. #define USBHSDCD_CONTROL_IF_MASK (0x100U)
  81413. #define USBHSDCD_CONTROL_IF_SHIFT (8U)
  81414. /*! IF - Interrupt Flag
  81415. * 0b0..No interrupt is pending.
  81416. * 0b1..An interrupt is pending.
  81417. */
  81418. #define USBHSDCD_CONTROL_IF(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_CONTROL_IF_SHIFT)) & USBHSDCD_CONTROL_IF_MASK)
  81419. #define USBHSDCD_CONTROL_IE_MASK (0x10000U)
  81420. #define USBHSDCD_CONTROL_IE_SHIFT (16U)
  81421. /*! IE - Interrupt Enable
  81422. * 0b0..Disable interrupts to the system.
  81423. * 0b1..Enable interrupts to the system.
  81424. */
  81425. #define USBHSDCD_CONTROL_IE(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_CONTROL_IE_SHIFT)) & USBHSDCD_CONTROL_IE_MASK)
  81426. #define USBHSDCD_CONTROL_BC12_MASK (0x20000U)
  81427. #define USBHSDCD_CONTROL_BC12_SHIFT (17U)
  81428. /*! BC12 - BC12
  81429. * 0b0..Compatible with BC1.1 (default)
  81430. * 0b1..Compatible with BC1.2
  81431. */
  81432. #define USBHSDCD_CONTROL_BC12(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_CONTROL_BC12_SHIFT)) & USBHSDCD_CONTROL_BC12_MASK)
  81433. #define USBHSDCD_CONTROL_START_MASK (0x1000000U)
  81434. #define USBHSDCD_CONTROL_START_SHIFT (24U)
  81435. /*! START - Start Change Detection Sequence
  81436. * 0b0..Do not start the sequence. Writes of this value have no effect.
  81437. * 0b1..Initiate the charger detection sequence. If the sequence is already running, writes of this value have no effect.
  81438. */
  81439. #define USBHSDCD_CONTROL_START(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_CONTROL_START_SHIFT)) & USBHSDCD_CONTROL_START_MASK)
  81440. #define USBHSDCD_CONTROL_SR_MASK (0x2000000U)
  81441. #define USBHSDCD_CONTROL_SR_SHIFT (25U)
  81442. /*! SR - Software Reset
  81443. * 0b0..Do not perform a software reset.
  81444. * 0b1..Perform a software reset.
  81445. */
  81446. #define USBHSDCD_CONTROL_SR(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_CONTROL_SR_SHIFT)) & USBHSDCD_CONTROL_SR_MASK)
  81447. /*! @} */
  81448. /*! @name CLOCK - Clock register */
  81449. /*! @{ */
  81450. #define USBHSDCD_CLOCK_CLOCK_UNIT_MASK (0x1U)
  81451. #define USBHSDCD_CLOCK_CLOCK_UNIT_SHIFT (0U)
  81452. /*! CLOCK_UNIT - Unit of Measurement Encoding for Clock Speed
  81453. * 0b0..kHz Speed (between 1 kHz and 1023 kHz)
  81454. * 0b1..MHz Speed (between 1 MHz and 1023 MHz)
  81455. */
  81456. #define USBHSDCD_CLOCK_CLOCK_UNIT(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_CLOCK_CLOCK_UNIT_SHIFT)) & USBHSDCD_CLOCK_CLOCK_UNIT_MASK)
  81457. #define USBHSDCD_CLOCK_CLOCK_SPEED_MASK (0xFFCU)
  81458. #define USBHSDCD_CLOCK_CLOCK_SPEED_SHIFT (2U)
  81459. /*! CLOCK_SPEED - Numerical Value of Clock Speed in Binary
  81460. */
  81461. #define USBHSDCD_CLOCK_CLOCK_SPEED(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_CLOCK_CLOCK_SPEED_SHIFT)) & USBHSDCD_CLOCK_CLOCK_SPEED_MASK)
  81462. /*! @} */
  81463. /*! @name STATUS - Status register */
  81464. /*! @{ */
  81465. #define USBHSDCD_STATUS_SEQ_RES_MASK (0x30000U)
  81466. #define USBHSDCD_STATUS_SEQ_RES_SHIFT (16U)
  81467. /*! SEQ_RES - Charger Detection Sequence Results
  81468. * 0b00..No results to report.
  81469. * 0b01..Attached to an SDP. Must comply with USB 2.0 by drawing only 2.5 mA (max) until connected.
  81470. * 0b10..Attached to a charging port. The exact meaning depends on bit 18 (value 0: Attached to either a CDP or a
  81471. * DCP. The charger type detection has not completed. value 1: Attached to a CDP. The charger type
  81472. * detection has completed.)
  81473. * 0b11..Attached to a DCP.
  81474. */
  81475. #define USBHSDCD_STATUS_SEQ_RES(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_STATUS_SEQ_RES_SHIFT)) & USBHSDCD_STATUS_SEQ_RES_MASK)
  81476. #define USBHSDCD_STATUS_SEQ_STAT_MASK (0xC0000U)
  81477. #define USBHSDCD_STATUS_SEQ_STAT_SHIFT (18U)
  81478. /*! SEQ_STAT - Charger Detection Sequence Status
  81479. * 0b00..The module is either not enabled, or the module is enabled but the data pins have not yet been detected.
  81480. * 0b01..Data pin contact detection is complete.
  81481. * 0b10..Charging port detection is complete.
  81482. * 0b11..Charger type detection is complete.
  81483. */
  81484. #define USBHSDCD_STATUS_SEQ_STAT(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_STATUS_SEQ_STAT_SHIFT)) & USBHSDCD_STATUS_SEQ_STAT_MASK)
  81485. #define USBHSDCD_STATUS_ERR_MASK (0x100000U)
  81486. #define USBHSDCD_STATUS_ERR_SHIFT (20U)
  81487. /*! ERR - Error Flag
  81488. * 0b0..No sequence errors.
  81489. * 0b1..Error in the detection sequence. See the SEQ_STAT field to determine the phase in which the error occurred.
  81490. */
  81491. #define USBHSDCD_STATUS_ERR(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_STATUS_ERR_SHIFT)) & USBHSDCD_STATUS_ERR_MASK)
  81492. #define USBHSDCD_STATUS_TO_MASK (0x200000U)
  81493. #define USBHSDCD_STATUS_TO_SHIFT (21U)
  81494. /*! TO - Timeout Flag
  81495. * 0b0..The detection sequence has not been running for over 1s.
  81496. * 0b1..It has been over 1 s since the data pin contact was detected and debounced.
  81497. */
  81498. #define USBHSDCD_STATUS_TO(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_STATUS_TO_SHIFT)) & USBHSDCD_STATUS_TO_MASK)
  81499. #define USBHSDCD_STATUS_ACTIVE_MASK (0x400000U)
  81500. #define USBHSDCD_STATUS_ACTIVE_SHIFT (22U)
  81501. /*! ACTIVE - Active Status Indicator
  81502. * 0b0..The sequence is not running.
  81503. * 0b1..The sequence is running.
  81504. */
  81505. #define USBHSDCD_STATUS_ACTIVE(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_STATUS_ACTIVE_SHIFT)) & USBHSDCD_STATUS_ACTIVE_MASK)
  81506. /*! @} */
  81507. /*! @name SIGNAL_OVERRIDE - Signal Override Register */
  81508. /*! @{ */
  81509. #define USBHSDCD_SIGNAL_OVERRIDE_PS_MASK (0x3U)
  81510. #define USBHSDCD_SIGNAL_OVERRIDE_PS_SHIFT (0U)
  81511. /*! PS - Phase Selection
  81512. * 0b00..No overrides. Bit field must remain at this value during normal USB data communication to prevent
  81513. * unexpected conditions on USB_DP and USB_DM pins. (Default)
  81514. * 0b01..Reserved, not for customer use.
  81515. * 0b10..Enables VDP_SRC voltage source for the USB_DP pin and IDM_SINK current source for the USB_DM pin.
  81516. * 0b11..Reserved, not for customer use.
  81517. */
  81518. #define USBHSDCD_SIGNAL_OVERRIDE_PS(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_SIGNAL_OVERRIDE_PS_SHIFT)) & USBHSDCD_SIGNAL_OVERRIDE_PS_MASK)
  81519. /*! @} */
  81520. /*! @name TIMER0 - TIMER0 register */
  81521. /*! @{ */
  81522. #define USBHSDCD_TIMER0_TUNITCON_MASK (0xFFFU)
  81523. #define USBHSDCD_TIMER0_TUNITCON_SHIFT (0U)
  81524. /*! TUNITCON - Unit Connection Timer Elapse (in ms)
  81525. */
  81526. #define USBHSDCD_TIMER0_TUNITCON(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_TIMER0_TUNITCON_SHIFT)) & USBHSDCD_TIMER0_TUNITCON_MASK)
  81527. #define USBHSDCD_TIMER0_TSEQ_INIT_MASK (0x3FF0000U)
  81528. #define USBHSDCD_TIMER0_TSEQ_INIT_SHIFT (16U)
  81529. /*! TSEQ_INIT - Sequence Initiation Time
  81530. * 0b0000000000-0b1111111111..0ms - 1023ms
  81531. */
  81532. #define USBHSDCD_TIMER0_TSEQ_INIT(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_TIMER0_TSEQ_INIT_SHIFT)) & USBHSDCD_TIMER0_TSEQ_INIT_MASK)
  81533. /*! @} */
  81534. /*! @name TIMER1 - TIMER1 register */
  81535. /*! @{ */
  81536. #define USBHSDCD_TIMER1_TVDPSRC_ON_MASK (0x3FFU)
  81537. #define USBHSDCD_TIMER1_TVDPSRC_ON_SHIFT (0U)
  81538. /*! TVDPSRC_ON - Time Period Comparator Enabled
  81539. * 0b0000000001-0b1111111111..1ms - 1023ms
  81540. */
  81541. #define USBHSDCD_TIMER1_TVDPSRC_ON(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_TIMER1_TVDPSRC_ON_SHIFT)) & USBHSDCD_TIMER1_TVDPSRC_ON_MASK)
  81542. #define USBHSDCD_TIMER1_TDCD_DBNC_MASK (0x3FF0000U)
  81543. #define USBHSDCD_TIMER1_TDCD_DBNC_SHIFT (16U)
  81544. /*! TDCD_DBNC - Time Period to Debounce D+ Signal
  81545. * 0b0000000001-0b1111111111..1ms - 1023ms
  81546. */
  81547. #define USBHSDCD_TIMER1_TDCD_DBNC(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_TIMER1_TDCD_DBNC_SHIFT)) & USBHSDCD_TIMER1_TDCD_DBNC_MASK)
  81548. /*! @} */
  81549. /*! @name TIMER2_BC11 - TIMER2_BC11 register */
  81550. /*! @{ */
  81551. #define USBHSDCD_TIMER2_BC11_CHECK_DM_MASK (0xFU)
  81552. #define USBHSDCD_TIMER2_BC11_CHECK_DM_SHIFT (0U)
  81553. /*! CHECK_DM - Time Before Check of D- Line
  81554. * 0b0001-0b1111..1ms - 15ms
  81555. */
  81556. #define USBHSDCD_TIMER2_BC11_CHECK_DM(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_TIMER2_BC11_CHECK_DM_SHIFT)) & USBHSDCD_TIMER2_BC11_CHECK_DM_MASK)
  81557. #define USBHSDCD_TIMER2_BC11_TVDPSRC_CON_MASK (0x3FF0000U)
  81558. #define USBHSDCD_TIMER2_BC11_TVDPSRC_CON_SHIFT (16U)
  81559. /*! TVDPSRC_CON - Time Period Before Enabling D+ Pullup
  81560. * 0b0000000001-0b1111111111..1ms - 1023ms
  81561. */
  81562. #define USBHSDCD_TIMER2_BC11_TVDPSRC_CON(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_TIMER2_BC11_TVDPSRC_CON_SHIFT)) & USBHSDCD_TIMER2_BC11_TVDPSRC_CON_MASK)
  81563. /*! @} */
  81564. /*! @name TIMER2_BC12 - TIMER2_BC12 register */
  81565. /*! @{ */
  81566. #define USBHSDCD_TIMER2_BC12_TVDMSRC_ON_MASK (0x3FFU)
  81567. #define USBHSDCD_TIMER2_BC12_TVDMSRC_ON_SHIFT (0U)
  81568. /*! TVDMSRC_ON - TVDMSRC_ON
  81569. * 0b0000000000-0b0000101000..0ms - 40ms
  81570. */
  81571. #define USBHSDCD_TIMER2_BC12_TVDMSRC_ON(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_TIMER2_BC12_TVDMSRC_ON_SHIFT)) & USBHSDCD_TIMER2_BC12_TVDMSRC_ON_MASK)
  81572. #define USBHSDCD_TIMER2_BC12_TWAIT_AFTER_PRD_MASK (0x3FF0000U)
  81573. #define USBHSDCD_TIMER2_BC12_TWAIT_AFTER_PRD_SHIFT (16U)
  81574. /*! TWAIT_AFTER_PRD - TWAIT_AFTER_PRD
  81575. * 0b0000000001-0b1111111111..1ms - 1023ms
  81576. */
  81577. #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)
  81578. /*! @} */
  81579. /*!
  81580. * @}
  81581. */ /* end of group USBHSDCD_Register_Masks */
  81582. /* USBHSDCD - Peripheral instance base addresses */
  81583. /** Peripheral USBHSDCD1 base address */
  81584. #define USBHSDCD1_BASE (0x40434800u)
  81585. /** Peripheral USBHSDCD1 base pointer */
  81586. #define USBHSDCD1 ((USBHSDCD_Type *)USBHSDCD1_BASE)
  81587. /** Peripheral USBHSDCD2 base address */
  81588. #define USBHSDCD2_BASE (0x40438800u)
  81589. /** Peripheral USBHSDCD2 base pointer */
  81590. #define USBHSDCD2 ((USBHSDCD_Type *)USBHSDCD2_BASE)
  81591. /** Array initializer of USBHSDCD peripheral base addresses */
  81592. #define USBHSDCD_BASE_ADDRS { 0u, USBHSDCD1_BASE, USBHSDCD2_BASE }
  81593. /** Array initializer of USBHSDCD peripheral base pointers */
  81594. #define USBHSDCD_BASE_PTRS { (USBHSDCD_Type *)0u, USBHSDCD1, USBHSDCD2 }
  81595. /*!
  81596. * @}
  81597. */ /* end of group USBHSDCD_Peripheral_Access_Layer */
  81598. /* ----------------------------------------------------------------------------
  81599. -- USBNC Peripheral Access Layer
  81600. ---------------------------------------------------------------------------- */
  81601. /*!
  81602. * @addtogroup USBNC_Peripheral_Access_Layer USBNC Peripheral Access Layer
  81603. * @{
  81604. */
  81605. /** USBNC - Register Layout Typedef */
  81606. typedef struct {
  81607. __IO uint32_t CTRL1; /**< USB OTG Control 1 Register, offset: 0x0 */
  81608. __IO uint32_t CTRL2; /**< USB OTG Control 2 Register, offset: 0x4 */
  81609. uint8_t RESERVED_0[8];
  81610. __IO uint32_t HSIC_CTRL; /**< USB Host HSIC Control Register, offset: 0x10 */
  81611. } USBNC_Type;
  81612. /* ----------------------------------------------------------------------------
  81613. -- USBNC Register Masks
  81614. ---------------------------------------------------------------------------- */
  81615. /*!
  81616. * @addtogroup USBNC_Register_Masks USBNC Register Masks
  81617. * @{
  81618. */
  81619. /*! @name CTRL1 - USB OTG Control 1 Register */
  81620. /*! @{ */
  81621. #define USBNC_CTRL1_OVER_CUR_DIS_MASK (0x80U)
  81622. #define USBNC_CTRL1_OVER_CUR_DIS_SHIFT (7U)
  81623. /*! OVER_CUR_DIS - OVER_CUR_DIS
  81624. * 0b1..Disables overcurrent detection
  81625. * 0b0..Enables overcurrent detection
  81626. */
  81627. #define USBNC_CTRL1_OVER_CUR_DIS(x) (((uint32_t)(((uint32_t)(x)) << USBNC_CTRL1_OVER_CUR_DIS_SHIFT)) & USBNC_CTRL1_OVER_CUR_DIS_MASK)
  81628. #define USBNC_CTRL1_OVER_CUR_POL_MASK (0x100U)
  81629. #define USBNC_CTRL1_OVER_CUR_POL_SHIFT (8U)
  81630. /*! OVER_CUR_POL - OVER_CUR_POL
  81631. * 0b1..Low active (low on this signal represents an overcurrent condition)
  81632. * 0b0..High active (high on this signal represents an overcurrent condition)
  81633. */
  81634. #define USBNC_CTRL1_OVER_CUR_POL(x) (((uint32_t)(((uint32_t)(x)) << USBNC_CTRL1_OVER_CUR_POL_SHIFT)) & USBNC_CTRL1_OVER_CUR_POL_MASK)
  81635. #define USBNC_CTRL1_PWR_POL_MASK (0x200U)
  81636. #define USBNC_CTRL1_PWR_POL_SHIFT (9U)
  81637. /*! PWR_POL - PWR_POL
  81638. * 0b1..PMIC Power Pin is High active.
  81639. * 0b0..PMIC Power Pin is Low active.
  81640. */
  81641. #define USBNC_CTRL1_PWR_POL(x) (((uint32_t)(((uint32_t)(x)) << USBNC_CTRL1_PWR_POL_SHIFT)) & USBNC_CTRL1_PWR_POL_MASK)
  81642. #define USBNC_CTRL1_WIE_MASK (0x400U)
  81643. #define USBNC_CTRL1_WIE_SHIFT (10U)
  81644. /*! WIE - WIE
  81645. * 0b1..Interrupt Enabled
  81646. * 0b0..Interrupt Disabled
  81647. */
  81648. #define USBNC_CTRL1_WIE(x) (((uint32_t)(((uint32_t)(x)) << USBNC_CTRL1_WIE_SHIFT)) & USBNC_CTRL1_WIE_MASK)
  81649. #define USBNC_CTRL1_WKUP_SW_EN_MASK (0x4000U)
  81650. #define USBNC_CTRL1_WKUP_SW_EN_SHIFT (14U)
  81651. /*! WKUP_SW_EN - WKUP_SW_EN
  81652. * 0b1..Enable
  81653. * 0b0..Disable
  81654. */
  81655. #define USBNC_CTRL1_WKUP_SW_EN(x) (((uint32_t)(((uint32_t)(x)) << USBNC_CTRL1_WKUP_SW_EN_SHIFT)) & USBNC_CTRL1_WKUP_SW_EN_MASK)
  81656. #define USBNC_CTRL1_WKUP_SW_MASK (0x8000U)
  81657. #define USBNC_CTRL1_WKUP_SW_SHIFT (15U)
  81658. /*! WKUP_SW - WKUP_SW
  81659. * 0b1..Force wake-up
  81660. * 0b0..Inactive
  81661. */
  81662. #define USBNC_CTRL1_WKUP_SW(x) (((uint32_t)(((uint32_t)(x)) << USBNC_CTRL1_WKUP_SW_SHIFT)) & USBNC_CTRL1_WKUP_SW_MASK)
  81663. #define USBNC_CTRL1_WKUP_ID_EN_MASK (0x10000U)
  81664. #define USBNC_CTRL1_WKUP_ID_EN_SHIFT (16U)
  81665. /*! WKUP_ID_EN - WKUP_ID_EN
  81666. * 0b1..Enable
  81667. * 0b0..Disable
  81668. */
  81669. #define USBNC_CTRL1_WKUP_ID_EN(x) (((uint32_t)(((uint32_t)(x)) << USBNC_CTRL1_WKUP_ID_EN_SHIFT)) & USBNC_CTRL1_WKUP_ID_EN_MASK)
  81670. #define USBNC_CTRL1_WKUP_VBUS_EN_MASK (0x20000U)
  81671. #define USBNC_CTRL1_WKUP_VBUS_EN_SHIFT (17U)
  81672. /*! WKUP_VBUS_EN - WKUP_VBUS_EN
  81673. * 0b1..Enable
  81674. * 0b0..Disable
  81675. */
  81676. #define USBNC_CTRL1_WKUP_VBUS_EN(x) (((uint32_t)(((uint32_t)(x)) << USBNC_CTRL1_WKUP_VBUS_EN_SHIFT)) & USBNC_CTRL1_WKUP_VBUS_EN_MASK)
  81677. #define USBNC_CTRL1_WKUP_DPDM_EN_MASK (0x20000000U)
  81678. #define USBNC_CTRL1_WKUP_DPDM_EN_SHIFT (29U)
  81679. /*! WKUP_DPDM_EN - Wake-up on DPDM change enable
  81680. * 0b1..(Default) DPDM changes wake-up to be enabled, it is for device only.
  81681. * 0b0..DPDM changes wake-up to be disabled only when VBUS is 0.
  81682. */
  81683. #define USBNC_CTRL1_WKUP_DPDM_EN(x) (((uint32_t)(((uint32_t)(x)) << USBNC_CTRL1_WKUP_DPDM_EN_SHIFT)) & USBNC_CTRL1_WKUP_DPDM_EN_MASK)
  81684. #define USBNC_CTRL1_WIR_MASK (0x80000000U)
  81685. #define USBNC_CTRL1_WIR_SHIFT (31U)
  81686. /*! WIR - WIR
  81687. * 0b1..Wake-up Interrupt Request received
  81688. * 0b0..No wake-up interrupt request received
  81689. */
  81690. #define USBNC_CTRL1_WIR(x) (((uint32_t)(((uint32_t)(x)) << USBNC_CTRL1_WIR_SHIFT)) & USBNC_CTRL1_WIR_MASK)
  81691. /*! @} */
  81692. /*! @name CTRL2 - USB OTG Control 2 Register */
  81693. /*! @{ */
  81694. #define USBNC_CTRL2_VBUS_SOURCE_SEL_MASK (0x3U)
  81695. #define USBNC_CTRL2_VBUS_SOURCE_SEL_SHIFT (0U)
  81696. /*! VBUS_SOURCE_SEL - VBUS_SOURCE_SEL
  81697. * 0b00..vbus_valid
  81698. * 0b01..sess_valid
  81699. * 0b10..sess_valid
  81700. * 0b11..sess_valid
  81701. */
  81702. #define USBNC_CTRL2_VBUS_SOURCE_SEL(x) (((uint32_t)(((uint32_t)(x)) << USBNC_CTRL2_VBUS_SOURCE_SEL_SHIFT)) & USBNC_CTRL2_VBUS_SOURCE_SEL_MASK)
  81703. #define USBNC_CTRL2_AUTURESUME_EN_MASK (0x4U)
  81704. #define USBNC_CTRL2_AUTURESUME_EN_SHIFT (2U)
  81705. /*! AUTURESUME_EN - Auto Resume Enable
  81706. * 0b0..Default
  81707. */
  81708. #define USBNC_CTRL2_AUTURESUME_EN(x) (((uint32_t)(((uint32_t)(x)) << USBNC_CTRL2_AUTURESUME_EN_SHIFT)) & USBNC_CTRL2_AUTURESUME_EN_MASK)
  81709. #define USBNC_CTRL2_LOWSPEED_EN_MASK (0x8U)
  81710. #define USBNC_CTRL2_LOWSPEED_EN_SHIFT (3U)
  81711. /*! LOWSPEED_EN - LOWSPEED_EN
  81712. * 0b0..Default
  81713. */
  81714. #define USBNC_CTRL2_LOWSPEED_EN(x) (((uint32_t)(((uint32_t)(x)) << USBNC_CTRL2_LOWSPEED_EN_SHIFT)) & USBNC_CTRL2_LOWSPEED_EN_MASK)
  81715. #define USBNC_CTRL2_UTMI_CLK_VLD_MASK (0x80000000U)
  81716. #define USBNC_CTRL2_UTMI_CLK_VLD_SHIFT (31U)
  81717. /*! UTMI_CLK_VLD - UTMI_CLK_VLD
  81718. * 0b0..Default
  81719. */
  81720. #define USBNC_CTRL2_UTMI_CLK_VLD(x) (((uint32_t)(((uint32_t)(x)) << USBNC_CTRL2_UTMI_CLK_VLD_SHIFT)) & USBNC_CTRL2_UTMI_CLK_VLD_MASK)
  81721. /*! @} */
  81722. /*! @name HSIC_CTRL - USB Host HSIC Control Register */
  81723. /*! @{ */
  81724. #define USBNC_HSIC_CTRL_HSIC_CLK_ON_MASK (0x800U)
  81725. #define USBNC_HSIC_CTRL_HSIC_CLK_ON_SHIFT (11U)
  81726. /*! HSIC_CLK_ON - HSIC_CLK_ON
  81727. * 0b1..Active
  81728. * 0b0..Inactive
  81729. */
  81730. #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)
  81731. #define USBNC_HSIC_CTRL_HSIC_EN_MASK (0x1000U)
  81732. #define USBNC_HSIC_CTRL_HSIC_EN_SHIFT (12U)
  81733. /*! HSIC_EN - HSIC_EN
  81734. * 0b1..Enabled
  81735. * 0b0..Disabled
  81736. */
  81737. #define USBNC_HSIC_CTRL_HSIC_EN(x) (((uint32_t)(((uint32_t)(x)) << USBNC_HSIC_CTRL_HSIC_EN_SHIFT)) & USBNC_HSIC_CTRL_HSIC_EN_MASK)
  81738. #define USBNC_HSIC_CTRL_CLK_VLD_MASK (0x80000000U)
  81739. #define USBNC_HSIC_CTRL_CLK_VLD_SHIFT (31U)
  81740. /*! CLK_VLD - CLK_VLD
  81741. * 0b1..Valid
  81742. * 0b0..Invalid
  81743. */
  81744. #define USBNC_HSIC_CTRL_CLK_VLD(x) (((uint32_t)(((uint32_t)(x)) << USBNC_HSIC_CTRL_CLK_VLD_SHIFT)) & USBNC_HSIC_CTRL_CLK_VLD_MASK)
  81745. /*! @} */
  81746. /*!
  81747. * @}
  81748. */ /* end of group USBNC_Register_Masks */
  81749. /* USBNC - Peripheral instance base addresses */
  81750. /** Peripheral USBNC_OTG1 base address */
  81751. #define USBNC_OTG1_BASE (0x40430200u)
  81752. /** Peripheral USBNC_OTG1 base pointer */
  81753. #define USBNC_OTG1 ((USBNC_Type *)USBNC_OTG1_BASE)
  81754. /** Peripheral USBNC_OTG2 base address */
  81755. #define USBNC_OTG2_BASE (0x4042C200u)
  81756. /** Peripheral USBNC_OTG2 base pointer */
  81757. #define USBNC_OTG2 ((USBNC_Type *)USBNC_OTG2_BASE)
  81758. /** Array initializer of USBNC peripheral base addresses */
  81759. #define USBNC_BASE_ADDRS { 0u, USBNC_OTG1_BASE, USBNC_OTG2_BASE }
  81760. /** Array initializer of USBNC peripheral base pointers */
  81761. #define USBNC_BASE_PTRS { (USBNC_Type *)0u, USBNC_OTG1, USBNC_OTG2 }
  81762. /* Backward compatibility */
  81763. #define USB_OTGn_CTRL CTRL1
  81764. #define USBNC_USB_OTGn_CTRL_OVER_CUR_DIS_MASK USBNC_CTRL1_OVER_CUR_DIS_MASK
  81765. #define USBNC_USB_OTGn_CTRL_OVER_CUR_DIS_SHIFT USBNC_CTRL1_OVER_CUR_DIS_SHIFT
  81766. #define USBNC_USB_OTGn_CTRL_OVER_CUR_DIS(x) USBNC_CTRL1_OVER_CUR_DIS(x)
  81767. #define USBNC_USB_OTGn_CTRL_OVER_CUR_POL_MASK USBNC_CTRL1_OVER_CUR_POL_MASK
  81768. #define USBNC_USB_OTGn_CTRL_OVER_CUR_POL_SHIFT USBNC_CTRL1_OVER_CUR_POL_SHIFT
  81769. #define USBNC_USB_OTGn_CTRL_OVER_CUR_POL(x) USBNC_CTRL1_OVER_CUR_POL(x)
  81770. #define USBNC_USB_OTGn_CTRL_PWR_POL_MASK USBNC_CTRL1_PWR_POL_MASK
  81771. #define USBNC_USB_OTGn_CTRL_PWR_POL_SHIFT USBNC_CTRL1_PWR_POL_SHIFT
  81772. #define USBNC_USB_OTGn_CTRL_PWR_POL(x) USBNC_CTRL1_PWR_POL(x)
  81773. #define USBNC_USB_OTGn_CTRL_WIE_MASK USBNC_CTRL1_WIE_MASK
  81774. #define USBNC_USB_OTGn_CTRL_WIE_SHIFT USBNC_CTRL1_WIE_SHIFT
  81775. #define USBNC_USB_OTGn_CTRL_WIE(x) USBNC_CTRL1_WIE(x)
  81776. #define USBNC_USB_OTGn_CTRL_WKUP_SW_EN_MASK USBNC_CTRL1_WKUP_SW_EN_MASK
  81777. #define USBNC_USB_OTGn_CTRL_WKUP_SW_EN_SHIFT USBNC_CTRL1_WKUP_SW_EN_SHIFT
  81778. #define USBNC_USB_OTGn_CTRL_WKUP_SW_EN(x) USBNC_CTRL1_WKUP_SW_EN(x)
  81779. #define USBNC_USB_OTGn_CTRL_WKUP_SW_MASK USBNC_CTRL1_WKUP_SW_MASK
  81780. #define USBNC_USB_OTGn_CTRL_WKUP_SW_SHIFT USBNC_CTRL1_WKUP_SW_SHIFT
  81781. #define USBNC_USB_OTGn_CTRL_WKUP_SW(x) USBNC_CTRL1_WKUP_SW(x)
  81782. #define USBNC_USB_OTGn_CTRL_WKUP_ID_EN_MASK USBNC_CTRL1_WKUP_ID_EN_MASK
  81783. #define USBNC_USB_OTGn_CTRL_WKUP_ID_EN_SHIFT USBNC_CTRL1_WKUP_ID_EN_SHIFT
  81784. #define USBNC_USB_OTGn_CTRL_WKUP_ID_EN(x) USBNC_CTRL1_WKUP_ID_EN(x)
  81785. #define USBNC_USB_OTGn_CTRL_WKUP_VBUS_EN_MASK USBNC_CTRL1_WKUP_VBUS_EN_MASK
  81786. #define USBNC_USB_OTGn_CTRL_WKUP_VBUS_EN_SHIFT USBNC_CTRL1_WKUP_VBUS_EN_SHIFT
  81787. #define USBNC_USB_OTGn_CTRL_WKUP_VBUS_EN(x) USBNC_CTRL1_WKUP_VBUS_EN(x)
  81788. #define USBNC_USB_OTGn_CTRL_WKUP_DPDM_EN_MASK USBNC_CTRL1_WKUP_DPDM_EN_MASK
  81789. #define USBNC_USB_OTGn_CTRL_WKUP_DPDM_EN_SHIFT USBNC_CTRL1_WKUP_DPDM_EN_SHIFT
  81790. #define USBNC_USB_OTGn_CTRL_WKUP_DPDM_EN(x) USBNC_CTRL1_WKUP_DPDM_EN(x)
  81791. #define USBNC_USB_OTGn_CTRL_WIR_MASK USBNC_CTRL1_WIR_MASK
  81792. #define USBNC_USB_OTGn_CTRL_WIR_SHIFT USBNC_CTRL1_WIR_SHIFT
  81793. #define USBNC_USB_OTGn_CTRL_WIR(x) USBNC_CTRL1_WIR(x)
  81794. /*!
  81795. * @}
  81796. */ /* end of group USBNC_Peripheral_Access_Layer */
  81797. /* ----------------------------------------------------------------------------
  81798. -- USBPHY Peripheral Access Layer
  81799. ---------------------------------------------------------------------------- */
  81800. /*!
  81801. * @addtogroup USBPHY_Peripheral_Access_Layer USBPHY Peripheral Access Layer
  81802. * @{
  81803. */
  81804. /** USBPHY - Register Layout Typedef */
  81805. typedef struct {
  81806. __IO uint32_t PWD; /**< USB PHY Power-Down Register, offset: 0x0 */
  81807. __IO uint32_t PWD_SET; /**< USB PHY Power-Down Register, offset: 0x4 */
  81808. __IO uint32_t PWD_CLR; /**< USB PHY Power-Down Register, offset: 0x8 */
  81809. __IO uint32_t PWD_TOG; /**< USB PHY Power-Down Register, offset: 0xC */
  81810. __IO uint32_t TX; /**< USB PHY Transmitter Control Register, offset: 0x10 */
  81811. __IO uint32_t TX_SET; /**< USB PHY Transmitter Control Register, offset: 0x14 */
  81812. __IO uint32_t TX_CLR; /**< USB PHY Transmitter Control Register, offset: 0x18 */
  81813. __IO uint32_t TX_TOG; /**< USB PHY Transmitter Control Register, offset: 0x1C */
  81814. __IO uint32_t RX; /**< USB PHY Receiver Control Register, offset: 0x20 */
  81815. __IO uint32_t RX_SET; /**< USB PHY Receiver Control Register, offset: 0x24 */
  81816. __IO uint32_t RX_CLR; /**< USB PHY Receiver Control Register, offset: 0x28 */
  81817. __IO uint32_t RX_TOG; /**< USB PHY Receiver Control Register, offset: 0x2C */
  81818. __IO uint32_t CTRL; /**< USB PHY General Control Register, offset: 0x30 */
  81819. __IO uint32_t CTRL_SET; /**< USB PHY General Control Register, offset: 0x34 */
  81820. __IO uint32_t CTRL_CLR; /**< USB PHY General Control Register, offset: 0x38 */
  81821. __IO uint32_t CTRL_TOG; /**< USB PHY General Control Register, offset: 0x3C */
  81822. __IO uint32_t STATUS; /**< USB PHY Status Register, offset: 0x40 */
  81823. uint8_t RESERVED_0[12];
  81824. __IO uint32_t DEBUGr; /**< USB PHY Debug Register, offset: 0x50 */
  81825. __IO uint32_t DEBUG_SET; /**< USB PHY Debug Register, offset: 0x54 */
  81826. __IO uint32_t DEBUG_CLR; /**< USB PHY Debug Register, offset: 0x58 */
  81827. __IO uint32_t DEBUG_TOG; /**< USB PHY Debug Register, offset: 0x5C */
  81828. __I uint32_t DEBUG0_STATUS; /**< UTMI Debug Status Register 0, offset: 0x60 */
  81829. uint8_t RESERVED_1[12];
  81830. __IO uint32_t DEBUG1; /**< UTMI Debug Status Register 1, offset: 0x70 */
  81831. __IO uint32_t DEBUG1_SET; /**< UTMI Debug Status Register 1, offset: 0x74 */
  81832. __IO uint32_t DEBUG1_CLR; /**< UTMI Debug Status Register 1, offset: 0x78 */
  81833. __IO uint32_t DEBUG1_TOG; /**< UTMI Debug Status Register 1, offset: 0x7C */
  81834. __I uint32_t VERSION; /**< UTMI RTL Version, offset: 0x80 */
  81835. uint8_t RESERVED_2[28];
  81836. __IO uint32_t PLL_SIC; /**< USB PHY PLL Control/Status Register, offset: 0xA0 */
  81837. __IO uint32_t PLL_SIC_SET; /**< USB PHY PLL Control/Status Register, offset: 0xA4 */
  81838. __IO uint32_t PLL_SIC_CLR; /**< USB PHY PLL Control/Status Register, offset: 0xA8 */
  81839. __IO uint32_t PLL_SIC_TOG; /**< USB PHY PLL Control/Status Register, offset: 0xAC */
  81840. uint8_t RESERVED_3[16];
  81841. __IO uint32_t USB1_VBUS_DETECT; /**< USB PHY VBUS Detect Control Register, offset: 0xC0 */
  81842. __IO uint32_t USB1_VBUS_DETECT_SET; /**< USB PHY VBUS Detect Control Register, offset: 0xC4 */
  81843. __IO uint32_t USB1_VBUS_DETECT_CLR; /**< USB PHY VBUS Detect Control Register, offset: 0xC8 */
  81844. __IO uint32_t USB1_VBUS_DETECT_TOG; /**< USB PHY VBUS Detect Control Register, offset: 0xCC */
  81845. __I uint32_t USB1_VBUS_DET_STAT; /**< USB PHY VBUS Detector Status Register, offset: 0xD0 */
  81846. uint8_t RESERVED_4[12];
  81847. __IO uint32_t USB1_CHRG_DETECT; /**< USB PHY Charger Detect Control Register, offset: 0xE0 */
  81848. __IO uint32_t USB1_CHRG_DETECT_SET; /**< USB PHY Charger Detect Control Register, offset: 0xE4 */
  81849. __IO uint32_t USB1_CHRG_DETECT_CLR; /**< USB PHY Charger Detect Control Register, offset: 0xE8 */
  81850. __IO uint32_t USB1_CHRG_DETECT_TOG; /**< USB PHY Charger Detect Control Register, offset: 0xEC */
  81851. __I uint32_t USB1_CHRG_DET_STAT; /**< USB PHY Charger Detect Status Register, offset: 0xF0 */
  81852. uint8_t RESERVED_5[12];
  81853. __IO uint32_t ANACTRL; /**< USB PHY Analog Control Register, offset: 0x100 */
  81854. __IO uint32_t ANACTRL_SET; /**< USB PHY Analog Control Register, offset: 0x104 */
  81855. __IO uint32_t ANACTRL_CLR; /**< USB PHY Analog Control Register, offset: 0x108 */
  81856. __IO uint32_t ANACTRL_TOG; /**< USB PHY Analog Control Register, offset: 0x10C */
  81857. __IO uint32_t USB1_LOOPBACK; /**< USB PHY Loopback Control/Status Register, offset: 0x110 */
  81858. __IO uint32_t USB1_LOOPBACK_SET; /**< USB PHY Loopback Control/Status Register, offset: 0x114 */
  81859. __IO uint32_t USB1_LOOPBACK_CLR; /**< USB PHY Loopback Control/Status Register, offset: 0x118 */
  81860. __IO uint32_t USB1_LOOPBACK_TOG; /**< USB PHY Loopback Control/Status Register, offset: 0x11C */
  81861. __IO uint32_t USB1_LOOPBACK_HSFSCNT; /**< USB PHY Loopback Packet Number Select Register, offset: 0x120 */
  81862. __IO uint32_t USB1_LOOPBACK_HSFSCNT_SET; /**< USB PHY Loopback Packet Number Select Register, offset: 0x124 */
  81863. __IO uint32_t USB1_LOOPBACK_HSFSCNT_CLR; /**< USB PHY Loopback Packet Number Select Register, offset: 0x128 */
  81864. __IO uint32_t USB1_LOOPBACK_HSFSCNT_TOG; /**< USB PHY Loopback Packet Number Select Register, offset: 0x12C */
  81865. __IO uint32_t TRIM_OVERRIDE_EN; /**< USB PHY Trim Override Enable Register, offset: 0x130 */
  81866. __IO uint32_t TRIM_OVERRIDE_EN_SET; /**< USB PHY Trim Override Enable Register, offset: 0x134 */
  81867. __IO uint32_t TRIM_OVERRIDE_EN_CLR; /**< USB PHY Trim Override Enable Register, offset: 0x138 */
  81868. __IO uint32_t TRIM_OVERRIDE_EN_TOG; /**< USB PHY Trim Override Enable Register, offset: 0x13C */
  81869. } USBPHY_Type;
  81870. /* ----------------------------------------------------------------------------
  81871. -- USBPHY Register Masks
  81872. ---------------------------------------------------------------------------- */
  81873. /*!
  81874. * @addtogroup USBPHY_Register_Masks USBPHY Register Masks
  81875. * @{
  81876. */
  81877. /*! @name PWD - USB PHY Power-Down Register */
  81878. /*! @{ */
  81879. #define USBPHY_PWD_TXPWDFS_MASK (0x400U)
  81880. #define USBPHY_PWD_TXPWDFS_SHIFT (10U)
  81881. /*! TXPWDFS - TXPWDFS
  81882. * 0b0..Normal operation.
  81883. * 0b1..Power-down the USB full-speed drivers. This turns off the current starvation sources and puts the drivers into high-impedance output
  81884. */
  81885. #define USBPHY_PWD_TXPWDFS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TXPWDFS_SHIFT)) & USBPHY_PWD_TXPWDFS_MASK)
  81886. #define USBPHY_PWD_TXPWDIBIAS_MASK (0x800U)
  81887. #define USBPHY_PWD_TXPWDIBIAS_SHIFT (11U)
  81888. /*! TXPWDIBIAS - TXPWDIBIAS
  81889. * 0b0..Normal operation
  81890. * 0b1..Power-down the USB PHY current bias block for the transmitter. This bit should be set only when the USB
  81891. * is in suspend mode. This effectively powers down the entire USB transmit path
  81892. */
  81893. #define USBPHY_PWD_TXPWDIBIAS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TXPWDIBIAS_SHIFT)) & USBPHY_PWD_TXPWDIBIAS_MASK)
  81894. #define USBPHY_PWD_TXPWDV2I_MASK (0x1000U)
  81895. #define USBPHY_PWD_TXPWDV2I_SHIFT (12U)
  81896. /*! TXPWDV2I - TXPWDV2I
  81897. * 0b0..Normal operation.
  81898. * 0b1..Power-down the USB PHY transmit V-to-I converter and the current mirror
  81899. */
  81900. #define USBPHY_PWD_TXPWDV2I(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TXPWDV2I_SHIFT)) & USBPHY_PWD_TXPWDV2I_MASK)
  81901. #define USBPHY_PWD_RXPWDENV_MASK (0x20000U)
  81902. #define USBPHY_PWD_RXPWDENV_SHIFT (17U)
  81903. /*! RXPWDENV - RXPWDENV
  81904. * 0b0..Normal operation.
  81905. * 0b1..Power-down the USB high-speed receiver envelope detector (squelch signal)
  81906. */
  81907. #define USBPHY_PWD_RXPWDENV(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_RXPWDENV_SHIFT)) & USBPHY_PWD_RXPWDENV_MASK)
  81908. #define USBPHY_PWD_RXPWD1PT1_MASK (0x40000U)
  81909. #define USBPHY_PWD_RXPWD1PT1_SHIFT (18U)
  81910. /*! RXPWD1PT1 - RXPWD1PT1
  81911. * 0b0..Normal operation
  81912. * 0b1..Power-down the USB full-speed differential receiver.
  81913. */
  81914. #define USBPHY_PWD_RXPWD1PT1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_RXPWD1PT1_SHIFT)) & USBPHY_PWD_RXPWD1PT1_MASK)
  81915. #define USBPHY_PWD_RXPWDDIFF_MASK (0x80000U)
  81916. #define USBPHY_PWD_RXPWDDIFF_SHIFT (19U)
  81917. /*! RXPWDDIFF - RXPWDDIFF
  81918. * 0b0..Normal operation.
  81919. * 0b1..Power-down the USB high-speed differential receiver
  81920. */
  81921. #define USBPHY_PWD_RXPWDDIFF(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_RXPWDDIFF_SHIFT)) & USBPHY_PWD_RXPWDDIFF_MASK)
  81922. #define USBPHY_PWD_RXPWDRX_MASK (0x100000U)
  81923. #define USBPHY_PWD_RXPWDRX_SHIFT (20U)
  81924. /*! RXPWDRX - RXPWDRX
  81925. * 0b0..Normal operation
  81926. * 0b1..Power-down the entire USB PHY receiver block except for the full-speed differential receiver
  81927. */
  81928. #define USBPHY_PWD_RXPWDRX(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_RXPWDRX_SHIFT)) & USBPHY_PWD_RXPWDRX_MASK)
  81929. /*! @} */
  81930. /*! @name PWD_SET - USB PHY Power-Down Register */
  81931. /*! @{ */
  81932. #define USBPHY_PWD_SET_TXPWDFS_MASK (0x400U)
  81933. #define USBPHY_PWD_SET_TXPWDFS_SHIFT (10U)
  81934. /*! TXPWDFS - TXPWDFS
  81935. */
  81936. #define USBPHY_PWD_SET_TXPWDFS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_SET_TXPWDFS_SHIFT)) & USBPHY_PWD_SET_TXPWDFS_MASK)
  81937. #define USBPHY_PWD_SET_TXPWDIBIAS_MASK (0x800U)
  81938. #define USBPHY_PWD_SET_TXPWDIBIAS_SHIFT (11U)
  81939. /*! TXPWDIBIAS - TXPWDIBIAS
  81940. */
  81941. #define USBPHY_PWD_SET_TXPWDIBIAS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_SET_TXPWDIBIAS_SHIFT)) & USBPHY_PWD_SET_TXPWDIBIAS_MASK)
  81942. #define USBPHY_PWD_SET_TXPWDV2I_MASK (0x1000U)
  81943. #define USBPHY_PWD_SET_TXPWDV2I_SHIFT (12U)
  81944. /*! TXPWDV2I - TXPWDV2I
  81945. */
  81946. #define USBPHY_PWD_SET_TXPWDV2I(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_SET_TXPWDV2I_SHIFT)) & USBPHY_PWD_SET_TXPWDV2I_MASK)
  81947. #define USBPHY_PWD_SET_RXPWDENV_MASK (0x20000U)
  81948. #define USBPHY_PWD_SET_RXPWDENV_SHIFT (17U)
  81949. /*! RXPWDENV - RXPWDENV
  81950. */
  81951. #define USBPHY_PWD_SET_RXPWDENV(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_SET_RXPWDENV_SHIFT)) & USBPHY_PWD_SET_RXPWDENV_MASK)
  81952. #define USBPHY_PWD_SET_RXPWD1PT1_MASK (0x40000U)
  81953. #define USBPHY_PWD_SET_RXPWD1PT1_SHIFT (18U)
  81954. /*! RXPWD1PT1 - RXPWD1PT1
  81955. */
  81956. #define USBPHY_PWD_SET_RXPWD1PT1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_SET_RXPWD1PT1_SHIFT)) & USBPHY_PWD_SET_RXPWD1PT1_MASK)
  81957. #define USBPHY_PWD_SET_RXPWDDIFF_MASK (0x80000U)
  81958. #define USBPHY_PWD_SET_RXPWDDIFF_SHIFT (19U)
  81959. /*! RXPWDDIFF - RXPWDDIFF
  81960. */
  81961. #define USBPHY_PWD_SET_RXPWDDIFF(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_SET_RXPWDDIFF_SHIFT)) & USBPHY_PWD_SET_RXPWDDIFF_MASK)
  81962. #define USBPHY_PWD_SET_RXPWDRX_MASK (0x100000U)
  81963. #define USBPHY_PWD_SET_RXPWDRX_SHIFT (20U)
  81964. /*! RXPWDRX - RXPWDRX
  81965. */
  81966. #define USBPHY_PWD_SET_RXPWDRX(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_SET_RXPWDRX_SHIFT)) & USBPHY_PWD_SET_RXPWDRX_MASK)
  81967. /*! @} */
  81968. /*! @name PWD_CLR - USB PHY Power-Down Register */
  81969. /*! @{ */
  81970. #define USBPHY_PWD_CLR_TXPWDFS_MASK (0x400U)
  81971. #define USBPHY_PWD_CLR_TXPWDFS_SHIFT (10U)
  81972. /*! TXPWDFS - TXPWDFS
  81973. */
  81974. #define USBPHY_PWD_CLR_TXPWDFS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_CLR_TXPWDFS_SHIFT)) & USBPHY_PWD_CLR_TXPWDFS_MASK)
  81975. #define USBPHY_PWD_CLR_TXPWDIBIAS_MASK (0x800U)
  81976. #define USBPHY_PWD_CLR_TXPWDIBIAS_SHIFT (11U)
  81977. /*! TXPWDIBIAS - TXPWDIBIAS
  81978. */
  81979. #define USBPHY_PWD_CLR_TXPWDIBIAS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_CLR_TXPWDIBIAS_SHIFT)) & USBPHY_PWD_CLR_TXPWDIBIAS_MASK)
  81980. #define USBPHY_PWD_CLR_TXPWDV2I_MASK (0x1000U)
  81981. #define USBPHY_PWD_CLR_TXPWDV2I_SHIFT (12U)
  81982. /*! TXPWDV2I - TXPWDV2I
  81983. */
  81984. #define USBPHY_PWD_CLR_TXPWDV2I(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_CLR_TXPWDV2I_SHIFT)) & USBPHY_PWD_CLR_TXPWDV2I_MASK)
  81985. #define USBPHY_PWD_CLR_RXPWDENV_MASK (0x20000U)
  81986. #define USBPHY_PWD_CLR_RXPWDENV_SHIFT (17U)
  81987. /*! RXPWDENV - RXPWDENV
  81988. */
  81989. #define USBPHY_PWD_CLR_RXPWDENV(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_CLR_RXPWDENV_SHIFT)) & USBPHY_PWD_CLR_RXPWDENV_MASK)
  81990. #define USBPHY_PWD_CLR_RXPWD1PT1_MASK (0x40000U)
  81991. #define USBPHY_PWD_CLR_RXPWD1PT1_SHIFT (18U)
  81992. /*! RXPWD1PT1 - RXPWD1PT1
  81993. */
  81994. #define USBPHY_PWD_CLR_RXPWD1PT1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_CLR_RXPWD1PT1_SHIFT)) & USBPHY_PWD_CLR_RXPWD1PT1_MASK)
  81995. #define USBPHY_PWD_CLR_RXPWDDIFF_MASK (0x80000U)
  81996. #define USBPHY_PWD_CLR_RXPWDDIFF_SHIFT (19U)
  81997. /*! RXPWDDIFF - RXPWDDIFF
  81998. */
  81999. #define USBPHY_PWD_CLR_RXPWDDIFF(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_CLR_RXPWDDIFF_SHIFT)) & USBPHY_PWD_CLR_RXPWDDIFF_MASK)
  82000. #define USBPHY_PWD_CLR_RXPWDRX_MASK (0x100000U)
  82001. #define USBPHY_PWD_CLR_RXPWDRX_SHIFT (20U)
  82002. /*! RXPWDRX - RXPWDRX
  82003. */
  82004. #define USBPHY_PWD_CLR_RXPWDRX(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_CLR_RXPWDRX_SHIFT)) & USBPHY_PWD_CLR_RXPWDRX_MASK)
  82005. /*! @} */
  82006. /*! @name PWD_TOG - USB PHY Power-Down Register */
  82007. /*! @{ */
  82008. #define USBPHY_PWD_TOG_TXPWDFS_MASK (0x400U)
  82009. #define USBPHY_PWD_TOG_TXPWDFS_SHIFT (10U)
  82010. /*! TXPWDFS - TXPWDFS
  82011. */
  82012. #define USBPHY_PWD_TOG_TXPWDFS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TOG_TXPWDFS_SHIFT)) & USBPHY_PWD_TOG_TXPWDFS_MASK)
  82013. #define USBPHY_PWD_TOG_TXPWDIBIAS_MASK (0x800U)
  82014. #define USBPHY_PWD_TOG_TXPWDIBIAS_SHIFT (11U)
  82015. /*! TXPWDIBIAS - TXPWDIBIAS
  82016. */
  82017. #define USBPHY_PWD_TOG_TXPWDIBIAS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TOG_TXPWDIBIAS_SHIFT)) & USBPHY_PWD_TOG_TXPWDIBIAS_MASK)
  82018. #define USBPHY_PWD_TOG_TXPWDV2I_MASK (0x1000U)
  82019. #define USBPHY_PWD_TOG_TXPWDV2I_SHIFT (12U)
  82020. /*! TXPWDV2I - TXPWDV2I
  82021. */
  82022. #define USBPHY_PWD_TOG_TXPWDV2I(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TOG_TXPWDV2I_SHIFT)) & USBPHY_PWD_TOG_TXPWDV2I_MASK)
  82023. #define USBPHY_PWD_TOG_RXPWDENV_MASK (0x20000U)
  82024. #define USBPHY_PWD_TOG_RXPWDENV_SHIFT (17U)
  82025. /*! RXPWDENV - RXPWDENV
  82026. */
  82027. #define USBPHY_PWD_TOG_RXPWDENV(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TOG_RXPWDENV_SHIFT)) & USBPHY_PWD_TOG_RXPWDENV_MASK)
  82028. #define USBPHY_PWD_TOG_RXPWD1PT1_MASK (0x40000U)
  82029. #define USBPHY_PWD_TOG_RXPWD1PT1_SHIFT (18U)
  82030. /*! RXPWD1PT1 - RXPWD1PT1
  82031. */
  82032. #define USBPHY_PWD_TOG_RXPWD1PT1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TOG_RXPWD1PT1_SHIFT)) & USBPHY_PWD_TOG_RXPWD1PT1_MASK)
  82033. #define USBPHY_PWD_TOG_RXPWDDIFF_MASK (0x80000U)
  82034. #define USBPHY_PWD_TOG_RXPWDDIFF_SHIFT (19U)
  82035. /*! RXPWDDIFF - RXPWDDIFF
  82036. */
  82037. #define USBPHY_PWD_TOG_RXPWDDIFF(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TOG_RXPWDDIFF_SHIFT)) & USBPHY_PWD_TOG_RXPWDDIFF_MASK)
  82038. #define USBPHY_PWD_TOG_RXPWDRX_MASK (0x100000U)
  82039. #define USBPHY_PWD_TOG_RXPWDRX_SHIFT (20U)
  82040. /*! RXPWDRX - RXPWDRX
  82041. */
  82042. #define USBPHY_PWD_TOG_RXPWDRX(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TOG_RXPWDRX_SHIFT)) & USBPHY_PWD_TOG_RXPWDRX_MASK)
  82043. /*! @} */
  82044. /*! @name TX - USB PHY Transmitter Control Register */
  82045. /*! @{ */
  82046. #define USBPHY_TX_D_CAL_MASK (0xFU)
  82047. #define USBPHY_TX_D_CAL_SHIFT (0U)
  82048. /*! D_CAL - D_CAL
  82049. * 0b0000..Maximum current, approximately 19% above nominal.
  82050. * 0b0111..Nominal
  82051. * 0b1111..Minimum current, approximately 19% below nominal.
  82052. */
  82053. #define USBPHY_TX_D_CAL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_D_CAL_SHIFT)) & USBPHY_TX_D_CAL_MASK)
  82054. #define USBPHY_TX_TXCAL45DN_MASK (0xF00U)
  82055. #define USBPHY_TX_TXCAL45DN_SHIFT (8U)
  82056. /*! TXCAL45DN - TXCAL45DN
  82057. */
  82058. #define USBPHY_TX_TXCAL45DN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_TXCAL45DN_SHIFT)) & USBPHY_TX_TXCAL45DN_MASK)
  82059. #define USBPHY_TX_TXCAL45DP_MASK (0xF0000U)
  82060. #define USBPHY_TX_TXCAL45DP_SHIFT (16U)
  82061. /*! TXCAL45DP - TXCAL45DP
  82062. */
  82063. #define USBPHY_TX_TXCAL45DP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_TXCAL45DP_SHIFT)) & USBPHY_TX_TXCAL45DP_MASK)
  82064. /*! @} */
  82065. /*! @name TX_SET - USB PHY Transmitter Control Register */
  82066. /*! @{ */
  82067. #define USBPHY_TX_SET_D_CAL_MASK (0xFU)
  82068. #define USBPHY_TX_SET_D_CAL_SHIFT (0U)
  82069. /*! D_CAL - D_CAL
  82070. */
  82071. #define USBPHY_TX_SET_D_CAL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_SET_D_CAL_SHIFT)) & USBPHY_TX_SET_D_CAL_MASK)
  82072. #define USBPHY_TX_SET_TXCAL45DN_MASK (0xF00U)
  82073. #define USBPHY_TX_SET_TXCAL45DN_SHIFT (8U)
  82074. /*! TXCAL45DN - TXCAL45DN
  82075. */
  82076. #define USBPHY_TX_SET_TXCAL45DN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_SET_TXCAL45DN_SHIFT)) & USBPHY_TX_SET_TXCAL45DN_MASK)
  82077. #define USBPHY_TX_SET_TXCAL45DP_MASK (0xF0000U)
  82078. #define USBPHY_TX_SET_TXCAL45DP_SHIFT (16U)
  82079. /*! TXCAL45DP - TXCAL45DP
  82080. */
  82081. #define USBPHY_TX_SET_TXCAL45DP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_SET_TXCAL45DP_SHIFT)) & USBPHY_TX_SET_TXCAL45DP_MASK)
  82082. /*! @} */
  82083. /*! @name TX_CLR - USB PHY Transmitter Control Register */
  82084. /*! @{ */
  82085. #define USBPHY_TX_CLR_D_CAL_MASK (0xFU)
  82086. #define USBPHY_TX_CLR_D_CAL_SHIFT (0U)
  82087. /*! D_CAL - D_CAL
  82088. */
  82089. #define USBPHY_TX_CLR_D_CAL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_CLR_D_CAL_SHIFT)) & USBPHY_TX_CLR_D_CAL_MASK)
  82090. #define USBPHY_TX_CLR_TXCAL45DN_MASK (0xF00U)
  82091. #define USBPHY_TX_CLR_TXCAL45DN_SHIFT (8U)
  82092. /*! TXCAL45DN - TXCAL45DN
  82093. */
  82094. #define USBPHY_TX_CLR_TXCAL45DN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_CLR_TXCAL45DN_SHIFT)) & USBPHY_TX_CLR_TXCAL45DN_MASK)
  82095. #define USBPHY_TX_CLR_TXCAL45DP_MASK (0xF0000U)
  82096. #define USBPHY_TX_CLR_TXCAL45DP_SHIFT (16U)
  82097. /*! TXCAL45DP - TXCAL45DP
  82098. */
  82099. #define USBPHY_TX_CLR_TXCAL45DP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_CLR_TXCAL45DP_SHIFT)) & USBPHY_TX_CLR_TXCAL45DP_MASK)
  82100. /*! @} */
  82101. /*! @name TX_TOG - USB PHY Transmitter Control Register */
  82102. /*! @{ */
  82103. #define USBPHY_TX_TOG_D_CAL_MASK (0xFU)
  82104. #define USBPHY_TX_TOG_D_CAL_SHIFT (0U)
  82105. /*! D_CAL - D_CAL
  82106. */
  82107. #define USBPHY_TX_TOG_D_CAL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_TOG_D_CAL_SHIFT)) & USBPHY_TX_TOG_D_CAL_MASK)
  82108. #define USBPHY_TX_TOG_TXCAL45DN_MASK (0xF00U)
  82109. #define USBPHY_TX_TOG_TXCAL45DN_SHIFT (8U)
  82110. /*! TXCAL45DN - TXCAL45DN
  82111. */
  82112. #define USBPHY_TX_TOG_TXCAL45DN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_TOG_TXCAL45DN_SHIFT)) & USBPHY_TX_TOG_TXCAL45DN_MASK)
  82113. #define USBPHY_TX_TOG_TXCAL45DP_MASK (0xF0000U)
  82114. #define USBPHY_TX_TOG_TXCAL45DP_SHIFT (16U)
  82115. /*! TXCAL45DP - TXCAL45DP
  82116. */
  82117. #define USBPHY_TX_TOG_TXCAL45DP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_TOG_TXCAL45DP_SHIFT)) & USBPHY_TX_TOG_TXCAL45DP_MASK)
  82118. /*! @} */
  82119. /*! @name RX - USB PHY Receiver Control Register */
  82120. /*! @{ */
  82121. #define USBPHY_RX_ENVADJ_MASK (0x7U)
  82122. #define USBPHY_RX_ENVADJ_SHIFT (0U)
  82123. /*! ENVADJ - ENVADJ
  82124. * 0b000..Trip-Level Voltage is 0.1000 V
  82125. * 0b001..Trip-Level Voltage is 0.1125 V
  82126. * 0b010..Trip-Level Voltage is 0.1250 V
  82127. * 0b011..Trip-Level Voltage is 0.0875 V
  82128. * 0b1xx..Reserved
  82129. */
  82130. #define USBPHY_RX_ENVADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_ENVADJ_SHIFT)) & USBPHY_RX_ENVADJ_MASK)
  82131. #define USBPHY_RX_DISCONADJ_MASK (0x70U)
  82132. #define USBPHY_RX_DISCONADJ_SHIFT (4U)
  82133. /*! DISCONADJ - DISCONADJ
  82134. * 0b000..Trip-Level Voltage is 0.56875 V
  82135. * 0b001..Trip-Level Voltage is 0.55000 V
  82136. * 0b010..Trip-Level Voltage is 0.58125 V
  82137. * 0b011..Trip-Level Voltage is 0.60000 V
  82138. * 0b1xx..Reserved
  82139. */
  82140. #define USBPHY_RX_DISCONADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_DISCONADJ_SHIFT)) & USBPHY_RX_DISCONADJ_MASK)
  82141. #define USBPHY_RX_RXDBYPASS_MASK (0x400000U)
  82142. #define USBPHY_RX_RXDBYPASS_SHIFT (22U)
  82143. /*! RXDBYPASS - RXDBYPASS
  82144. * 0b0..Normal operation.
  82145. * 0b1..Use the output of the USB_DP single-ended receiver in place of the full-speed differential receiver
  82146. */
  82147. #define USBPHY_RX_RXDBYPASS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_RXDBYPASS_SHIFT)) & USBPHY_RX_RXDBYPASS_MASK)
  82148. /*! @} */
  82149. /*! @name RX_SET - USB PHY Receiver Control Register */
  82150. /*! @{ */
  82151. #define USBPHY_RX_SET_ENVADJ_MASK (0x7U)
  82152. #define USBPHY_RX_SET_ENVADJ_SHIFT (0U)
  82153. /*! ENVADJ - ENVADJ
  82154. */
  82155. #define USBPHY_RX_SET_ENVADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_SET_ENVADJ_SHIFT)) & USBPHY_RX_SET_ENVADJ_MASK)
  82156. #define USBPHY_RX_SET_DISCONADJ_MASK (0x70U)
  82157. #define USBPHY_RX_SET_DISCONADJ_SHIFT (4U)
  82158. /*! DISCONADJ - DISCONADJ
  82159. */
  82160. #define USBPHY_RX_SET_DISCONADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_SET_DISCONADJ_SHIFT)) & USBPHY_RX_SET_DISCONADJ_MASK)
  82161. #define USBPHY_RX_SET_RXDBYPASS_MASK (0x400000U)
  82162. #define USBPHY_RX_SET_RXDBYPASS_SHIFT (22U)
  82163. /*! RXDBYPASS - RXDBYPASS
  82164. */
  82165. #define USBPHY_RX_SET_RXDBYPASS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_SET_RXDBYPASS_SHIFT)) & USBPHY_RX_SET_RXDBYPASS_MASK)
  82166. /*! @} */
  82167. /*! @name RX_CLR - USB PHY Receiver Control Register */
  82168. /*! @{ */
  82169. #define USBPHY_RX_CLR_ENVADJ_MASK (0x7U)
  82170. #define USBPHY_RX_CLR_ENVADJ_SHIFT (0U)
  82171. /*! ENVADJ - ENVADJ
  82172. */
  82173. #define USBPHY_RX_CLR_ENVADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_CLR_ENVADJ_SHIFT)) & USBPHY_RX_CLR_ENVADJ_MASK)
  82174. #define USBPHY_RX_CLR_DISCONADJ_MASK (0x70U)
  82175. #define USBPHY_RX_CLR_DISCONADJ_SHIFT (4U)
  82176. /*! DISCONADJ - DISCONADJ
  82177. */
  82178. #define USBPHY_RX_CLR_DISCONADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_CLR_DISCONADJ_SHIFT)) & USBPHY_RX_CLR_DISCONADJ_MASK)
  82179. #define USBPHY_RX_CLR_RXDBYPASS_MASK (0x400000U)
  82180. #define USBPHY_RX_CLR_RXDBYPASS_SHIFT (22U)
  82181. /*! RXDBYPASS - RXDBYPASS
  82182. */
  82183. #define USBPHY_RX_CLR_RXDBYPASS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_CLR_RXDBYPASS_SHIFT)) & USBPHY_RX_CLR_RXDBYPASS_MASK)
  82184. /*! @} */
  82185. /*! @name RX_TOG - USB PHY Receiver Control Register */
  82186. /*! @{ */
  82187. #define USBPHY_RX_TOG_ENVADJ_MASK (0x7U)
  82188. #define USBPHY_RX_TOG_ENVADJ_SHIFT (0U)
  82189. /*! ENVADJ - ENVADJ
  82190. */
  82191. #define USBPHY_RX_TOG_ENVADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_TOG_ENVADJ_SHIFT)) & USBPHY_RX_TOG_ENVADJ_MASK)
  82192. #define USBPHY_RX_TOG_DISCONADJ_MASK (0x70U)
  82193. #define USBPHY_RX_TOG_DISCONADJ_SHIFT (4U)
  82194. /*! DISCONADJ - DISCONADJ
  82195. */
  82196. #define USBPHY_RX_TOG_DISCONADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_TOG_DISCONADJ_SHIFT)) & USBPHY_RX_TOG_DISCONADJ_MASK)
  82197. #define USBPHY_RX_TOG_RXDBYPASS_MASK (0x400000U)
  82198. #define USBPHY_RX_TOG_RXDBYPASS_SHIFT (22U)
  82199. /*! RXDBYPASS - RXDBYPASS
  82200. */
  82201. #define USBPHY_RX_TOG_RXDBYPASS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_TOG_RXDBYPASS_SHIFT)) & USBPHY_RX_TOG_RXDBYPASS_MASK)
  82202. /*! @} */
  82203. /*! @name CTRL - USB PHY General Control Register */
  82204. /*! @{ */
  82205. #define USBPHY_CTRL_ENOTG_ID_CHG_IRQ_MASK (0x1U)
  82206. #define USBPHY_CTRL_ENOTG_ID_CHG_IRQ_SHIFT (0U)
  82207. /*! ENOTG_ID_CHG_IRQ - ENOTG_ID_CHG_IRQ
  82208. */
  82209. #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)
  82210. #define USBPHY_CTRL_ENHOSTDISCONDETECT_MASK (0x2U)
  82211. #define USBPHY_CTRL_ENHOSTDISCONDETECT_SHIFT (1U)
  82212. /*! ENHOSTDISCONDETECT - ENHOSTDISCONDETECT
  82213. */
  82214. #define USBPHY_CTRL_ENHOSTDISCONDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENHOSTDISCONDETECT_SHIFT)) & USBPHY_CTRL_ENHOSTDISCONDETECT_MASK)
  82215. #define USBPHY_CTRL_ENIRQHOSTDISCON_MASK (0x4U)
  82216. #define USBPHY_CTRL_ENIRQHOSTDISCON_SHIFT (2U)
  82217. /*! ENIRQHOSTDISCON - ENIRQHOSTDISCON
  82218. */
  82219. #define USBPHY_CTRL_ENIRQHOSTDISCON(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENIRQHOSTDISCON_SHIFT)) & USBPHY_CTRL_ENIRQHOSTDISCON_MASK)
  82220. #define USBPHY_CTRL_HOSTDISCONDETECT_IRQ_MASK (0x8U)
  82221. #define USBPHY_CTRL_HOSTDISCONDETECT_IRQ_SHIFT (3U)
  82222. /*! HOSTDISCONDETECT_IRQ - HOSTDISCONDETECT_IRQ
  82223. */
  82224. #define USBPHY_CTRL_HOSTDISCONDETECT_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_HOSTDISCONDETECT_IRQ_SHIFT)) & USBPHY_CTRL_HOSTDISCONDETECT_IRQ_MASK)
  82225. #define USBPHY_CTRL_ENDEVPLUGINDETECT_MASK (0x10U)
  82226. #define USBPHY_CTRL_ENDEVPLUGINDETECT_SHIFT (4U)
  82227. /*! ENDEVPLUGINDETECT - Enables non-standard resistive plugged-in detection
  82228. * 0b0..Disables 200kohm pullup resistors on DP and DN pins
  82229. * 0b1..Enables 200kohm pullup resistors on DP and DN pins
  82230. */
  82231. #define USBPHY_CTRL_ENDEVPLUGINDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENDEVPLUGINDETECT_SHIFT)) & USBPHY_CTRL_ENDEVPLUGINDETECT_MASK)
  82232. #define USBPHY_CTRL_DEVPLUGIN_POLARITY_MASK (0x20U)
  82233. #define USBPHY_CTRL_DEVPLUGIN_POLARITY_SHIFT (5U)
  82234. /*! DEVPLUGIN_POLARITY - DEVPLUGIN_POLARITY
  82235. */
  82236. #define USBPHY_CTRL_DEVPLUGIN_POLARITY(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_DEVPLUGIN_POLARITY_SHIFT)) & USBPHY_CTRL_DEVPLUGIN_POLARITY_MASK)
  82237. #define USBPHY_CTRL_OTG_ID_CHG_IRQ_MASK (0x40U)
  82238. #define USBPHY_CTRL_OTG_ID_CHG_IRQ_SHIFT (6U)
  82239. /*! OTG_ID_CHG_IRQ - OTG_ID_CHG_IRQ
  82240. */
  82241. #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)
  82242. #define USBPHY_CTRL_ENOTGIDDETECT_MASK (0x80U)
  82243. #define USBPHY_CTRL_ENOTGIDDETECT_SHIFT (7U)
  82244. /*! ENOTGIDDETECT - ENOTGIDDETECT
  82245. */
  82246. #define USBPHY_CTRL_ENOTGIDDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENOTGIDDETECT_SHIFT)) & USBPHY_CTRL_ENOTGIDDETECT_MASK)
  82247. #define USBPHY_CTRL_RESUMEIRQSTICKY_MASK (0x100U)
  82248. #define USBPHY_CTRL_RESUMEIRQSTICKY_SHIFT (8U)
  82249. /*! RESUMEIRQSTICKY - RESUMEIRQSTICKY
  82250. */
  82251. #define USBPHY_CTRL_RESUMEIRQSTICKY(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_RESUMEIRQSTICKY_SHIFT)) & USBPHY_CTRL_RESUMEIRQSTICKY_MASK)
  82252. #define USBPHY_CTRL_ENIRQRESUMEDETECT_MASK (0x200U)
  82253. #define USBPHY_CTRL_ENIRQRESUMEDETECT_SHIFT (9U)
  82254. /*! ENIRQRESUMEDETECT - ENIRQRESUMEDETECT
  82255. */
  82256. #define USBPHY_CTRL_ENIRQRESUMEDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENIRQRESUMEDETECT_SHIFT)) & USBPHY_CTRL_ENIRQRESUMEDETECT_MASK)
  82257. #define USBPHY_CTRL_RESUME_IRQ_MASK (0x400U)
  82258. #define USBPHY_CTRL_RESUME_IRQ_SHIFT (10U)
  82259. /*! RESUME_IRQ - RESUME_IRQ
  82260. */
  82261. #define USBPHY_CTRL_RESUME_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_RESUME_IRQ_SHIFT)) & USBPHY_CTRL_RESUME_IRQ_MASK)
  82262. #define USBPHY_CTRL_ENIRQDEVPLUGIN_MASK (0x800U)
  82263. #define USBPHY_CTRL_ENIRQDEVPLUGIN_SHIFT (11U)
  82264. /*! ENIRQDEVPLUGIN - ENIRQDEVPLUGIN
  82265. */
  82266. #define USBPHY_CTRL_ENIRQDEVPLUGIN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENIRQDEVPLUGIN_SHIFT)) & USBPHY_CTRL_ENIRQDEVPLUGIN_MASK)
  82267. #define USBPHY_CTRL_DEVPLUGIN_IRQ_MASK (0x1000U)
  82268. #define USBPHY_CTRL_DEVPLUGIN_IRQ_SHIFT (12U)
  82269. /*! DEVPLUGIN_IRQ - DEVPLUGIN_IRQ
  82270. */
  82271. #define USBPHY_CTRL_DEVPLUGIN_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_DEVPLUGIN_IRQ_SHIFT)) & USBPHY_CTRL_DEVPLUGIN_IRQ_MASK)
  82272. #define USBPHY_CTRL_ENUTMILEVEL2_MASK (0x4000U)
  82273. #define USBPHY_CTRL_ENUTMILEVEL2_SHIFT (14U)
  82274. /*! ENUTMILEVEL2 - ENUTMILEVEL2
  82275. */
  82276. #define USBPHY_CTRL_ENUTMILEVEL2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENUTMILEVEL2_SHIFT)) & USBPHY_CTRL_ENUTMILEVEL2_MASK)
  82277. #define USBPHY_CTRL_ENUTMILEVEL3_MASK (0x8000U)
  82278. #define USBPHY_CTRL_ENUTMILEVEL3_SHIFT (15U)
  82279. /*! ENUTMILEVEL3 - ENUTMILEVEL3
  82280. */
  82281. #define USBPHY_CTRL_ENUTMILEVEL3(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENUTMILEVEL3_SHIFT)) & USBPHY_CTRL_ENUTMILEVEL3_MASK)
  82282. #define USBPHY_CTRL_ENIRQWAKEUP_MASK (0x10000U)
  82283. #define USBPHY_CTRL_ENIRQWAKEUP_SHIFT (16U)
  82284. /*! ENIRQWAKEUP - ENIRQWAKEUP
  82285. */
  82286. #define USBPHY_CTRL_ENIRQWAKEUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENIRQWAKEUP_SHIFT)) & USBPHY_CTRL_ENIRQWAKEUP_MASK)
  82287. #define USBPHY_CTRL_WAKEUP_IRQ_MASK (0x20000U)
  82288. #define USBPHY_CTRL_WAKEUP_IRQ_SHIFT (17U)
  82289. /*! WAKEUP_IRQ - WAKEUP_IRQ
  82290. */
  82291. #define USBPHY_CTRL_WAKEUP_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_WAKEUP_IRQ_SHIFT)) & USBPHY_CTRL_WAKEUP_IRQ_MASK)
  82292. #define USBPHY_CTRL_AUTORESUME_EN_MASK (0x40000U)
  82293. #define USBPHY_CTRL_AUTORESUME_EN_SHIFT (18U)
  82294. /*! AUTORESUME_EN - AUTORESUME_EN
  82295. */
  82296. #define USBPHY_CTRL_AUTORESUME_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_AUTORESUME_EN_SHIFT)) & USBPHY_CTRL_AUTORESUME_EN_MASK)
  82297. #define USBPHY_CTRL_ENAUTOCLR_CLKGATE_MASK (0x80000U)
  82298. #define USBPHY_CTRL_ENAUTOCLR_CLKGATE_SHIFT (19U)
  82299. /*! ENAUTOCLR_CLKGATE - ENAUTOCLR_CLKGATE
  82300. */
  82301. #define USBPHY_CTRL_ENAUTOCLR_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENAUTOCLR_CLKGATE_SHIFT)) & USBPHY_CTRL_ENAUTOCLR_CLKGATE_MASK)
  82302. #define USBPHY_CTRL_ENAUTOCLR_PHY_PWD_MASK (0x100000U)
  82303. #define USBPHY_CTRL_ENAUTOCLR_PHY_PWD_SHIFT (20U)
  82304. /*! ENAUTOCLR_PHY_PWD - ENAUTOCLR_PHY_PWD
  82305. */
  82306. #define USBPHY_CTRL_ENAUTOCLR_PHY_PWD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENAUTOCLR_PHY_PWD_SHIFT)) & USBPHY_CTRL_ENAUTOCLR_PHY_PWD_MASK)
  82307. #define USBPHY_CTRL_ENDPDMCHG_WKUP_MASK (0x200000U)
  82308. #define USBPHY_CTRL_ENDPDMCHG_WKUP_SHIFT (21U)
  82309. /*! ENDPDMCHG_WKUP - ENDPDMCHG_WKUP
  82310. */
  82311. #define USBPHY_CTRL_ENDPDMCHG_WKUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENDPDMCHG_WKUP_SHIFT)) & USBPHY_CTRL_ENDPDMCHG_WKUP_MASK)
  82312. #define USBPHY_CTRL_ENIDCHG_WKUP_MASK (0x400000U)
  82313. #define USBPHY_CTRL_ENIDCHG_WKUP_SHIFT (22U)
  82314. /*! ENIDCHG_WKUP - ENIDCHG_WKUP
  82315. */
  82316. #define USBPHY_CTRL_ENIDCHG_WKUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENIDCHG_WKUP_SHIFT)) & USBPHY_CTRL_ENIDCHG_WKUP_MASK)
  82317. #define USBPHY_CTRL_ENVBUSCHG_WKUP_MASK (0x800000U)
  82318. #define USBPHY_CTRL_ENVBUSCHG_WKUP_SHIFT (23U)
  82319. /*! ENVBUSCHG_WKUP - ENVBUSCHG_WKUP
  82320. */
  82321. #define USBPHY_CTRL_ENVBUSCHG_WKUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENVBUSCHG_WKUP_SHIFT)) & USBPHY_CTRL_ENVBUSCHG_WKUP_MASK)
  82322. #define USBPHY_CTRL_FSDLL_RST_EN_MASK (0x1000000U)
  82323. #define USBPHY_CTRL_FSDLL_RST_EN_SHIFT (24U)
  82324. /*! FSDLL_RST_EN - FSDLL_RST_EN
  82325. */
  82326. #define USBPHY_CTRL_FSDLL_RST_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_FSDLL_RST_EN_SHIFT)) & USBPHY_CTRL_FSDLL_RST_EN_MASK)
  82327. #define USBPHY_CTRL_OTG_ID_VALUE_MASK (0x8000000U)
  82328. #define USBPHY_CTRL_OTG_ID_VALUE_SHIFT (27U)
  82329. /*! OTG_ID_VALUE - OTG_ID_VALUE
  82330. */
  82331. #define USBPHY_CTRL_OTG_ID_VALUE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_OTG_ID_VALUE_SHIFT)) & USBPHY_CTRL_OTG_ID_VALUE_MASK)
  82332. #define USBPHY_CTRL_HOST_FORCE_LS_SE0_MASK (0x10000000U)
  82333. #define USBPHY_CTRL_HOST_FORCE_LS_SE0_SHIFT (28U)
  82334. /*! HOST_FORCE_LS_SE0 - HOST_FORCE_LS_SE0
  82335. */
  82336. #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)
  82337. #define USBPHY_CTRL_UTMI_SUSPENDM_MASK (0x20000000U)
  82338. #define USBPHY_CTRL_UTMI_SUSPENDM_SHIFT (29U)
  82339. /*! UTMI_SUSPENDM - UTMI_SUSPENDM
  82340. */
  82341. #define USBPHY_CTRL_UTMI_SUSPENDM(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_UTMI_SUSPENDM_SHIFT)) & USBPHY_CTRL_UTMI_SUSPENDM_MASK)
  82342. #define USBPHY_CTRL_CLKGATE_MASK (0x40000000U)
  82343. #define USBPHY_CTRL_CLKGATE_SHIFT (30U)
  82344. /*! CLKGATE - CLKGATE
  82345. */
  82346. #define USBPHY_CTRL_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLKGATE_SHIFT)) & USBPHY_CTRL_CLKGATE_MASK)
  82347. #define USBPHY_CTRL_SFTRST_MASK (0x80000000U)
  82348. #define USBPHY_CTRL_SFTRST_SHIFT (31U)
  82349. /*! SFTRST - SFTRST
  82350. */
  82351. #define USBPHY_CTRL_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SFTRST_SHIFT)) & USBPHY_CTRL_SFTRST_MASK)
  82352. /*! @} */
  82353. /*! @name CTRL_SET - USB PHY General Control Register */
  82354. /*! @{ */
  82355. #define USBPHY_CTRL_SET_ENOTG_ID_CHG_IRQ_MASK (0x1U)
  82356. #define USBPHY_CTRL_SET_ENOTG_ID_CHG_IRQ_SHIFT (0U)
  82357. /*! ENOTG_ID_CHG_IRQ - ENOTG_ID_CHG_IRQ
  82358. */
  82359. #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)
  82360. #define USBPHY_CTRL_SET_ENHOSTDISCONDETECT_MASK (0x2U)
  82361. #define USBPHY_CTRL_SET_ENHOSTDISCONDETECT_SHIFT (1U)
  82362. /*! ENHOSTDISCONDETECT - ENHOSTDISCONDETECT
  82363. */
  82364. #define USBPHY_CTRL_SET_ENHOSTDISCONDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENHOSTDISCONDETECT_SHIFT)) & USBPHY_CTRL_SET_ENHOSTDISCONDETECT_MASK)
  82365. #define USBPHY_CTRL_SET_ENIRQHOSTDISCON_MASK (0x4U)
  82366. #define USBPHY_CTRL_SET_ENIRQHOSTDISCON_SHIFT (2U)
  82367. /*! ENIRQHOSTDISCON - ENIRQHOSTDISCON
  82368. */
  82369. #define USBPHY_CTRL_SET_ENIRQHOSTDISCON(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENIRQHOSTDISCON_SHIFT)) & USBPHY_CTRL_SET_ENIRQHOSTDISCON_MASK)
  82370. #define USBPHY_CTRL_SET_HOSTDISCONDETECT_IRQ_MASK (0x8U)
  82371. #define USBPHY_CTRL_SET_HOSTDISCONDETECT_IRQ_SHIFT (3U)
  82372. /*! HOSTDISCONDETECT_IRQ - HOSTDISCONDETECT_IRQ
  82373. */
  82374. #define USBPHY_CTRL_SET_HOSTDISCONDETECT_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_HOSTDISCONDETECT_IRQ_SHIFT)) & USBPHY_CTRL_SET_HOSTDISCONDETECT_IRQ_MASK)
  82375. #define USBPHY_CTRL_SET_ENDEVPLUGINDETECT_MASK (0x10U)
  82376. #define USBPHY_CTRL_SET_ENDEVPLUGINDETECT_SHIFT (4U)
  82377. /*! ENDEVPLUGINDETECT - Enables non-standard resistive plugged-in detection
  82378. */
  82379. #define USBPHY_CTRL_SET_ENDEVPLUGINDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENDEVPLUGINDETECT_SHIFT)) & USBPHY_CTRL_SET_ENDEVPLUGINDETECT_MASK)
  82380. #define USBPHY_CTRL_SET_DEVPLUGIN_POLARITY_MASK (0x20U)
  82381. #define USBPHY_CTRL_SET_DEVPLUGIN_POLARITY_SHIFT (5U)
  82382. /*! DEVPLUGIN_POLARITY - DEVPLUGIN_POLARITY
  82383. */
  82384. #define USBPHY_CTRL_SET_DEVPLUGIN_POLARITY(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_DEVPLUGIN_POLARITY_SHIFT)) & USBPHY_CTRL_SET_DEVPLUGIN_POLARITY_MASK)
  82385. #define USBPHY_CTRL_SET_OTG_ID_CHG_IRQ_MASK (0x40U)
  82386. #define USBPHY_CTRL_SET_OTG_ID_CHG_IRQ_SHIFT (6U)
  82387. /*! OTG_ID_CHG_IRQ - OTG_ID_CHG_IRQ
  82388. */
  82389. #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)
  82390. #define USBPHY_CTRL_SET_ENOTGIDDETECT_MASK (0x80U)
  82391. #define USBPHY_CTRL_SET_ENOTGIDDETECT_SHIFT (7U)
  82392. /*! ENOTGIDDETECT - ENOTGIDDETECT
  82393. */
  82394. #define USBPHY_CTRL_SET_ENOTGIDDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENOTGIDDETECT_SHIFT)) & USBPHY_CTRL_SET_ENOTGIDDETECT_MASK)
  82395. #define USBPHY_CTRL_SET_RESUMEIRQSTICKY_MASK (0x100U)
  82396. #define USBPHY_CTRL_SET_RESUMEIRQSTICKY_SHIFT (8U)
  82397. /*! RESUMEIRQSTICKY - RESUMEIRQSTICKY
  82398. */
  82399. #define USBPHY_CTRL_SET_RESUMEIRQSTICKY(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_RESUMEIRQSTICKY_SHIFT)) & USBPHY_CTRL_SET_RESUMEIRQSTICKY_MASK)
  82400. #define USBPHY_CTRL_SET_ENIRQRESUMEDETECT_MASK (0x200U)
  82401. #define USBPHY_CTRL_SET_ENIRQRESUMEDETECT_SHIFT (9U)
  82402. /*! ENIRQRESUMEDETECT - ENIRQRESUMEDETECT
  82403. */
  82404. #define USBPHY_CTRL_SET_ENIRQRESUMEDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENIRQRESUMEDETECT_SHIFT)) & USBPHY_CTRL_SET_ENIRQRESUMEDETECT_MASK)
  82405. #define USBPHY_CTRL_SET_RESUME_IRQ_MASK (0x400U)
  82406. #define USBPHY_CTRL_SET_RESUME_IRQ_SHIFT (10U)
  82407. /*! RESUME_IRQ - RESUME_IRQ
  82408. */
  82409. #define USBPHY_CTRL_SET_RESUME_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_RESUME_IRQ_SHIFT)) & USBPHY_CTRL_SET_RESUME_IRQ_MASK)
  82410. #define USBPHY_CTRL_SET_ENIRQDEVPLUGIN_MASK (0x800U)
  82411. #define USBPHY_CTRL_SET_ENIRQDEVPLUGIN_SHIFT (11U)
  82412. /*! ENIRQDEVPLUGIN - ENIRQDEVPLUGIN
  82413. */
  82414. #define USBPHY_CTRL_SET_ENIRQDEVPLUGIN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENIRQDEVPLUGIN_SHIFT)) & USBPHY_CTRL_SET_ENIRQDEVPLUGIN_MASK)
  82415. #define USBPHY_CTRL_SET_DEVPLUGIN_IRQ_MASK (0x1000U)
  82416. #define USBPHY_CTRL_SET_DEVPLUGIN_IRQ_SHIFT (12U)
  82417. /*! DEVPLUGIN_IRQ - DEVPLUGIN_IRQ
  82418. */
  82419. #define USBPHY_CTRL_SET_DEVPLUGIN_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_DEVPLUGIN_IRQ_SHIFT)) & USBPHY_CTRL_SET_DEVPLUGIN_IRQ_MASK)
  82420. #define USBPHY_CTRL_SET_ENUTMILEVEL2_MASK (0x4000U)
  82421. #define USBPHY_CTRL_SET_ENUTMILEVEL2_SHIFT (14U)
  82422. /*! ENUTMILEVEL2 - ENUTMILEVEL2
  82423. */
  82424. #define USBPHY_CTRL_SET_ENUTMILEVEL2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENUTMILEVEL2_SHIFT)) & USBPHY_CTRL_SET_ENUTMILEVEL2_MASK)
  82425. #define USBPHY_CTRL_SET_ENUTMILEVEL3_MASK (0x8000U)
  82426. #define USBPHY_CTRL_SET_ENUTMILEVEL3_SHIFT (15U)
  82427. /*! ENUTMILEVEL3 - ENUTMILEVEL3
  82428. */
  82429. #define USBPHY_CTRL_SET_ENUTMILEVEL3(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENUTMILEVEL3_SHIFT)) & USBPHY_CTRL_SET_ENUTMILEVEL3_MASK)
  82430. #define USBPHY_CTRL_SET_ENIRQWAKEUP_MASK (0x10000U)
  82431. #define USBPHY_CTRL_SET_ENIRQWAKEUP_SHIFT (16U)
  82432. /*! ENIRQWAKEUP - ENIRQWAKEUP
  82433. */
  82434. #define USBPHY_CTRL_SET_ENIRQWAKEUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENIRQWAKEUP_SHIFT)) & USBPHY_CTRL_SET_ENIRQWAKEUP_MASK)
  82435. #define USBPHY_CTRL_SET_WAKEUP_IRQ_MASK (0x20000U)
  82436. #define USBPHY_CTRL_SET_WAKEUP_IRQ_SHIFT (17U)
  82437. /*! WAKEUP_IRQ - WAKEUP_IRQ
  82438. */
  82439. #define USBPHY_CTRL_SET_WAKEUP_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_WAKEUP_IRQ_SHIFT)) & USBPHY_CTRL_SET_WAKEUP_IRQ_MASK)
  82440. #define USBPHY_CTRL_SET_AUTORESUME_EN_MASK (0x40000U)
  82441. #define USBPHY_CTRL_SET_AUTORESUME_EN_SHIFT (18U)
  82442. /*! AUTORESUME_EN - AUTORESUME_EN
  82443. */
  82444. #define USBPHY_CTRL_SET_AUTORESUME_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_AUTORESUME_EN_SHIFT)) & USBPHY_CTRL_SET_AUTORESUME_EN_MASK)
  82445. #define USBPHY_CTRL_SET_ENAUTOCLR_CLKGATE_MASK (0x80000U)
  82446. #define USBPHY_CTRL_SET_ENAUTOCLR_CLKGATE_SHIFT (19U)
  82447. /*! ENAUTOCLR_CLKGATE - ENAUTOCLR_CLKGATE
  82448. */
  82449. #define USBPHY_CTRL_SET_ENAUTOCLR_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENAUTOCLR_CLKGATE_SHIFT)) & USBPHY_CTRL_SET_ENAUTOCLR_CLKGATE_MASK)
  82450. #define USBPHY_CTRL_SET_ENAUTOCLR_PHY_PWD_MASK (0x100000U)
  82451. #define USBPHY_CTRL_SET_ENAUTOCLR_PHY_PWD_SHIFT (20U)
  82452. /*! ENAUTOCLR_PHY_PWD - ENAUTOCLR_PHY_PWD
  82453. */
  82454. #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)
  82455. #define USBPHY_CTRL_SET_ENDPDMCHG_WKUP_MASK (0x200000U)
  82456. #define USBPHY_CTRL_SET_ENDPDMCHG_WKUP_SHIFT (21U)
  82457. /*! ENDPDMCHG_WKUP - ENDPDMCHG_WKUP
  82458. */
  82459. #define USBPHY_CTRL_SET_ENDPDMCHG_WKUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENDPDMCHG_WKUP_SHIFT)) & USBPHY_CTRL_SET_ENDPDMCHG_WKUP_MASK)
  82460. #define USBPHY_CTRL_SET_ENIDCHG_WKUP_MASK (0x400000U)
  82461. #define USBPHY_CTRL_SET_ENIDCHG_WKUP_SHIFT (22U)
  82462. /*! ENIDCHG_WKUP - ENIDCHG_WKUP
  82463. */
  82464. #define USBPHY_CTRL_SET_ENIDCHG_WKUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENIDCHG_WKUP_SHIFT)) & USBPHY_CTRL_SET_ENIDCHG_WKUP_MASK)
  82465. #define USBPHY_CTRL_SET_ENVBUSCHG_WKUP_MASK (0x800000U)
  82466. #define USBPHY_CTRL_SET_ENVBUSCHG_WKUP_SHIFT (23U)
  82467. /*! ENVBUSCHG_WKUP - ENVBUSCHG_WKUP
  82468. */
  82469. #define USBPHY_CTRL_SET_ENVBUSCHG_WKUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENVBUSCHG_WKUP_SHIFT)) & USBPHY_CTRL_SET_ENVBUSCHG_WKUP_MASK)
  82470. #define USBPHY_CTRL_SET_FSDLL_RST_EN_MASK (0x1000000U)
  82471. #define USBPHY_CTRL_SET_FSDLL_RST_EN_SHIFT (24U)
  82472. /*! FSDLL_RST_EN - FSDLL_RST_EN
  82473. */
  82474. #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)
  82475. #define USBPHY_CTRL_SET_OTG_ID_VALUE_MASK (0x8000000U)
  82476. #define USBPHY_CTRL_SET_OTG_ID_VALUE_SHIFT (27U)
  82477. /*! OTG_ID_VALUE - OTG_ID_VALUE
  82478. */
  82479. #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)
  82480. #define USBPHY_CTRL_SET_HOST_FORCE_LS_SE0_MASK (0x10000000U)
  82481. #define USBPHY_CTRL_SET_HOST_FORCE_LS_SE0_SHIFT (28U)
  82482. /*! HOST_FORCE_LS_SE0 - HOST_FORCE_LS_SE0
  82483. */
  82484. #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)
  82485. #define USBPHY_CTRL_SET_UTMI_SUSPENDM_MASK (0x20000000U)
  82486. #define USBPHY_CTRL_SET_UTMI_SUSPENDM_SHIFT (29U)
  82487. /*! UTMI_SUSPENDM - UTMI_SUSPENDM
  82488. */
  82489. #define USBPHY_CTRL_SET_UTMI_SUSPENDM(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_UTMI_SUSPENDM_SHIFT)) & USBPHY_CTRL_SET_UTMI_SUSPENDM_MASK)
  82490. #define USBPHY_CTRL_SET_CLKGATE_MASK (0x40000000U)
  82491. #define USBPHY_CTRL_SET_CLKGATE_SHIFT (30U)
  82492. /*! CLKGATE - CLKGATE
  82493. */
  82494. #define USBPHY_CTRL_SET_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_CLKGATE_SHIFT)) & USBPHY_CTRL_SET_CLKGATE_MASK)
  82495. #define USBPHY_CTRL_SET_SFTRST_MASK (0x80000000U)
  82496. #define USBPHY_CTRL_SET_SFTRST_SHIFT (31U)
  82497. /*! SFTRST - SFTRST
  82498. */
  82499. #define USBPHY_CTRL_SET_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_SFTRST_SHIFT)) & USBPHY_CTRL_SET_SFTRST_MASK)
  82500. /*! @} */
  82501. /*! @name CTRL_CLR - USB PHY General Control Register */
  82502. /*! @{ */
  82503. #define USBPHY_CTRL_CLR_ENOTG_ID_CHG_IRQ_MASK (0x1U)
  82504. #define USBPHY_CTRL_CLR_ENOTG_ID_CHG_IRQ_SHIFT (0U)
  82505. /*! ENOTG_ID_CHG_IRQ - ENOTG_ID_CHG_IRQ
  82506. */
  82507. #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)
  82508. #define USBPHY_CTRL_CLR_ENHOSTDISCONDETECT_MASK (0x2U)
  82509. #define USBPHY_CTRL_CLR_ENHOSTDISCONDETECT_SHIFT (1U)
  82510. /*! ENHOSTDISCONDETECT - ENHOSTDISCONDETECT
  82511. */
  82512. #define USBPHY_CTRL_CLR_ENHOSTDISCONDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENHOSTDISCONDETECT_SHIFT)) & USBPHY_CTRL_CLR_ENHOSTDISCONDETECT_MASK)
  82513. #define USBPHY_CTRL_CLR_ENIRQHOSTDISCON_MASK (0x4U)
  82514. #define USBPHY_CTRL_CLR_ENIRQHOSTDISCON_SHIFT (2U)
  82515. /*! ENIRQHOSTDISCON - ENIRQHOSTDISCON
  82516. */
  82517. #define USBPHY_CTRL_CLR_ENIRQHOSTDISCON(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENIRQHOSTDISCON_SHIFT)) & USBPHY_CTRL_CLR_ENIRQHOSTDISCON_MASK)
  82518. #define USBPHY_CTRL_CLR_HOSTDISCONDETECT_IRQ_MASK (0x8U)
  82519. #define USBPHY_CTRL_CLR_HOSTDISCONDETECT_IRQ_SHIFT (3U)
  82520. /*! HOSTDISCONDETECT_IRQ - HOSTDISCONDETECT_IRQ
  82521. */
  82522. #define USBPHY_CTRL_CLR_HOSTDISCONDETECT_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_HOSTDISCONDETECT_IRQ_SHIFT)) & USBPHY_CTRL_CLR_HOSTDISCONDETECT_IRQ_MASK)
  82523. #define USBPHY_CTRL_CLR_ENDEVPLUGINDETECT_MASK (0x10U)
  82524. #define USBPHY_CTRL_CLR_ENDEVPLUGINDETECT_SHIFT (4U)
  82525. /*! ENDEVPLUGINDETECT - Enables non-standard resistive plugged-in detection
  82526. */
  82527. #define USBPHY_CTRL_CLR_ENDEVPLUGINDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENDEVPLUGINDETECT_SHIFT)) & USBPHY_CTRL_CLR_ENDEVPLUGINDETECT_MASK)
  82528. #define USBPHY_CTRL_CLR_DEVPLUGIN_POLARITY_MASK (0x20U)
  82529. #define USBPHY_CTRL_CLR_DEVPLUGIN_POLARITY_SHIFT (5U)
  82530. /*! DEVPLUGIN_POLARITY - DEVPLUGIN_POLARITY
  82531. */
  82532. #define USBPHY_CTRL_CLR_DEVPLUGIN_POLARITY(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_DEVPLUGIN_POLARITY_SHIFT)) & USBPHY_CTRL_CLR_DEVPLUGIN_POLARITY_MASK)
  82533. #define USBPHY_CTRL_CLR_OTG_ID_CHG_IRQ_MASK (0x40U)
  82534. #define USBPHY_CTRL_CLR_OTG_ID_CHG_IRQ_SHIFT (6U)
  82535. /*! OTG_ID_CHG_IRQ - OTG_ID_CHG_IRQ
  82536. */
  82537. #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)
  82538. #define USBPHY_CTRL_CLR_ENOTGIDDETECT_MASK (0x80U)
  82539. #define USBPHY_CTRL_CLR_ENOTGIDDETECT_SHIFT (7U)
  82540. /*! ENOTGIDDETECT - ENOTGIDDETECT
  82541. */
  82542. #define USBPHY_CTRL_CLR_ENOTGIDDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENOTGIDDETECT_SHIFT)) & USBPHY_CTRL_CLR_ENOTGIDDETECT_MASK)
  82543. #define USBPHY_CTRL_CLR_RESUMEIRQSTICKY_MASK (0x100U)
  82544. #define USBPHY_CTRL_CLR_RESUMEIRQSTICKY_SHIFT (8U)
  82545. /*! RESUMEIRQSTICKY - RESUMEIRQSTICKY
  82546. */
  82547. #define USBPHY_CTRL_CLR_RESUMEIRQSTICKY(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_RESUMEIRQSTICKY_SHIFT)) & USBPHY_CTRL_CLR_RESUMEIRQSTICKY_MASK)
  82548. #define USBPHY_CTRL_CLR_ENIRQRESUMEDETECT_MASK (0x200U)
  82549. #define USBPHY_CTRL_CLR_ENIRQRESUMEDETECT_SHIFT (9U)
  82550. /*! ENIRQRESUMEDETECT - ENIRQRESUMEDETECT
  82551. */
  82552. #define USBPHY_CTRL_CLR_ENIRQRESUMEDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENIRQRESUMEDETECT_SHIFT)) & USBPHY_CTRL_CLR_ENIRQRESUMEDETECT_MASK)
  82553. #define USBPHY_CTRL_CLR_RESUME_IRQ_MASK (0x400U)
  82554. #define USBPHY_CTRL_CLR_RESUME_IRQ_SHIFT (10U)
  82555. /*! RESUME_IRQ - RESUME_IRQ
  82556. */
  82557. #define USBPHY_CTRL_CLR_RESUME_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_RESUME_IRQ_SHIFT)) & USBPHY_CTRL_CLR_RESUME_IRQ_MASK)
  82558. #define USBPHY_CTRL_CLR_ENIRQDEVPLUGIN_MASK (0x800U)
  82559. #define USBPHY_CTRL_CLR_ENIRQDEVPLUGIN_SHIFT (11U)
  82560. /*! ENIRQDEVPLUGIN - ENIRQDEVPLUGIN
  82561. */
  82562. #define USBPHY_CTRL_CLR_ENIRQDEVPLUGIN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENIRQDEVPLUGIN_SHIFT)) & USBPHY_CTRL_CLR_ENIRQDEVPLUGIN_MASK)
  82563. #define USBPHY_CTRL_CLR_DEVPLUGIN_IRQ_MASK (0x1000U)
  82564. #define USBPHY_CTRL_CLR_DEVPLUGIN_IRQ_SHIFT (12U)
  82565. /*! DEVPLUGIN_IRQ - DEVPLUGIN_IRQ
  82566. */
  82567. #define USBPHY_CTRL_CLR_DEVPLUGIN_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_DEVPLUGIN_IRQ_SHIFT)) & USBPHY_CTRL_CLR_DEVPLUGIN_IRQ_MASK)
  82568. #define USBPHY_CTRL_CLR_ENUTMILEVEL2_MASK (0x4000U)
  82569. #define USBPHY_CTRL_CLR_ENUTMILEVEL2_SHIFT (14U)
  82570. /*! ENUTMILEVEL2 - ENUTMILEVEL2
  82571. */
  82572. #define USBPHY_CTRL_CLR_ENUTMILEVEL2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENUTMILEVEL2_SHIFT)) & USBPHY_CTRL_CLR_ENUTMILEVEL2_MASK)
  82573. #define USBPHY_CTRL_CLR_ENUTMILEVEL3_MASK (0x8000U)
  82574. #define USBPHY_CTRL_CLR_ENUTMILEVEL3_SHIFT (15U)
  82575. /*! ENUTMILEVEL3 - ENUTMILEVEL3
  82576. */
  82577. #define USBPHY_CTRL_CLR_ENUTMILEVEL3(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENUTMILEVEL3_SHIFT)) & USBPHY_CTRL_CLR_ENUTMILEVEL3_MASK)
  82578. #define USBPHY_CTRL_CLR_ENIRQWAKEUP_MASK (0x10000U)
  82579. #define USBPHY_CTRL_CLR_ENIRQWAKEUP_SHIFT (16U)
  82580. /*! ENIRQWAKEUP - ENIRQWAKEUP
  82581. */
  82582. #define USBPHY_CTRL_CLR_ENIRQWAKEUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENIRQWAKEUP_SHIFT)) & USBPHY_CTRL_CLR_ENIRQWAKEUP_MASK)
  82583. #define USBPHY_CTRL_CLR_WAKEUP_IRQ_MASK (0x20000U)
  82584. #define USBPHY_CTRL_CLR_WAKEUP_IRQ_SHIFT (17U)
  82585. /*! WAKEUP_IRQ - WAKEUP_IRQ
  82586. */
  82587. #define USBPHY_CTRL_CLR_WAKEUP_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_WAKEUP_IRQ_SHIFT)) & USBPHY_CTRL_CLR_WAKEUP_IRQ_MASK)
  82588. #define USBPHY_CTRL_CLR_AUTORESUME_EN_MASK (0x40000U)
  82589. #define USBPHY_CTRL_CLR_AUTORESUME_EN_SHIFT (18U)
  82590. /*! AUTORESUME_EN - AUTORESUME_EN
  82591. */
  82592. #define USBPHY_CTRL_CLR_AUTORESUME_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_AUTORESUME_EN_SHIFT)) & USBPHY_CTRL_CLR_AUTORESUME_EN_MASK)
  82593. #define USBPHY_CTRL_CLR_ENAUTOCLR_CLKGATE_MASK (0x80000U)
  82594. #define USBPHY_CTRL_CLR_ENAUTOCLR_CLKGATE_SHIFT (19U)
  82595. /*! ENAUTOCLR_CLKGATE - ENAUTOCLR_CLKGATE
  82596. */
  82597. #define USBPHY_CTRL_CLR_ENAUTOCLR_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENAUTOCLR_CLKGATE_SHIFT)) & USBPHY_CTRL_CLR_ENAUTOCLR_CLKGATE_MASK)
  82598. #define USBPHY_CTRL_CLR_ENAUTOCLR_PHY_PWD_MASK (0x100000U)
  82599. #define USBPHY_CTRL_CLR_ENAUTOCLR_PHY_PWD_SHIFT (20U)
  82600. /*! ENAUTOCLR_PHY_PWD - ENAUTOCLR_PHY_PWD
  82601. */
  82602. #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)
  82603. #define USBPHY_CTRL_CLR_ENDPDMCHG_WKUP_MASK (0x200000U)
  82604. #define USBPHY_CTRL_CLR_ENDPDMCHG_WKUP_SHIFT (21U)
  82605. /*! ENDPDMCHG_WKUP - ENDPDMCHG_WKUP
  82606. */
  82607. #define USBPHY_CTRL_CLR_ENDPDMCHG_WKUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENDPDMCHG_WKUP_SHIFT)) & USBPHY_CTRL_CLR_ENDPDMCHG_WKUP_MASK)
  82608. #define USBPHY_CTRL_CLR_ENIDCHG_WKUP_MASK (0x400000U)
  82609. #define USBPHY_CTRL_CLR_ENIDCHG_WKUP_SHIFT (22U)
  82610. /*! ENIDCHG_WKUP - ENIDCHG_WKUP
  82611. */
  82612. #define USBPHY_CTRL_CLR_ENIDCHG_WKUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENIDCHG_WKUP_SHIFT)) & USBPHY_CTRL_CLR_ENIDCHG_WKUP_MASK)
  82613. #define USBPHY_CTRL_CLR_ENVBUSCHG_WKUP_MASK (0x800000U)
  82614. #define USBPHY_CTRL_CLR_ENVBUSCHG_WKUP_SHIFT (23U)
  82615. /*! ENVBUSCHG_WKUP - ENVBUSCHG_WKUP
  82616. */
  82617. #define USBPHY_CTRL_CLR_ENVBUSCHG_WKUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENVBUSCHG_WKUP_SHIFT)) & USBPHY_CTRL_CLR_ENVBUSCHG_WKUP_MASK)
  82618. #define USBPHY_CTRL_CLR_FSDLL_RST_EN_MASK (0x1000000U)
  82619. #define USBPHY_CTRL_CLR_FSDLL_RST_EN_SHIFT (24U)
  82620. /*! FSDLL_RST_EN - FSDLL_RST_EN
  82621. */
  82622. #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)
  82623. #define USBPHY_CTRL_CLR_OTG_ID_VALUE_MASK (0x8000000U)
  82624. #define USBPHY_CTRL_CLR_OTG_ID_VALUE_SHIFT (27U)
  82625. /*! OTG_ID_VALUE - OTG_ID_VALUE
  82626. */
  82627. #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)
  82628. #define USBPHY_CTRL_CLR_HOST_FORCE_LS_SE0_MASK (0x10000000U)
  82629. #define USBPHY_CTRL_CLR_HOST_FORCE_LS_SE0_SHIFT (28U)
  82630. /*! HOST_FORCE_LS_SE0 - HOST_FORCE_LS_SE0
  82631. */
  82632. #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)
  82633. #define USBPHY_CTRL_CLR_UTMI_SUSPENDM_MASK (0x20000000U)
  82634. #define USBPHY_CTRL_CLR_UTMI_SUSPENDM_SHIFT (29U)
  82635. /*! UTMI_SUSPENDM - UTMI_SUSPENDM
  82636. */
  82637. #define USBPHY_CTRL_CLR_UTMI_SUSPENDM(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_UTMI_SUSPENDM_SHIFT)) & USBPHY_CTRL_CLR_UTMI_SUSPENDM_MASK)
  82638. #define USBPHY_CTRL_CLR_CLKGATE_MASK (0x40000000U)
  82639. #define USBPHY_CTRL_CLR_CLKGATE_SHIFT (30U)
  82640. /*! CLKGATE - CLKGATE
  82641. */
  82642. #define USBPHY_CTRL_CLR_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_CLKGATE_SHIFT)) & USBPHY_CTRL_CLR_CLKGATE_MASK)
  82643. #define USBPHY_CTRL_CLR_SFTRST_MASK (0x80000000U)
  82644. #define USBPHY_CTRL_CLR_SFTRST_SHIFT (31U)
  82645. /*! SFTRST - SFTRST
  82646. */
  82647. #define USBPHY_CTRL_CLR_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_SFTRST_SHIFT)) & USBPHY_CTRL_CLR_SFTRST_MASK)
  82648. /*! @} */
  82649. /*! @name CTRL_TOG - USB PHY General Control Register */
  82650. /*! @{ */
  82651. #define USBPHY_CTRL_TOG_ENOTG_ID_CHG_IRQ_MASK (0x1U)
  82652. #define USBPHY_CTRL_TOG_ENOTG_ID_CHG_IRQ_SHIFT (0U)
  82653. /*! ENOTG_ID_CHG_IRQ - ENOTG_ID_CHG_IRQ
  82654. */
  82655. #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)
  82656. #define USBPHY_CTRL_TOG_ENHOSTDISCONDETECT_MASK (0x2U)
  82657. #define USBPHY_CTRL_TOG_ENHOSTDISCONDETECT_SHIFT (1U)
  82658. /*! ENHOSTDISCONDETECT - ENHOSTDISCONDETECT
  82659. */
  82660. #define USBPHY_CTRL_TOG_ENHOSTDISCONDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENHOSTDISCONDETECT_SHIFT)) & USBPHY_CTRL_TOG_ENHOSTDISCONDETECT_MASK)
  82661. #define USBPHY_CTRL_TOG_ENIRQHOSTDISCON_MASK (0x4U)
  82662. #define USBPHY_CTRL_TOG_ENIRQHOSTDISCON_SHIFT (2U)
  82663. /*! ENIRQHOSTDISCON - ENIRQHOSTDISCON
  82664. */
  82665. #define USBPHY_CTRL_TOG_ENIRQHOSTDISCON(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENIRQHOSTDISCON_SHIFT)) & USBPHY_CTRL_TOG_ENIRQHOSTDISCON_MASK)
  82666. #define USBPHY_CTRL_TOG_HOSTDISCONDETECT_IRQ_MASK (0x8U)
  82667. #define USBPHY_CTRL_TOG_HOSTDISCONDETECT_IRQ_SHIFT (3U)
  82668. /*! HOSTDISCONDETECT_IRQ - HOSTDISCONDETECT_IRQ
  82669. */
  82670. #define USBPHY_CTRL_TOG_HOSTDISCONDETECT_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_HOSTDISCONDETECT_IRQ_SHIFT)) & USBPHY_CTRL_TOG_HOSTDISCONDETECT_IRQ_MASK)
  82671. #define USBPHY_CTRL_TOG_ENDEVPLUGINDETECT_MASK (0x10U)
  82672. #define USBPHY_CTRL_TOG_ENDEVPLUGINDETECT_SHIFT (4U)
  82673. /*! ENDEVPLUGINDETECT - Enables non-standard resistive plugged-in detection
  82674. */
  82675. #define USBPHY_CTRL_TOG_ENDEVPLUGINDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENDEVPLUGINDETECT_SHIFT)) & USBPHY_CTRL_TOG_ENDEVPLUGINDETECT_MASK)
  82676. #define USBPHY_CTRL_TOG_DEVPLUGIN_POLARITY_MASK (0x20U)
  82677. #define USBPHY_CTRL_TOG_DEVPLUGIN_POLARITY_SHIFT (5U)
  82678. /*! DEVPLUGIN_POLARITY - DEVPLUGIN_POLARITY
  82679. */
  82680. #define USBPHY_CTRL_TOG_DEVPLUGIN_POLARITY(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_DEVPLUGIN_POLARITY_SHIFT)) & USBPHY_CTRL_TOG_DEVPLUGIN_POLARITY_MASK)
  82681. #define USBPHY_CTRL_TOG_OTG_ID_CHG_IRQ_MASK (0x40U)
  82682. #define USBPHY_CTRL_TOG_OTG_ID_CHG_IRQ_SHIFT (6U)
  82683. /*! OTG_ID_CHG_IRQ - OTG_ID_CHG_IRQ
  82684. */
  82685. #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)
  82686. #define USBPHY_CTRL_TOG_ENOTGIDDETECT_MASK (0x80U)
  82687. #define USBPHY_CTRL_TOG_ENOTGIDDETECT_SHIFT (7U)
  82688. /*! ENOTGIDDETECT - ENOTGIDDETECT
  82689. */
  82690. #define USBPHY_CTRL_TOG_ENOTGIDDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENOTGIDDETECT_SHIFT)) & USBPHY_CTRL_TOG_ENOTGIDDETECT_MASK)
  82691. #define USBPHY_CTRL_TOG_RESUMEIRQSTICKY_MASK (0x100U)
  82692. #define USBPHY_CTRL_TOG_RESUMEIRQSTICKY_SHIFT (8U)
  82693. /*! RESUMEIRQSTICKY - RESUMEIRQSTICKY
  82694. */
  82695. #define USBPHY_CTRL_TOG_RESUMEIRQSTICKY(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_RESUMEIRQSTICKY_SHIFT)) & USBPHY_CTRL_TOG_RESUMEIRQSTICKY_MASK)
  82696. #define USBPHY_CTRL_TOG_ENIRQRESUMEDETECT_MASK (0x200U)
  82697. #define USBPHY_CTRL_TOG_ENIRQRESUMEDETECT_SHIFT (9U)
  82698. /*! ENIRQRESUMEDETECT - ENIRQRESUMEDETECT
  82699. */
  82700. #define USBPHY_CTRL_TOG_ENIRQRESUMEDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENIRQRESUMEDETECT_SHIFT)) & USBPHY_CTRL_TOG_ENIRQRESUMEDETECT_MASK)
  82701. #define USBPHY_CTRL_TOG_RESUME_IRQ_MASK (0x400U)
  82702. #define USBPHY_CTRL_TOG_RESUME_IRQ_SHIFT (10U)
  82703. /*! RESUME_IRQ - RESUME_IRQ
  82704. */
  82705. #define USBPHY_CTRL_TOG_RESUME_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_RESUME_IRQ_SHIFT)) & USBPHY_CTRL_TOG_RESUME_IRQ_MASK)
  82706. #define USBPHY_CTRL_TOG_ENIRQDEVPLUGIN_MASK (0x800U)
  82707. #define USBPHY_CTRL_TOG_ENIRQDEVPLUGIN_SHIFT (11U)
  82708. /*! ENIRQDEVPLUGIN - ENIRQDEVPLUGIN
  82709. */
  82710. #define USBPHY_CTRL_TOG_ENIRQDEVPLUGIN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENIRQDEVPLUGIN_SHIFT)) & USBPHY_CTRL_TOG_ENIRQDEVPLUGIN_MASK)
  82711. #define USBPHY_CTRL_TOG_DEVPLUGIN_IRQ_MASK (0x1000U)
  82712. #define USBPHY_CTRL_TOG_DEVPLUGIN_IRQ_SHIFT (12U)
  82713. /*! DEVPLUGIN_IRQ - DEVPLUGIN_IRQ
  82714. */
  82715. #define USBPHY_CTRL_TOG_DEVPLUGIN_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_DEVPLUGIN_IRQ_SHIFT)) & USBPHY_CTRL_TOG_DEVPLUGIN_IRQ_MASK)
  82716. #define USBPHY_CTRL_TOG_ENUTMILEVEL2_MASK (0x4000U)
  82717. #define USBPHY_CTRL_TOG_ENUTMILEVEL2_SHIFT (14U)
  82718. /*! ENUTMILEVEL2 - ENUTMILEVEL2
  82719. */
  82720. #define USBPHY_CTRL_TOG_ENUTMILEVEL2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENUTMILEVEL2_SHIFT)) & USBPHY_CTRL_TOG_ENUTMILEVEL2_MASK)
  82721. #define USBPHY_CTRL_TOG_ENUTMILEVEL3_MASK (0x8000U)
  82722. #define USBPHY_CTRL_TOG_ENUTMILEVEL3_SHIFT (15U)
  82723. /*! ENUTMILEVEL3 - ENUTMILEVEL3
  82724. */
  82725. #define USBPHY_CTRL_TOG_ENUTMILEVEL3(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENUTMILEVEL3_SHIFT)) & USBPHY_CTRL_TOG_ENUTMILEVEL3_MASK)
  82726. #define USBPHY_CTRL_TOG_ENIRQWAKEUP_MASK (0x10000U)
  82727. #define USBPHY_CTRL_TOG_ENIRQWAKEUP_SHIFT (16U)
  82728. /*! ENIRQWAKEUP - ENIRQWAKEUP
  82729. */
  82730. #define USBPHY_CTRL_TOG_ENIRQWAKEUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENIRQWAKEUP_SHIFT)) & USBPHY_CTRL_TOG_ENIRQWAKEUP_MASK)
  82731. #define USBPHY_CTRL_TOG_WAKEUP_IRQ_MASK (0x20000U)
  82732. #define USBPHY_CTRL_TOG_WAKEUP_IRQ_SHIFT (17U)
  82733. /*! WAKEUP_IRQ - WAKEUP_IRQ
  82734. */
  82735. #define USBPHY_CTRL_TOG_WAKEUP_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_WAKEUP_IRQ_SHIFT)) & USBPHY_CTRL_TOG_WAKEUP_IRQ_MASK)
  82736. #define USBPHY_CTRL_TOG_AUTORESUME_EN_MASK (0x40000U)
  82737. #define USBPHY_CTRL_TOG_AUTORESUME_EN_SHIFT (18U)
  82738. /*! AUTORESUME_EN - AUTORESUME_EN
  82739. */
  82740. #define USBPHY_CTRL_TOG_AUTORESUME_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_AUTORESUME_EN_SHIFT)) & USBPHY_CTRL_TOG_AUTORESUME_EN_MASK)
  82741. #define USBPHY_CTRL_TOG_ENAUTOCLR_CLKGATE_MASK (0x80000U)
  82742. #define USBPHY_CTRL_TOG_ENAUTOCLR_CLKGATE_SHIFT (19U)
  82743. /*! ENAUTOCLR_CLKGATE - ENAUTOCLR_CLKGATE
  82744. */
  82745. #define USBPHY_CTRL_TOG_ENAUTOCLR_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENAUTOCLR_CLKGATE_SHIFT)) & USBPHY_CTRL_TOG_ENAUTOCLR_CLKGATE_MASK)
  82746. #define USBPHY_CTRL_TOG_ENAUTOCLR_PHY_PWD_MASK (0x100000U)
  82747. #define USBPHY_CTRL_TOG_ENAUTOCLR_PHY_PWD_SHIFT (20U)
  82748. /*! ENAUTOCLR_PHY_PWD - ENAUTOCLR_PHY_PWD
  82749. */
  82750. #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)
  82751. #define USBPHY_CTRL_TOG_ENDPDMCHG_WKUP_MASK (0x200000U)
  82752. #define USBPHY_CTRL_TOG_ENDPDMCHG_WKUP_SHIFT (21U)
  82753. /*! ENDPDMCHG_WKUP - ENDPDMCHG_WKUP
  82754. */
  82755. #define USBPHY_CTRL_TOG_ENDPDMCHG_WKUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENDPDMCHG_WKUP_SHIFT)) & USBPHY_CTRL_TOG_ENDPDMCHG_WKUP_MASK)
  82756. #define USBPHY_CTRL_TOG_ENIDCHG_WKUP_MASK (0x400000U)
  82757. #define USBPHY_CTRL_TOG_ENIDCHG_WKUP_SHIFT (22U)
  82758. /*! ENIDCHG_WKUP - ENIDCHG_WKUP
  82759. */
  82760. #define USBPHY_CTRL_TOG_ENIDCHG_WKUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENIDCHG_WKUP_SHIFT)) & USBPHY_CTRL_TOG_ENIDCHG_WKUP_MASK)
  82761. #define USBPHY_CTRL_TOG_ENVBUSCHG_WKUP_MASK (0x800000U)
  82762. #define USBPHY_CTRL_TOG_ENVBUSCHG_WKUP_SHIFT (23U)
  82763. /*! ENVBUSCHG_WKUP - ENVBUSCHG_WKUP
  82764. */
  82765. #define USBPHY_CTRL_TOG_ENVBUSCHG_WKUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENVBUSCHG_WKUP_SHIFT)) & USBPHY_CTRL_TOG_ENVBUSCHG_WKUP_MASK)
  82766. #define USBPHY_CTRL_TOG_FSDLL_RST_EN_MASK (0x1000000U)
  82767. #define USBPHY_CTRL_TOG_FSDLL_RST_EN_SHIFT (24U)
  82768. /*! FSDLL_RST_EN - FSDLL_RST_EN
  82769. */
  82770. #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)
  82771. #define USBPHY_CTRL_TOG_OTG_ID_VALUE_MASK (0x8000000U)
  82772. #define USBPHY_CTRL_TOG_OTG_ID_VALUE_SHIFT (27U)
  82773. /*! OTG_ID_VALUE - OTG_ID_VALUE
  82774. */
  82775. #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)
  82776. #define USBPHY_CTRL_TOG_HOST_FORCE_LS_SE0_MASK (0x10000000U)
  82777. #define USBPHY_CTRL_TOG_HOST_FORCE_LS_SE0_SHIFT (28U)
  82778. /*! HOST_FORCE_LS_SE0 - HOST_FORCE_LS_SE0
  82779. */
  82780. #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)
  82781. #define USBPHY_CTRL_TOG_UTMI_SUSPENDM_MASK (0x20000000U)
  82782. #define USBPHY_CTRL_TOG_UTMI_SUSPENDM_SHIFT (29U)
  82783. /*! UTMI_SUSPENDM - UTMI_SUSPENDM
  82784. */
  82785. #define USBPHY_CTRL_TOG_UTMI_SUSPENDM(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_UTMI_SUSPENDM_SHIFT)) & USBPHY_CTRL_TOG_UTMI_SUSPENDM_MASK)
  82786. #define USBPHY_CTRL_TOG_CLKGATE_MASK (0x40000000U)
  82787. #define USBPHY_CTRL_TOG_CLKGATE_SHIFT (30U)
  82788. /*! CLKGATE - CLKGATE
  82789. */
  82790. #define USBPHY_CTRL_TOG_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_CLKGATE_SHIFT)) & USBPHY_CTRL_TOG_CLKGATE_MASK)
  82791. #define USBPHY_CTRL_TOG_SFTRST_MASK (0x80000000U)
  82792. #define USBPHY_CTRL_TOG_SFTRST_SHIFT (31U)
  82793. /*! SFTRST - SFTRST
  82794. */
  82795. #define USBPHY_CTRL_TOG_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_SFTRST_SHIFT)) & USBPHY_CTRL_TOG_SFTRST_MASK)
  82796. /*! @} */
  82797. /*! @name STATUS - USB PHY Status Register */
  82798. /*! @{ */
  82799. #define USBPHY_STATUS_HOSTDISCONDETECT_STATUS_MASK (0x8U)
  82800. #define USBPHY_STATUS_HOSTDISCONDETECT_STATUS_SHIFT (3U)
  82801. /*! HOSTDISCONDETECT_STATUS - HOSTDISCONDETECT_STATUS
  82802. * 0b0..USB cable disconnect has not been detected at the local host
  82803. * 0b1..USB cable disconnect has been detected at the local host
  82804. */
  82805. #define USBPHY_STATUS_HOSTDISCONDETECT_STATUS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_STATUS_HOSTDISCONDETECT_STATUS_SHIFT)) & USBPHY_STATUS_HOSTDISCONDETECT_STATUS_MASK)
  82806. #define USBPHY_STATUS_DEVPLUGIN_STATUS_MASK (0x40U)
  82807. #define USBPHY_STATUS_DEVPLUGIN_STATUS_SHIFT (6U)
  82808. /*! DEVPLUGIN_STATUS - Status indicator for non-standard resistive plugged-in detection
  82809. * 0b0..No attachment to a USB host is detected
  82810. * 0b1..Cable attachment to a USB host is detected
  82811. */
  82812. #define USBPHY_STATUS_DEVPLUGIN_STATUS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_STATUS_DEVPLUGIN_STATUS_SHIFT)) & USBPHY_STATUS_DEVPLUGIN_STATUS_MASK)
  82813. #define USBPHY_STATUS_OTGID_STATUS_MASK (0x100U)
  82814. #define USBPHY_STATUS_OTGID_STATUS_SHIFT (8U)
  82815. /*! OTGID_STATUS - OTGID_STATUS
  82816. */
  82817. #define USBPHY_STATUS_OTGID_STATUS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_STATUS_OTGID_STATUS_SHIFT)) & USBPHY_STATUS_OTGID_STATUS_MASK)
  82818. #define USBPHY_STATUS_RESUME_STATUS_MASK (0x400U)
  82819. #define USBPHY_STATUS_RESUME_STATUS_SHIFT (10U)
  82820. /*! RESUME_STATUS - RESUME_STATUS
  82821. */
  82822. #define USBPHY_STATUS_RESUME_STATUS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_STATUS_RESUME_STATUS_SHIFT)) & USBPHY_STATUS_RESUME_STATUS_MASK)
  82823. /*! @} */
  82824. /*! @name DEBUG - USB PHY Debug Register */
  82825. /*! @{ */
  82826. #define USBPHY_DEBUG_OTGIDPIOLOCK_MASK (0x1U)
  82827. #define USBPHY_DEBUG_OTGIDPIOLOCK_SHIFT (0U)
  82828. /*! OTGIDPIOLOCK - OTGIDPIOLOCK
  82829. */
  82830. #define USBPHY_DEBUG_OTGIDPIOLOCK(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_OTGIDPIOLOCK_SHIFT)) & USBPHY_DEBUG_OTGIDPIOLOCK_MASK)
  82831. #define USBPHY_DEBUG_DEBUG_INTERFACE_HOLD_MASK (0x2U)
  82832. #define USBPHY_DEBUG_DEBUG_INTERFACE_HOLD_SHIFT (1U)
  82833. /*! DEBUG_INTERFACE_HOLD - DEBUG_INTERFACE_HOLD
  82834. */
  82835. #define USBPHY_DEBUG_DEBUG_INTERFACE_HOLD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_DEBUG_INTERFACE_HOLD_SHIFT)) & USBPHY_DEBUG_DEBUG_INTERFACE_HOLD_MASK)
  82836. #define USBPHY_DEBUG_HSTPULLDOWN_MASK (0xCU)
  82837. #define USBPHY_DEBUG_HSTPULLDOWN_SHIFT (2U)
  82838. /*! HSTPULLDOWN - HSTPULLDOWN
  82839. */
  82840. #define USBPHY_DEBUG_HSTPULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_HSTPULLDOWN_SHIFT)) & USBPHY_DEBUG_HSTPULLDOWN_MASK)
  82841. #define USBPHY_DEBUG_ENHSTPULLDOWN_MASK (0x30U)
  82842. #define USBPHY_DEBUG_ENHSTPULLDOWN_SHIFT (4U)
  82843. /*! ENHSTPULLDOWN - ENHSTPULLDOWN
  82844. */
  82845. #define USBPHY_DEBUG_ENHSTPULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_ENHSTPULLDOWN_SHIFT)) & USBPHY_DEBUG_ENHSTPULLDOWN_MASK)
  82846. #define USBPHY_DEBUG_TX2RXCOUNT_MASK (0xF00U)
  82847. #define USBPHY_DEBUG_TX2RXCOUNT_SHIFT (8U)
  82848. /*! TX2RXCOUNT - TX2RXCOUNT
  82849. */
  82850. #define USBPHY_DEBUG_TX2RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TX2RXCOUNT_SHIFT)) & USBPHY_DEBUG_TX2RXCOUNT_MASK)
  82851. #define USBPHY_DEBUG_ENTX2RXCOUNT_MASK (0x1000U)
  82852. #define USBPHY_DEBUG_ENTX2RXCOUNT_SHIFT (12U)
  82853. /*! ENTX2RXCOUNT - ENTX2RXCOUNT
  82854. */
  82855. #define USBPHY_DEBUG_ENTX2RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_ENTX2RXCOUNT_SHIFT)) & USBPHY_DEBUG_ENTX2RXCOUNT_MASK)
  82856. #define USBPHY_DEBUG_SQUELCHRESETCOUNT_MASK (0x1F0000U)
  82857. #define USBPHY_DEBUG_SQUELCHRESETCOUNT_SHIFT (16U)
  82858. /*! SQUELCHRESETCOUNT - SQUELCHRESETCOUNT
  82859. */
  82860. #define USBPHY_DEBUG_SQUELCHRESETCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SQUELCHRESETCOUNT_SHIFT)) & USBPHY_DEBUG_SQUELCHRESETCOUNT_MASK)
  82861. #define USBPHY_DEBUG_ENSQUELCHRESET_MASK (0x1000000U)
  82862. #define USBPHY_DEBUG_ENSQUELCHRESET_SHIFT (24U)
  82863. /*! ENSQUELCHRESET - ENSQUELCHRESET
  82864. */
  82865. #define USBPHY_DEBUG_ENSQUELCHRESET(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_ENSQUELCHRESET_SHIFT)) & USBPHY_DEBUG_ENSQUELCHRESET_MASK)
  82866. #define USBPHY_DEBUG_SQUELCHRESETLENGTH_MASK (0x1E000000U)
  82867. #define USBPHY_DEBUG_SQUELCHRESETLENGTH_SHIFT (25U)
  82868. /*! SQUELCHRESETLENGTH - SQUELCHRESETLENGTH
  82869. */
  82870. #define USBPHY_DEBUG_SQUELCHRESETLENGTH(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SQUELCHRESETLENGTH_SHIFT)) & USBPHY_DEBUG_SQUELCHRESETLENGTH_MASK)
  82871. #define USBPHY_DEBUG_HOST_RESUME_DEBUG_MASK (0x20000000U)
  82872. #define USBPHY_DEBUG_HOST_RESUME_DEBUG_SHIFT (29U)
  82873. /*! HOST_RESUME_DEBUG - HOST_RESUME_DEBUG
  82874. */
  82875. #define USBPHY_DEBUG_HOST_RESUME_DEBUG(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_HOST_RESUME_DEBUG_SHIFT)) & USBPHY_DEBUG_HOST_RESUME_DEBUG_MASK)
  82876. #define USBPHY_DEBUG_CLKGATE_MASK (0x40000000U)
  82877. #define USBPHY_DEBUG_CLKGATE_SHIFT (30U)
  82878. /*! CLKGATE - CLKGATE
  82879. */
  82880. #define USBPHY_DEBUG_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLKGATE_SHIFT)) & USBPHY_DEBUG_CLKGATE_MASK)
  82881. /*! @} */
  82882. /*! @name DEBUG_SET - USB PHY Debug Register */
  82883. /*! @{ */
  82884. #define USBPHY_DEBUG_SET_OTGIDPIOLOCK_MASK (0x1U)
  82885. #define USBPHY_DEBUG_SET_OTGIDPIOLOCK_SHIFT (0U)
  82886. /*! OTGIDPIOLOCK - OTGIDPIOLOCK
  82887. */
  82888. #define USBPHY_DEBUG_SET_OTGIDPIOLOCK(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SET_OTGIDPIOLOCK_SHIFT)) & USBPHY_DEBUG_SET_OTGIDPIOLOCK_MASK)
  82889. #define USBPHY_DEBUG_SET_DEBUG_INTERFACE_HOLD_MASK (0x2U)
  82890. #define USBPHY_DEBUG_SET_DEBUG_INTERFACE_HOLD_SHIFT (1U)
  82891. /*! DEBUG_INTERFACE_HOLD - DEBUG_INTERFACE_HOLD
  82892. */
  82893. #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)
  82894. #define USBPHY_DEBUG_SET_HSTPULLDOWN_MASK (0xCU)
  82895. #define USBPHY_DEBUG_SET_HSTPULLDOWN_SHIFT (2U)
  82896. /*! HSTPULLDOWN - HSTPULLDOWN
  82897. */
  82898. #define USBPHY_DEBUG_SET_HSTPULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SET_HSTPULLDOWN_SHIFT)) & USBPHY_DEBUG_SET_HSTPULLDOWN_MASK)
  82899. #define USBPHY_DEBUG_SET_ENHSTPULLDOWN_MASK (0x30U)
  82900. #define USBPHY_DEBUG_SET_ENHSTPULLDOWN_SHIFT (4U)
  82901. /*! ENHSTPULLDOWN - ENHSTPULLDOWN
  82902. */
  82903. #define USBPHY_DEBUG_SET_ENHSTPULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SET_ENHSTPULLDOWN_SHIFT)) & USBPHY_DEBUG_SET_ENHSTPULLDOWN_MASK)
  82904. #define USBPHY_DEBUG_SET_TX2RXCOUNT_MASK (0xF00U)
  82905. #define USBPHY_DEBUG_SET_TX2RXCOUNT_SHIFT (8U)
  82906. /*! TX2RXCOUNT - TX2RXCOUNT
  82907. */
  82908. #define USBPHY_DEBUG_SET_TX2RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SET_TX2RXCOUNT_SHIFT)) & USBPHY_DEBUG_SET_TX2RXCOUNT_MASK)
  82909. #define USBPHY_DEBUG_SET_ENTX2RXCOUNT_MASK (0x1000U)
  82910. #define USBPHY_DEBUG_SET_ENTX2RXCOUNT_SHIFT (12U)
  82911. /*! ENTX2RXCOUNT - ENTX2RXCOUNT
  82912. */
  82913. #define USBPHY_DEBUG_SET_ENTX2RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SET_ENTX2RXCOUNT_SHIFT)) & USBPHY_DEBUG_SET_ENTX2RXCOUNT_MASK)
  82914. #define USBPHY_DEBUG_SET_SQUELCHRESETCOUNT_MASK (0x1F0000U)
  82915. #define USBPHY_DEBUG_SET_SQUELCHRESETCOUNT_SHIFT (16U)
  82916. /*! SQUELCHRESETCOUNT - SQUELCHRESETCOUNT
  82917. */
  82918. #define USBPHY_DEBUG_SET_SQUELCHRESETCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SET_SQUELCHRESETCOUNT_SHIFT)) & USBPHY_DEBUG_SET_SQUELCHRESETCOUNT_MASK)
  82919. #define USBPHY_DEBUG_SET_ENSQUELCHRESET_MASK (0x1000000U)
  82920. #define USBPHY_DEBUG_SET_ENSQUELCHRESET_SHIFT (24U)
  82921. /*! ENSQUELCHRESET - ENSQUELCHRESET
  82922. */
  82923. #define USBPHY_DEBUG_SET_ENSQUELCHRESET(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SET_ENSQUELCHRESET_SHIFT)) & USBPHY_DEBUG_SET_ENSQUELCHRESET_MASK)
  82924. #define USBPHY_DEBUG_SET_SQUELCHRESETLENGTH_MASK (0x1E000000U)
  82925. #define USBPHY_DEBUG_SET_SQUELCHRESETLENGTH_SHIFT (25U)
  82926. /*! SQUELCHRESETLENGTH - SQUELCHRESETLENGTH
  82927. */
  82928. #define USBPHY_DEBUG_SET_SQUELCHRESETLENGTH(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SET_SQUELCHRESETLENGTH_SHIFT)) & USBPHY_DEBUG_SET_SQUELCHRESETLENGTH_MASK)
  82929. #define USBPHY_DEBUG_SET_HOST_RESUME_DEBUG_MASK (0x20000000U)
  82930. #define USBPHY_DEBUG_SET_HOST_RESUME_DEBUG_SHIFT (29U)
  82931. /*! HOST_RESUME_DEBUG - HOST_RESUME_DEBUG
  82932. */
  82933. #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)
  82934. #define USBPHY_DEBUG_SET_CLKGATE_MASK (0x40000000U)
  82935. #define USBPHY_DEBUG_SET_CLKGATE_SHIFT (30U)
  82936. /*! CLKGATE - CLKGATE
  82937. */
  82938. #define USBPHY_DEBUG_SET_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SET_CLKGATE_SHIFT)) & USBPHY_DEBUG_SET_CLKGATE_MASK)
  82939. /*! @} */
  82940. /*! @name DEBUG_CLR - USB PHY Debug Register */
  82941. /*! @{ */
  82942. #define USBPHY_DEBUG_CLR_OTGIDPIOLOCK_MASK (0x1U)
  82943. #define USBPHY_DEBUG_CLR_OTGIDPIOLOCK_SHIFT (0U)
  82944. /*! OTGIDPIOLOCK - OTGIDPIOLOCK
  82945. */
  82946. #define USBPHY_DEBUG_CLR_OTGIDPIOLOCK(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLR_OTGIDPIOLOCK_SHIFT)) & USBPHY_DEBUG_CLR_OTGIDPIOLOCK_MASK)
  82947. #define USBPHY_DEBUG_CLR_DEBUG_INTERFACE_HOLD_MASK (0x2U)
  82948. #define USBPHY_DEBUG_CLR_DEBUG_INTERFACE_HOLD_SHIFT (1U)
  82949. /*! DEBUG_INTERFACE_HOLD - DEBUG_INTERFACE_HOLD
  82950. */
  82951. #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)
  82952. #define USBPHY_DEBUG_CLR_HSTPULLDOWN_MASK (0xCU)
  82953. #define USBPHY_DEBUG_CLR_HSTPULLDOWN_SHIFT (2U)
  82954. /*! HSTPULLDOWN - HSTPULLDOWN
  82955. */
  82956. #define USBPHY_DEBUG_CLR_HSTPULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLR_HSTPULLDOWN_SHIFT)) & USBPHY_DEBUG_CLR_HSTPULLDOWN_MASK)
  82957. #define USBPHY_DEBUG_CLR_ENHSTPULLDOWN_MASK (0x30U)
  82958. #define USBPHY_DEBUG_CLR_ENHSTPULLDOWN_SHIFT (4U)
  82959. /*! ENHSTPULLDOWN - ENHSTPULLDOWN
  82960. */
  82961. #define USBPHY_DEBUG_CLR_ENHSTPULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLR_ENHSTPULLDOWN_SHIFT)) & USBPHY_DEBUG_CLR_ENHSTPULLDOWN_MASK)
  82962. #define USBPHY_DEBUG_CLR_TX2RXCOUNT_MASK (0xF00U)
  82963. #define USBPHY_DEBUG_CLR_TX2RXCOUNT_SHIFT (8U)
  82964. /*! TX2RXCOUNT - TX2RXCOUNT
  82965. */
  82966. #define USBPHY_DEBUG_CLR_TX2RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLR_TX2RXCOUNT_SHIFT)) & USBPHY_DEBUG_CLR_TX2RXCOUNT_MASK)
  82967. #define USBPHY_DEBUG_CLR_ENTX2RXCOUNT_MASK (0x1000U)
  82968. #define USBPHY_DEBUG_CLR_ENTX2RXCOUNT_SHIFT (12U)
  82969. /*! ENTX2RXCOUNT - ENTX2RXCOUNT
  82970. */
  82971. #define USBPHY_DEBUG_CLR_ENTX2RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLR_ENTX2RXCOUNT_SHIFT)) & USBPHY_DEBUG_CLR_ENTX2RXCOUNT_MASK)
  82972. #define USBPHY_DEBUG_CLR_SQUELCHRESETCOUNT_MASK (0x1F0000U)
  82973. #define USBPHY_DEBUG_CLR_SQUELCHRESETCOUNT_SHIFT (16U)
  82974. /*! SQUELCHRESETCOUNT - SQUELCHRESETCOUNT
  82975. */
  82976. #define USBPHY_DEBUG_CLR_SQUELCHRESETCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLR_SQUELCHRESETCOUNT_SHIFT)) & USBPHY_DEBUG_CLR_SQUELCHRESETCOUNT_MASK)
  82977. #define USBPHY_DEBUG_CLR_ENSQUELCHRESET_MASK (0x1000000U)
  82978. #define USBPHY_DEBUG_CLR_ENSQUELCHRESET_SHIFT (24U)
  82979. /*! ENSQUELCHRESET - ENSQUELCHRESET
  82980. */
  82981. #define USBPHY_DEBUG_CLR_ENSQUELCHRESET(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLR_ENSQUELCHRESET_SHIFT)) & USBPHY_DEBUG_CLR_ENSQUELCHRESET_MASK)
  82982. #define USBPHY_DEBUG_CLR_SQUELCHRESETLENGTH_MASK (0x1E000000U)
  82983. #define USBPHY_DEBUG_CLR_SQUELCHRESETLENGTH_SHIFT (25U)
  82984. /*! SQUELCHRESETLENGTH - SQUELCHRESETLENGTH
  82985. */
  82986. #define USBPHY_DEBUG_CLR_SQUELCHRESETLENGTH(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLR_SQUELCHRESETLENGTH_SHIFT)) & USBPHY_DEBUG_CLR_SQUELCHRESETLENGTH_MASK)
  82987. #define USBPHY_DEBUG_CLR_HOST_RESUME_DEBUG_MASK (0x20000000U)
  82988. #define USBPHY_DEBUG_CLR_HOST_RESUME_DEBUG_SHIFT (29U)
  82989. /*! HOST_RESUME_DEBUG - HOST_RESUME_DEBUG
  82990. */
  82991. #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)
  82992. #define USBPHY_DEBUG_CLR_CLKGATE_MASK (0x40000000U)
  82993. #define USBPHY_DEBUG_CLR_CLKGATE_SHIFT (30U)
  82994. /*! CLKGATE - CLKGATE
  82995. */
  82996. #define USBPHY_DEBUG_CLR_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLR_CLKGATE_SHIFT)) & USBPHY_DEBUG_CLR_CLKGATE_MASK)
  82997. /*! @} */
  82998. /*! @name DEBUG_TOG - USB PHY Debug Register */
  82999. /*! @{ */
  83000. #define USBPHY_DEBUG_TOG_OTGIDPIOLOCK_MASK (0x1U)
  83001. #define USBPHY_DEBUG_TOG_OTGIDPIOLOCK_SHIFT (0U)
  83002. /*! OTGIDPIOLOCK - OTGIDPIOLOCK
  83003. */
  83004. #define USBPHY_DEBUG_TOG_OTGIDPIOLOCK(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TOG_OTGIDPIOLOCK_SHIFT)) & USBPHY_DEBUG_TOG_OTGIDPIOLOCK_MASK)
  83005. #define USBPHY_DEBUG_TOG_DEBUG_INTERFACE_HOLD_MASK (0x2U)
  83006. #define USBPHY_DEBUG_TOG_DEBUG_INTERFACE_HOLD_SHIFT (1U)
  83007. /*! DEBUG_INTERFACE_HOLD - DEBUG_INTERFACE_HOLD
  83008. */
  83009. #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)
  83010. #define USBPHY_DEBUG_TOG_HSTPULLDOWN_MASK (0xCU)
  83011. #define USBPHY_DEBUG_TOG_HSTPULLDOWN_SHIFT (2U)
  83012. /*! HSTPULLDOWN - HSTPULLDOWN
  83013. */
  83014. #define USBPHY_DEBUG_TOG_HSTPULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TOG_HSTPULLDOWN_SHIFT)) & USBPHY_DEBUG_TOG_HSTPULLDOWN_MASK)
  83015. #define USBPHY_DEBUG_TOG_ENHSTPULLDOWN_MASK (0x30U)
  83016. #define USBPHY_DEBUG_TOG_ENHSTPULLDOWN_SHIFT (4U)
  83017. /*! ENHSTPULLDOWN - ENHSTPULLDOWN
  83018. */
  83019. #define USBPHY_DEBUG_TOG_ENHSTPULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TOG_ENHSTPULLDOWN_SHIFT)) & USBPHY_DEBUG_TOG_ENHSTPULLDOWN_MASK)
  83020. #define USBPHY_DEBUG_TOG_TX2RXCOUNT_MASK (0xF00U)
  83021. #define USBPHY_DEBUG_TOG_TX2RXCOUNT_SHIFT (8U)
  83022. /*! TX2RXCOUNT - TX2RXCOUNT
  83023. */
  83024. #define USBPHY_DEBUG_TOG_TX2RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TOG_TX2RXCOUNT_SHIFT)) & USBPHY_DEBUG_TOG_TX2RXCOUNT_MASK)
  83025. #define USBPHY_DEBUG_TOG_ENTX2RXCOUNT_MASK (0x1000U)
  83026. #define USBPHY_DEBUG_TOG_ENTX2RXCOUNT_SHIFT (12U)
  83027. /*! ENTX2RXCOUNT - ENTX2RXCOUNT
  83028. */
  83029. #define USBPHY_DEBUG_TOG_ENTX2RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TOG_ENTX2RXCOUNT_SHIFT)) & USBPHY_DEBUG_TOG_ENTX2RXCOUNT_MASK)
  83030. #define USBPHY_DEBUG_TOG_SQUELCHRESETCOUNT_MASK (0x1F0000U)
  83031. #define USBPHY_DEBUG_TOG_SQUELCHRESETCOUNT_SHIFT (16U)
  83032. /*! SQUELCHRESETCOUNT - SQUELCHRESETCOUNT
  83033. */
  83034. #define USBPHY_DEBUG_TOG_SQUELCHRESETCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TOG_SQUELCHRESETCOUNT_SHIFT)) & USBPHY_DEBUG_TOG_SQUELCHRESETCOUNT_MASK)
  83035. #define USBPHY_DEBUG_TOG_ENSQUELCHRESET_MASK (0x1000000U)
  83036. #define USBPHY_DEBUG_TOG_ENSQUELCHRESET_SHIFT (24U)
  83037. /*! ENSQUELCHRESET - ENSQUELCHRESET
  83038. */
  83039. #define USBPHY_DEBUG_TOG_ENSQUELCHRESET(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TOG_ENSQUELCHRESET_SHIFT)) & USBPHY_DEBUG_TOG_ENSQUELCHRESET_MASK)
  83040. #define USBPHY_DEBUG_TOG_SQUELCHRESETLENGTH_MASK (0x1E000000U)
  83041. #define USBPHY_DEBUG_TOG_SQUELCHRESETLENGTH_SHIFT (25U)
  83042. /*! SQUELCHRESETLENGTH - SQUELCHRESETLENGTH
  83043. */
  83044. #define USBPHY_DEBUG_TOG_SQUELCHRESETLENGTH(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TOG_SQUELCHRESETLENGTH_SHIFT)) & USBPHY_DEBUG_TOG_SQUELCHRESETLENGTH_MASK)
  83045. #define USBPHY_DEBUG_TOG_HOST_RESUME_DEBUG_MASK (0x20000000U)
  83046. #define USBPHY_DEBUG_TOG_HOST_RESUME_DEBUG_SHIFT (29U)
  83047. /*! HOST_RESUME_DEBUG - HOST_RESUME_DEBUG
  83048. */
  83049. #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)
  83050. #define USBPHY_DEBUG_TOG_CLKGATE_MASK (0x40000000U)
  83051. #define USBPHY_DEBUG_TOG_CLKGATE_SHIFT (30U)
  83052. /*! CLKGATE - CLKGATE
  83053. */
  83054. #define USBPHY_DEBUG_TOG_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TOG_CLKGATE_SHIFT)) & USBPHY_DEBUG_TOG_CLKGATE_MASK)
  83055. /*! @} */
  83056. /*! @name DEBUG0_STATUS - UTMI Debug Status Register 0 */
  83057. /*! @{ */
  83058. #define USBPHY_DEBUG0_STATUS_LOOP_BACK_FAIL_COUNT_MASK (0xFFFFU)
  83059. #define USBPHY_DEBUG0_STATUS_LOOP_BACK_FAIL_COUNT_SHIFT (0U)
  83060. /*! LOOP_BACK_FAIL_COUNT - LOOP_BACK_FAIL_COUNT
  83061. */
  83062. #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)
  83063. #define USBPHY_DEBUG0_STATUS_UTMI_RXERROR_FAIL_COUNT_MASK (0x3FF0000U)
  83064. #define USBPHY_DEBUG0_STATUS_UTMI_RXERROR_FAIL_COUNT_SHIFT (16U)
  83065. /*! UTMI_RXERROR_FAIL_COUNT - UTMI_RXERROR_FAIL_COUNT
  83066. */
  83067. #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)
  83068. #define USBPHY_DEBUG0_STATUS_SQUELCH_COUNT_MASK (0xFC000000U)
  83069. #define USBPHY_DEBUG0_STATUS_SQUELCH_COUNT_SHIFT (26U)
  83070. /*! SQUELCH_COUNT - SQUELCH_COUNT
  83071. */
  83072. #define USBPHY_DEBUG0_STATUS_SQUELCH_COUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG0_STATUS_SQUELCH_COUNT_SHIFT)) & USBPHY_DEBUG0_STATUS_SQUELCH_COUNT_MASK)
  83073. /*! @} */
  83074. /*! @name DEBUG1 - UTMI Debug Status Register 1 */
  83075. /*! @{ */
  83076. #define USBPHY_DEBUG1_ENTAILADJVD_MASK (0x6000U)
  83077. #define USBPHY_DEBUG1_ENTAILADJVD_SHIFT (13U)
  83078. /*! ENTAILADJVD - ENTAILADJVD
  83079. * 0b00..Delay is nominal
  83080. * 0b01..Delay is +20%
  83081. * 0b10..Delay is -20%
  83082. * 0b11..Delay is -40%
  83083. */
  83084. #define USBPHY_DEBUG1_ENTAILADJVD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_ENTAILADJVD_SHIFT)) & USBPHY_DEBUG1_ENTAILADJVD_MASK)
  83085. #define USBPHY_DEBUG1_USB2_REFBIAS_SELFBIASOFF_MASK (0x8000U)
  83086. #define USBPHY_DEBUG1_USB2_REFBIAS_SELFBIASOFF_SHIFT (15U)
  83087. /*! 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.
  83088. */
  83089. #define USBPHY_DEBUG1_USB2_REFBIAS_SELFBIASOFF(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_USB2_REFBIAS_SELFBIASOFF_SHIFT)) & USBPHY_DEBUG1_USB2_REFBIAS_SELFBIASOFF_MASK)
  83090. #define USBPHY_DEBUG1_USB2_REFBIAS_PWDVBGUP_MASK (0x10000U)
  83091. #define USBPHY_DEBUG1_USB2_REFBIAS_PWDVBGUP_SHIFT (16U)
  83092. /*! USB2_REFBIAS_PWDVBGUP - Powers down the bandgap detect logic, will affect vbgup on misc1 register.
  83093. */
  83094. #define USBPHY_DEBUG1_USB2_REFBIAS_PWDVBGUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_USB2_REFBIAS_PWDVBGUP_SHIFT)) & USBPHY_DEBUG1_USB2_REFBIAS_PWDVBGUP_MASK)
  83095. #define USBPHY_DEBUG1_USB2_REFBIAS_LOWPWR_MASK (0x20000U)
  83096. #define USBPHY_DEBUG1_USB2_REFBIAS_LOWPWR_SHIFT (17U)
  83097. /*! USB2_REFBIAS_LOWPWR - to be added
  83098. */
  83099. #define USBPHY_DEBUG1_USB2_REFBIAS_LOWPWR(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_USB2_REFBIAS_LOWPWR_SHIFT)) & USBPHY_DEBUG1_USB2_REFBIAS_LOWPWR_MASK)
  83100. #define USBPHY_DEBUG1_USB2_REFBIAS_VBGADJ_MASK (0x1C0000U)
  83101. #define USBPHY_DEBUG1_USB2_REFBIAS_VBGADJ_SHIFT (18U)
  83102. /*! USB2_REFBIAS_VBGADJ - Adjustment bits on bandgap
  83103. */
  83104. #define USBPHY_DEBUG1_USB2_REFBIAS_VBGADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_USB2_REFBIAS_VBGADJ_SHIFT)) & USBPHY_DEBUG1_USB2_REFBIAS_VBGADJ_MASK)
  83105. #define USBPHY_DEBUG1_USB2_REFBIAS_TST_MASK (0x600000U)
  83106. #define USBPHY_DEBUG1_USB2_REFBIAS_TST_SHIFT (21U)
  83107. /*! USB2_REFBIAS_TST - Bias current control for usb2_phy
  83108. */
  83109. #define USBPHY_DEBUG1_USB2_REFBIAS_TST(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_USB2_REFBIAS_TST_SHIFT)) & USBPHY_DEBUG1_USB2_REFBIAS_TST_MASK)
  83110. /*! @} */
  83111. /*! @name DEBUG1_SET - UTMI Debug Status Register 1 */
  83112. /*! @{ */
  83113. #define USBPHY_DEBUG1_SET_ENTAILADJVD_MASK (0x6000U)
  83114. #define USBPHY_DEBUG1_SET_ENTAILADJVD_SHIFT (13U)
  83115. /*! ENTAILADJVD - ENTAILADJVD
  83116. */
  83117. #define USBPHY_DEBUG1_SET_ENTAILADJVD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_SET_ENTAILADJVD_SHIFT)) & USBPHY_DEBUG1_SET_ENTAILADJVD_MASK)
  83118. #define USBPHY_DEBUG1_SET_USB2_REFBIAS_SELFBIASOFF_MASK (0x8000U)
  83119. #define USBPHY_DEBUG1_SET_USB2_REFBIAS_SELFBIASOFF_SHIFT (15U)
  83120. /*! 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.
  83121. */
  83122. #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)
  83123. #define USBPHY_DEBUG1_SET_USB2_REFBIAS_PWDVBGUP_MASK (0x10000U)
  83124. #define USBPHY_DEBUG1_SET_USB2_REFBIAS_PWDVBGUP_SHIFT (16U)
  83125. /*! USB2_REFBIAS_PWDVBGUP - Powers down the bandgap detect logic, will affect vbgup on misc1 register.
  83126. */
  83127. #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)
  83128. #define USBPHY_DEBUG1_SET_USB2_REFBIAS_LOWPWR_MASK (0x20000U)
  83129. #define USBPHY_DEBUG1_SET_USB2_REFBIAS_LOWPWR_SHIFT (17U)
  83130. /*! USB2_REFBIAS_LOWPWR - to be added
  83131. */
  83132. #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)
  83133. #define USBPHY_DEBUG1_SET_USB2_REFBIAS_VBGADJ_MASK (0x1C0000U)
  83134. #define USBPHY_DEBUG1_SET_USB2_REFBIAS_VBGADJ_SHIFT (18U)
  83135. /*! USB2_REFBIAS_VBGADJ - Adjustment bits on bandgap
  83136. */
  83137. #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)
  83138. #define USBPHY_DEBUG1_SET_USB2_REFBIAS_TST_MASK (0x600000U)
  83139. #define USBPHY_DEBUG1_SET_USB2_REFBIAS_TST_SHIFT (21U)
  83140. /*! USB2_REFBIAS_TST - Bias current control for usb2_phy
  83141. */
  83142. #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)
  83143. /*! @} */
  83144. /*! @name DEBUG1_CLR - UTMI Debug Status Register 1 */
  83145. /*! @{ */
  83146. #define USBPHY_DEBUG1_CLR_ENTAILADJVD_MASK (0x6000U)
  83147. #define USBPHY_DEBUG1_CLR_ENTAILADJVD_SHIFT (13U)
  83148. /*! ENTAILADJVD - ENTAILADJVD
  83149. */
  83150. #define USBPHY_DEBUG1_CLR_ENTAILADJVD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_CLR_ENTAILADJVD_SHIFT)) & USBPHY_DEBUG1_CLR_ENTAILADJVD_MASK)
  83151. #define USBPHY_DEBUG1_CLR_USB2_REFBIAS_SELFBIASOFF_MASK (0x8000U)
  83152. #define USBPHY_DEBUG1_CLR_USB2_REFBIAS_SELFBIASOFF_SHIFT (15U)
  83153. /*! 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.
  83154. */
  83155. #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)
  83156. #define USBPHY_DEBUG1_CLR_USB2_REFBIAS_PWDVBGUP_MASK (0x10000U)
  83157. #define USBPHY_DEBUG1_CLR_USB2_REFBIAS_PWDVBGUP_SHIFT (16U)
  83158. /*! USB2_REFBIAS_PWDVBGUP - Powers down the bandgap detect logic, will affect vbgup on misc1 register.
  83159. */
  83160. #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)
  83161. #define USBPHY_DEBUG1_CLR_USB2_REFBIAS_LOWPWR_MASK (0x20000U)
  83162. #define USBPHY_DEBUG1_CLR_USB2_REFBIAS_LOWPWR_SHIFT (17U)
  83163. /*! USB2_REFBIAS_LOWPWR - to be added
  83164. */
  83165. #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)
  83166. #define USBPHY_DEBUG1_CLR_USB2_REFBIAS_VBGADJ_MASK (0x1C0000U)
  83167. #define USBPHY_DEBUG1_CLR_USB2_REFBIAS_VBGADJ_SHIFT (18U)
  83168. /*! USB2_REFBIAS_VBGADJ - Adjustment bits on bandgap
  83169. */
  83170. #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)
  83171. #define USBPHY_DEBUG1_CLR_USB2_REFBIAS_TST_MASK (0x600000U)
  83172. #define USBPHY_DEBUG1_CLR_USB2_REFBIAS_TST_SHIFT (21U)
  83173. /*! USB2_REFBIAS_TST - Bias current control for usb2_phy
  83174. */
  83175. #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)
  83176. /*! @} */
  83177. /*! @name DEBUG1_TOG - UTMI Debug Status Register 1 */
  83178. /*! @{ */
  83179. #define USBPHY_DEBUG1_TOG_ENTAILADJVD_MASK (0x6000U)
  83180. #define USBPHY_DEBUG1_TOG_ENTAILADJVD_SHIFT (13U)
  83181. /*! ENTAILADJVD - ENTAILADJVD
  83182. */
  83183. #define USBPHY_DEBUG1_TOG_ENTAILADJVD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_TOG_ENTAILADJVD_SHIFT)) & USBPHY_DEBUG1_TOG_ENTAILADJVD_MASK)
  83184. #define USBPHY_DEBUG1_TOG_USB2_REFBIAS_SELFBIASOFF_MASK (0x8000U)
  83185. #define USBPHY_DEBUG1_TOG_USB2_REFBIAS_SELFBIASOFF_SHIFT (15U)
  83186. /*! 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.
  83187. */
  83188. #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)
  83189. #define USBPHY_DEBUG1_TOG_USB2_REFBIAS_PWDVBGUP_MASK (0x10000U)
  83190. #define USBPHY_DEBUG1_TOG_USB2_REFBIAS_PWDVBGUP_SHIFT (16U)
  83191. /*! USB2_REFBIAS_PWDVBGUP - Powers down the bandgap detect logic, will affect vbgup on misc1 register.
  83192. */
  83193. #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)
  83194. #define USBPHY_DEBUG1_TOG_USB2_REFBIAS_LOWPWR_MASK (0x20000U)
  83195. #define USBPHY_DEBUG1_TOG_USB2_REFBIAS_LOWPWR_SHIFT (17U)
  83196. /*! USB2_REFBIAS_LOWPWR - to be added
  83197. */
  83198. #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)
  83199. #define USBPHY_DEBUG1_TOG_USB2_REFBIAS_VBGADJ_MASK (0x1C0000U)
  83200. #define USBPHY_DEBUG1_TOG_USB2_REFBIAS_VBGADJ_SHIFT (18U)
  83201. /*! USB2_REFBIAS_VBGADJ - Adjustment bits on bandgap
  83202. */
  83203. #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)
  83204. #define USBPHY_DEBUG1_TOG_USB2_REFBIAS_TST_MASK (0x600000U)
  83205. #define USBPHY_DEBUG1_TOG_USB2_REFBIAS_TST_SHIFT (21U)
  83206. /*! USB2_REFBIAS_TST - Bias current control for usb2_phy
  83207. */
  83208. #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)
  83209. /*! @} */
  83210. /*! @name VERSION - UTMI RTL Version */
  83211. /*! @{ */
  83212. #define USBPHY_VERSION_STEP_MASK (0xFFFFU)
  83213. #define USBPHY_VERSION_STEP_SHIFT (0U)
  83214. /*! STEP - STEP
  83215. */
  83216. #define USBPHY_VERSION_STEP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_VERSION_STEP_SHIFT)) & USBPHY_VERSION_STEP_MASK)
  83217. #define USBPHY_VERSION_MINOR_MASK (0xFF0000U)
  83218. #define USBPHY_VERSION_MINOR_SHIFT (16U)
  83219. /*! MINOR - MINOR
  83220. */
  83221. #define USBPHY_VERSION_MINOR(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_VERSION_MINOR_SHIFT)) & USBPHY_VERSION_MINOR_MASK)
  83222. #define USBPHY_VERSION_MAJOR_MASK (0xFF000000U)
  83223. #define USBPHY_VERSION_MAJOR_SHIFT (24U)
  83224. /*! MAJOR - MAJOR
  83225. */
  83226. #define USBPHY_VERSION_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_VERSION_MAJOR_SHIFT)) & USBPHY_VERSION_MAJOR_MASK)
  83227. /*! @} */
  83228. /*! @name PLL_SIC - USB PHY PLL Control/Status Register */
  83229. /*! @{ */
  83230. #define USBPHY_PLL_SIC_PLL_POSTDIV_MASK (0x1CU)
  83231. #define USBPHY_PLL_SIC_PLL_POSTDIV_SHIFT (2U)
  83232. /*! PLL_POSTDIV - PLL_POSTDIV
  83233. */
  83234. #define USBPHY_PLL_SIC_PLL_POSTDIV(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_PLL_POSTDIV_SHIFT)) & USBPHY_PLL_SIC_PLL_POSTDIV_MASK)
  83235. #define USBPHY_PLL_SIC_PLL_EN_USB_CLKS_MASK (0x40U)
  83236. #define USBPHY_PLL_SIC_PLL_EN_USB_CLKS_SHIFT (6U)
  83237. /*! PLL_EN_USB_CLKS - PLL_EN_USB_CLKS
  83238. */
  83239. #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)
  83240. #define USBPHY_PLL_SIC_PLL_POWER_MASK (0x1000U)
  83241. #define USBPHY_PLL_SIC_PLL_POWER_SHIFT (12U)
  83242. /*! PLL_POWER - PLL_POWER
  83243. */
  83244. #define USBPHY_PLL_SIC_PLL_POWER(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_PLL_POWER_SHIFT)) & USBPHY_PLL_SIC_PLL_POWER_MASK)
  83245. #define USBPHY_PLL_SIC_PLL_ENABLE_MASK (0x2000U)
  83246. #define USBPHY_PLL_SIC_PLL_ENABLE_SHIFT (13U)
  83247. /*! PLL_ENABLE - PLL_ENABLE
  83248. */
  83249. #define USBPHY_PLL_SIC_PLL_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_PLL_ENABLE_SHIFT)) & USBPHY_PLL_SIC_PLL_ENABLE_MASK)
  83250. #define USBPHY_PLL_SIC_PLL_BYPASS_MASK (0x10000U)
  83251. #define USBPHY_PLL_SIC_PLL_BYPASS_SHIFT (16U)
  83252. /*! PLL_BYPASS - PLL_BYPASS
  83253. */
  83254. #define USBPHY_PLL_SIC_PLL_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_PLL_BYPASS_SHIFT)) & USBPHY_PLL_SIC_PLL_BYPASS_MASK)
  83255. #define USBPHY_PLL_SIC_REFBIAS_PWD_SEL_MASK (0x80000U)
  83256. #define USBPHY_PLL_SIC_REFBIAS_PWD_SEL_SHIFT (19U)
  83257. /*! REFBIAS_PWD_SEL - REFBIAS_PWD_SEL
  83258. * 0b0..Selects PLL_POWER to control the reference bias
  83259. * 0b1..Selects REFBIAS_PWD to control the reference bias.
  83260. */
  83261. #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)
  83262. #define USBPHY_PLL_SIC_REFBIAS_PWD_MASK (0x100000U)
  83263. #define USBPHY_PLL_SIC_REFBIAS_PWD_SHIFT (20U)
  83264. /*! REFBIAS_PWD - Power down the reference bias
  83265. */
  83266. #define USBPHY_PLL_SIC_REFBIAS_PWD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_REFBIAS_PWD_SHIFT)) & USBPHY_PLL_SIC_REFBIAS_PWD_MASK)
  83267. #define USBPHY_PLL_SIC_PLL_REG_ENABLE_MASK (0x200000U)
  83268. #define USBPHY_PLL_SIC_PLL_REG_ENABLE_SHIFT (21U)
  83269. /*! PLL_REG_ENABLE - PLL_REG_ENABLE
  83270. */
  83271. #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)
  83272. #define USBPHY_PLL_SIC_PLL_DIV_SEL_MASK (0x1C00000U)
  83273. #define USBPHY_PLL_SIC_PLL_DIV_SEL_SHIFT (22U)
  83274. /*! PLL_DIV_SEL - PLL_DIV_SEL
  83275. * 0b000..Divide by 13
  83276. * 0b001..Divide by 15
  83277. * 0b010..Divide by 16
  83278. * 0b011..Divide by 20
  83279. * 0b100..Divide by 22
  83280. * 0b101..Divide by 25
  83281. * 0b110..Divide by 30
  83282. * 0b111..Divide by 240
  83283. */
  83284. #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)
  83285. #define USBPHY_PLL_SIC_PLL_LOCK_MASK (0x80000000U)
  83286. #define USBPHY_PLL_SIC_PLL_LOCK_SHIFT (31U)
  83287. /*! PLL_LOCK - PLL_LOCK
  83288. * 0b0..PLL is not currently locked
  83289. * 0b1..PLL is currently locked
  83290. */
  83291. #define USBPHY_PLL_SIC_PLL_LOCK(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_PLL_LOCK_SHIFT)) & USBPHY_PLL_SIC_PLL_LOCK_MASK)
  83292. /*! @} */
  83293. /*! @name PLL_SIC_SET - USB PHY PLL Control/Status Register */
  83294. /*! @{ */
  83295. #define USBPHY_PLL_SIC_SET_PLL_POSTDIV_MASK (0x1CU)
  83296. #define USBPHY_PLL_SIC_SET_PLL_POSTDIV_SHIFT (2U)
  83297. /*! PLL_POSTDIV - PLL_POSTDIV
  83298. */
  83299. #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)
  83300. #define USBPHY_PLL_SIC_SET_PLL_EN_USB_CLKS_MASK (0x40U)
  83301. #define USBPHY_PLL_SIC_SET_PLL_EN_USB_CLKS_SHIFT (6U)
  83302. /*! PLL_EN_USB_CLKS - PLL_EN_USB_CLKS
  83303. */
  83304. #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)
  83305. #define USBPHY_PLL_SIC_SET_PLL_POWER_MASK (0x1000U)
  83306. #define USBPHY_PLL_SIC_SET_PLL_POWER_SHIFT (12U)
  83307. /*! PLL_POWER - PLL_POWER
  83308. */
  83309. #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)
  83310. #define USBPHY_PLL_SIC_SET_PLL_ENABLE_MASK (0x2000U)
  83311. #define USBPHY_PLL_SIC_SET_PLL_ENABLE_SHIFT (13U)
  83312. /*! PLL_ENABLE - PLL_ENABLE
  83313. */
  83314. #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)
  83315. #define USBPHY_PLL_SIC_SET_PLL_BYPASS_MASK (0x10000U)
  83316. #define USBPHY_PLL_SIC_SET_PLL_BYPASS_SHIFT (16U)
  83317. /*! PLL_BYPASS - PLL_BYPASS
  83318. */
  83319. #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)
  83320. #define USBPHY_PLL_SIC_SET_REFBIAS_PWD_SEL_MASK (0x80000U)
  83321. #define USBPHY_PLL_SIC_SET_REFBIAS_PWD_SEL_SHIFT (19U)
  83322. /*! REFBIAS_PWD_SEL - REFBIAS_PWD_SEL
  83323. */
  83324. #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)
  83325. #define USBPHY_PLL_SIC_SET_REFBIAS_PWD_MASK (0x100000U)
  83326. #define USBPHY_PLL_SIC_SET_REFBIAS_PWD_SHIFT (20U)
  83327. /*! REFBIAS_PWD - Power down the reference bias
  83328. */
  83329. #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)
  83330. #define USBPHY_PLL_SIC_SET_PLL_REG_ENABLE_MASK (0x200000U)
  83331. #define USBPHY_PLL_SIC_SET_PLL_REG_ENABLE_SHIFT (21U)
  83332. /*! PLL_REG_ENABLE - PLL_REG_ENABLE
  83333. */
  83334. #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)
  83335. #define USBPHY_PLL_SIC_SET_PLL_DIV_SEL_MASK (0x1C00000U)
  83336. #define USBPHY_PLL_SIC_SET_PLL_DIV_SEL_SHIFT (22U)
  83337. /*! PLL_DIV_SEL - PLL_DIV_SEL
  83338. */
  83339. #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)
  83340. #define USBPHY_PLL_SIC_SET_PLL_LOCK_MASK (0x80000000U)
  83341. #define USBPHY_PLL_SIC_SET_PLL_LOCK_SHIFT (31U)
  83342. /*! PLL_LOCK - PLL_LOCK
  83343. */
  83344. #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)
  83345. /*! @} */
  83346. /*! @name PLL_SIC_CLR - USB PHY PLL Control/Status Register */
  83347. /*! @{ */
  83348. #define USBPHY_PLL_SIC_CLR_PLL_POSTDIV_MASK (0x1CU)
  83349. #define USBPHY_PLL_SIC_CLR_PLL_POSTDIV_SHIFT (2U)
  83350. /*! PLL_POSTDIV - PLL_POSTDIV
  83351. */
  83352. #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)
  83353. #define USBPHY_PLL_SIC_CLR_PLL_EN_USB_CLKS_MASK (0x40U)
  83354. #define USBPHY_PLL_SIC_CLR_PLL_EN_USB_CLKS_SHIFT (6U)
  83355. /*! PLL_EN_USB_CLKS - PLL_EN_USB_CLKS
  83356. */
  83357. #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)
  83358. #define USBPHY_PLL_SIC_CLR_PLL_POWER_MASK (0x1000U)
  83359. #define USBPHY_PLL_SIC_CLR_PLL_POWER_SHIFT (12U)
  83360. /*! PLL_POWER - PLL_POWER
  83361. */
  83362. #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)
  83363. #define USBPHY_PLL_SIC_CLR_PLL_ENABLE_MASK (0x2000U)
  83364. #define USBPHY_PLL_SIC_CLR_PLL_ENABLE_SHIFT (13U)
  83365. /*! PLL_ENABLE - PLL_ENABLE
  83366. */
  83367. #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)
  83368. #define USBPHY_PLL_SIC_CLR_PLL_BYPASS_MASK (0x10000U)
  83369. #define USBPHY_PLL_SIC_CLR_PLL_BYPASS_SHIFT (16U)
  83370. /*! PLL_BYPASS - PLL_BYPASS
  83371. */
  83372. #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)
  83373. #define USBPHY_PLL_SIC_CLR_REFBIAS_PWD_SEL_MASK (0x80000U)
  83374. #define USBPHY_PLL_SIC_CLR_REFBIAS_PWD_SEL_SHIFT (19U)
  83375. /*! REFBIAS_PWD_SEL - REFBIAS_PWD_SEL
  83376. */
  83377. #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)
  83378. #define USBPHY_PLL_SIC_CLR_REFBIAS_PWD_MASK (0x100000U)
  83379. #define USBPHY_PLL_SIC_CLR_REFBIAS_PWD_SHIFT (20U)
  83380. /*! REFBIAS_PWD - Power down the reference bias
  83381. */
  83382. #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)
  83383. #define USBPHY_PLL_SIC_CLR_PLL_REG_ENABLE_MASK (0x200000U)
  83384. #define USBPHY_PLL_SIC_CLR_PLL_REG_ENABLE_SHIFT (21U)
  83385. /*! PLL_REG_ENABLE - PLL_REG_ENABLE
  83386. */
  83387. #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)
  83388. #define USBPHY_PLL_SIC_CLR_PLL_DIV_SEL_MASK (0x1C00000U)
  83389. #define USBPHY_PLL_SIC_CLR_PLL_DIV_SEL_SHIFT (22U)
  83390. /*! PLL_DIV_SEL - PLL_DIV_SEL
  83391. */
  83392. #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)
  83393. #define USBPHY_PLL_SIC_CLR_PLL_LOCK_MASK (0x80000000U)
  83394. #define USBPHY_PLL_SIC_CLR_PLL_LOCK_SHIFT (31U)
  83395. /*! PLL_LOCK - PLL_LOCK
  83396. */
  83397. #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)
  83398. /*! @} */
  83399. /*! @name PLL_SIC_TOG - USB PHY PLL Control/Status Register */
  83400. /*! @{ */
  83401. #define USBPHY_PLL_SIC_TOG_PLL_POSTDIV_MASK (0x1CU)
  83402. #define USBPHY_PLL_SIC_TOG_PLL_POSTDIV_SHIFT (2U)
  83403. /*! PLL_POSTDIV - PLL_POSTDIV
  83404. */
  83405. #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)
  83406. #define USBPHY_PLL_SIC_TOG_PLL_EN_USB_CLKS_MASK (0x40U)
  83407. #define USBPHY_PLL_SIC_TOG_PLL_EN_USB_CLKS_SHIFT (6U)
  83408. /*! PLL_EN_USB_CLKS - PLL_EN_USB_CLKS
  83409. */
  83410. #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)
  83411. #define USBPHY_PLL_SIC_TOG_PLL_POWER_MASK (0x1000U)
  83412. #define USBPHY_PLL_SIC_TOG_PLL_POWER_SHIFT (12U)
  83413. /*! PLL_POWER - PLL_POWER
  83414. */
  83415. #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)
  83416. #define USBPHY_PLL_SIC_TOG_PLL_ENABLE_MASK (0x2000U)
  83417. #define USBPHY_PLL_SIC_TOG_PLL_ENABLE_SHIFT (13U)
  83418. /*! PLL_ENABLE - PLL_ENABLE
  83419. */
  83420. #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)
  83421. #define USBPHY_PLL_SIC_TOG_PLL_BYPASS_MASK (0x10000U)
  83422. #define USBPHY_PLL_SIC_TOG_PLL_BYPASS_SHIFT (16U)
  83423. /*! PLL_BYPASS - PLL_BYPASS
  83424. */
  83425. #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)
  83426. #define USBPHY_PLL_SIC_TOG_REFBIAS_PWD_SEL_MASK (0x80000U)
  83427. #define USBPHY_PLL_SIC_TOG_REFBIAS_PWD_SEL_SHIFT (19U)
  83428. /*! REFBIAS_PWD_SEL - REFBIAS_PWD_SEL
  83429. */
  83430. #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)
  83431. #define USBPHY_PLL_SIC_TOG_REFBIAS_PWD_MASK (0x100000U)
  83432. #define USBPHY_PLL_SIC_TOG_REFBIAS_PWD_SHIFT (20U)
  83433. /*! REFBIAS_PWD - Power down the reference bias
  83434. */
  83435. #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)
  83436. #define USBPHY_PLL_SIC_TOG_PLL_REG_ENABLE_MASK (0x200000U)
  83437. #define USBPHY_PLL_SIC_TOG_PLL_REG_ENABLE_SHIFT (21U)
  83438. /*! PLL_REG_ENABLE - PLL_REG_ENABLE
  83439. */
  83440. #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)
  83441. #define USBPHY_PLL_SIC_TOG_PLL_DIV_SEL_MASK (0x1C00000U)
  83442. #define USBPHY_PLL_SIC_TOG_PLL_DIV_SEL_SHIFT (22U)
  83443. /*! PLL_DIV_SEL - PLL_DIV_SEL
  83444. */
  83445. #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)
  83446. #define USBPHY_PLL_SIC_TOG_PLL_LOCK_MASK (0x80000000U)
  83447. #define USBPHY_PLL_SIC_TOG_PLL_LOCK_SHIFT (31U)
  83448. /*! PLL_LOCK - PLL_LOCK
  83449. */
  83450. #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)
  83451. /*! @} */
  83452. /*! @name USB1_VBUS_DETECT - USB PHY VBUS Detect Control Register */
  83453. /*! @{ */
  83454. #define USBPHY_USB1_VBUS_DETECT_VBUSVALID_THRESH_MASK (0x7U)
  83455. #define USBPHY_USB1_VBUS_DETECT_VBUSVALID_THRESH_SHIFT (0U)
  83456. /*! VBUSVALID_THRESH - VBUSVALID_THRESH
  83457. * 0b000..4.0 V
  83458. * 0b001..4.1 V
  83459. * 0b010..4.2 V
  83460. * 0b011..4.3 V
  83461. * 0b100..4.4 V (Default)
  83462. * 0b101..4.5 V
  83463. * 0b110..4.6 V
  83464. * 0b111..4.7 V
  83465. */
  83466. #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)
  83467. #define USBPHY_USB1_VBUS_DETECT_VBUS_OVERRIDE_EN_MASK (0x8U)
  83468. #define USBPHY_USB1_VBUS_DETECT_VBUS_OVERRIDE_EN_SHIFT (3U)
  83469. /*! VBUS_OVERRIDE_EN - VBUS detect signal override enable
  83470. * 0b0..Use the results of the internal VBUS_VALID and Session Valid comparators for VBUS_VALID, AVALID, BVALID, and SESSEND (Default)
  83471. * 0b1..Use the override values for VBUS_VALID, AVALID, BVALID, and SESSEND
  83472. */
  83473. #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)
  83474. #define USBPHY_USB1_VBUS_DETECT_SESSEND_OVERRIDE_MASK (0x10U)
  83475. #define USBPHY_USB1_VBUS_DETECT_SESSEND_OVERRIDE_SHIFT (4U)
  83476. /*! SESSEND_OVERRIDE - Override value for SESSEND
  83477. */
  83478. #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)
  83479. #define USBPHY_USB1_VBUS_DETECT_BVALID_OVERRIDE_MASK (0x20U)
  83480. #define USBPHY_USB1_VBUS_DETECT_BVALID_OVERRIDE_SHIFT (5U)
  83481. /*! BVALID_OVERRIDE - Override value for B-Device Session Valid
  83482. */
  83483. #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)
  83484. #define USBPHY_USB1_VBUS_DETECT_AVALID_OVERRIDE_MASK (0x40U)
  83485. #define USBPHY_USB1_VBUS_DETECT_AVALID_OVERRIDE_SHIFT (6U)
  83486. /*! AVALID_OVERRIDE - Override value for A-Device Session Valid
  83487. */
  83488. #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)
  83489. #define USBPHY_USB1_VBUS_DETECT_VBUSVALID_OVERRIDE_MASK (0x80U)
  83490. #define USBPHY_USB1_VBUS_DETECT_VBUSVALID_OVERRIDE_SHIFT (7U)
  83491. /*! VBUSVALID_OVERRIDE - Override value for VBUS_VALID signal sent to USB controller
  83492. */
  83493. #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)
  83494. #define USBPHY_USB1_VBUS_DETECT_VBUSVALID_SEL_MASK (0x100U)
  83495. #define USBPHY_USB1_VBUS_DETECT_VBUSVALID_SEL_SHIFT (8U)
  83496. /*! VBUSVALID_SEL - Selects the source of the VBUS_VALID signal reported to the USB controller
  83497. * 0b0..Use the VBUS_VALID comparator results for signal reported to the USB controller (Default)
  83498. * 0b1..Use the VBUS_VALID_3V detector results for signal reported to the USB controller
  83499. */
  83500. #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)
  83501. #define USBPHY_USB1_VBUS_DETECT_VBUS_SOURCE_SEL_MASK (0x600U)
  83502. #define USBPHY_USB1_VBUS_DETECT_VBUS_SOURCE_SEL_SHIFT (9U)
  83503. /*! VBUS_SOURCE_SEL - Selects the source of the VBUS_VALID signal reported to the USB controller
  83504. * 0b00..Use the VBUS_VALID comparator results for signal reported to the USB controller (Default)
  83505. * 0b01..Use the Session Valid comparator results for signal reported to the USB controller
  83506. * 0b10..Use the Session Valid comparator results for signal reported to the USB controller
  83507. * 0b11..Reserved, do not use
  83508. */
  83509. #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)
  83510. #define USBPHY_USB1_VBUS_DETECT_ID_OVERRIDE_EN_MASK (0x800U)
  83511. #define USBPHY_USB1_VBUS_DETECT_ID_OVERRIDE_EN_SHIFT (11U)
  83512. /*! ID_OVERRIDE_EN - TBA
  83513. */
  83514. #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)
  83515. #define USBPHY_USB1_VBUS_DETECT_ID_OVERRIDE_MASK (0x1000U)
  83516. #define USBPHY_USB1_VBUS_DETECT_ID_OVERRIDE_SHIFT (12U)
  83517. /*! ID_OVERRIDE - TBA
  83518. */
  83519. #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)
  83520. #define USBPHY_USB1_VBUS_DETECT_VBUSVALID_TO_SESSVALID_MASK (0x40000U)
  83521. #define USBPHY_USB1_VBUS_DETECT_VBUSVALID_TO_SESSVALID_SHIFT (18U)
  83522. /*! VBUSVALID_TO_SESSVALID - Selects the comparator used for VBUS_VALID
  83523. * 0b0..Use the VBUS_VALID comparator for VBUS_VALID results
  83524. * 0b1..Use the Session End comparator for VBUS_VALID results. The Session End threshold is >0.8V and <4.0V.
  83525. */
  83526. #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)
  83527. #define USBPHY_USB1_VBUS_DETECT_PWRUP_CMPS_MASK (0x700000U)
  83528. #define USBPHY_USB1_VBUS_DETECT_PWRUP_CMPS_SHIFT (20U)
  83529. /*! PWRUP_CMPS - Enables the VBUS_VALID comparator
  83530. * 0b000..Powers down the VBUS_VALID comparator
  83531. * 0b001..Enables the SESS_VALID comparator (default)
  83532. * 0b010..Enables the 3Vdetect (default)
  83533. */
  83534. #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)
  83535. #define USBPHY_USB1_VBUS_DETECT_DISCHARGE_VBUS_MASK (0x4000000U)
  83536. #define USBPHY_USB1_VBUS_DETECT_DISCHARGE_VBUS_SHIFT (26U)
  83537. /*! DISCHARGE_VBUS - Controls VBUS discharge resistor
  83538. * 0b0..VBUS discharge resistor is disabled (Default)
  83539. * 0b1..VBUS discharge resistor is enabled
  83540. */
  83541. #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)
  83542. #define USBPHY_USB1_VBUS_DETECT_EN_CHARGER_RESISTOR_MASK (0x80000000U)
  83543. #define USBPHY_USB1_VBUS_DETECT_EN_CHARGER_RESISTOR_SHIFT (31U)
  83544. /*! EN_CHARGER_RESISTOR - Enables resistors used for an older method of resistive battery charger detection
  83545. * 0b0..Disable resistive charger detection resistors on DP and DP
  83546. * 0b1..Enable resistive charger detection resistors on DP and DP
  83547. */
  83548. #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)
  83549. /*! @} */
  83550. /*! @name USB1_VBUS_DETECT_SET - USB PHY VBUS Detect Control Register */
  83551. /*! @{ */
  83552. #define USBPHY_USB1_VBUS_DETECT_SET_VBUSVALID_THRESH_MASK (0x7U)
  83553. #define USBPHY_USB1_VBUS_DETECT_SET_VBUSVALID_THRESH_SHIFT (0U)
  83554. /*! VBUSVALID_THRESH - VBUSVALID_THRESH
  83555. */
  83556. #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)
  83557. #define USBPHY_USB1_VBUS_DETECT_SET_VBUS_OVERRIDE_EN_MASK (0x8U)
  83558. #define USBPHY_USB1_VBUS_DETECT_SET_VBUS_OVERRIDE_EN_SHIFT (3U)
  83559. /*! VBUS_OVERRIDE_EN - VBUS detect signal override enable
  83560. */
  83561. #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)
  83562. #define USBPHY_USB1_VBUS_DETECT_SET_SESSEND_OVERRIDE_MASK (0x10U)
  83563. #define USBPHY_USB1_VBUS_DETECT_SET_SESSEND_OVERRIDE_SHIFT (4U)
  83564. /*! SESSEND_OVERRIDE - Override value for SESSEND
  83565. */
  83566. #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)
  83567. #define USBPHY_USB1_VBUS_DETECT_SET_BVALID_OVERRIDE_MASK (0x20U)
  83568. #define USBPHY_USB1_VBUS_DETECT_SET_BVALID_OVERRIDE_SHIFT (5U)
  83569. /*! BVALID_OVERRIDE - Override value for B-Device Session Valid
  83570. */
  83571. #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)
  83572. #define USBPHY_USB1_VBUS_DETECT_SET_AVALID_OVERRIDE_MASK (0x40U)
  83573. #define USBPHY_USB1_VBUS_DETECT_SET_AVALID_OVERRIDE_SHIFT (6U)
  83574. /*! AVALID_OVERRIDE - Override value for A-Device Session Valid
  83575. */
  83576. #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)
  83577. #define USBPHY_USB1_VBUS_DETECT_SET_VBUSVALID_OVERRIDE_MASK (0x80U)
  83578. #define USBPHY_USB1_VBUS_DETECT_SET_VBUSVALID_OVERRIDE_SHIFT (7U)
  83579. /*! VBUSVALID_OVERRIDE - Override value for VBUS_VALID signal sent to USB controller
  83580. */
  83581. #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)
  83582. #define USBPHY_USB1_VBUS_DETECT_SET_VBUSVALID_SEL_MASK (0x100U)
  83583. #define USBPHY_USB1_VBUS_DETECT_SET_VBUSVALID_SEL_SHIFT (8U)
  83584. /*! VBUSVALID_SEL - Selects the source of the VBUS_VALID signal reported to the USB controller
  83585. */
  83586. #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)
  83587. #define USBPHY_USB1_VBUS_DETECT_SET_VBUS_SOURCE_SEL_MASK (0x600U)
  83588. #define USBPHY_USB1_VBUS_DETECT_SET_VBUS_SOURCE_SEL_SHIFT (9U)
  83589. /*! VBUS_SOURCE_SEL - Selects the source of the VBUS_VALID signal reported to the USB controller
  83590. */
  83591. #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)
  83592. #define USBPHY_USB1_VBUS_DETECT_SET_ID_OVERRIDE_EN_MASK (0x800U)
  83593. #define USBPHY_USB1_VBUS_DETECT_SET_ID_OVERRIDE_EN_SHIFT (11U)
  83594. /*! ID_OVERRIDE_EN - TBA
  83595. */
  83596. #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)
  83597. #define USBPHY_USB1_VBUS_DETECT_SET_ID_OVERRIDE_MASK (0x1000U)
  83598. #define USBPHY_USB1_VBUS_DETECT_SET_ID_OVERRIDE_SHIFT (12U)
  83599. /*! ID_OVERRIDE - TBA
  83600. */
  83601. #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)
  83602. #define USBPHY_USB1_VBUS_DETECT_SET_VBUSVALID_TO_SESSVALID_MASK (0x40000U)
  83603. #define USBPHY_USB1_VBUS_DETECT_SET_VBUSVALID_TO_SESSVALID_SHIFT (18U)
  83604. /*! VBUSVALID_TO_SESSVALID - Selects the comparator used for VBUS_VALID
  83605. */
  83606. #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)
  83607. #define USBPHY_USB1_VBUS_DETECT_SET_PWRUP_CMPS_MASK (0x700000U)
  83608. #define USBPHY_USB1_VBUS_DETECT_SET_PWRUP_CMPS_SHIFT (20U)
  83609. /*! PWRUP_CMPS - Enables the VBUS_VALID comparator
  83610. */
  83611. #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)
  83612. #define USBPHY_USB1_VBUS_DETECT_SET_DISCHARGE_VBUS_MASK (0x4000000U)
  83613. #define USBPHY_USB1_VBUS_DETECT_SET_DISCHARGE_VBUS_SHIFT (26U)
  83614. /*! DISCHARGE_VBUS - Controls VBUS discharge resistor
  83615. */
  83616. #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)
  83617. #define USBPHY_USB1_VBUS_DETECT_SET_EN_CHARGER_RESISTOR_MASK (0x80000000U)
  83618. #define USBPHY_USB1_VBUS_DETECT_SET_EN_CHARGER_RESISTOR_SHIFT (31U)
  83619. /*! EN_CHARGER_RESISTOR - Enables resistors used for an older method of resistive battery charger detection
  83620. */
  83621. #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)
  83622. /*! @} */
  83623. /*! @name USB1_VBUS_DETECT_CLR - USB PHY VBUS Detect Control Register */
  83624. /*! @{ */
  83625. #define USBPHY_USB1_VBUS_DETECT_CLR_VBUSVALID_THRESH_MASK (0x7U)
  83626. #define USBPHY_USB1_VBUS_DETECT_CLR_VBUSVALID_THRESH_SHIFT (0U)
  83627. /*! VBUSVALID_THRESH - VBUSVALID_THRESH
  83628. */
  83629. #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)
  83630. #define USBPHY_USB1_VBUS_DETECT_CLR_VBUS_OVERRIDE_EN_MASK (0x8U)
  83631. #define USBPHY_USB1_VBUS_DETECT_CLR_VBUS_OVERRIDE_EN_SHIFT (3U)
  83632. /*! VBUS_OVERRIDE_EN - VBUS detect signal override enable
  83633. */
  83634. #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)
  83635. #define USBPHY_USB1_VBUS_DETECT_CLR_SESSEND_OVERRIDE_MASK (0x10U)
  83636. #define USBPHY_USB1_VBUS_DETECT_CLR_SESSEND_OVERRIDE_SHIFT (4U)
  83637. /*! SESSEND_OVERRIDE - Override value for SESSEND
  83638. */
  83639. #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)
  83640. #define USBPHY_USB1_VBUS_DETECT_CLR_BVALID_OVERRIDE_MASK (0x20U)
  83641. #define USBPHY_USB1_VBUS_DETECT_CLR_BVALID_OVERRIDE_SHIFT (5U)
  83642. /*! BVALID_OVERRIDE - Override value for B-Device Session Valid
  83643. */
  83644. #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)
  83645. #define USBPHY_USB1_VBUS_DETECT_CLR_AVALID_OVERRIDE_MASK (0x40U)
  83646. #define USBPHY_USB1_VBUS_DETECT_CLR_AVALID_OVERRIDE_SHIFT (6U)
  83647. /*! AVALID_OVERRIDE - Override value for A-Device Session Valid
  83648. */
  83649. #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)
  83650. #define USBPHY_USB1_VBUS_DETECT_CLR_VBUSVALID_OVERRIDE_MASK (0x80U)
  83651. #define USBPHY_USB1_VBUS_DETECT_CLR_VBUSVALID_OVERRIDE_SHIFT (7U)
  83652. /*! VBUSVALID_OVERRIDE - Override value for VBUS_VALID signal sent to USB controller
  83653. */
  83654. #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)
  83655. #define USBPHY_USB1_VBUS_DETECT_CLR_VBUSVALID_SEL_MASK (0x100U)
  83656. #define USBPHY_USB1_VBUS_DETECT_CLR_VBUSVALID_SEL_SHIFT (8U)
  83657. /*! VBUSVALID_SEL - Selects the source of the VBUS_VALID signal reported to the USB controller
  83658. */
  83659. #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)
  83660. #define USBPHY_USB1_VBUS_DETECT_CLR_VBUS_SOURCE_SEL_MASK (0x600U)
  83661. #define USBPHY_USB1_VBUS_DETECT_CLR_VBUS_SOURCE_SEL_SHIFT (9U)
  83662. /*! VBUS_SOURCE_SEL - Selects the source of the VBUS_VALID signal reported to the USB controller
  83663. */
  83664. #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)
  83665. #define USBPHY_USB1_VBUS_DETECT_CLR_ID_OVERRIDE_EN_MASK (0x800U)
  83666. #define USBPHY_USB1_VBUS_DETECT_CLR_ID_OVERRIDE_EN_SHIFT (11U)
  83667. /*! ID_OVERRIDE_EN - TBA
  83668. */
  83669. #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)
  83670. #define USBPHY_USB1_VBUS_DETECT_CLR_ID_OVERRIDE_MASK (0x1000U)
  83671. #define USBPHY_USB1_VBUS_DETECT_CLR_ID_OVERRIDE_SHIFT (12U)
  83672. /*! ID_OVERRIDE - TBA
  83673. */
  83674. #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)
  83675. #define USBPHY_USB1_VBUS_DETECT_CLR_VBUSVALID_TO_SESSVALID_MASK (0x40000U)
  83676. #define USBPHY_USB1_VBUS_DETECT_CLR_VBUSVALID_TO_SESSVALID_SHIFT (18U)
  83677. /*! VBUSVALID_TO_SESSVALID - Selects the comparator used for VBUS_VALID
  83678. */
  83679. #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)
  83680. #define USBPHY_USB1_VBUS_DETECT_CLR_PWRUP_CMPS_MASK (0x700000U)
  83681. #define USBPHY_USB1_VBUS_DETECT_CLR_PWRUP_CMPS_SHIFT (20U)
  83682. /*! PWRUP_CMPS - Enables the VBUS_VALID comparator
  83683. */
  83684. #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)
  83685. #define USBPHY_USB1_VBUS_DETECT_CLR_DISCHARGE_VBUS_MASK (0x4000000U)
  83686. #define USBPHY_USB1_VBUS_DETECT_CLR_DISCHARGE_VBUS_SHIFT (26U)
  83687. /*! DISCHARGE_VBUS - Controls VBUS discharge resistor
  83688. */
  83689. #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)
  83690. #define USBPHY_USB1_VBUS_DETECT_CLR_EN_CHARGER_RESISTOR_MASK (0x80000000U)
  83691. #define USBPHY_USB1_VBUS_DETECT_CLR_EN_CHARGER_RESISTOR_SHIFT (31U)
  83692. /*! EN_CHARGER_RESISTOR - Enables resistors used for an older method of resistive battery charger detection
  83693. */
  83694. #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)
  83695. /*! @} */
  83696. /*! @name USB1_VBUS_DETECT_TOG - USB PHY VBUS Detect Control Register */
  83697. /*! @{ */
  83698. #define USBPHY_USB1_VBUS_DETECT_TOG_VBUSVALID_THRESH_MASK (0x7U)
  83699. #define USBPHY_USB1_VBUS_DETECT_TOG_VBUSVALID_THRESH_SHIFT (0U)
  83700. /*! VBUSVALID_THRESH - VBUSVALID_THRESH
  83701. */
  83702. #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)
  83703. #define USBPHY_USB1_VBUS_DETECT_TOG_VBUS_OVERRIDE_EN_MASK (0x8U)
  83704. #define USBPHY_USB1_VBUS_DETECT_TOG_VBUS_OVERRIDE_EN_SHIFT (3U)
  83705. /*! VBUS_OVERRIDE_EN - VBUS detect signal override enable
  83706. */
  83707. #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)
  83708. #define USBPHY_USB1_VBUS_DETECT_TOG_SESSEND_OVERRIDE_MASK (0x10U)
  83709. #define USBPHY_USB1_VBUS_DETECT_TOG_SESSEND_OVERRIDE_SHIFT (4U)
  83710. /*! SESSEND_OVERRIDE - Override value for SESSEND
  83711. */
  83712. #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)
  83713. #define USBPHY_USB1_VBUS_DETECT_TOG_BVALID_OVERRIDE_MASK (0x20U)
  83714. #define USBPHY_USB1_VBUS_DETECT_TOG_BVALID_OVERRIDE_SHIFT (5U)
  83715. /*! BVALID_OVERRIDE - Override value for B-Device Session Valid
  83716. */
  83717. #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)
  83718. #define USBPHY_USB1_VBUS_DETECT_TOG_AVALID_OVERRIDE_MASK (0x40U)
  83719. #define USBPHY_USB1_VBUS_DETECT_TOG_AVALID_OVERRIDE_SHIFT (6U)
  83720. /*! AVALID_OVERRIDE - Override value for A-Device Session Valid
  83721. */
  83722. #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)
  83723. #define USBPHY_USB1_VBUS_DETECT_TOG_VBUSVALID_OVERRIDE_MASK (0x80U)
  83724. #define USBPHY_USB1_VBUS_DETECT_TOG_VBUSVALID_OVERRIDE_SHIFT (7U)
  83725. /*! VBUSVALID_OVERRIDE - Override value for VBUS_VALID signal sent to USB controller
  83726. */
  83727. #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)
  83728. #define USBPHY_USB1_VBUS_DETECT_TOG_VBUSVALID_SEL_MASK (0x100U)
  83729. #define USBPHY_USB1_VBUS_DETECT_TOG_VBUSVALID_SEL_SHIFT (8U)
  83730. /*! VBUSVALID_SEL - Selects the source of the VBUS_VALID signal reported to the USB controller
  83731. */
  83732. #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)
  83733. #define USBPHY_USB1_VBUS_DETECT_TOG_VBUS_SOURCE_SEL_MASK (0x600U)
  83734. #define USBPHY_USB1_VBUS_DETECT_TOG_VBUS_SOURCE_SEL_SHIFT (9U)
  83735. /*! VBUS_SOURCE_SEL - Selects the source of the VBUS_VALID signal reported to the USB controller
  83736. */
  83737. #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)
  83738. #define USBPHY_USB1_VBUS_DETECT_TOG_ID_OVERRIDE_EN_MASK (0x800U)
  83739. #define USBPHY_USB1_VBUS_DETECT_TOG_ID_OVERRIDE_EN_SHIFT (11U)
  83740. /*! ID_OVERRIDE_EN - TBA
  83741. */
  83742. #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)
  83743. #define USBPHY_USB1_VBUS_DETECT_TOG_ID_OVERRIDE_MASK (0x1000U)
  83744. #define USBPHY_USB1_VBUS_DETECT_TOG_ID_OVERRIDE_SHIFT (12U)
  83745. /*! ID_OVERRIDE - TBA
  83746. */
  83747. #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)
  83748. #define USBPHY_USB1_VBUS_DETECT_TOG_VBUSVALID_TO_SESSVALID_MASK (0x40000U)
  83749. #define USBPHY_USB1_VBUS_DETECT_TOG_VBUSVALID_TO_SESSVALID_SHIFT (18U)
  83750. /*! VBUSVALID_TO_SESSVALID - Selects the comparator used for VBUS_VALID
  83751. */
  83752. #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)
  83753. #define USBPHY_USB1_VBUS_DETECT_TOG_PWRUP_CMPS_MASK (0x700000U)
  83754. #define USBPHY_USB1_VBUS_DETECT_TOG_PWRUP_CMPS_SHIFT (20U)
  83755. /*! PWRUP_CMPS - Enables the VBUS_VALID comparator
  83756. */
  83757. #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)
  83758. #define USBPHY_USB1_VBUS_DETECT_TOG_DISCHARGE_VBUS_MASK (0x4000000U)
  83759. #define USBPHY_USB1_VBUS_DETECT_TOG_DISCHARGE_VBUS_SHIFT (26U)
  83760. /*! DISCHARGE_VBUS - Controls VBUS discharge resistor
  83761. */
  83762. #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)
  83763. #define USBPHY_USB1_VBUS_DETECT_TOG_EN_CHARGER_RESISTOR_MASK (0x80000000U)
  83764. #define USBPHY_USB1_VBUS_DETECT_TOG_EN_CHARGER_RESISTOR_SHIFT (31U)
  83765. /*! EN_CHARGER_RESISTOR - Enables resistors used for an older method of resistive battery charger detection
  83766. */
  83767. #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)
  83768. /*! @} */
  83769. /*! @name USB1_VBUS_DET_STAT - USB PHY VBUS Detector Status Register */
  83770. /*! @{ */
  83771. #define USBPHY_USB1_VBUS_DET_STAT_SESSEND_MASK (0x1U)
  83772. #define USBPHY_USB1_VBUS_DET_STAT_SESSEND_SHIFT (0U)
  83773. /*! SESSEND - Session End indicator
  83774. * 0b0..The VBUS voltage is above the Session Valid threshold
  83775. * 0b1..The VBUS voltage is below the Session Valid threshold
  83776. */
  83777. #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)
  83778. #define USBPHY_USB1_VBUS_DET_STAT_BVALID_MASK (0x2U)
  83779. #define USBPHY_USB1_VBUS_DET_STAT_BVALID_SHIFT (1U)
  83780. /*! BVALID - B-Device Session Valid status
  83781. * 0b0..The VBUS voltage is below the Session Valid threshold
  83782. * 0b1..The VBUS voltage is above the Session Valid threshold
  83783. */
  83784. #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)
  83785. #define USBPHY_USB1_VBUS_DET_STAT_AVALID_MASK (0x4U)
  83786. #define USBPHY_USB1_VBUS_DET_STAT_AVALID_SHIFT (2U)
  83787. /*! AVALID - A-Device Session Valid status
  83788. * 0b0..The VBUS voltage is below the Session Valid threshold
  83789. * 0b1..The VBUS voltage is above the Session Valid threshold
  83790. */
  83791. #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)
  83792. #define USBPHY_USB1_VBUS_DET_STAT_VBUS_VALID_MASK (0x8U)
  83793. #define USBPHY_USB1_VBUS_DET_STAT_VBUS_VALID_SHIFT (3U)
  83794. /*! VBUS_VALID - VBUS voltage status
  83795. * 0b0..VBUS is below the comparator threshold
  83796. * 0b1..VBUS is above the comparator threshold
  83797. */
  83798. #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)
  83799. #define USBPHY_USB1_VBUS_DET_STAT_VBUS_VALID_3V_MASK (0x10U)
  83800. #define USBPHY_USB1_VBUS_DET_STAT_VBUS_VALID_3V_SHIFT (4U)
  83801. /*! VBUS_VALID_3V - VBUS_VALID_3V detector status
  83802. * 0b0..VBUS voltage is below VBUS_VALID_3V threshold
  83803. * 0b1..VBUS voltage is above VBUS_VALID_3V threshold
  83804. */
  83805. #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)
  83806. /*! @} */
  83807. /*! @name USB1_CHRG_DETECT - USB PHY Charger Detect Control Register */
  83808. /*! @{ */
  83809. #define USBPHY_USB1_CHRG_DETECT_PULLUP_DP_MASK (0x4U)
  83810. #define USBPHY_USB1_CHRG_DETECT_PULLUP_DP_SHIFT (2U)
  83811. /*! PULLUP_DP - PULLUP_DP
  83812. */
  83813. #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)
  83814. #define USBPHY_USB1_CHRG_DETECT_BGR_BIAS_MASK (0x800000U)
  83815. #define USBPHY_USB1_CHRG_DETECT_BGR_BIAS_SHIFT (23U)
  83816. /*! BGR_BIAS - BGR_BIAS
  83817. * 0b0..Use local bias powered from USB1_VBUS for 10uA reference (Default)
  83818. * 0b1..Use bandgap bias powered from VREGIN0/VREGIN1 for 10uA reference
  83819. */
  83820. #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)
  83821. /*! @} */
  83822. /*! @name USB1_CHRG_DETECT_SET - USB PHY Charger Detect Control Register */
  83823. /*! @{ */
  83824. #define USBPHY_USB1_CHRG_DETECT_SET_PULLUP_DP_MASK (0x4U)
  83825. #define USBPHY_USB1_CHRG_DETECT_SET_PULLUP_DP_SHIFT (2U)
  83826. /*! PULLUP_DP - PULLUP_DP
  83827. */
  83828. #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)
  83829. #define USBPHY_USB1_CHRG_DETECT_SET_BGR_BIAS_MASK (0x800000U)
  83830. #define USBPHY_USB1_CHRG_DETECT_SET_BGR_BIAS_SHIFT (23U)
  83831. /*! BGR_BIAS - BGR_BIAS
  83832. */
  83833. #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)
  83834. /*! @} */
  83835. /*! @name USB1_CHRG_DETECT_CLR - USB PHY Charger Detect Control Register */
  83836. /*! @{ */
  83837. #define USBPHY_USB1_CHRG_DETECT_CLR_PULLUP_DP_MASK (0x4U)
  83838. #define USBPHY_USB1_CHRG_DETECT_CLR_PULLUP_DP_SHIFT (2U)
  83839. /*! PULLUP_DP - PULLUP_DP
  83840. */
  83841. #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)
  83842. #define USBPHY_USB1_CHRG_DETECT_CLR_BGR_BIAS_MASK (0x800000U)
  83843. #define USBPHY_USB1_CHRG_DETECT_CLR_BGR_BIAS_SHIFT (23U)
  83844. /*! BGR_BIAS - BGR_BIAS
  83845. */
  83846. #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)
  83847. /*! @} */
  83848. /*! @name USB1_CHRG_DETECT_TOG - USB PHY Charger Detect Control Register */
  83849. /*! @{ */
  83850. #define USBPHY_USB1_CHRG_DETECT_TOG_PULLUP_DP_MASK (0x4U)
  83851. #define USBPHY_USB1_CHRG_DETECT_TOG_PULLUP_DP_SHIFT (2U)
  83852. /*! PULLUP_DP - PULLUP_DP
  83853. */
  83854. #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)
  83855. #define USBPHY_USB1_CHRG_DETECT_TOG_BGR_BIAS_MASK (0x800000U)
  83856. #define USBPHY_USB1_CHRG_DETECT_TOG_BGR_BIAS_SHIFT (23U)
  83857. /*! BGR_BIAS - BGR_BIAS
  83858. */
  83859. #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)
  83860. /*! @} */
  83861. /*! @name USB1_CHRG_DET_STAT - USB PHY Charger Detect Status Register */
  83862. /*! @{ */
  83863. #define USBPHY_USB1_CHRG_DET_STAT_PLUG_CONTACT_MASK (0x1U)
  83864. #define USBPHY_USB1_CHRG_DET_STAT_PLUG_CONTACT_SHIFT (0U)
  83865. /*! PLUG_CONTACT - Battery Charging Data Contact Detection phase output
  83866. * 0b0..No USB cable attachment has been detected
  83867. * 0b1..A USB cable attachment between the device and host has been detected
  83868. */
  83869. #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)
  83870. #define USBPHY_USB1_CHRG_DET_STAT_CHRG_DETECTED_MASK (0x2U)
  83871. #define USBPHY_USB1_CHRG_DET_STAT_CHRG_DETECTED_SHIFT (1U)
  83872. /*! CHRG_DETECTED - Battery Charging Primary Detection phase output
  83873. * 0b0..Standard Downstream Port (SDP) has been detected
  83874. * 0b1..Charging Port has been detected
  83875. */
  83876. #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)
  83877. #define USBPHY_USB1_CHRG_DET_STAT_DN_STATE_MASK (0x4U)
  83878. #define USBPHY_USB1_CHRG_DET_STAT_DN_STATE_SHIFT (2U)
  83879. /*! DN_STATE - DN_STATE
  83880. * 0b0..DN pin voltage is < 0.8V
  83881. * 0b1..DN pin voltage is > 2.0V
  83882. */
  83883. #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)
  83884. #define USBPHY_USB1_CHRG_DET_STAT_DP_STATE_MASK (0x8U)
  83885. #define USBPHY_USB1_CHRG_DET_STAT_DP_STATE_SHIFT (3U)
  83886. /*! DP_STATE - DP_STATE
  83887. * 0b0..DP pin voltage is < 0.8V
  83888. * 0b1..DP pin voltage is > 2.0V
  83889. */
  83890. #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)
  83891. #define USBPHY_USB1_CHRG_DET_STAT_SECDET_DCP_MASK (0x10U)
  83892. #define USBPHY_USB1_CHRG_DET_STAT_SECDET_DCP_SHIFT (4U)
  83893. /*! SECDET_DCP - Battery Charging Secondary Detection phase output
  83894. * 0b0..Charging Downstream Port (CDP) has been detected
  83895. * 0b1..Downstream Charging Port (DCP) has been detected
  83896. */
  83897. #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)
  83898. /*! @} */
  83899. /*! @name ANACTRL - USB PHY Analog Control Register */
  83900. /*! @{ */
  83901. #define USBPHY_ANACTRL_DEV_PULLDOWN_MASK (0x400U)
  83902. #define USBPHY_ANACTRL_DEV_PULLDOWN_SHIFT (10U)
  83903. /*! DEV_PULLDOWN - DEV_PULLDOWN
  83904. * 0b0..The 15kohm nominal pulldowns on the DP and DN pinsare disabled in device mode.
  83905. * 0b1..The 15kohm nominal pulldowns on the DP and DN pinsare enabled in device mode.
  83906. */
  83907. #define USBPHY_ANACTRL_DEV_PULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_ANACTRL_DEV_PULLDOWN_SHIFT)) & USBPHY_ANACTRL_DEV_PULLDOWN_MASK)
  83908. /*! @} */
  83909. /*! @name ANACTRL_SET - USB PHY Analog Control Register */
  83910. /*! @{ */
  83911. #define USBPHY_ANACTRL_SET_DEV_PULLDOWN_MASK (0x400U)
  83912. #define USBPHY_ANACTRL_SET_DEV_PULLDOWN_SHIFT (10U)
  83913. /*! DEV_PULLDOWN - DEV_PULLDOWN
  83914. */
  83915. #define USBPHY_ANACTRL_SET_DEV_PULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_ANACTRL_SET_DEV_PULLDOWN_SHIFT)) & USBPHY_ANACTRL_SET_DEV_PULLDOWN_MASK)
  83916. /*! @} */
  83917. /*! @name ANACTRL_CLR - USB PHY Analog Control Register */
  83918. /*! @{ */
  83919. #define USBPHY_ANACTRL_CLR_DEV_PULLDOWN_MASK (0x400U)
  83920. #define USBPHY_ANACTRL_CLR_DEV_PULLDOWN_SHIFT (10U)
  83921. /*! DEV_PULLDOWN - DEV_PULLDOWN
  83922. */
  83923. #define USBPHY_ANACTRL_CLR_DEV_PULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_ANACTRL_CLR_DEV_PULLDOWN_SHIFT)) & USBPHY_ANACTRL_CLR_DEV_PULLDOWN_MASK)
  83924. /*! @} */
  83925. /*! @name ANACTRL_TOG - USB PHY Analog Control Register */
  83926. /*! @{ */
  83927. #define USBPHY_ANACTRL_TOG_DEV_PULLDOWN_MASK (0x400U)
  83928. #define USBPHY_ANACTRL_TOG_DEV_PULLDOWN_SHIFT (10U)
  83929. /*! DEV_PULLDOWN - DEV_PULLDOWN
  83930. */
  83931. #define USBPHY_ANACTRL_TOG_DEV_PULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_ANACTRL_TOG_DEV_PULLDOWN_SHIFT)) & USBPHY_ANACTRL_TOG_DEV_PULLDOWN_MASK)
  83932. /*! @} */
  83933. /*! @name USB1_LOOPBACK - USB PHY Loopback Control/Status Register */
  83934. /*! @{ */
  83935. #define USBPHY_USB1_LOOPBACK_UTMI_TESTSTART_MASK (0x1U)
  83936. #define USBPHY_USB1_LOOPBACK_UTMI_TESTSTART_SHIFT (0U)
  83937. /*! UTMI_TESTSTART - UTMI_TESTSTART
  83938. */
  83939. #define USBPHY_USB1_LOOPBACK_UTMI_TESTSTART(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_UTMI_TESTSTART_SHIFT)) & USBPHY_USB1_LOOPBACK_UTMI_TESTSTART_MASK)
  83940. #define USBPHY_USB1_LOOPBACK_UTMI_DIG_TST0_MASK (0x2U)
  83941. #define USBPHY_USB1_LOOPBACK_UTMI_DIG_TST0_SHIFT (1U)
  83942. /*! UTMI_DIG_TST0 - UTMI_DIG_TST0
  83943. */
  83944. #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)
  83945. #define USBPHY_USB1_LOOPBACK_UTMI_DIG_TST1_MASK (0x4U)
  83946. #define USBPHY_USB1_LOOPBACK_UTMI_DIG_TST1_SHIFT (2U)
  83947. /*! UTMI_DIG_TST1 - UTMI_DIG_TST1
  83948. */
  83949. #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)
  83950. #define USBPHY_USB1_LOOPBACK_TSTI_TX_HS_MODE_MASK (0x8U)
  83951. #define USBPHY_USB1_LOOPBACK_TSTI_TX_HS_MODE_SHIFT (3U)
  83952. /*! TSTI_TX_HS_MODE - TSTI_TX_HS_MODE
  83953. */
  83954. #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)
  83955. #define USBPHY_USB1_LOOPBACK_TSTI_TX_LS_MODE_MASK (0x10U)
  83956. #define USBPHY_USB1_LOOPBACK_TSTI_TX_LS_MODE_SHIFT (4U)
  83957. /*! TSTI_TX_LS_MODE - TSTI_TX_LS_MODE
  83958. */
  83959. #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)
  83960. #define USBPHY_USB1_LOOPBACK_TSTI_TX_EN_MASK (0x20U)
  83961. #define USBPHY_USB1_LOOPBACK_TSTI_TX_EN_SHIFT (5U)
  83962. /*! TSTI_TX_EN - TSTI_TX_EN
  83963. */
  83964. #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)
  83965. #define USBPHY_USB1_LOOPBACK_TSTI_TX_HIZ_MASK (0x40U)
  83966. #define USBPHY_USB1_LOOPBACK_TSTI_TX_HIZ_SHIFT (6U)
  83967. /*! TSTI_TX_HIZ - TSTI_TX_HIZ
  83968. */
  83969. #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)
  83970. #define USBPHY_USB1_LOOPBACK_UTMO_DIG_TST0_MASK (0x80U)
  83971. #define USBPHY_USB1_LOOPBACK_UTMO_DIG_TST0_SHIFT (7U)
  83972. /*! UTMO_DIG_TST0 - UTMO_DIG_TST0
  83973. */
  83974. #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)
  83975. #define USBPHY_USB1_LOOPBACK_UTMO_DIG_TST1_MASK (0x100U)
  83976. #define USBPHY_USB1_LOOPBACK_UTMO_DIG_TST1_SHIFT (8U)
  83977. /*! UTMO_DIG_TST1 - UTMO_DIG_TST1
  83978. */
  83979. #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)
  83980. #define USBPHY_USB1_LOOPBACK_TSTI_HSFS_MODE_EN_MASK (0x8000U)
  83981. #define USBPHY_USB1_LOOPBACK_TSTI_HSFS_MODE_EN_SHIFT (15U)
  83982. /*! TSTI_HSFS_MODE_EN - TSTI_HSFS_MODE_EN
  83983. */
  83984. #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)
  83985. #define USBPHY_USB1_LOOPBACK_TSTPKT_MASK (0xFF0000U)
  83986. #define USBPHY_USB1_LOOPBACK_TSTPKT_SHIFT (16U)
  83987. /*! TSTPKT - TSTPKT
  83988. */
  83989. #define USBPHY_USB1_LOOPBACK_TSTPKT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_TSTPKT_SHIFT)) & USBPHY_USB1_LOOPBACK_TSTPKT_MASK)
  83990. /*! @} */
  83991. /*! @name USB1_LOOPBACK_SET - USB PHY Loopback Control/Status Register */
  83992. /*! @{ */
  83993. #define USBPHY_USB1_LOOPBACK_SET_UTMI_TESTSTART_MASK (0x1U)
  83994. #define USBPHY_USB1_LOOPBACK_SET_UTMI_TESTSTART_SHIFT (0U)
  83995. /*! UTMI_TESTSTART - UTMI_TESTSTART
  83996. */
  83997. #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)
  83998. #define USBPHY_USB1_LOOPBACK_SET_UTMI_DIG_TST0_MASK (0x2U)
  83999. #define USBPHY_USB1_LOOPBACK_SET_UTMI_DIG_TST0_SHIFT (1U)
  84000. /*! UTMI_DIG_TST0 - UTMI_DIG_TST0
  84001. */
  84002. #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)
  84003. #define USBPHY_USB1_LOOPBACK_SET_UTMI_DIG_TST1_MASK (0x4U)
  84004. #define USBPHY_USB1_LOOPBACK_SET_UTMI_DIG_TST1_SHIFT (2U)
  84005. /*! UTMI_DIG_TST1 - UTMI_DIG_TST1
  84006. */
  84007. #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)
  84008. #define USBPHY_USB1_LOOPBACK_SET_TSTI_TX_HS_MODE_MASK (0x8U)
  84009. #define USBPHY_USB1_LOOPBACK_SET_TSTI_TX_HS_MODE_SHIFT (3U)
  84010. /*! TSTI_TX_HS_MODE - TSTI_TX_HS_MODE
  84011. */
  84012. #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)
  84013. #define USBPHY_USB1_LOOPBACK_SET_TSTI_TX_LS_MODE_MASK (0x10U)
  84014. #define USBPHY_USB1_LOOPBACK_SET_TSTI_TX_LS_MODE_SHIFT (4U)
  84015. /*! TSTI_TX_LS_MODE - TSTI_TX_LS_MODE
  84016. */
  84017. #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)
  84018. #define USBPHY_USB1_LOOPBACK_SET_TSTI_TX_EN_MASK (0x20U)
  84019. #define USBPHY_USB1_LOOPBACK_SET_TSTI_TX_EN_SHIFT (5U)
  84020. /*! TSTI_TX_EN - TSTI_TX_EN
  84021. */
  84022. #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)
  84023. #define USBPHY_USB1_LOOPBACK_SET_TSTI_TX_HIZ_MASK (0x40U)
  84024. #define USBPHY_USB1_LOOPBACK_SET_TSTI_TX_HIZ_SHIFT (6U)
  84025. /*! TSTI_TX_HIZ - TSTI_TX_HIZ
  84026. */
  84027. #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)
  84028. #define USBPHY_USB1_LOOPBACK_SET_UTMO_DIG_TST0_MASK (0x80U)
  84029. #define USBPHY_USB1_LOOPBACK_SET_UTMO_DIG_TST0_SHIFT (7U)
  84030. /*! UTMO_DIG_TST0 - UTMO_DIG_TST0
  84031. */
  84032. #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)
  84033. #define USBPHY_USB1_LOOPBACK_SET_UTMO_DIG_TST1_MASK (0x100U)
  84034. #define USBPHY_USB1_LOOPBACK_SET_UTMO_DIG_TST1_SHIFT (8U)
  84035. /*! UTMO_DIG_TST1 - UTMO_DIG_TST1
  84036. */
  84037. #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)
  84038. #define USBPHY_USB1_LOOPBACK_SET_TSTI_HSFS_MODE_EN_MASK (0x8000U)
  84039. #define USBPHY_USB1_LOOPBACK_SET_TSTI_HSFS_MODE_EN_SHIFT (15U)
  84040. /*! TSTI_HSFS_MODE_EN - TSTI_HSFS_MODE_EN
  84041. */
  84042. #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)
  84043. #define USBPHY_USB1_LOOPBACK_SET_TSTPKT_MASK (0xFF0000U)
  84044. #define USBPHY_USB1_LOOPBACK_SET_TSTPKT_SHIFT (16U)
  84045. /*! TSTPKT - TSTPKT
  84046. */
  84047. #define USBPHY_USB1_LOOPBACK_SET_TSTPKT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_SET_TSTPKT_SHIFT)) & USBPHY_USB1_LOOPBACK_SET_TSTPKT_MASK)
  84048. /*! @} */
  84049. /*! @name USB1_LOOPBACK_CLR - USB PHY Loopback Control/Status Register */
  84050. /*! @{ */
  84051. #define USBPHY_USB1_LOOPBACK_CLR_UTMI_TESTSTART_MASK (0x1U)
  84052. #define USBPHY_USB1_LOOPBACK_CLR_UTMI_TESTSTART_SHIFT (0U)
  84053. /*! UTMI_TESTSTART - UTMI_TESTSTART
  84054. */
  84055. #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)
  84056. #define USBPHY_USB1_LOOPBACK_CLR_UTMI_DIG_TST0_MASK (0x2U)
  84057. #define USBPHY_USB1_LOOPBACK_CLR_UTMI_DIG_TST0_SHIFT (1U)
  84058. /*! UTMI_DIG_TST0 - UTMI_DIG_TST0
  84059. */
  84060. #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)
  84061. #define USBPHY_USB1_LOOPBACK_CLR_UTMI_DIG_TST1_MASK (0x4U)
  84062. #define USBPHY_USB1_LOOPBACK_CLR_UTMI_DIG_TST1_SHIFT (2U)
  84063. /*! UTMI_DIG_TST1 - UTMI_DIG_TST1
  84064. */
  84065. #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)
  84066. #define USBPHY_USB1_LOOPBACK_CLR_TSTI_TX_HS_MODE_MASK (0x8U)
  84067. #define USBPHY_USB1_LOOPBACK_CLR_TSTI_TX_HS_MODE_SHIFT (3U)
  84068. /*! TSTI_TX_HS_MODE - TSTI_TX_HS_MODE
  84069. */
  84070. #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)
  84071. #define USBPHY_USB1_LOOPBACK_CLR_TSTI_TX_LS_MODE_MASK (0x10U)
  84072. #define USBPHY_USB1_LOOPBACK_CLR_TSTI_TX_LS_MODE_SHIFT (4U)
  84073. /*! TSTI_TX_LS_MODE - TSTI_TX_LS_MODE
  84074. */
  84075. #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)
  84076. #define USBPHY_USB1_LOOPBACK_CLR_TSTI_TX_EN_MASK (0x20U)
  84077. #define USBPHY_USB1_LOOPBACK_CLR_TSTI_TX_EN_SHIFT (5U)
  84078. /*! TSTI_TX_EN - TSTI_TX_EN
  84079. */
  84080. #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)
  84081. #define USBPHY_USB1_LOOPBACK_CLR_TSTI_TX_HIZ_MASK (0x40U)
  84082. #define USBPHY_USB1_LOOPBACK_CLR_TSTI_TX_HIZ_SHIFT (6U)
  84083. /*! TSTI_TX_HIZ - TSTI_TX_HIZ
  84084. */
  84085. #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)
  84086. #define USBPHY_USB1_LOOPBACK_CLR_UTMO_DIG_TST0_MASK (0x80U)
  84087. #define USBPHY_USB1_LOOPBACK_CLR_UTMO_DIG_TST0_SHIFT (7U)
  84088. /*! UTMO_DIG_TST0 - UTMO_DIG_TST0
  84089. */
  84090. #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)
  84091. #define USBPHY_USB1_LOOPBACK_CLR_UTMO_DIG_TST1_MASK (0x100U)
  84092. #define USBPHY_USB1_LOOPBACK_CLR_UTMO_DIG_TST1_SHIFT (8U)
  84093. /*! UTMO_DIG_TST1 - UTMO_DIG_TST1
  84094. */
  84095. #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)
  84096. #define USBPHY_USB1_LOOPBACK_CLR_TSTI_HSFS_MODE_EN_MASK (0x8000U)
  84097. #define USBPHY_USB1_LOOPBACK_CLR_TSTI_HSFS_MODE_EN_SHIFT (15U)
  84098. /*! TSTI_HSFS_MODE_EN - TSTI_HSFS_MODE_EN
  84099. */
  84100. #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)
  84101. #define USBPHY_USB1_LOOPBACK_CLR_TSTPKT_MASK (0xFF0000U)
  84102. #define USBPHY_USB1_LOOPBACK_CLR_TSTPKT_SHIFT (16U)
  84103. /*! TSTPKT - TSTPKT
  84104. */
  84105. #define USBPHY_USB1_LOOPBACK_CLR_TSTPKT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_CLR_TSTPKT_SHIFT)) & USBPHY_USB1_LOOPBACK_CLR_TSTPKT_MASK)
  84106. /*! @} */
  84107. /*! @name USB1_LOOPBACK_TOG - USB PHY Loopback Control/Status Register */
  84108. /*! @{ */
  84109. #define USBPHY_USB1_LOOPBACK_TOG_UTMI_TESTSTART_MASK (0x1U)
  84110. #define USBPHY_USB1_LOOPBACK_TOG_UTMI_TESTSTART_SHIFT (0U)
  84111. /*! UTMI_TESTSTART - UTMI_TESTSTART
  84112. */
  84113. #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)
  84114. #define USBPHY_USB1_LOOPBACK_TOG_UTMI_DIG_TST0_MASK (0x2U)
  84115. #define USBPHY_USB1_LOOPBACK_TOG_UTMI_DIG_TST0_SHIFT (1U)
  84116. /*! UTMI_DIG_TST0 - UTMI_DIG_TST0
  84117. */
  84118. #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)
  84119. #define USBPHY_USB1_LOOPBACK_TOG_UTMI_DIG_TST1_MASK (0x4U)
  84120. #define USBPHY_USB1_LOOPBACK_TOG_UTMI_DIG_TST1_SHIFT (2U)
  84121. /*! UTMI_DIG_TST1 - UTMI_DIG_TST1
  84122. */
  84123. #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)
  84124. #define USBPHY_USB1_LOOPBACK_TOG_TSTI_TX_HS_MODE_MASK (0x8U)
  84125. #define USBPHY_USB1_LOOPBACK_TOG_TSTI_TX_HS_MODE_SHIFT (3U)
  84126. /*! TSTI_TX_HS_MODE - TSTI_TX_HS_MODE
  84127. */
  84128. #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)
  84129. #define USBPHY_USB1_LOOPBACK_TOG_TSTI_TX_LS_MODE_MASK (0x10U)
  84130. #define USBPHY_USB1_LOOPBACK_TOG_TSTI_TX_LS_MODE_SHIFT (4U)
  84131. /*! TSTI_TX_LS_MODE - TSTI_TX_LS_MODE
  84132. */
  84133. #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)
  84134. #define USBPHY_USB1_LOOPBACK_TOG_TSTI_TX_EN_MASK (0x20U)
  84135. #define USBPHY_USB1_LOOPBACK_TOG_TSTI_TX_EN_SHIFT (5U)
  84136. /*! TSTI_TX_EN - TSTI_TX_EN
  84137. */
  84138. #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)
  84139. #define USBPHY_USB1_LOOPBACK_TOG_TSTI_TX_HIZ_MASK (0x40U)
  84140. #define USBPHY_USB1_LOOPBACK_TOG_TSTI_TX_HIZ_SHIFT (6U)
  84141. /*! TSTI_TX_HIZ - TSTI_TX_HIZ
  84142. */
  84143. #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)
  84144. #define USBPHY_USB1_LOOPBACK_TOG_UTMO_DIG_TST0_MASK (0x80U)
  84145. #define USBPHY_USB1_LOOPBACK_TOG_UTMO_DIG_TST0_SHIFT (7U)
  84146. /*! UTMO_DIG_TST0 - UTMO_DIG_TST0
  84147. */
  84148. #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)
  84149. #define USBPHY_USB1_LOOPBACK_TOG_UTMO_DIG_TST1_MASK (0x100U)
  84150. #define USBPHY_USB1_LOOPBACK_TOG_UTMO_DIG_TST1_SHIFT (8U)
  84151. /*! UTMO_DIG_TST1 - UTMO_DIG_TST1
  84152. */
  84153. #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)
  84154. #define USBPHY_USB1_LOOPBACK_TOG_TSTI_HSFS_MODE_EN_MASK (0x8000U)
  84155. #define USBPHY_USB1_LOOPBACK_TOG_TSTI_HSFS_MODE_EN_SHIFT (15U)
  84156. /*! TSTI_HSFS_MODE_EN - TSTI_HSFS_MODE_EN
  84157. */
  84158. #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)
  84159. #define USBPHY_USB1_LOOPBACK_TOG_TSTPKT_MASK (0xFF0000U)
  84160. #define USBPHY_USB1_LOOPBACK_TOG_TSTPKT_SHIFT (16U)
  84161. /*! TSTPKT - TSTPKT
  84162. */
  84163. #define USBPHY_USB1_LOOPBACK_TOG_TSTPKT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_TOG_TSTPKT_SHIFT)) & USBPHY_USB1_LOOPBACK_TOG_TSTPKT_MASK)
  84164. /*! @} */
  84165. /*! @name USB1_LOOPBACK_HSFSCNT - USB PHY Loopback Packet Number Select Register */
  84166. /*! @{ */
  84167. #define USBPHY_USB1_LOOPBACK_HSFSCNT_TSTI_HS_NUMBER_MASK (0xFFFFU)
  84168. #define USBPHY_USB1_LOOPBACK_HSFSCNT_TSTI_HS_NUMBER_SHIFT (0U)
  84169. /*! TSTI_HS_NUMBER - TSTI_HS_NUMBER
  84170. */
  84171. #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)
  84172. #define USBPHY_USB1_LOOPBACK_HSFSCNT_TSTI_FS_NUMBER_MASK (0xFFFF0000U)
  84173. #define USBPHY_USB1_LOOPBACK_HSFSCNT_TSTI_FS_NUMBER_SHIFT (16U)
  84174. /*! TSTI_FS_NUMBER - TSTI_FS_NUMBER
  84175. */
  84176. #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)
  84177. /*! @} */
  84178. /*! @name USB1_LOOPBACK_HSFSCNT_SET - USB PHY Loopback Packet Number Select Register */
  84179. /*! @{ */
  84180. #define USBPHY_USB1_LOOPBACK_HSFSCNT_SET_TSTI_HS_NUMBER_MASK (0xFFFFU)
  84181. #define USBPHY_USB1_LOOPBACK_HSFSCNT_SET_TSTI_HS_NUMBER_SHIFT (0U)
  84182. /*! TSTI_HS_NUMBER - TSTI_HS_NUMBER
  84183. */
  84184. #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)
  84185. #define USBPHY_USB1_LOOPBACK_HSFSCNT_SET_TSTI_FS_NUMBER_MASK (0xFFFF0000U)
  84186. #define USBPHY_USB1_LOOPBACK_HSFSCNT_SET_TSTI_FS_NUMBER_SHIFT (16U)
  84187. /*! TSTI_FS_NUMBER - TSTI_FS_NUMBER
  84188. */
  84189. #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)
  84190. /*! @} */
  84191. /*! @name USB1_LOOPBACK_HSFSCNT_CLR - USB PHY Loopback Packet Number Select Register */
  84192. /*! @{ */
  84193. #define USBPHY_USB1_LOOPBACK_HSFSCNT_CLR_TSTI_HS_NUMBER_MASK (0xFFFFU)
  84194. #define USBPHY_USB1_LOOPBACK_HSFSCNT_CLR_TSTI_HS_NUMBER_SHIFT (0U)
  84195. /*! TSTI_HS_NUMBER - TSTI_HS_NUMBER
  84196. */
  84197. #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)
  84198. #define USBPHY_USB1_LOOPBACK_HSFSCNT_CLR_TSTI_FS_NUMBER_MASK (0xFFFF0000U)
  84199. #define USBPHY_USB1_LOOPBACK_HSFSCNT_CLR_TSTI_FS_NUMBER_SHIFT (16U)
  84200. /*! TSTI_FS_NUMBER - TSTI_FS_NUMBER
  84201. */
  84202. #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)
  84203. /*! @} */
  84204. /*! @name USB1_LOOPBACK_HSFSCNT_TOG - USB PHY Loopback Packet Number Select Register */
  84205. /*! @{ */
  84206. #define USBPHY_USB1_LOOPBACK_HSFSCNT_TOG_TSTI_HS_NUMBER_MASK (0xFFFFU)
  84207. #define USBPHY_USB1_LOOPBACK_HSFSCNT_TOG_TSTI_HS_NUMBER_SHIFT (0U)
  84208. /*! TSTI_HS_NUMBER - TSTI_HS_NUMBER
  84209. */
  84210. #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)
  84211. #define USBPHY_USB1_LOOPBACK_HSFSCNT_TOG_TSTI_FS_NUMBER_MASK (0xFFFF0000U)
  84212. #define USBPHY_USB1_LOOPBACK_HSFSCNT_TOG_TSTI_FS_NUMBER_SHIFT (16U)
  84213. /*! TSTI_FS_NUMBER - TSTI_FS_NUMBER
  84214. */
  84215. #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)
  84216. /*! @} */
  84217. /*! @name TRIM_OVERRIDE_EN - USB PHY Trim Override Enable Register */
  84218. /*! @{ */
  84219. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_DIV_SEL_OVERRIDE_MASK (0x1U)
  84220. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_DIV_SEL_OVERRIDE_SHIFT (0U)
  84221. /*! TRIM_DIV_SEL_OVERRIDE - TRIM_DIV_SEL_OVERRIDE
  84222. */
  84223. #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)
  84224. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_ENV_TAIL_ADJ_VD_OVERRIDE_MASK (0x2U)
  84225. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_ENV_TAIL_ADJ_VD_OVERRIDE_SHIFT (1U)
  84226. /*! TRIM_ENV_TAIL_ADJ_VD_OVERRIDE - TRIM_ENV_TAIL_ADJ_VD_OVERRIDE
  84227. */
  84228. #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)
  84229. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_TX_D_CAL_OVERRIDE_MASK (0x4U)
  84230. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_TX_D_CAL_OVERRIDE_SHIFT (2U)
  84231. /*! TRIM_TX_D_CAL_OVERRIDE - TRIM_TX_D_CAL_OVERRIDE
  84232. */
  84233. #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)
  84234. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_TX_CAL45DP_OVERRIDE_MASK (0x8U)
  84235. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_TX_CAL45DP_OVERRIDE_SHIFT (3U)
  84236. /*! TRIM_TX_CAL45DP_OVERRIDE - TRIM_TX_CAL45DP_OVERRIDE
  84237. */
  84238. #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)
  84239. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_TX_CAL45DN_OVERRIDE_MASK (0x10U)
  84240. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_TX_CAL45DN_OVERRIDE_SHIFT (4U)
  84241. /*! TRIM_TX_CAL45DN_OVERRIDE - TRIM_TX_CAL45DN_OVERRIDE
  84242. */
  84243. #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)
  84244. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_REFBIAS_VBGADJ_OVERRIDE_MASK (0x20U)
  84245. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_REFBIAS_VBGADJ_OVERRIDE_SHIFT (5U)
  84246. /*! TRIM_REFBIAS_VBGADJ_OVERRIDE - Override enable for bandgap adjustment.
  84247. */
  84248. #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)
  84249. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_REFBIAS_TST_OVERRIDE_MASK (0x40U)
  84250. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_REFBIAS_TST_OVERRIDE_SHIFT (6U)
  84251. /*! TRIM_REFBIAS_TST_OVERRIDE - Override enable for bias current control
  84252. */
  84253. #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)
  84254. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_USB2_REFBIAS_VBGADJ_MASK (0x1C00U)
  84255. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_USB2_REFBIAS_VBGADJ_SHIFT (10U)
  84256. /*! TRIM_USB2_REFBIAS_VBGADJ - TRIM_USB2_REFBIAS_VBGADJ
  84257. */
  84258. #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)
  84259. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_USB2_REFBIAS_TST_MASK (0x6000U)
  84260. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_USB2_REFBIAS_TST_SHIFT (13U)
  84261. /*! TRIM_USB2_REFBIAS_TST - TRIM_USB2_REFBIAS_TST
  84262. */
  84263. #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)
  84264. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_PLL_CTRL0_DIV_SEL_MASK (0x38000U)
  84265. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_PLL_CTRL0_DIV_SEL_SHIFT (15U)
  84266. /*! TRIM_PLL_CTRL0_DIV_SEL - TRIM_PLL_CTRL0_DIV_SEL
  84267. */
  84268. #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)
  84269. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_USB_REG_ENV_TAIL_ADJ_VD_MASK (0xC0000U)
  84270. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_USB_REG_ENV_TAIL_ADJ_VD_SHIFT (18U)
  84271. /*! TRIM_USB_REG_ENV_TAIL_ADJ_VD - TRIM_USB_REG_ENV_TAIL_ADJ_VD
  84272. */
  84273. #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)
  84274. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_USBPHY_TX_D_CAL_MASK (0xF00000U)
  84275. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_USBPHY_TX_D_CAL_SHIFT (20U)
  84276. /*! TRIM_USBPHY_TX_D_CAL - TRIM_USBPHY_TX_D_CAL
  84277. */
  84278. #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)
  84279. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_USBPHY_TX_CAL45DP_MASK (0xF000000U)
  84280. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_USBPHY_TX_CAL45DP_SHIFT (24U)
  84281. /*! TRIM_USBPHY_TX_CAL45DP - TRIM_USBPHY_TX_CAL45DP
  84282. */
  84283. #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)
  84284. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_USBPHY_TX_CAL45DN_MASK (0xF0000000U)
  84285. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_USBPHY_TX_CAL45DN_SHIFT (28U)
  84286. /*! TRIM_USBPHY_TX_CAL45DN - TRIM_USBPHY_TX_CAL45DN
  84287. */
  84288. #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)
  84289. /*! @} */
  84290. /*! @name TRIM_OVERRIDE_EN_SET - USB PHY Trim Override Enable Register */
  84291. /*! @{ */
  84292. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_DIV_SEL_OVERRIDE_MASK (0x1U)
  84293. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_DIV_SEL_OVERRIDE_SHIFT (0U)
  84294. /*! TRIM_DIV_SEL_OVERRIDE - TRIM_DIV_SEL_OVERRIDE
  84295. */
  84296. #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)
  84297. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_ENV_TAIL_ADJ_VD_OVERRIDE_MASK (0x2U)
  84298. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_ENV_TAIL_ADJ_VD_OVERRIDE_SHIFT (1U)
  84299. /*! TRIM_ENV_TAIL_ADJ_VD_OVERRIDE - TRIM_ENV_TAIL_ADJ_VD_OVERRIDE
  84300. */
  84301. #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)
  84302. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_TX_D_CAL_OVERRIDE_MASK (0x4U)
  84303. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_TX_D_CAL_OVERRIDE_SHIFT (2U)
  84304. /*! TRIM_TX_D_CAL_OVERRIDE - TRIM_TX_D_CAL_OVERRIDE
  84305. */
  84306. #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)
  84307. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_TX_CAL45DP_OVERRIDE_MASK (0x8U)
  84308. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_TX_CAL45DP_OVERRIDE_SHIFT (3U)
  84309. /*! TRIM_TX_CAL45DP_OVERRIDE - TRIM_TX_CAL45DP_OVERRIDE
  84310. */
  84311. #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)
  84312. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_TX_CAL45DN_OVERRIDE_MASK (0x10U)
  84313. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_TX_CAL45DN_OVERRIDE_SHIFT (4U)
  84314. /*! TRIM_TX_CAL45DN_OVERRIDE - TRIM_TX_CAL45DN_OVERRIDE
  84315. */
  84316. #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)
  84317. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_REFBIAS_VBGADJ_OVERRIDE_MASK (0x20U)
  84318. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_REFBIAS_VBGADJ_OVERRIDE_SHIFT (5U)
  84319. /*! TRIM_REFBIAS_VBGADJ_OVERRIDE - Override enable for bandgap adjustment.
  84320. */
  84321. #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)
  84322. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_REFBIAS_TST_OVERRIDE_MASK (0x40U)
  84323. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_REFBIAS_TST_OVERRIDE_SHIFT (6U)
  84324. /*! TRIM_REFBIAS_TST_OVERRIDE - Override enable for bias current control
  84325. */
  84326. #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)
  84327. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USB2_REFBIAS_VBGADJ_MASK (0x1C00U)
  84328. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USB2_REFBIAS_VBGADJ_SHIFT (10U)
  84329. /*! TRIM_USB2_REFBIAS_VBGADJ - TRIM_USB2_REFBIAS_VBGADJ
  84330. */
  84331. #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)
  84332. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USB2_REFBIAS_TST_MASK (0x6000U)
  84333. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USB2_REFBIAS_TST_SHIFT (13U)
  84334. /*! TRIM_USB2_REFBIAS_TST - TRIM_USB2_REFBIAS_TST
  84335. */
  84336. #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)
  84337. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_PLL_CTRL0_DIV_SEL_MASK (0x38000U)
  84338. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_PLL_CTRL0_DIV_SEL_SHIFT (15U)
  84339. /*! TRIM_PLL_CTRL0_DIV_SEL - TRIM_PLL_CTRL0_DIV_SEL
  84340. */
  84341. #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)
  84342. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USB_REG_ENV_TAIL_ADJ_VD_MASK (0xC0000U)
  84343. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USB_REG_ENV_TAIL_ADJ_VD_SHIFT (18U)
  84344. /*! TRIM_USB_REG_ENV_TAIL_ADJ_VD - TRIM_USB_REG_ENV_TAIL_ADJ_VD
  84345. */
  84346. #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)
  84347. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USBPHY_TX_D_CAL_MASK (0xF00000U)
  84348. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USBPHY_TX_D_CAL_SHIFT (20U)
  84349. /*! TRIM_USBPHY_TX_D_CAL - TRIM_USBPHY_TX_D_CAL
  84350. */
  84351. #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)
  84352. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USBPHY_TX_CAL45DP_MASK (0xF000000U)
  84353. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USBPHY_TX_CAL45DP_SHIFT (24U)
  84354. /*! TRIM_USBPHY_TX_CAL45DP - TRIM_USBPHY_TX_CAL45DP
  84355. */
  84356. #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)
  84357. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USBPHY_TX_CAL45DN_MASK (0xF0000000U)
  84358. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USBPHY_TX_CAL45DN_SHIFT (28U)
  84359. /*! TRIM_USBPHY_TX_CAL45DN - TRIM_USBPHY_TX_CAL45DN
  84360. */
  84361. #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)
  84362. /*! @} */
  84363. /*! @name TRIM_OVERRIDE_EN_CLR - USB PHY Trim Override Enable Register */
  84364. /*! @{ */
  84365. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_DIV_SEL_OVERRIDE_MASK (0x1U)
  84366. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_DIV_SEL_OVERRIDE_SHIFT (0U)
  84367. /*! TRIM_DIV_SEL_OVERRIDE - TRIM_DIV_SEL_OVERRIDE
  84368. */
  84369. #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)
  84370. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_ENV_TAIL_ADJ_VD_OVERRIDE_MASK (0x2U)
  84371. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_ENV_TAIL_ADJ_VD_OVERRIDE_SHIFT (1U)
  84372. /*! TRIM_ENV_TAIL_ADJ_VD_OVERRIDE - TRIM_ENV_TAIL_ADJ_VD_OVERRIDE
  84373. */
  84374. #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)
  84375. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_TX_D_CAL_OVERRIDE_MASK (0x4U)
  84376. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_TX_D_CAL_OVERRIDE_SHIFT (2U)
  84377. /*! TRIM_TX_D_CAL_OVERRIDE - TRIM_TX_D_CAL_OVERRIDE
  84378. */
  84379. #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)
  84380. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_TX_CAL45DP_OVERRIDE_MASK (0x8U)
  84381. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_TX_CAL45DP_OVERRIDE_SHIFT (3U)
  84382. /*! TRIM_TX_CAL45DP_OVERRIDE - TRIM_TX_CAL45DP_OVERRIDE
  84383. */
  84384. #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)
  84385. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_TX_CAL45DN_OVERRIDE_MASK (0x10U)
  84386. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_TX_CAL45DN_OVERRIDE_SHIFT (4U)
  84387. /*! TRIM_TX_CAL45DN_OVERRIDE - TRIM_TX_CAL45DN_OVERRIDE
  84388. */
  84389. #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)
  84390. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_REFBIAS_VBGADJ_OVERRIDE_MASK (0x20U)
  84391. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_REFBIAS_VBGADJ_OVERRIDE_SHIFT (5U)
  84392. /*! TRIM_REFBIAS_VBGADJ_OVERRIDE - Override enable for bandgap adjustment.
  84393. */
  84394. #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)
  84395. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_REFBIAS_TST_OVERRIDE_MASK (0x40U)
  84396. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_REFBIAS_TST_OVERRIDE_SHIFT (6U)
  84397. /*! TRIM_REFBIAS_TST_OVERRIDE - Override enable for bias current control
  84398. */
  84399. #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)
  84400. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USB2_REFBIAS_VBGADJ_MASK (0x1C00U)
  84401. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USB2_REFBIAS_VBGADJ_SHIFT (10U)
  84402. /*! TRIM_USB2_REFBIAS_VBGADJ - TRIM_USB2_REFBIAS_VBGADJ
  84403. */
  84404. #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)
  84405. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USB2_REFBIAS_TST_MASK (0x6000U)
  84406. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USB2_REFBIAS_TST_SHIFT (13U)
  84407. /*! TRIM_USB2_REFBIAS_TST - TRIM_USB2_REFBIAS_TST
  84408. */
  84409. #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)
  84410. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_PLL_CTRL0_DIV_SEL_MASK (0x38000U)
  84411. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_PLL_CTRL0_DIV_SEL_SHIFT (15U)
  84412. /*! TRIM_PLL_CTRL0_DIV_SEL - TRIM_PLL_CTRL0_DIV_SEL
  84413. */
  84414. #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)
  84415. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USB_REG_ENV_TAIL_ADJ_VD_MASK (0xC0000U)
  84416. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USB_REG_ENV_TAIL_ADJ_VD_SHIFT (18U)
  84417. /*! TRIM_USB_REG_ENV_TAIL_ADJ_VD - TRIM_USB_REG_ENV_TAIL_ADJ_VD
  84418. */
  84419. #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)
  84420. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USBPHY_TX_D_CAL_MASK (0xF00000U)
  84421. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USBPHY_TX_D_CAL_SHIFT (20U)
  84422. /*! TRIM_USBPHY_TX_D_CAL - TRIM_USBPHY_TX_D_CAL
  84423. */
  84424. #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)
  84425. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USBPHY_TX_CAL45DP_MASK (0xF000000U)
  84426. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USBPHY_TX_CAL45DP_SHIFT (24U)
  84427. /*! TRIM_USBPHY_TX_CAL45DP - TRIM_USBPHY_TX_CAL45DP
  84428. */
  84429. #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)
  84430. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USBPHY_TX_CAL45DN_MASK (0xF0000000U)
  84431. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USBPHY_TX_CAL45DN_SHIFT (28U)
  84432. /*! TRIM_USBPHY_TX_CAL45DN - TRIM_USBPHY_TX_CAL45DN
  84433. */
  84434. #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)
  84435. /*! @} */
  84436. /*! @name TRIM_OVERRIDE_EN_TOG - USB PHY Trim Override Enable Register */
  84437. /*! @{ */
  84438. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_DIV_SEL_OVERRIDE_MASK (0x1U)
  84439. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_DIV_SEL_OVERRIDE_SHIFT (0U)
  84440. /*! TRIM_DIV_SEL_OVERRIDE - TRIM_DIV_SEL_OVERRIDE
  84441. */
  84442. #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)
  84443. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_ENV_TAIL_ADJ_VD_OVERRIDE_MASK (0x2U)
  84444. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_ENV_TAIL_ADJ_VD_OVERRIDE_SHIFT (1U)
  84445. /*! TRIM_ENV_TAIL_ADJ_VD_OVERRIDE - TRIM_ENV_TAIL_ADJ_VD_OVERRIDE
  84446. */
  84447. #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)
  84448. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_TX_D_CAL_OVERRIDE_MASK (0x4U)
  84449. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_TX_D_CAL_OVERRIDE_SHIFT (2U)
  84450. /*! TRIM_TX_D_CAL_OVERRIDE - TRIM_TX_D_CAL_OVERRIDE
  84451. */
  84452. #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)
  84453. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_TX_CAL45DP_OVERRIDE_MASK (0x8U)
  84454. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_TX_CAL45DP_OVERRIDE_SHIFT (3U)
  84455. /*! TRIM_TX_CAL45DP_OVERRIDE - TRIM_TX_CAL45DP_OVERRIDE
  84456. */
  84457. #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)
  84458. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_TX_CAL45DN_OVERRIDE_MASK (0x10U)
  84459. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_TX_CAL45DN_OVERRIDE_SHIFT (4U)
  84460. /*! TRIM_TX_CAL45DN_OVERRIDE - TRIM_TX_CAL45DN_OVERRIDE
  84461. */
  84462. #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)
  84463. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_REFBIAS_VBGADJ_OVERRIDE_MASK (0x20U)
  84464. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_REFBIAS_VBGADJ_OVERRIDE_SHIFT (5U)
  84465. /*! TRIM_REFBIAS_VBGADJ_OVERRIDE - Override enable for bandgap adjustment.
  84466. */
  84467. #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)
  84468. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_REFBIAS_TST_OVERRIDE_MASK (0x40U)
  84469. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_REFBIAS_TST_OVERRIDE_SHIFT (6U)
  84470. /*! TRIM_REFBIAS_TST_OVERRIDE - Override enable for bias current control
  84471. */
  84472. #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)
  84473. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USB2_REFBIAS_VBGADJ_MASK (0x1C00U)
  84474. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USB2_REFBIAS_VBGADJ_SHIFT (10U)
  84475. /*! TRIM_USB2_REFBIAS_VBGADJ - TRIM_USB2_REFBIAS_VBGADJ
  84476. */
  84477. #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)
  84478. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USB2_REFBIAS_TST_MASK (0x6000U)
  84479. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USB2_REFBIAS_TST_SHIFT (13U)
  84480. /*! TRIM_USB2_REFBIAS_TST - TRIM_USB2_REFBIAS_TST
  84481. */
  84482. #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)
  84483. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_PLL_CTRL0_DIV_SEL_MASK (0x38000U)
  84484. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_PLL_CTRL0_DIV_SEL_SHIFT (15U)
  84485. /*! TRIM_PLL_CTRL0_DIV_SEL - TRIM_PLL_CTRL0_DIV_SEL
  84486. */
  84487. #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)
  84488. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USB_REG_ENV_TAIL_ADJ_VD_MASK (0xC0000U)
  84489. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USB_REG_ENV_TAIL_ADJ_VD_SHIFT (18U)
  84490. /*! TRIM_USB_REG_ENV_TAIL_ADJ_VD - TRIM_USB_REG_ENV_TAIL_ADJ_VD
  84491. */
  84492. #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)
  84493. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USBPHY_TX_D_CAL_MASK (0xF00000U)
  84494. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USBPHY_TX_D_CAL_SHIFT (20U)
  84495. /*! TRIM_USBPHY_TX_D_CAL - TRIM_USBPHY_TX_D_CAL
  84496. */
  84497. #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)
  84498. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USBPHY_TX_CAL45DP_MASK (0xF000000U)
  84499. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USBPHY_TX_CAL45DP_SHIFT (24U)
  84500. /*! TRIM_USBPHY_TX_CAL45DP - TRIM_USBPHY_TX_CAL45DP
  84501. */
  84502. #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)
  84503. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USBPHY_TX_CAL45DN_MASK (0xF0000000U)
  84504. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USBPHY_TX_CAL45DN_SHIFT (28U)
  84505. /*! TRIM_USBPHY_TX_CAL45DN - TRIM_USBPHY_TX_CAL45DN
  84506. */
  84507. #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)
  84508. /*! @} */
  84509. /*!
  84510. * @}
  84511. */ /* end of group USBPHY_Register_Masks */
  84512. /* USBPHY - Peripheral instance base addresses */
  84513. /** Peripheral USBPHY1 base address */
  84514. #define USBPHY1_BASE (0x40434000u)
  84515. /** Peripheral USBPHY1 base pointer */
  84516. #define USBPHY1 ((USBPHY_Type *)USBPHY1_BASE)
  84517. /** Peripheral USBPHY2 base address */
  84518. #define USBPHY2_BASE (0x40438000u)
  84519. /** Peripheral USBPHY2 base pointer */
  84520. #define USBPHY2 ((USBPHY_Type *)USBPHY2_BASE)
  84521. /** Array initializer of USBPHY peripheral base addresses */
  84522. #define USBPHY_BASE_ADDRS { 0u, USBPHY1_BASE, USBPHY2_BASE }
  84523. /** Array initializer of USBPHY peripheral base pointers */
  84524. #define USBPHY_BASE_PTRS { (USBPHY_Type *)0u, USBPHY1, USBPHY2 }
  84525. /** Interrupt vectors for the USBPHY peripheral type */
  84526. #define USBPHY_IRQS { NotAvail_IRQn, USBPHY1_IRQn, USBPHY2_IRQn }
  84527. /* Backward compatibility */
  84528. #define USBPHY_CTRL_ENDEVPLUGINDET_MASK USBPHY_CTRL_ENDEVPLUGINDETECT_MASK
  84529. #define USBPHY_CTRL_ENDEVPLUGINDET_SHIFT USBPHY_CTRL_ENDEVPLUGINDETECT_SHIFT
  84530. #define USBPHY_CTRL_ENDEVPLUGINDET(x) USBPHY_CTRL_ENDEVPLUGINDETECT(x)
  84531. #define USBPHY_TX_TXCAL45DM_MASK USBPHY_TX_TXCAL45DN_MASK
  84532. #define USBPHY_TX_TXCAL45DM_SHIFT USBPHY_TX_TXCAL45DN_SHIFT
  84533. #define USBPHY_TX_TXCAL45DM(x) USBPHY_TX_TXCAL45DN(x)
  84534. /*!
  84535. * @}
  84536. */ /* end of group USBPHY_Peripheral_Access_Layer */
  84537. /* ----------------------------------------------------------------------------
  84538. -- USDHC Peripheral Access Layer
  84539. ---------------------------------------------------------------------------- */
  84540. /*!
  84541. * @addtogroup USDHC_Peripheral_Access_Layer USDHC Peripheral Access Layer
  84542. * @{
  84543. */
  84544. /** USDHC - Register Layout Typedef */
  84545. typedef struct {
  84546. __IO uint32_t DS_ADDR; /**< DMA System Address, offset: 0x0 */
  84547. __IO uint32_t BLK_ATT; /**< Block Attributes, offset: 0x4 */
  84548. __IO uint32_t CMD_ARG; /**< Command Argument, offset: 0x8 */
  84549. __IO uint32_t CMD_XFR_TYP; /**< Command Transfer Type, offset: 0xC */
  84550. __I uint32_t CMD_RSP0; /**< Command Response0, offset: 0x10 */
  84551. __I uint32_t CMD_RSP1; /**< Command Response1, offset: 0x14 */
  84552. __I uint32_t CMD_RSP2; /**< Command Response2, offset: 0x18 */
  84553. __I uint32_t CMD_RSP3; /**< Command Response3, offset: 0x1C */
  84554. __IO uint32_t DATA_BUFF_ACC_PORT; /**< Data Buffer Access Port, offset: 0x20 */
  84555. __I uint32_t PRES_STATE; /**< Present State, offset: 0x24 */
  84556. __IO uint32_t PROT_CTRL; /**< Protocol Control, offset: 0x28 */
  84557. __IO uint32_t SYS_CTRL; /**< System Control, offset: 0x2C */
  84558. __IO uint32_t INT_STATUS; /**< Interrupt Status, offset: 0x30 */
  84559. __IO uint32_t INT_STATUS_EN; /**< Interrupt Status Enable, offset: 0x34 */
  84560. __IO uint32_t INT_SIGNAL_EN; /**< Interrupt Signal Enable, offset: 0x38 */
  84561. __IO uint32_t AUTOCMD12_ERR_STATUS; /**< Auto CMD12 Error Status, offset: 0x3C */
  84562. __IO uint32_t HOST_CTRL_CAP; /**< Host Controller Capabilities, offset: 0x40 */
  84563. __IO uint32_t WTMK_LVL; /**< Watermark Level, offset: 0x44 */
  84564. __IO uint32_t MIX_CTRL; /**< Mixer Control, offset: 0x48 */
  84565. uint8_t RESERVED_0[4];
  84566. __O uint32_t FORCE_EVENT; /**< Force Event, offset: 0x50 */
  84567. __I uint32_t ADMA_ERR_STATUS; /**< ADMA Error Status, offset: 0x54 */
  84568. __IO uint32_t ADMA_SYS_ADDR; /**< ADMA System Address, offset: 0x58 */
  84569. uint8_t RESERVED_1[4];
  84570. __IO uint32_t DLL_CTRL; /**< DLL (Delay Line) Control, offset: 0x60 */
  84571. __I uint32_t DLL_STATUS; /**< DLL Status, offset: 0x64 */
  84572. __IO uint32_t CLK_TUNE_CTRL_STATUS; /**< CLK Tuning Control and Status, offset: 0x68 */
  84573. uint8_t RESERVED_2[4];
  84574. __IO uint32_t STROBE_DLL_CTRL; /**< Strobe DLL control, offset: 0x70 */
  84575. __I uint32_t STROBE_DLL_STATUS; /**< Strobe DLL status, offset: 0x74 */
  84576. uint8_t RESERVED_3[72];
  84577. __IO uint32_t VEND_SPEC; /**< Vendor Specific Register, offset: 0xC0 */
  84578. __IO uint32_t MMC_BOOT; /**< MMC Boot, offset: 0xC4 */
  84579. __IO uint32_t VEND_SPEC2; /**< Vendor Specific 2 Register, offset: 0xC8 */
  84580. __IO uint32_t TUNING_CTRL; /**< Tuning Control, offset: 0xCC */
  84581. } USDHC_Type;
  84582. /* ----------------------------------------------------------------------------
  84583. -- USDHC Register Masks
  84584. ---------------------------------------------------------------------------- */
  84585. /*!
  84586. * @addtogroup USDHC_Register_Masks USDHC Register Masks
  84587. * @{
  84588. */
  84589. /*! @name DS_ADDR - DMA System Address */
  84590. /*! @{ */
  84591. #define USDHC_DS_ADDR_DS_ADDR_MASK (0xFFFFFFFFU)
  84592. #define USDHC_DS_ADDR_DS_ADDR_SHIFT (0U)
  84593. /*! DS_ADDR - System address
  84594. */
  84595. #define USDHC_DS_ADDR_DS_ADDR(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DS_ADDR_DS_ADDR_SHIFT)) & USDHC_DS_ADDR_DS_ADDR_MASK)
  84596. /*! @} */
  84597. /*! @name BLK_ATT - Block Attributes */
  84598. /*! @{ */
  84599. #define USDHC_BLK_ATT_BLKSIZE_MASK (0x1FFFU)
  84600. #define USDHC_BLK_ATT_BLKSIZE_SHIFT (0U)
  84601. /*! BLKSIZE - Transfer block size
  84602. * 0b1000000000000..4096 bytes
  84603. * 0b0100000000000..2048 bytes
  84604. * 0b0001000000000..512 bytes
  84605. * 0b0000111111111..511 bytes
  84606. * 0b0000000000100..4 bytes
  84607. * 0b0000000000011..3 bytes
  84608. * 0b0000000000010..2 bytes
  84609. * 0b0000000000001..1 byte
  84610. * 0b0000000000000..No data transfer
  84611. */
  84612. #define USDHC_BLK_ATT_BLKSIZE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_BLK_ATT_BLKSIZE_SHIFT)) & USDHC_BLK_ATT_BLKSIZE_MASK)
  84613. #define USDHC_BLK_ATT_BLKCNT_MASK (0xFFFF0000U)
  84614. #define USDHC_BLK_ATT_BLKCNT_SHIFT (16U)
  84615. /*! BLKCNT - Blocks count for current transfer
  84616. * 0b1111111111111111..65535 blocks
  84617. * 0b0000000000000010..2 blocks
  84618. * 0b0000000000000001..1 block
  84619. * 0b0000000000000000..Stop count
  84620. */
  84621. #define USDHC_BLK_ATT_BLKCNT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_BLK_ATT_BLKCNT_SHIFT)) & USDHC_BLK_ATT_BLKCNT_MASK)
  84622. /*! @} */
  84623. /*! @name CMD_ARG - Command Argument */
  84624. /*! @{ */
  84625. #define USDHC_CMD_ARG_CMDARG_MASK (0xFFFFFFFFU)
  84626. #define USDHC_CMD_ARG_CMDARG_SHIFT (0U)
  84627. /*! CMDARG - Command argument
  84628. */
  84629. #define USDHC_CMD_ARG_CMDARG(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_ARG_CMDARG_SHIFT)) & USDHC_CMD_ARG_CMDARG_MASK)
  84630. /*! @} */
  84631. /*! @name CMD_XFR_TYP - Command Transfer Type */
  84632. /*! @{ */
  84633. #define USDHC_CMD_XFR_TYP_RSPTYP_MASK (0x30000U)
  84634. #define USDHC_CMD_XFR_TYP_RSPTYP_SHIFT (16U)
  84635. /*! RSPTYP - Response type select
  84636. * 0b00..No response
  84637. * 0b01..Response length 136
  84638. * 0b10..Response length 48
  84639. * 0b11..Response length 48, check busy after response
  84640. */
  84641. #define USDHC_CMD_XFR_TYP_RSPTYP(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_RSPTYP_SHIFT)) & USDHC_CMD_XFR_TYP_RSPTYP_MASK)
  84642. #define USDHC_CMD_XFR_TYP_CCCEN_MASK (0x80000U)
  84643. #define USDHC_CMD_XFR_TYP_CCCEN_SHIFT (19U)
  84644. /*! CCCEN - Command CRC check enable
  84645. * 0b1..Enables command CRC check
  84646. * 0b0..Disables command CRC check
  84647. */
  84648. #define USDHC_CMD_XFR_TYP_CCCEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_CCCEN_SHIFT)) & USDHC_CMD_XFR_TYP_CCCEN_MASK)
  84649. #define USDHC_CMD_XFR_TYP_CICEN_MASK (0x100000U)
  84650. #define USDHC_CMD_XFR_TYP_CICEN_SHIFT (20U)
  84651. /*! CICEN - Command index check enable
  84652. * 0b1..Enables command index check
  84653. * 0b0..Disable command index check
  84654. */
  84655. #define USDHC_CMD_XFR_TYP_CICEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_CICEN_SHIFT)) & USDHC_CMD_XFR_TYP_CICEN_MASK)
  84656. #define USDHC_CMD_XFR_TYP_DPSEL_MASK (0x200000U)
  84657. #define USDHC_CMD_XFR_TYP_DPSEL_SHIFT (21U)
  84658. /*! DPSEL - Data present select
  84659. * 0b1..Data present
  84660. * 0b0..No data present
  84661. */
  84662. #define USDHC_CMD_XFR_TYP_DPSEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_DPSEL_SHIFT)) & USDHC_CMD_XFR_TYP_DPSEL_MASK)
  84663. #define USDHC_CMD_XFR_TYP_CMDTYP_MASK (0xC00000U)
  84664. #define USDHC_CMD_XFR_TYP_CMDTYP_SHIFT (22U)
  84665. /*! CMDTYP - Command type
  84666. * 0b11..Abort CMD12, CMD52 for writing I/O Abort in CCCR
  84667. * 0b10..Resume CMD52 for writing function select in CCCR
  84668. * 0b01..Suspend CMD52 for writing bus suspend in CCCR
  84669. * 0b00..Normal other commands
  84670. */
  84671. #define USDHC_CMD_XFR_TYP_CMDTYP(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_CMDTYP_SHIFT)) & USDHC_CMD_XFR_TYP_CMDTYP_MASK)
  84672. #define USDHC_CMD_XFR_TYP_CMDINX_MASK (0x3F000000U)
  84673. #define USDHC_CMD_XFR_TYP_CMDINX_SHIFT (24U)
  84674. /*! CMDINX - Command index
  84675. */
  84676. #define USDHC_CMD_XFR_TYP_CMDINX(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_CMDINX_SHIFT)) & USDHC_CMD_XFR_TYP_CMDINX_MASK)
  84677. /*! @} */
  84678. /*! @name CMD_RSP0 - Command Response0 */
  84679. /*! @{ */
  84680. #define USDHC_CMD_RSP0_CMDRSP0_MASK (0xFFFFFFFFU)
  84681. #define USDHC_CMD_RSP0_CMDRSP0_SHIFT (0U)
  84682. /*! CMDRSP0 - Command response 0
  84683. */
  84684. #define USDHC_CMD_RSP0_CMDRSP0(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_RSP0_CMDRSP0_SHIFT)) & USDHC_CMD_RSP0_CMDRSP0_MASK)
  84685. /*! @} */
  84686. /*! @name CMD_RSP1 - Command Response1 */
  84687. /*! @{ */
  84688. #define USDHC_CMD_RSP1_CMDRSP1_MASK (0xFFFFFFFFU)
  84689. #define USDHC_CMD_RSP1_CMDRSP1_SHIFT (0U)
  84690. /*! CMDRSP1 - Command response 1
  84691. */
  84692. #define USDHC_CMD_RSP1_CMDRSP1(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_RSP1_CMDRSP1_SHIFT)) & USDHC_CMD_RSP1_CMDRSP1_MASK)
  84693. /*! @} */
  84694. /*! @name CMD_RSP2 - Command Response2 */
  84695. /*! @{ */
  84696. #define USDHC_CMD_RSP2_CMDRSP2_MASK (0xFFFFFFFFU)
  84697. #define USDHC_CMD_RSP2_CMDRSP2_SHIFT (0U)
  84698. /*! CMDRSP2 - Command response 2
  84699. */
  84700. #define USDHC_CMD_RSP2_CMDRSP2(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_RSP2_CMDRSP2_SHIFT)) & USDHC_CMD_RSP2_CMDRSP2_MASK)
  84701. /*! @} */
  84702. /*! @name CMD_RSP3 - Command Response3 */
  84703. /*! @{ */
  84704. #define USDHC_CMD_RSP3_CMDRSP3_MASK (0xFFFFFFFFU)
  84705. #define USDHC_CMD_RSP3_CMDRSP3_SHIFT (0U)
  84706. /*! CMDRSP3 - Command response 3
  84707. */
  84708. #define USDHC_CMD_RSP3_CMDRSP3(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_RSP3_CMDRSP3_SHIFT)) & USDHC_CMD_RSP3_CMDRSP3_MASK)
  84709. /*! @} */
  84710. /*! @name DATA_BUFF_ACC_PORT - Data Buffer Access Port */
  84711. /*! @{ */
  84712. #define USDHC_DATA_BUFF_ACC_PORT_DATCONT_MASK (0xFFFFFFFFU)
  84713. #define USDHC_DATA_BUFF_ACC_PORT_DATCONT_SHIFT (0U)
  84714. /*! DATCONT - Data content
  84715. */
  84716. #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)
  84717. /*! @} */
  84718. /*! @name PRES_STATE - Present State */
  84719. /*! @{ */
  84720. #define USDHC_PRES_STATE_CIHB_MASK (0x1U)
  84721. #define USDHC_PRES_STATE_CIHB_SHIFT (0U)
  84722. /*! CIHB - Command inhibit (CMD)
  84723. * 0b1..Cannot issue command
  84724. * 0b0..Can issue command using only CMD line
  84725. */
  84726. #define USDHC_PRES_STATE_CIHB(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_CIHB_SHIFT)) & USDHC_PRES_STATE_CIHB_MASK)
  84727. #define USDHC_PRES_STATE_CDIHB_MASK (0x2U)
  84728. #define USDHC_PRES_STATE_CDIHB_SHIFT (1U)
  84729. /*! CDIHB - Command Inhibit Data (DATA)
  84730. * 0b1..Cannot issue command that uses the DATA line
  84731. * 0b0..Can issue command that uses the DATA line
  84732. */
  84733. #define USDHC_PRES_STATE_CDIHB(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_CDIHB_SHIFT)) & USDHC_PRES_STATE_CDIHB_MASK)
  84734. #define USDHC_PRES_STATE_DLA_MASK (0x4U)
  84735. #define USDHC_PRES_STATE_DLA_SHIFT (2U)
  84736. /*! DLA - Data line active
  84737. * 0b1..DATA line active
  84738. * 0b0..DATA line inactive
  84739. */
  84740. #define USDHC_PRES_STATE_DLA(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_DLA_SHIFT)) & USDHC_PRES_STATE_DLA_MASK)
  84741. #define USDHC_PRES_STATE_SDSTB_MASK (0x8U)
  84742. #define USDHC_PRES_STATE_SDSTB_SHIFT (3U)
  84743. /*! SDSTB - SD clock stable
  84744. * 0b1..Clock is stable.
  84745. * 0b0..Clock is changing frequency and not stable.
  84746. */
  84747. #define USDHC_PRES_STATE_SDSTB(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_SDSTB_SHIFT)) & USDHC_PRES_STATE_SDSTB_MASK)
  84748. #define USDHC_PRES_STATE_IPGOFF_MASK (0x10U)
  84749. #define USDHC_PRES_STATE_IPGOFF_SHIFT (4U)
  84750. /*! IPGOFF - Peripheral clock gated off internally
  84751. * 0b1..Peripheral clock is gated off.
  84752. * 0b0..Peripheral clock is active.
  84753. */
  84754. #define USDHC_PRES_STATE_IPGOFF(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_IPGOFF_SHIFT)) & USDHC_PRES_STATE_IPGOFF_MASK)
  84755. #define USDHC_PRES_STATE_HCKOFF_MASK (0x20U)
  84756. #define USDHC_PRES_STATE_HCKOFF_SHIFT (5U)
  84757. /*! HCKOFF - HCLK gated off internally
  84758. * 0b1..HCLK is gated off.
  84759. * 0b0..HCLK is active.
  84760. */
  84761. #define USDHC_PRES_STATE_HCKOFF(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_HCKOFF_SHIFT)) & USDHC_PRES_STATE_HCKOFF_MASK)
  84762. #define USDHC_PRES_STATE_PEROFF_MASK (0x40U)
  84763. #define USDHC_PRES_STATE_PEROFF_SHIFT (6U)
  84764. /*! PEROFF - IPG_PERCLK gated off internally
  84765. * 0b1..IPG_PERCLK is gated off.
  84766. * 0b0..IPG_PERCLK is active.
  84767. */
  84768. #define USDHC_PRES_STATE_PEROFF(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_PEROFF_SHIFT)) & USDHC_PRES_STATE_PEROFF_MASK)
  84769. #define USDHC_PRES_STATE_SDOFF_MASK (0x80U)
  84770. #define USDHC_PRES_STATE_SDOFF_SHIFT (7U)
  84771. /*! SDOFF - SD clock gated off internally
  84772. * 0b1..SD clock is gated off.
  84773. * 0b0..SD clock is active.
  84774. */
  84775. #define USDHC_PRES_STATE_SDOFF(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_SDOFF_SHIFT)) & USDHC_PRES_STATE_SDOFF_MASK)
  84776. #define USDHC_PRES_STATE_WTA_MASK (0x100U)
  84777. #define USDHC_PRES_STATE_WTA_SHIFT (8U)
  84778. /*! WTA - Write transfer active
  84779. * 0b1..Transferring data
  84780. * 0b0..No valid data
  84781. */
  84782. #define USDHC_PRES_STATE_WTA(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_WTA_SHIFT)) & USDHC_PRES_STATE_WTA_MASK)
  84783. #define USDHC_PRES_STATE_RTA_MASK (0x200U)
  84784. #define USDHC_PRES_STATE_RTA_SHIFT (9U)
  84785. /*! RTA - Read transfer active
  84786. * 0b1..Transferring data
  84787. * 0b0..No valid data
  84788. */
  84789. #define USDHC_PRES_STATE_RTA(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_RTA_SHIFT)) & USDHC_PRES_STATE_RTA_MASK)
  84790. #define USDHC_PRES_STATE_BWEN_MASK (0x400U)
  84791. #define USDHC_PRES_STATE_BWEN_SHIFT (10U)
  84792. /*! BWEN - Buffer write enable
  84793. * 0b1..Write enable
  84794. * 0b0..Write disable
  84795. */
  84796. #define USDHC_PRES_STATE_BWEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_BWEN_SHIFT)) & USDHC_PRES_STATE_BWEN_MASK)
  84797. #define USDHC_PRES_STATE_BREN_MASK (0x800U)
  84798. #define USDHC_PRES_STATE_BREN_SHIFT (11U)
  84799. /*! BREN - Buffer read enable
  84800. * 0b1..Read enable
  84801. * 0b0..Read disable
  84802. */
  84803. #define USDHC_PRES_STATE_BREN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_BREN_SHIFT)) & USDHC_PRES_STATE_BREN_MASK)
  84804. #define USDHC_PRES_STATE_RTR_MASK (0x1000U)
  84805. #define USDHC_PRES_STATE_RTR_SHIFT (12U)
  84806. /*! RTR - Re-Tuning Request (only for SD3.0 SDR104 mode,and EMMC HS200 mode)
  84807. * 0b1..Sampling clock needs re-tuning
  84808. * 0b0..Fixed or well tuned sampling clock
  84809. */
  84810. #define USDHC_PRES_STATE_RTR(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_RTR_SHIFT)) & USDHC_PRES_STATE_RTR_MASK)
  84811. #define USDHC_PRES_STATE_TSCD_MASK (0x8000U)
  84812. #define USDHC_PRES_STATE_TSCD_SHIFT (15U)
  84813. /*! TSCD - Tap select change done
  84814. * 0b1..Delay cell select change is finished.
  84815. * 0b0..Delay cell select change is not finished.
  84816. */
  84817. #define USDHC_PRES_STATE_TSCD(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_TSCD_SHIFT)) & USDHC_PRES_STATE_TSCD_MASK)
  84818. #define USDHC_PRES_STATE_CINST_MASK (0x10000U)
  84819. #define USDHC_PRES_STATE_CINST_SHIFT (16U)
  84820. /*! CINST - Card inserted
  84821. * 0b1..Card inserted
  84822. * 0b0..Power on reset or no card
  84823. */
  84824. #define USDHC_PRES_STATE_CINST(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_CINST_SHIFT)) & USDHC_PRES_STATE_CINST_MASK)
  84825. #define USDHC_PRES_STATE_CDPL_MASK (0x40000U)
  84826. #define USDHC_PRES_STATE_CDPL_SHIFT (18U)
  84827. /*! CDPL - Card detect pin level
  84828. * 0b1..Card present (CD_B = 0)
  84829. * 0b0..No card present (CD_B = 1)
  84830. */
  84831. #define USDHC_PRES_STATE_CDPL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_CDPL_SHIFT)) & USDHC_PRES_STATE_CDPL_MASK)
  84832. #define USDHC_PRES_STATE_WPSPL_MASK (0x80000U)
  84833. #define USDHC_PRES_STATE_WPSPL_SHIFT (19U)
  84834. /*! WPSPL - Write protect switch pin level
  84835. * 0b1..Write enabled (WP = 0)
  84836. * 0b0..Write protected (WP = 1)
  84837. */
  84838. #define USDHC_PRES_STATE_WPSPL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_WPSPL_SHIFT)) & USDHC_PRES_STATE_WPSPL_MASK)
  84839. #define USDHC_PRES_STATE_CLSL_MASK (0x800000U)
  84840. #define USDHC_PRES_STATE_CLSL_SHIFT (23U)
  84841. /*! CLSL - CMD line signal level
  84842. */
  84843. #define USDHC_PRES_STATE_CLSL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_CLSL_SHIFT)) & USDHC_PRES_STATE_CLSL_MASK)
  84844. #define USDHC_PRES_STATE_DLSL_MASK (0xFF000000U)
  84845. #define USDHC_PRES_STATE_DLSL_SHIFT (24U)
  84846. /*! DLSL - DATA[7:0] line signal level
  84847. * 0b00000111..Data 7 line signal level
  84848. * 0b00000110..Data 6 line signal level
  84849. * 0b00000101..Data 5 line signal level
  84850. * 0b00000100..Data 4 line signal level
  84851. * 0b00000011..Data 3 line signal level
  84852. * 0b00000010..Data 2 line signal level
  84853. * 0b00000001..Data 1 line signal level
  84854. * 0b00000000..Data 0 line signal level
  84855. */
  84856. #define USDHC_PRES_STATE_DLSL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_DLSL_SHIFT)) & USDHC_PRES_STATE_DLSL_MASK)
  84857. /*! @} */
  84858. /*! @name PROT_CTRL - Protocol Control */
  84859. /*! @{ */
  84860. #define USDHC_PROT_CTRL_DTW_MASK (0x6U)
  84861. #define USDHC_PROT_CTRL_DTW_SHIFT (1U)
  84862. /*! DTW - Data transfer width
  84863. * 0b10..8-bit mode
  84864. * 0b01..4-bit mode
  84865. * 0b00..1-bit mode
  84866. * 0b11..Reserved
  84867. */
  84868. #define USDHC_PROT_CTRL_DTW(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_DTW_SHIFT)) & USDHC_PROT_CTRL_DTW_MASK)
  84869. #define USDHC_PROT_CTRL_D3CD_MASK (0x8U)
  84870. #define USDHC_PROT_CTRL_D3CD_SHIFT (3U)
  84871. /*! D3CD - DATA3 as card detection pin
  84872. * 0b1..DATA3 as card detection pin
  84873. * 0b0..DATA3 does not monitor card insertion
  84874. */
  84875. #define USDHC_PROT_CTRL_D3CD(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_D3CD_SHIFT)) & USDHC_PROT_CTRL_D3CD_MASK)
  84876. #define USDHC_PROT_CTRL_EMODE_MASK (0x30U)
  84877. #define USDHC_PROT_CTRL_EMODE_SHIFT (4U)
  84878. /*! EMODE - Endian mode
  84879. * 0b00..Big endian mode
  84880. * 0b01..Half word big endian mode
  84881. * 0b10..Little endian mode
  84882. * 0b11..Reserved
  84883. */
  84884. #define USDHC_PROT_CTRL_EMODE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_EMODE_SHIFT)) & USDHC_PROT_CTRL_EMODE_MASK)
  84885. #define USDHC_PROT_CTRL_CDTL_MASK (0x40U)
  84886. #define USDHC_PROT_CTRL_CDTL_SHIFT (6U)
  84887. /*! CDTL - Card detect test level
  84888. * 0b1..Card detect test level is 1, card inserted
  84889. * 0b0..Card detect test level is 0, no card inserted
  84890. */
  84891. #define USDHC_PROT_CTRL_CDTL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_CDTL_SHIFT)) & USDHC_PROT_CTRL_CDTL_MASK)
  84892. #define USDHC_PROT_CTRL_CDSS_MASK (0x80U)
  84893. #define USDHC_PROT_CTRL_CDSS_SHIFT (7U)
  84894. /*! CDSS - Card detect signal selection
  84895. * 0b1..Card detection test level is selected (for test purpose).
  84896. * 0b0..Card detection level is selected (for normal purpose).
  84897. */
  84898. #define USDHC_PROT_CTRL_CDSS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_CDSS_SHIFT)) & USDHC_PROT_CTRL_CDSS_MASK)
  84899. #define USDHC_PROT_CTRL_DMASEL_MASK (0x300U)
  84900. #define USDHC_PROT_CTRL_DMASEL_SHIFT (8U)
  84901. /*! DMASEL - DMA select
  84902. * 0b00..No DMA or simple DMA is selected.
  84903. * 0b01..ADMA1 is selected.
  84904. * 0b10..ADMA2 is selected.
  84905. * 0b11..Reserved
  84906. */
  84907. #define USDHC_PROT_CTRL_DMASEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_DMASEL_SHIFT)) & USDHC_PROT_CTRL_DMASEL_MASK)
  84908. #define USDHC_PROT_CTRL_SABGREQ_MASK (0x10000U)
  84909. #define USDHC_PROT_CTRL_SABGREQ_SHIFT (16U)
  84910. /*! SABGREQ - Stop at block gap request
  84911. * 0b1..Stop
  84912. * 0b0..Transfer
  84913. */
  84914. #define USDHC_PROT_CTRL_SABGREQ(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_SABGREQ_SHIFT)) & USDHC_PROT_CTRL_SABGREQ_MASK)
  84915. #define USDHC_PROT_CTRL_CREQ_MASK (0x20000U)
  84916. #define USDHC_PROT_CTRL_CREQ_SHIFT (17U)
  84917. /*! CREQ - Continue request
  84918. * 0b1..Restart
  84919. * 0b0..No effect
  84920. */
  84921. #define USDHC_PROT_CTRL_CREQ(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_CREQ_SHIFT)) & USDHC_PROT_CTRL_CREQ_MASK)
  84922. #define USDHC_PROT_CTRL_RWCTL_MASK (0x40000U)
  84923. #define USDHC_PROT_CTRL_RWCTL_SHIFT (18U)
  84924. /*! RWCTL - Read wait control
  84925. * 0b1..Enables read wait control and assert read wait without stopping SD clock at block gap when SABGREQ field is set
  84926. * 0b0..Disables read wait control and stop SD clock at block gap when SABGREQ field is set
  84927. */
  84928. #define USDHC_PROT_CTRL_RWCTL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_RWCTL_SHIFT)) & USDHC_PROT_CTRL_RWCTL_MASK)
  84929. #define USDHC_PROT_CTRL_IABG_MASK (0x80000U)
  84930. #define USDHC_PROT_CTRL_IABG_SHIFT (19U)
  84931. /*! IABG - Interrupt at block gap
  84932. * 0b1..Enables interrupt at block gap
  84933. * 0b0..Disables interrupt at block gap
  84934. */
  84935. #define USDHC_PROT_CTRL_IABG(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_IABG_SHIFT)) & USDHC_PROT_CTRL_IABG_MASK)
  84936. #define USDHC_PROT_CTRL_RD_DONE_NO_8CLK_MASK (0x100000U)
  84937. #define USDHC_PROT_CTRL_RD_DONE_NO_8CLK_SHIFT (20U)
  84938. /*! RD_DONE_NO_8CLK - Read performed number 8 clock
  84939. */
  84940. #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)
  84941. #define USDHC_PROT_CTRL_WECINT_MASK (0x1000000U)
  84942. #define USDHC_PROT_CTRL_WECINT_SHIFT (24U)
  84943. /*! WECINT - Wakeup event enable on card interrupt
  84944. * 0b1..Enables wakeup event enable on card interrupt
  84945. * 0b0..Disables wakeup event enable on card interrupt
  84946. */
  84947. #define USDHC_PROT_CTRL_WECINT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_WECINT_SHIFT)) & USDHC_PROT_CTRL_WECINT_MASK)
  84948. #define USDHC_PROT_CTRL_WECINS_MASK (0x2000000U)
  84949. #define USDHC_PROT_CTRL_WECINS_SHIFT (25U)
  84950. /*! WECINS - Wakeup event enable on SD card insertion
  84951. * 0b1..Enable wakeup event enable on SD card insertion
  84952. * 0b0..Disable wakeup event enable on SD card insertion
  84953. */
  84954. #define USDHC_PROT_CTRL_WECINS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_WECINS_SHIFT)) & USDHC_PROT_CTRL_WECINS_MASK)
  84955. #define USDHC_PROT_CTRL_WECRM_MASK (0x4000000U)
  84956. #define USDHC_PROT_CTRL_WECRM_SHIFT (26U)
  84957. /*! WECRM - Wakeup event enable on SD card removal
  84958. * 0b1..Enables wakeup event enable on SD card removal
  84959. * 0b0..Disables wakeup event enable on SD card removal
  84960. */
  84961. #define USDHC_PROT_CTRL_WECRM(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_WECRM_SHIFT)) & USDHC_PROT_CTRL_WECRM_MASK)
  84962. #define USDHC_PROT_CTRL_NON_EXACT_BLK_RD_MASK (0x40000000U)
  84963. #define USDHC_PROT_CTRL_NON_EXACT_BLK_RD_SHIFT (30U)
  84964. /*! NON_EXACT_BLK_RD - Non-exact block read
  84965. * 0b1..The block read is non-exact block read. Host driver needs to issue abort command to terminate this multi-block read.
  84966. * 0b0..The block read is exact block read. Host driver does not need to issue abort command to terminate this multi-block read.
  84967. */
  84968. #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)
  84969. /*! @} */
  84970. /*! @name SYS_CTRL - System Control */
  84971. /*! @{ */
  84972. #define USDHC_SYS_CTRL_DVS_MASK (0xF0U)
  84973. #define USDHC_SYS_CTRL_DVS_SHIFT (4U)
  84974. /*! DVS - Divisor
  84975. * 0b0000..Divide-by-1
  84976. * 0b0001..Divide-by-2
  84977. * 0b1110..Divide-by-15
  84978. * 0b1111..Divide-by-16
  84979. */
  84980. #define USDHC_SYS_CTRL_DVS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_DVS_SHIFT)) & USDHC_SYS_CTRL_DVS_MASK)
  84981. #define USDHC_SYS_CTRL_SDCLKFS_MASK (0xFF00U)
  84982. #define USDHC_SYS_CTRL_SDCLKFS_SHIFT (8U)
  84983. /*! SDCLKFS - SDCLK frequency select
  84984. */
  84985. #define USDHC_SYS_CTRL_SDCLKFS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_SDCLKFS_SHIFT)) & USDHC_SYS_CTRL_SDCLKFS_MASK)
  84986. #define USDHC_SYS_CTRL_DTOCV_MASK (0xF0000U)
  84987. #define USDHC_SYS_CTRL_DTOCV_SHIFT (16U)
  84988. /*! DTOCV - Data timeout counter value
  84989. * 0b1111..SDCLK x 2 29
  84990. * 0b1110..SDCLK x 2 28
  84991. * 0b1101..SDCLK x 2 27
  84992. * 0b1100..SDCLK x 2 26
  84993. * 0b1011..SDCLK x 2 25
  84994. * 0b1010..SDCLK x 2 24
  84995. * 0b1001..SDCLK x 2 23
  84996. * 0b1000..SDCLK x 2 22
  84997. * 0b0111..SDCLK x 2 21
  84998. * 0b0110..SDCLK x 2 20
  84999. * 0b0101..SDCLK x 2 19
  85000. * 0b0100..SDCLK x 2 18
  85001. * 0b0011..SDCLK x 2 17
  85002. * 0b0010..SDCLK x 2 16
  85003. * 0b0001..SDCLK x 2 15
  85004. * 0b0000..SDCLK x 2 14
  85005. */
  85006. #define USDHC_SYS_CTRL_DTOCV(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_DTOCV_SHIFT)) & USDHC_SYS_CTRL_DTOCV_MASK)
  85007. #define USDHC_SYS_CTRL_IPP_RST_N_MASK (0x800000U)
  85008. #define USDHC_SYS_CTRL_IPP_RST_N_SHIFT (23U)
  85009. /*! IPP_RST_N - Hardware reset
  85010. */
  85011. #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)
  85012. #define USDHC_SYS_CTRL_RSTA_MASK (0x1000000U)
  85013. #define USDHC_SYS_CTRL_RSTA_SHIFT (24U)
  85014. /*! RSTA - Software reset for all
  85015. * 0b1..Reset
  85016. * 0b0..No reset
  85017. */
  85018. #define USDHC_SYS_CTRL_RSTA(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_RSTA_SHIFT)) & USDHC_SYS_CTRL_RSTA_MASK)
  85019. #define USDHC_SYS_CTRL_RSTC_MASK (0x2000000U)
  85020. #define USDHC_SYS_CTRL_RSTC_SHIFT (25U)
  85021. /*! RSTC - Software reset for CMD line
  85022. * 0b1..Reset
  85023. * 0b0..No reset
  85024. */
  85025. #define USDHC_SYS_CTRL_RSTC(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_RSTC_SHIFT)) & USDHC_SYS_CTRL_RSTC_MASK)
  85026. #define USDHC_SYS_CTRL_RSTD_MASK (0x4000000U)
  85027. #define USDHC_SYS_CTRL_RSTD_SHIFT (26U)
  85028. /*! RSTD - Software reset for data line
  85029. * 0b1..Reset
  85030. * 0b0..No reset
  85031. */
  85032. #define USDHC_SYS_CTRL_RSTD(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_RSTD_SHIFT)) & USDHC_SYS_CTRL_RSTD_MASK)
  85033. #define USDHC_SYS_CTRL_INITA_MASK (0x8000000U)
  85034. #define USDHC_SYS_CTRL_INITA_SHIFT (27U)
  85035. /*! INITA - Initialization active
  85036. */
  85037. #define USDHC_SYS_CTRL_INITA(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_INITA_SHIFT)) & USDHC_SYS_CTRL_INITA_MASK)
  85038. #define USDHC_SYS_CTRL_RSTT_MASK (0x10000000U)
  85039. #define USDHC_SYS_CTRL_RSTT_SHIFT (28U)
  85040. /*! RSTT - Reset tuning
  85041. */
  85042. #define USDHC_SYS_CTRL_RSTT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_RSTT_SHIFT)) & USDHC_SYS_CTRL_RSTT_MASK)
  85043. /*! @} */
  85044. /*! @name INT_STATUS - Interrupt Status */
  85045. /*! @{ */
  85046. #define USDHC_INT_STATUS_CC_MASK (0x1U)
  85047. #define USDHC_INT_STATUS_CC_SHIFT (0U)
  85048. /*! CC - Command complete
  85049. * 0b1..Command complete
  85050. * 0b0..Command not complete
  85051. */
  85052. #define USDHC_INT_STATUS_CC(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CC_SHIFT)) & USDHC_INT_STATUS_CC_MASK)
  85053. #define USDHC_INT_STATUS_TC_MASK (0x2U)
  85054. #define USDHC_INT_STATUS_TC_SHIFT (1U)
  85055. /*! TC - Transfer complete
  85056. * 0b1..Transfer complete
  85057. * 0b0..Transfer does not complete
  85058. */
  85059. #define USDHC_INT_STATUS_TC(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_TC_SHIFT)) & USDHC_INT_STATUS_TC_MASK)
  85060. #define USDHC_INT_STATUS_BGE_MASK (0x4U)
  85061. #define USDHC_INT_STATUS_BGE_SHIFT (2U)
  85062. /*! BGE - Block gap event
  85063. * 0b1..Transaction stopped at block gap
  85064. * 0b0..No block gap event
  85065. */
  85066. #define USDHC_INT_STATUS_BGE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_BGE_SHIFT)) & USDHC_INT_STATUS_BGE_MASK)
  85067. #define USDHC_INT_STATUS_DINT_MASK (0x8U)
  85068. #define USDHC_INT_STATUS_DINT_SHIFT (3U)
  85069. /*! DINT - DMA interrupt
  85070. * 0b1..DMA interrupt is generated.
  85071. * 0b0..No DMA interrupt
  85072. */
  85073. #define USDHC_INT_STATUS_DINT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_DINT_SHIFT)) & USDHC_INT_STATUS_DINT_MASK)
  85074. #define USDHC_INT_STATUS_BWR_MASK (0x10U)
  85075. #define USDHC_INT_STATUS_BWR_SHIFT (4U)
  85076. /*! BWR - Buffer write ready
  85077. * 0b1..Ready to write buffer
  85078. * 0b0..Not ready to write buffer
  85079. */
  85080. #define USDHC_INT_STATUS_BWR(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_BWR_SHIFT)) & USDHC_INT_STATUS_BWR_MASK)
  85081. #define USDHC_INT_STATUS_BRR_MASK (0x20U)
  85082. #define USDHC_INT_STATUS_BRR_SHIFT (5U)
  85083. /*! BRR - Buffer read ready
  85084. * 0b1..Ready to read buffer
  85085. * 0b0..Not ready to read buffer
  85086. */
  85087. #define USDHC_INT_STATUS_BRR(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_BRR_SHIFT)) & USDHC_INT_STATUS_BRR_MASK)
  85088. #define USDHC_INT_STATUS_CINS_MASK (0x40U)
  85089. #define USDHC_INT_STATUS_CINS_SHIFT (6U)
  85090. /*! CINS - Card insertion
  85091. * 0b1..Card inserted
  85092. * 0b0..Card state unstable or removed
  85093. */
  85094. #define USDHC_INT_STATUS_CINS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CINS_SHIFT)) & USDHC_INT_STATUS_CINS_MASK)
  85095. #define USDHC_INT_STATUS_CRM_MASK (0x80U)
  85096. #define USDHC_INT_STATUS_CRM_SHIFT (7U)
  85097. /*! CRM - Card removal
  85098. * 0b1..Card removed
  85099. * 0b0..Card state unstable or inserted
  85100. */
  85101. #define USDHC_INT_STATUS_CRM(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CRM_SHIFT)) & USDHC_INT_STATUS_CRM_MASK)
  85102. #define USDHC_INT_STATUS_CINT_MASK (0x100U)
  85103. #define USDHC_INT_STATUS_CINT_SHIFT (8U)
  85104. /*! CINT - Card interrupt
  85105. * 0b1..Generate card interrupt
  85106. * 0b0..No card interrupt
  85107. */
  85108. #define USDHC_INT_STATUS_CINT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CINT_SHIFT)) & USDHC_INT_STATUS_CINT_MASK)
  85109. #define USDHC_INT_STATUS_RTE_MASK (0x1000U)
  85110. #define USDHC_INT_STATUS_RTE_SHIFT (12U)
  85111. /*! RTE - Re-tuning event: (only for SD3.0 SDR104 mode and EMMC HS200 mode)
  85112. * 0b1..Re-tuning should be performed.
  85113. * 0b0..Re-tuning is not required.
  85114. */
  85115. #define USDHC_INT_STATUS_RTE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_RTE_SHIFT)) & USDHC_INT_STATUS_RTE_MASK)
  85116. #define USDHC_INT_STATUS_TP_MASK (0x4000U)
  85117. #define USDHC_INT_STATUS_TP_SHIFT (14U)
  85118. /*! TP - Tuning pass:(only for SD3.0 SDR104 mode and EMMC HS200 mode)
  85119. */
  85120. #define USDHC_INT_STATUS_TP(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_TP_SHIFT)) & USDHC_INT_STATUS_TP_MASK)
  85121. #define USDHC_INT_STATUS_CTOE_MASK (0x10000U)
  85122. #define USDHC_INT_STATUS_CTOE_SHIFT (16U)
  85123. /*! CTOE - Command timeout error
  85124. * 0b1..Time out
  85125. * 0b0..No error
  85126. */
  85127. #define USDHC_INT_STATUS_CTOE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CTOE_SHIFT)) & USDHC_INT_STATUS_CTOE_MASK)
  85128. #define USDHC_INT_STATUS_CCE_MASK (0x20000U)
  85129. #define USDHC_INT_STATUS_CCE_SHIFT (17U)
  85130. /*! CCE - Command CRC error
  85131. * 0b1..CRC error generated
  85132. * 0b0..No error
  85133. */
  85134. #define USDHC_INT_STATUS_CCE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CCE_SHIFT)) & USDHC_INT_STATUS_CCE_MASK)
  85135. #define USDHC_INT_STATUS_CEBE_MASK (0x40000U)
  85136. #define USDHC_INT_STATUS_CEBE_SHIFT (18U)
  85137. /*! CEBE - Command end bit error
  85138. * 0b1..End bit error generated
  85139. * 0b0..No error
  85140. */
  85141. #define USDHC_INT_STATUS_CEBE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CEBE_SHIFT)) & USDHC_INT_STATUS_CEBE_MASK)
  85142. #define USDHC_INT_STATUS_CIE_MASK (0x80000U)
  85143. #define USDHC_INT_STATUS_CIE_SHIFT (19U)
  85144. /*! CIE - Command index error
  85145. * 0b1..Error
  85146. * 0b0..No error
  85147. */
  85148. #define USDHC_INT_STATUS_CIE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CIE_SHIFT)) & USDHC_INT_STATUS_CIE_MASK)
  85149. #define USDHC_INT_STATUS_DTOE_MASK (0x100000U)
  85150. #define USDHC_INT_STATUS_DTOE_SHIFT (20U)
  85151. /*! DTOE - Data timeout error
  85152. * 0b1..Time out
  85153. * 0b0..No error
  85154. */
  85155. #define USDHC_INT_STATUS_DTOE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_DTOE_SHIFT)) & USDHC_INT_STATUS_DTOE_MASK)
  85156. #define USDHC_INT_STATUS_DCE_MASK (0x200000U)
  85157. #define USDHC_INT_STATUS_DCE_SHIFT (21U)
  85158. /*! DCE - Data CRC error
  85159. * 0b1..Error
  85160. * 0b0..No error
  85161. */
  85162. #define USDHC_INT_STATUS_DCE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_DCE_SHIFT)) & USDHC_INT_STATUS_DCE_MASK)
  85163. #define USDHC_INT_STATUS_DEBE_MASK (0x400000U)
  85164. #define USDHC_INT_STATUS_DEBE_SHIFT (22U)
  85165. /*! DEBE - Data end bit error
  85166. * 0b1..Error
  85167. * 0b0..No error
  85168. */
  85169. #define USDHC_INT_STATUS_DEBE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_DEBE_SHIFT)) & USDHC_INT_STATUS_DEBE_MASK)
  85170. #define USDHC_INT_STATUS_AC12E_MASK (0x1000000U)
  85171. #define USDHC_INT_STATUS_AC12E_SHIFT (24U)
  85172. /*! AC12E - Auto CMD12 error
  85173. * 0b1..Error
  85174. * 0b0..No error
  85175. */
  85176. #define USDHC_INT_STATUS_AC12E(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_AC12E_SHIFT)) & USDHC_INT_STATUS_AC12E_MASK)
  85177. #define USDHC_INT_STATUS_TNE_MASK (0x4000000U)
  85178. #define USDHC_INT_STATUS_TNE_SHIFT (26U)
  85179. /*! TNE - Tuning error: (only for SD3.0 SDR104 mode and EMMC HS200 mode)
  85180. */
  85181. #define USDHC_INT_STATUS_TNE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_TNE_SHIFT)) & USDHC_INT_STATUS_TNE_MASK)
  85182. #define USDHC_INT_STATUS_DMAE_MASK (0x10000000U)
  85183. #define USDHC_INT_STATUS_DMAE_SHIFT (28U)
  85184. /*! DMAE - DMA error
  85185. * 0b1..Error
  85186. * 0b0..No error
  85187. */
  85188. #define USDHC_INT_STATUS_DMAE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_DMAE_SHIFT)) & USDHC_INT_STATUS_DMAE_MASK)
  85189. /*! @} */
  85190. /*! @name INT_STATUS_EN - Interrupt Status Enable */
  85191. /*! @{ */
  85192. #define USDHC_INT_STATUS_EN_CCSEN_MASK (0x1U)
  85193. #define USDHC_INT_STATUS_EN_CCSEN_SHIFT (0U)
  85194. /*! CCSEN - Command complete status enable
  85195. * 0b1..Enabled
  85196. * 0b0..Masked
  85197. */
  85198. #define USDHC_INT_STATUS_EN_CCSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CCSEN_SHIFT)) & USDHC_INT_STATUS_EN_CCSEN_MASK)
  85199. #define USDHC_INT_STATUS_EN_TCSEN_MASK (0x2U)
  85200. #define USDHC_INT_STATUS_EN_TCSEN_SHIFT (1U)
  85201. /*! TCSEN - Transfer complete status enable
  85202. * 0b1..Enabled
  85203. * 0b0..Masked
  85204. */
  85205. #define USDHC_INT_STATUS_EN_TCSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_TCSEN_SHIFT)) & USDHC_INT_STATUS_EN_TCSEN_MASK)
  85206. #define USDHC_INT_STATUS_EN_BGESEN_MASK (0x4U)
  85207. #define USDHC_INT_STATUS_EN_BGESEN_SHIFT (2U)
  85208. /*! BGESEN - Block gap event status enable
  85209. * 0b1..Enabled
  85210. * 0b0..Masked
  85211. */
  85212. #define USDHC_INT_STATUS_EN_BGESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_BGESEN_SHIFT)) & USDHC_INT_STATUS_EN_BGESEN_MASK)
  85213. #define USDHC_INT_STATUS_EN_DINTSEN_MASK (0x8U)
  85214. #define USDHC_INT_STATUS_EN_DINTSEN_SHIFT (3U)
  85215. /*! DINTSEN - DMA interrupt status enable
  85216. * 0b1..Enabled
  85217. * 0b0..Masked
  85218. */
  85219. #define USDHC_INT_STATUS_EN_DINTSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_DINTSEN_SHIFT)) & USDHC_INT_STATUS_EN_DINTSEN_MASK)
  85220. #define USDHC_INT_STATUS_EN_BWRSEN_MASK (0x10U)
  85221. #define USDHC_INT_STATUS_EN_BWRSEN_SHIFT (4U)
  85222. /*! BWRSEN - Buffer write ready status enable
  85223. * 0b1..Enabled
  85224. * 0b0..Masked
  85225. */
  85226. #define USDHC_INT_STATUS_EN_BWRSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_BWRSEN_SHIFT)) & USDHC_INT_STATUS_EN_BWRSEN_MASK)
  85227. #define USDHC_INT_STATUS_EN_BRRSEN_MASK (0x20U)
  85228. #define USDHC_INT_STATUS_EN_BRRSEN_SHIFT (5U)
  85229. /*! BRRSEN - Buffer read ready status enable
  85230. * 0b1..Enabled
  85231. * 0b0..Masked
  85232. */
  85233. #define USDHC_INT_STATUS_EN_BRRSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_BRRSEN_SHIFT)) & USDHC_INT_STATUS_EN_BRRSEN_MASK)
  85234. #define USDHC_INT_STATUS_EN_CINSSEN_MASK (0x40U)
  85235. #define USDHC_INT_STATUS_EN_CINSSEN_SHIFT (6U)
  85236. /*! CINSSEN - Card insertion status enable
  85237. * 0b1..Enabled
  85238. * 0b0..Masked
  85239. */
  85240. #define USDHC_INT_STATUS_EN_CINSSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CINSSEN_SHIFT)) & USDHC_INT_STATUS_EN_CINSSEN_MASK)
  85241. #define USDHC_INT_STATUS_EN_CRMSEN_MASK (0x80U)
  85242. #define USDHC_INT_STATUS_EN_CRMSEN_SHIFT (7U)
  85243. /*! CRMSEN - Card removal status enable
  85244. * 0b1..Enabled
  85245. * 0b0..Masked
  85246. */
  85247. #define USDHC_INT_STATUS_EN_CRMSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CRMSEN_SHIFT)) & USDHC_INT_STATUS_EN_CRMSEN_MASK)
  85248. #define USDHC_INT_STATUS_EN_CINTSEN_MASK (0x100U)
  85249. #define USDHC_INT_STATUS_EN_CINTSEN_SHIFT (8U)
  85250. /*! CINTSEN - Card interrupt status enable
  85251. * 0b1..Enabled
  85252. * 0b0..Masked
  85253. */
  85254. #define USDHC_INT_STATUS_EN_CINTSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CINTSEN_SHIFT)) & USDHC_INT_STATUS_EN_CINTSEN_MASK)
  85255. #define USDHC_INT_STATUS_EN_RTESEN_MASK (0x1000U)
  85256. #define USDHC_INT_STATUS_EN_RTESEN_SHIFT (12U)
  85257. /*! RTESEN - Re-tuning event status enable
  85258. * 0b1..Enabled
  85259. * 0b0..Masked
  85260. */
  85261. #define USDHC_INT_STATUS_EN_RTESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_RTESEN_SHIFT)) & USDHC_INT_STATUS_EN_RTESEN_MASK)
  85262. #define USDHC_INT_STATUS_EN_TPSEN_MASK (0x4000U)
  85263. #define USDHC_INT_STATUS_EN_TPSEN_SHIFT (14U)
  85264. /*! TPSEN - Tuning pass status enable
  85265. * 0b1..Enabled
  85266. * 0b0..Masked
  85267. */
  85268. #define USDHC_INT_STATUS_EN_TPSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_TPSEN_SHIFT)) & USDHC_INT_STATUS_EN_TPSEN_MASK)
  85269. #define USDHC_INT_STATUS_EN_CTOESEN_MASK (0x10000U)
  85270. #define USDHC_INT_STATUS_EN_CTOESEN_SHIFT (16U)
  85271. /*! CTOESEN - Command timeout error status enable
  85272. * 0b1..Enabled
  85273. * 0b0..Masked
  85274. */
  85275. #define USDHC_INT_STATUS_EN_CTOESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CTOESEN_SHIFT)) & USDHC_INT_STATUS_EN_CTOESEN_MASK)
  85276. #define USDHC_INT_STATUS_EN_CCESEN_MASK (0x20000U)
  85277. #define USDHC_INT_STATUS_EN_CCESEN_SHIFT (17U)
  85278. /*! CCESEN - Command CRC error status enable
  85279. * 0b1..Enabled
  85280. * 0b0..Masked
  85281. */
  85282. #define USDHC_INT_STATUS_EN_CCESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CCESEN_SHIFT)) & USDHC_INT_STATUS_EN_CCESEN_MASK)
  85283. #define USDHC_INT_STATUS_EN_CEBESEN_MASK (0x40000U)
  85284. #define USDHC_INT_STATUS_EN_CEBESEN_SHIFT (18U)
  85285. /*! CEBESEN - Command end bit error status enable
  85286. * 0b1..Enabled
  85287. * 0b0..Masked
  85288. */
  85289. #define USDHC_INT_STATUS_EN_CEBESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CEBESEN_SHIFT)) & USDHC_INT_STATUS_EN_CEBESEN_MASK)
  85290. #define USDHC_INT_STATUS_EN_CIESEN_MASK (0x80000U)
  85291. #define USDHC_INT_STATUS_EN_CIESEN_SHIFT (19U)
  85292. /*! CIESEN - Command index error status enable
  85293. * 0b1..Enabled
  85294. * 0b0..Masked
  85295. */
  85296. #define USDHC_INT_STATUS_EN_CIESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CIESEN_SHIFT)) & USDHC_INT_STATUS_EN_CIESEN_MASK)
  85297. #define USDHC_INT_STATUS_EN_DTOESEN_MASK (0x100000U)
  85298. #define USDHC_INT_STATUS_EN_DTOESEN_SHIFT (20U)
  85299. /*! DTOESEN - Data timeout error status enable
  85300. * 0b1..Enabled
  85301. * 0b0..Masked
  85302. */
  85303. #define USDHC_INT_STATUS_EN_DTOESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_DTOESEN_SHIFT)) & USDHC_INT_STATUS_EN_DTOESEN_MASK)
  85304. #define USDHC_INT_STATUS_EN_DCESEN_MASK (0x200000U)
  85305. #define USDHC_INT_STATUS_EN_DCESEN_SHIFT (21U)
  85306. /*! DCESEN - Data CRC error status enable
  85307. * 0b1..Enabled
  85308. * 0b0..Masked
  85309. */
  85310. #define USDHC_INT_STATUS_EN_DCESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_DCESEN_SHIFT)) & USDHC_INT_STATUS_EN_DCESEN_MASK)
  85311. #define USDHC_INT_STATUS_EN_DEBESEN_MASK (0x400000U)
  85312. #define USDHC_INT_STATUS_EN_DEBESEN_SHIFT (22U)
  85313. /*! DEBESEN - Data end bit error status enable
  85314. * 0b1..Enabled
  85315. * 0b0..Masked
  85316. */
  85317. #define USDHC_INT_STATUS_EN_DEBESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_DEBESEN_SHIFT)) & USDHC_INT_STATUS_EN_DEBESEN_MASK)
  85318. #define USDHC_INT_STATUS_EN_AC12ESEN_MASK (0x1000000U)
  85319. #define USDHC_INT_STATUS_EN_AC12ESEN_SHIFT (24U)
  85320. /*! AC12ESEN - Auto CMD12 error status enable
  85321. * 0b1..Enabled
  85322. * 0b0..Masked
  85323. */
  85324. #define USDHC_INT_STATUS_EN_AC12ESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_AC12ESEN_SHIFT)) & USDHC_INT_STATUS_EN_AC12ESEN_MASK)
  85325. #define USDHC_INT_STATUS_EN_TNESEN_MASK (0x4000000U)
  85326. #define USDHC_INT_STATUS_EN_TNESEN_SHIFT (26U)
  85327. /*! TNESEN - Tuning error status enable
  85328. * 0b1..Enabled
  85329. * 0b0..Masked
  85330. */
  85331. #define USDHC_INT_STATUS_EN_TNESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_TNESEN_SHIFT)) & USDHC_INT_STATUS_EN_TNESEN_MASK)
  85332. #define USDHC_INT_STATUS_EN_DMAESEN_MASK (0x10000000U)
  85333. #define USDHC_INT_STATUS_EN_DMAESEN_SHIFT (28U)
  85334. /*! DMAESEN - DMA error status enable
  85335. * 0b1..Enabled
  85336. * 0b0..Masked
  85337. */
  85338. #define USDHC_INT_STATUS_EN_DMAESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_DMAESEN_SHIFT)) & USDHC_INT_STATUS_EN_DMAESEN_MASK)
  85339. /*! @} */
  85340. /*! @name INT_SIGNAL_EN - Interrupt Signal Enable */
  85341. /*! @{ */
  85342. #define USDHC_INT_SIGNAL_EN_CCIEN_MASK (0x1U)
  85343. #define USDHC_INT_SIGNAL_EN_CCIEN_SHIFT (0U)
  85344. /*! CCIEN - Command complete interrupt enable
  85345. * 0b1..Enabled
  85346. * 0b0..Masked
  85347. */
  85348. #define USDHC_INT_SIGNAL_EN_CCIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CCIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CCIEN_MASK)
  85349. #define USDHC_INT_SIGNAL_EN_TCIEN_MASK (0x2U)
  85350. #define USDHC_INT_SIGNAL_EN_TCIEN_SHIFT (1U)
  85351. /*! TCIEN - Transfer complete interrupt enable
  85352. * 0b1..Enabled
  85353. * 0b0..Masked
  85354. */
  85355. #define USDHC_INT_SIGNAL_EN_TCIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_TCIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_TCIEN_MASK)
  85356. #define USDHC_INT_SIGNAL_EN_BGEIEN_MASK (0x4U)
  85357. #define USDHC_INT_SIGNAL_EN_BGEIEN_SHIFT (2U)
  85358. /*! BGEIEN - Block gap event interrupt enable
  85359. * 0b1..Enabled
  85360. * 0b0..Masked
  85361. */
  85362. #define USDHC_INT_SIGNAL_EN_BGEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_BGEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_BGEIEN_MASK)
  85363. #define USDHC_INT_SIGNAL_EN_DINTIEN_MASK (0x8U)
  85364. #define USDHC_INT_SIGNAL_EN_DINTIEN_SHIFT (3U)
  85365. /*! DINTIEN - DMA interrupt enable
  85366. * 0b1..Enabled
  85367. * 0b0..Masked
  85368. */
  85369. #define USDHC_INT_SIGNAL_EN_DINTIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_DINTIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_DINTIEN_MASK)
  85370. #define USDHC_INT_SIGNAL_EN_BWRIEN_MASK (0x10U)
  85371. #define USDHC_INT_SIGNAL_EN_BWRIEN_SHIFT (4U)
  85372. /*! BWRIEN - Buffer write ready interrupt enable
  85373. * 0b1..Enabled
  85374. * 0b0..Masked
  85375. */
  85376. #define USDHC_INT_SIGNAL_EN_BWRIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_BWRIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_BWRIEN_MASK)
  85377. #define USDHC_INT_SIGNAL_EN_BRRIEN_MASK (0x20U)
  85378. #define USDHC_INT_SIGNAL_EN_BRRIEN_SHIFT (5U)
  85379. /*! BRRIEN - Buffer read ready interrupt enable
  85380. * 0b1..Enabled
  85381. * 0b0..Masked
  85382. */
  85383. #define USDHC_INT_SIGNAL_EN_BRRIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_BRRIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_BRRIEN_MASK)
  85384. #define USDHC_INT_SIGNAL_EN_CINSIEN_MASK (0x40U)
  85385. #define USDHC_INT_SIGNAL_EN_CINSIEN_SHIFT (6U)
  85386. /*! CINSIEN - Card insertion interrupt enable
  85387. * 0b1..Enabled
  85388. * 0b0..Masked
  85389. */
  85390. #define USDHC_INT_SIGNAL_EN_CINSIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CINSIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CINSIEN_MASK)
  85391. #define USDHC_INT_SIGNAL_EN_CRMIEN_MASK (0x80U)
  85392. #define USDHC_INT_SIGNAL_EN_CRMIEN_SHIFT (7U)
  85393. /*! CRMIEN - Card removal interrupt enable
  85394. * 0b1..Enabled
  85395. * 0b0..Masked
  85396. */
  85397. #define USDHC_INT_SIGNAL_EN_CRMIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CRMIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CRMIEN_MASK)
  85398. #define USDHC_INT_SIGNAL_EN_CINTIEN_MASK (0x100U)
  85399. #define USDHC_INT_SIGNAL_EN_CINTIEN_SHIFT (8U)
  85400. /*! CINTIEN - Card interrupt enable
  85401. * 0b1..Enabled
  85402. * 0b0..Masked
  85403. */
  85404. #define USDHC_INT_SIGNAL_EN_CINTIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CINTIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CINTIEN_MASK)
  85405. #define USDHC_INT_SIGNAL_EN_RTEIEN_MASK (0x1000U)
  85406. #define USDHC_INT_SIGNAL_EN_RTEIEN_SHIFT (12U)
  85407. /*! RTEIEN - Re-tuning event interrupt enable
  85408. * 0b1..Enabled
  85409. * 0b0..Masked
  85410. */
  85411. #define USDHC_INT_SIGNAL_EN_RTEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_RTEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_RTEIEN_MASK)
  85412. #define USDHC_INT_SIGNAL_EN_TPIEN_MASK (0x4000U)
  85413. #define USDHC_INT_SIGNAL_EN_TPIEN_SHIFT (14U)
  85414. /*! TPIEN - Tuning Pass interrupt enable
  85415. * 0b1..Enabled
  85416. * 0b0..Masked
  85417. */
  85418. #define USDHC_INT_SIGNAL_EN_TPIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_TPIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_TPIEN_MASK)
  85419. #define USDHC_INT_SIGNAL_EN_CTOEIEN_MASK (0x10000U)
  85420. #define USDHC_INT_SIGNAL_EN_CTOEIEN_SHIFT (16U)
  85421. /*! CTOEIEN - Command timeout error interrupt enable
  85422. * 0b1..Enabled
  85423. * 0b0..Masked
  85424. */
  85425. #define USDHC_INT_SIGNAL_EN_CTOEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CTOEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CTOEIEN_MASK)
  85426. #define USDHC_INT_SIGNAL_EN_CCEIEN_MASK (0x20000U)
  85427. #define USDHC_INT_SIGNAL_EN_CCEIEN_SHIFT (17U)
  85428. /*! CCEIEN - Command CRC error interrupt enable
  85429. * 0b1..Enabled
  85430. * 0b0..Masked
  85431. */
  85432. #define USDHC_INT_SIGNAL_EN_CCEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CCEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CCEIEN_MASK)
  85433. #define USDHC_INT_SIGNAL_EN_CEBEIEN_MASK (0x40000U)
  85434. #define USDHC_INT_SIGNAL_EN_CEBEIEN_SHIFT (18U)
  85435. /*! CEBEIEN - Command end bit error interrupt enable
  85436. * 0b1..Enabled
  85437. * 0b0..Masked
  85438. */
  85439. #define USDHC_INT_SIGNAL_EN_CEBEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CEBEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CEBEIEN_MASK)
  85440. #define USDHC_INT_SIGNAL_EN_CIEIEN_MASK (0x80000U)
  85441. #define USDHC_INT_SIGNAL_EN_CIEIEN_SHIFT (19U)
  85442. /*! CIEIEN - Command index error interrupt enable
  85443. * 0b1..Enabled
  85444. * 0b0..Masked
  85445. */
  85446. #define USDHC_INT_SIGNAL_EN_CIEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CIEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CIEIEN_MASK)
  85447. #define USDHC_INT_SIGNAL_EN_DTOEIEN_MASK (0x100000U)
  85448. #define USDHC_INT_SIGNAL_EN_DTOEIEN_SHIFT (20U)
  85449. /*! DTOEIEN - Data timeout error interrupt enable
  85450. * 0b1..Enabled
  85451. * 0b0..Masked
  85452. */
  85453. #define USDHC_INT_SIGNAL_EN_DTOEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_DTOEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_DTOEIEN_MASK)
  85454. #define USDHC_INT_SIGNAL_EN_DCEIEN_MASK (0x200000U)
  85455. #define USDHC_INT_SIGNAL_EN_DCEIEN_SHIFT (21U)
  85456. /*! DCEIEN - Data CRC error interrupt enable
  85457. * 0b1..Enabled
  85458. * 0b0..Masked
  85459. */
  85460. #define USDHC_INT_SIGNAL_EN_DCEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_DCEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_DCEIEN_MASK)
  85461. #define USDHC_INT_SIGNAL_EN_DEBEIEN_MASK (0x400000U)
  85462. #define USDHC_INT_SIGNAL_EN_DEBEIEN_SHIFT (22U)
  85463. /*! DEBEIEN - Data end bit error interrupt enable
  85464. * 0b1..Enabled
  85465. * 0b0..Masked
  85466. */
  85467. #define USDHC_INT_SIGNAL_EN_DEBEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_DEBEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_DEBEIEN_MASK)
  85468. #define USDHC_INT_SIGNAL_EN_AC12EIEN_MASK (0x1000000U)
  85469. #define USDHC_INT_SIGNAL_EN_AC12EIEN_SHIFT (24U)
  85470. /*! AC12EIEN - Auto CMD12 error interrupt enable
  85471. * 0b1..Enabled
  85472. * 0b0..Masked
  85473. */
  85474. #define USDHC_INT_SIGNAL_EN_AC12EIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_AC12EIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_AC12EIEN_MASK)
  85475. #define USDHC_INT_SIGNAL_EN_TNEIEN_MASK (0x4000000U)
  85476. #define USDHC_INT_SIGNAL_EN_TNEIEN_SHIFT (26U)
  85477. /*! TNEIEN - Tuning error interrupt enable
  85478. * 0b1..Enabled
  85479. * 0b0..Masked
  85480. */
  85481. #define USDHC_INT_SIGNAL_EN_TNEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_TNEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_TNEIEN_MASK)
  85482. #define USDHC_INT_SIGNAL_EN_DMAEIEN_MASK (0x10000000U)
  85483. #define USDHC_INT_SIGNAL_EN_DMAEIEN_SHIFT (28U)
  85484. /*! DMAEIEN - DMA error interrupt enable
  85485. * 0b1..Enable
  85486. * 0b0..Masked
  85487. */
  85488. #define USDHC_INT_SIGNAL_EN_DMAEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_DMAEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_DMAEIEN_MASK)
  85489. /*! @} */
  85490. /*! @name AUTOCMD12_ERR_STATUS - Auto CMD12 Error Status */
  85491. /*! @{ */
  85492. #define USDHC_AUTOCMD12_ERR_STATUS_AC12NE_MASK (0x1U)
  85493. #define USDHC_AUTOCMD12_ERR_STATUS_AC12NE_SHIFT (0U)
  85494. /*! AC12NE - Auto CMD12 not executed
  85495. * 0b1..Not executed
  85496. * 0b0..Executed
  85497. */
  85498. #define USDHC_AUTOCMD12_ERR_STATUS_AC12NE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_AC12NE_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_AC12NE_MASK)
  85499. #define USDHC_AUTOCMD12_ERR_STATUS_AC12TOE_MASK (0x2U)
  85500. #define USDHC_AUTOCMD12_ERR_STATUS_AC12TOE_SHIFT (1U)
  85501. /*! AC12TOE - Auto CMD12 / 23 timeout error
  85502. * 0b1..Time out
  85503. * 0b0..No error
  85504. */
  85505. #define USDHC_AUTOCMD12_ERR_STATUS_AC12TOE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_AC12TOE_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_AC12TOE_MASK)
  85506. #define USDHC_AUTOCMD12_ERR_STATUS_AC12EBE_MASK (0x4U)
  85507. #define USDHC_AUTOCMD12_ERR_STATUS_AC12EBE_SHIFT (2U)
  85508. /*! AC12EBE - Auto CMD12 / 23 end bit error
  85509. * 0b1..End bit error generated
  85510. * 0b0..No error
  85511. */
  85512. #define USDHC_AUTOCMD12_ERR_STATUS_AC12EBE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_AC12EBE_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_AC12EBE_MASK)
  85513. #define USDHC_AUTOCMD12_ERR_STATUS_AC12CE_MASK (0x8U)
  85514. #define USDHC_AUTOCMD12_ERR_STATUS_AC12CE_SHIFT (3U)
  85515. /*! AC12CE - Auto CMD12 / 23 CRC error
  85516. * 0b1..CRC error met in Auto CMD12/23 response
  85517. * 0b0..No CRC error
  85518. */
  85519. #define USDHC_AUTOCMD12_ERR_STATUS_AC12CE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_AC12CE_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_AC12CE_MASK)
  85520. #define USDHC_AUTOCMD12_ERR_STATUS_AC12IE_MASK (0x10U)
  85521. #define USDHC_AUTOCMD12_ERR_STATUS_AC12IE_SHIFT (4U)
  85522. /*! AC12IE - Auto CMD12 / 23 index error
  85523. * 0b1..Error, the CMD index in response is not CMD12/23
  85524. * 0b0..No error
  85525. */
  85526. #define USDHC_AUTOCMD12_ERR_STATUS_AC12IE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_AC12IE_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_AC12IE_MASK)
  85527. #define USDHC_AUTOCMD12_ERR_STATUS_CNIBAC12E_MASK (0x80U)
  85528. #define USDHC_AUTOCMD12_ERR_STATUS_CNIBAC12E_SHIFT (7U)
  85529. /*! CNIBAC12E - Command not issued by Auto CMD12 error
  85530. * 0b1..Not issued
  85531. * 0b0..No error
  85532. */
  85533. #define USDHC_AUTOCMD12_ERR_STATUS_CNIBAC12E(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_CNIBAC12E_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_CNIBAC12E_MASK)
  85534. #define USDHC_AUTOCMD12_ERR_STATUS_EXECUTE_TUNING_MASK (0x400000U)
  85535. #define USDHC_AUTOCMD12_ERR_STATUS_EXECUTE_TUNING_SHIFT (22U)
  85536. /*! EXECUTE_TUNING - Execute tuning
  85537. * 0b1..Start tuning procedure
  85538. * 0b0..Tuning procedure is aborted
  85539. */
  85540. #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)
  85541. #define USDHC_AUTOCMD12_ERR_STATUS_SMP_CLK_SEL_MASK (0x800000U)
  85542. #define USDHC_AUTOCMD12_ERR_STATUS_SMP_CLK_SEL_SHIFT (23U)
  85543. /*! SMP_CLK_SEL - Sample clock select
  85544. * 0b1..Tuned clock is used to sample data
  85545. * 0b0..Fixed clock is used to sample data
  85546. */
  85547. #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)
  85548. /*! @} */
  85549. /*! @name HOST_CTRL_CAP - Host Controller Capabilities */
  85550. /*! @{ */
  85551. #define USDHC_HOST_CTRL_CAP_SDR50_SUPPORT_MASK (0x1U)
  85552. #define USDHC_HOST_CTRL_CAP_SDR50_SUPPORT_SHIFT (0U)
  85553. /*! SDR50_SUPPORT - SDR50 support
  85554. */
  85555. #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)
  85556. #define USDHC_HOST_CTRL_CAP_SDR104_SUPPORT_MASK (0x2U)
  85557. #define USDHC_HOST_CTRL_CAP_SDR104_SUPPORT_SHIFT (1U)
  85558. /*! SDR104_SUPPORT - SDR104 support
  85559. */
  85560. #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)
  85561. #define USDHC_HOST_CTRL_CAP_DDR50_SUPPORT_MASK (0x4U)
  85562. #define USDHC_HOST_CTRL_CAP_DDR50_SUPPORT_SHIFT (2U)
  85563. /*! DDR50_SUPPORT - DDR50 support
  85564. */
  85565. #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)
  85566. #define USDHC_HOST_CTRL_CAP_USE_TUNING_SDR50_MASK (0x2000U)
  85567. #define USDHC_HOST_CTRL_CAP_USE_TUNING_SDR50_SHIFT (13U)
  85568. /*! USE_TUNING_SDR50 - Use Tuning for SDR50
  85569. * 0b1..SDR50 supports tuning
  85570. * 0b0..SDR50 does not support tuning
  85571. */
  85572. #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)
  85573. #define USDHC_HOST_CTRL_CAP_MBL_MASK (0x70000U)
  85574. #define USDHC_HOST_CTRL_CAP_MBL_SHIFT (16U)
  85575. /*! MBL - Max block length
  85576. * 0b000..512 bytes
  85577. * 0b001..1024 bytes
  85578. * 0b010..2048 bytes
  85579. * 0b011..4096 bytes
  85580. */
  85581. #define USDHC_HOST_CTRL_CAP_MBL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_MBL_SHIFT)) & USDHC_HOST_CTRL_CAP_MBL_MASK)
  85582. #define USDHC_HOST_CTRL_CAP_ADMAS_MASK (0x100000U)
  85583. #define USDHC_HOST_CTRL_CAP_ADMAS_SHIFT (20U)
  85584. /*! ADMAS - ADMA support
  85585. * 0b1..Advanced DMA supported
  85586. * 0b0..Advanced DMA not supported
  85587. */
  85588. #define USDHC_HOST_CTRL_CAP_ADMAS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_ADMAS_SHIFT)) & USDHC_HOST_CTRL_CAP_ADMAS_MASK)
  85589. #define USDHC_HOST_CTRL_CAP_HSS_MASK (0x200000U)
  85590. #define USDHC_HOST_CTRL_CAP_HSS_SHIFT (21U)
  85591. /*! HSS - High speed support
  85592. * 0b1..High speed supported
  85593. * 0b0..High speed not supported
  85594. */
  85595. #define USDHC_HOST_CTRL_CAP_HSS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_HSS_SHIFT)) & USDHC_HOST_CTRL_CAP_HSS_MASK)
  85596. #define USDHC_HOST_CTRL_CAP_DMAS_MASK (0x400000U)
  85597. #define USDHC_HOST_CTRL_CAP_DMAS_SHIFT (22U)
  85598. /*! DMAS - DMA support
  85599. * 0b1..DMA supported
  85600. * 0b0..DMA not supported
  85601. */
  85602. #define USDHC_HOST_CTRL_CAP_DMAS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_DMAS_SHIFT)) & USDHC_HOST_CTRL_CAP_DMAS_MASK)
  85603. #define USDHC_HOST_CTRL_CAP_SRS_MASK (0x800000U)
  85604. #define USDHC_HOST_CTRL_CAP_SRS_SHIFT (23U)
  85605. /*! SRS - Suspend / resume support
  85606. * 0b1..Supported
  85607. * 0b0..Not supported
  85608. */
  85609. #define USDHC_HOST_CTRL_CAP_SRS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_SRS_SHIFT)) & USDHC_HOST_CTRL_CAP_SRS_MASK)
  85610. #define USDHC_HOST_CTRL_CAP_VS33_MASK (0x1000000U)
  85611. #define USDHC_HOST_CTRL_CAP_VS33_SHIFT (24U)
  85612. /*! VS33 - Voltage support 3.3 V
  85613. * 0b1..3.3 V supported
  85614. * 0b0..3.3 V not supported
  85615. */
  85616. #define USDHC_HOST_CTRL_CAP_VS33(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_VS33_SHIFT)) & USDHC_HOST_CTRL_CAP_VS33_MASK)
  85617. #define USDHC_HOST_CTRL_CAP_VS30_MASK (0x2000000U)
  85618. #define USDHC_HOST_CTRL_CAP_VS30_SHIFT (25U)
  85619. /*! VS30 - Voltage support 3.0 V
  85620. * 0b1..3.0 V supported
  85621. * 0b0..3.0 V not supported
  85622. */
  85623. #define USDHC_HOST_CTRL_CAP_VS30(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_VS30_SHIFT)) & USDHC_HOST_CTRL_CAP_VS30_MASK)
  85624. #define USDHC_HOST_CTRL_CAP_VS18_MASK (0x4000000U)
  85625. #define USDHC_HOST_CTRL_CAP_VS18_SHIFT (26U)
  85626. /*! VS18 - Voltage support 1.8 V
  85627. * 0b1..1.8 V supported
  85628. * 0b0..1.8 V not supported
  85629. */
  85630. #define USDHC_HOST_CTRL_CAP_VS18(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_VS18_SHIFT)) & USDHC_HOST_CTRL_CAP_VS18_MASK)
  85631. /*! @} */
  85632. /*! @name WTMK_LVL - Watermark Level */
  85633. /*! @{ */
  85634. #define USDHC_WTMK_LVL_RD_WML_MASK (0xFFU)
  85635. #define USDHC_WTMK_LVL_RD_WML_SHIFT (0U)
  85636. /*! RD_WML - Read watermark level
  85637. */
  85638. #define USDHC_WTMK_LVL_RD_WML(x) (((uint32_t)(((uint32_t)(x)) << USDHC_WTMK_LVL_RD_WML_SHIFT)) & USDHC_WTMK_LVL_RD_WML_MASK)
  85639. #define USDHC_WTMK_LVL_WR_WML_MASK (0xFF0000U)
  85640. #define USDHC_WTMK_LVL_WR_WML_SHIFT (16U)
  85641. /*! WR_WML - Write watermark level
  85642. */
  85643. #define USDHC_WTMK_LVL_WR_WML(x) (((uint32_t)(((uint32_t)(x)) << USDHC_WTMK_LVL_WR_WML_SHIFT)) & USDHC_WTMK_LVL_WR_WML_MASK)
  85644. /*! @} */
  85645. /*! @name MIX_CTRL - Mixer Control */
  85646. /*! @{ */
  85647. #define USDHC_MIX_CTRL_DMAEN_MASK (0x1U)
  85648. #define USDHC_MIX_CTRL_DMAEN_SHIFT (0U)
  85649. /*! DMAEN - DMA enable
  85650. * 0b1..Enable
  85651. * 0b0..Disable
  85652. */
  85653. #define USDHC_MIX_CTRL_DMAEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_DMAEN_SHIFT)) & USDHC_MIX_CTRL_DMAEN_MASK)
  85654. #define USDHC_MIX_CTRL_BCEN_MASK (0x2U)
  85655. #define USDHC_MIX_CTRL_BCEN_SHIFT (1U)
  85656. /*! BCEN - Block count enable
  85657. * 0b1..Enable
  85658. * 0b0..Disable
  85659. */
  85660. #define USDHC_MIX_CTRL_BCEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_BCEN_SHIFT)) & USDHC_MIX_CTRL_BCEN_MASK)
  85661. #define USDHC_MIX_CTRL_AC12EN_MASK (0x4U)
  85662. #define USDHC_MIX_CTRL_AC12EN_SHIFT (2U)
  85663. /*! AC12EN - Auto CMD12 enable
  85664. * 0b1..Enable
  85665. * 0b0..Disable
  85666. */
  85667. #define USDHC_MIX_CTRL_AC12EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_AC12EN_SHIFT)) & USDHC_MIX_CTRL_AC12EN_MASK)
  85668. #define USDHC_MIX_CTRL_DDR_EN_MASK (0x8U)
  85669. #define USDHC_MIX_CTRL_DDR_EN_SHIFT (3U)
  85670. /*! DDR_EN - Dual data rate mode selection
  85671. */
  85672. #define USDHC_MIX_CTRL_DDR_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_DDR_EN_SHIFT)) & USDHC_MIX_CTRL_DDR_EN_MASK)
  85673. #define USDHC_MIX_CTRL_DTDSEL_MASK (0x10U)
  85674. #define USDHC_MIX_CTRL_DTDSEL_SHIFT (4U)
  85675. /*! DTDSEL - Data transfer direction select
  85676. * 0b1..Read (Card to host)
  85677. * 0b0..Write (Host to card)
  85678. */
  85679. #define USDHC_MIX_CTRL_DTDSEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_DTDSEL_SHIFT)) & USDHC_MIX_CTRL_DTDSEL_MASK)
  85680. #define USDHC_MIX_CTRL_MSBSEL_MASK (0x20U)
  85681. #define USDHC_MIX_CTRL_MSBSEL_SHIFT (5U)
  85682. /*! MSBSEL - Multi / Single block select
  85683. * 0b1..Multiple blocks
  85684. * 0b0..Single block
  85685. */
  85686. #define USDHC_MIX_CTRL_MSBSEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_MSBSEL_SHIFT)) & USDHC_MIX_CTRL_MSBSEL_MASK)
  85687. #define USDHC_MIX_CTRL_NIBBLE_POS_MASK (0x40U)
  85688. #define USDHC_MIX_CTRL_NIBBLE_POS_SHIFT (6U)
  85689. /*! NIBBLE_POS - Nibble position indication
  85690. */
  85691. #define USDHC_MIX_CTRL_NIBBLE_POS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_NIBBLE_POS_SHIFT)) & USDHC_MIX_CTRL_NIBBLE_POS_MASK)
  85692. #define USDHC_MIX_CTRL_AC23EN_MASK (0x80U)
  85693. #define USDHC_MIX_CTRL_AC23EN_SHIFT (7U)
  85694. /*! AC23EN - Auto CMD23 enable
  85695. */
  85696. #define USDHC_MIX_CTRL_AC23EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_AC23EN_SHIFT)) & USDHC_MIX_CTRL_AC23EN_MASK)
  85697. #define USDHC_MIX_CTRL_EXE_TUNE_MASK (0x400000U)
  85698. #define USDHC_MIX_CTRL_EXE_TUNE_SHIFT (22U)
  85699. /*! EXE_TUNE - Execute tuning: (Only used for SD3.0, SDR104 mode and EMMC HS200 mode)
  85700. * 0b1..Execute tuning
  85701. * 0b0..Not tuned or tuning completed
  85702. */
  85703. #define USDHC_MIX_CTRL_EXE_TUNE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_EXE_TUNE_SHIFT)) & USDHC_MIX_CTRL_EXE_TUNE_MASK)
  85704. #define USDHC_MIX_CTRL_SMP_CLK_SEL_MASK (0x800000U)
  85705. #define USDHC_MIX_CTRL_SMP_CLK_SEL_SHIFT (23U)
  85706. /*! SMP_CLK_SEL - Clock selection
  85707. * 0b1..Tuned clock is used to sample data / cmd
  85708. * 0b0..Fixed clock is used to sample data / cmd
  85709. */
  85710. #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)
  85711. #define USDHC_MIX_CTRL_AUTO_TUNE_EN_MASK (0x1000000U)
  85712. #define USDHC_MIX_CTRL_AUTO_TUNE_EN_SHIFT (24U)
  85713. /*! AUTO_TUNE_EN - Auto tuning enable (Only used for SD3.0, SDR104 mode and and EMMC HS200 mode)
  85714. * 0b1..Enable auto tuning
  85715. * 0b0..Disable auto tuning
  85716. */
  85717. #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)
  85718. #define USDHC_MIX_CTRL_FBCLK_SEL_MASK (0x2000000U)
  85719. #define USDHC_MIX_CTRL_FBCLK_SEL_SHIFT (25U)
  85720. /*! FBCLK_SEL - Feedback clock source selection (Only used for SD3.0, SDR104 mode and EMMC HS200 mode)
  85721. * 0b1..Feedback clock comes from the ipp_card_clk_out
  85722. * 0b0..Feedback clock comes from the loopback CLK
  85723. */
  85724. #define USDHC_MIX_CTRL_FBCLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_FBCLK_SEL_SHIFT)) & USDHC_MIX_CTRL_FBCLK_SEL_MASK)
  85725. #define USDHC_MIX_CTRL_HS400_MODE_MASK (0x4000000U)
  85726. #define USDHC_MIX_CTRL_HS400_MODE_SHIFT (26U)
  85727. /*! HS400_MODE - Enable HS400 mode
  85728. */
  85729. #define USDHC_MIX_CTRL_HS400_MODE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_HS400_MODE_SHIFT)) & USDHC_MIX_CTRL_HS400_MODE_MASK)
  85730. /*! @} */
  85731. /*! @name FORCE_EVENT - Force Event */
  85732. /*! @{ */
  85733. #define USDHC_FORCE_EVENT_FEVTAC12NE_MASK (0x1U)
  85734. #define USDHC_FORCE_EVENT_FEVTAC12NE_SHIFT (0U)
  85735. /*! FEVTAC12NE - Force event auto command 12 not executed
  85736. */
  85737. #define USDHC_FORCE_EVENT_FEVTAC12NE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTAC12NE_SHIFT)) & USDHC_FORCE_EVENT_FEVTAC12NE_MASK)
  85738. #define USDHC_FORCE_EVENT_FEVTAC12TOE_MASK (0x2U)
  85739. #define USDHC_FORCE_EVENT_FEVTAC12TOE_SHIFT (1U)
  85740. /*! FEVTAC12TOE - Force event auto command 12 time out error
  85741. */
  85742. #define USDHC_FORCE_EVENT_FEVTAC12TOE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTAC12TOE_SHIFT)) & USDHC_FORCE_EVENT_FEVTAC12TOE_MASK)
  85743. #define USDHC_FORCE_EVENT_FEVTAC12CE_MASK (0x4U)
  85744. #define USDHC_FORCE_EVENT_FEVTAC12CE_SHIFT (2U)
  85745. /*! FEVTAC12CE - Force event auto command 12 CRC error
  85746. */
  85747. #define USDHC_FORCE_EVENT_FEVTAC12CE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTAC12CE_SHIFT)) & USDHC_FORCE_EVENT_FEVTAC12CE_MASK)
  85748. #define USDHC_FORCE_EVENT_FEVTAC12EBE_MASK (0x8U)
  85749. #define USDHC_FORCE_EVENT_FEVTAC12EBE_SHIFT (3U)
  85750. /*! FEVTAC12EBE - Force event Auto Command 12 end bit error
  85751. */
  85752. #define USDHC_FORCE_EVENT_FEVTAC12EBE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTAC12EBE_SHIFT)) & USDHC_FORCE_EVENT_FEVTAC12EBE_MASK)
  85753. #define USDHC_FORCE_EVENT_FEVTAC12IE_MASK (0x10U)
  85754. #define USDHC_FORCE_EVENT_FEVTAC12IE_SHIFT (4U)
  85755. /*! FEVTAC12IE - Force event Auto Command 12 index error
  85756. */
  85757. #define USDHC_FORCE_EVENT_FEVTAC12IE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTAC12IE_SHIFT)) & USDHC_FORCE_EVENT_FEVTAC12IE_MASK)
  85758. #define USDHC_FORCE_EVENT_FEVTCNIBAC12E_MASK (0x80U)
  85759. #define USDHC_FORCE_EVENT_FEVTCNIBAC12E_SHIFT (7U)
  85760. /*! FEVTCNIBAC12E - Force event command not executed by Auto Command 12 error
  85761. */
  85762. #define USDHC_FORCE_EVENT_FEVTCNIBAC12E(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTCNIBAC12E_SHIFT)) & USDHC_FORCE_EVENT_FEVTCNIBAC12E_MASK)
  85763. #define USDHC_FORCE_EVENT_FEVTCTOE_MASK (0x10000U)
  85764. #define USDHC_FORCE_EVENT_FEVTCTOE_SHIFT (16U)
  85765. /*! FEVTCTOE - Force event command time out error
  85766. */
  85767. #define USDHC_FORCE_EVENT_FEVTCTOE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTCTOE_SHIFT)) & USDHC_FORCE_EVENT_FEVTCTOE_MASK)
  85768. #define USDHC_FORCE_EVENT_FEVTCCE_MASK (0x20000U)
  85769. #define USDHC_FORCE_EVENT_FEVTCCE_SHIFT (17U)
  85770. /*! FEVTCCE - Force event command CRC error
  85771. */
  85772. #define USDHC_FORCE_EVENT_FEVTCCE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTCCE_SHIFT)) & USDHC_FORCE_EVENT_FEVTCCE_MASK)
  85773. #define USDHC_FORCE_EVENT_FEVTCEBE_MASK (0x40000U)
  85774. #define USDHC_FORCE_EVENT_FEVTCEBE_SHIFT (18U)
  85775. /*! FEVTCEBE - Force event command end bit error
  85776. */
  85777. #define USDHC_FORCE_EVENT_FEVTCEBE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTCEBE_SHIFT)) & USDHC_FORCE_EVENT_FEVTCEBE_MASK)
  85778. #define USDHC_FORCE_EVENT_FEVTCIE_MASK (0x80000U)
  85779. #define USDHC_FORCE_EVENT_FEVTCIE_SHIFT (19U)
  85780. /*! FEVTCIE - Force event command index error
  85781. */
  85782. #define USDHC_FORCE_EVENT_FEVTCIE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTCIE_SHIFT)) & USDHC_FORCE_EVENT_FEVTCIE_MASK)
  85783. #define USDHC_FORCE_EVENT_FEVTDTOE_MASK (0x100000U)
  85784. #define USDHC_FORCE_EVENT_FEVTDTOE_SHIFT (20U)
  85785. /*! FEVTDTOE - Force event data time out error
  85786. */
  85787. #define USDHC_FORCE_EVENT_FEVTDTOE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTDTOE_SHIFT)) & USDHC_FORCE_EVENT_FEVTDTOE_MASK)
  85788. #define USDHC_FORCE_EVENT_FEVTDCE_MASK (0x200000U)
  85789. #define USDHC_FORCE_EVENT_FEVTDCE_SHIFT (21U)
  85790. /*! FEVTDCE - Force event data CRC error
  85791. */
  85792. #define USDHC_FORCE_EVENT_FEVTDCE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTDCE_SHIFT)) & USDHC_FORCE_EVENT_FEVTDCE_MASK)
  85793. #define USDHC_FORCE_EVENT_FEVTDEBE_MASK (0x400000U)
  85794. #define USDHC_FORCE_EVENT_FEVTDEBE_SHIFT (22U)
  85795. /*! FEVTDEBE - Force event data end bit error
  85796. */
  85797. #define USDHC_FORCE_EVENT_FEVTDEBE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTDEBE_SHIFT)) & USDHC_FORCE_EVENT_FEVTDEBE_MASK)
  85798. #define USDHC_FORCE_EVENT_FEVTAC12E_MASK (0x1000000U)
  85799. #define USDHC_FORCE_EVENT_FEVTAC12E_SHIFT (24U)
  85800. /*! FEVTAC12E - Force event Auto Command 12 error
  85801. */
  85802. #define USDHC_FORCE_EVENT_FEVTAC12E(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTAC12E_SHIFT)) & USDHC_FORCE_EVENT_FEVTAC12E_MASK)
  85803. #define USDHC_FORCE_EVENT_FEVTTNE_MASK (0x4000000U)
  85804. #define USDHC_FORCE_EVENT_FEVTTNE_SHIFT (26U)
  85805. /*! FEVTTNE - Force tuning error
  85806. */
  85807. #define USDHC_FORCE_EVENT_FEVTTNE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTTNE_SHIFT)) & USDHC_FORCE_EVENT_FEVTTNE_MASK)
  85808. #define USDHC_FORCE_EVENT_FEVTDMAE_MASK (0x10000000U)
  85809. #define USDHC_FORCE_EVENT_FEVTDMAE_SHIFT (28U)
  85810. /*! FEVTDMAE - Force event DMA error
  85811. */
  85812. #define USDHC_FORCE_EVENT_FEVTDMAE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTDMAE_SHIFT)) & USDHC_FORCE_EVENT_FEVTDMAE_MASK)
  85813. #define USDHC_FORCE_EVENT_FEVTCINT_MASK (0x80000000U)
  85814. #define USDHC_FORCE_EVENT_FEVTCINT_SHIFT (31U)
  85815. /*! FEVTCINT - Force event card interrupt
  85816. */
  85817. #define USDHC_FORCE_EVENT_FEVTCINT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTCINT_SHIFT)) & USDHC_FORCE_EVENT_FEVTCINT_MASK)
  85818. /*! @} */
  85819. /*! @name ADMA_ERR_STATUS - ADMA Error Status */
  85820. /*! @{ */
  85821. #define USDHC_ADMA_ERR_STATUS_ADMAES_MASK (0x3U)
  85822. #define USDHC_ADMA_ERR_STATUS_ADMAES_SHIFT (0U)
  85823. /*! ADMAES - ADMA error state (when ADMA error is occurred)
  85824. */
  85825. #define USDHC_ADMA_ERR_STATUS_ADMAES(x) (((uint32_t)(((uint32_t)(x)) << USDHC_ADMA_ERR_STATUS_ADMAES_SHIFT)) & USDHC_ADMA_ERR_STATUS_ADMAES_MASK)
  85826. #define USDHC_ADMA_ERR_STATUS_ADMALME_MASK (0x4U)
  85827. #define USDHC_ADMA_ERR_STATUS_ADMALME_SHIFT (2U)
  85828. /*! ADMALME - ADMA length mismatch error
  85829. * 0b1..Error
  85830. * 0b0..No error
  85831. */
  85832. #define USDHC_ADMA_ERR_STATUS_ADMALME(x) (((uint32_t)(((uint32_t)(x)) << USDHC_ADMA_ERR_STATUS_ADMALME_SHIFT)) & USDHC_ADMA_ERR_STATUS_ADMALME_MASK)
  85833. #define USDHC_ADMA_ERR_STATUS_ADMADCE_MASK (0x8U)
  85834. #define USDHC_ADMA_ERR_STATUS_ADMADCE_SHIFT (3U)
  85835. /*! ADMADCE - ADMA descriptor error
  85836. * 0b1..Error
  85837. * 0b0..No error
  85838. */
  85839. #define USDHC_ADMA_ERR_STATUS_ADMADCE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_ADMA_ERR_STATUS_ADMADCE_SHIFT)) & USDHC_ADMA_ERR_STATUS_ADMADCE_MASK)
  85840. /*! @} */
  85841. /*! @name ADMA_SYS_ADDR - ADMA System Address */
  85842. /*! @{ */
  85843. #define USDHC_ADMA_SYS_ADDR_ADS_ADDR_MASK (0xFFFFFFFCU)
  85844. #define USDHC_ADMA_SYS_ADDR_ADS_ADDR_SHIFT (2U)
  85845. /*! ADS_ADDR - ADMA system address
  85846. */
  85847. #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)
  85848. /*! @} */
  85849. /*! @name DLL_CTRL - DLL (Delay Line) Control */
  85850. /*! @{ */
  85851. #define USDHC_DLL_CTRL_DLL_CTRL_ENABLE_MASK (0x1U)
  85852. #define USDHC_DLL_CTRL_DLL_CTRL_ENABLE_SHIFT (0U)
  85853. /*! DLL_CTRL_ENABLE - DLL and delay chain
  85854. */
  85855. #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)
  85856. #define USDHC_DLL_CTRL_DLL_CTRL_RESET_MASK (0x2U)
  85857. #define USDHC_DLL_CTRL_DLL_CTRL_RESET_SHIFT (1U)
  85858. /*! DLL_CTRL_RESET - DLL reset
  85859. */
  85860. #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)
  85861. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_FORCE_UPD_MASK (0x4U)
  85862. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_FORCE_UPD_SHIFT (2U)
  85863. /*! DLL_CTRL_SLV_FORCE_UPD - DLL slave delay line
  85864. */
  85865. #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)
  85866. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_DLY_TARGET0_MASK (0x78U)
  85867. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_DLY_TARGET0_SHIFT (3U)
  85868. /*! DLL_CTRL_SLV_DLY_TARGET0 - DLL slave delay target0
  85869. */
  85870. #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)
  85871. #define USDHC_DLL_CTRL_DLL_CTRL_GATE_UPDATE_MASK (0x80U)
  85872. #define USDHC_DLL_CTRL_DLL_CTRL_GATE_UPDATE_SHIFT (7U)
  85873. /*! DLL_CTRL_GATE_UPDATE - DLL gate update
  85874. */
  85875. #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)
  85876. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_OVERRIDE_MASK (0x100U)
  85877. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_OVERRIDE_SHIFT (8U)
  85878. /*! DLL_CTRL_SLV_OVERRIDE - DLL slave override
  85879. */
  85880. #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)
  85881. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_OVERRIDE_VAL_MASK (0xFE00U)
  85882. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_OVERRIDE_VAL_SHIFT (9U)
  85883. /*! DLL_CTRL_SLV_OVERRIDE_VAL - DLL slave override val
  85884. */
  85885. #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)
  85886. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_DLY_TARGET1_MASK (0x70000U)
  85887. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_DLY_TARGET1_SHIFT (16U)
  85888. /*! DLL_CTRL_SLV_DLY_TARGET1 - DLL slave delay target1
  85889. */
  85890. #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)
  85891. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_UPDATE_INT_MASK (0xFF00000U)
  85892. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_UPDATE_INT_SHIFT (20U)
  85893. /*! DLL_CTRL_SLV_UPDATE_INT - Slave delay line update interval
  85894. */
  85895. #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)
  85896. #define USDHC_DLL_CTRL_DLL_CTRL_REF_UPDATE_INT_MASK (0xF0000000U)
  85897. #define USDHC_DLL_CTRL_DLL_CTRL_REF_UPDATE_INT_SHIFT (28U)
  85898. /*! DLL_CTRL_REF_UPDATE_INT - DLL control loop update interval
  85899. */
  85900. #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)
  85901. /*! @} */
  85902. /*! @name DLL_STATUS - DLL Status */
  85903. /*! @{ */
  85904. #define USDHC_DLL_STATUS_DLL_STS_SLV_LOCK_MASK (0x1U)
  85905. #define USDHC_DLL_STATUS_DLL_STS_SLV_LOCK_SHIFT (0U)
  85906. /*! DLL_STS_SLV_LOCK - Slave delay-line lock status
  85907. */
  85908. #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)
  85909. #define USDHC_DLL_STATUS_DLL_STS_REF_LOCK_MASK (0x2U)
  85910. #define USDHC_DLL_STATUS_DLL_STS_REF_LOCK_SHIFT (1U)
  85911. /*! DLL_STS_REF_LOCK - Reference DLL lock status
  85912. */
  85913. #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)
  85914. #define USDHC_DLL_STATUS_DLL_STS_SLV_SEL_MASK (0x1FCU)
  85915. #define USDHC_DLL_STATUS_DLL_STS_SLV_SEL_SHIFT (2U)
  85916. /*! DLL_STS_SLV_SEL - Slave delay line select status
  85917. */
  85918. #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)
  85919. #define USDHC_DLL_STATUS_DLL_STS_REF_SEL_MASK (0xFE00U)
  85920. #define USDHC_DLL_STATUS_DLL_STS_REF_SEL_SHIFT (9U)
  85921. /*! DLL_STS_REF_SEL - Reference delay line select taps
  85922. */
  85923. #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)
  85924. /*! @} */
  85925. /*! @name CLK_TUNE_CTRL_STATUS - CLK Tuning Control and Status */
  85926. /*! @{ */
  85927. #define USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_POST_MASK (0xFU)
  85928. #define USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_POST_SHIFT (0U)
  85929. /*! DLY_CELL_SET_POST - Delay cells on the feedback clock between CLK_OUT and CLK_POST
  85930. */
  85931. #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)
  85932. #define USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_OUT_MASK (0xF0U)
  85933. #define USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_OUT_SHIFT (4U)
  85934. /*! DLY_CELL_SET_OUT - Delay cells on the feedback clock between CLK_PRE and CLK_OUT
  85935. */
  85936. #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)
  85937. #define USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_PRE_MASK (0x7F00U)
  85938. #define USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_PRE_SHIFT (8U)
  85939. /*! DLY_CELL_SET_PRE - delay cells on the feedback clock between the feedback clock and CLK_PRE
  85940. */
  85941. #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)
  85942. #define USDHC_CLK_TUNE_CTRL_STATUS_NXT_ERR_MASK (0x8000U)
  85943. #define USDHC_CLK_TUNE_CTRL_STATUS_NXT_ERR_SHIFT (15U)
  85944. /*! NXT_ERR - NXT error
  85945. */
  85946. #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)
  85947. #define USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_POST_MASK (0xF0000U)
  85948. #define USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_POST_SHIFT (16U)
  85949. /*! TAP_SEL_POST - Delay cells added on the feedback clock between CLK_OUT and CLK_POST
  85950. */
  85951. #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)
  85952. #define USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_OUT_MASK (0xF00000U)
  85953. #define USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_OUT_SHIFT (20U)
  85954. /*! TAP_SEL_OUT - Delay cells added on the feedback clock between CLK_PRE and CLK_OUT
  85955. */
  85956. #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)
  85957. #define USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_PRE_MASK (0x7F000000U)
  85958. #define USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_PRE_SHIFT (24U)
  85959. /*! TAP_SEL_PRE - TAP_SEL_PRE
  85960. */
  85961. #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)
  85962. #define USDHC_CLK_TUNE_CTRL_STATUS_PRE_ERR_MASK (0x80000000U)
  85963. #define USDHC_CLK_TUNE_CTRL_STATUS_PRE_ERR_SHIFT (31U)
  85964. /*! PRE_ERR - PRE error
  85965. */
  85966. #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)
  85967. /*! @} */
  85968. /*! @name STROBE_DLL_CTRL - Strobe DLL control */
  85969. /*! @{ */
  85970. #define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_ENABLE_MASK (0x1U)
  85971. #define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_ENABLE_SHIFT (0U)
  85972. /*! STROBE_DLL_CTRL_ENABLE - Strobe DLL control enable
  85973. */
  85974. #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)
  85975. #define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_RESET_MASK (0x2U)
  85976. #define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_RESET_SHIFT (1U)
  85977. /*! STROBE_DLL_CTRL_RESET - Strobe DLL control reset
  85978. */
  85979. #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)
  85980. #define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_FORCE_UPD_MASK (0x4U)
  85981. #define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_FORCE_UPD_SHIFT (2U)
  85982. /*! STROBE_DLL_CTRL_SLV_FORCE_UPD - Strobe DLL control slave force updated
  85983. */
  85984. #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)
  85985. #define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_DLY_TARGET_MASK (0x78U)
  85986. #define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_DLY_TARGET_SHIFT (3U)
  85987. /*! STROBE_DLL_CTRL_SLV_DLY_TARGET - Strobe DLL Control Slave Delay Target
  85988. */
  85989. #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)
  85990. #define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_GATE_UPDATE_MASK (0x80U)
  85991. #define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_GATE_UPDATE_SHIFT (7U)
  85992. /*! STROBE_DLL_CTRL_GATE_UPDATE - Strobe DLL control gate update
  85993. */
  85994. #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)
  85995. #define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_OVERRIDE_MASK (0x100U)
  85996. #define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_OVERRIDE_SHIFT (8U)
  85997. /*! STROBE_DLL_CTRL_SLV_OVERRIDE - Strobe DLL control slave override
  85998. */
  85999. #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)
  86000. #define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_OVERRIDE_VAL_MASK (0xFE00U)
  86001. #define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_OVERRIDE_VAL_SHIFT (9U)
  86002. /*! STROBE_DLL_CTRL_SLV_OVERRIDE_VAL - Strobe DLL control slave Override value
  86003. */
  86004. #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)
  86005. #define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_UPDATE_INT_MASK (0xFF00000U)
  86006. #define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_UPDATE_INT_SHIFT (20U)
  86007. /*! STROBE_DLL_CTRL_SLV_UPDATE_INT - Strobe DLL control slave update interval
  86008. */
  86009. #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)
  86010. #define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_REF_UPDATE_INT_MASK (0xF0000000U)
  86011. #define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_REF_UPDATE_INT_SHIFT (28U)
  86012. /*! STROBE_DLL_CTRL_REF_UPDATE_INT - Strobe DLL control reference update interval
  86013. */
  86014. #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)
  86015. /*! @} */
  86016. /*! @name STROBE_DLL_STATUS - Strobe DLL status */
  86017. /*! @{ */
  86018. #define USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_SLV_LOCK_MASK (0x1U)
  86019. #define USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_SLV_LOCK_SHIFT (0U)
  86020. /*! STROBE_DLL_STS_SLV_LOCK - Strobe DLL status slave lock
  86021. */
  86022. #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)
  86023. #define USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_REF_LOCK_MASK (0x2U)
  86024. #define USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_REF_LOCK_SHIFT (1U)
  86025. /*! STROBE_DLL_STS_REF_LOCK - Strobe DLL status reference lock
  86026. */
  86027. #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)
  86028. #define USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_SLV_SEL_MASK (0x1FCU)
  86029. #define USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_SLV_SEL_SHIFT (2U)
  86030. /*! STROBE_DLL_STS_SLV_SEL - Strobe DLL status slave select
  86031. */
  86032. #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)
  86033. #define USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_REF_SEL_MASK (0xFE00U)
  86034. #define USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_REF_SEL_SHIFT (9U)
  86035. /*! STROBE_DLL_STS_REF_SEL - Strobe DLL status reference select
  86036. */
  86037. #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)
  86038. /*! @} */
  86039. /*! @name VEND_SPEC - Vendor Specific Register */
  86040. /*! @{ */
  86041. #define USDHC_VEND_SPEC_VSELECT_MASK (0x2U)
  86042. #define USDHC_VEND_SPEC_VSELECT_SHIFT (1U)
  86043. /*! VSELECT - Voltage selection
  86044. * 0b1..Change the voltage to low voltage range, around 1.8 V
  86045. * 0b0..Change the voltage to high voltage range, around 3.0 V
  86046. */
  86047. #define USDHC_VEND_SPEC_VSELECT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC_VSELECT_SHIFT)) & USDHC_VEND_SPEC_VSELECT_MASK)
  86048. #define USDHC_VEND_SPEC_CONFLICT_CHK_EN_MASK (0x4U)
  86049. #define USDHC_VEND_SPEC_CONFLICT_CHK_EN_SHIFT (2U)
  86050. /*! CONFLICT_CHK_EN - Conflict check enable
  86051. * 0b0..Conflict check disable
  86052. * 0b1..Conflict check enable
  86053. */
  86054. #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)
  86055. #define USDHC_VEND_SPEC_AC12_WR_CHKBUSY_EN_MASK (0x8U)
  86056. #define USDHC_VEND_SPEC_AC12_WR_CHKBUSY_EN_SHIFT (3U)
  86057. /*! AC12_WR_CHKBUSY_EN - Check busy enable
  86058. * 0b0..Do not check busy after auto CMD12 for write data packet
  86059. * 0b1..Check busy after auto CMD12 for write data packet
  86060. */
  86061. #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)
  86062. #define USDHC_VEND_SPEC_FRC_SDCLK_ON_MASK (0x100U)
  86063. #define USDHC_VEND_SPEC_FRC_SDCLK_ON_SHIFT (8U)
  86064. /*! FRC_SDCLK_ON - Force CLK
  86065. * 0b0..CLK active or inactive is fully controlled by the hardware.
  86066. * 0b1..Force CLK active
  86067. */
  86068. #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)
  86069. #define USDHC_VEND_SPEC_CRC_CHK_DIS_MASK (0x8000U)
  86070. #define USDHC_VEND_SPEC_CRC_CHK_DIS_SHIFT (15U)
  86071. /*! CRC_CHK_DIS - CRC Check Disable
  86072. * 0b0..Check CRC16 for every read data packet and check CRC fields for every write data packet
  86073. * 0b1..Ignore CRC16 check for every read data packet and ignore CRC fields check for every write data packet
  86074. */
  86075. #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)
  86076. #define USDHC_VEND_SPEC_CMD_BYTE_EN_MASK (0x80000000U)
  86077. #define USDHC_VEND_SPEC_CMD_BYTE_EN_SHIFT (31U)
  86078. /*! CMD_BYTE_EN - Byte access
  86079. * 0b0..Disable
  86080. * 0b1..Enable
  86081. */
  86082. #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)
  86083. /*! @} */
  86084. /*! @name MMC_BOOT - MMC Boot */
  86085. /*! @{ */
  86086. #define USDHC_MMC_BOOT_DTOCV_ACK_MASK (0xFU)
  86087. #define USDHC_MMC_BOOT_DTOCV_ACK_SHIFT (0U)
  86088. /*! DTOCV_ACK - Boot ACK time out
  86089. * 0b0000..SDCLK x 2^14
  86090. * 0b0001..SDCLK x 2^15
  86091. * 0b0010..SDCLK x 2^16
  86092. * 0b0011..SDCLK x 2^17
  86093. * 0b0100..SDCLK x 2^18
  86094. * 0b0101..SDCLK x 2^19
  86095. * 0b0110..SDCLK x 2^20
  86096. * 0b0111..SDCLK x 2^21
  86097. * 0b1110..SDCLK x 2^28
  86098. * 0b1111..SDCLK x 2^29
  86099. */
  86100. #define USDHC_MMC_BOOT_DTOCV_ACK(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MMC_BOOT_DTOCV_ACK_SHIFT)) & USDHC_MMC_BOOT_DTOCV_ACK_MASK)
  86101. #define USDHC_MMC_BOOT_BOOT_ACK_MASK (0x10U)
  86102. #define USDHC_MMC_BOOT_BOOT_ACK_SHIFT (4U)
  86103. /*! BOOT_ACK - BOOT ACK
  86104. * 0b0..No ack
  86105. * 0b1..Ack
  86106. */
  86107. #define USDHC_MMC_BOOT_BOOT_ACK(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MMC_BOOT_BOOT_ACK_SHIFT)) & USDHC_MMC_BOOT_BOOT_ACK_MASK)
  86108. #define USDHC_MMC_BOOT_BOOT_MODE_MASK (0x20U)
  86109. #define USDHC_MMC_BOOT_BOOT_MODE_SHIFT (5U)
  86110. /*! BOOT_MODE - Boot mode
  86111. * 0b0..Normal boot
  86112. * 0b1..Alternative boot
  86113. */
  86114. #define USDHC_MMC_BOOT_BOOT_MODE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MMC_BOOT_BOOT_MODE_SHIFT)) & USDHC_MMC_BOOT_BOOT_MODE_MASK)
  86115. #define USDHC_MMC_BOOT_BOOT_EN_MASK (0x40U)
  86116. #define USDHC_MMC_BOOT_BOOT_EN_SHIFT (6U)
  86117. /*! BOOT_EN - Boot enable
  86118. * 0b0..Fast boot disable
  86119. * 0b1..Fast boot enable
  86120. */
  86121. #define USDHC_MMC_BOOT_BOOT_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MMC_BOOT_BOOT_EN_SHIFT)) & USDHC_MMC_BOOT_BOOT_EN_MASK)
  86122. #define USDHC_MMC_BOOT_AUTO_SABG_EN_MASK (0x80U)
  86123. #define USDHC_MMC_BOOT_AUTO_SABG_EN_SHIFT (7U)
  86124. /*! AUTO_SABG_EN - Auto stop at block gap
  86125. */
  86126. #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)
  86127. #define USDHC_MMC_BOOT_DISABLE_TIME_OUT_MASK (0x100U)
  86128. #define USDHC_MMC_BOOT_DISABLE_TIME_OUT_SHIFT (8U)
  86129. /*! DISABLE_TIME_OUT - Time out
  86130. * 0b0..Enable time out
  86131. * 0b1..Disable time out
  86132. */
  86133. #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)
  86134. #define USDHC_MMC_BOOT_BOOT_BLK_CNT_MASK (0xFFFF0000U)
  86135. #define USDHC_MMC_BOOT_BOOT_BLK_CNT_SHIFT (16U)
  86136. /*! BOOT_BLK_CNT - Stop At Block Gap value of automatic mode
  86137. */
  86138. #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)
  86139. /*! @} */
  86140. /*! @name VEND_SPEC2 - Vendor Specific 2 Register */
  86141. /*! @{ */
  86142. #define USDHC_VEND_SPEC2_CARD_INT_D3_TEST_MASK (0x8U)
  86143. #define USDHC_VEND_SPEC2_CARD_INT_D3_TEST_SHIFT (3U)
  86144. /*! CARD_INT_D3_TEST - Card interrupt detection test
  86145. * 0b0..Check the card interrupt only when DATA3 is high.
  86146. * 0b1..Check the card interrupt by ignoring the status of DATA3.
  86147. */
  86148. #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)
  86149. #define USDHC_VEND_SPEC2_TUNING_8bit_EN_MASK (0x10U)
  86150. #define USDHC_VEND_SPEC2_TUNING_8bit_EN_SHIFT (4U)
  86151. /*! TUNING_8bit_EN - Tuning 8bit enable
  86152. */
  86153. #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)
  86154. #define USDHC_VEND_SPEC2_TUNING_1bit_EN_MASK (0x20U)
  86155. #define USDHC_VEND_SPEC2_TUNING_1bit_EN_SHIFT (5U)
  86156. /*! TUNING_1bit_EN - Tuning 1bit enable
  86157. */
  86158. #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)
  86159. #define USDHC_VEND_SPEC2_TUNING_CMD_EN_MASK (0x40U)
  86160. #define USDHC_VEND_SPEC2_TUNING_CMD_EN_SHIFT (6U)
  86161. /*! TUNING_CMD_EN - Tuning command enable
  86162. * 0b0..Auto tuning circuit does not check the CMD line.
  86163. * 0b1..Auto tuning circuit checks the CMD line.
  86164. */
  86165. #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)
  86166. #define USDHC_VEND_SPEC2_HS400_WR_CLK_STOP_EN_MASK (0x400U)
  86167. #define USDHC_VEND_SPEC2_HS400_WR_CLK_STOP_EN_SHIFT (10U)
  86168. /*! HS400_WR_CLK_STOP_EN - HS400 write clock stop enable
  86169. */
  86170. #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)
  86171. #define USDHC_VEND_SPEC2_HS400_RD_CLK_STOP_EN_MASK (0x800U)
  86172. #define USDHC_VEND_SPEC2_HS400_RD_CLK_STOP_EN_SHIFT (11U)
  86173. /*! HS400_RD_CLK_STOP_EN - HS400 read clock stop enable
  86174. */
  86175. #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)
  86176. #define USDHC_VEND_SPEC2_ACMD23_ARGU2_EN_MASK (0x1000U)
  86177. #define USDHC_VEND_SPEC2_ACMD23_ARGU2_EN_SHIFT (12U)
  86178. /*! ACMD23_ARGU2_EN - Argument2 register enable for ACMD23
  86179. * 0b1..Argument2 register enable for ACMD23 sharing with SDMA system address register. Default is enabled.
  86180. * 0b0..Disable
  86181. */
  86182. #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)
  86183. /*! @} */
  86184. /*! @name TUNING_CTRL - Tuning Control */
  86185. /*! @{ */
  86186. #define USDHC_TUNING_CTRL_TUNING_START_TAP_MASK (0x7FU)
  86187. #define USDHC_TUNING_CTRL_TUNING_START_TAP_SHIFT (0U)
  86188. /*! TUNING_START_TAP - Tuning start
  86189. */
  86190. #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)
  86191. #define USDHC_TUNING_CTRL_DIS_CMD_CHK_FOR_STD_TUNING_MASK (0x80U)
  86192. #define USDHC_TUNING_CTRL_DIS_CMD_CHK_FOR_STD_TUNING_SHIFT (7U)
  86193. /*! DIS_CMD_CHK_FOR_STD_TUNING - Disable command check for standard tuning
  86194. */
  86195. #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)
  86196. #define USDHC_TUNING_CTRL_TUNING_COUNTER_MASK (0xFF00U)
  86197. #define USDHC_TUNING_CTRL_TUNING_COUNTER_SHIFT (8U)
  86198. /*! TUNING_COUNTER - Tuning counter
  86199. */
  86200. #define USDHC_TUNING_CTRL_TUNING_COUNTER(x) (((uint32_t)(((uint32_t)(x)) << USDHC_TUNING_CTRL_TUNING_COUNTER_SHIFT)) & USDHC_TUNING_CTRL_TUNING_COUNTER_MASK)
  86201. #define USDHC_TUNING_CTRL_TUNING_STEP_MASK (0x70000U)
  86202. #define USDHC_TUNING_CTRL_TUNING_STEP_SHIFT (16U)
  86203. /*! TUNING_STEP - TUNING_STEP
  86204. */
  86205. #define USDHC_TUNING_CTRL_TUNING_STEP(x) (((uint32_t)(((uint32_t)(x)) << USDHC_TUNING_CTRL_TUNING_STEP_SHIFT)) & USDHC_TUNING_CTRL_TUNING_STEP_MASK)
  86206. #define USDHC_TUNING_CTRL_TUNING_WINDOW_MASK (0x700000U)
  86207. #define USDHC_TUNING_CTRL_TUNING_WINDOW_SHIFT (20U)
  86208. /*! TUNING_WINDOW - Data window
  86209. */
  86210. #define USDHC_TUNING_CTRL_TUNING_WINDOW(x) (((uint32_t)(((uint32_t)(x)) << USDHC_TUNING_CTRL_TUNING_WINDOW_SHIFT)) & USDHC_TUNING_CTRL_TUNING_WINDOW_MASK)
  86211. #define USDHC_TUNING_CTRL_STD_TUNING_EN_MASK (0x1000000U)
  86212. #define USDHC_TUNING_CTRL_STD_TUNING_EN_SHIFT (24U)
  86213. /*! STD_TUNING_EN - Standard tuning circuit and procedure enable
  86214. */
  86215. #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)
  86216. /*! @} */
  86217. /*!
  86218. * @}
  86219. */ /* end of group USDHC_Register_Masks */
  86220. /* USDHC - Peripheral instance base addresses */
  86221. /** Peripheral USDHC1 base address */
  86222. #define USDHC1_BASE (0x40418000u)
  86223. /** Peripheral USDHC1 base pointer */
  86224. #define USDHC1 ((USDHC_Type *)USDHC1_BASE)
  86225. /** Peripheral USDHC2 base address */
  86226. #define USDHC2_BASE (0x4041C000u)
  86227. /** Peripheral USDHC2 base pointer */
  86228. #define USDHC2 ((USDHC_Type *)USDHC2_BASE)
  86229. /** Array initializer of USDHC peripheral base addresses */
  86230. #define USDHC_BASE_ADDRS { 0u, USDHC1_BASE, USDHC2_BASE }
  86231. /** Array initializer of USDHC peripheral base pointers */
  86232. #define USDHC_BASE_PTRS { (USDHC_Type *)0u, USDHC1, USDHC2 }
  86233. /** Interrupt vectors for the USDHC peripheral type */
  86234. #define USDHC_IRQS { NotAvail_IRQn, USDHC1_IRQn, USDHC2_IRQn }
  86235. /*!
  86236. * @}
  86237. */ /* end of group USDHC_Peripheral_Access_Layer */
  86238. /* ----------------------------------------------------------------------------
  86239. -- VIDEO_MUX Peripheral Access Layer
  86240. ---------------------------------------------------------------------------- */
  86241. /*!
  86242. * @addtogroup VIDEO_MUX_Peripheral_Access_Layer VIDEO_MUX Peripheral Access Layer
  86243. * @{
  86244. */
  86245. /** VIDEO_MUX - Register Layout Typedef */
  86246. typedef struct {
  86247. struct { /* offset: 0x0 */
  86248. __IO uint32_t RW; /**< Video mux Control Register, offset: 0x0 */
  86249. __IO uint32_t SET; /**< Video mux Control Register, offset: 0x4 */
  86250. __IO uint32_t CLR; /**< Video mux Control Register, offset: 0x8 */
  86251. __IO uint32_t TOG; /**< Video mux Control Register, offset: 0xC */
  86252. } VID_MUX_CTRL;
  86253. uint8_t RESERVED_0[16];
  86254. struct { /* offset: 0x20 */
  86255. __IO uint32_t RW; /**< Pixel Link Master(PLM) Control Register, offset: 0x20 */
  86256. __IO uint32_t SET; /**< Pixel Link Master(PLM) Control Register, offset: 0x24 */
  86257. __IO uint32_t CLR; /**< Pixel Link Master(PLM) Control Register, offset: 0x28 */
  86258. __IO uint32_t TOG; /**< Pixel Link Master(PLM) Control Register, offset: 0x2C */
  86259. } PLM_CTRL;
  86260. struct { /* offset: 0x30 */
  86261. __IO uint32_t RW; /**< YUV420 Control Register, offset: 0x30 */
  86262. __IO uint32_t SET; /**< YUV420 Control Register, offset: 0x34 */
  86263. __IO uint32_t CLR; /**< YUV420 Control Register, offset: 0x38 */
  86264. __IO uint32_t TOG; /**< YUV420 Control Register, offset: 0x3C */
  86265. } YUV420_CTRL;
  86266. uint8_t RESERVED_1[16];
  86267. struct { /* offset: 0x50 */
  86268. __IO uint32_t RW; /**< Data Disable Register, offset: 0x50 */
  86269. __IO uint32_t SET; /**< Data Disable Register, offset: 0x54 */
  86270. __IO uint32_t CLR; /**< Data Disable Register, offset: 0x58 */
  86271. __IO uint32_t TOG; /**< Data Disable Register, offset: 0x5C */
  86272. } CFG_DT_DISABLE;
  86273. uint8_t RESERVED_2[16];
  86274. struct { /* offset: 0x70 */
  86275. __IO uint32_t RW; /**< MIPI DSI Control Register, offset: 0x70 */
  86276. __IO uint32_t SET; /**< MIPI DSI Control Register, offset: 0x74 */
  86277. __IO uint32_t CLR; /**< MIPI DSI Control Register, offset: 0x78 */
  86278. __IO uint32_t TOG; /**< MIPI DSI Control Register, offset: 0x7C */
  86279. } MIPI_DSI_CTRL;
  86280. } VIDEO_MUX_Type;
  86281. /* ----------------------------------------------------------------------------
  86282. -- VIDEO_MUX Register Masks
  86283. ---------------------------------------------------------------------------- */
  86284. /*!
  86285. * @addtogroup VIDEO_MUX_Register_Masks VIDEO_MUX Register Masks
  86286. * @{
  86287. */
  86288. /*! @name VID_MUX_CTRL - Video mux Control Register */
  86289. /*! @{ */
  86290. #define VIDEO_MUX_VID_MUX_CTRL_CSI_SEL_MASK (0x1U)
  86291. #define VIDEO_MUX_VID_MUX_CTRL_CSI_SEL_SHIFT (0U)
  86292. /*! CSI_SEL - CSI sensor data input mux selector
  86293. * 0b0..CSI sensor data is from Parallel CSI
  86294. * 0b1..CSI sensor data is from MIPI CSI
  86295. */
  86296. #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)
  86297. #define VIDEO_MUX_VID_MUX_CTRL_LCDIF2_SEL_MASK (0x2U)
  86298. #define VIDEO_MUX_VID_MUX_CTRL_LCDIF2_SEL_SHIFT (1U)
  86299. /*! LCDIF2_SEL - LCDIF2 sensor data input mux selector
  86300. * 0b0..LCDIFv2 sensor data is from Parallel CSI
  86301. * 0b1..LCDIFv2 sensor data is from MIPI CSI
  86302. */
  86303. #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)
  86304. #define VIDEO_MUX_VID_MUX_CTRL_MIPI_DSI_SEL_MASK (0x4U)
  86305. #define VIDEO_MUX_VID_MUX_CTRL_MIPI_DSI_SEL_SHIFT (2U)
  86306. /*! MIPI_DSI_SEL - MIPI DSI video data input mux selector
  86307. * 0b0..MIPI DSI video data is from eLCDIF
  86308. * 0b1..MIPI DSI video data is from LCDIFv2
  86309. */
  86310. #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)
  86311. #define VIDEO_MUX_VID_MUX_CTRL_PARA_LCD_SEL_MASK (0x8U)
  86312. #define VIDEO_MUX_VID_MUX_CTRL_PARA_LCD_SEL_SHIFT (3U)
  86313. /*! PARA_LCD_SEL - Parallel LCDIF video data input mux selector
  86314. * 0b0..Parallel LCDIF video data is from eLCDIF
  86315. * 0b1..Parallel LCDIF video data is from LCDIFv2
  86316. */
  86317. #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)
  86318. /*! @} */
  86319. /*! @name PLM_CTRL - Pixel Link Master(PLM) Control Register */
  86320. /*! @{ */
  86321. #define VIDEO_MUX_PLM_CTRL_ENABLE_MASK (0x1U)
  86322. #define VIDEO_MUX_PLM_CTRL_ENABLE_SHIFT (0U)
  86323. /*! ENABLE - Enable the output of HYSNC and VSYNC
  86324. * 0b0..No active HSYNC and VSYNC output
  86325. * 0b1..Active HSYNC and VSYNC output
  86326. */
  86327. #define VIDEO_MUX_PLM_CTRL_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << VIDEO_MUX_PLM_CTRL_ENABLE_SHIFT)) & VIDEO_MUX_PLM_CTRL_ENABLE_MASK)
  86328. #define VIDEO_MUX_PLM_CTRL_VSYNC_OVERRIDE_MASK (0x2U)
  86329. #define VIDEO_MUX_PLM_CTRL_VSYNC_OVERRIDE_SHIFT (1U)
  86330. /*! VSYNC_OVERRIDE - VSYNC override
  86331. * 0b1..VSYNC is asserted
  86332. * 0b0..VSYNC is not asserted
  86333. */
  86334. #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)
  86335. #define VIDEO_MUX_PLM_CTRL_HSYNC_OVERRIDE_MASK (0x4U)
  86336. #define VIDEO_MUX_PLM_CTRL_HSYNC_OVERRIDE_SHIFT (2U)
  86337. /*! HSYNC_OVERRIDE - HSYNC override
  86338. * 0b1..HSYNC is asserted
  86339. * 0b0..HSYNC is not asserted
  86340. */
  86341. #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)
  86342. #define VIDEO_MUX_PLM_CTRL_VALID_OVERRIDE_MASK (0x8U)
  86343. #define VIDEO_MUX_PLM_CTRL_VALID_OVERRIDE_SHIFT (3U)
  86344. /*! VALID_OVERRIDE - Valid override
  86345. * 0b0..HSYNC and VSYNC is asserted
  86346. * 0b1..HSYNC and VSYNC is not asserted
  86347. */
  86348. #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)
  86349. #define VIDEO_MUX_PLM_CTRL_POLARITY_MASK (0x10U)
  86350. #define VIDEO_MUX_PLM_CTRL_POLARITY_SHIFT (4U)
  86351. /*! POLARITY - Polarity of HYSNC/VSYNC
  86352. * 0b0..Keep the current polarity of HSYNC and VSYNC
  86353. * 0b1..Invert the polarity of HSYNC and VSYNC
  86354. */
  86355. #define VIDEO_MUX_PLM_CTRL_POLARITY(x) (((uint32_t)(((uint32_t)(x)) << VIDEO_MUX_PLM_CTRL_POLARITY_SHIFT)) & VIDEO_MUX_PLM_CTRL_POLARITY_MASK)
  86356. /*! @} */
  86357. /*! @name YUV420_CTRL - YUV420 Control Register */
  86358. /*! @{ */
  86359. #define VIDEO_MUX_YUV420_CTRL_FST_LN_DATA_TYPE_MASK (0x1U)
  86360. #define VIDEO_MUX_YUV420_CTRL_FST_LN_DATA_TYPE_SHIFT (0U)
  86361. /*! FST_LN_DATA_TYPE - Data type of First Line
  86362. * 0b0..Odd (default)
  86363. * 0b1..Even
  86364. */
  86365. #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)
  86366. /*! @} */
  86367. /*! @name CFG_DT_DISABLE - Data Disable Register */
  86368. /*! @{ */
  86369. #define VIDEO_MUX_CFG_DT_DISABLE_CFG_DT_DISABLE_MASK (0xFFFFFFU)
  86370. #define VIDEO_MUX_CFG_DT_DISABLE_CFG_DT_DISABLE_SHIFT (0U)
  86371. /*! CFG_DT_DISABLE - Data Type Disable
  86372. */
  86373. #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)
  86374. /*! @} */
  86375. /*! @name MIPI_DSI_CTRL - MIPI DSI Control Register */
  86376. /*! @{ */
  86377. #define VIDEO_MUX_MIPI_DSI_CTRL_DPI_SD_MASK (0x1U)
  86378. #define VIDEO_MUX_MIPI_DSI_CTRL_DPI_SD_SHIFT (0U)
  86379. /*! DPI_SD - Shut Down - Control to shutdown display (type 4 only)
  86380. * 0b0..No effect
  86381. * 0b1..Send shutdown command
  86382. */
  86383. #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)
  86384. #define VIDEO_MUX_MIPI_DSI_CTRL_DPI_CM_MASK (0x2U)
  86385. #define VIDEO_MUX_MIPI_DSI_CTRL_DPI_CM_SHIFT (1U)
  86386. /*! DPI_CM - Color Mode control
  86387. * 0b0..Normal Mode
  86388. * 0b1..Low-color mode
  86389. */
  86390. #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)
  86391. /*! @} */
  86392. /*!
  86393. * @}
  86394. */ /* end of group VIDEO_MUX_Register_Masks */
  86395. /* VIDEO_MUX - Peripheral instance base addresses */
  86396. /** Peripheral VIDEO_MUX base address */
  86397. #define VIDEO_MUX_BASE (0x40818000u)
  86398. /** Peripheral VIDEO_MUX base pointer */
  86399. #define VIDEO_MUX ((VIDEO_MUX_Type *)VIDEO_MUX_BASE)
  86400. /** Array initializer of VIDEO_MUX peripheral base addresses */
  86401. #define VIDEO_MUX_BASE_ADDRS { VIDEO_MUX_BASE }
  86402. /** Array initializer of VIDEO_MUX peripheral base pointers */
  86403. #define VIDEO_MUX_BASE_PTRS { VIDEO_MUX }
  86404. /*!
  86405. * @}
  86406. */ /* end of group VIDEO_MUX_Peripheral_Access_Layer */
  86407. /* ----------------------------------------------------------------------------
  86408. -- VIDEO_PLL Peripheral Access Layer
  86409. ---------------------------------------------------------------------------- */
  86410. /*!
  86411. * @addtogroup VIDEO_PLL_Peripheral_Access_Layer VIDEO_PLL Peripheral Access Layer
  86412. * @{
  86413. */
  86414. /** VIDEO_PLL - Register Layout Typedef */
  86415. typedef struct {
  86416. struct { /* offset: 0x0 */
  86417. __IO uint32_t RW; /**< Fractional PLL Control Register, offset: 0x0 */
  86418. __IO uint32_t SET; /**< Fractional PLL Control Register, offset: 0x4 */
  86419. __IO uint32_t CLR; /**< Fractional PLL Control Register, offset: 0x8 */
  86420. __IO uint32_t TOG; /**< Fractional PLL Control Register, offset: 0xC */
  86421. } CTRL0;
  86422. struct { /* offset: 0x10 */
  86423. __IO uint32_t RW; /**< Fractional PLL Spread Spectrum Control Register, offset: 0x10 */
  86424. __IO uint32_t SET; /**< Fractional PLL Spread Spectrum Control Register, offset: 0x14 */
  86425. __IO uint32_t CLR; /**< Fractional PLL Spread Spectrum Control Register, offset: 0x18 */
  86426. __IO uint32_t TOG; /**< Fractional PLL Spread Spectrum Control Register, offset: 0x1C */
  86427. } SPREAD_SPECTRUM;
  86428. struct { /* offset: 0x20 */
  86429. __IO uint32_t RW; /**< Fractional PLL Numerator Control Register, offset: 0x20 */
  86430. __IO uint32_t SET; /**< Fractional PLL Numerator Control Register, offset: 0x24 */
  86431. __IO uint32_t CLR; /**< Fractional PLL Numerator Control Register, offset: 0x28 */
  86432. __IO uint32_t TOG; /**< Fractional PLL Numerator Control Register, offset: 0x2C */
  86433. } NUMERATOR;
  86434. struct { /* offset: 0x30 */
  86435. __IO uint32_t RW; /**< Fractional PLL Denominator Control Register, offset: 0x30 */
  86436. __IO uint32_t SET; /**< Fractional PLL Denominator Control Register, offset: 0x34 */
  86437. __IO uint32_t CLR; /**< Fractional PLL Denominator Control Register, offset: 0x38 */
  86438. __IO uint32_t TOG; /**< Fractional PLL Denominator Control Register, offset: 0x3C */
  86439. } DENOMINATOR;
  86440. } VIDEO_PLL_Type;
  86441. /* ----------------------------------------------------------------------------
  86442. -- VIDEO_PLL Register Masks
  86443. ---------------------------------------------------------------------------- */
  86444. /*!
  86445. * @addtogroup VIDEO_PLL_Register_Masks VIDEO_PLL Register Masks
  86446. * @{
  86447. */
  86448. /*! @name CTRL0 - Fractional PLL Control Register */
  86449. /*! @{ */
  86450. #define VIDEO_PLL_CTRL0_DIV_SELECT_MASK (0x7FU)
  86451. #define VIDEO_PLL_CTRL0_DIV_SELECT_SHIFT (0U)
  86452. /*! DIV_SELECT - DIV_SELECT
  86453. */
  86454. #define VIDEO_PLL_CTRL0_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << VIDEO_PLL_CTRL0_DIV_SELECT_SHIFT)) & VIDEO_PLL_CTRL0_DIV_SELECT_MASK)
  86455. #define VIDEO_PLL_CTRL0_ENABLE_ALT_MASK (0x100U)
  86456. #define VIDEO_PLL_CTRL0_ENABLE_ALT_SHIFT (8U)
  86457. /*! ENABLE_ALT - ENABLE_ALT
  86458. * 0b0..Disable the alternate clock output
  86459. * 0b1..Enable the alternate clock output which is the output of the post_divider, and cannot be bypassed
  86460. */
  86461. #define VIDEO_PLL_CTRL0_ENABLE_ALT(x) (((uint32_t)(((uint32_t)(x)) << VIDEO_PLL_CTRL0_ENABLE_ALT_SHIFT)) & VIDEO_PLL_CTRL0_ENABLE_ALT_MASK)
  86462. #define VIDEO_PLL_CTRL0_HOLD_RING_OFF_MASK (0x2000U)
  86463. #define VIDEO_PLL_CTRL0_HOLD_RING_OFF_SHIFT (13U)
  86464. /*! HOLD_RING_OFF - PLL Start up initialization
  86465. * 0b0..Normal operation
  86466. * 0b1..Initialize PLL start up
  86467. */
  86468. #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)
  86469. #define VIDEO_PLL_CTRL0_POWERUP_MASK (0x4000U)
  86470. #define VIDEO_PLL_CTRL0_POWERUP_SHIFT (14U)
  86471. /*! POWERUP - POWERUP
  86472. * 0b1..Power Up the PLL
  86473. * 0b0..Power down the PLL
  86474. */
  86475. #define VIDEO_PLL_CTRL0_POWERUP(x) (((uint32_t)(((uint32_t)(x)) << VIDEO_PLL_CTRL0_POWERUP_SHIFT)) & VIDEO_PLL_CTRL0_POWERUP_MASK)
  86476. #define VIDEO_PLL_CTRL0_ENABLE_MASK (0x8000U)
  86477. #define VIDEO_PLL_CTRL0_ENABLE_SHIFT (15U)
  86478. /*! ENABLE - ENABLE
  86479. * 0b1..Enable the clock output
  86480. * 0b0..Disable the clock output
  86481. */
  86482. #define VIDEO_PLL_CTRL0_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << VIDEO_PLL_CTRL0_ENABLE_SHIFT)) & VIDEO_PLL_CTRL0_ENABLE_MASK)
  86483. #define VIDEO_PLL_CTRL0_BYPASS_MASK (0x10000U)
  86484. #define VIDEO_PLL_CTRL0_BYPASS_SHIFT (16U)
  86485. /*! BYPASS - BYPASS
  86486. * 0b1..Bypass the PLL
  86487. * 0b0..No Bypass
  86488. */
  86489. #define VIDEO_PLL_CTRL0_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << VIDEO_PLL_CTRL0_BYPASS_SHIFT)) & VIDEO_PLL_CTRL0_BYPASS_MASK)
  86490. #define VIDEO_PLL_CTRL0_DITHER_EN_MASK (0x20000U)
  86491. #define VIDEO_PLL_CTRL0_DITHER_EN_SHIFT (17U)
  86492. /*! DITHER_EN - DITHER_EN
  86493. * 0b0..Disable Dither
  86494. * 0b1..Enable Dither
  86495. */
  86496. #define VIDEO_PLL_CTRL0_DITHER_EN(x) (((uint32_t)(((uint32_t)(x)) << VIDEO_PLL_CTRL0_DITHER_EN_SHIFT)) & VIDEO_PLL_CTRL0_DITHER_EN_MASK)
  86497. #define VIDEO_PLL_CTRL0_BIAS_TRIM_MASK (0x380000U)
  86498. #define VIDEO_PLL_CTRL0_BIAS_TRIM_SHIFT (19U)
  86499. /*! BIAS_TRIM - BIAS_TRIM
  86500. */
  86501. #define VIDEO_PLL_CTRL0_BIAS_TRIM(x) (((uint32_t)(((uint32_t)(x)) << VIDEO_PLL_CTRL0_BIAS_TRIM_SHIFT)) & VIDEO_PLL_CTRL0_BIAS_TRIM_MASK)
  86502. #define VIDEO_PLL_CTRL0_PLL_REG_EN_MASK (0x400000U)
  86503. #define VIDEO_PLL_CTRL0_PLL_REG_EN_SHIFT (22U)
  86504. /*! PLL_REG_EN - PLL_REG_EN
  86505. */
  86506. #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)
  86507. #define VIDEO_PLL_CTRL0_POST_DIV_SEL_MASK (0xE000000U)
  86508. #define VIDEO_PLL_CTRL0_POST_DIV_SEL_SHIFT (25U)
  86509. /*! POST_DIV_SEL - Post Divide Select
  86510. * 0b000..Divide by 1
  86511. * 0b001..Divide by 2
  86512. * 0b010..Divide by 4
  86513. * 0b011..Divide by 8
  86514. * 0b100..Divide by 16
  86515. * 0b101..Divide by 32
  86516. */
  86517. #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)
  86518. #define VIDEO_PLL_CTRL0_BIAS_SELECT_MASK (0x20000000U)
  86519. #define VIDEO_PLL_CTRL0_BIAS_SELECT_SHIFT (29U)
  86520. /*! BIAS_SELECT - BIAS_SELECT
  86521. * 0b0..Used in SoCs with a bias current of 10uA
  86522. * 0b1..Used in SoCs with a bias current of 2uA
  86523. */
  86524. #define VIDEO_PLL_CTRL0_BIAS_SELECT(x) (((uint32_t)(((uint32_t)(x)) << VIDEO_PLL_CTRL0_BIAS_SELECT_SHIFT)) & VIDEO_PLL_CTRL0_BIAS_SELECT_MASK)
  86525. /*! @} */
  86526. /*! @name SPREAD_SPECTRUM - Fractional PLL Spread Spectrum Control Register */
  86527. /*! @{ */
  86528. #define VIDEO_PLL_SPREAD_SPECTRUM_STEP_MASK (0x7FFFU)
  86529. #define VIDEO_PLL_SPREAD_SPECTRUM_STEP_SHIFT (0U)
  86530. /*! STEP - Step
  86531. */
  86532. #define VIDEO_PLL_SPREAD_SPECTRUM_STEP(x) (((uint32_t)(((uint32_t)(x)) << VIDEO_PLL_SPREAD_SPECTRUM_STEP_SHIFT)) & VIDEO_PLL_SPREAD_SPECTRUM_STEP_MASK)
  86533. #define VIDEO_PLL_SPREAD_SPECTRUM_ENABLE_MASK (0x8000U)
  86534. #define VIDEO_PLL_SPREAD_SPECTRUM_ENABLE_SHIFT (15U)
  86535. /*! ENABLE - Enable
  86536. */
  86537. #define VIDEO_PLL_SPREAD_SPECTRUM_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << VIDEO_PLL_SPREAD_SPECTRUM_ENABLE_SHIFT)) & VIDEO_PLL_SPREAD_SPECTRUM_ENABLE_MASK)
  86538. #define VIDEO_PLL_SPREAD_SPECTRUM_STOP_MASK (0xFFFF0000U)
  86539. #define VIDEO_PLL_SPREAD_SPECTRUM_STOP_SHIFT (16U)
  86540. /*! STOP - Stop
  86541. */
  86542. #define VIDEO_PLL_SPREAD_SPECTRUM_STOP(x) (((uint32_t)(((uint32_t)(x)) << VIDEO_PLL_SPREAD_SPECTRUM_STOP_SHIFT)) & VIDEO_PLL_SPREAD_SPECTRUM_STOP_MASK)
  86543. /*! @} */
  86544. /*! @name NUMERATOR - Fractional PLL Numerator Control Register */
  86545. /*! @{ */
  86546. #define VIDEO_PLL_NUMERATOR_NUM_MASK (0x3FFFFFFFU)
  86547. #define VIDEO_PLL_NUMERATOR_NUM_SHIFT (0U)
  86548. /*! NUM - Numerator
  86549. */
  86550. #define VIDEO_PLL_NUMERATOR_NUM(x) (((uint32_t)(((uint32_t)(x)) << VIDEO_PLL_NUMERATOR_NUM_SHIFT)) & VIDEO_PLL_NUMERATOR_NUM_MASK)
  86551. /*! @} */
  86552. /*! @name DENOMINATOR - Fractional PLL Denominator Control Register */
  86553. /*! @{ */
  86554. #define VIDEO_PLL_DENOMINATOR_DENOM_MASK (0x3FFFFFFFU)
  86555. #define VIDEO_PLL_DENOMINATOR_DENOM_SHIFT (0U)
  86556. /*! DENOM - Denominator
  86557. */
  86558. #define VIDEO_PLL_DENOMINATOR_DENOM(x) (((uint32_t)(((uint32_t)(x)) << VIDEO_PLL_DENOMINATOR_DENOM_SHIFT)) & VIDEO_PLL_DENOMINATOR_DENOM_MASK)
  86559. /*! @} */
  86560. /*!
  86561. * @}
  86562. */ /* end of group VIDEO_PLL_Register_Masks */
  86563. /* VIDEO_PLL - Peripheral instance base addresses */
  86564. /** Peripheral VIDEO_PLL base address */
  86565. #define VIDEO_PLL_BASE (0u)
  86566. /** Peripheral VIDEO_PLL base pointer */
  86567. #define VIDEO_PLL ((VIDEO_PLL_Type *)VIDEO_PLL_BASE)
  86568. /** Array initializer of VIDEO_PLL peripheral base addresses */
  86569. #define VIDEO_PLL_BASE_ADDRS { VIDEO_PLL_BASE }
  86570. /** Array initializer of VIDEO_PLL peripheral base pointers */
  86571. #define VIDEO_PLL_BASE_PTRS { VIDEO_PLL }
  86572. /*!
  86573. * @}
  86574. */ /* end of group VIDEO_PLL_Peripheral_Access_Layer */
  86575. /* ----------------------------------------------------------------------------
  86576. -- VMBANDGAP Peripheral Access Layer
  86577. ---------------------------------------------------------------------------- */
  86578. /*!
  86579. * @addtogroup VMBANDGAP_Peripheral_Access_Layer VMBANDGAP Peripheral Access Layer
  86580. * @{
  86581. */
  86582. /** VMBANDGAP - Register Layout Typedef */
  86583. typedef struct {
  86584. struct { /* offset: 0x0 */
  86585. __IO uint32_t RW; /**< Analog Control Register CTRL0, offset: 0x0 */
  86586. __IO uint32_t SET; /**< Analog Control Register CTRL0, offset: 0x4 */
  86587. __IO uint32_t CLR; /**< Analog Control Register CTRL0, offset: 0x8 */
  86588. __IO uint32_t TOG; /**< Analog Control Register CTRL0, offset: 0xC */
  86589. } CTRL0;
  86590. uint8_t RESERVED_0[64];
  86591. struct { /* offset: 0x50 */
  86592. __I uint32_t RW; /**< Analog Status Register STAT0, offset: 0x50 */
  86593. __I uint32_t SET; /**< Analog Status Register STAT0, offset: 0x54 */
  86594. __I uint32_t CLR; /**< Analog Status Register STAT0, offset: 0x58 */
  86595. __I uint32_t TOG; /**< Analog Status Register STAT0, offset: 0x5C */
  86596. } STAT0;
  86597. } VMBANDGAP_Type;
  86598. /* ----------------------------------------------------------------------------
  86599. -- VMBANDGAP Register Masks
  86600. ---------------------------------------------------------------------------- */
  86601. /*!
  86602. * @addtogroup VMBANDGAP_Register_Masks VMBANDGAP Register Masks
  86603. * @{
  86604. */
  86605. /*! @name CTRL0 - Analog Control Register CTRL0 */
  86606. /*! @{ */
  86607. #define VMBANDGAP_CTRL0_REFTOP_PWD_MASK (0x1U)
  86608. #define VMBANDGAP_CTRL0_REFTOP_PWD_SHIFT (0U)
  86609. /*! REFTOP_PWD - Master power-down for bandgap module
  86610. */
  86611. #define VMBANDGAP_CTRL0_REFTOP_PWD(x) (((uint32_t)(((uint32_t)(x)) << VMBANDGAP_CTRL0_REFTOP_PWD_SHIFT)) & VMBANDGAP_CTRL0_REFTOP_PWD_MASK)
  86612. #define VMBANDGAP_CTRL0_REFTOP_LINREGREF_PWD_MASK (0x2U)
  86613. #define VMBANDGAP_CTRL0_REFTOP_LINREGREF_PWD_SHIFT (1U)
  86614. /*! REFTOP_LINREGREF_PWD - Power-down for bandgap voltage-reference buffer
  86615. */
  86616. #define VMBANDGAP_CTRL0_REFTOP_LINREGREF_PWD(x) (((uint32_t)(((uint32_t)(x)) << VMBANDGAP_CTRL0_REFTOP_LINREGREF_PWD_SHIFT)) & VMBANDGAP_CTRL0_REFTOP_LINREGREF_PWD_MASK)
  86617. #define VMBANDGAP_CTRL0_REFTOP_PWDVBGUP_MASK (0x4U)
  86618. #define VMBANDGAP_CTRL0_REFTOP_PWDVBGUP_SHIFT (2U)
  86619. /*! REFTOP_PWDVBGUP - Power-down VBGUP detector in bandgap
  86620. */
  86621. #define VMBANDGAP_CTRL0_REFTOP_PWDVBGUP(x) (((uint32_t)(((uint32_t)(x)) << VMBANDGAP_CTRL0_REFTOP_PWDVBGUP_SHIFT)) & VMBANDGAP_CTRL0_REFTOP_PWDVBGUP_MASK)
  86622. #define VMBANDGAP_CTRL0_REFTOP_LOWPOWER_MASK (0x8U)
  86623. #define VMBANDGAP_CTRL0_REFTOP_LOWPOWER_SHIFT (3U)
  86624. /*! REFTOP_LOWPOWER - Low-power control bit
  86625. */
  86626. #define VMBANDGAP_CTRL0_REFTOP_LOWPOWER(x) (((uint32_t)(((uint32_t)(x)) << VMBANDGAP_CTRL0_REFTOP_LOWPOWER_SHIFT)) & VMBANDGAP_CTRL0_REFTOP_LOWPOWER_MASK)
  86627. #define VMBANDGAP_CTRL0_REFTOP_SELFBIASOFF_MASK (0x10U)
  86628. #define VMBANDGAP_CTRL0_REFTOP_SELFBIASOFF_SHIFT (4U)
  86629. /*! REFTOP_SELFBIASOFF - bandgap self-bias control bit
  86630. */
  86631. #define VMBANDGAP_CTRL0_REFTOP_SELFBIASOFF(x) (((uint32_t)(((uint32_t)(x)) << VMBANDGAP_CTRL0_REFTOP_SELFBIASOFF_SHIFT)) & VMBANDGAP_CTRL0_REFTOP_SELFBIASOFF_MASK)
  86632. /*! @} */
  86633. /*! @name STAT0 - Analog Status Register STAT0 */
  86634. /*! @{ */
  86635. #define VMBANDGAP_STAT0_REFTOP_VBGUP_MASK (0x1U)
  86636. #define VMBANDGAP_STAT0_REFTOP_VBGUP_SHIFT (0U)
  86637. /*! REFTOP_VBGUP - Brief description here
  86638. */
  86639. #define VMBANDGAP_STAT0_REFTOP_VBGUP(x) (((uint32_t)(((uint32_t)(x)) << VMBANDGAP_STAT0_REFTOP_VBGUP_SHIFT)) & VMBANDGAP_STAT0_REFTOP_VBGUP_MASK)
  86640. #define VMBANDGAP_STAT0_VDD1_PORB_MASK (0x2U)
  86641. #define VMBANDGAP_STAT0_VDD1_PORB_SHIFT (1U)
  86642. /*! VDD1_PORB - Brief description here
  86643. */
  86644. #define VMBANDGAP_STAT0_VDD1_PORB(x) (((uint32_t)(((uint32_t)(x)) << VMBANDGAP_STAT0_VDD1_PORB_SHIFT)) & VMBANDGAP_STAT0_VDD1_PORB_MASK)
  86645. #define VMBANDGAP_STAT0_VDD2_PORB_MASK (0x4U)
  86646. #define VMBANDGAP_STAT0_VDD2_PORB_SHIFT (2U)
  86647. /*! VDD2_PORB - Brief description here
  86648. */
  86649. #define VMBANDGAP_STAT0_VDD2_PORB(x) (((uint32_t)(((uint32_t)(x)) << VMBANDGAP_STAT0_VDD2_PORB_SHIFT)) & VMBANDGAP_STAT0_VDD2_PORB_MASK)
  86650. #define VMBANDGAP_STAT0_VDD3_PORB_MASK (0x8U)
  86651. #define VMBANDGAP_STAT0_VDD3_PORB_SHIFT (3U)
  86652. /*! VDD3_PORB - Brief description here
  86653. */
  86654. #define VMBANDGAP_STAT0_VDD3_PORB(x) (((uint32_t)(((uint32_t)(x)) << VMBANDGAP_STAT0_VDD3_PORB_SHIFT)) & VMBANDGAP_STAT0_VDD3_PORB_MASK)
  86655. /*! @} */
  86656. /*!
  86657. * @}
  86658. */ /* end of group VMBANDGAP_Register_Masks */
  86659. /* VMBANDGAP - Peripheral instance base addresses */
  86660. /** Peripheral VMBANDGAP base address */
  86661. #define VMBANDGAP_BASE (0u)
  86662. /** Peripheral VMBANDGAP base pointer */
  86663. #define VMBANDGAP ((VMBANDGAP_Type *)VMBANDGAP_BASE)
  86664. /** Array initializer of VMBANDGAP peripheral base addresses */
  86665. #define VMBANDGAP_BASE_ADDRS { VMBANDGAP_BASE }
  86666. /** Array initializer of VMBANDGAP peripheral base pointers */
  86667. #define VMBANDGAP_BASE_PTRS { VMBANDGAP }
  86668. /*!
  86669. * @}
  86670. */ /* end of group VMBANDGAP_Peripheral_Access_Layer */
  86671. /* ----------------------------------------------------------------------------
  86672. -- WDOG Peripheral Access Layer
  86673. ---------------------------------------------------------------------------- */
  86674. /*!
  86675. * @addtogroup WDOG_Peripheral_Access_Layer WDOG Peripheral Access Layer
  86676. * @{
  86677. */
  86678. /** WDOG - Register Layout Typedef */
  86679. typedef struct {
  86680. __IO uint16_t WCR; /**< Watchdog Control Register, offset: 0x0 */
  86681. __IO uint16_t WSR; /**< Watchdog Service Register, offset: 0x2 */
  86682. __I uint16_t WRSR; /**< Watchdog Reset Status Register, offset: 0x4 */
  86683. __IO uint16_t WICR; /**< Watchdog Interrupt Control Register, offset: 0x6 */
  86684. __IO uint16_t WMCR; /**< Watchdog Miscellaneous Control Register, offset: 0x8 */
  86685. } WDOG_Type;
  86686. /* ----------------------------------------------------------------------------
  86687. -- WDOG Register Masks
  86688. ---------------------------------------------------------------------------- */
  86689. /*!
  86690. * @addtogroup WDOG_Register_Masks WDOG Register Masks
  86691. * @{
  86692. */
  86693. /*! @name WCR - Watchdog Control Register */
  86694. /*! @{ */
  86695. #define WDOG_WCR_WDZST_MASK (0x1U)
  86696. #define WDOG_WCR_WDZST_SHIFT (0U)
  86697. /*! WDZST - WDZST
  86698. * 0b0..Continue timer operation (Default).
  86699. * 0b1..Suspend the watchdog timer.
  86700. */
  86701. #define WDOG_WCR_WDZST(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WCR_WDZST_SHIFT)) & WDOG_WCR_WDZST_MASK)
  86702. #define WDOG_WCR_WDBG_MASK (0x2U)
  86703. #define WDOG_WCR_WDBG_SHIFT (1U)
  86704. /*! WDBG - WDBG
  86705. * 0b0..Continue WDOG timer operation (Default).
  86706. * 0b1..Suspend the watchdog timer.
  86707. */
  86708. #define WDOG_WCR_WDBG(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WCR_WDBG_SHIFT)) & WDOG_WCR_WDBG_MASK)
  86709. #define WDOG_WCR_WDE_MASK (0x4U)
  86710. #define WDOG_WCR_WDE_SHIFT (2U)
  86711. /*! WDE - WDE
  86712. * 0b0..Disable the Watchdog (Default).
  86713. * 0b1..Enable the Watchdog.
  86714. */
  86715. #define WDOG_WCR_WDE(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WCR_WDE_SHIFT)) & WDOG_WCR_WDE_MASK)
  86716. #define WDOG_WCR_WDT_MASK (0x8U)
  86717. #define WDOG_WCR_WDT_SHIFT (3U)
  86718. /*! WDT - WDT
  86719. * 0b0..No effect on WDOG_B (Default).
  86720. * 0b1..Assert WDOG_B upon a Watchdog Time-out event.
  86721. */
  86722. #define WDOG_WCR_WDT(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WCR_WDT_SHIFT)) & WDOG_WCR_WDT_MASK)
  86723. #define WDOG_WCR_SRS_MASK (0x10U)
  86724. #define WDOG_WCR_SRS_SHIFT (4U)
  86725. /*! SRS - SRS
  86726. * 0b0..Assert system reset signal.
  86727. * 0b1..No effect on the system (Default).
  86728. */
  86729. #define WDOG_WCR_SRS(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WCR_SRS_SHIFT)) & WDOG_WCR_SRS_MASK)
  86730. #define WDOG_WCR_WDA_MASK (0x20U)
  86731. #define WDOG_WCR_WDA_SHIFT (5U)
  86732. /*! WDA - WDA
  86733. * 0b0..Assert WDOG_B output.
  86734. * 0b1..No effect on system (Default).
  86735. */
  86736. #define WDOG_WCR_WDA(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WCR_WDA_SHIFT)) & WDOG_WCR_WDA_MASK)
  86737. #define WDOG_WCR_SRE_MASK (0x40U)
  86738. #define WDOG_WCR_SRE_SHIFT (6U)
  86739. /*! SRE - Software Reset Extension, an optional way to generate software reset
  86740. * 0b0..using original way to generate software reset (default)
  86741. * 0b1..using new way to generate software reset.
  86742. */
  86743. #define WDOG_WCR_SRE(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WCR_SRE_SHIFT)) & WDOG_WCR_SRE_MASK)
  86744. #define WDOG_WCR_WDW_MASK (0x80U)
  86745. #define WDOG_WCR_WDW_SHIFT (7U)
  86746. /*! WDW - WDW
  86747. * 0b0..Continue WDOG timer operation (Default).
  86748. * 0b1..Suspend WDOG timer operation.
  86749. */
  86750. #define WDOG_WCR_WDW(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WCR_WDW_SHIFT)) & WDOG_WCR_WDW_MASK)
  86751. #define WDOG_WCR_WT_MASK (0xFF00U)
  86752. #define WDOG_WCR_WT_SHIFT (8U)
  86753. /*! WT - WT
  86754. * 0b00000000..- 0.5 Seconds (Default).
  86755. * 0b00000001..- 1.0 Seconds.
  86756. * 0b00000010..- 1.5 Seconds.
  86757. * 0b00000011..- 2.0 Seconds.
  86758. * 0b11111111..- 128 Seconds.
  86759. */
  86760. #define WDOG_WCR_WT(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WCR_WT_SHIFT)) & WDOG_WCR_WT_MASK)
  86761. /*! @} */
  86762. /*! @name WSR - Watchdog Service Register */
  86763. /*! @{ */
  86764. #define WDOG_WSR_WSR_MASK (0xFFFFU)
  86765. #define WDOG_WSR_WSR_SHIFT (0U)
  86766. /*! WSR - WSR
  86767. * 0b0101010101010101..Write to the Watchdog Service Register (WDOG_WSR).
  86768. * 0b1010101010101010..Write to the Watchdog Service Register (WDOG_WSR).
  86769. */
  86770. #define WDOG_WSR_WSR(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WSR_WSR_SHIFT)) & WDOG_WSR_WSR_MASK)
  86771. /*! @} */
  86772. /*! @name WRSR - Watchdog Reset Status Register */
  86773. /*! @{ */
  86774. #define WDOG_WRSR_SFTW_MASK (0x1U)
  86775. #define WDOG_WRSR_SFTW_SHIFT (0U)
  86776. /*! SFTW - SFTW
  86777. * 0b0..Reset is not the result of a software reset.
  86778. * 0b1..Reset is the result of a software reset.
  86779. */
  86780. #define WDOG_WRSR_SFTW(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WRSR_SFTW_SHIFT)) & WDOG_WRSR_SFTW_MASK)
  86781. #define WDOG_WRSR_TOUT_MASK (0x2U)
  86782. #define WDOG_WRSR_TOUT_SHIFT (1U)
  86783. /*! TOUT - TOUT
  86784. * 0b0..Reset is not the result of a WDOG timeout.
  86785. * 0b1..Reset is the result of a WDOG timeout.
  86786. */
  86787. #define WDOG_WRSR_TOUT(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WRSR_TOUT_SHIFT)) & WDOG_WRSR_TOUT_MASK)
  86788. #define WDOG_WRSR_POR_MASK (0x10U)
  86789. #define WDOG_WRSR_POR_SHIFT (4U)
  86790. /*! POR - POR
  86791. * 0b0..Reset is not the result of a power on reset.
  86792. * 0b1..Reset is the result of a power on reset.
  86793. */
  86794. #define WDOG_WRSR_POR(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WRSR_POR_SHIFT)) & WDOG_WRSR_POR_MASK)
  86795. /*! @} */
  86796. /*! @name WICR - Watchdog Interrupt Control Register */
  86797. /*! @{ */
  86798. #define WDOG_WICR_WICT_MASK (0xFFU)
  86799. #define WDOG_WICR_WICT_SHIFT (0U)
  86800. /*! WICT - WICT
  86801. * 0b00000000..WICT[7:0] = Time duration between interrupt and time-out is 0 seconds.
  86802. * 0b00000001..WICT[7:0] = Time duration between interrupt and time-out is 0.5 seconds.
  86803. * 0b00000100..WICT[7:0] = Time duration between interrupt and time-out is 2 seconds (Default).
  86804. * 0b11111111..WICT[7:0] = Time duration between interrupt and time-out is 127.5 seconds.
  86805. */
  86806. #define WDOG_WICR_WICT(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WICR_WICT_SHIFT)) & WDOG_WICR_WICT_MASK)
  86807. #define WDOG_WICR_WTIS_MASK (0x4000U)
  86808. #define WDOG_WICR_WTIS_SHIFT (14U)
  86809. /*! WTIS - WTIS
  86810. * 0b0..No interrupt has occurred (Default).
  86811. * 0b1..Interrupt has occurred
  86812. */
  86813. #define WDOG_WICR_WTIS(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WICR_WTIS_SHIFT)) & WDOG_WICR_WTIS_MASK)
  86814. #define WDOG_WICR_WIE_MASK (0x8000U)
  86815. #define WDOG_WICR_WIE_SHIFT (15U)
  86816. /*! WIE - WIE
  86817. * 0b0..Disable Interrupt (Default).
  86818. * 0b1..Enable Interrupt.
  86819. */
  86820. #define WDOG_WICR_WIE(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WICR_WIE_SHIFT)) & WDOG_WICR_WIE_MASK)
  86821. /*! @} */
  86822. /*! @name WMCR - Watchdog Miscellaneous Control Register */
  86823. /*! @{ */
  86824. #define WDOG_WMCR_PDE_MASK (0x1U)
  86825. #define WDOG_WMCR_PDE_SHIFT (0U)
  86826. /*! PDE - PDE
  86827. * 0b0..Power Down Counter of WDOG is disabled.
  86828. * 0b1..Power Down Counter of WDOG is enabled (Default).
  86829. */
  86830. #define WDOG_WMCR_PDE(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WMCR_PDE_SHIFT)) & WDOG_WMCR_PDE_MASK)
  86831. /*! @} */
  86832. /*!
  86833. * @}
  86834. */ /* end of group WDOG_Register_Masks */
  86835. /* WDOG - Peripheral instance base addresses */
  86836. /** Peripheral WDOG1 base address */
  86837. #define WDOG1_BASE (0x40030000u)
  86838. /** Peripheral WDOG1 base pointer */
  86839. #define WDOG1 ((WDOG_Type *)WDOG1_BASE)
  86840. /** Peripheral WDOG2 base address */
  86841. #define WDOG2_BASE (0x40034000u)
  86842. /** Peripheral WDOG2 base pointer */
  86843. #define WDOG2 ((WDOG_Type *)WDOG2_BASE)
  86844. /** Array initializer of WDOG peripheral base addresses */
  86845. #define WDOG_BASE_ADDRS { 0u, WDOG1_BASE, WDOG2_BASE }
  86846. /** Array initializer of WDOG peripheral base pointers */
  86847. #define WDOG_BASE_PTRS { (WDOG_Type *)0u, WDOG1, WDOG2 }
  86848. /** Interrupt vectors for the WDOG peripheral type */
  86849. #define WDOG_IRQS { NotAvail_IRQn, WDOG1_IRQn, WDOG2_IRQn }
  86850. /*!
  86851. * @}
  86852. */ /* end of group WDOG_Peripheral_Access_Layer */
  86853. /* ----------------------------------------------------------------------------
  86854. -- XBARA Peripheral Access Layer
  86855. ---------------------------------------------------------------------------- */
  86856. /*!
  86857. * @addtogroup XBARA_Peripheral_Access_Layer XBARA Peripheral Access Layer
  86858. * @{
  86859. */
  86860. /** XBARA - Register Layout Typedef */
  86861. typedef struct {
  86862. __IO uint16_t SEL0; /**< Crossbar A Select Register 0, offset: 0x0 */
  86863. __IO uint16_t SEL1; /**< Crossbar A Select Register 1, offset: 0x2 */
  86864. __IO uint16_t SEL2; /**< Crossbar A Select Register 2, offset: 0x4 */
  86865. __IO uint16_t SEL3; /**< Crossbar A Select Register 3, offset: 0x6 */
  86866. __IO uint16_t SEL4; /**< Crossbar A Select Register 4, offset: 0x8 */
  86867. __IO uint16_t SEL5; /**< Crossbar A Select Register 5, offset: 0xA */
  86868. __IO uint16_t SEL6; /**< Crossbar A Select Register 6, offset: 0xC */
  86869. __IO uint16_t SEL7; /**< Crossbar A Select Register 7, offset: 0xE */
  86870. __IO uint16_t SEL8; /**< Crossbar A Select Register 8, offset: 0x10 */
  86871. __IO uint16_t SEL9; /**< Crossbar A Select Register 9, offset: 0x12 */
  86872. __IO uint16_t SEL10; /**< Crossbar A Select Register 10, offset: 0x14 */
  86873. __IO uint16_t SEL11; /**< Crossbar A Select Register 11, offset: 0x16 */
  86874. __IO uint16_t SEL12; /**< Crossbar A Select Register 12, offset: 0x18 */
  86875. __IO uint16_t SEL13; /**< Crossbar A Select Register 13, offset: 0x1A */
  86876. __IO uint16_t SEL14; /**< Crossbar A Select Register 14, offset: 0x1C */
  86877. __IO uint16_t SEL15; /**< Crossbar A Select Register 15, offset: 0x1E */
  86878. __IO uint16_t SEL16; /**< Crossbar A Select Register 16, offset: 0x20 */
  86879. __IO uint16_t SEL17; /**< Crossbar A Select Register 17, offset: 0x22 */
  86880. __IO uint16_t SEL18; /**< Crossbar A Select Register 18, offset: 0x24 */
  86881. __IO uint16_t SEL19; /**< Crossbar A Select Register 19, offset: 0x26 */
  86882. __IO uint16_t SEL20; /**< Crossbar A Select Register 20, offset: 0x28 */
  86883. __IO uint16_t SEL21; /**< Crossbar A Select Register 21, offset: 0x2A */
  86884. __IO uint16_t SEL22; /**< Crossbar A Select Register 22, offset: 0x2C */
  86885. __IO uint16_t SEL23; /**< Crossbar A Select Register 23, offset: 0x2E */
  86886. __IO uint16_t SEL24; /**< Crossbar A Select Register 24, offset: 0x30 */
  86887. __IO uint16_t SEL25; /**< Crossbar A Select Register 25, offset: 0x32 */
  86888. __IO uint16_t SEL26; /**< Crossbar A Select Register 26, offset: 0x34 */
  86889. __IO uint16_t SEL27; /**< Crossbar A Select Register 27, offset: 0x36 */
  86890. __IO uint16_t SEL28; /**< Crossbar A Select Register 28, offset: 0x38 */
  86891. __IO uint16_t SEL29; /**< Crossbar A Select Register 29, offset: 0x3A */
  86892. __IO uint16_t SEL30; /**< Crossbar A Select Register 30, offset: 0x3C */
  86893. __IO uint16_t SEL31; /**< Crossbar A Select Register 31, offset: 0x3E */
  86894. __IO uint16_t SEL32; /**< Crossbar A Select Register 32, offset: 0x40 */
  86895. __IO uint16_t SEL33; /**< Crossbar A Select Register 33, offset: 0x42 */
  86896. __IO uint16_t SEL34; /**< Crossbar A Select Register 34, offset: 0x44 */
  86897. __IO uint16_t SEL35; /**< Crossbar A Select Register 35, offset: 0x46 */
  86898. __IO uint16_t SEL36; /**< Crossbar A Select Register 36, offset: 0x48 */
  86899. __IO uint16_t SEL37; /**< Crossbar A Select Register 37, offset: 0x4A */
  86900. __IO uint16_t SEL38; /**< Crossbar A Select Register 38, offset: 0x4C */
  86901. __IO uint16_t SEL39; /**< Crossbar A Select Register 39, offset: 0x4E */
  86902. __IO uint16_t SEL40; /**< Crossbar A Select Register 40, offset: 0x50 */
  86903. __IO uint16_t SEL41; /**< Crossbar A Select Register 41, offset: 0x52 */
  86904. __IO uint16_t SEL42; /**< Crossbar A Select Register 42, offset: 0x54 */
  86905. __IO uint16_t SEL43; /**< Crossbar A Select Register 43, offset: 0x56 */
  86906. __IO uint16_t SEL44; /**< Crossbar A Select Register 44, offset: 0x58 */
  86907. __IO uint16_t SEL45; /**< Crossbar A Select Register 45, offset: 0x5A */
  86908. __IO uint16_t SEL46; /**< Crossbar A Select Register 46, offset: 0x5C */
  86909. __IO uint16_t SEL47; /**< Crossbar A Select Register 47, offset: 0x5E */
  86910. __IO uint16_t SEL48; /**< Crossbar A Select Register 48, offset: 0x60 */
  86911. __IO uint16_t SEL49; /**< Crossbar A Select Register 49, offset: 0x62 */
  86912. __IO uint16_t SEL50; /**< Crossbar A Select Register 50, offset: 0x64 */
  86913. __IO uint16_t SEL51; /**< Crossbar A Select Register 51, offset: 0x66 */
  86914. __IO uint16_t SEL52; /**< Crossbar A Select Register 52, offset: 0x68 */
  86915. __IO uint16_t SEL53; /**< Crossbar A Select Register 53, offset: 0x6A */
  86916. __IO uint16_t SEL54; /**< Crossbar A Select Register 54, offset: 0x6C */
  86917. __IO uint16_t SEL55; /**< Crossbar A Select Register 55, offset: 0x6E */
  86918. __IO uint16_t SEL56; /**< Crossbar A Select Register 56, offset: 0x70 */
  86919. __IO uint16_t SEL57; /**< Crossbar A Select Register 57, offset: 0x72 */
  86920. __IO uint16_t SEL58; /**< Crossbar A Select Register 58, offset: 0x74 */
  86921. __IO uint16_t SEL59; /**< Crossbar A Select Register 59, offset: 0x76 */
  86922. __IO uint16_t SEL60; /**< Crossbar A Select Register 60, offset: 0x78 */
  86923. __IO uint16_t SEL61; /**< Crossbar A Select Register 61, offset: 0x7A */
  86924. __IO uint16_t SEL62; /**< Crossbar A Select Register 62, offset: 0x7C */
  86925. __IO uint16_t SEL63; /**< Crossbar A Select Register 63, offset: 0x7E */
  86926. __IO uint16_t SEL64; /**< Crossbar A Select Register 64, offset: 0x80 */
  86927. __IO uint16_t SEL65; /**< Crossbar A Select Register 65, offset: 0x82 */
  86928. __IO uint16_t SEL66; /**< Crossbar A Select Register 66, offset: 0x84 */
  86929. __IO uint16_t SEL67; /**< Crossbar A Select Register 67, offset: 0x86 */
  86930. __IO uint16_t SEL68; /**< Crossbar A Select Register 68, offset: 0x88 */
  86931. __IO uint16_t SEL69; /**< Crossbar A Select Register 69, offset: 0x8A */
  86932. __IO uint16_t SEL70; /**< Crossbar A Select Register 70, offset: 0x8C */
  86933. __IO uint16_t SEL71; /**< Crossbar A Select Register 71, offset: 0x8E */
  86934. __IO uint16_t SEL72; /**< Crossbar A Select Register 72, offset: 0x90 */
  86935. __IO uint16_t SEL73; /**< Crossbar A Select Register 73, offset: 0x92 */
  86936. __IO uint16_t SEL74; /**< Crossbar A Select Register 74, offset: 0x94 */
  86937. __IO uint16_t SEL75; /**< Crossbar A Select Register 75, offset: 0x96 */
  86938. __IO uint16_t SEL76; /**< Crossbar A Select Register 76, offset: 0x98 */
  86939. __IO uint16_t SEL77; /**< Crossbar A Select Register 77, offset: 0x9A */
  86940. __IO uint16_t SEL78; /**< Crossbar A Select Register 78, offset: 0x9C */
  86941. __IO uint16_t SEL79; /**< Crossbar A Select Register 79, offset: 0x9E */
  86942. __IO uint16_t SEL80; /**< Crossbar A Select Register 80, offset: 0xA0 */
  86943. __IO uint16_t SEL81; /**< Crossbar A Select Register 81, offset: 0xA2 */
  86944. __IO uint16_t SEL82; /**< Crossbar A Select Register 82, offset: 0xA4 */
  86945. __IO uint16_t SEL83; /**< Crossbar A Select Register 83, offset: 0xA6 */
  86946. __IO uint16_t SEL84; /**< Crossbar A Select Register 84, offset: 0xA8 */
  86947. __IO uint16_t SEL85; /**< Crossbar A Select Register 85, offset: 0xAA */
  86948. __IO uint16_t SEL86; /**< Crossbar A Select Register 86, offset: 0xAC */
  86949. __IO uint16_t SEL87; /**< Crossbar A Select Register 87, offset: 0xAE */
  86950. __IO uint16_t CTRL0; /**< Crossbar A Control Register 0, offset: 0xB0 */
  86951. __IO uint16_t CTRL1; /**< Crossbar A Control Register 1, offset: 0xB2 */
  86952. } XBARA_Type;
  86953. /* ----------------------------------------------------------------------------
  86954. -- XBARA Register Masks
  86955. ---------------------------------------------------------------------------- */
  86956. /*!
  86957. * @addtogroup XBARA_Register_Masks XBARA Register Masks
  86958. * @{
  86959. */
  86960. /*! @name SEL0 - Crossbar A Select Register 0 */
  86961. /*! @{ */
  86962. #define XBARA_SEL0_SEL0_MASK (0xFFU)
  86963. #define XBARA_SEL0_SEL0_SHIFT (0U)
  86964. #define XBARA_SEL0_SEL0(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL0_SEL0_SHIFT)) & XBARA_SEL0_SEL0_MASK)
  86965. #define XBARA_SEL0_SEL1_MASK (0xFF00U)
  86966. #define XBARA_SEL0_SEL1_SHIFT (8U)
  86967. #define XBARA_SEL0_SEL1(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL0_SEL1_SHIFT)) & XBARA_SEL0_SEL1_MASK)
  86968. /*! @} */
  86969. /*! @name SEL1 - Crossbar A Select Register 1 */
  86970. /*! @{ */
  86971. #define XBARA_SEL1_SEL2_MASK (0xFFU)
  86972. #define XBARA_SEL1_SEL2_SHIFT (0U)
  86973. #define XBARA_SEL1_SEL2(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL1_SEL2_SHIFT)) & XBARA_SEL1_SEL2_MASK)
  86974. #define XBARA_SEL1_SEL3_MASK (0xFF00U)
  86975. #define XBARA_SEL1_SEL3_SHIFT (8U)
  86976. #define XBARA_SEL1_SEL3(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL1_SEL3_SHIFT)) & XBARA_SEL1_SEL3_MASK)
  86977. /*! @} */
  86978. /*! @name SEL2 - Crossbar A Select Register 2 */
  86979. /*! @{ */
  86980. #define XBARA_SEL2_SEL4_MASK (0xFFU)
  86981. #define XBARA_SEL2_SEL4_SHIFT (0U)
  86982. #define XBARA_SEL2_SEL4(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL2_SEL4_SHIFT)) & XBARA_SEL2_SEL4_MASK)
  86983. #define XBARA_SEL2_SEL5_MASK (0xFF00U)
  86984. #define XBARA_SEL2_SEL5_SHIFT (8U)
  86985. #define XBARA_SEL2_SEL5(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL2_SEL5_SHIFT)) & XBARA_SEL2_SEL5_MASK)
  86986. /*! @} */
  86987. /*! @name SEL3 - Crossbar A Select Register 3 */
  86988. /*! @{ */
  86989. #define XBARA_SEL3_SEL6_MASK (0xFFU)
  86990. #define XBARA_SEL3_SEL6_SHIFT (0U)
  86991. #define XBARA_SEL3_SEL6(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL3_SEL6_SHIFT)) & XBARA_SEL3_SEL6_MASK)
  86992. #define XBARA_SEL3_SEL7_MASK (0xFF00U)
  86993. #define XBARA_SEL3_SEL7_SHIFT (8U)
  86994. #define XBARA_SEL3_SEL7(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL3_SEL7_SHIFT)) & XBARA_SEL3_SEL7_MASK)
  86995. /*! @} */
  86996. /*! @name SEL4 - Crossbar A Select Register 4 */
  86997. /*! @{ */
  86998. #define XBARA_SEL4_SEL8_MASK (0xFFU)
  86999. #define XBARA_SEL4_SEL8_SHIFT (0U)
  87000. #define XBARA_SEL4_SEL8(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL4_SEL8_SHIFT)) & XBARA_SEL4_SEL8_MASK)
  87001. #define XBARA_SEL4_SEL9_MASK (0xFF00U)
  87002. #define XBARA_SEL4_SEL9_SHIFT (8U)
  87003. #define XBARA_SEL4_SEL9(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL4_SEL9_SHIFT)) & XBARA_SEL4_SEL9_MASK)
  87004. /*! @} */
  87005. /*! @name SEL5 - Crossbar A Select Register 5 */
  87006. /*! @{ */
  87007. #define XBARA_SEL5_SEL10_MASK (0xFFU)
  87008. #define XBARA_SEL5_SEL10_SHIFT (0U)
  87009. #define XBARA_SEL5_SEL10(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL5_SEL10_SHIFT)) & XBARA_SEL5_SEL10_MASK)
  87010. #define XBARA_SEL5_SEL11_MASK (0xFF00U)
  87011. #define XBARA_SEL5_SEL11_SHIFT (8U)
  87012. #define XBARA_SEL5_SEL11(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL5_SEL11_SHIFT)) & XBARA_SEL5_SEL11_MASK)
  87013. /*! @} */
  87014. /*! @name SEL6 - Crossbar A Select Register 6 */
  87015. /*! @{ */
  87016. #define XBARA_SEL6_SEL12_MASK (0xFFU)
  87017. #define XBARA_SEL6_SEL12_SHIFT (0U)
  87018. #define XBARA_SEL6_SEL12(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL6_SEL12_SHIFT)) & XBARA_SEL6_SEL12_MASK)
  87019. #define XBARA_SEL6_SEL13_MASK (0xFF00U)
  87020. #define XBARA_SEL6_SEL13_SHIFT (8U)
  87021. #define XBARA_SEL6_SEL13(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL6_SEL13_SHIFT)) & XBARA_SEL6_SEL13_MASK)
  87022. /*! @} */
  87023. /*! @name SEL7 - Crossbar A Select Register 7 */
  87024. /*! @{ */
  87025. #define XBARA_SEL7_SEL14_MASK (0xFFU)
  87026. #define XBARA_SEL7_SEL14_SHIFT (0U)
  87027. #define XBARA_SEL7_SEL14(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL7_SEL14_SHIFT)) & XBARA_SEL7_SEL14_MASK)
  87028. #define XBARA_SEL7_SEL15_MASK (0xFF00U)
  87029. #define XBARA_SEL7_SEL15_SHIFT (8U)
  87030. #define XBARA_SEL7_SEL15(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL7_SEL15_SHIFT)) & XBARA_SEL7_SEL15_MASK)
  87031. /*! @} */
  87032. /*! @name SEL8 - Crossbar A Select Register 8 */
  87033. /*! @{ */
  87034. #define XBARA_SEL8_SEL16_MASK (0xFFU)
  87035. #define XBARA_SEL8_SEL16_SHIFT (0U)
  87036. #define XBARA_SEL8_SEL16(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL8_SEL16_SHIFT)) & XBARA_SEL8_SEL16_MASK)
  87037. #define XBARA_SEL8_SEL17_MASK (0xFF00U)
  87038. #define XBARA_SEL8_SEL17_SHIFT (8U)
  87039. #define XBARA_SEL8_SEL17(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL8_SEL17_SHIFT)) & XBARA_SEL8_SEL17_MASK)
  87040. /*! @} */
  87041. /*! @name SEL9 - Crossbar A Select Register 9 */
  87042. /*! @{ */
  87043. #define XBARA_SEL9_SEL18_MASK (0xFFU)
  87044. #define XBARA_SEL9_SEL18_SHIFT (0U)
  87045. #define XBARA_SEL9_SEL18(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL9_SEL18_SHIFT)) & XBARA_SEL9_SEL18_MASK)
  87046. #define XBARA_SEL9_SEL19_MASK (0xFF00U)
  87047. #define XBARA_SEL9_SEL19_SHIFT (8U)
  87048. #define XBARA_SEL9_SEL19(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL9_SEL19_SHIFT)) & XBARA_SEL9_SEL19_MASK)
  87049. /*! @} */
  87050. /*! @name SEL10 - Crossbar A Select Register 10 */
  87051. /*! @{ */
  87052. #define XBARA_SEL10_SEL20_MASK (0xFFU)
  87053. #define XBARA_SEL10_SEL20_SHIFT (0U)
  87054. #define XBARA_SEL10_SEL20(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL10_SEL20_SHIFT)) & XBARA_SEL10_SEL20_MASK)
  87055. #define XBARA_SEL10_SEL21_MASK (0xFF00U)
  87056. #define XBARA_SEL10_SEL21_SHIFT (8U)
  87057. #define XBARA_SEL10_SEL21(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL10_SEL21_SHIFT)) & XBARA_SEL10_SEL21_MASK)
  87058. /*! @} */
  87059. /*! @name SEL11 - Crossbar A Select Register 11 */
  87060. /*! @{ */
  87061. #define XBARA_SEL11_SEL22_MASK (0xFFU)
  87062. #define XBARA_SEL11_SEL22_SHIFT (0U)
  87063. #define XBARA_SEL11_SEL22(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL11_SEL22_SHIFT)) & XBARA_SEL11_SEL22_MASK)
  87064. #define XBARA_SEL11_SEL23_MASK (0xFF00U)
  87065. #define XBARA_SEL11_SEL23_SHIFT (8U)
  87066. #define XBARA_SEL11_SEL23(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL11_SEL23_SHIFT)) & XBARA_SEL11_SEL23_MASK)
  87067. /*! @} */
  87068. /*! @name SEL12 - Crossbar A Select Register 12 */
  87069. /*! @{ */
  87070. #define XBARA_SEL12_SEL24_MASK (0xFFU)
  87071. #define XBARA_SEL12_SEL24_SHIFT (0U)
  87072. #define XBARA_SEL12_SEL24(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL12_SEL24_SHIFT)) & XBARA_SEL12_SEL24_MASK)
  87073. #define XBARA_SEL12_SEL25_MASK (0xFF00U)
  87074. #define XBARA_SEL12_SEL25_SHIFT (8U)
  87075. #define XBARA_SEL12_SEL25(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL12_SEL25_SHIFT)) & XBARA_SEL12_SEL25_MASK)
  87076. /*! @} */
  87077. /*! @name SEL13 - Crossbar A Select Register 13 */
  87078. /*! @{ */
  87079. #define XBARA_SEL13_SEL26_MASK (0xFFU)
  87080. #define XBARA_SEL13_SEL26_SHIFT (0U)
  87081. #define XBARA_SEL13_SEL26(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL13_SEL26_SHIFT)) & XBARA_SEL13_SEL26_MASK)
  87082. #define XBARA_SEL13_SEL27_MASK (0xFF00U)
  87083. #define XBARA_SEL13_SEL27_SHIFT (8U)
  87084. #define XBARA_SEL13_SEL27(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL13_SEL27_SHIFT)) & XBARA_SEL13_SEL27_MASK)
  87085. /*! @} */
  87086. /*! @name SEL14 - Crossbar A Select Register 14 */
  87087. /*! @{ */
  87088. #define XBARA_SEL14_SEL28_MASK (0xFFU)
  87089. #define XBARA_SEL14_SEL28_SHIFT (0U)
  87090. #define XBARA_SEL14_SEL28(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL14_SEL28_SHIFT)) & XBARA_SEL14_SEL28_MASK)
  87091. #define XBARA_SEL14_SEL29_MASK (0xFF00U)
  87092. #define XBARA_SEL14_SEL29_SHIFT (8U)
  87093. #define XBARA_SEL14_SEL29(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL14_SEL29_SHIFT)) & XBARA_SEL14_SEL29_MASK)
  87094. /*! @} */
  87095. /*! @name SEL15 - Crossbar A Select Register 15 */
  87096. /*! @{ */
  87097. #define XBARA_SEL15_SEL30_MASK (0xFFU)
  87098. #define XBARA_SEL15_SEL30_SHIFT (0U)
  87099. #define XBARA_SEL15_SEL30(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL15_SEL30_SHIFT)) & XBARA_SEL15_SEL30_MASK)
  87100. #define XBARA_SEL15_SEL31_MASK (0xFF00U)
  87101. #define XBARA_SEL15_SEL31_SHIFT (8U)
  87102. #define XBARA_SEL15_SEL31(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL15_SEL31_SHIFT)) & XBARA_SEL15_SEL31_MASK)
  87103. /*! @} */
  87104. /*! @name SEL16 - Crossbar A Select Register 16 */
  87105. /*! @{ */
  87106. #define XBARA_SEL16_SEL32_MASK (0xFFU)
  87107. #define XBARA_SEL16_SEL32_SHIFT (0U)
  87108. #define XBARA_SEL16_SEL32(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL16_SEL32_SHIFT)) & XBARA_SEL16_SEL32_MASK)
  87109. #define XBARA_SEL16_SEL33_MASK (0xFF00U)
  87110. #define XBARA_SEL16_SEL33_SHIFT (8U)
  87111. #define XBARA_SEL16_SEL33(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL16_SEL33_SHIFT)) & XBARA_SEL16_SEL33_MASK)
  87112. /*! @} */
  87113. /*! @name SEL17 - Crossbar A Select Register 17 */
  87114. /*! @{ */
  87115. #define XBARA_SEL17_SEL34_MASK (0xFFU)
  87116. #define XBARA_SEL17_SEL34_SHIFT (0U)
  87117. #define XBARA_SEL17_SEL34(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL17_SEL34_SHIFT)) & XBARA_SEL17_SEL34_MASK)
  87118. #define XBARA_SEL17_SEL35_MASK (0xFF00U)
  87119. #define XBARA_SEL17_SEL35_SHIFT (8U)
  87120. #define XBARA_SEL17_SEL35(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL17_SEL35_SHIFT)) & XBARA_SEL17_SEL35_MASK)
  87121. /*! @} */
  87122. /*! @name SEL18 - Crossbar A Select Register 18 */
  87123. /*! @{ */
  87124. #define XBARA_SEL18_SEL36_MASK (0xFFU)
  87125. #define XBARA_SEL18_SEL36_SHIFT (0U)
  87126. #define XBARA_SEL18_SEL36(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL18_SEL36_SHIFT)) & XBARA_SEL18_SEL36_MASK)
  87127. #define XBARA_SEL18_SEL37_MASK (0xFF00U)
  87128. #define XBARA_SEL18_SEL37_SHIFT (8U)
  87129. #define XBARA_SEL18_SEL37(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL18_SEL37_SHIFT)) & XBARA_SEL18_SEL37_MASK)
  87130. /*! @} */
  87131. /*! @name SEL19 - Crossbar A Select Register 19 */
  87132. /*! @{ */
  87133. #define XBARA_SEL19_SEL38_MASK (0xFFU)
  87134. #define XBARA_SEL19_SEL38_SHIFT (0U)
  87135. #define XBARA_SEL19_SEL38(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL19_SEL38_SHIFT)) & XBARA_SEL19_SEL38_MASK)
  87136. #define XBARA_SEL19_SEL39_MASK (0xFF00U)
  87137. #define XBARA_SEL19_SEL39_SHIFT (8U)
  87138. #define XBARA_SEL19_SEL39(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL19_SEL39_SHIFT)) & XBARA_SEL19_SEL39_MASK)
  87139. /*! @} */
  87140. /*! @name SEL20 - Crossbar A Select Register 20 */
  87141. /*! @{ */
  87142. #define XBARA_SEL20_SEL40_MASK (0xFFU)
  87143. #define XBARA_SEL20_SEL40_SHIFT (0U)
  87144. #define XBARA_SEL20_SEL40(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL20_SEL40_SHIFT)) & XBARA_SEL20_SEL40_MASK)
  87145. #define XBARA_SEL20_SEL41_MASK (0xFF00U)
  87146. #define XBARA_SEL20_SEL41_SHIFT (8U)
  87147. #define XBARA_SEL20_SEL41(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL20_SEL41_SHIFT)) & XBARA_SEL20_SEL41_MASK)
  87148. /*! @} */
  87149. /*! @name SEL21 - Crossbar A Select Register 21 */
  87150. /*! @{ */
  87151. #define XBARA_SEL21_SEL42_MASK (0xFFU)
  87152. #define XBARA_SEL21_SEL42_SHIFT (0U)
  87153. #define XBARA_SEL21_SEL42(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL21_SEL42_SHIFT)) & XBARA_SEL21_SEL42_MASK)
  87154. #define XBARA_SEL21_SEL43_MASK (0xFF00U)
  87155. #define XBARA_SEL21_SEL43_SHIFT (8U)
  87156. #define XBARA_SEL21_SEL43(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL21_SEL43_SHIFT)) & XBARA_SEL21_SEL43_MASK)
  87157. /*! @} */
  87158. /*! @name SEL22 - Crossbar A Select Register 22 */
  87159. /*! @{ */
  87160. #define XBARA_SEL22_SEL44_MASK (0xFFU)
  87161. #define XBARA_SEL22_SEL44_SHIFT (0U)
  87162. #define XBARA_SEL22_SEL44(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL22_SEL44_SHIFT)) & XBARA_SEL22_SEL44_MASK)
  87163. #define XBARA_SEL22_SEL45_MASK (0xFF00U)
  87164. #define XBARA_SEL22_SEL45_SHIFT (8U)
  87165. #define XBARA_SEL22_SEL45(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL22_SEL45_SHIFT)) & XBARA_SEL22_SEL45_MASK)
  87166. /*! @} */
  87167. /*! @name SEL23 - Crossbar A Select Register 23 */
  87168. /*! @{ */
  87169. #define XBARA_SEL23_SEL46_MASK (0xFFU)
  87170. #define XBARA_SEL23_SEL46_SHIFT (0U)
  87171. #define XBARA_SEL23_SEL46(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL23_SEL46_SHIFT)) & XBARA_SEL23_SEL46_MASK)
  87172. #define XBARA_SEL23_SEL47_MASK (0xFF00U)
  87173. #define XBARA_SEL23_SEL47_SHIFT (8U)
  87174. #define XBARA_SEL23_SEL47(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL23_SEL47_SHIFT)) & XBARA_SEL23_SEL47_MASK)
  87175. /*! @} */
  87176. /*! @name SEL24 - Crossbar A Select Register 24 */
  87177. /*! @{ */
  87178. #define XBARA_SEL24_SEL48_MASK (0xFFU)
  87179. #define XBARA_SEL24_SEL48_SHIFT (0U)
  87180. #define XBARA_SEL24_SEL48(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL24_SEL48_SHIFT)) & XBARA_SEL24_SEL48_MASK)
  87181. #define XBARA_SEL24_SEL49_MASK (0xFF00U)
  87182. #define XBARA_SEL24_SEL49_SHIFT (8U)
  87183. #define XBARA_SEL24_SEL49(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL24_SEL49_SHIFT)) & XBARA_SEL24_SEL49_MASK)
  87184. /*! @} */
  87185. /*! @name SEL25 - Crossbar A Select Register 25 */
  87186. /*! @{ */
  87187. #define XBARA_SEL25_SEL50_MASK (0xFFU)
  87188. #define XBARA_SEL25_SEL50_SHIFT (0U)
  87189. #define XBARA_SEL25_SEL50(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL25_SEL50_SHIFT)) & XBARA_SEL25_SEL50_MASK)
  87190. #define XBARA_SEL25_SEL51_MASK (0xFF00U)
  87191. #define XBARA_SEL25_SEL51_SHIFT (8U)
  87192. #define XBARA_SEL25_SEL51(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL25_SEL51_SHIFT)) & XBARA_SEL25_SEL51_MASK)
  87193. /*! @} */
  87194. /*! @name SEL26 - Crossbar A Select Register 26 */
  87195. /*! @{ */
  87196. #define XBARA_SEL26_SEL52_MASK (0xFFU)
  87197. #define XBARA_SEL26_SEL52_SHIFT (0U)
  87198. #define XBARA_SEL26_SEL52(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL26_SEL52_SHIFT)) & XBARA_SEL26_SEL52_MASK)
  87199. #define XBARA_SEL26_SEL53_MASK (0xFF00U)
  87200. #define XBARA_SEL26_SEL53_SHIFT (8U)
  87201. #define XBARA_SEL26_SEL53(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL26_SEL53_SHIFT)) & XBARA_SEL26_SEL53_MASK)
  87202. /*! @} */
  87203. /*! @name SEL27 - Crossbar A Select Register 27 */
  87204. /*! @{ */
  87205. #define XBARA_SEL27_SEL54_MASK (0xFFU)
  87206. #define XBARA_SEL27_SEL54_SHIFT (0U)
  87207. #define XBARA_SEL27_SEL54(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL27_SEL54_SHIFT)) & XBARA_SEL27_SEL54_MASK)
  87208. #define XBARA_SEL27_SEL55_MASK (0xFF00U)
  87209. #define XBARA_SEL27_SEL55_SHIFT (8U)
  87210. #define XBARA_SEL27_SEL55(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL27_SEL55_SHIFT)) & XBARA_SEL27_SEL55_MASK)
  87211. /*! @} */
  87212. /*! @name SEL28 - Crossbar A Select Register 28 */
  87213. /*! @{ */
  87214. #define XBARA_SEL28_SEL56_MASK (0xFFU)
  87215. #define XBARA_SEL28_SEL56_SHIFT (0U)
  87216. #define XBARA_SEL28_SEL56(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL28_SEL56_SHIFT)) & XBARA_SEL28_SEL56_MASK)
  87217. #define XBARA_SEL28_SEL57_MASK (0xFF00U)
  87218. #define XBARA_SEL28_SEL57_SHIFT (8U)
  87219. #define XBARA_SEL28_SEL57(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL28_SEL57_SHIFT)) & XBARA_SEL28_SEL57_MASK)
  87220. /*! @} */
  87221. /*! @name SEL29 - Crossbar A Select Register 29 */
  87222. /*! @{ */
  87223. #define XBARA_SEL29_SEL58_MASK (0xFFU)
  87224. #define XBARA_SEL29_SEL58_SHIFT (0U)
  87225. #define XBARA_SEL29_SEL58(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL29_SEL58_SHIFT)) & XBARA_SEL29_SEL58_MASK)
  87226. #define XBARA_SEL29_SEL59_MASK (0xFF00U)
  87227. #define XBARA_SEL29_SEL59_SHIFT (8U)
  87228. #define XBARA_SEL29_SEL59(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL29_SEL59_SHIFT)) & XBARA_SEL29_SEL59_MASK)
  87229. /*! @} */
  87230. /*! @name SEL30 - Crossbar A Select Register 30 */
  87231. /*! @{ */
  87232. #define XBARA_SEL30_SEL60_MASK (0xFFU)
  87233. #define XBARA_SEL30_SEL60_SHIFT (0U)
  87234. #define XBARA_SEL30_SEL60(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL30_SEL60_SHIFT)) & XBARA_SEL30_SEL60_MASK)
  87235. #define XBARA_SEL30_SEL61_MASK (0xFF00U)
  87236. #define XBARA_SEL30_SEL61_SHIFT (8U)
  87237. #define XBARA_SEL30_SEL61(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL30_SEL61_SHIFT)) & XBARA_SEL30_SEL61_MASK)
  87238. /*! @} */
  87239. /*! @name SEL31 - Crossbar A Select Register 31 */
  87240. /*! @{ */
  87241. #define XBARA_SEL31_SEL62_MASK (0xFFU)
  87242. #define XBARA_SEL31_SEL62_SHIFT (0U)
  87243. #define XBARA_SEL31_SEL62(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL31_SEL62_SHIFT)) & XBARA_SEL31_SEL62_MASK)
  87244. #define XBARA_SEL31_SEL63_MASK (0xFF00U)
  87245. #define XBARA_SEL31_SEL63_SHIFT (8U)
  87246. #define XBARA_SEL31_SEL63(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL31_SEL63_SHIFT)) & XBARA_SEL31_SEL63_MASK)
  87247. /*! @} */
  87248. /*! @name SEL32 - Crossbar A Select Register 32 */
  87249. /*! @{ */
  87250. #define XBARA_SEL32_SEL64_MASK (0xFFU)
  87251. #define XBARA_SEL32_SEL64_SHIFT (0U)
  87252. #define XBARA_SEL32_SEL64(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL32_SEL64_SHIFT)) & XBARA_SEL32_SEL64_MASK)
  87253. #define XBARA_SEL32_SEL65_MASK (0xFF00U)
  87254. #define XBARA_SEL32_SEL65_SHIFT (8U)
  87255. #define XBARA_SEL32_SEL65(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL32_SEL65_SHIFT)) & XBARA_SEL32_SEL65_MASK)
  87256. /*! @} */
  87257. /*! @name SEL33 - Crossbar A Select Register 33 */
  87258. /*! @{ */
  87259. #define XBARA_SEL33_SEL66_MASK (0xFFU)
  87260. #define XBARA_SEL33_SEL66_SHIFT (0U)
  87261. #define XBARA_SEL33_SEL66(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL33_SEL66_SHIFT)) & XBARA_SEL33_SEL66_MASK)
  87262. #define XBARA_SEL33_SEL67_MASK (0xFF00U)
  87263. #define XBARA_SEL33_SEL67_SHIFT (8U)
  87264. #define XBARA_SEL33_SEL67(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL33_SEL67_SHIFT)) & XBARA_SEL33_SEL67_MASK)
  87265. /*! @} */
  87266. /*! @name SEL34 - Crossbar A Select Register 34 */
  87267. /*! @{ */
  87268. #define XBARA_SEL34_SEL68_MASK (0xFFU)
  87269. #define XBARA_SEL34_SEL68_SHIFT (0U)
  87270. #define XBARA_SEL34_SEL68(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL34_SEL68_SHIFT)) & XBARA_SEL34_SEL68_MASK)
  87271. #define XBARA_SEL34_SEL69_MASK (0xFF00U)
  87272. #define XBARA_SEL34_SEL69_SHIFT (8U)
  87273. #define XBARA_SEL34_SEL69(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL34_SEL69_SHIFT)) & XBARA_SEL34_SEL69_MASK)
  87274. /*! @} */
  87275. /*! @name SEL35 - Crossbar A Select Register 35 */
  87276. /*! @{ */
  87277. #define XBARA_SEL35_SEL70_MASK (0xFFU)
  87278. #define XBARA_SEL35_SEL70_SHIFT (0U)
  87279. #define XBARA_SEL35_SEL70(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL35_SEL70_SHIFT)) & XBARA_SEL35_SEL70_MASK)
  87280. #define XBARA_SEL35_SEL71_MASK (0xFF00U)
  87281. #define XBARA_SEL35_SEL71_SHIFT (8U)
  87282. #define XBARA_SEL35_SEL71(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL35_SEL71_SHIFT)) & XBARA_SEL35_SEL71_MASK)
  87283. /*! @} */
  87284. /*! @name SEL36 - Crossbar A Select Register 36 */
  87285. /*! @{ */
  87286. #define XBARA_SEL36_SEL72_MASK (0xFFU)
  87287. #define XBARA_SEL36_SEL72_SHIFT (0U)
  87288. #define XBARA_SEL36_SEL72(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL36_SEL72_SHIFT)) & XBARA_SEL36_SEL72_MASK)
  87289. #define XBARA_SEL36_SEL73_MASK (0xFF00U)
  87290. #define XBARA_SEL36_SEL73_SHIFT (8U)
  87291. #define XBARA_SEL36_SEL73(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL36_SEL73_SHIFT)) & XBARA_SEL36_SEL73_MASK)
  87292. /*! @} */
  87293. /*! @name SEL37 - Crossbar A Select Register 37 */
  87294. /*! @{ */
  87295. #define XBARA_SEL37_SEL74_MASK (0xFFU)
  87296. #define XBARA_SEL37_SEL74_SHIFT (0U)
  87297. #define XBARA_SEL37_SEL74(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL37_SEL74_SHIFT)) & XBARA_SEL37_SEL74_MASK)
  87298. #define XBARA_SEL37_SEL75_MASK (0xFF00U)
  87299. #define XBARA_SEL37_SEL75_SHIFT (8U)
  87300. #define XBARA_SEL37_SEL75(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL37_SEL75_SHIFT)) & XBARA_SEL37_SEL75_MASK)
  87301. /*! @} */
  87302. /*! @name SEL38 - Crossbar A Select Register 38 */
  87303. /*! @{ */
  87304. #define XBARA_SEL38_SEL76_MASK (0xFFU)
  87305. #define XBARA_SEL38_SEL76_SHIFT (0U)
  87306. #define XBARA_SEL38_SEL76(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL38_SEL76_SHIFT)) & XBARA_SEL38_SEL76_MASK)
  87307. #define XBARA_SEL38_SEL77_MASK (0xFF00U)
  87308. #define XBARA_SEL38_SEL77_SHIFT (8U)
  87309. #define XBARA_SEL38_SEL77(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL38_SEL77_SHIFT)) & XBARA_SEL38_SEL77_MASK)
  87310. /*! @} */
  87311. /*! @name SEL39 - Crossbar A Select Register 39 */
  87312. /*! @{ */
  87313. #define XBARA_SEL39_SEL78_MASK (0xFFU)
  87314. #define XBARA_SEL39_SEL78_SHIFT (0U)
  87315. #define XBARA_SEL39_SEL78(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL39_SEL78_SHIFT)) & XBARA_SEL39_SEL78_MASK)
  87316. #define XBARA_SEL39_SEL79_MASK (0xFF00U)
  87317. #define XBARA_SEL39_SEL79_SHIFT (8U)
  87318. #define XBARA_SEL39_SEL79(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL39_SEL79_SHIFT)) & XBARA_SEL39_SEL79_MASK)
  87319. /*! @} */
  87320. /*! @name SEL40 - Crossbar A Select Register 40 */
  87321. /*! @{ */
  87322. #define XBARA_SEL40_SEL80_MASK (0xFFU)
  87323. #define XBARA_SEL40_SEL80_SHIFT (0U)
  87324. #define XBARA_SEL40_SEL80(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL40_SEL80_SHIFT)) & XBARA_SEL40_SEL80_MASK)
  87325. #define XBARA_SEL40_SEL81_MASK (0xFF00U)
  87326. #define XBARA_SEL40_SEL81_SHIFT (8U)
  87327. #define XBARA_SEL40_SEL81(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL40_SEL81_SHIFT)) & XBARA_SEL40_SEL81_MASK)
  87328. /*! @} */
  87329. /*! @name SEL41 - Crossbar A Select Register 41 */
  87330. /*! @{ */
  87331. #define XBARA_SEL41_SEL82_MASK (0xFFU)
  87332. #define XBARA_SEL41_SEL82_SHIFT (0U)
  87333. #define XBARA_SEL41_SEL82(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL41_SEL82_SHIFT)) & XBARA_SEL41_SEL82_MASK)
  87334. #define XBARA_SEL41_SEL83_MASK (0xFF00U)
  87335. #define XBARA_SEL41_SEL83_SHIFT (8U)
  87336. #define XBARA_SEL41_SEL83(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL41_SEL83_SHIFT)) & XBARA_SEL41_SEL83_MASK)
  87337. /*! @} */
  87338. /*! @name SEL42 - Crossbar A Select Register 42 */
  87339. /*! @{ */
  87340. #define XBARA_SEL42_SEL84_MASK (0xFFU)
  87341. #define XBARA_SEL42_SEL84_SHIFT (0U)
  87342. #define XBARA_SEL42_SEL84(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL42_SEL84_SHIFT)) & XBARA_SEL42_SEL84_MASK)
  87343. #define XBARA_SEL42_SEL85_MASK (0xFF00U)
  87344. #define XBARA_SEL42_SEL85_SHIFT (8U)
  87345. #define XBARA_SEL42_SEL85(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL42_SEL85_SHIFT)) & XBARA_SEL42_SEL85_MASK)
  87346. /*! @} */
  87347. /*! @name SEL43 - Crossbar A Select Register 43 */
  87348. /*! @{ */
  87349. #define XBARA_SEL43_SEL86_MASK (0xFFU)
  87350. #define XBARA_SEL43_SEL86_SHIFT (0U)
  87351. #define XBARA_SEL43_SEL86(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL43_SEL86_SHIFT)) & XBARA_SEL43_SEL86_MASK)
  87352. #define XBARA_SEL43_SEL87_MASK (0xFF00U)
  87353. #define XBARA_SEL43_SEL87_SHIFT (8U)
  87354. #define XBARA_SEL43_SEL87(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL43_SEL87_SHIFT)) & XBARA_SEL43_SEL87_MASK)
  87355. /*! @} */
  87356. /*! @name SEL44 - Crossbar A Select Register 44 */
  87357. /*! @{ */
  87358. #define XBARA_SEL44_SEL88_MASK (0xFFU)
  87359. #define XBARA_SEL44_SEL88_SHIFT (0U)
  87360. #define XBARA_SEL44_SEL88(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL44_SEL88_SHIFT)) & XBARA_SEL44_SEL88_MASK)
  87361. #define XBARA_SEL44_SEL89_MASK (0xFF00U)
  87362. #define XBARA_SEL44_SEL89_SHIFT (8U)
  87363. #define XBARA_SEL44_SEL89(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL44_SEL89_SHIFT)) & XBARA_SEL44_SEL89_MASK)
  87364. /*! @} */
  87365. /*! @name SEL45 - Crossbar A Select Register 45 */
  87366. /*! @{ */
  87367. #define XBARA_SEL45_SEL90_MASK (0xFFU)
  87368. #define XBARA_SEL45_SEL90_SHIFT (0U)
  87369. #define XBARA_SEL45_SEL90(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL45_SEL90_SHIFT)) & XBARA_SEL45_SEL90_MASK)
  87370. #define XBARA_SEL45_SEL91_MASK (0xFF00U)
  87371. #define XBARA_SEL45_SEL91_SHIFT (8U)
  87372. #define XBARA_SEL45_SEL91(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL45_SEL91_SHIFT)) & XBARA_SEL45_SEL91_MASK)
  87373. /*! @} */
  87374. /*! @name SEL46 - Crossbar A Select Register 46 */
  87375. /*! @{ */
  87376. #define XBARA_SEL46_SEL92_MASK (0xFFU)
  87377. #define XBARA_SEL46_SEL92_SHIFT (0U)
  87378. #define XBARA_SEL46_SEL92(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL46_SEL92_SHIFT)) & XBARA_SEL46_SEL92_MASK)
  87379. #define XBARA_SEL46_SEL93_MASK (0xFF00U)
  87380. #define XBARA_SEL46_SEL93_SHIFT (8U)
  87381. #define XBARA_SEL46_SEL93(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL46_SEL93_SHIFT)) & XBARA_SEL46_SEL93_MASK)
  87382. /*! @} */
  87383. /*! @name SEL47 - Crossbar A Select Register 47 */
  87384. /*! @{ */
  87385. #define XBARA_SEL47_SEL94_MASK (0xFFU)
  87386. #define XBARA_SEL47_SEL94_SHIFT (0U)
  87387. #define XBARA_SEL47_SEL94(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL47_SEL94_SHIFT)) & XBARA_SEL47_SEL94_MASK)
  87388. #define XBARA_SEL47_SEL95_MASK (0xFF00U)
  87389. #define XBARA_SEL47_SEL95_SHIFT (8U)
  87390. #define XBARA_SEL47_SEL95(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL47_SEL95_SHIFT)) & XBARA_SEL47_SEL95_MASK)
  87391. /*! @} */
  87392. /*! @name SEL48 - Crossbar A Select Register 48 */
  87393. /*! @{ */
  87394. #define XBARA_SEL48_SEL96_MASK (0xFFU)
  87395. #define XBARA_SEL48_SEL96_SHIFT (0U)
  87396. #define XBARA_SEL48_SEL96(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL48_SEL96_SHIFT)) & XBARA_SEL48_SEL96_MASK)
  87397. #define XBARA_SEL48_SEL97_MASK (0xFF00U)
  87398. #define XBARA_SEL48_SEL97_SHIFT (8U)
  87399. #define XBARA_SEL48_SEL97(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL48_SEL97_SHIFT)) & XBARA_SEL48_SEL97_MASK)
  87400. /*! @} */
  87401. /*! @name SEL49 - Crossbar A Select Register 49 */
  87402. /*! @{ */
  87403. #define XBARA_SEL49_SEL98_MASK (0xFFU)
  87404. #define XBARA_SEL49_SEL98_SHIFT (0U)
  87405. #define XBARA_SEL49_SEL98(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL49_SEL98_SHIFT)) & XBARA_SEL49_SEL98_MASK)
  87406. #define XBARA_SEL49_SEL99_MASK (0xFF00U)
  87407. #define XBARA_SEL49_SEL99_SHIFT (8U)
  87408. #define XBARA_SEL49_SEL99(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL49_SEL99_SHIFT)) & XBARA_SEL49_SEL99_MASK)
  87409. /*! @} */
  87410. /*! @name SEL50 - Crossbar A Select Register 50 */
  87411. /*! @{ */
  87412. #define XBARA_SEL50_SEL100_MASK (0xFFU)
  87413. #define XBARA_SEL50_SEL100_SHIFT (0U)
  87414. #define XBARA_SEL50_SEL100(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL50_SEL100_SHIFT)) & XBARA_SEL50_SEL100_MASK)
  87415. #define XBARA_SEL50_SEL101_MASK (0xFF00U)
  87416. #define XBARA_SEL50_SEL101_SHIFT (8U)
  87417. #define XBARA_SEL50_SEL101(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL50_SEL101_SHIFT)) & XBARA_SEL50_SEL101_MASK)
  87418. /*! @} */
  87419. /*! @name SEL51 - Crossbar A Select Register 51 */
  87420. /*! @{ */
  87421. #define XBARA_SEL51_SEL102_MASK (0xFFU)
  87422. #define XBARA_SEL51_SEL102_SHIFT (0U)
  87423. #define XBARA_SEL51_SEL102(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL51_SEL102_SHIFT)) & XBARA_SEL51_SEL102_MASK)
  87424. #define XBARA_SEL51_SEL103_MASK (0xFF00U)
  87425. #define XBARA_SEL51_SEL103_SHIFT (8U)
  87426. #define XBARA_SEL51_SEL103(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL51_SEL103_SHIFT)) & XBARA_SEL51_SEL103_MASK)
  87427. /*! @} */
  87428. /*! @name SEL52 - Crossbar A Select Register 52 */
  87429. /*! @{ */
  87430. #define XBARA_SEL52_SEL104_MASK (0xFFU)
  87431. #define XBARA_SEL52_SEL104_SHIFT (0U)
  87432. #define XBARA_SEL52_SEL104(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL52_SEL104_SHIFT)) & XBARA_SEL52_SEL104_MASK)
  87433. #define XBARA_SEL52_SEL105_MASK (0xFF00U)
  87434. #define XBARA_SEL52_SEL105_SHIFT (8U)
  87435. #define XBARA_SEL52_SEL105(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL52_SEL105_SHIFT)) & XBARA_SEL52_SEL105_MASK)
  87436. /*! @} */
  87437. /*! @name SEL53 - Crossbar A Select Register 53 */
  87438. /*! @{ */
  87439. #define XBARA_SEL53_SEL106_MASK (0xFFU)
  87440. #define XBARA_SEL53_SEL106_SHIFT (0U)
  87441. #define XBARA_SEL53_SEL106(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL53_SEL106_SHIFT)) & XBARA_SEL53_SEL106_MASK)
  87442. #define XBARA_SEL53_SEL107_MASK (0xFF00U)
  87443. #define XBARA_SEL53_SEL107_SHIFT (8U)
  87444. #define XBARA_SEL53_SEL107(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL53_SEL107_SHIFT)) & XBARA_SEL53_SEL107_MASK)
  87445. /*! @} */
  87446. /*! @name SEL54 - Crossbar A Select Register 54 */
  87447. /*! @{ */
  87448. #define XBARA_SEL54_SEL108_MASK (0xFFU)
  87449. #define XBARA_SEL54_SEL108_SHIFT (0U)
  87450. #define XBARA_SEL54_SEL108(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL54_SEL108_SHIFT)) & XBARA_SEL54_SEL108_MASK)
  87451. #define XBARA_SEL54_SEL109_MASK (0xFF00U)
  87452. #define XBARA_SEL54_SEL109_SHIFT (8U)
  87453. #define XBARA_SEL54_SEL109(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL54_SEL109_SHIFT)) & XBARA_SEL54_SEL109_MASK)
  87454. /*! @} */
  87455. /*! @name SEL55 - Crossbar A Select Register 55 */
  87456. /*! @{ */
  87457. #define XBARA_SEL55_SEL110_MASK (0xFFU)
  87458. #define XBARA_SEL55_SEL110_SHIFT (0U)
  87459. #define XBARA_SEL55_SEL110(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL55_SEL110_SHIFT)) & XBARA_SEL55_SEL110_MASK)
  87460. #define XBARA_SEL55_SEL111_MASK (0xFF00U)
  87461. #define XBARA_SEL55_SEL111_SHIFT (8U)
  87462. #define XBARA_SEL55_SEL111(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL55_SEL111_SHIFT)) & XBARA_SEL55_SEL111_MASK)
  87463. /*! @} */
  87464. /*! @name SEL56 - Crossbar A Select Register 56 */
  87465. /*! @{ */
  87466. #define XBARA_SEL56_SEL112_MASK (0xFFU)
  87467. #define XBARA_SEL56_SEL112_SHIFT (0U)
  87468. #define XBARA_SEL56_SEL112(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL56_SEL112_SHIFT)) & XBARA_SEL56_SEL112_MASK)
  87469. #define XBARA_SEL56_SEL113_MASK (0xFF00U)
  87470. #define XBARA_SEL56_SEL113_SHIFT (8U)
  87471. #define XBARA_SEL56_SEL113(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL56_SEL113_SHIFT)) & XBARA_SEL56_SEL113_MASK)
  87472. /*! @} */
  87473. /*! @name SEL57 - Crossbar A Select Register 57 */
  87474. /*! @{ */
  87475. #define XBARA_SEL57_SEL114_MASK (0xFFU)
  87476. #define XBARA_SEL57_SEL114_SHIFT (0U)
  87477. #define XBARA_SEL57_SEL114(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL57_SEL114_SHIFT)) & XBARA_SEL57_SEL114_MASK)
  87478. #define XBARA_SEL57_SEL115_MASK (0xFF00U)
  87479. #define XBARA_SEL57_SEL115_SHIFT (8U)
  87480. #define XBARA_SEL57_SEL115(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL57_SEL115_SHIFT)) & XBARA_SEL57_SEL115_MASK)
  87481. /*! @} */
  87482. /*! @name SEL58 - Crossbar A Select Register 58 */
  87483. /*! @{ */
  87484. #define XBARA_SEL58_SEL116_MASK (0xFFU)
  87485. #define XBARA_SEL58_SEL116_SHIFT (0U)
  87486. #define XBARA_SEL58_SEL116(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL58_SEL116_SHIFT)) & XBARA_SEL58_SEL116_MASK)
  87487. #define XBARA_SEL58_SEL117_MASK (0xFF00U)
  87488. #define XBARA_SEL58_SEL117_SHIFT (8U)
  87489. #define XBARA_SEL58_SEL117(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL58_SEL117_SHIFT)) & XBARA_SEL58_SEL117_MASK)
  87490. /*! @} */
  87491. /*! @name SEL59 - Crossbar A Select Register 59 */
  87492. /*! @{ */
  87493. #define XBARA_SEL59_SEL118_MASK (0xFFU)
  87494. #define XBARA_SEL59_SEL118_SHIFT (0U)
  87495. #define XBARA_SEL59_SEL118(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL59_SEL118_SHIFT)) & XBARA_SEL59_SEL118_MASK)
  87496. #define XBARA_SEL59_SEL119_MASK (0xFF00U)
  87497. #define XBARA_SEL59_SEL119_SHIFT (8U)
  87498. #define XBARA_SEL59_SEL119(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL59_SEL119_SHIFT)) & XBARA_SEL59_SEL119_MASK)
  87499. /*! @} */
  87500. /*! @name SEL60 - Crossbar A Select Register 60 */
  87501. /*! @{ */
  87502. #define XBARA_SEL60_SEL120_MASK (0xFFU)
  87503. #define XBARA_SEL60_SEL120_SHIFT (0U)
  87504. #define XBARA_SEL60_SEL120(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL60_SEL120_SHIFT)) & XBARA_SEL60_SEL120_MASK)
  87505. #define XBARA_SEL60_SEL121_MASK (0xFF00U)
  87506. #define XBARA_SEL60_SEL121_SHIFT (8U)
  87507. #define XBARA_SEL60_SEL121(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL60_SEL121_SHIFT)) & XBARA_SEL60_SEL121_MASK)
  87508. /*! @} */
  87509. /*! @name SEL61 - Crossbar A Select Register 61 */
  87510. /*! @{ */
  87511. #define XBARA_SEL61_SEL122_MASK (0xFFU)
  87512. #define XBARA_SEL61_SEL122_SHIFT (0U)
  87513. #define XBARA_SEL61_SEL122(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL61_SEL122_SHIFT)) & XBARA_SEL61_SEL122_MASK)
  87514. #define XBARA_SEL61_SEL123_MASK (0xFF00U)
  87515. #define XBARA_SEL61_SEL123_SHIFT (8U)
  87516. #define XBARA_SEL61_SEL123(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL61_SEL123_SHIFT)) & XBARA_SEL61_SEL123_MASK)
  87517. /*! @} */
  87518. /*! @name SEL62 - Crossbar A Select Register 62 */
  87519. /*! @{ */
  87520. #define XBARA_SEL62_SEL124_MASK (0xFFU)
  87521. #define XBARA_SEL62_SEL124_SHIFT (0U)
  87522. #define XBARA_SEL62_SEL124(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL62_SEL124_SHIFT)) & XBARA_SEL62_SEL124_MASK)
  87523. #define XBARA_SEL62_SEL125_MASK (0xFF00U)
  87524. #define XBARA_SEL62_SEL125_SHIFT (8U)
  87525. #define XBARA_SEL62_SEL125(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL62_SEL125_SHIFT)) & XBARA_SEL62_SEL125_MASK)
  87526. /*! @} */
  87527. /*! @name SEL63 - Crossbar A Select Register 63 */
  87528. /*! @{ */
  87529. #define XBARA_SEL63_SEL126_MASK (0xFFU)
  87530. #define XBARA_SEL63_SEL126_SHIFT (0U)
  87531. #define XBARA_SEL63_SEL126(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL63_SEL126_SHIFT)) & XBARA_SEL63_SEL126_MASK)
  87532. #define XBARA_SEL63_SEL127_MASK (0xFF00U)
  87533. #define XBARA_SEL63_SEL127_SHIFT (8U)
  87534. #define XBARA_SEL63_SEL127(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL63_SEL127_SHIFT)) & XBARA_SEL63_SEL127_MASK)
  87535. /*! @} */
  87536. /*! @name SEL64 - Crossbar A Select Register 64 */
  87537. /*! @{ */
  87538. #define XBARA_SEL64_SEL128_MASK (0xFFU)
  87539. #define XBARA_SEL64_SEL128_SHIFT (0U)
  87540. #define XBARA_SEL64_SEL128(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL64_SEL128_SHIFT)) & XBARA_SEL64_SEL128_MASK)
  87541. #define XBARA_SEL64_SEL129_MASK (0xFF00U)
  87542. #define XBARA_SEL64_SEL129_SHIFT (8U)
  87543. #define XBARA_SEL64_SEL129(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL64_SEL129_SHIFT)) & XBARA_SEL64_SEL129_MASK)
  87544. /*! @} */
  87545. /*! @name SEL65 - Crossbar A Select Register 65 */
  87546. /*! @{ */
  87547. #define XBARA_SEL65_SEL130_MASK (0xFFU)
  87548. #define XBARA_SEL65_SEL130_SHIFT (0U)
  87549. #define XBARA_SEL65_SEL130(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL65_SEL130_SHIFT)) & XBARA_SEL65_SEL130_MASK)
  87550. #define XBARA_SEL65_SEL131_MASK (0xFF00U)
  87551. #define XBARA_SEL65_SEL131_SHIFT (8U)
  87552. #define XBARA_SEL65_SEL131(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL65_SEL131_SHIFT)) & XBARA_SEL65_SEL131_MASK)
  87553. /*! @} */
  87554. /*! @name SEL66 - Crossbar A Select Register 66 */
  87555. /*! @{ */
  87556. #define XBARA_SEL66_SEL132_MASK (0xFFU)
  87557. #define XBARA_SEL66_SEL132_SHIFT (0U)
  87558. #define XBARA_SEL66_SEL132(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL66_SEL132_SHIFT)) & XBARA_SEL66_SEL132_MASK)
  87559. #define XBARA_SEL66_SEL133_MASK (0xFF00U)
  87560. #define XBARA_SEL66_SEL133_SHIFT (8U)
  87561. #define XBARA_SEL66_SEL133(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL66_SEL133_SHIFT)) & XBARA_SEL66_SEL133_MASK)
  87562. /*! @} */
  87563. /*! @name SEL67 - Crossbar A Select Register 67 */
  87564. /*! @{ */
  87565. #define XBARA_SEL67_SEL134_MASK (0xFFU)
  87566. #define XBARA_SEL67_SEL134_SHIFT (0U)
  87567. #define XBARA_SEL67_SEL134(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL67_SEL134_SHIFT)) & XBARA_SEL67_SEL134_MASK)
  87568. #define XBARA_SEL67_SEL135_MASK (0xFF00U)
  87569. #define XBARA_SEL67_SEL135_SHIFT (8U)
  87570. #define XBARA_SEL67_SEL135(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL67_SEL135_SHIFT)) & XBARA_SEL67_SEL135_MASK)
  87571. /*! @} */
  87572. /*! @name SEL68 - Crossbar A Select Register 68 */
  87573. /*! @{ */
  87574. #define XBARA_SEL68_SEL136_MASK (0xFFU)
  87575. #define XBARA_SEL68_SEL136_SHIFT (0U)
  87576. #define XBARA_SEL68_SEL136(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL68_SEL136_SHIFT)) & XBARA_SEL68_SEL136_MASK)
  87577. #define XBARA_SEL68_SEL137_MASK (0xFF00U)
  87578. #define XBARA_SEL68_SEL137_SHIFT (8U)
  87579. #define XBARA_SEL68_SEL137(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL68_SEL137_SHIFT)) & XBARA_SEL68_SEL137_MASK)
  87580. /*! @} */
  87581. /*! @name SEL69 - Crossbar A Select Register 69 */
  87582. /*! @{ */
  87583. #define XBARA_SEL69_SEL138_MASK (0xFFU)
  87584. #define XBARA_SEL69_SEL138_SHIFT (0U)
  87585. #define XBARA_SEL69_SEL138(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL69_SEL138_SHIFT)) & XBARA_SEL69_SEL138_MASK)
  87586. #define XBARA_SEL69_SEL139_MASK (0xFF00U)
  87587. #define XBARA_SEL69_SEL139_SHIFT (8U)
  87588. #define XBARA_SEL69_SEL139(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL69_SEL139_SHIFT)) & XBARA_SEL69_SEL139_MASK)
  87589. /*! @} */
  87590. /*! @name SEL70 - Crossbar A Select Register 70 */
  87591. /*! @{ */
  87592. #define XBARA_SEL70_SEL140_MASK (0xFFU)
  87593. #define XBARA_SEL70_SEL140_SHIFT (0U)
  87594. #define XBARA_SEL70_SEL140(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL70_SEL140_SHIFT)) & XBARA_SEL70_SEL140_MASK)
  87595. #define XBARA_SEL70_SEL141_MASK (0xFF00U)
  87596. #define XBARA_SEL70_SEL141_SHIFT (8U)
  87597. #define XBARA_SEL70_SEL141(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL70_SEL141_SHIFT)) & XBARA_SEL70_SEL141_MASK)
  87598. /*! @} */
  87599. /*! @name SEL71 - Crossbar A Select Register 71 */
  87600. /*! @{ */
  87601. #define XBARA_SEL71_SEL142_MASK (0xFFU)
  87602. #define XBARA_SEL71_SEL142_SHIFT (0U)
  87603. #define XBARA_SEL71_SEL142(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL71_SEL142_SHIFT)) & XBARA_SEL71_SEL142_MASK)
  87604. #define XBARA_SEL71_SEL143_MASK (0xFF00U)
  87605. #define XBARA_SEL71_SEL143_SHIFT (8U)
  87606. #define XBARA_SEL71_SEL143(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL71_SEL143_SHIFT)) & XBARA_SEL71_SEL143_MASK)
  87607. /*! @} */
  87608. /*! @name SEL72 - Crossbar A Select Register 72 */
  87609. /*! @{ */
  87610. #define XBARA_SEL72_SEL144_MASK (0xFFU)
  87611. #define XBARA_SEL72_SEL144_SHIFT (0U)
  87612. #define XBARA_SEL72_SEL144(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL72_SEL144_SHIFT)) & XBARA_SEL72_SEL144_MASK)
  87613. #define XBARA_SEL72_SEL145_MASK (0xFF00U)
  87614. #define XBARA_SEL72_SEL145_SHIFT (8U)
  87615. #define XBARA_SEL72_SEL145(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL72_SEL145_SHIFT)) & XBARA_SEL72_SEL145_MASK)
  87616. /*! @} */
  87617. /*! @name SEL73 - Crossbar A Select Register 73 */
  87618. /*! @{ */
  87619. #define XBARA_SEL73_SEL146_MASK (0xFFU)
  87620. #define XBARA_SEL73_SEL146_SHIFT (0U)
  87621. #define XBARA_SEL73_SEL146(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL73_SEL146_SHIFT)) & XBARA_SEL73_SEL146_MASK)
  87622. #define XBARA_SEL73_SEL147_MASK (0xFF00U)
  87623. #define XBARA_SEL73_SEL147_SHIFT (8U)
  87624. #define XBARA_SEL73_SEL147(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL73_SEL147_SHIFT)) & XBARA_SEL73_SEL147_MASK)
  87625. /*! @} */
  87626. /*! @name SEL74 - Crossbar A Select Register 74 */
  87627. /*! @{ */
  87628. #define XBARA_SEL74_SEL148_MASK (0xFFU)
  87629. #define XBARA_SEL74_SEL148_SHIFT (0U)
  87630. #define XBARA_SEL74_SEL148(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL74_SEL148_SHIFT)) & XBARA_SEL74_SEL148_MASK)
  87631. #define XBARA_SEL74_SEL149_MASK (0xFF00U)
  87632. #define XBARA_SEL74_SEL149_SHIFT (8U)
  87633. #define XBARA_SEL74_SEL149(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL74_SEL149_SHIFT)) & XBARA_SEL74_SEL149_MASK)
  87634. /*! @} */
  87635. /*! @name SEL75 - Crossbar A Select Register 75 */
  87636. /*! @{ */
  87637. #define XBARA_SEL75_SEL150_MASK (0xFFU)
  87638. #define XBARA_SEL75_SEL150_SHIFT (0U)
  87639. #define XBARA_SEL75_SEL150(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL75_SEL150_SHIFT)) & XBARA_SEL75_SEL150_MASK)
  87640. #define XBARA_SEL75_SEL151_MASK (0xFF00U)
  87641. #define XBARA_SEL75_SEL151_SHIFT (8U)
  87642. #define XBARA_SEL75_SEL151(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL75_SEL151_SHIFT)) & XBARA_SEL75_SEL151_MASK)
  87643. /*! @} */
  87644. /*! @name SEL76 - Crossbar A Select Register 76 */
  87645. /*! @{ */
  87646. #define XBARA_SEL76_SEL152_MASK (0xFFU)
  87647. #define XBARA_SEL76_SEL152_SHIFT (0U)
  87648. #define XBARA_SEL76_SEL152(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL76_SEL152_SHIFT)) & XBARA_SEL76_SEL152_MASK)
  87649. #define XBARA_SEL76_SEL153_MASK (0xFF00U)
  87650. #define XBARA_SEL76_SEL153_SHIFT (8U)
  87651. #define XBARA_SEL76_SEL153(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL76_SEL153_SHIFT)) & XBARA_SEL76_SEL153_MASK)
  87652. /*! @} */
  87653. /*! @name SEL77 - Crossbar A Select Register 77 */
  87654. /*! @{ */
  87655. #define XBARA_SEL77_SEL154_MASK (0xFFU)
  87656. #define XBARA_SEL77_SEL154_SHIFT (0U)
  87657. #define XBARA_SEL77_SEL154(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL77_SEL154_SHIFT)) & XBARA_SEL77_SEL154_MASK)
  87658. #define XBARA_SEL77_SEL155_MASK (0xFF00U)
  87659. #define XBARA_SEL77_SEL155_SHIFT (8U)
  87660. #define XBARA_SEL77_SEL155(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL77_SEL155_SHIFT)) & XBARA_SEL77_SEL155_MASK)
  87661. /*! @} */
  87662. /*! @name SEL78 - Crossbar A Select Register 78 */
  87663. /*! @{ */
  87664. #define XBARA_SEL78_SEL156_MASK (0xFFU)
  87665. #define XBARA_SEL78_SEL156_SHIFT (0U)
  87666. #define XBARA_SEL78_SEL156(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL78_SEL156_SHIFT)) & XBARA_SEL78_SEL156_MASK)
  87667. #define XBARA_SEL78_SEL157_MASK (0xFF00U)
  87668. #define XBARA_SEL78_SEL157_SHIFT (8U)
  87669. #define XBARA_SEL78_SEL157(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL78_SEL157_SHIFT)) & XBARA_SEL78_SEL157_MASK)
  87670. /*! @} */
  87671. /*! @name SEL79 - Crossbar A Select Register 79 */
  87672. /*! @{ */
  87673. #define XBARA_SEL79_SEL158_MASK (0xFFU)
  87674. #define XBARA_SEL79_SEL158_SHIFT (0U)
  87675. #define XBARA_SEL79_SEL158(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL79_SEL158_SHIFT)) & XBARA_SEL79_SEL158_MASK)
  87676. #define XBARA_SEL79_SEL159_MASK (0xFF00U)
  87677. #define XBARA_SEL79_SEL159_SHIFT (8U)
  87678. #define XBARA_SEL79_SEL159(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL79_SEL159_SHIFT)) & XBARA_SEL79_SEL159_MASK)
  87679. /*! @} */
  87680. /*! @name SEL80 - Crossbar A Select Register 80 */
  87681. /*! @{ */
  87682. #define XBARA_SEL80_SEL160_MASK (0xFFU)
  87683. #define XBARA_SEL80_SEL160_SHIFT (0U)
  87684. #define XBARA_SEL80_SEL160(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL80_SEL160_SHIFT)) & XBARA_SEL80_SEL160_MASK)
  87685. #define XBARA_SEL80_SEL161_MASK (0xFF00U)
  87686. #define XBARA_SEL80_SEL161_SHIFT (8U)
  87687. #define XBARA_SEL80_SEL161(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL80_SEL161_SHIFT)) & XBARA_SEL80_SEL161_MASK)
  87688. /*! @} */
  87689. /*! @name SEL81 - Crossbar A Select Register 81 */
  87690. /*! @{ */
  87691. #define XBARA_SEL81_SEL162_MASK (0xFFU)
  87692. #define XBARA_SEL81_SEL162_SHIFT (0U)
  87693. #define XBARA_SEL81_SEL162(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL81_SEL162_SHIFT)) & XBARA_SEL81_SEL162_MASK)
  87694. #define XBARA_SEL81_SEL163_MASK (0xFF00U)
  87695. #define XBARA_SEL81_SEL163_SHIFT (8U)
  87696. #define XBARA_SEL81_SEL163(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL81_SEL163_SHIFT)) & XBARA_SEL81_SEL163_MASK)
  87697. /*! @} */
  87698. /*! @name SEL82 - Crossbar A Select Register 82 */
  87699. /*! @{ */
  87700. #define XBARA_SEL82_SEL164_MASK (0xFFU)
  87701. #define XBARA_SEL82_SEL164_SHIFT (0U)
  87702. #define XBARA_SEL82_SEL164(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL82_SEL164_SHIFT)) & XBARA_SEL82_SEL164_MASK)
  87703. #define XBARA_SEL82_SEL165_MASK (0xFF00U)
  87704. #define XBARA_SEL82_SEL165_SHIFT (8U)
  87705. #define XBARA_SEL82_SEL165(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL82_SEL165_SHIFT)) & XBARA_SEL82_SEL165_MASK)
  87706. /*! @} */
  87707. /*! @name SEL83 - Crossbar A Select Register 83 */
  87708. /*! @{ */
  87709. #define XBARA_SEL83_SEL166_MASK (0xFFU)
  87710. #define XBARA_SEL83_SEL166_SHIFT (0U)
  87711. #define XBARA_SEL83_SEL166(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL83_SEL166_SHIFT)) & XBARA_SEL83_SEL166_MASK)
  87712. #define XBARA_SEL83_SEL167_MASK (0xFF00U)
  87713. #define XBARA_SEL83_SEL167_SHIFT (8U)
  87714. #define XBARA_SEL83_SEL167(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL83_SEL167_SHIFT)) & XBARA_SEL83_SEL167_MASK)
  87715. /*! @} */
  87716. /*! @name SEL84 - Crossbar A Select Register 84 */
  87717. /*! @{ */
  87718. #define XBARA_SEL84_SEL168_MASK (0xFFU)
  87719. #define XBARA_SEL84_SEL168_SHIFT (0U)
  87720. #define XBARA_SEL84_SEL168(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL84_SEL168_SHIFT)) & XBARA_SEL84_SEL168_MASK)
  87721. #define XBARA_SEL84_SEL169_MASK (0xFF00U)
  87722. #define XBARA_SEL84_SEL169_SHIFT (8U)
  87723. #define XBARA_SEL84_SEL169(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL84_SEL169_SHIFT)) & XBARA_SEL84_SEL169_MASK)
  87724. /*! @} */
  87725. /*! @name SEL85 - Crossbar A Select Register 85 */
  87726. /*! @{ */
  87727. #define XBARA_SEL85_SEL170_MASK (0xFFU)
  87728. #define XBARA_SEL85_SEL170_SHIFT (0U)
  87729. #define XBARA_SEL85_SEL170(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL85_SEL170_SHIFT)) & XBARA_SEL85_SEL170_MASK)
  87730. #define XBARA_SEL85_SEL171_MASK (0xFF00U)
  87731. #define XBARA_SEL85_SEL171_SHIFT (8U)
  87732. #define XBARA_SEL85_SEL171(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL85_SEL171_SHIFT)) & XBARA_SEL85_SEL171_MASK)
  87733. /*! @} */
  87734. /*! @name SEL86 - Crossbar A Select Register 86 */
  87735. /*! @{ */
  87736. #define XBARA_SEL86_SEL172_MASK (0xFFU)
  87737. #define XBARA_SEL86_SEL172_SHIFT (0U)
  87738. #define XBARA_SEL86_SEL172(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL86_SEL172_SHIFT)) & XBARA_SEL86_SEL172_MASK)
  87739. #define XBARA_SEL86_SEL173_MASK (0xFF00U)
  87740. #define XBARA_SEL86_SEL173_SHIFT (8U)
  87741. #define XBARA_SEL86_SEL173(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL86_SEL173_SHIFT)) & XBARA_SEL86_SEL173_MASK)
  87742. /*! @} */
  87743. /*! @name SEL87 - Crossbar A Select Register 87 */
  87744. /*! @{ */
  87745. #define XBARA_SEL87_SEL174_MASK (0xFFU)
  87746. #define XBARA_SEL87_SEL174_SHIFT (0U)
  87747. #define XBARA_SEL87_SEL174(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL87_SEL174_SHIFT)) & XBARA_SEL87_SEL174_MASK)
  87748. #define XBARA_SEL87_SEL175_MASK (0xFF00U)
  87749. #define XBARA_SEL87_SEL175_SHIFT (8U)
  87750. #define XBARA_SEL87_SEL175(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL87_SEL175_SHIFT)) & XBARA_SEL87_SEL175_MASK)
  87751. /*! @} */
  87752. /*! @name CTRL0 - Crossbar A Control Register 0 */
  87753. /*! @{ */
  87754. #define XBARA_CTRL0_DEN0_MASK (0x1U)
  87755. #define XBARA_CTRL0_DEN0_SHIFT (0U)
  87756. /*! DEN0 - DMA Enable for XBAR_OUT0
  87757. * 0b0..DMA disabled
  87758. * 0b1..DMA enabled
  87759. */
  87760. #define XBARA_CTRL0_DEN0(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL0_DEN0_SHIFT)) & XBARA_CTRL0_DEN0_MASK)
  87761. #define XBARA_CTRL0_IEN0_MASK (0x2U)
  87762. #define XBARA_CTRL0_IEN0_SHIFT (1U)
  87763. /*! IEN0 - Interrupt Enable for XBAR_OUT0
  87764. * 0b0..Interrupt disabled
  87765. * 0b1..Interrupt enabled
  87766. */
  87767. #define XBARA_CTRL0_IEN0(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL0_IEN0_SHIFT)) & XBARA_CTRL0_IEN0_MASK)
  87768. #define XBARA_CTRL0_EDGE0_MASK (0xCU)
  87769. #define XBARA_CTRL0_EDGE0_SHIFT (2U)
  87770. /*! EDGE0 - Active edge for edge detection on XBAR_OUT0
  87771. * 0b00..STS0 never asserts
  87772. * 0b01..STS0 asserts on rising edges of XBAR_OUT0
  87773. * 0b10..STS0 asserts on falling edges of XBAR_OUT0
  87774. * 0b11..STS0 asserts on rising and falling edges of XBAR_OUT0
  87775. */
  87776. #define XBARA_CTRL0_EDGE0(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL0_EDGE0_SHIFT)) & XBARA_CTRL0_EDGE0_MASK)
  87777. #define XBARA_CTRL0_STS0_MASK (0x10U)
  87778. #define XBARA_CTRL0_STS0_SHIFT (4U)
  87779. /*! STS0 - Edge detection status for XBAR_OUT0
  87780. * 0b0..Active edge not yet detected on XBAR_OUT0
  87781. * 0b1..Active edge detected on XBAR_OUT0
  87782. */
  87783. #define XBARA_CTRL0_STS0(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL0_STS0_SHIFT)) & XBARA_CTRL0_STS0_MASK)
  87784. #define XBARA_CTRL0_DEN1_MASK (0x100U)
  87785. #define XBARA_CTRL0_DEN1_SHIFT (8U)
  87786. /*! DEN1 - DMA Enable for XBAR_OUT1
  87787. * 0b0..DMA disabled
  87788. * 0b1..DMA enabled
  87789. */
  87790. #define XBARA_CTRL0_DEN1(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL0_DEN1_SHIFT)) & XBARA_CTRL0_DEN1_MASK)
  87791. #define XBARA_CTRL0_IEN1_MASK (0x200U)
  87792. #define XBARA_CTRL0_IEN1_SHIFT (9U)
  87793. /*! IEN1 - Interrupt Enable for XBAR_OUT1
  87794. * 0b0..Interrupt disabled
  87795. * 0b1..Interrupt enabled
  87796. */
  87797. #define XBARA_CTRL0_IEN1(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL0_IEN1_SHIFT)) & XBARA_CTRL0_IEN1_MASK)
  87798. #define XBARA_CTRL0_EDGE1_MASK (0xC00U)
  87799. #define XBARA_CTRL0_EDGE1_SHIFT (10U)
  87800. /*! EDGE1 - Active edge for edge detection on XBAR_OUT1
  87801. * 0b00..STS1 never asserts
  87802. * 0b01..STS1 asserts on rising edges of XBAR_OUT1
  87803. * 0b10..STS1 asserts on falling edges of XBAR_OUT1
  87804. * 0b11..STS1 asserts on rising and falling edges of XBAR_OUT1
  87805. */
  87806. #define XBARA_CTRL0_EDGE1(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL0_EDGE1_SHIFT)) & XBARA_CTRL0_EDGE1_MASK)
  87807. #define XBARA_CTRL0_STS1_MASK (0x1000U)
  87808. #define XBARA_CTRL0_STS1_SHIFT (12U)
  87809. /*! STS1 - Edge detection status for XBAR_OUT1
  87810. * 0b0..Active edge not yet detected on XBAR_OUT1
  87811. * 0b1..Active edge detected on XBAR_OUT1
  87812. */
  87813. #define XBARA_CTRL0_STS1(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL0_STS1_SHIFT)) & XBARA_CTRL0_STS1_MASK)
  87814. /*! @} */
  87815. /*! @name CTRL1 - Crossbar A Control Register 1 */
  87816. /*! @{ */
  87817. #define XBARA_CTRL1_DEN2_MASK (0x1U)
  87818. #define XBARA_CTRL1_DEN2_SHIFT (0U)
  87819. /*! DEN2 - DMA Enable for XBAR_OUT2
  87820. * 0b0..DMA disabled
  87821. * 0b1..DMA enabled
  87822. */
  87823. #define XBARA_CTRL1_DEN2(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL1_DEN2_SHIFT)) & XBARA_CTRL1_DEN2_MASK)
  87824. #define XBARA_CTRL1_IEN2_MASK (0x2U)
  87825. #define XBARA_CTRL1_IEN2_SHIFT (1U)
  87826. /*! IEN2 - Interrupt Enable for XBAR_OUT2
  87827. * 0b0..Interrupt disabled
  87828. * 0b1..Interrupt enabled
  87829. */
  87830. #define XBARA_CTRL1_IEN2(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL1_IEN2_SHIFT)) & XBARA_CTRL1_IEN2_MASK)
  87831. #define XBARA_CTRL1_EDGE2_MASK (0xCU)
  87832. #define XBARA_CTRL1_EDGE2_SHIFT (2U)
  87833. /*! EDGE2 - Active edge for edge detection on XBAR_OUT2
  87834. * 0b00..STS2 never asserts
  87835. * 0b01..STS2 asserts on rising edges of XBAR_OUT2
  87836. * 0b10..STS2 asserts on falling edges of XBAR_OUT2
  87837. * 0b11..STS2 asserts on rising and falling edges of XBAR_OUT2
  87838. */
  87839. #define XBARA_CTRL1_EDGE2(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL1_EDGE2_SHIFT)) & XBARA_CTRL1_EDGE2_MASK)
  87840. #define XBARA_CTRL1_STS2_MASK (0x10U)
  87841. #define XBARA_CTRL1_STS2_SHIFT (4U)
  87842. /*! STS2 - Edge detection status for XBAR_OUT2
  87843. * 0b0..Active edge not yet detected on XBAR_OUT2
  87844. * 0b1..Active edge detected on XBAR_OUT2
  87845. */
  87846. #define XBARA_CTRL1_STS2(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL1_STS2_SHIFT)) & XBARA_CTRL1_STS2_MASK)
  87847. #define XBARA_CTRL1_DEN3_MASK (0x100U)
  87848. #define XBARA_CTRL1_DEN3_SHIFT (8U)
  87849. /*! DEN3 - DMA Enable for XBAR_OUT3
  87850. * 0b0..DMA disabled
  87851. * 0b1..DMA enabled
  87852. */
  87853. #define XBARA_CTRL1_DEN3(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL1_DEN3_SHIFT)) & XBARA_CTRL1_DEN3_MASK)
  87854. #define XBARA_CTRL1_IEN3_MASK (0x200U)
  87855. #define XBARA_CTRL1_IEN3_SHIFT (9U)
  87856. /*! IEN3 - Interrupt Enable for XBAR_OUT3
  87857. * 0b0..Interrupt disabled
  87858. * 0b1..Interrupt enabled
  87859. */
  87860. #define XBARA_CTRL1_IEN3(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL1_IEN3_SHIFT)) & XBARA_CTRL1_IEN3_MASK)
  87861. #define XBARA_CTRL1_EDGE3_MASK (0xC00U)
  87862. #define XBARA_CTRL1_EDGE3_SHIFT (10U)
  87863. /*! EDGE3 - Active edge for edge detection on XBAR_OUT3
  87864. * 0b00..STS3 never asserts
  87865. * 0b01..STS3 asserts on rising edges of XBAR_OUT3
  87866. * 0b10..STS3 asserts on falling edges of XBAR_OUT3
  87867. * 0b11..STS3 asserts on rising and falling edges of XBAR_OUT3
  87868. */
  87869. #define XBARA_CTRL1_EDGE3(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL1_EDGE3_SHIFT)) & XBARA_CTRL1_EDGE3_MASK)
  87870. #define XBARA_CTRL1_STS3_MASK (0x1000U)
  87871. #define XBARA_CTRL1_STS3_SHIFT (12U)
  87872. /*! STS3 - Edge detection status for XBAR_OUT3
  87873. * 0b0..Active edge not yet detected on XBAR_OUT3
  87874. * 0b1..Active edge detected on XBAR_OUT3
  87875. */
  87876. #define XBARA_CTRL1_STS3(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL1_STS3_SHIFT)) & XBARA_CTRL1_STS3_MASK)
  87877. /*! @} */
  87878. /*!
  87879. * @}
  87880. */ /* end of group XBARA_Register_Masks */
  87881. /* XBARA - Peripheral instance base addresses */
  87882. /** Peripheral XBARA1 base address */
  87883. #define XBARA1_BASE (0x4003C000u)
  87884. /** Peripheral XBARA1 base pointer */
  87885. #define XBARA1 ((XBARA_Type *)XBARA1_BASE)
  87886. /** Array initializer of XBARA peripheral base addresses */
  87887. #define XBARA_BASE_ADDRS { 0u, XBARA1_BASE }
  87888. /** Array initializer of XBARA peripheral base pointers */
  87889. #define XBARA_BASE_PTRS { (XBARA_Type *)0u, XBARA1 }
  87890. /*!
  87891. * @}
  87892. */ /* end of group XBARA_Peripheral_Access_Layer */
  87893. /* ----------------------------------------------------------------------------
  87894. -- XBARB Peripheral Access Layer
  87895. ---------------------------------------------------------------------------- */
  87896. /*!
  87897. * @addtogroup XBARB_Peripheral_Access_Layer XBARB Peripheral Access Layer
  87898. * @{
  87899. */
  87900. /** XBARB - Register Layout Typedef */
  87901. typedef struct {
  87902. __IO uint16_t SEL0; /**< Crossbar B Select Register 0, offset: 0x0 */
  87903. __IO uint16_t SEL1; /**< Crossbar B Select Register 1, offset: 0x2 */
  87904. __IO uint16_t SEL2; /**< Crossbar B Select Register 2, offset: 0x4 */
  87905. __IO uint16_t SEL3; /**< Crossbar B Select Register 3, offset: 0x6 */
  87906. __IO uint16_t SEL4; /**< Crossbar B Select Register 4, offset: 0x8 */
  87907. __IO uint16_t SEL5; /**< Crossbar B Select Register 5, offset: 0xA */
  87908. __IO uint16_t SEL6; /**< Crossbar B Select Register 6, offset: 0xC */
  87909. __IO uint16_t SEL7; /**< Crossbar B Select Register 7, offset: 0xE */
  87910. } XBARB_Type;
  87911. /* ----------------------------------------------------------------------------
  87912. -- XBARB Register Masks
  87913. ---------------------------------------------------------------------------- */
  87914. /*!
  87915. * @addtogroup XBARB_Register_Masks XBARB Register Masks
  87916. * @{
  87917. */
  87918. /*! @name SEL0 - Crossbar B Select Register 0 */
  87919. /*! @{ */
  87920. #define XBARB_SEL0_SEL0_MASK (0x7FU)
  87921. #define XBARB_SEL0_SEL0_SHIFT (0U)
  87922. #define XBARB_SEL0_SEL0(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL0_SEL0_SHIFT)) & XBARB_SEL0_SEL0_MASK)
  87923. #define XBARB_SEL0_SEL1_MASK (0x7F00U)
  87924. #define XBARB_SEL0_SEL1_SHIFT (8U)
  87925. #define XBARB_SEL0_SEL1(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL0_SEL1_SHIFT)) & XBARB_SEL0_SEL1_MASK)
  87926. /*! @} */
  87927. /*! @name SEL1 - Crossbar B Select Register 1 */
  87928. /*! @{ */
  87929. #define XBARB_SEL1_SEL2_MASK (0x7FU)
  87930. #define XBARB_SEL1_SEL2_SHIFT (0U)
  87931. #define XBARB_SEL1_SEL2(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL1_SEL2_SHIFT)) & XBARB_SEL1_SEL2_MASK)
  87932. #define XBARB_SEL1_SEL3_MASK (0x7F00U)
  87933. #define XBARB_SEL1_SEL3_SHIFT (8U)
  87934. #define XBARB_SEL1_SEL3(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL1_SEL3_SHIFT)) & XBARB_SEL1_SEL3_MASK)
  87935. /*! @} */
  87936. /*! @name SEL2 - Crossbar B Select Register 2 */
  87937. /*! @{ */
  87938. #define XBARB_SEL2_SEL4_MASK (0x7FU)
  87939. #define XBARB_SEL2_SEL4_SHIFT (0U)
  87940. #define XBARB_SEL2_SEL4(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL2_SEL4_SHIFT)) & XBARB_SEL2_SEL4_MASK)
  87941. #define XBARB_SEL2_SEL5_MASK (0x7F00U)
  87942. #define XBARB_SEL2_SEL5_SHIFT (8U)
  87943. #define XBARB_SEL2_SEL5(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL2_SEL5_SHIFT)) & XBARB_SEL2_SEL5_MASK)
  87944. /*! @} */
  87945. /*! @name SEL3 - Crossbar B Select Register 3 */
  87946. /*! @{ */
  87947. #define XBARB_SEL3_SEL6_MASK (0x7FU)
  87948. #define XBARB_SEL3_SEL6_SHIFT (0U)
  87949. #define XBARB_SEL3_SEL6(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL3_SEL6_SHIFT)) & XBARB_SEL3_SEL6_MASK)
  87950. #define XBARB_SEL3_SEL7_MASK (0x7F00U)
  87951. #define XBARB_SEL3_SEL7_SHIFT (8U)
  87952. #define XBARB_SEL3_SEL7(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL3_SEL7_SHIFT)) & XBARB_SEL3_SEL7_MASK)
  87953. /*! @} */
  87954. /*! @name SEL4 - Crossbar B Select Register 4 */
  87955. /*! @{ */
  87956. #define XBARB_SEL4_SEL8_MASK (0x7FU)
  87957. #define XBARB_SEL4_SEL8_SHIFT (0U)
  87958. #define XBARB_SEL4_SEL8(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL4_SEL8_SHIFT)) & XBARB_SEL4_SEL8_MASK)
  87959. #define XBARB_SEL4_SEL9_MASK (0x7F00U)
  87960. #define XBARB_SEL4_SEL9_SHIFT (8U)
  87961. #define XBARB_SEL4_SEL9(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL4_SEL9_SHIFT)) & XBARB_SEL4_SEL9_MASK)
  87962. /*! @} */
  87963. /*! @name SEL5 - Crossbar B Select Register 5 */
  87964. /*! @{ */
  87965. #define XBARB_SEL5_SEL10_MASK (0x7FU)
  87966. #define XBARB_SEL5_SEL10_SHIFT (0U)
  87967. #define XBARB_SEL5_SEL10(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL5_SEL10_SHIFT)) & XBARB_SEL5_SEL10_MASK)
  87968. #define XBARB_SEL5_SEL11_MASK (0x7F00U)
  87969. #define XBARB_SEL5_SEL11_SHIFT (8U)
  87970. #define XBARB_SEL5_SEL11(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL5_SEL11_SHIFT)) & XBARB_SEL5_SEL11_MASK)
  87971. /*! @} */
  87972. /*! @name SEL6 - Crossbar B Select Register 6 */
  87973. /*! @{ */
  87974. #define XBARB_SEL6_SEL12_MASK (0x7FU)
  87975. #define XBARB_SEL6_SEL12_SHIFT (0U)
  87976. #define XBARB_SEL6_SEL12(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL6_SEL12_SHIFT)) & XBARB_SEL6_SEL12_MASK)
  87977. #define XBARB_SEL6_SEL13_MASK (0x7F00U)
  87978. #define XBARB_SEL6_SEL13_SHIFT (8U)
  87979. #define XBARB_SEL6_SEL13(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL6_SEL13_SHIFT)) & XBARB_SEL6_SEL13_MASK)
  87980. /*! @} */
  87981. /*! @name SEL7 - Crossbar B Select Register 7 */
  87982. /*! @{ */
  87983. #define XBARB_SEL7_SEL14_MASK (0x7FU)
  87984. #define XBARB_SEL7_SEL14_SHIFT (0U)
  87985. #define XBARB_SEL7_SEL14(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL7_SEL14_SHIFT)) & XBARB_SEL7_SEL14_MASK)
  87986. #define XBARB_SEL7_SEL15_MASK (0x7F00U)
  87987. #define XBARB_SEL7_SEL15_SHIFT (8U)
  87988. #define XBARB_SEL7_SEL15(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL7_SEL15_SHIFT)) & XBARB_SEL7_SEL15_MASK)
  87989. /*! @} */
  87990. /*!
  87991. * @}
  87992. */ /* end of group XBARB_Register_Masks */
  87993. /* XBARB - Peripheral instance base addresses */
  87994. /** Peripheral XBARB2 base address */
  87995. #define XBARB2_BASE (0x40040000u)
  87996. /** Peripheral XBARB2 base pointer */
  87997. #define XBARB2 ((XBARB_Type *)XBARB2_BASE)
  87998. /** Peripheral XBARB3 base address */
  87999. #define XBARB3_BASE (0x40044000u)
  88000. /** Peripheral XBARB3 base pointer */
  88001. #define XBARB3 ((XBARB_Type *)XBARB3_BASE)
  88002. /** Array initializer of XBARB peripheral base addresses */
  88003. #define XBARB_BASE_ADDRS { 0u, 0u, XBARB2_BASE, XBARB3_BASE }
  88004. /** Array initializer of XBARB peripheral base pointers */
  88005. #define XBARB_BASE_PTRS { (XBARB_Type *)0u, (XBARB_Type *)0u, XBARB2, XBARB3 }
  88006. /*!
  88007. * @}
  88008. */ /* end of group XBARB_Peripheral_Access_Layer */
  88009. /* ----------------------------------------------------------------------------
  88010. -- XECC Peripheral Access Layer
  88011. ---------------------------------------------------------------------------- */
  88012. /*!
  88013. * @addtogroup XECC_Peripheral_Access_Layer XECC Peripheral Access Layer
  88014. * @{
  88015. */
  88016. /** XECC - Register Layout Typedef */
  88017. typedef struct {
  88018. __IO uint32_t ECC_CTRL; /**< ECC Control Register, offset: 0x0 */
  88019. __IO uint32_t ERR_STATUS; /**< Error Interrupt Status Register, offset: 0x4 */
  88020. __IO uint32_t ERR_STAT_EN; /**< Error Interrupt Status Enable Register, offset: 0x8 */
  88021. __IO uint32_t ERR_SIG_EN; /**< Error Interrupt Enable Register, offset: 0xC */
  88022. __IO uint32_t ERR_DATA_INJ; /**< Error Injection On Write Data, offset: 0x10 */
  88023. __IO uint32_t ERR_ECC_INJ; /**< Error Injection On ECC Code of Write Data, offset: 0x14 */
  88024. __I uint32_t SINGLE_ERR_ADDR; /**< Single Error Address, offset: 0x18 */
  88025. __I uint32_t SINGLE_ERR_DATA; /**< Single Error Read Data, offset: 0x1C */
  88026. __I uint32_t SINGLE_ERR_ECC; /**< Single Error ECC Code, offset: 0x20 */
  88027. __I uint32_t SINGLE_ERR_POS; /**< Single Error Bit Position, offset: 0x24 */
  88028. __I uint32_t SINGLE_ERR_BIT_FIELD; /**< Single Error Bit Field, offset: 0x28 */
  88029. __I uint32_t MULTI_ERR_ADDR; /**< Multiple Error Address, offset: 0x2C */
  88030. __I uint32_t MULTI_ERR_DATA; /**< Multiple Error Read Data, offset: 0x30 */
  88031. __I uint32_t MULTI_ERR_ECC; /**< Multiple Error ECC code, offset: 0x34 */
  88032. __I uint32_t MULTI_ERR_BIT_FIELD; /**< Multiple Error Bit Field, offset: 0x38 */
  88033. __IO uint32_t ECC_BASE_ADDR0; /**< ECC Region 0 Base Address, offset: 0x3C */
  88034. __IO uint32_t ECC_END_ADDR0; /**< ECC Region 0 End Address, offset: 0x40 */
  88035. __IO uint32_t ECC_BASE_ADDR1; /**< ECC Region 1 Base Address, offset: 0x44 */
  88036. __IO uint32_t ECC_END_ADDR1; /**< ECC Region 1 End Address, offset: 0x48 */
  88037. __IO uint32_t ECC_BASE_ADDR2; /**< ECC Region 2 Base Address, offset: 0x4C */
  88038. __IO uint32_t ECC_END_ADDR2; /**< ECC Region 2 End Address, offset: 0x50 */
  88039. __IO uint32_t ECC_BASE_ADDR3; /**< ECC Region 3 Base Address, offset: 0x54 */
  88040. __IO uint32_t ECC_END_ADDR3; /**< ECC Region 3 End Address, offset: 0x58 */
  88041. } XECC_Type;
  88042. /* ----------------------------------------------------------------------------
  88043. -- XECC Register Masks
  88044. ---------------------------------------------------------------------------- */
  88045. /*!
  88046. * @addtogroup XECC_Register_Masks XECC Register Masks
  88047. * @{
  88048. */
  88049. /*! @name ECC_CTRL - ECC Control Register */
  88050. /*! @{ */
  88051. #define XECC_ECC_CTRL_ECC_EN_MASK (0x1U)
  88052. #define XECC_ECC_CTRL_ECC_EN_SHIFT (0U)
  88053. /*! ECC_EN - ECC Function Enable
  88054. * 0b0..Disable
  88055. * 0b1..Enable
  88056. */
  88057. #define XECC_ECC_CTRL_ECC_EN(x) (((uint32_t)(((uint32_t)(x)) << XECC_ECC_CTRL_ECC_EN_SHIFT)) & XECC_ECC_CTRL_ECC_EN_MASK)
  88058. #define XECC_ECC_CTRL_WECC_EN_MASK (0x2U)
  88059. #define XECC_ECC_CTRL_WECC_EN_SHIFT (1U)
  88060. /*! WECC_EN - Write ECC Encode Function Enable
  88061. * 0b0..Disable
  88062. * 0b1..Enable
  88063. */
  88064. #define XECC_ECC_CTRL_WECC_EN(x) (((uint32_t)(((uint32_t)(x)) << XECC_ECC_CTRL_WECC_EN_SHIFT)) & XECC_ECC_CTRL_WECC_EN_MASK)
  88065. #define XECC_ECC_CTRL_RECC_EN_MASK (0x4U)
  88066. #define XECC_ECC_CTRL_RECC_EN_SHIFT (2U)
  88067. /*! RECC_EN - Read ECC Function Enable
  88068. * 0b0..Disable
  88069. * 0b1..Enable
  88070. */
  88071. #define XECC_ECC_CTRL_RECC_EN(x) (((uint32_t)(((uint32_t)(x)) << XECC_ECC_CTRL_RECC_EN_SHIFT)) & XECC_ECC_CTRL_RECC_EN_MASK)
  88072. #define XECC_ECC_CTRL_SWAP_EN_MASK (0x8U)
  88073. #define XECC_ECC_CTRL_SWAP_EN_SHIFT (3U)
  88074. /*! SWAP_EN - Swap Data Enable
  88075. * 0b0..Disable
  88076. * 0b1..Enable
  88077. */
  88078. #define XECC_ECC_CTRL_SWAP_EN(x) (((uint32_t)(((uint32_t)(x)) << XECC_ECC_CTRL_SWAP_EN_SHIFT)) & XECC_ECC_CTRL_SWAP_EN_MASK)
  88079. /*! @} */
  88080. /*! @name ERR_STATUS - Error Interrupt Status Register */
  88081. /*! @{ */
  88082. #define XECC_ERR_STATUS_SINGLE_ERR_MASK (0x1U)
  88083. #define XECC_ERR_STATUS_SINGLE_ERR_SHIFT (0U)
  88084. /*! SINGLE_ERR - Single Bit Error
  88085. * 0b0..Single bit error does not happen.
  88086. * 0b1..Single bit error happens.
  88087. */
  88088. #define XECC_ERR_STATUS_SINGLE_ERR(x) (((uint32_t)(((uint32_t)(x)) << XECC_ERR_STATUS_SINGLE_ERR_SHIFT)) & XECC_ERR_STATUS_SINGLE_ERR_MASK)
  88089. #define XECC_ERR_STATUS_MULTI_ERR_MASK (0x2U)
  88090. #define XECC_ERR_STATUS_MULTI_ERR_SHIFT (1U)
  88091. /*! MULTI_ERR - Multiple Bits Error
  88092. * 0b0..Multiple bits error does not happen.
  88093. * 0b1..Multiple bits error happens.
  88094. */
  88095. #define XECC_ERR_STATUS_MULTI_ERR(x) (((uint32_t)(((uint32_t)(x)) << XECC_ERR_STATUS_MULTI_ERR_SHIFT)) & XECC_ERR_STATUS_MULTI_ERR_MASK)
  88096. #define XECC_ERR_STATUS_Reserved1_MASK (0xFFFFFFFCU)
  88097. #define XECC_ERR_STATUS_Reserved1_SHIFT (2U)
  88098. /*! Reserved1 - Reserved
  88099. */
  88100. #define XECC_ERR_STATUS_Reserved1(x) (((uint32_t)(((uint32_t)(x)) << XECC_ERR_STATUS_Reserved1_SHIFT)) & XECC_ERR_STATUS_Reserved1_MASK)
  88101. /*! @} */
  88102. /*! @name ERR_STAT_EN - Error Interrupt Status Enable Register */
  88103. /*! @{ */
  88104. #define XECC_ERR_STAT_EN_SINGLE_ERR_STAT_EN_MASK (0x1U)
  88105. #define XECC_ERR_STAT_EN_SINGLE_ERR_STAT_EN_SHIFT (0U)
  88106. /*! SINGLE_ERR_STAT_EN - Single Bit Error Status Enable
  88107. * 0b0..Masked
  88108. * 0b1..Enabled
  88109. */
  88110. #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)
  88111. #define XECC_ERR_STAT_EN_MULIT_ERR_STAT_EN_MASK (0x2U)
  88112. #define XECC_ERR_STAT_EN_MULIT_ERR_STAT_EN_SHIFT (1U)
  88113. /*! MULIT_ERR_STAT_EN - Multiple Bits Error Status Enable
  88114. * 0b0..Masked
  88115. * 0b1..Enabled
  88116. */
  88117. #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)
  88118. #define XECC_ERR_STAT_EN_Reserved1_MASK (0xFFFFFFFCU)
  88119. #define XECC_ERR_STAT_EN_Reserved1_SHIFT (2U)
  88120. /*! Reserved1 - Reserved
  88121. */
  88122. #define XECC_ERR_STAT_EN_Reserved1(x) (((uint32_t)(((uint32_t)(x)) << XECC_ERR_STAT_EN_Reserved1_SHIFT)) & XECC_ERR_STAT_EN_Reserved1_MASK)
  88123. /*! @} */
  88124. /*! @name ERR_SIG_EN - Error Interrupt Enable Register */
  88125. /*! @{ */
  88126. #define XECC_ERR_SIG_EN_SINGLE_ERR_SIG_EN_MASK (0x1U)
  88127. #define XECC_ERR_SIG_EN_SINGLE_ERR_SIG_EN_SHIFT (0U)
  88128. /*! SINGLE_ERR_SIG_EN - Single Bit Error Interrupt Enable
  88129. * 0b0..Masked
  88130. * 0b1..Enabled
  88131. */
  88132. #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)
  88133. #define XECC_ERR_SIG_EN_MULTI_ERR_SIG_EN_MASK (0x2U)
  88134. #define XECC_ERR_SIG_EN_MULTI_ERR_SIG_EN_SHIFT (1U)
  88135. /*! MULTI_ERR_SIG_EN - Multiple Bits Error Interrupt Enable
  88136. * 0b0..Masked
  88137. * 0b1..Enabled
  88138. */
  88139. #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)
  88140. #define XECC_ERR_SIG_EN_Reserved1_MASK (0xFFFFFFFCU)
  88141. #define XECC_ERR_SIG_EN_Reserved1_SHIFT (2U)
  88142. /*! Reserved1 - Reserved
  88143. */
  88144. #define XECC_ERR_SIG_EN_Reserved1(x) (((uint32_t)(((uint32_t)(x)) << XECC_ERR_SIG_EN_Reserved1_SHIFT)) & XECC_ERR_SIG_EN_Reserved1_MASK)
  88145. /*! @} */
  88146. /*! @name ERR_DATA_INJ - Error Injection On Write Data */
  88147. /*! @{ */
  88148. #define XECC_ERR_DATA_INJ_ERR_DATA_INJ_MASK (0xFFFFFFFFU)
  88149. #define XECC_ERR_DATA_INJ_ERR_DATA_INJ_SHIFT (0U)
  88150. /*! ERR_DATA_INJ - Error Injection On Write Data
  88151. */
  88152. #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)
  88153. /*! @} */
  88154. /*! @name ERR_ECC_INJ - Error Injection On ECC Code of Write Data */
  88155. /*! @{ */
  88156. #define XECC_ERR_ECC_INJ_ERR_ECC_INJ_MASK (0xFFFFFFFFU)
  88157. #define XECC_ERR_ECC_INJ_ERR_ECC_INJ_SHIFT (0U)
  88158. /*! ERR_ECC_INJ - Error Injection On ECC Code of Write Data
  88159. */
  88160. #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)
  88161. /*! @} */
  88162. /*! @name SINGLE_ERR_ADDR - Single Error Address */
  88163. /*! @{ */
  88164. #define XECC_SINGLE_ERR_ADDR_SINGLE_ERR_ADDR_MASK (0xFFFFFFFFU)
  88165. #define XECC_SINGLE_ERR_ADDR_SINGLE_ERR_ADDR_SHIFT (0U)
  88166. /*! SINGLE_ERR_ADDR - Single Error Address
  88167. */
  88168. #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)
  88169. /*! @} */
  88170. /*! @name SINGLE_ERR_DATA - Single Error Read Data */
  88171. /*! @{ */
  88172. #define XECC_SINGLE_ERR_DATA_SINGLE_ERR_DATA_MASK (0xFFFFFFFFU)
  88173. #define XECC_SINGLE_ERR_DATA_SINGLE_ERR_DATA_SHIFT (0U)
  88174. /*! SINGLE_ERR_DATA - Single Error Read Data
  88175. */
  88176. #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)
  88177. /*! @} */
  88178. /*! @name SINGLE_ERR_ECC - Single Error ECC Code */
  88179. /*! @{ */
  88180. #define XECC_SINGLE_ERR_ECC_SINGLE_ERR_ECC_MASK (0xFFFFFFFFU)
  88181. #define XECC_SINGLE_ERR_ECC_SINGLE_ERR_ECC_SHIFT (0U)
  88182. /*! SINGLE_ERR_ECC - Single Error ECC code
  88183. */
  88184. #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)
  88185. /*! @} */
  88186. /*! @name SINGLE_ERR_POS - Single Error Bit Position */
  88187. /*! @{ */
  88188. #define XECC_SINGLE_ERR_POS_SINGLE_ERR_POS_MASK (0xFFFFFFFFU)
  88189. #define XECC_SINGLE_ERR_POS_SINGLE_ERR_POS_SHIFT (0U)
  88190. /*! SINGLE_ERR_POS - Single Error bit Position
  88191. */
  88192. #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)
  88193. /*! @} */
  88194. /*! @name SINGLE_ERR_BIT_FIELD - Single Error Bit Field */
  88195. /*! @{ */
  88196. #define XECC_SINGLE_ERR_BIT_FIELD_SINGLE_ERR_BIT_FIELD_MASK (0xFFU)
  88197. #define XECC_SINGLE_ERR_BIT_FIELD_SINGLE_ERR_BIT_FIELD_SHIFT (0U)
  88198. /*! SINGLE_ERR_BIT_FIELD - Single Error Bit Field
  88199. */
  88200. #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)
  88201. #define XECC_SINGLE_ERR_BIT_FIELD_Reserved1_MASK (0xFFFFFF00U)
  88202. #define XECC_SINGLE_ERR_BIT_FIELD_Reserved1_SHIFT (8U)
  88203. /*! Reserved1 - Reserved
  88204. */
  88205. #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)
  88206. /*! @} */
  88207. /*! @name MULTI_ERR_ADDR - Multiple Error Address */
  88208. /*! @{ */
  88209. #define XECC_MULTI_ERR_ADDR_MULTI_ERR_ADDR_MASK (0xFFFFFFFFU)
  88210. #define XECC_MULTI_ERR_ADDR_MULTI_ERR_ADDR_SHIFT (0U)
  88211. /*! MULTI_ERR_ADDR - Multiple Error Address
  88212. */
  88213. #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)
  88214. /*! @} */
  88215. /*! @name MULTI_ERR_DATA - Multiple Error Read Data */
  88216. /*! @{ */
  88217. #define XECC_MULTI_ERR_DATA_MULTI_ERR_DATA_MASK (0xFFFFFFFFU)
  88218. #define XECC_MULTI_ERR_DATA_MULTI_ERR_DATA_SHIFT (0U)
  88219. /*! MULTI_ERR_DATA - Multiple Error Read Data
  88220. */
  88221. #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)
  88222. /*! @} */
  88223. /*! @name MULTI_ERR_ECC - Multiple Error ECC code */
  88224. /*! @{ */
  88225. #define XECC_MULTI_ERR_ECC_MULTI_ERR_ECC_MASK (0xFFFFFFFFU)
  88226. #define XECC_MULTI_ERR_ECC_MULTI_ERR_ECC_SHIFT (0U)
  88227. /*! MULTI_ERR_ECC - Multiple Error ECC code
  88228. */
  88229. #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)
  88230. /*! @} */
  88231. /*! @name MULTI_ERR_BIT_FIELD - Multiple Error Bit Field */
  88232. /*! @{ */
  88233. #define XECC_MULTI_ERR_BIT_FIELD_MULTI_ERR_BIT_FIELD_MASK (0xFFU)
  88234. #define XECC_MULTI_ERR_BIT_FIELD_MULTI_ERR_BIT_FIELD_SHIFT (0U)
  88235. /*! MULTI_ERR_BIT_FIELD - Multiple Error Bit Field
  88236. */
  88237. #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)
  88238. #define XECC_MULTI_ERR_BIT_FIELD_Reserved1_MASK (0xFFFFFF00U)
  88239. #define XECC_MULTI_ERR_BIT_FIELD_Reserved1_SHIFT (8U)
  88240. /*! Reserved1 - Reserved
  88241. */
  88242. #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)
  88243. /*! @} */
  88244. /*! @name ECC_BASE_ADDR0 - ECC Region 0 Base Address */
  88245. /*! @{ */
  88246. #define XECC_ECC_BASE_ADDR0_ECC_BASE_ADDR0_MASK (0xFFFFFFFFU)
  88247. #define XECC_ECC_BASE_ADDR0_ECC_BASE_ADDR0_SHIFT (0U)
  88248. /*! ECC_BASE_ADDR0 - ECC Region 0 Base Address
  88249. */
  88250. #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)
  88251. /*! @} */
  88252. /*! @name ECC_END_ADDR0 - ECC Region 0 End Address */
  88253. /*! @{ */
  88254. #define XECC_ECC_END_ADDR0_ECC_END_ADDR0_MASK (0xFFFFFFFFU)
  88255. #define XECC_ECC_END_ADDR0_ECC_END_ADDR0_SHIFT (0U)
  88256. /*! ECC_END_ADDR0 - ECC Region 0 End Address
  88257. */
  88258. #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)
  88259. /*! @} */
  88260. /*! @name ECC_BASE_ADDR1 - ECC Region 1 Base Address */
  88261. /*! @{ */
  88262. #define XECC_ECC_BASE_ADDR1_ECC_BASE_ADDR1_MASK (0xFFFFFFFFU)
  88263. #define XECC_ECC_BASE_ADDR1_ECC_BASE_ADDR1_SHIFT (0U)
  88264. /*! ECC_BASE_ADDR1 - ECC Region 1 Base Address
  88265. */
  88266. #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)
  88267. /*! @} */
  88268. /*! @name ECC_END_ADDR1 - ECC Region 1 End Address */
  88269. /*! @{ */
  88270. #define XECC_ECC_END_ADDR1_ECC_END_ADDR1_MASK (0xFFFFFFFFU)
  88271. #define XECC_ECC_END_ADDR1_ECC_END_ADDR1_SHIFT (0U)
  88272. /*! ECC_END_ADDR1 - ECC Region 1 End Address
  88273. */
  88274. #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)
  88275. /*! @} */
  88276. /*! @name ECC_BASE_ADDR2 - ECC Region 2 Base Address */
  88277. /*! @{ */
  88278. #define XECC_ECC_BASE_ADDR2_ECC_BASE_ADDR2_MASK (0xFFFFFFFFU)
  88279. #define XECC_ECC_BASE_ADDR2_ECC_BASE_ADDR2_SHIFT (0U)
  88280. /*! ECC_BASE_ADDR2 - ECC Region 2 Base Address
  88281. */
  88282. #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)
  88283. /*! @} */
  88284. /*! @name ECC_END_ADDR2 - ECC Region 2 End Address */
  88285. /*! @{ */
  88286. #define XECC_ECC_END_ADDR2_ECC_END_ADDR2_MASK (0xFFFFFFFFU)
  88287. #define XECC_ECC_END_ADDR2_ECC_END_ADDR2_SHIFT (0U)
  88288. /*! ECC_END_ADDR2 - ECC Region 2 End Address
  88289. */
  88290. #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)
  88291. /*! @} */
  88292. /*! @name ECC_BASE_ADDR3 - ECC Region 3 Base Address */
  88293. /*! @{ */
  88294. #define XECC_ECC_BASE_ADDR3_ECC_BASE_ADDR3_MASK (0xFFFFFFFFU)
  88295. #define XECC_ECC_BASE_ADDR3_ECC_BASE_ADDR3_SHIFT (0U)
  88296. /*! ECC_BASE_ADDR3 - ECC Region 3 Base Address
  88297. */
  88298. #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)
  88299. /*! @} */
  88300. /*! @name ECC_END_ADDR3 - ECC Region 3 End Address */
  88301. /*! @{ */
  88302. #define XECC_ECC_END_ADDR3_ECC_END_ADDR3_MASK (0xFFFFFFFFU)
  88303. #define XECC_ECC_END_ADDR3_ECC_END_ADDR3_SHIFT (0U)
  88304. /*! ECC_END_ADDR3 - ECC Region 3 End Address
  88305. */
  88306. #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)
  88307. /*! @} */
  88308. /*!
  88309. * @}
  88310. */ /* end of group XECC_Register_Masks */
  88311. /* XECC - Peripheral instance base addresses */
  88312. /** Peripheral XECC_FLEXSPI1 base address */
  88313. #define XECC_FLEXSPI1_BASE (0x4001C000u)
  88314. /** Peripheral XECC_FLEXSPI1 base pointer */
  88315. #define XECC_FLEXSPI1 ((XECC_Type *)XECC_FLEXSPI1_BASE)
  88316. /** Peripheral XECC_FLEXSPI2 base address */
  88317. #define XECC_FLEXSPI2_BASE (0x40020000u)
  88318. /** Peripheral XECC_FLEXSPI2 base pointer */
  88319. #define XECC_FLEXSPI2 ((XECC_Type *)XECC_FLEXSPI2_BASE)
  88320. /** Peripheral XECC_SEMC base address */
  88321. #define XECC_SEMC_BASE (0x40024000u)
  88322. /** Peripheral XECC_SEMC base pointer */
  88323. #define XECC_SEMC ((XECC_Type *)XECC_SEMC_BASE)
  88324. /** Array initializer of XECC peripheral base addresses */
  88325. #define XECC_BASE_ADDRS { 0u, XECC_FLEXSPI1_BASE, XECC_FLEXSPI2_BASE, XECC_SEMC_BASE }
  88326. /** Array initializer of XECC peripheral base pointers */
  88327. #define XECC_BASE_PTRS { (XECC_Type *)0u, XECC_FLEXSPI1, XECC_FLEXSPI2, XECC_SEMC }
  88328. /*!
  88329. * @}
  88330. */ /* end of group XECC_Peripheral_Access_Layer */
  88331. /* ----------------------------------------------------------------------------
  88332. -- XRDC2 Peripheral Access Layer
  88333. ---------------------------------------------------------------------------- */
  88334. /*!
  88335. * @addtogroup XRDC2_Peripheral_Access_Layer XRDC2 Peripheral Access Layer
  88336. * @{
  88337. */
  88338. /** XRDC2 - Register Layout Typedef */
  88339. typedef struct {
  88340. __IO uint32_t MCR; /**< Module Control Register, offset: 0x0 */
  88341. __I uint32_t SR; /**< Status Register, offset: 0x4 */
  88342. uint8_t RESERVED_0[4088];
  88343. struct { /* offset: 0x1000, array step: 0x8 */
  88344. __IO uint32_t MSC_MSAC_W0; /**< Memory Slot Access Control, array offset: 0x1000, array step: 0x8 */
  88345. __IO uint32_t MSC_MSAC_W1; /**< Memory Slot Access Control, array offset: 0x1004, array step: 0x8 */
  88346. } MSCI_MSAC_WK[128];
  88347. uint8_t RESERVED_1[3072];
  88348. struct { /* offset: 0x2000, array step: index*0x100, index2*0x8 */
  88349. __IO uint32_t MDAC_MDA_W0; /**< Master Domain Assignment, array offset: 0x2000, array step: index*0x100, index2*0x8 */
  88350. __IO uint32_t MDAC_MDA_W1; /**< Master Domain Assignment, array offset: 0x2004, array step: index*0x100, index2*0x8 */
  88351. } MDACI_MDAJ[32][32];
  88352. struct { /* offset: 0x4000, array step: index*0x800, index2*0x8 */
  88353. __IO uint32_t PAC_PDAC_W0; /**< Peripheral Domain Access Control, array offset: 0x4000, array step: index*0x800, index2*0x8 */
  88354. __IO uint32_t PAC_PDAC_W1; /**< Peripheral Domain Access Control, array offset: 0x4004, array step: index*0x800, index2*0x8 */
  88355. } PACI_PDACJ[8][256];
  88356. struct { /* offset: 0x8000, array step: index*0x400, index2*0x20 */
  88357. __IO uint32_t MRC_MRGD_W0; /**< Memory Region Descriptor, array offset: 0x8000, array step: index*0x400, index2*0x20 */
  88358. __IO uint32_t MRC_MRGD_W1; /**< Memory Region Descriptor, array offset: 0x8004, array step: index*0x400, index2*0x20 */
  88359. __IO uint32_t MRC_MRGD_W2; /**< Memory Region Descriptor, array offset: 0x8008, array step: index*0x400, index2*0x20 */
  88360. __IO uint32_t MRC_MRGD_W3; /**< Memory Region Descriptor, array offset: 0x800C, array step: index*0x400, index2*0x20 */
  88361. uint8_t RESERVED_0[4];
  88362. __IO uint32_t MRC_MRGD_W5; /**< Memory Region Descriptor, array offset: 0x8014, array step: index*0x400, index2*0x20 */
  88363. __IO uint32_t MRC_MRGD_W6; /**< Memory Region Descriptor, array offset: 0x8018, array step: index*0x400, index2*0x20 */
  88364. uint8_t RESERVED_1[4];
  88365. } MRCI_MRGDJ[32][32];
  88366. } XRDC2_Type;
  88367. /* ----------------------------------------------------------------------------
  88368. -- XRDC2 Register Masks
  88369. ---------------------------------------------------------------------------- */
  88370. /*!
  88371. * @addtogroup XRDC2_Register_Masks XRDC2 Register Masks
  88372. * @{
  88373. */
  88374. /*! @name MCR - Module Control Register */
  88375. /*! @{ */
  88376. #define XRDC2_MCR_GVLDM_MASK (0x1U)
  88377. #define XRDC2_MCR_GVLDM_SHIFT (0U)
  88378. /*! GVLDM - Global Valid MDAC
  88379. * 0b0..MDACs are disabled.
  88380. * 0b1..MDACs are enabled.
  88381. */
  88382. #define XRDC2_MCR_GVLDM(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MCR_GVLDM_SHIFT)) & XRDC2_MCR_GVLDM_MASK)
  88383. #define XRDC2_MCR_GVLDC_MASK (0x2U)
  88384. #define XRDC2_MCR_GVLDC_SHIFT (1U)
  88385. /*! GVLDC - Global Valid Access Control
  88386. * 0b0..Access controls are disabled, XRDC2 allows all transactions.
  88387. * 0b1..Access controls are enabled.
  88388. */
  88389. #define XRDC2_MCR_GVLDC(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MCR_GVLDC_SHIFT)) & XRDC2_MCR_GVLDC_MASK)
  88390. #define XRDC2_MCR_GCL_MASK (0x30U)
  88391. #define XRDC2_MCR_GCL_SHIFT (4U)
  88392. /*! GCL - Global Configuration Lock
  88393. * 0b00..Lock disabled, registers can be written by any domain.
  88394. * 0b01..Lock disabled until the next reset, registers can be written by any domain.
  88395. * 0b10..Lock enabled, only the global configuration lock owner (SR[GCLO]) can write to registers.
  88396. * 0b11..Lock enabled, all registers are read only until the next reset.
  88397. */
  88398. #define XRDC2_MCR_GCL(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MCR_GCL_SHIFT)) & XRDC2_MCR_GCL_MASK)
  88399. /*! @} */
  88400. /*! @name SR - Status Register */
  88401. /*! @{ */
  88402. #define XRDC2_SR_DIN_MASK (0xFU)
  88403. #define XRDC2_SR_DIN_SHIFT (0U)
  88404. /*! DIN - Domain Identifier Number
  88405. */
  88406. #define XRDC2_SR_DIN(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_SR_DIN_SHIFT)) & XRDC2_SR_DIN_MASK)
  88407. #define XRDC2_SR_HRL_MASK (0xF0U)
  88408. #define XRDC2_SR_HRL_SHIFT (4U)
  88409. /*! HRL - Hardware Revision Level
  88410. */
  88411. #define XRDC2_SR_HRL(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_SR_HRL_SHIFT)) & XRDC2_SR_HRL_MASK)
  88412. #define XRDC2_SR_GCLO_MASK (0xF00U)
  88413. #define XRDC2_SR_GCLO_SHIFT (8U)
  88414. /*! GCLO - Global Configuration Lock Owner
  88415. */
  88416. #define XRDC2_SR_GCLO(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_SR_GCLO_SHIFT)) & XRDC2_SR_GCLO_MASK)
  88417. /*! @} */
  88418. /*! @name MSC_MSAC_W0 - Memory Slot Access Control */
  88419. /*! @{ */
  88420. #define XRDC2_MSC_MSAC_W0_D0ACP_MASK (0x7U)
  88421. #define XRDC2_MSC_MSAC_W0_D0ACP_SHIFT (0U)
  88422. /*! D0ACP - Domain "x" access control policy
  88423. */
  88424. #define XRDC2_MSC_MSAC_W0_D0ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MSC_MSAC_W0_D0ACP_SHIFT)) & XRDC2_MSC_MSAC_W0_D0ACP_MASK)
  88425. #define XRDC2_MSC_MSAC_W0_D1ACP_MASK (0x38U)
  88426. #define XRDC2_MSC_MSAC_W0_D1ACP_SHIFT (3U)
  88427. /*! D1ACP - Domain "x" access control policy
  88428. */
  88429. #define XRDC2_MSC_MSAC_W0_D1ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MSC_MSAC_W0_D1ACP_SHIFT)) & XRDC2_MSC_MSAC_W0_D1ACP_MASK)
  88430. #define XRDC2_MSC_MSAC_W0_D2ACP_MASK (0x1C0U)
  88431. #define XRDC2_MSC_MSAC_W0_D2ACP_SHIFT (6U)
  88432. /*! D2ACP - Domain "x" access control policy
  88433. */
  88434. #define XRDC2_MSC_MSAC_W0_D2ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MSC_MSAC_W0_D2ACP_SHIFT)) & XRDC2_MSC_MSAC_W0_D2ACP_MASK)
  88435. #define XRDC2_MSC_MSAC_W0_D3ACP_MASK (0xE00U)
  88436. #define XRDC2_MSC_MSAC_W0_D3ACP_SHIFT (9U)
  88437. /*! D3ACP - Domain "x" access control policy
  88438. */
  88439. #define XRDC2_MSC_MSAC_W0_D3ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MSC_MSAC_W0_D3ACP_SHIFT)) & XRDC2_MSC_MSAC_W0_D3ACP_MASK)
  88440. #define XRDC2_MSC_MSAC_W0_D4ACP_MASK (0x7000U)
  88441. #define XRDC2_MSC_MSAC_W0_D4ACP_SHIFT (12U)
  88442. /*! D4ACP - Domain "x" access control policy
  88443. */
  88444. #define XRDC2_MSC_MSAC_W0_D4ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MSC_MSAC_W0_D4ACP_SHIFT)) & XRDC2_MSC_MSAC_W0_D4ACP_MASK)
  88445. #define XRDC2_MSC_MSAC_W0_D5ACP_MASK (0x38000U)
  88446. #define XRDC2_MSC_MSAC_W0_D5ACP_SHIFT (15U)
  88447. /*! D5ACP - Domain "x" access control policy
  88448. */
  88449. #define XRDC2_MSC_MSAC_W0_D5ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MSC_MSAC_W0_D5ACP_SHIFT)) & XRDC2_MSC_MSAC_W0_D5ACP_MASK)
  88450. #define XRDC2_MSC_MSAC_W0_D6ACP_MASK (0x1C0000U)
  88451. #define XRDC2_MSC_MSAC_W0_D6ACP_SHIFT (18U)
  88452. /*! D6ACP - Domain "x" access control policy
  88453. */
  88454. #define XRDC2_MSC_MSAC_W0_D6ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MSC_MSAC_W0_D6ACP_SHIFT)) & XRDC2_MSC_MSAC_W0_D6ACP_MASK)
  88455. #define XRDC2_MSC_MSAC_W0_D7ACP_MASK (0xE00000U)
  88456. #define XRDC2_MSC_MSAC_W0_D7ACP_SHIFT (21U)
  88457. /*! D7ACP - Domain "x" access control policy
  88458. */
  88459. #define XRDC2_MSC_MSAC_W0_D7ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MSC_MSAC_W0_D7ACP_SHIFT)) & XRDC2_MSC_MSAC_W0_D7ACP_MASK)
  88460. #define XRDC2_MSC_MSAC_W0_EALO_MASK (0xF000000U)
  88461. #define XRDC2_MSC_MSAC_W0_EALO_SHIFT (24U)
  88462. /*! EALO - Exclusive Access Lock Owner
  88463. */
  88464. #define XRDC2_MSC_MSAC_W0_EALO(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MSC_MSAC_W0_EALO_SHIFT)) & XRDC2_MSC_MSAC_W0_EALO_MASK)
  88465. /*! @} */
  88466. /* The count of XRDC2_MSC_MSAC_W0 */
  88467. #define XRDC2_MSC_MSAC_W0_COUNT (128U)
  88468. /*! @name MSC_MSAC_W1 - Memory Slot Access Control */
  88469. /*! @{ */
  88470. #define XRDC2_MSC_MSAC_W1_D8ACP_MASK (0x7U)
  88471. #define XRDC2_MSC_MSAC_W1_D8ACP_SHIFT (0U)
  88472. /*! D8ACP - Domain "x" access control policy
  88473. */
  88474. #define XRDC2_MSC_MSAC_W1_D8ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MSC_MSAC_W1_D8ACP_SHIFT)) & XRDC2_MSC_MSAC_W1_D8ACP_MASK)
  88475. #define XRDC2_MSC_MSAC_W1_D9ACP_MASK (0x38U)
  88476. #define XRDC2_MSC_MSAC_W1_D9ACP_SHIFT (3U)
  88477. /*! D9ACP - Domain "x" access control policy
  88478. */
  88479. #define XRDC2_MSC_MSAC_W1_D9ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MSC_MSAC_W1_D9ACP_SHIFT)) & XRDC2_MSC_MSAC_W1_D9ACP_MASK)
  88480. #define XRDC2_MSC_MSAC_W1_D10ACP_MASK (0x1C0U)
  88481. #define XRDC2_MSC_MSAC_W1_D10ACP_SHIFT (6U)
  88482. /*! D10ACP - Domain "x" access control policy
  88483. */
  88484. #define XRDC2_MSC_MSAC_W1_D10ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MSC_MSAC_W1_D10ACP_SHIFT)) & XRDC2_MSC_MSAC_W1_D10ACP_MASK)
  88485. #define XRDC2_MSC_MSAC_W1_D11ACP_MASK (0xE00U)
  88486. #define XRDC2_MSC_MSAC_W1_D11ACP_SHIFT (9U)
  88487. /*! D11ACP - Domain "x" access control policy
  88488. */
  88489. #define XRDC2_MSC_MSAC_W1_D11ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MSC_MSAC_W1_D11ACP_SHIFT)) & XRDC2_MSC_MSAC_W1_D11ACP_MASK)
  88490. #define XRDC2_MSC_MSAC_W1_D12ACP_MASK (0x7000U)
  88491. #define XRDC2_MSC_MSAC_W1_D12ACP_SHIFT (12U)
  88492. /*! D12ACP - Domain "x" access control policy
  88493. */
  88494. #define XRDC2_MSC_MSAC_W1_D12ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MSC_MSAC_W1_D12ACP_SHIFT)) & XRDC2_MSC_MSAC_W1_D12ACP_MASK)
  88495. #define XRDC2_MSC_MSAC_W1_D13ACP_MASK (0x38000U)
  88496. #define XRDC2_MSC_MSAC_W1_D13ACP_SHIFT (15U)
  88497. /*! D13ACP - Domain "x" access control policy
  88498. */
  88499. #define XRDC2_MSC_MSAC_W1_D13ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MSC_MSAC_W1_D13ACP_SHIFT)) & XRDC2_MSC_MSAC_W1_D13ACP_MASK)
  88500. #define XRDC2_MSC_MSAC_W1_D14ACP_MASK (0x1C0000U)
  88501. #define XRDC2_MSC_MSAC_W1_D14ACP_SHIFT (18U)
  88502. /*! D14ACP - Domain "x" access control policy
  88503. */
  88504. #define XRDC2_MSC_MSAC_W1_D14ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MSC_MSAC_W1_D14ACP_SHIFT)) & XRDC2_MSC_MSAC_W1_D14ACP_MASK)
  88505. #define XRDC2_MSC_MSAC_W1_D15ACP_MASK (0xE00000U)
  88506. #define XRDC2_MSC_MSAC_W1_D15ACP_SHIFT (21U)
  88507. /*! D15ACP - Domain "x" access control policy
  88508. */
  88509. #define XRDC2_MSC_MSAC_W1_D15ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MSC_MSAC_W1_D15ACP_SHIFT)) & XRDC2_MSC_MSAC_W1_D15ACP_MASK)
  88510. #define XRDC2_MSC_MSAC_W1_EAL_MASK (0x3000000U)
  88511. #define XRDC2_MSC_MSAC_W1_EAL_SHIFT (24U)
  88512. /*! EAL - Exclusive Access Lock
  88513. * 0b00..Lock disabled.
  88514. * 0b01..Lock disabled until next reset.
  88515. * 0b10..Lock enabled, lock state = available.
  88516. * 0b11..Lock enabled, lock state = not available.
  88517. */
  88518. #define XRDC2_MSC_MSAC_W1_EAL(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MSC_MSAC_W1_EAL_SHIFT)) & XRDC2_MSC_MSAC_W1_EAL_MASK)
  88519. #define XRDC2_MSC_MSAC_W1_DL2_MASK (0x60000000U)
  88520. #define XRDC2_MSC_MSAC_W1_DL2_SHIFT (29U)
  88521. /*! DL2 - Descriptor Lock
  88522. * 0b00..Lock disabled, descriptor registers can be written.
  88523. * 0b01..Lock disabled until the next reset, descriptor registers can be written.
  88524. * 0b10..Lock enabled, only domain "x" can only update the DxACP field; no other fields can be written.
  88525. * 0b11..Lock enabled, descriptor registers are read-only until the next reset.
  88526. */
  88527. #define XRDC2_MSC_MSAC_W1_DL2(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MSC_MSAC_W1_DL2_SHIFT)) & XRDC2_MSC_MSAC_W1_DL2_MASK)
  88528. #define XRDC2_MSC_MSAC_W1_VLD_MASK (0x80000000U)
  88529. #define XRDC2_MSC_MSAC_W1_VLD_SHIFT (31U)
  88530. /*! VLD - Valid
  88531. * 0b0..The MSAC assignment is invalid.
  88532. * 0b1..The MSAC assignment is valid.
  88533. */
  88534. #define XRDC2_MSC_MSAC_W1_VLD(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MSC_MSAC_W1_VLD_SHIFT)) & XRDC2_MSC_MSAC_W1_VLD_MASK)
  88535. /*! @} */
  88536. /* The count of XRDC2_MSC_MSAC_W1 */
  88537. #define XRDC2_MSC_MSAC_W1_COUNT (128U)
  88538. /*! @name MDAC_MDA_W0 - Master Domain Assignment */
  88539. /*! @{ */
  88540. #define XRDC2_MDAC_MDA_W0_MASK_MASK (0xFFFFU)
  88541. #define XRDC2_MDAC_MDA_W0_MASK_SHIFT (0U)
  88542. /*! MASK - Mask
  88543. */
  88544. #define XRDC2_MDAC_MDA_W0_MASK(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MDAC_MDA_W0_MASK_SHIFT)) & XRDC2_MDAC_MDA_W0_MASK_MASK)
  88545. #define XRDC2_MDAC_MDA_W0_MATCH_MASK (0xFFFF0000U)
  88546. #define XRDC2_MDAC_MDA_W0_MATCH_SHIFT (16U)
  88547. /*! MATCH - Match
  88548. */
  88549. #define XRDC2_MDAC_MDA_W0_MATCH(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MDAC_MDA_W0_MATCH_SHIFT)) & XRDC2_MDAC_MDA_W0_MATCH_MASK)
  88550. /*! @} */
  88551. /* The count of XRDC2_MDAC_MDA_W0 */
  88552. #define XRDC2_MDAC_MDA_W0_COUNT (32U)
  88553. /* The count of XRDC2_MDAC_MDA_W0 */
  88554. #define XRDC2_MDAC_MDA_W0_COUNT2 (32U)
  88555. /*! @name MDAC_MDA_W1 - Master Domain Assignment */
  88556. /*! @{ */
  88557. #define XRDC2_MDAC_MDA_W1_DID_MASK (0xF0000U)
  88558. #define XRDC2_MDAC_MDA_W1_DID_SHIFT (16U)
  88559. /*! DID - Domain Identifier
  88560. */
  88561. #define XRDC2_MDAC_MDA_W1_DID(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MDAC_MDA_W1_DID_SHIFT)) & XRDC2_MDAC_MDA_W1_DID_MASK)
  88562. #define XRDC2_MDAC_MDA_W1_PA_MASK (0x3000000U)
  88563. #define XRDC2_MDAC_MDA_W1_PA_SHIFT (24U)
  88564. /*! PA - Privileged attribute
  88565. * 0b00..Use the bus master's privileged/user attribute directly.
  88566. * 0b01..Use the bus master's privileged/user attribute directly.
  88567. * 0b10..Force the bus attribute for this master to user.
  88568. * 0b11..Force the bus attribute for this master to privileged.
  88569. */
  88570. #define XRDC2_MDAC_MDA_W1_PA(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MDAC_MDA_W1_PA_SHIFT)) & XRDC2_MDAC_MDA_W1_PA_MASK)
  88571. #define XRDC2_MDAC_MDA_W1_SA_MASK (0xC000000U)
  88572. #define XRDC2_MDAC_MDA_W1_SA_SHIFT (26U)
  88573. /*! SA - Secure attribute
  88574. * 0b00..Use the bus master's secure/nonsecure attribute directly.
  88575. * 0b01..Use the bus master's secure/nonsecure attribute directly.
  88576. * 0b10..Force the bus attribute for this master to secure.
  88577. * 0b11..Force the bus attribute for this master to nonsecure.
  88578. */
  88579. #define XRDC2_MDAC_MDA_W1_SA(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MDAC_MDA_W1_SA_SHIFT)) & XRDC2_MDAC_MDA_W1_SA_MASK)
  88580. #define XRDC2_MDAC_MDA_W1_DL_MASK (0x40000000U)
  88581. #define XRDC2_MDAC_MDA_W1_DL_SHIFT (30U)
  88582. /*! DL - Descriptor Lock
  88583. * 0b0..Lock disabled, registers can be written.
  88584. * 0b1..Lock enabled, registers are read-only until the next reset.
  88585. */
  88586. #define XRDC2_MDAC_MDA_W1_DL(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MDAC_MDA_W1_DL_SHIFT)) & XRDC2_MDAC_MDA_W1_DL_MASK)
  88587. #define XRDC2_MDAC_MDA_W1_VLD_MASK (0x80000000U)
  88588. #define XRDC2_MDAC_MDA_W1_VLD_SHIFT (31U)
  88589. /*! VLD - Valid
  88590. * 0b0..The MDA is invalid.
  88591. * 0b1..The MDA is valid.
  88592. */
  88593. #define XRDC2_MDAC_MDA_W1_VLD(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MDAC_MDA_W1_VLD_SHIFT)) & XRDC2_MDAC_MDA_W1_VLD_MASK)
  88594. /*! @} */
  88595. /* The count of XRDC2_MDAC_MDA_W1 */
  88596. #define XRDC2_MDAC_MDA_W1_COUNT (32U)
  88597. /* The count of XRDC2_MDAC_MDA_W1 */
  88598. #define XRDC2_MDAC_MDA_W1_COUNT2 (32U)
  88599. /*! @name PAC_PDAC_W0 - Peripheral Domain Access Control */
  88600. /*! @{ */
  88601. #define XRDC2_PAC_PDAC_W0_D0ACP_MASK (0x7U)
  88602. #define XRDC2_PAC_PDAC_W0_D0ACP_SHIFT (0U)
  88603. /*! D0ACP - Domain "x" access control policy
  88604. */
  88605. #define XRDC2_PAC_PDAC_W0_D0ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_PAC_PDAC_W0_D0ACP_SHIFT)) & XRDC2_PAC_PDAC_W0_D0ACP_MASK)
  88606. #define XRDC2_PAC_PDAC_W0_D1ACP_MASK (0x38U)
  88607. #define XRDC2_PAC_PDAC_W0_D1ACP_SHIFT (3U)
  88608. /*! D1ACP - Domain "x" access control policy
  88609. */
  88610. #define XRDC2_PAC_PDAC_W0_D1ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_PAC_PDAC_W0_D1ACP_SHIFT)) & XRDC2_PAC_PDAC_W0_D1ACP_MASK)
  88611. #define XRDC2_PAC_PDAC_W0_D2ACP_MASK (0x1C0U)
  88612. #define XRDC2_PAC_PDAC_W0_D2ACP_SHIFT (6U)
  88613. /*! D2ACP - Domain "x" access control policy
  88614. */
  88615. #define XRDC2_PAC_PDAC_W0_D2ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_PAC_PDAC_W0_D2ACP_SHIFT)) & XRDC2_PAC_PDAC_W0_D2ACP_MASK)
  88616. #define XRDC2_PAC_PDAC_W0_D3ACP_MASK (0xE00U)
  88617. #define XRDC2_PAC_PDAC_W0_D3ACP_SHIFT (9U)
  88618. /*! D3ACP - Domain "x" access control policy
  88619. */
  88620. #define XRDC2_PAC_PDAC_W0_D3ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_PAC_PDAC_W0_D3ACP_SHIFT)) & XRDC2_PAC_PDAC_W0_D3ACP_MASK)
  88621. #define XRDC2_PAC_PDAC_W0_D4ACP_MASK (0x7000U)
  88622. #define XRDC2_PAC_PDAC_W0_D4ACP_SHIFT (12U)
  88623. /*! D4ACP - Domain "x" access control policy
  88624. */
  88625. #define XRDC2_PAC_PDAC_W0_D4ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_PAC_PDAC_W0_D4ACP_SHIFT)) & XRDC2_PAC_PDAC_W0_D4ACP_MASK)
  88626. #define XRDC2_PAC_PDAC_W0_D5ACP_MASK (0x38000U)
  88627. #define XRDC2_PAC_PDAC_W0_D5ACP_SHIFT (15U)
  88628. /*! D5ACP - Domain "x" access control policy
  88629. */
  88630. #define XRDC2_PAC_PDAC_W0_D5ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_PAC_PDAC_W0_D5ACP_SHIFT)) & XRDC2_PAC_PDAC_W0_D5ACP_MASK)
  88631. #define XRDC2_PAC_PDAC_W0_D6ACP_MASK (0x1C0000U)
  88632. #define XRDC2_PAC_PDAC_W0_D6ACP_SHIFT (18U)
  88633. /*! D6ACP - Domain "x" access control policy
  88634. */
  88635. #define XRDC2_PAC_PDAC_W0_D6ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_PAC_PDAC_W0_D6ACP_SHIFT)) & XRDC2_PAC_PDAC_W0_D6ACP_MASK)
  88636. #define XRDC2_PAC_PDAC_W0_D7ACP_MASK (0xE00000U)
  88637. #define XRDC2_PAC_PDAC_W0_D7ACP_SHIFT (21U)
  88638. /*! D7ACP - Domain "x" access control policy
  88639. */
  88640. #define XRDC2_PAC_PDAC_W0_D7ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_PAC_PDAC_W0_D7ACP_SHIFT)) & XRDC2_PAC_PDAC_W0_D7ACP_MASK)
  88641. #define XRDC2_PAC_PDAC_W0_EALO_MASK (0xF000000U)
  88642. #define XRDC2_PAC_PDAC_W0_EALO_SHIFT (24U)
  88643. /*! EALO - Exclusive Access Lock Owner
  88644. */
  88645. #define XRDC2_PAC_PDAC_W0_EALO(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_PAC_PDAC_W0_EALO_SHIFT)) & XRDC2_PAC_PDAC_W0_EALO_MASK)
  88646. /*! @} */
  88647. /* The count of XRDC2_PAC_PDAC_W0 */
  88648. #define XRDC2_PAC_PDAC_W0_COUNT (8U)
  88649. /* The count of XRDC2_PAC_PDAC_W0 */
  88650. #define XRDC2_PAC_PDAC_W0_COUNT2 (256U)
  88651. /*! @name PAC_PDAC_W1 - Peripheral Domain Access Control */
  88652. /*! @{ */
  88653. #define XRDC2_PAC_PDAC_W1_D8ACP_MASK (0x7U)
  88654. #define XRDC2_PAC_PDAC_W1_D8ACP_SHIFT (0U)
  88655. /*! D8ACP - Domain "x" access control policy
  88656. */
  88657. #define XRDC2_PAC_PDAC_W1_D8ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_PAC_PDAC_W1_D8ACP_SHIFT)) & XRDC2_PAC_PDAC_W1_D8ACP_MASK)
  88658. #define XRDC2_PAC_PDAC_W1_D9ACP_MASK (0x38U)
  88659. #define XRDC2_PAC_PDAC_W1_D9ACP_SHIFT (3U)
  88660. /*! D9ACP - Domain "x" access control policy
  88661. */
  88662. #define XRDC2_PAC_PDAC_W1_D9ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_PAC_PDAC_W1_D9ACP_SHIFT)) & XRDC2_PAC_PDAC_W1_D9ACP_MASK)
  88663. #define XRDC2_PAC_PDAC_W1_D10ACP_MASK (0x1C0U)
  88664. #define XRDC2_PAC_PDAC_W1_D10ACP_SHIFT (6U)
  88665. /*! D10ACP - Domain "x" access control policy
  88666. */
  88667. #define XRDC2_PAC_PDAC_W1_D10ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_PAC_PDAC_W1_D10ACP_SHIFT)) & XRDC2_PAC_PDAC_W1_D10ACP_MASK)
  88668. #define XRDC2_PAC_PDAC_W1_D11ACP_MASK (0xE00U)
  88669. #define XRDC2_PAC_PDAC_W1_D11ACP_SHIFT (9U)
  88670. /*! D11ACP - Domain "x" access control policy
  88671. */
  88672. #define XRDC2_PAC_PDAC_W1_D11ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_PAC_PDAC_W1_D11ACP_SHIFT)) & XRDC2_PAC_PDAC_W1_D11ACP_MASK)
  88673. #define XRDC2_PAC_PDAC_W1_D12ACP_MASK (0x7000U)
  88674. #define XRDC2_PAC_PDAC_W1_D12ACP_SHIFT (12U)
  88675. /*! D12ACP - Domain "x" access control policy
  88676. */
  88677. #define XRDC2_PAC_PDAC_W1_D12ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_PAC_PDAC_W1_D12ACP_SHIFT)) & XRDC2_PAC_PDAC_W1_D12ACP_MASK)
  88678. #define XRDC2_PAC_PDAC_W1_D13ACP_MASK (0x38000U)
  88679. #define XRDC2_PAC_PDAC_W1_D13ACP_SHIFT (15U)
  88680. /*! D13ACP - Domain "x" access control policy
  88681. */
  88682. #define XRDC2_PAC_PDAC_W1_D13ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_PAC_PDAC_W1_D13ACP_SHIFT)) & XRDC2_PAC_PDAC_W1_D13ACP_MASK)
  88683. #define XRDC2_PAC_PDAC_W1_D14ACP_MASK (0x1C0000U)
  88684. #define XRDC2_PAC_PDAC_W1_D14ACP_SHIFT (18U)
  88685. /*! D14ACP - Domain "x" access control policy
  88686. */
  88687. #define XRDC2_PAC_PDAC_W1_D14ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_PAC_PDAC_W1_D14ACP_SHIFT)) & XRDC2_PAC_PDAC_W1_D14ACP_MASK)
  88688. #define XRDC2_PAC_PDAC_W1_D15ACP_MASK (0xE00000U)
  88689. #define XRDC2_PAC_PDAC_W1_D15ACP_SHIFT (21U)
  88690. /*! D15ACP - Domain "x" access control policy
  88691. */
  88692. #define XRDC2_PAC_PDAC_W1_D15ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_PAC_PDAC_W1_D15ACP_SHIFT)) & XRDC2_PAC_PDAC_W1_D15ACP_MASK)
  88693. #define XRDC2_PAC_PDAC_W1_EAL_MASK (0x3000000U)
  88694. #define XRDC2_PAC_PDAC_W1_EAL_SHIFT (24U)
  88695. /*! EAL - Exclusive Access Lock
  88696. * 0b00..Lock disabled.
  88697. * 0b01..Lock disabled until next reset.
  88698. * 0b10..Lock enabled, lock state = available.
  88699. * 0b11..Lock enabled, lock state = not available.
  88700. */
  88701. #define XRDC2_PAC_PDAC_W1_EAL(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_PAC_PDAC_W1_EAL_SHIFT)) & XRDC2_PAC_PDAC_W1_EAL_MASK)
  88702. #define XRDC2_PAC_PDAC_W1_DL2_MASK (0x60000000U)
  88703. #define XRDC2_PAC_PDAC_W1_DL2_SHIFT (29U)
  88704. /*! DL2 - Descriptor Lock
  88705. * 0b00..Lock disabled, descriptor registers can be written..
  88706. * 0b01..Lock disabled until the next reset, descriptor registers can be written..
  88707. * 0b10..Lock enabled, only domain "x" can only update the DxACP field; no other fields can be written..
  88708. * 0b11..Lock enabled, descriptor registers are read-only until the next reset.
  88709. */
  88710. #define XRDC2_PAC_PDAC_W1_DL2(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_PAC_PDAC_W1_DL2_SHIFT)) & XRDC2_PAC_PDAC_W1_DL2_MASK)
  88711. #define XRDC2_PAC_PDAC_W1_VLD_MASK (0x80000000U)
  88712. #define XRDC2_PAC_PDAC_W1_VLD_SHIFT (31U)
  88713. /*! VLD - Valid
  88714. * 0b0..The PDAC assignment is invalid.
  88715. * 0b1..The PDAC assignment is valid.
  88716. */
  88717. #define XRDC2_PAC_PDAC_W1_VLD(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_PAC_PDAC_W1_VLD_SHIFT)) & XRDC2_PAC_PDAC_W1_VLD_MASK)
  88718. /*! @} */
  88719. /* The count of XRDC2_PAC_PDAC_W1 */
  88720. #define XRDC2_PAC_PDAC_W1_COUNT (8U)
  88721. /* The count of XRDC2_PAC_PDAC_W1 */
  88722. #define XRDC2_PAC_PDAC_W1_COUNT2 (256U)
  88723. /*! @name MRC_MRGD_W0 - Memory Region Descriptor */
  88724. /*! @{ */
  88725. #define XRDC2_MRC_MRGD_W0_SRTADDR_MASK (0xFFFFF000U)
  88726. #define XRDC2_MRC_MRGD_W0_SRTADDR_SHIFT (12U)
  88727. /*! SRTADDR - Start Address
  88728. */
  88729. #define XRDC2_MRC_MRGD_W0_SRTADDR(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MRC_MRGD_W0_SRTADDR_SHIFT)) & XRDC2_MRC_MRGD_W0_SRTADDR_MASK)
  88730. /*! @} */
  88731. /* The count of XRDC2_MRC_MRGD_W0 */
  88732. #define XRDC2_MRC_MRGD_W0_COUNT (32U)
  88733. /* The count of XRDC2_MRC_MRGD_W0 */
  88734. #define XRDC2_MRC_MRGD_W0_COUNT2 (32U)
  88735. /*! @name MRC_MRGD_W1 - Memory Region Descriptor */
  88736. /*! @{ */
  88737. #define XRDC2_MRC_MRGD_W1_SRTADDR_MASK (0xFU)
  88738. #define XRDC2_MRC_MRGD_W1_SRTADDR_SHIFT (0U)
  88739. /*! SRTADDR - Start Address
  88740. */
  88741. #define XRDC2_MRC_MRGD_W1_SRTADDR(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MRC_MRGD_W1_SRTADDR_SHIFT)) & XRDC2_MRC_MRGD_W1_SRTADDR_MASK)
  88742. /*! @} */
  88743. /* The count of XRDC2_MRC_MRGD_W1 */
  88744. #define XRDC2_MRC_MRGD_W1_COUNT (32U)
  88745. /* The count of XRDC2_MRC_MRGD_W1 */
  88746. #define XRDC2_MRC_MRGD_W1_COUNT2 (32U)
  88747. /*! @name MRC_MRGD_W2 - Memory Region Descriptor */
  88748. /*! @{ */
  88749. #define XRDC2_MRC_MRGD_W2_ENDADDR_MASK (0xFFFFF000U)
  88750. #define XRDC2_MRC_MRGD_W2_ENDADDR_SHIFT (12U)
  88751. /*! ENDADDR - End Address
  88752. */
  88753. #define XRDC2_MRC_MRGD_W2_ENDADDR(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MRC_MRGD_W2_ENDADDR_SHIFT)) & XRDC2_MRC_MRGD_W2_ENDADDR_MASK)
  88754. /*! @} */
  88755. /* The count of XRDC2_MRC_MRGD_W2 */
  88756. #define XRDC2_MRC_MRGD_W2_COUNT (32U)
  88757. /* The count of XRDC2_MRC_MRGD_W2 */
  88758. #define XRDC2_MRC_MRGD_W2_COUNT2 (32U)
  88759. /*! @name MRC_MRGD_W3 - Memory Region Descriptor */
  88760. /*! @{ */
  88761. #define XRDC2_MRC_MRGD_W3_ENDADDR_MASK (0xFU)
  88762. #define XRDC2_MRC_MRGD_W3_ENDADDR_SHIFT (0U)
  88763. /*! ENDADDR - End Address
  88764. */
  88765. #define XRDC2_MRC_MRGD_W3_ENDADDR(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MRC_MRGD_W3_ENDADDR_SHIFT)) & XRDC2_MRC_MRGD_W3_ENDADDR_MASK)
  88766. /*! @} */
  88767. /* The count of XRDC2_MRC_MRGD_W3 */
  88768. #define XRDC2_MRC_MRGD_W3_COUNT (32U)
  88769. /* The count of XRDC2_MRC_MRGD_W3 */
  88770. #define XRDC2_MRC_MRGD_W3_COUNT2 (32U)
  88771. /*! @name MRC_MRGD_W5 - Memory Region Descriptor */
  88772. /*! @{ */
  88773. #define XRDC2_MRC_MRGD_W5_D0ACP_MASK (0x7U)
  88774. #define XRDC2_MRC_MRGD_W5_D0ACP_SHIFT (0U)
  88775. /*! D0ACP - Domain "x" access control policy
  88776. */
  88777. #define XRDC2_MRC_MRGD_W5_D0ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MRC_MRGD_W5_D0ACP_SHIFT)) & XRDC2_MRC_MRGD_W5_D0ACP_MASK)
  88778. #define XRDC2_MRC_MRGD_W5_D1ACP_MASK (0x38U)
  88779. #define XRDC2_MRC_MRGD_W5_D1ACP_SHIFT (3U)
  88780. /*! D1ACP - Domain "x" access control policy
  88781. */
  88782. #define XRDC2_MRC_MRGD_W5_D1ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MRC_MRGD_W5_D1ACP_SHIFT)) & XRDC2_MRC_MRGD_W5_D1ACP_MASK)
  88783. #define XRDC2_MRC_MRGD_W5_D2ACP_MASK (0x1C0U)
  88784. #define XRDC2_MRC_MRGD_W5_D2ACP_SHIFT (6U)
  88785. /*! D2ACP - Domain "x" access control policy
  88786. */
  88787. #define XRDC2_MRC_MRGD_W5_D2ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MRC_MRGD_W5_D2ACP_SHIFT)) & XRDC2_MRC_MRGD_W5_D2ACP_MASK)
  88788. #define XRDC2_MRC_MRGD_W5_D3ACP_MASK (0xE00U)
  88789. #define XRDC2_MRC_MRGD_W5_D3ACP_SHIFT (9U)
  88790. /*! D3ACP - Domain "x" access control policy
  88791. */
  88792. #define XRDC2_MRC_MRGD_W5_D3ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MRC_MRGD_W5_D3ACP_SHIFT)) & XRDC2_MRC_MRGD_W5_D3ACP_MASK)
  88793. #define XRDC2_MRC_MRGD_W5_D4ACP_MASK (0x7000U)
  88794. #define XRDC2_MRC_MRGD_W5_D4ACP_SHIFT (12U)
  88795. /*! D4ACP - Domain "x" access control policy
  88796. */
  88797. #define XRDC2_MRC_MRGD_W5_D4ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MRC_MRGD_W5_D4ACP_SHIFT)) & XRDC2_MRC_MRGD_W5_D4ACP_MASK)
  88798. #define XRDC2_MRC_MRGD_W5_D5ACP_MASK (0x38000U)
  88799. #define XRDC2_MRC_MRGD_W5_D5ACP_SHIFT (15U)
  88800. /*! D5ACP - Domain "x" access control policy
  88801. */
  88802. #define XRDC2_MRC_MRGD_W5_D5ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MRC_MRGD_W5_D5ACP_SHIFT)) & XRDC2_MRC_MRGD_W5_D5ACP_MASK)
  88803. #define XRDC2_MRC_MRGD_W5_D6ACP_MASK (0x1C0000U)
  88804. #define XRDC2_MRC_MRGD_W5_D6ACP_SHIFT (18U)
  88805. /*! D6ACP - Domain "x" access control policy
  88806. */
  88807. #define XRDC2_MRC_MRGD_W5_D6ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MRC_MRGD_W5_D6ACP_SHIFT)) & XRDC2_MRC_MRGD_W5_D6ACP_MASK)
  88808. #define XRDC2_MRC_MRGD_W5_D7ACP_MASK (0xE00000U)
  88809. #define XRDC2_MRC_MRGD_W5_D7ACP_SHIFT (21U)
  88810. /*! D7ACP - Domain "x" access control policy
  88811. */
  88812. #define XRDC2_MRC_MRGD_W5_D7ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MRC_MRGD_W5_D7ACP_SHIFT)) & XRDC2_MRC_MRGD_W5_D7ACP_MASK)
  88813. #define XRDC2_MRC_MRGD_W5_EALO_MASK (0xF000000U)
  88814. #define XRDC2_MRC_MRGD_W5_EALO_SHIFT (24U)
  88815. /*! EALO - Exclusive Access Lock Owner
  88816. */
  88817. #define XRDC2_MRC_MRGD_W5_EALO(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MRC_MRGD_W5_EALO_SHIFT)) & XRDC2_MRC_MRGD_W5_EALO_MASK)
  88818. /*! @} */
  88819. /* The count of XRDC2_MRC_MRGD_W5 */
  88820. #define XRDC2_MRC_MRGD_W5_COUNT (32U)
  88821. /* The count of XRDC2_MRC_MRGD_W5 */
  88822. #define XRDC2_MRC_MRGD_W5_COUNT2 (32U)
  88823. /*! @name MRC_MRGD_W6 - Memory Region Descriptor */
  88824. /*! @{ */
  88825. #define XRDC2_MRC_MRGD_W6_D8ACP_MASK (0x7U)
  88826. #define XRDC2_MRC_MRGD_W6_D8ACP_SHIFT (0U)
  88827. /*! D8ACP - Domain "x" access control policy
  88828. */
  88829. #define XRDC2_MRC_MRGD_W6_D8ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MRC_MRGD_W6_D8ACP_SHIFT)) & XRDC2_MRC_MRGD_W6_D8ACP_MASK)
  88830. #define XRDC2_MRC_MRGD_W6_D9ACP_MASK (0x38U)
  88831. #define XRDC2_MRC_MRGD_W6_D9ACP_SHIFT (3U)
  88832. /*! D9ACP - Domain "x" access control policy
  88833. */
  88834. #define XRDC2_MRC_MRGD_W6_D9ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MRC_MRGD_W6_D9ACP_SHIFT)) & XRDC2_MRC_MRGD_W6_D9ACP_MASK)
  88835. #define XRDC2_MRC_MRGD_W6_D10ACP_MASK (0x1C0U)
  88836. #define XRDC2_MRC_MRGD_W6_D10ACP_SHIFT (6U)
  88837. /*! D10ACP - Domain "x" access control policy
  88838. */
  88839. #define XRDC2_MRC_MRGD_W6_D10ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MRC_MRGD_W6_D10ACP_SHIFT)) & XRDC2_MRC_MRGD_W6_D10ACP_MASK)
  88840. #define XRDC2_MRC_MRGD_W6_D11ACP_MASK (0xE00U)
  88841. #define XRDC2_MRC_MRGD_W6_D11ACP_SHIFT (9U)
  88842. /*! D11ACP - Domain "x" access control policy
  88843. */
  88844. #define XRDC2_MRC_MRGD_W6_D11ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MRC_MRGD_W6_D11ACP_SHIFT)) & XRDC2_MRC_MRGD_W6_D11ACP_MASK)
  88845. #define XRDC2_MRC_MRGD_W6_D12ACP_MASK (0x7000U)
  88846. #define XRDC2_MRC_MRGD_W6_D12ACP_SHIFT (12U)
  88847. /*! D12ACP - Domain "x" access control policy
  88848. */
  88849. #define XRDC2_MRC_MRGD_W6_D12ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MRC_MRGD_W6_D12ACP_SHIFT)) & XRDC2_MRC_MRGD_W6_D12ACP_MASK)
  88850. #define XRDC2_MRC_MRGD_W6_D13ACP_MASK (0x38000U)
  88851. #define XRDC2_MRC_MRGD_W6_D13ACP_SHIFT (15U)
  88852. /*! D13ACP - Domain "x" access control policy
  88853. */
  88854. #define XRDC2_MRC_MRGD_W6_D13ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MRC_MRGD_W6_D13ACP_SHIFT)) & XRDC2_MRC_MRGD_W6_D13ACP_MASK)
  88855. #define XRDC2_MRC_MRGD_W6_D14ACP_MASK (0x1C0000U)
  88856. #define XRDC2_MRC_MRGD_W6_D14ACP_SHIFT (18U)
  88857. /*! D14ACP - Domain "x" access control policy
  88858. */
  88859. #define XRDC2_MRC_MRGD_W6_D14ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MRC_MRGD_W6_D14ACP_SHIFT)) & XRDC2_MRC_MRGD_W6_D14ACP_MASK)
  88860. #define XRDC2_MRC_MRGD_W6_D15ACP_MASK (0xE00000U)
  88861. #define XRDC2_MRC_MRGD_W6_D15ACP_SHIFT (21U)
  88862. /*! D15ACP - Domain "x" access control policy
  88863. */
  88864. #define XRDC2_MRC_MRGD_W6_D15ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MRC_MRGD_W6_D15ACP_SHIFT)) & XRDC2_MRC_MRGD_W6_D15ACP_MASK)
  88865. #define XRDC2_MRC_MRGD_W6_EAL_MASK (0x3000000U)
  88866. #define XRDC2_MRC_MRGD_W6_EAL_SHIFT (24U)
  88867. /*! EAL - Exclusive Access Lock
  88868. * 0b00..Lock disabled.
  88869. * 0b01..Lock disabled until next reset.
  88870. * 0b10..Lock enabled, lock state = available.
  88871. * 0b11..Lock enabled, lock state = not available.
  88872. */
  88873. #define XRDC2_MRC_MRGD_W6_EAL(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MRC_MRGD_W6_EAL_SHIFT)) & XRDC2_MRC_MRGD_W6_EAL_MASK)
  88874. #define XRDC2_MRC_MRGD_W6_DL2_MASK (0x60000000U)
  88875. #define XRDC2_MRC_MRGD_W6_DL2_SHIFT (29U)
  88876. /*! DL2 - Descriptor Lock
  88877. * 0b00..Lock disabled, descriptor registers can be written.
  88878. * 0b01..Lock disabled until the next reset, descriptor registers can be written.
  88879. * 0b10..Lock enabled, only domain "x" can only update the DxACP field; no other fields can be written.
  88880. * 0b11..Lock enabled, descriptor registers are read-only until the next reset.
  88881. */
  88882. #define XRDC2_MRC_MRGD_W6_DL2(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MRC_MRGD_W6_DL2_SHIFT)) & XRDC2_MRC_MRGD_W6_DL2_MASK)
  88883. #define XRDC2_MRC_MRGD_W6_VLD_MASK (0x80000000U)
  88884. #define XRDC2_MRC_MRGD_W6_VLD_SHIFT (31U)
  88885. /*! VLD - Valid
  88886. * 0b0..The MRGD is invalid.
  88887. * 0b1..The MRGD is valid.
  88888. */
  88889. #define XRDC2_MRC_MRGD_W6_VLD(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MRC_MRGD_W6_VLD_SHIFT)) & XRDC2_MRC_MRGD_W6_VLD_MASK)
  88890. /*! @} */
  88891. /* The count of XRDC2_MRC_MRGD_W6 */
  88892. #define XRDC2_MRC_MRGD_W6_COUNT (32U)
  88893. /* The count of XRDC2_MRC_MRGD_W6 */
  88894. #define XRDC2_MRC_MRGD_W6_COUNT2 (32U)
  88895. /*!
  88896. * @}
  88897. */ /* end of group XRDC2_Register_Masks */
  88898. /* XRDC2 - Peripheral instance base addresses */
  88899. /** Peripheral XRDC2_D0 base address */
  88900. #define XRDC2_D0_BASE (0x40CE0000u)
  88901. /** Peripheral XRDC2_D0 base pointer */
  88902. #define XRDC2_D0 ((XRDC2_Type *)XRDC2_D0_BASE)
  88903. /** Peripheral XRDC2_D1 base address */
  88904. #define XRDC2_D1_BASE (0x40CD0000u)
  88905. /** Peripheral XRDC2_D1 base pointer */
  88906. #define XRDC2_D1 ((XRDC2_Type *)XRDC2_D1_BASE)
  88907. /** Array initializer of XRDC2 peripheral base addresses */
  88908. #define XRDC2_BASE_ADDRS { XRDC2_D0_BASE, XRDC2_D1_BASE }
  88909. /** Array initializer of XRDC2 peripheral base pointers */
  88910. #define XRDC2_BASE_PTRS { XRDC2_D0, XRDC2_D1 }
  88911. /*!
  88912. * @}
  88913. */ /* end of group XRDC2_Peripheral_Access_Layer */
  88914. /*
  88915. ** End of section using anonymous unions
  88916. */
  88917. #if defined(__ARMCC_VERSION)
  88918. #if (__ARMCC_VERSION >= 6010050)
  88919. #pragma clang diagnostic pop
  88920. #else
  88921. #pragma pop
  88922. #endif
  88923. #elif defined(__CWCC__)
  88924. #pragma pop
  88925. #elif defined(__GNUC__)
  88926. /* leave anonymous unions enabled */
  88927. #elif defined(__IAR_SYSTEMS_ICC__)
  88928. #pragma language=default
  88929. #else
  88930. #error Not supported compiler type
  88931. #endif
  88932. /*!
  88933. * @}
  88934. */ /* end of group Peripheral_access_layer */
  88935. /* ----------------------------------------------------------------------------
  88936. -- Macros for use with bit field definitions (xxx_SHIFT, xxx_MASK).
  88937. ---------------------------------------------------------------------------- */
  88938. /*!
  88939. * @addtogroup Bit_Field_Generic_Macros Macros for use with bit field definitions (xxx_SHIFT, xxx_MASK).
  88940. * @{
  88941. */
  88942. #if defined(__ARMCC_VERSION)
  88943. #if (__ARMCC_VERSION >= 6010050)
  88944. #pragma clang system_header
  88945. #endif
  88946. #elif defined(__IAR_SYSTEMS_ICC__)
  88947. #pragma system_include
  88948. #endif
  88949. /**
  88950. * @brief Mask and left-shift a bit field value for use in a register bit range.
  88951. * @param field Name of the register bit field.
  88952. * @param value Value of the bit field.
  88953. * @return Masked and shifted value.
  88954. */
  88955. #define NXP_VAL2FLD(field, value) (((value) << (field ## _SHIFT)) & (field ## _MASK))
  88956. /**
  88957. * @brief Mask and right-shift a register value to extract a bit field value.
  88958. * @param field Name of the register bit field.
  88959. * @param value Value of the register.
  88960. * @return Masked and shifted bit field value.
  88961. */
  88962. #define NXP_FLD2VAL(field, value) (((value) & (field ## _MASK)) >> (field ## _SHIFT))
  88963. /*!
  88964. * @}
  88965. */ /* end of group Bit_Field_Generic_Macros */
  88966. /* ----------------------------------------------------------------------------
  88967. -- SDK Compatibility
  88968. ---------------------------------------------------------------------------- */
  88969. /*!
  88970. * @addtogroup SDK_Compatibility_Symbols SDK Compatibility
  88971. * @{
  88972. */
  88973. /* No SDK compatibility issues. */
  88974. /*!
  88975. * @}
  88976. */ /* end of group SDK_Compatibility_Symbols */
  88977. #endif /* _MIMXRT1176_CM4_H_ */